SCUMM HE: GUI: Add map generator dialog and bump theme version.

This commit is contained in:
Little Cat 2024-01-20 01:01:45 -04:00 committed by Eugene Sandulenko
parent 8a6dacc607
commit 2e2e2c41be
17 changed files with 1285 additions and 5 deletions

View File

@ -0,0 +1,375 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#include "common/config-manager.h"
#include "common/translation.h"
#include "scumm/he/moonbase/map_main.h"
#include "scumm/he/moonbase/dialog-mapgenerator.h"
namespace Scumm {
enum {
kAlgorCmd = 'ALGR',
kAlgorRandCmd = 'ALRM',
kSizeCmd = 'SIZE',
kSizeRandCmd = 'SZRM',
kTileCmd = 'TILE',
kTileRandCmd = 'TLRM',
kEnergyCmd = 'ENGY',
kEnergyRandCmd = 'EGRM',
kTerrainCmd = 'TRIN',
kTerrainRandCmd = 'TRRM',
kWaterCmd = 'WTER',
kWaterRandCmd = 'WTRM',
kCancelCmd = 'CNCL',
kGenerateCmd = 'GNRT'
};
MapGeneratorDialog::MapGeneratorDialog(bool demo) : Dialog("MapGenerator"), _refreshing(false) {
// I18N: Random map generator for Moonbase Commander
_dialogTitle = new GUI::StaticTextWidget(this, "MapGenerator.Title", _("Random Map Options"));
_dialogTitle->setAlign(Graphics::kTextAlignCenter);
// I18N: Map generator algorthims
_algorDesc = new GUI::StaticTextWidget(this, "MapGenerator.Algorithm", _("Algorithm"));
_algorDesc->setAlign(Graphics::kTextAlignLeft);
_algorGroup = new GUI::RadiobuttonGroup(this, kAlgorCmd);
// I18N: Spiff algorthim
_algorSpiff = new GUI::RadiobuttonWidget(this, "MapGenerator.AlgorithmSpiff", _algorGroup, SPIFF_GEN, _("Spiff"));
// I18N: Katton algorthim
_algorSpiff = new GUI::RadiobuttonWidget(this, "MapGenerator.AlgorithmKatton", _algorGroup, KATTON_GEN, _("Katton"));
// I18N: Random algorthim
_algorRandom = new GUI::CheckboxWidget(this, "MapGenerator.AlgorithmRandom", _("Random"), _("Picks the map algorithm randomly."), kAlgorRandCmd);
// I18N: Map sizes
_sizeDesc = new GUI::StaticTextWidget(this, "MapGenerator.Size", _("Size"));
_sizeDesc->setAlign(Graphics::kTextAlignCenter);
_sizeGroup = new GUI::RadiobuttonGroup(this, kSizeCmd);
_sizeSmall = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeSmall", _sizeGroup, 4, _("Small"));
_sizeMedium = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeMedium", _sizeGroup, 5, _("Medium"));
_sizeLarge = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeLarge", _sizeGroup, 6, _("Large"));
_sizeHuge = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeHuge", _sizeGroup, 7, _("Huge"));
_sizeSAI = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeSAI", _sizeGroup, 8, _("SAI"));
_sizeRidiculous = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeRidiculous", _sizeGroup, 9, _("Ridiculous"));
_sizeMax = new GUI::RadiobuttonWidget(this, "MapGenerator.SizeMax", _sizeGroup, 10, _("Max"));
// I18N: Random map size
_sizeRandom = new GUI::CheckboxWidget(this, "MapGenerator.SizeRandom", _("Random"), _("Picks the map size randomly."), kSizeRandCmd);
// I18N: Map tilesets
_tileDesc = new GUI::StaticTextWidget(this, "MapGenerator.Tileset", _("Tileset"));
_tileDesc->setAlign(Graphics::kTextAlignCenter);
_tileGroup = new GUI::RadiobuttonGroup(this, kTileCmd);
_tileTerrandra = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetTerrandra", _tileGroup, 1, Common::U32String("Terrandra"));
_tileZanateros = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetZanateros", _tileGroup, 2, Common::U32String("Zanateros"));
// Demo version of the game only has tilesets 1, 2, 4 and 6. Don't create buttons for
// missing tiles.
if (!demo)
_tileDrijim = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetDaijim", _tileGroup, 3, Common::U32String("Daijim 3"));
_tileKyanite = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetKyanite", _tileGroup, 4, Common::U32String("Kyanite"));
if (!demo)
_tileEmerau = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetEmerau", _tileGroup, 5, Common::U32String("Emerau Glyph"));
_tileAblation = new GUI::RadiobuttonWidget(this, "MapGenerator.TilesetAblation", _tileGroup, 6, Common::U32String("Ablation Land"));
// I18N: Random tileset
_tileRandom = new GUI::CheckboxWidget(this, "MapGenerator.TilesetRandom", _("Random"), _("Picks the map tileset randomly."), kTileRandCmd);
// I18N: Percentage of energy pools
_energyDesc = new GUI::StaticTextWidget(this, "MapGenerator.Energy", _("Energy"));
_energyDesc->setAlign(Graphics::kTextAlignCenter);
_energySlider = new GUI::SliderWidget(this, "MapGenerator.EnergySlider", Common::U32String(), kEnergyCmd);
_energySlider->setMinValue(0); _energySlider->setMaxValue(6);
// I18N: Energy slider label
_energyLabel = new GUI::StaticTextWidget(this, "MapGenerator.EnergySliderLabel", _("Scarce - Lots"), Common::U32String());
_energyLabel->setAlign(Graphics::kTextAlignCenter);
// I18N: Random percentage of energy pools
_energyRandom = new GUI::CheckboxWidget(this, "MapGenerator.EnergyRandom", _("Random"), _("Picks the random amount of energy pools."), kEnergyRandCmd);
// I18N: Percentage of terrain
_terrainDesc = new GUI::StaticTextWidget(this, "MapGenerator.Terrain", _("Terrain"));
_terrainDesc->setAlign(Graphics::kTextAlignCenter);
_terrainSlider = new GUI::SliderWidget(this, "MapGenerator.TerrainSlider", Common::U32String(), kTerrainCmd);
_terrainSlider->setMinValue(0); _terrainSlider->setMaxValue(6);
// I18N: Terrain slider label
_terrainLabel = new GUI::StaticTextWidget(this, "MapGenerator.TerrainSliderLabel", _("Barren - Rough"), Common::U32String());
_terrainLabel->setAlign(Graphics::kTextAlignCenter);
// I18N: Random percentage of terrain
_terrainRandom = new GUI::CheckboxWidget(this, "MapGenerator.TerrainRandom", _("Random"), _("Picks the random amount of terrain level."), kTerrainRandCmd);
// I18N: Percentage of water
_waterDesc = new GUI::StaticTextWidget(this, "MapGenerator.Water", _("Water"));
_waterDesc->setAlign(Graphics::kTextAlignCenter);
_waterSlider = new GUI::SliderWidget(this, "MapGenerator.WaterSlider", Common::U32String(), kWaterCmd);
_waterSlider->setMinValue(0); _waterSlider->setMaxValue(6);
// I18N: Water slider label
_waterLabel = new GUI::StaticTextWidget(this, "MapGenerator.WaterSliderLabel", _("Driest - Wettest"), Common::U32String());
_waterLabel->setAlign(Graphics::kTextAlignCenter);
// I18N: Random percentage of water
_waterRandom = new GUI::CheckboxWidget(this, "MapGenerator.WaterRandom", _("Random"), _("Picks the random amount of water."), kWaterRandCmd);
_cancelButton = new GUI::ButtonWidget(this, "MapGenerator.Cancel", _("Cancel"), Common::U32String(), kCancelCmd);
// I18N: Generate new map
_generateButton = new GUI::ButtonWidget(this, "MapGenerator.Generate", _("Generate"), Common::U32String(), kGenerateCmd);
refresh();
}
void MapGeneratorDialog::refresh() {
_refreshing = true;
// ALGORITHM
bool randomAlgorithm = true;
if (ConfMan.hasKey("map_algorithm"))
randomAlgorithm = ConfMan.getInt("map_algorithm") == 0;
_algorGroup->setEnabled(!randomAlgorithm);
_algorRandom->setState(randomAlgorithm);
if (!randomAlgorithm)
_algorGroup->setValue(ConfMan.getInt("map_algorithm"));
// SIZE
bool randomSize = true;
if (ConfMan.hasKey("map_size"))
randomSize = ConfMan.getInt("map_size") == 0;
_sizeGroup->setEnabled(!randomSize);
_sizeRandom->setState(randomSize);
if (!randomSize)
_sizeGroup->setValue(ConfMan.getInt("map_size"));
// TILESET
bool randomTileset = true;
if (ConfMan.hasKey("map_tileset"))
randomTileset = ConfMan.getInt("map_tileset") == 0;
_tileGroup->setEnabled(!randomTileset);
_tileRandom->setState(randomTileset);
if (!randomTileset)
_tileGroup->setValue(ConfMan.getInt("map_tileset"));
// ENERGY
bool randomEnergy = true;
if (ConfMan.hasKey("map_energy"))
randomEnergy = ConfMan.getInt("map_energy") == -1;
_energySlider->setEnabled(!randomEnergy);
_energyRandom->setState(randomEnergy);
if (!randomEnergy)
_energySlider->setValue(ConfMan.getInt("map_energy"));
else if (ConfMan.hasKey("prev_map_energy"))
_energySlider->setValue(ConfMan.getInt("prev_map_energy"));
else
_energySlider->setValue(3);
// TERRAIN
bool randomTerrain = true;
if (ConfMan.hasKey("map_terrain"))
randomTerrain = ConfMan.getInt("map_terrain") == -1;
_terrainSlider->setEnabled(!randomTerrain);
_terrainRandom->setState(randomTerrain);
if (!randomTerrain)
_terrainSlider->setValue(ConfMan.getInt("map_terrain"));
else if (ConfMan.hasKey("prev_map_terrain"))
_terrainSlider->setValue(ConfMan.getInt("prev_map_terrain"));
else
_terrainSlider->setValue(3);
// WATER
bool randomWater = true;
if (ConfMan.hasKey("map_water"))
randomWater = ConfMan.getInt("map_water") == -1;
_waterSlider->setEnabled(!randomWater);
_waterRandom->setState(randomWater);
if (!randomWater)
_waterSlider->setValue(ConfMan.getInt("map_water"));
else if (ConfMan.hasKey("prev_map_water"))
_waterSlider->setValue(ConfMan.getInt("prev_map_water"));
else
_waterSlider->setValue(3);
drawDialog(GUI::kDrawLayerForeground);
_refreshing = false;
}
void MapGeneratorDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
if (_refreshing)
return;
switch(cmd) {
case kAlgorCmd:
ConfMan.setInt("map_algorithm", data);
ConfMan.flushToDisk();
break;
case kAlgorRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_algorithm") && ConfMan.getInt("map_algorithm") != 0)
// Store previous value
ConfMan.setInt("prev_map_algorithm", ConfMan.getInt("map_algorithm"));
ConfMan.setInt("map_algorithm", 0);
} else {
// Restore previous value
int previousValue = SPIFF_GEN;
if (ConfMan.hasKey("prev_map_algorithm"))
previousValue = ConfMan.getInt("prev_map_algorithm");
ConfMan.setInt("map_algorithm", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kSizeCmd:
ConfMan.setInt("map_size", data);
ConfMan.flushToDisk();
break;
case kSizeRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_size") && ConfMan.getInt("map_size") != 0)
// Store previous value
ConfMan.setInt("prev_map_size", ConfMan.getInt("map_size"));
ConfMan.setInt("map_size", 0);
} else {
// Restore previous value
int previousValue = 4;
if (ConfMan.hasKey("prev_map_size"))
previousValue = ConfMan.getInt("prev_map_size");
ConfMan.setInt("map_size", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kTileCmd:
ConfMan.setInt("map_tileset", data);
ConfMan.flushToDisk();
break;
case kTileRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_tileset") && ConfMan.getInt("map_tileset") != 0)
// Store previous value
ConfMan.setInt("prev_map_tileset", ConfMan.getInt("map_tileset"));
ConfMan.setInt("map_tileset", 0);
} else {
// Restore previous value
int previousValue = 5;
if (ConfMan.hasKey("prev_map_tileset"))
previousValue = ConfMan.getInt("prev_map_tileset");
ConfMan.setInt("map_tileset", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kEnergyCmd:
ConfMan.setInt("map_energy", data);
ConfMan.flushToDisk();
break;
case kEnergyRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_energy") && ConfMan.getInt("map_energy") != -1)
// Store previous value
ConfMan.setInt("prev_map_energy", ConfMan.getInt("map_energy"));
ConfMan.setInt("map_energy", -1);
} else {
// Restore previous value
int previousValue = 3;
if (ConfMan.hasKey("prev_map_energy"))
previousValue = ConfMan.getInt("prev_map_energy");
ConfMan.setInt("map_energy", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kTerrainCmd:
ConfMan.setInt("map_terrain", data);
ConfMan.flushToDisk();
break;
case kTerrainRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_terrain") && ConfMan.getInt("map_terrain") != -1)
// Store previous value
ConfMan.setInt("prev_map_terrain", ConfMan.getInt("map_terrain"));
ConfMan.setInt("map_terrain", -1);
} else {
// Restore previous value
int previousValue = 3;
if (ConfMan.hasKey("prev_map_terrain"))
previousValue = ConfMan.getInt("prev_map_terrain");
ConfMan.setInt("map_terrain", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kWaterCmd:
ConfMan.setInt("map_water", data);
ConfMan.flushToDisk();
break;
case kWaterRandCmd:
if (data == 1) {
if (ConfMan.hasKey("map_water") && ConfMan.getInt("map_water") != -1)
// Store previous value
ConfMan.setInt("prev_map_water", ConfMan.getInt("map_water"));
ConfMan.setInt("map_water", -1);
} else {
// Restore previous value
int previousValue = 3;
if (ConfMan.hasKey("prev_map_water"))
previousValue = ConfMan.getInt("prev_map_water");
ConfMan.setInt("map_water", previousValue);
}
ConfMan.flushToDisk();
refresh();
break;
case kCancelCmd:
setResult(0);
close();
break;
case kGenerateCmd:
setResult(1);
close();
break;
default:
Dialog::handleCommand(sender, cmd, data);
}
}
} // End of namespace Scumm

View File

@ -0,0 +1,90 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef SCUMM_DIALOG_MAP_GENERATOR_H
#define SCUMM_DIALOG_MAP_GENERATOR_H
#include "gui/dialog.h"
#include "gui/widget.h"
namespace Scumm {
class MapGeneratorDialog : public Dialog {
public:
MapGeneratorDialog(bool demo);
void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
private:
void refresh();
bool _refreshing;
GUI::StaticTextWidget *_dialogTitle;
GUI::StaticTextWidget *_algorDesc;
GUI::RadiobuttonGroup *_algorGroup;
GUI::RadiobuttonWidget *_algorSpiff;
GUI::RadiobuttonWidget *_algorKatton;
GUI::CheckboxWidget *_algorRandom;
GUI::StaticTextWidget *_sizeDesc;
GUI::RadiobuttonGroup *_sizeGroup;
GUI::RadiobuttonWidget *_sizeSmall;
GUI::RadiobuttonWidget *_sizeMedium;
GUI::RadiobuttonWidget *_sizeLarge;
GUI::RadiobuttonWidget *_sizeHuge;
GUI::RadiobuttonWidget *_sizeSAI;
GUI::RadiobuttonWidget *_sizeRidiculous;
GUI::RadiobuttonWidget *_sizeMax;
GUI::CheckboxWidget *_sizeRandom;
GUI::StaticTextWidget *_tileDesc;
GUI::RadiobuttonGroup *_tileGroup;
GUI::RadiobuttonWidget *_tileAblation;
GUI::RadiobuttonWidget *_tileEmerau;
GUI::RadiobuttonWidget *_tileKyanite;
GUI::RadiobuttonWidget *_tileDrijim;
GUI::RadiobuttonWidget *_tileZanateros;
GUI::RadiobuttonWidget *_tileTerrandra;
GUI::CheckboxWidget *_tileRandom;
GUI::StaticTextWidget *_energyDesc;
GUI::SliderWidget *_energySlider;
GUI::StaticTextWidget *_energyLabel;
GUI::CheckboxWidget *_energyRandom;
GUI::StaticTextWidget *_terrainDesc;
GUI::SliderWidget *_terrainSlider;
GUI::StaticTextWidget *_terrainLabel;
GUI::CheckboxWidget *_terrainRandom;
GUI::StaticTextWidget *_waterDesc;
GUI::SliderWidget *_waterSlider;
GUI::StaticTextWidget *_waterLabel;
GUI::CheckboxWidget *_waterRandom;
GUI::ButtonWidget *_cancelButton;
GUI::ButtonWidget *_generateButton;
};
} // End of namespace Scumm
#endif

View File

@ -175,6 +175,7 @@ MODULE_OBJS += \
he/moonbase/ai_tree.o \
he/moonbase/ai_types.o \
he/moonbase/ai_weapon.o \
he/moonbase/dialog-mapgenerator.o \
he/moonbase/map_katton.o \
he/moonbase/map_main.o \
he/moonbase/map_mif.o \

View File

@ -36,7 +36,7 @@
#include "graphics/pixelformat.h"
#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.9.15"
#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.9.16"
class OSystem;

View File

@ -2646,4 +2646,140 @@
</layout>
</dialog>
<dialog name = 'MapGenerator' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' align = 'center'>
<widget name = 'Title'
width = '480'
height = 'Globals.Line.Height'
textalign = 'center'
/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Algorithm'
type = 'OptionsLabel'
/>
<widget name = 'AlgorithmSpiff'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmKatton'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Size'
type = 'OptionsLabel'
/>
<widget name = 'SizeSmall'
type = 'Radiobutton'
/>
<widget name = 'SizeMedium'
type = 'Radiobutton'
/>
<widget name = 'SizeLarge'
type = 'Radiobutton'
/>
<widget name = 'SizeHuge'
type = 'Radiobutton'
/>
<widget name = 'SizeSAI'
type = 'Radiobutton'
/>
<widget name = 'SizeRidiculous'
type = 'Radiobutton'
/>
<widget name = 'SizeMax'
type = 'Radiobutton'
/>
<widget name = 'SizeRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Tileset'
type = 'OptionsLabel'
/>
<widget name = 'TilesetTerrandra'
type = 'Radiobutton'
/>
<widget name = 'TilesetZanateros'
type = 'Radiobutton'
/>
<widget name = 'TilesetDaijim'
type = 'Radiobutton'
/>
<widget name = 'TilesetKyanite'
type = 'Radiobutton'
/>
<widget name = 'TilesetEmerau'
type = 'Radiobutton'
/>
<widget name = 'TilesetAblation'
type = 'Radiobutton'
/>
<widget name = 'TilesetRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Energy'
type = 'OptionsLabel'
/>
<widget name = 'EnergySlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'EnergySliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'EnergyRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Terrain'
type = 'OptionsLabel'
/>
<widget name = 'TerrainSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'TerrainSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'TerrainRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Water'
type = 'OptionsLabel'
/>
<widget name = 'WaterSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'WaterSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'WaterRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Generate'
type = 'Button'
/>
</layout>
</layout>
</dialog>
</layout_info>

View File

@ -2461,4 +2461,140 @@
</layout>
</dialog>
<dialog name = 'MapGenerator' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' align = 'center'>
<widget name = 'Title'
width = '480'
height = 'Globals.Line.Height'
textalign = 'center'
/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Algorithm'
type = 'OptionsLabel'
/>
<widget name = 'AlgorithmSpiff'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmKatton'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Size'
type = 'OptionsLabel'
/>
<widget name = 'SizeSmall'
type = 'Radiobutton'
/>
<widget name = 'SizeMedium'
type = 'Radiobutton'
/>
<widget name = 'SizeLarge'
type = 'Radiobutton'
/>
<widget name = 'SizeHuge'
type = 'Radiobutton'
/>
<widget name = 'SizeSAI'
type = 'Radiobutton'
/>
<widget name = 'SizeRidiculous'
type = 'Radiobutton'
/>
<widget name = 'SizeMax'
type = 'Radiobutton'
/>
<widget name = 'SizeRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Tileset'
type = 'OptionsLabel'
/>
<widget name = 'TilesetTerrandra'
type = 'Radiobutton'
/>
<widget name = 'TilesetZanateros'
type = 'Radiobutton'
/>
<widget name = 'TilesetDaijim'
type = 'Radiobutton'
/>
<widget name = 'TilesetKyanite'
type = 'Radiobutton'
/>
<widget name = 'TilesetEmerau'
type = 'Radiobutton'
/>
<widget name = 'TilesetAblation'
type = 'Radiobutton'
/>
<widget name = 'TilesetRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Energy'
type = 'OptionsLabel'
/>
<widget name = 'EnergySlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'EnergySliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'EnergyRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Terrain'
type = 'OptionsLabel'
/>
<widget name = 'TerrainSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'TerrainSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'TerrainRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Water'
type = 'OptionsLabel'
/>
<widget name = 'WaterSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'WaterSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'WaterRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Generate'
type = 'Button'
/>
</layout>
</layout>
</dialog>
</layout_info>

View File

@ -3600,6 +3600,141 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"</layout>"
"</layout>"
"</dialog>"
"<dialog name='MapGenerator' overlays='screen_center' shading='dim'>"
"<layout type='vertical' padding='8,8,8,8' align='center'>"
"<widget name='Title' "
"width='480' "
"height='Globals.Line.Height' "
"textalign='center' "
"/>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Algorithm' "
"type='OptionsLabel' "
"/>"
"<widget name='AlgorithmSpiff' "
"type='Radiobutton' "
"/>"
"<widget name='AlgorithmKatton' "
"type='Radiobutton' "
"/>"
"<widget name='AlgorithmRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Size' "
"type='OptionsLabel' "
"/>"
"<widget name='SizeSmall' "
"type='Radiobutton' "
"/>"
"<widget name='SizeMedium' "
"type='Radiobutton' "
"/>"
"<widget name='SizeLarge' "
"type='Radiobutton' "
"/>"
"<widget name='SizeHuge' "
"type='Radiobutton' "
"/>"
"<widget name='SizeSAI' "
"type='Radiobutton' "
"/>"
"<widget name='SizeRidiculous' "
"type='Radiobutton' "
"/>"
"<widget name='SizeMax' "
"type='Radiobutton' "
"/>"
"<widget name='SizeRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Tileset' "
"type='OptionsLabel' "
"/>"
"<widget name='TilesetTerrandra' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetZanateros' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetDaijim' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetKyanite' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetEmerau' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetAblation' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"</layout>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Energy' "
"type='OptionsLabel' "
"/>"
"<widget name='EnergySlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='EnergySliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='EnergyRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Terrain' "
"type='OptionsLabel' "
"/>"
"<widget name='TerrainSlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='TerrainSliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='TerrainRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Water' "
"type='OptionsLabel' "
"/>"
"<widget name='WaterSlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='WaterSliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='WaterRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"</layout>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<widget name='Cancel' "
"type='Button' "
"/>"
"<widget name='Generate' "
"type='Button' "
"/>"
"</layout>"
"</layout>"
"</dialog>"
"</layout_info>"
;
const char *defaultXML4 = "<layout_info resolution='y<H'>"
@ -5739,6 +5874,141 @@ const char *defaultXML1 = "<?xml version = '1.0'?>"
"</layout>"
"</layout>"
"</dialog>"
"<dialog name='MapGenerator' overlays='screen_center' shading='dim'>"
"<layout type='vertical' padding='8,8,8,8' align='center'>"
"<widget name='Title' "
"width='480' "
"height='Globals.Line.Height' "
"textalign='center' "
"/>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Algorithm' "
"type='OptionsLabel' "
"/>"
"<widget name='AlgorithmSpiff' "
"type='Radiobutton' "
"/>"
"<widget name='AlgorithmKatton' "
"type='Radiobutton' "
"/>"
"<widget name='AlgorithmRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Size' "
"type='OptionsLabel' "
"/>"
"<widget name='SizeSmall' "
"type='Radiobutton' "
"/>"
"<widget name='SizeMedium' "
"type='Radiobutton' "
"/>"
"<widget name='SizeLarge' "
"type='Radiobutton' "
"/>"
"<widget name='SizeHuge' "
"type='Radiobutton' "
"/>"
"<widget name='SizeSAI' "
"type='Radiobutton' "
"/>"
"<widget name='SizeRidiculous' "
"type='Radiobutton' "
"/>"
"<widget name='SizeMax' "
"type='Radiobutton' "
"/>"
"<widget name='SizeRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Tileset' "
"type='OptionsLabel' "
"/>"
"<widget name='TilesetTerrandra' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetZanateros' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetDaijim' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetKyanite' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetEmerau' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetAblation' "
"type='Radiobutton' "
"/>"
"<widget name='TilesetRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"</layout>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Energy' "
"type='OptionsLabel' "
"/>"
"<widget name='EnergySlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='EnergySliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='EnergyRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Terrain' "
"type='OptionsLabel' "
"/>"
"<widget name='TerrainSlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='TerrainSliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='TerrainRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"<layout type='vertical' padding='0,0,16,16'>"
"<widget name='Water' "
"type='OptionsLabel' "
"/>"
"<widget name='WaterSlider' "
"type='Slider' "
"rtl='no' "
"/>"
"<widget name='WaterSliderLabel' "
"type='OptionsLabel' "
"/>"
"<widget name='WaterRandom' "
"type='Checkbox' "
"/>"
"</layout>"
"</layout>"
"<layout type='horizontal' padding='8,8,8,8'>"
"<widget name='Cancel' "
"type='Button' "
"/>"
"<widget name='Generate' "
"type='Button' "
"/>"
"</layout>"
"</layout>"
"</dialog>"
"</layout_info>"
;
const char *defaultXML[] = { defaultXML1, defaultXML2, defaultXML3, defaultXML4 };

Binary file not shown.

View File

@ -1,3 +1,3 @@
[SCUMMVM_STX0.9.15:ResidualVM Modern Theme Remastered:No Author]
[SCUMMVM_STX0.9.16:ResidualVM Modern Theme Remastered:No Author]
%using ../common
%using ../common-svg

Binary file not shown.

View File

@ -1 +1 @@
[SCUMMVM_STX0.9.15:ScummVM Classic Theme:No Author]
[SCUMMVM_STX0.9.16:ScummVM Classic Theme:No Author]

View File

@ -2291,4 +2291,140 @@
</layout>
</dialog>
<dialog name = 'MapGenerator' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' align = 'center'>
<widget name = 'Title'
width = '480'
height = 'Globals.Line.Height'
textalign = 'center'
/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Algorithm'
type = 'OptionsLabel'
/>
<widget name = 'AlgorithmSpiff'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmKatton'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Size'
type = 'OptionsLabel'
/>
<widget name = 'SizeSmall'
type = 'Radiobutton'
/>
<widget name = 'SizeMedium'
type = 'Radiobutton'
/>
<widget name = 'SizeLarge'
type = 'Radiobutton'
/>
<widget name = 'SizeHuge'
type = 'Radiobutton'
/>
<widget name = 'SizeSAI'
type = 'Radiobutton'
/>
<widget name = 'SizeRidiculous'
type = 'Radiobutton'
/>
<widget name = 'SizeMax'
type = 'Radiobutton'
/>
<widget name = 'SizeRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Tileset'
type = 'OptionsLabel'
/>
<widget name = 'TilesetTerrandra'
type = 'Radiobutton'
/>
<widget name = 'TilesetZanateros'
type = 'Radiobutton'
/>
<widget name = 'TilesetDaijim'
type = 'Radiobutton'
/>
<widget name = 'TilesetKyanite'
type = 'Radiobutton'
/>
<widget name = 'TilesetEmerau'
type = 'Radiobutton'
/>
<widget name = 'TilesetAblation'
type = 'Radiobutton'
/>
<widget name = 'TilesetRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Energy'
type = 'OptionsLabel'
/>
<widget name = 'EnergySlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'EnergySliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'EnergyRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Terrain'
type = 'OptionsLabel'
/>
<widget name = 'TerrainSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'TerrainSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'TerrainRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Water'
type = 'OptionsLabel'
/>
<widget name = 'WaterSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'WaterSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'WaterRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Generate'
type = 'Button'
/>
</layout>
</layout>
</dialog>
</layout_info>

View File

@ -2268,4 +2268,140 @@
</layout>
</dialog>
<dialog name = 'MapGenerator' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' align = 'center'>
<widget name = 'Title'
width = '480'
height = 'Globals.Line.Height'
textalign = 'center'
/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Algorithm'
type = 'OptionsLabel'
/>
<widget name = 'AlgorithmSpiff'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmKatton'
type = 'Radiobutton'
/>
<widget name = 'AlgorithmRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Size'
type = 'OptionsLabel'
/>
<widget name = 'SizeSmall'
type = 'Radiobutton'
/>
<widget name = 'SizeMedium'
type = 'Radiobutton'
/>
<widget name = 'SizeLarge'
type = 'Radiobutton'
/>
<widget name = 'SizeHuge'
type = 'Radiobutton'
/>
<widget name = 'SizeSAI'
type = 'Radiobutton'
/>
<widget name = 'SizeRidiculous'
type = 'Radiobutton'
/>
<widget name = 'SizeMax'
type = 'Radiobutton'
/>
<widget name = 'SizeRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Tileset'
type = 'OptionsLabel'
/>
<widget name = 'TilesetTerrandra'
type = 'Radiobutton'
/>
<widget name = 'TilesetZanateros'
type = 'Radiobutton'
/>
<widget name = 'TilesetDaijim'
type = 'Radiobutton'
/>
<widget name = 'TilesetKyanite'
type = 'Radiobutton'
/>
<widget name = 'TilesetEmerau'
type = 'Radiobutton'
/>
<widget name = 'TilesetAblation'
type = 'Radiobutton'
/>
<widget name = 'TilesetRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Energy'
type = 'OptionsLabel'
/>
<widget name = 'EnergySlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'EnergySliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'EnergyRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Terrain'
type = 'OptionsLabel'
/>
<widget name = 'TerrainSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'TerrainSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'TerrainRandom'
type = 'Checkbox'
/>
</layout>
<layout type = 'vertical' padding = '0, 0, 16, 16'>
<widget name = 'Water'
type = 'OptionsLabel'
/>
<widget name = 'WaterSlider'
type = 'Slider'
rtl = 'no'
/>
<widget name = 'WaterSliderLabel'
type = 'OptionsLabel'
/>
<widget name = 'WaterRandom'
type = 'Checkbox'
/>
</layout>
</layout>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Generate'
type = 'Button'
/>
</layout>
</layout>
</dialog>
</layout_info>

Binary file not shown.

View File

@ -1,2 +1,2 @@
[SCUMMVM_STX0.9.15:ScummVM Modern Theme:No Author]
[SCUMMVM_STX0.9.16:ScummVM Modern Theme:No Author]
%using ../common

Binary file not shown.

View File

@ -1,3 +1,3 @@
[SCUMMVM_STX0.9.15:ScummVM Modern Theme Remastered:No Author]
[SCUMMVM_STX0.9.16:ScummVM Modern Theme Remastered:No Author]
%using ../common
%using ../common-svg