Game Configurations window: "enabled" status was not saved if the configuration was not changed.

When no configuration is enabled, a message was supposed to be shown after startup. Now it actually shows up.
Several configurations were missing from the "Configurations" folder.
This commit is contained in:
MaxED 2014-02-19 09:55:05 +00:00
parent 8c2bd281a3
commit c04a2e7c11
13 changed files with 2007 additions and 80 deletions

View file

@ -0,0 +1,76 @@
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// This is required to prevent accidental use of a different configuration
type = "Doom Builder 2 Game Configuration";
// This is the title to show for this game
game = "GZDoom: Doom (Doom format)";
// This is the simplified game engine/sourceport name
engine = "gzdoom";
// *******************************************************
// * *
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// STANDARD ZDOOM SETTINGS
// Settings common to all games and all map formats
include("Includes\\ZDoom_common.cfg", "common");
// Settings common to Doom map format
include("Includes\\ZDoom_common.cfg", "mapformat_doom");
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
include("Includes\\Doom_misc.cfg", "thingsfilters");
}
// Depends on both game and map format
gamedetect
{
// Map format
include("Includes\\ZDoom_misc.cfg", "gamedetect_doom");
// Game scheme
include("Includes\\Doom_misc.cfg", "gamedetect_either");
}
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Doom_things.cfg");
include("Includes\\Doom2_things.cfg");
// Additional ZDoom actors for that game
include("Includes\\ZDoom_things.cfg", "doom");
// Standard ZDoom actors
include("Includes\\ZDoom_things.cfg", "zdoom");
// Additional actors from the engine
include("Includes\\GZDoom_things.cfg", "gzdoom");
include("Includes\\GZDoom_things.cfg", "gzdoom_lights");
}
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("Includes\\ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("Includes\\ZDoom_misc.cfg", "enums_doom");
}

View file

@ -0,0 +1,75 @@
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// This is required to prevent accidental use of a different configuration
type = "Doom Builder 2 Game Configuration";
// This is the title to show for this game
game = "GZDoom: Hexen (Hexen format)";
// This is the simplified game engine/sourceport name
engine = "gzdoom";
// *******************************************************
// * *
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// STANDARD ZDOOM SETTINGS
// Settings common to all games and all map formats
include("Includes\\ZDoom_common.cfg", "common");
// Settings common to Hexen map format
include("Includes\\ZDoom_common.cfg", "mapformat_hexen");
// Settings common to Hexen games
include("Includes\\Game_Hexen.cfg");
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
include("Includes\\Hexen_misc.cfg", "thingsfilters");
}
// Depends on both game and map format
gamedetect
{
// Map format
include("Includes\\ZDoom_misc.cfg", "gamedetect_hexen");
// Game scheme
include("Includes\\Hexen_misc.cfg", "gamedetect");
}
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Hexen_things.cfg");
// Additional ZDoom actors for that game
include("Includes\\ZDoom_things.cfg", "hexen");
// Standard ZDoom actors
include("Includes\\ZDoom_things.cfg", "zdoom");
// Additional actors from the engine
include("Includes\\GZDoom_things.cfg", "gzdoom");
include("Includes\\GZDoom_things.cfg", "gzdoom_lights");
}
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("Includes\\ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("Includes\\ZDoom_misc.cfg", "enums_hexen");
}

View file

@ -0,0 +1,75 @@
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// This is required to prevent accidental use of a different configuration
type = "Doom Builder 2 Game Configuration";
// This is the title to show for this game
game = "GZDoom: Hexen (UDMF)";
// This is the simplified game engine/sourceport name
engine = "gzdoom";
// *******************************************************
// * *
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// STANDARD ZDOOM SETTINGS
// Settings common to all games and all map formats
include("Includes\\ZDoom_common.cfg", "common");
// Settings common to text map format
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
// Settings common to Hexen games
include("Includes\\Game_Hexen.cfg");
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
include("Includes\\ZDoom_misc.cfg", "thingsfilters_udmf");
}
// Depends on both game and map format
gamedetect
{
// Map format
include("Includes\\ZDoom_misc.cfg", "gamedetect_udmf");
// Game scheme
include("Includes\\Hexen_misc.cfg", "gamedetect");
}
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Hexen_things.cfg");
// Additional ZDoom actors for that game
include("Includes\\ZDoom_things.cfg", "hexen");
// Standard ZDoom actors
include("Includes\\ZDoom_things.cfg", "zdoom");
// Additional actors from the engine
include("Includes\\GZDoom_things.cfg", "gzdoom");
include("Includes\\GZDoom_things.cfg", "gzdoom_lights");
}
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("Includes\\ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("Includes\\ZDoom_misc.cfg", "enums_hexen");
}

View file

@ -0,0 +1,75 @@
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// This is required to prevent accidental use of a different configuration
type = "Doom Builder 2 Game Configuration";
// This is the title to show for this game
game = "GZDoom: Strife (UDMF)";
// This is the simplified game engine/sourceport name
engine = "gzdoom";
// *******************************************************
// * *
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// STANDARD ZDOOM SETTINGS
// Settings common to all games and all map formats
include("Includes\\ZDoom_common.cfg", "common");
// Settings common to text map format
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
// Settings common to Strife games
include("Includes\\Game_Strife.cfg");
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
include("Includes\\ZDoom_misc.cfg", "thingsfilters_udmf");
}
// Depends on both game and map format
gamedetect
{
// Map format
include("Includes\\ZDoom_misc.cfg", "gamedetect_udmf");
// Game scheme
include("Includes\\Strife_misc.cfg", "gamedetect");
}
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Strife_things.cfg");
// Additional ZDoom actors for that game
include("Includes\\ZDoom_things.cfg", "strife");
// Standard ZDoom actors
include("Includes\\ZDoom_things.cfg", "zdoom");
// Additional actors from the engine
include("Includes\\GZDoom_things.cfg", "gzdoom");
include("Includes\\GZDoom_things.cfg", "gzdoom_lights");
}
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("Includes\\ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("Includes\\ZDoom_misc.cfg", "enums_strife");
}

View file

@ -0,0 +1,36 @@
// Default lump name for new map
defaultlumpname = "MAP01";
skyflatname = "F_SKY";
basegame = 3;
// Decorate actors to include depending on actor game property
decorategames = "hexen raven";
// Skill levels
skills
{
include("Hexen_misc.cfg", "skills");
}
// Door making
makedoortrack = "D_END2";
// Default thing filters
// (these are not required, just useful for new users)
/*thingsfilters
{
include("Hexen_misc.cfg", "thingsfilters");
} */
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
include("Hexen_misc.cfg", "thingflagscompare");
}
// Default texture sets
// (these are not required, but useful for new users)
texturesets
{
include("Hexen_texturesets.cfg");
}

View file

@ -0,0 +1,35 @@
0 = "Normal";
1 = "Light Phased";
2 = "Light Sequence Start";
3 = "Light Sequence Special 1";
4 = "Light Sequence Special 2";
26 = "Stairs Special 1";
27 = "Stairs Special 2";
198 = "Light Indoor 2";
199 = "Light Indoor 1";
200 = "Sky 2 (MAPINFO)";
201 = "Scroll North (slow)";
202 = "Scroll North (medium)";
203 = "Scroll North (fast)";
204 = "Scroll East (slow)";
205 = "Scroll East (medium)";
206 = "Scroll East (fast)";
207 = "Scroll South (slow)";
208 = "Scroll South (medium)";
209 = "Scroll South (fast)";
210 = "Scroll West (slow)";
211 = "Scroll West (medium)";
212 = "Scroll West (fast)";
213 = "Scroll NorthWest (slow)";
214 = "Scroll NorthWest (medium)";
215 = "Scroll NorthWest (fast)";
216 = "Scroll NorthEast (slow)";
217 = "Scroll NorthEast (medium)";
218 = "Scroll NorthEast (fast)";
219 = "Scroll SouthEast (slow)";
220 = "Scroll SouthEast (medium)";
221 = "Scroll SouthEast (fast)";
222 = "Scroll SouthWest (slow)";
223 = "Scroll SouthWest (medium)";
224 = "Scroll SouthWest (fast)";

File diff suppressed because it is too large Load diff

View file

@ -308,7 +308,6 @@ namespace CodeImp.DoomBuilder
// Go for all cfg files in the configurations directory
string[] filenames = Directory.GetFiles(configspath, "*.cfg", SearchOption.TopDirectoryOnly);
Array.Sort(filenames);
foreach(string filepath in filenames)
{
@ -324,6 +323,9 @@ namespace CodeImp.DoomBuilder
configs.Add(cfginfo);
}
}
// Sort the configs
configs.Sort();
}
// This loads all nodebuilder configurations
@ -692,6 +694,21 @@ namespace CodeImp.DoomBuilder
}
random = new Random(); //mxd
//mxd. Check enabled game configuration
bool noneenabled = true;
for(int i = 0; i < configs.Count; i++) {
if(configs[i].Enabled) {
noneenabled = false;
break;
}
}
if(noneenabled) {
if(MessageBox.Show("No game configurations are currently enabled.\nPlease enable at least one game configuration", "Warning", MessageBoxButtons.OK) == DialogResult.OK) {
mainwindow.ShowConfiguration();
}
}
// Run application from the main window
Application.Run(mainwindow);

View file

@ -718,7 +718,6 @@ namespace CodeImp.DoomBuilder.Windows
this.listconfigs.Name = "listconfigs";
this.listconfigs.ShowGroups = false;
this.listconfigs.Size = new System.Drawing.Size(259, 358);
this.listconfigs.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.listconfigs.TabIndex = 0;
this.listconfigs.UseCompatibleStateImageBehavior = false;
this.listconfigs.View = System.Windows.Forms.View.Details;

View file

@ -317,21 +317,16 @@ namespace CodeImp.DoomBuilder.Windows
private void apply_Click(object sender, EventArgs e)
{
ConfigurationInfo ci;
// Apply configuration items
foreach(ListViewItem lvi in listconfigs.Items)
{
// Get configuration item
ci = lvi.Tag as ConfigurationInfo;
ci.Enabled = lvi.Checked;
if(!ci.Changed) continue; //mxd. This config wasn't changed
// Find same configuration info in originals
foreach(ConfigurationInfo oci in General.Configs)
{
// Apply settings when they match
if(string.Compare(ci.Filename, oci.Filename) == 0) oci.Apply(ci);
}
//mxd. Apply configuration items. They should be in the same order, riiiight?
for(int i = 0; i < listconfigs.Items.Count; i++) {
// Get configuration item
ci = listconfigs.Items[i].Tag as ConfigurationInfo;
ci.Enabled = listconfigs.Items[i].Checked;
// Apply settings
General.Configs[i].Enabled = ci.Enabled;
if(ci.Changed) General.Configs[i].Apply(ci);
}
//mxd. Update linedef color presets

View file

@ -204,48 +204,6 @@
<metadata name="listtextures.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="restoretexturesets.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="edittextureset.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pastetexturesets.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="copytexturesets.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="removetextureset.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="addtextureset.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabmodes.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="startmode.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label11.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="listmodes.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="configdata.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nodebuildertest.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nodebuildersave.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="listtextures.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="smallimages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value>
</metadata>
@ -254,7 +212,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA4
CAAAAk1TRnQBSQFMAwEBAAHsAQAB7AEAARMBAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
CAAAAk1TRnQBSQFMAwEBAAH0AQAB9AEAARMBAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AUwDAAEQAwABAQEAAQgFAAHAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -310,6 +268,9 @@
<metadata name="addtextureset.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabmodes.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="startmode.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View file

@ -228,11 +228,11 @@ namespace CodeImp.DoomBuilder.Windows
buttongrid.DropDownDirection = ToolStripDropDownDirection.AboveLeft;
// Event handlers
buttonvisiblechangedhandler = new EventHandler(ToolbarButtonVisibleChanged);
buttonvisiblechangedhandler = ToolbarButtonVisibleChanged;
//mxd
display.OnKeyReleased += new KeyEventHandler(display_OnKeyReleased);
toolbarContextMenu.KeyDown += new KeyEventHandler(toolbarContextMenu_KeyDown);
toolbarContextMenu.KeyUp += new KeyEventHandler(toolbarContextMenu_KeyUp);
display.OnKeyReleased += display_OnKeyReleased;
toolbarContextMenu.KeyDown += toolbarContextMenu_KeyDown;
toolbarContextMenu.KeyUp += toolbarContextMenu_KeyUp;
// Bind any methods
General.Actions.BindMethods(this);
@ -251,8 +251,7 @@ namespace CodeImp.DoomBuilder.Windows
lastsize = this.Size;
//mxd
blinkTimer = new System.Timers.Timer();
blinkTimer.Interval = 500;
blinkTimer = new System.Timers.Timer {Interval = 500};
blinkTimer.Elapsed += blinkTimer_Elapsed;
//mxd. Hints
@ -519,21 +518,6 @@ namespace CodeImp.DoomBuilder.Windows
this.DragEnter += OnDragEnter;
this.DragDrop += OnDragDrop;
//mxd. Check enabled game configuration
bool noneenabled = true;
for (int i = 0; i < General.Configs.Count; i++) {
if (General.Configs[i].Enabled) {
noneenabled = false;
break;
}
}
if(noneenabled) {
if (MessageBox.Show("No game configurations are currently enabled.\nPlease enable at least one game configuration", "Warning", MessageBoxButtons.OK) == DialogResult.OK) {
ShowConfiguration();
}
}
// Info panel state?
bool expandedpanel = General.Settings.ReadSetting("mainwindow.expandedinfopanel", true);
if(expandedpanel != IsInfoPanelExpanded) ToggleInfoPanel();