mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-18 22:41:46 +00:00
Fixed: "Sectors -> Select Things in Selected Sectors" menu item was not triggering the appropriate action.
Fixed: "Select Things in Selected Sectors" action was clearing selected sectors without updating the display. Changed, Sectors mode: number of selected things is now displayed in the info panel. Changed, Game Configurations window, "Testing" tab: game engine executable browser now opens up when clicking the "Add game engine" button. Changed, Game Configurations window, "Testing" tab: default game engine display name is now generated from the folder name game engine executable is in. Changed, Visual mode: Sector_Outside (87) sector effect is now taken into account when determining sector fog color. Game configurations: added "defaultwalltexture", "defaultfloortexture" and "defaultceilingtexture" parameters. These define textures used when drawing a sector (usually the first sector of a map only). Game configurations: classic game configurations now use "-warp" command to load the map. Game configurations: factorized testing parameters into "Includes\Test_params.cfg". Added internal functions to Hexen acs scripting configuration. Updated documentation ("Game Configuration - Basic Settings" topic).
This commit is contained in:
parent
a182a5098d
commit
3fb5679a9a
28 changed files with 211 additions and 109 deletions
|
@ -43,7 +43,7 @@ thingsfilters
|
||||||
defaultlumpname = "E1M1";
|
defaultlumpname = "E1M1";
|
||||||
|
|
||||||
// Default testing parameters
|
// Default testing parameters
|
||||||
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1 %L2 %NM";
|
include("Includes\\Test_params.cfg", "vanilla_exmx");
|
||||||
|
|
||||||
// THING TYPES
|
// THING TYPES
|
||||||
// Each engine has its own additional thing types
|
// Each engine has its own additional thing types
|
||||||
|
|
|
@ -43,7 +43,7 @@ thingsfilters
|
||||||
defaultlumpname = "E1M1";
|
defaultlumpname = "E1M1";
|
||||||
|
|
||||||
// Default testing parameters
|
// Default testing parameters
|
||||||
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1 %L2 %NM";
|
include("Includes\\Test_params.cfg", "vanilla_exmx");
|
||||||
|
|
||||||
// THING TYPES
|
// THING TYPES
|
||||||
// Each engine has its own additional thing types
|
// Each engine has its own additional thing types
|
||||||
|
|
|
@ -43,7 +43,7 @@ thingsfilters
|
||||||
defaultlumpname = "E1M1";
|
defaultlumpname = "E1M1";
|
||||||
|
|
||||||
// Default testing parameters
|
// Default testing parameters
|
||||||
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1 %L2 %NM";
|
include("Includes\\Test_params.cfg", "vanilla_exmx");
|
||||||
|
|
||||||
// THING TYPES
|
// THING TYPES
|
||||||
// Each engine has its own additional thing types
|
// Each engine has its own additional thing types
|
||||||
|
|
|
@ -4,7 +4,7 @@ common
|
||||||
include("Common.cfg");
|
include("Common.cfg");
|
||||||
|
|
||||||
// Default testing parameters
|
// Default testing parameters
|
||||||
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" +map %L %NM";
|
include("Test_params.cfg", "vanilla_mapxx");
|
||||||
testshortpaths = true;
|
testshortpaths = true;
|
||||||
|
|
||||||
// Default nodebuilder configurations
|
// Default nodebuilder configurations
|
||||||
|
@ -130,5 +130,4 @@ mapformat_doom
|
||||||
|
|
||||||
// Things flags masks
|
// Things flags masks
|
||||||
include("Doom_misc.cfg", "thingflagsmasks");
|
include("Doom_misc.cfg", "thingflagsmasks");
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
0 = "Normal";
|
0 = "None";
|
||||||
1 = "Light Blinks (randomly)";
|
1 = "Light Blinks (randomly)";
|
||||||
2 = "Light Blinks (2 Hz)";
|
2 = "Light Blinks (2 Hz)";
|
||||||
3 = "Light Blinks (1 Hz)";
|
3 = "Light Blinks (1 Hz)";
|
||||||
|
|
|
@ -11,6 +11,11 @@
|
||||||
include("Doom_misc.cfg", "skills");
|
include("Doom_misc.cfg", "skills");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default textures
|
||||||
|
defaultwalltexture = "STARTAN";
|
||||||
|
defaultfloortexture = "FLOOR0_1";
|
||||||
|
defaultceilingtexture = "CEIL1_1";
|
||||||
|
|
||||||
// Door making
|
// Door making
|
||||||
makedoortrack = "DOORTRAK";
|
makedoortrack = "DOORTRAK";
|
||||||
makedoordoor = "BIGDOOR2";
|
makedoordoor = "BIGDOOR2";
|
||||||
|
|
|
@ -11,6 +11,11 @@
|
||||||
include("Heretic_misc.cfg", "skills");
|
include("Heretic_misc.cfg", "skills");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default textures
|
||||||
|
defaultwalltexture = "GRSTNPB";
|
||||||
|
defaultfloortexture = "FLOOR03";
|
||||||
|
defaultceilingtexture = "FLAT506";
|
||||||
|
|
||||||
// Door making
|
// Door making
|
||||||
makedoortrack = "WOODWL";
|
makedoortrack = "WOODWL";
|
||||||
makedoordoor = "DOORWOOD";
|
makedoordoor = "DOORWOOD";
|
||||||
|
|
|
@ -12,6 +12,11 @@
|
||||||
include("Hexen_misc.cfg", "skills");
|
include("Hexen_misc.cfg", "skills");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default textures
|
||||||
|
defaultwalltexture = "FOREST01";
|
||||||
|
defaultfloortexture = "F_010";
|
||||||
|
defaultceilingtexture = "F_011";
|
||||||
|
|
||||||
// Door making
|
// Door making
|
||||||
makedoortrack = "D_END2";
|
makedoortrack = "D_END2";
|
||||||
makedoordoor = "D_WD07";
|
makedoordoor = "D_WD07";
|
||||||
|
|
|
@ -12,6 +12,11 @@
|
||||||
include("Strife_misc.cfg", "skills");
|
include("Strife_misc.cfg", "skills");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default textures
|
||||||
|
defaultwalltexture = "BRKGRY17";
|
||||||
|
defaultfloortexture = "F_NOLINE";
|
||||||
|
defaultceilingtexture = "F_DECK";
|
||||||
|
|
||||||
// Door making
|
// Door making
|
||||||
makedoortrack = "DORTRK01";
|
makedoortrack = "DORTRK01";
|
||||||
makedoordoor = "DORML01";
|
makedoordoor = "DORML01";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
0 = "Normal";
|
0 = "None";
|
||||||
1 = "Light Blinks (Randomly)";
|
1 = "Light Blinks (Randomly)";
|
||||||
2 = "Light Blinks (0.5s)";
|
2 = "Light Blinks (0.5s)";
|
||||||
3 = "Light Blinks (1.0s)";
|
3 = "Light Blinks (1.0s)";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
0 = "Normal";
|
0 = "None";
|
||||||
1 = "Light Phased";
|
1 = "Light Phased";
|
||||||
2 = "Light Sequence Start";
|
2 = "Light Sequence Start";
|
||||||
3 = "Light Sequence Special 1";
|
3 = "Light Sequence Special 1";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
0 = "Normal";
|
0 = "None";
|
||||||
1 = "Light blink random";
|
1 = "Light blink random";
|
||||||
2 = "Light blink 0.5 second";
|
2 = "Light blink 0.5 second";
|
||||||
3 = "Light blink 1 second";
|
3 = "Light blink 1 second";
|
||||||
|
|
15
Build/Configurations/Includes/Test_params.cfg
Normal file
15
Build/Configurations/Includes/Test_params.cfg
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
//Testing parameters for all engines
|
||||||
|
vanilla_mapxx
|
||||||
|
{
|
||||||
|
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1%L2 %NM";
|
||||||
|
}
|
||||||
|
|
||||||
|
vanilla_exmx
|
||||||
|
{
|
||||||
|
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1 %L2 %NM";
|
||||||
|
}
|
||||||
|
|
||||||
|
modern
|
||||||
|
{
|
||||||
|
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" +map %L %NM";
|
||||||
|
}
|
|
@ -11,7 +11,7 @@ common
|
||||||
include("Common.cfg");
|
include("Common.cfg");
|
||||||
|
|
||||||
// Default testing parameters
|
// Default testing parameters
|
||||||
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" +map %L %NM";
|
include("Test_params.cfg", "modern");
|
||||||
|
|
||||||
// Action special help (mxd)
|
// Action special help (mxd)
|
||||||
actionspecialhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
|
actionspecialhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
|
||||||
|
|
|
@ -3810,7 +3810,6 @@ zdoom
|
||||||
{
|
{
|
||||||
title = "Plane Reflection (OpenGL only)";
|
title = "Plane Reflection (OpenGL only)";
|
||||||
id = "Sector_SetPlaneReflection";
|
id = "Sector_SetPlaneReflection";
|
||||||
requiresactivation = false;
|
|
||||||
|
|
||||||
arg0
|
arg0
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,7 @@ doom
|
||||||
// These are instead of Doom sector types in UDMF and Hexen format
|
// These are instead of Doom sector types in UDMF and Hexen format
|
||||||
zdoom
|
zdoom
|
||||||
{
|
{
|
||||||
0 = "Normal";
|
0 = "None";
|
||||||
1 = "Light Phased";
|
1 = "Light Phased";
|
||||||
2 = "Light Sequence Start";
|
2 = "Light Sequence Start";
|
||||||
3 = "Light Sequence Special 1";
|
3 = "Light Sequence Special 1";
|
||||||
|
|
|
@ -47,12 +47,3 @@ thingtypes
|
||||||
// Basic game actors
|
// Basic game actors
|
||||||
include("Includes\\Strife_things.cfg");
|
include("Includes\\Strife_things.cfg");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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");
|
|
||||||
}*/
|
|
||||||
|
|
|
@ -46,11 +46,15 @@ keywords
|
||||||
Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
|
Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
|
||||||
Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
|
Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
|
||||||
Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
|
Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
|
||||||
|
ChangeCeiling = "void ChangeCeiling(int tag, str flatname)";
|
||||||
|
ChangeFloor = "void ChangeFloor(int tag, str flatname)";
|
||||||
|
ClearLineSpecial = "void ClearLineSpecial(void)\nClears the special of the line that activated the script.";
|
||||||
Const = "Const";
|
Const = "Const";
|
||||||
Continue = "Continue";
|
Continue = "Continue";
|
||||||
DamageThing = "DamageThing(amount)";
|
DamageThing = "DamageThing(amount)";
|
||||||
Death = "Script expression Death";
|
Death = "Script expression Death";
|
||||||
Default = "Default:";
|
Default = "Default:";
|
||||||
|
Delay = "void Delay(int tics)";
|
||||||
Disconnect = "Script expression Disconnect";
|
Disconnect = "Script expression Disconnect";
|
||||||
Do = "Do";
|
Do = "Do";
|
||||||
Door_Close = "Door_Close(tag, speed)";
|
Door_Close = "Door_Close(tag, speed)";
|
||||||
|
@ -77,6 +81,10 @@ keywords
|
||||||
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
|
FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
|
||||||
For = "For(initialization, condition, iteration)";
|
For = "For(initialization, condition, iteration)";
|
||||||
Function = "Function Void expression (Void)";
|
Function = "Function Void expression (Void)";
|
||||||
|
GameSkill = "int GameSkill(void)";
|
||||||
|
GameType = "int GameType(void)";
|
||||||
|
If = "if(expression)";
|
||||||
|
Int = "int expression";
|
||||||
Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
|
Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
|
||||||
Light_Fade = "Light_Fade(tag, value, tics)";
|
Light_Fade = "Light_Fade(tag, value, tics)";
|
||||||
Light_Flicker = "Light_Flicker(tag, upper, lower)";
|
Light_Flicker = "Light_Flicker(tag, upper, lower)";
|
||||||
|
@ -85,6 +93,8 @@ keywords
|
||||||
Light_LowerByValue = "Light_LowerByValue(tag, value)";
|
Light_LowerByValue = "Light_LowerByValue(tag, value)";
|
||||||
Light_RaiseByValue = "Light_RaiseByValue(tag, value)";
|
Light_RaiseByValue = "Light_RaiseByValue(tag, value)";
|
||||||
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
|
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
|
||||||
|
LineSide = "int LineSide(void)";
|
||||||
|
Open = "Script expression Open";
|
||||||
Pillar_Build = "Pillar_Build(tag, speed, height)";
|
Pillar_Build = "Pillar_Build(tag, speed, height)";
|
||||||
Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
|
Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
|
||||||
Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
|
Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
|
||||||
|
@ -95,6 +105,7 @@ keywords
|
||||||
Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
|
Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
|
||||||
Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
|
Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
|
||||||
Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
|
Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
|
||||||
|
PlayerCount = "int PlayerCount(void)\nReturns the number of players currently in the game";
|
||||||
Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
|
Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
|
||||||
Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
|
Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
|
||||||
Polyobj_Move = "Polyobj_Move(po, speed, angle, dist)";
|
Polyobj_Move = "Polyobj_Move(po, speed, angle, dist)";
|
||||||
|
@ -105,15 +116,33 @@ keywords
|
||||||
Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
|
Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
|
||||||
Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
|
Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
|
||||||
Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
|
Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
|
||||||
|
PolyWait = "void PolyWait(int polyid)";
|
||||||
|
Print = "void Print(type:expression)\nPrint will print something to the screen.\nPrint will only display for the activator of the script\nFor printing to all players, use PrintBold.";
|
||||||
|
PrintBold = "void PrintBold(type:expression)\nThis is exactly the same as Print, except all players will see the printed text\non the screen instead of just the activator of the script.";
|
||||||
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
|
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
|
||||||
|
Random = "int Random(int min, int max)";
|
||||||
|
Restart = "Restart";
|
||||||
|
Script = "Script expression";
|
||||||
|
ScriptWait = "void ScriptWait(int script)";
|
||||||
Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
|
Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
|
||||||
|
SectorSound = "void SectorSound(str sound, int volume)";
|
||||||
|
SetLineBlocking = "void SetLineBlocking(int lineid, int blocking)";
|
||||||
|
SetLineSpecial = "void SetLineSpecial(int lineid, int special[, int arg0[, int arg1[, int arg2[, int arg3[, int arg4]]]]])\nSetLineSpecial will change the special on all lines with the line id number specified.";
|
||||||
|
SetLineTexture = "void SetLineTexture(int lineid, int line_side, int sidedef_texture, str texturename)\nSetLineTexture will change the specified texture on all lines with the line id number specified\nline_side: SIDE_ flags can be used.\nsidedef_texture: TEXTURE_ flags can be used.\ntexturename: the texture that will be set on the line. Use '-' to remove a texture.";
|
||||||
|
SoundSequence = "void SoundSequence(str sndseq)\nPlays a sound sequence defined in SNDSEQ lump.";
|
||||||
|
Special = "Special";
|
||||||
Stairs_BuildDown = "Stairs_BuildDown(tag, speed, height, delay, reset)";
|
Stairs_BuildDown = "Stairs_BuildDown(tag, speed, height, delay, reset)";
|
||||||
Stairs_BuildDownSync = "Stairs_BuildDownSync(tag, speed, height, reset)";
|
Stairs_BuildDownSync = "Stairs_BuildDownSync(tag, speed, height, reset)";
|
||||||
Stairs_BuildUp = "Stairs_BuildUp(tag, speed, height, delay, reset)";
|
Stairs_BuildUp = "Stairs_BuildUp(tag, speed, height, delay, reset)";
|
||||||
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
|
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
|
||||||
|
str = "str expression";
|
||||||
|
Suspend = "Suspend";
|
||||||
|
Switch = "Switch(expression)";
|
||||||
|
TagWait = "void TagWait(int tag)";
|
||||||
Teleport = "Teleport(tid, tag, nosourcefog)";
|
Teleport = "Teleport(tid, tag, nosourcefog)";
|
||||||
Teleport_NewMap = "Teleport_NewMap(map, pos)";
|
Teleport_NewMap = "Teleport_NewMap(map, pos)";
|
||||||
Teleport_NoFog = "Teleport_NoFog(tid)";
|
Teleport_NoFog = "Teleport_NoFog(tid)";
|
||||||
|
Terminate = "Terminate";
|
||||||
Thing_Activate = "Thing_Activate(tid)";
|
Thing_Activate = "Thing_Activate(tid)";
|
||||||
Thing_Deactivate = "Thing_Deactivate(tid)";
|
Thing_Deactivate = "Thing_Deactivate(tid)";
|
||||||
Thing_Destroy = "Thing_Destroy(tid, extreme)";
|
Thing_Destroy = "Thing_Destroy(tid, extreme)";
|
||||||
|
@ -122,8 +151,11 @@ keywords
|
||||||
Thing_Remove = "Thing_Remove(tid)";
|
Thing_Remove = "Thing_Remove(tid)";
|
||||||
Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
|
Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
|
||||||
Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
|
Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
|
||||||
|
ThingCount = "int ThingCount(int type, int tid)";
|
||||||
ThrustThing = "ThrustThing(angle, force, limit, tid)";
|
ThrustThing = "ThrustThing(angle, force, limit, tid)";
|
||||||
|
Timer = "int Timer(void)";
|
||||||
Unloading = "Script expression Unloading";
|
Unloading = "Script expression Unloading";
|
||||||
|
Until = "Until(expression)";
|
||||||
Void = "Void";
|
Void = "Void";
|
||||||
While = "While(expression)";
|
While = "While(expression)";
|
||||||
World = "World Int expression:identifier";
|
World = "World Int expression:identifier";
|
||||||
|
|
|
@ -378,7 +378,7 @@ keywords
|
||||||
SetHudSize = "void SetHudSize(int width, int height, bool statusbar)\nCauses text messages to be stretched or shrunk to match the size\nthey would appear if the user's resolution was width by height.";
|
SetHudSize = "void SetHudSize(int width, int height, bool statusbar)\nCauses text messages to be stretched or shrunk to match the size\nthey would appear if the user's resolution was width by height.";
|
||||||
SetHUDWrapWidth = "void SetHudWrapWidth(int wrapwidth)\nSets the wrapping width for future HUD messages without altering the clipping rectangle.\nIf you set the wrapping width to 0, messages will wrap\nto the full width of the HUD, as normal.";
|
SetHUDWrapWidth = "void SetHudWrapWidth(int wrapwidth)\nSets the wrapping width for future HUD messages without altering the clipping rectangle.\nIf you set the wrapping width to 0, messages will wrap\nto the full width of the HUD, as normal.";
|
||||||
SetLineActivation = "void SetLineActivation(int lineid, int activation)\nSets the line activation flags of the line with the specified id.\nlineid: The id of the line of which to set the activation flags\nactivation: SPAC_ flags to set. Multiple flags can be set by using the pipe character | between the constant names.";
|
SetLineActivation = "void SetLineActivation(int lineid, int activation)\nSets the line activation flags of the line with the specified id.\nlineid: The id of the line of which to set the activation flags\nactivation: SPAC_ flags to set. Multiple flags can be set by using the pipe character | between the constant names.";
|
||||||
SetLineBlocking = "void SetLineBlocking(int lineid, int setting)\nDEPRECATED!\nUse Line_SetBlocking instead!";
|
SetLineBlocking = "void SetLineBlocking(int lineid, int blocking)\nDEPRECATED!\nUse Line_SetBlocking instead!";
|
||||||
SetLineMonsterBlocking = "void SetLineMonsterBlocking(int lineid, int setting)\nDEPRECATED!\nUse Line_SetBlocking instead!";
|
SetLineMonsterBlocking = "void SetLineMonsterBlocking(int lineid, int setting)\nDEPRECATED!\nUse Line_SetBlocking instead!";
|
||||||
SetLineSpecial = "void SetLineSpecial(int lineid, int special[, int arg0[, int arg1[, int arg2[, int arg3[, int arg4]]]]])\nSetLineSpecial will change the special on all lines with the line id number specified.";
|
SetLineSpecial = "void SetLineSpecial(int lineid, int special[, int arg0[, int arg1[, int arg2[, int arg3[, int arg4]]]]])\nSetLineSpecial will change the special on all lines with the line id number specified.";
|
||||||
SetLineTexture = "void SetLineTexture(int lineid, int line_side, int sidedef_texture, str texturename)\nSetLineTexture will change the specified texture on all lines with the line id number specified\nline_side: SIDE_ flags can be used.\nsidedef_texture: TEXTURE_ flags can be used.\ntexturename: the texture that will be set on the line. Use '-' to remove a texture.";
|
SetLineTexture = "void SetLineTexture(int lineid, int line_side, int sidedef_texture, str texturename)\nSetLineTexture will change the specified texture on all lines with the line id number specified\nline_side: SIDE_ flags can be used.\nsidedef_texture: TEXTURE_ flags can be used.\ntexturename: the texture that will be set on the line. Use '-' to remove a texture.";
|
||||||
|
@ -420,7 +420,7 @@ keywords
|
||||||
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
|
Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
|
||||||
StartConversation = "StartConversation(talker_tid, facetalker)";
|
StartConversation = "StartConversation(talker_tid, facetalker)";
|
||||||
StopSound = "void StopSound(int tid, int channel)\nStops the sound currently playing on the specified channel for the actor with matching tid";
|
StopSound = "void StopSound(int tid, int channel)\nStops the sound currently playing on the specified channel for the actor with matching tid";
|
||||||
str = "Str expression";
|
str = "str expression";
|
||||||
StrCmp = "int StrCmp(str string1, str string2[, int maxcomparenum])\nCompares the two strings passed in arguments string1 and string2 character by character.\nIf maxcomparenum is specified, it only compares up to maxcomparenum characters of each string.";
|
StrCmp = "int StrCmp(str string1, str string2[, int maxcomparenum])\nCompares the two strings passed in arguments string1 and string2 character by character.\nIf maxcomparenum is specified, it only compares up to maxcomparenum characters of each string.";
|
||||||
StrCpy = "bool StrCpy(a:destination, string source[, int source_index])\nCopy a source string to a destination array as a series of characters.\nOptionally, the copy can start from a given index in the source string.\nReturns TRUE if the entire string (or substring) was successfully copied to the array;\nFALSE if the copy ran out of room or if a negative source_index was given.";
|
StrCpy = "bool StrCpy(a:destination, string source[, int source_index])\nCopy a source string to a destination array as a series of characters.\nOptionally, the copy can start from a given index in the source string.\nReturns TRUE if the entire string (or substring) was successfully copied to the array;\nFALSE if the copy ran out of room or if a negative source_index was given.";
|
||||||
StrIcmp = "int StrCmp(str string1, str string2[, int maxcomparenum])\nStrIcmp is case-insensitive version of StrCmp";
|
StrIcmp = "int StrCmp(str string1, str string2[, int maxcomparenum])\nStrIcmp is case-insensitive version of StrCmp";
|
||||||
|
|
|
@ -90,12 +90,24 @@ skills
|
||||||
<b class="fat">impassableflag</b> (integer or string)<br />
|
<b class="fat">impassableflag</b> (integer or string)<br />
|
||||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line which blocks players and monsters. Doom Builder uses this to give the line a special color and plugins can use this information to perform operations related to blocking sound lines. For map formats that use numeric flags (Doom and Hexen) this must be an integer specifying the flag value of the Impassable flag. For map formats that use named flags (UDMF), this must be a string indicating the name of the Impassable flag.<br />
|
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line which blocks players and monsters. Doom Builder uses this to give the line a special color and plugins can use this information to perform operations related to blocking sound lines. For map formats that use numeric flags (Doom and Hexen) this must be an integer specifying the flag value of the Impassable flag. For map formats that use named flags (UDMF), this must be a string indicating the name of the Impassable flag.<br />
|
||||||
<br />
|
<br />
|
||||||
<b class="fat">makedoortrack</b> (string)<br />
|
<b class="fat">defaultwalltexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||||
|
Name of a texture to use on sidedefs when creating a new sector.<br />
|
||||||
|
<br />
|
||||||
|
<b class="fat">defaultfloortexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||||
|
Name of a flat to use on the floor when creating a new sector.<br />
|
||||||
|
<br />
|
||||||
|
<b class="fat">defaultceilingtexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||||
|
Name of a flat to use on the ceiling when creating a new sector.<br />
|
||||||
|
<br />
|
||||||
|
<b class="fat">makedoortrack</b> (string)<br />
|
||||||
Name of a texture to use on the walls when making a door.<br />
|
Name of a texture to use on the walls when making a door.<br />
|
||||||
<br />
|
<br />
|
||||||
<b class="fat">makedoordoor</b> (string) - <span class="red">GZDB only</span>.<br />
|
<b class="fat">makedoordoor</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||||
Name of a texture to use as the door texture when making a door.<br />
|
Name of a texture to use as the door texture when making a door.<br />
|
||||||
<br />
|
<br />
|
||||||
|
<b class="fat">makedoorceil</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||||
|
Name of a texture to use as the door's ceiling texture when making a door.<br />
|
||||||
|
<br />
|
||||||
<b class="fat">makedooraction</b> (integer)<br />
|
<b class="fat">makedooraction</b> (integer)<br />
|
||||||
Linedef action number to put on the lines when making a door.<br />
|
Linedef action number to put on the lines when making a door.<br />
|
||||||
<br />
|
<br />
|
||||||
|
@ -114,8 +126,6 @@ skills
|
||||||
<b class="fat">longtexturenames</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
<b class="fat">longtexturenames</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
||||||
Enables support for long (> 8 chars) texture names. This is used by GZDoom Builder to limit the input fields in the user interface and to check the validity of texture names in resources. This setting should only be enabled for UDMF game configurations. Enabling this setting will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3 This does NOT determine the actual limitation on the texture names in the map file format.<br />Default value is <b>false</b>.<br />
|
Enables support for long (> 8 chars) texture names. This is used by GZDoom Builder to limit the input fields in the user interface and to check the validity of texture names in resources. This setting should only be enabled for UDMF game configurations. Enabling this setting will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3 This does NOT determine the actual limitation on the texture names in the map file format.<br />Default value is <b>false</b>.<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -47,6 +47,9 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
private readonly string enginename;
|
private readonly string enginename;
|
||||||
private readonly float defaulttexturescale;
|
private readonly float defaulttexturescale;
|
||||||
private readonly float defaultflatscale;
|
private readonly float defaultflatscale;
|
||||||
|
private readonly string defaultwalltexture; //mxd
|
||||||
|
private readonly string defaultfloortexture; //mxd
|
||||||
|
private readonly string defaultceilingtexture; //mxd
|
||||||
private readonly bool scaledtextureoffsets;
|
private readonly bool scaledtextureoffsets;
|
||||||
private readonly string defaultsavecompiler;
|
private readonly string defaultsavecompiler;
|
||||||
private readonly string defaulttestcompiler;
|
private readonly string defaulttestcompiler;
|
||||||
|
@ -162,6 +165,9 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
public string DefaultTestCompiler { get { return defaulttestcompiler; } }
|
public string DefaultTestCompiler { get { return defaulttestcompiler; } }
|
||||||
public float DefaultTextureScale { get { return defaulttexturescale; } }
|
public float DefaultTextureScale { get { return defaulttexturescale; } }
|
||||||
public float DefaultFlatScale { get { return defaultflatscale; } }
|
public float DefaultFlatScale { get { return defaultflatscale; } }
|
||||||
|
public string DefaultWallTexture { get { return defaultwalltexture; } } //mxd
|
||||||
|
public string DefaultFloorTexture { get { return defaultfloortexture; } } //mxd
|
||||||
|
public string DefaultCeilingTexture { get { return defaultceilingtexture; } } //mxd
|
||||||
public bool ScaledTextureOffsets { get { return scaledtextureoffsets; } }
|
public bool ScaledTextureOffsets { get { return scaledtextureoffsets; } }
|
||||||
public string FormatInterface { get { return formatinterface; } }
|
public string FormatInterface { get { return formatinterface; } }
|
||||||
public string DefaultLinedefActivationFlag { get { return defaultLinedefActivation; } } //mxd
|
public string DefaultLinedefActivationFlag { get { return defaultLinedefActivation; } } //mxd
|
||||||
|
@ -314,6 +320,9 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
defaulttestcompiler = cfg.ReadSetting("defaulttestcompiler", "");
|
defaulttestcompiler = cfg.ReadSetting("defaulttestcompiler", "");
|
||||||
defaulttexturescale = cfg.ReadSetting("defaulttexturescale", 1f);
|
defaulttexturescale = cfg.ReadSetting("defaulttexturescale", 1f);
|
||||||
defaultflatscale = cfg.ReadSetting("defaultflatscale", 1f);
|
defaultflatscale = cfg.ReadSetting("defaultflatscale", 1f);
|
||||||
|
defaultwalltexture = cfg.ReadSetting("defaultwalltexture", "STARTAN"); //mxd
|
||||||
|
defaultfloortexture = cfg.ReadSetting("defaultfloortexture", "FLOOR0_1"); //mxd
|
||||||
|
defaultceilingtexture = cfg.ReadSetting("defaultceilingtexture", "CEIL1_1"); //mxd
|
||||||
scaledtextureoffsets = cfg.ReadSetting("scaledtextureoffsets", true);
|
scaledtextureoffsets = cfg.ReadSetting("scaledtextureoffsets", true);
|
||||||
formatinterface = cfg.ReadSetting("formatinterface", "");
|
formatinterface = cfg.ReadSetting("formatinterface", "");
|
||||||
mixtexturesflats = cfg.ReadSetting("mixtexturesflats", false);
|
mixtexturesflats = cfg.ReadSetting("mixtexturesflats", false);
|
||||||
|
@ -1006,45 +1015,35 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
// This returns information on a linedef type
|
// This returns information on a linedef type
|
||||||
public LinedefActionInfo GetLinedefActionInfo(int action)
|
public LinedefActionInfo GetLinedefActionInfo(int action)
|
||||||
{
|
{
|
||||||
|
// No action?
|
||||||
|
if(action == 0) return new LinedefActionInfo(0, "None", true, false);
|
||||||
|
|
||||||
// Known type?
|
// Known type?
|
||||||
if(linedefactions.ContainsKey(action))
|
if(linedefactions.ContainsKey(action)) return linedefactions[action];
|
||||||
{
|
|
||||||
return linedefactions[action];
|
// Generalized action?
|
||||||
}
|
if(IsGeneralized(action, genactioncategories))
|
||||||
else if(action == 0)
|
|
||||||
{
|
|
||||||
return new LinedefActionInfo(0, "None", true, false);
|
|
||||||
}
|
|
||||||
else if(IsGeneralized(action, genactioncategories))
|
|
||||||
{
|
|
||||||
return new LinedefActionInfo(action, "Generalized (" + GetGeneralizedActionCategory(action) + ")", true, true);
|
return new LinedefActionInfo(action, "Generalized (" + GetGeneralizedActionCategory(action) + ")", true, true);
|
||||||
}
|
|
||||||
else
|
// Unknown action...
|
||||||
{
|
return new LinedefActionInfo(action, "Unknown", false, false);
|
||||||
return new LinedefActionInfo(action, "Unknown", false, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This returns information on a sector effect
|
// This returns information on a sector effect
|
||||||
public SectorEffectInfo GetSectorEffectInfo(int effect)
|
public SectorEffectInfo GetSectorEffectInfo(int effect)
|
||||||
{
|
{
|
||||||
|
// No effect?
|
||||||
|
if(effect == 0) return new SectorEffectInfo(0, "None", true, false);
|
||||||
|
|
||||||
// Known type?
|
// Known type?
|
||||||
if(sectoreffects.ContainsKey(effect))
|
if(sectoreffects.ContainsKey(effect)) return sectoreffects[effect];
|
||||||
{
|
|
||||||
return sectoreffects[effect];
|
//mxd. Generalized sector effect?
|
||||||
}
|
if(IsGeneralizedSectorEffect(effect, geneffectoptions))
|
||||||
else if(effect == 0)
|
|
||||||
{
|
|
||||||
return new SectorEffectInfo(0, "None", true, false);
|
|
||||||
}
|
|
||||||
else if(IsGeneralizedSectorEffect(effect, geneffectoptions)) //mxd
|
|
||||||
{
|
|
||||||
return new SectorEffectInfo(effect, GetGeneralizedSectorEffectName(effect), true, true);
|
return new SectorEffectInfo(effect, GetGeneralizedSectorEffectName(effect), true, true);
|
||||||
}
|
|
||||||
else
|
// Unknown sector effect...
|
||||||
{
|
return new SectorEffectInfo(effect, "Unknown", false, false);
|
||||||
return new SectorEffectInfo(effect, "Unknown", false, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -604,29 +604,36 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
foundone = false;
|
foundone = false;
|
||||||
foreach(Sidedef sd in General.Map.Map.Sidedefs)
|
foreach(Sidedef sd in General.Map.Map.Sidedefs)
|
||||||
{
|
{
|
||||||
if(sd.MiddleTexture != "-")
|
if(sd.MiddleTexture != "-" && General.Map.Data.GetTextureExists(sd.MiddleTexture))
|
||||||
{
|
{
|
||||||
|
foundone = true;
|
||||||
General.Map.Options.DefaultWallTexture = sd.MiddleTexture;
|
General.Map.Options.DefaultWallTexture = sd.MiddleTexture;
|
||||||
if(General.Map.Data.GetTextureExists(sd.MiddleTexture))
|
break;
|
||||||
{
|
|
||||||
foundone = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not found yet?
|
// Not found yet?
|
||||||
if(!foundone)
|
if(!foundone)
|
||||||
{
|
{
|
||||||
|
//mxd. Use the wall texture from the game configuration?
|
||||||
|
if(!string.IsNullOrEmpty(General.Map.Config.DefaultWallTexture) && General.Map.Data.GetTextureExists(General.Map.Config.DefaultWallTexture))
|
||||||
|
{
|
||||||
|
General.Map.Options.DefaultWallTexture = General.Map.Config.DefaultWallTexture;
|
||||||
|
foundone = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Pick the first STARTAN from the list.
|
// Pick the first STARTAN from the list.
|
||||||
// I love the STARTAN texture as default for some reason.
|
// I love the STARTAN texture as default for some reason.
|
||||||
foreach(string s in General.Map.Data.TextureNames)
|
if(!foundone)
|
||||||
{
|
{
|
||||||
if(s.StartsWith("STARTAN"))
|
foreach(string s in General.Map.Data.TextureNames)
|
||||||
{
|
{
|
||||||
foundone = true;
|
if(s.StartsWith("STARTAN"))
|
||||||
General.Map.Options.DefaultWallTexture = s;
|
{
|
||||||
break;
|
foundone = true;
|
||||||
|
General.Map.Options.DefaultWallTexture = s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -639,10 +646,6 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd.
|
|
||||||
if(!General.Map.Options.OverrideTopTexture) General.Map.Options.DefaultTopTexture = General.Map.Options.DefaultWallTexture;
|
|
||||||
if(!General.Map.Options.OverrideBottomTexture) General.Map.Options.DefaultBottomTexture = General.Map.Options.DefaultWallTexture;
|
|
||||||
|
|
||||||
// Default floor missing?
|
// Default floor missing?
|
||||||
if(!General.Map.Options.OverrideFloorTexture || string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture))
|
if(!General.Map.Options.OverrideFloorTexture || string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture))
|
||||||
{
|
{
|
||||||
|
@ -653,15 +656,22 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
// Find one that is known
|
// Find one that is known
|
||||||
foreach(Sector s in General.Map.Map.Sectors)
|
foreach(Sector s in General.Map.Map.Sectors)
|
||||||
{
|
{
|
||||||
General.Map.Options.DefaultFloorTexture = s.FloorTexture;
|
if(General.Map.Data.GetFlatExists(s.FloorTexture))
|
||||||
if(General.Map.Data.GetFlatExists(General.Map.Options.DefaultFloorTexture))
|
|
||||||
{
|
{
|
||||||
foundone = true;
|
foundone = true;
|
||||||
|
General.Map.Options.DefaultFloorTexture = s.FloorTexture;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd. Use the floor flat from the game configuration?
|
||||||
|
if(!foundone && !string.IsNullOrEmpty(General.Map.Config.DefaultFloorTexture) && General.Map.Data.GetFlatExists(General.Map.Config.DefaultFloorTexture))
|
||||||
|
{
|
||||||
|
General.Map.Options.DefaultFloorTexture = General.Map.Config.DefaultFloorTexture;
|
||||||
|
foundone = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Pick the first FLOOR from the list.
|
// Pick the first FLOOR from the list.
|
||||||
if(!foundone)
|
if(!foundone)
|
||||||
{
|
{
|
||||||
|
@ -694,15 +704,22 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
// Find one that is known
|
// Find one that is known
|
||||||
foreach(Sector s in General.Map.Map.Sectors)
|
foreach(Sector s in General.Map.Map.Sectors)
|
||||||
{
|
{
|
||||||
General.Map.Options.DefaultCeilingTexture = s.CeilTexture;
|
if(General.Map.Data.GetFlatExists(s.CeilTexture))
|
||||||
if(General.Map.Data.GetFlatExists(General.Map.Options.DefaultCeilingTexture))
|
|
||||||
{
|
{
|
||||||
foundone = true;
|
foundone = true;
|
||||||
|
General.Map.Options.DefaultCeilingTexture = s.CeilTexture;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd. Use the floor flat from the game configuration?
|
||||||
|
if(!foundone && !string.IsNullOrEmpty(General.Map.Config.DefaultCeilingTexture) && General.Map.Data.GetFlatExists(General.Map.Config.DefaultCeilingTexture))
|
||||||
|
{
|
||||||
|
General.Map.Options.DefaultCeilingTexture = General.Map.Config.DefaultCeilingTexture;
|
||||||
|
foundone = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Pick the first CEIL from the list.
|
// Pick the first CEIL from the list.
|
||||||
if(!foundone)
|
if(!foundone)
|
||||||
{
|
{
|
||||||
|
@ -726,9 +743,9 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
// Texture names may not be null
|
// Texture names may not be null
|
||||||
if(string.IsNullOrEmpty(General.Map.Options.DefaultTopTexture)) General.Map.Options.DefaultTopTexture = "-";
|
|
||||||
if(string.IsNullOrEmpty(General.Map.Options.DefaultWallTexture)) General.Map.Options.DefaultWallTexture = "-";
|
if(string.IsNullOrEmpty(General.Map.Options.DefaultWallTexture)) General.Map.Options.DefaultWallTexture = "-";
|
||||||
if(string.IsNullOrEmpty(General.Map.Options.DefaultBottomTexture)) General.Map.Options.DefaultBottomTexture = "-";
|
if(string.IsNullOrEmpty(General.Map.Options.DefaultTopTexture) || !General.Map.Options.OverrideTopTexture) General.Map.Options.DefaultTopTexture = General.Map.Options.DefaultWallTexture; //mxd
|
||||||
|
if(string.IsNullOrEmpty(General.Map.Options.DefaultBottomTexture) || !General.Map.Options.OverrideBottomTexture) General.Map.Options.DefaultBottomTexture = General.Map.Options.DefaultWallTexture; //mxd
|
||||||
if(string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture)) General.Map.Options.DefaultFloorTexture = "-";
|
if(string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture)) General.Map.Options.DefaultFloorTexture = "-";
|
||||||
if(string.IsNullOrEmpty(General.Map.Options.DefaultCeilingTexture)) General.Map.Options.DefaultCeilingTexture = "-";
|
if(string.IsNullOrEmpty(General.Map.Options.DefaultCeilingTexture)) General.Map.Options.DefaultCeilingTexture = "-";
|
||||||
}
|
}
|
||||||
|
|
|
@ -878,7 +878,8 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
//mxd
|
//mxd
|
||||||
public void UpdateFogColor()
|
public void UpdateFogColor()
|
||||||
{
|
{
|
||||||
useOutsideFog = General.Map.Data.MapInfo.HasOutsideFogColor && ceiltexname == General.Map.Config.SkyFlatName;
|
// Sector uses outisde fog when it's ceiling is sky or Sector_Outside effect (87) is set
|
||||||
|
useOutsideFog = (General.Map.Data.MapInfo.HasOutsideFogColor && (ceiltexname == General.Map.Config.SkyFlatName || (effect == 87 && General.Map.Config.SectorEffects.ContainsKey(effect))));
|
||||||
|
|
||||||
if(General.Map.UDMF && Fields.ContainsKey("fadecolor"))
|
if(General.Map.UDMF && Fields.ContainsKey("fadecolor"))
|
||||||
fogColor = new Color4((int)Fields["fadecolor"].Value);
|
fogColor = new Color4((int)Fields["fadecolor"].Value);
|
||||||
|
|
3
Source/Core/Windows/ConfigForm.Designer.cs
generated
3
Source/Core/Windows/ConfigForm.Designer.cs
generated
|
@ -372,6 +372,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.btnRemoveEngine.Name = "btnRemoveEngine";
|
this.btnRemoveEngine.Name = "btnRemoveEngine";
|
||||||
this.btnRemoveEngine.Size = new System.Drawing.Size(26, 24);
|
this.btnRemoveEngine.Size = new System.Drawing.Size(26, 24);
|
||||||
this.btnRemoveEngine.TabIndex = 40;
|
this.btnRemoveEngine.TabIndex = 40;
|
||||||
|
this.tooltip.SetToolTip(this.btnRemoveEngine, "Remove currently selected game engine");
|
||||||
this.btnRemoveEngine.UseVisualStyleBackColor = true;
|
this.btnRemoveEngine.UseVisualStyleBackColor = true;
|
||||||
this.btnRemoveEngine.Click += new System.EventHandler(this.btnRemoveEngine_Click);
|
this.btnRemoveEngine.Click += new System.EventHandler(this.btnRemoveEngine_Click);
|
||||||
//
|
//
|
||||||
|
@ -382,6 +383,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.btnNewEngine.Name = "btnNewEngine";
|
this.btnNewEngine.Name = "btnNewEngine";
|
||||||
this.btnNewEngine.Size = new System.Drawing.Size(26, 24);
|
this.btnNewEngine.Size = new System.Drawing.Size(26, 24);
|
||||||
this.btnNewEngine.TabIndex = 39;
|
this.btnNewEngine.TabIndex = 39;
|
||||||
|
this.tooltip.SetToolTip(this.btnNewEngine, "Add new game engine");
|
||||||
this.btnNewEngine.UseVisualStyleBackColor = true;
|
this.btnNewEngine.UseVisualStyleBackColor = true;
|
||||||
this.btnNewEngine.Click += new System.EventHandler(this.btnNewEngine_Click);
|
this.btnNewEngine.Click += new System.EventHandler(this.btnNewEngine_Click);
|
||||||
//
|
//
|
||||||
|
@ -450,6 +452,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.browsetestprogram.Size = new System.Drawing.Size(30, 24);
|
this.browsetestprogram.Size = new System.Drawing.Size(30, 24);
|
||||||
this.browsetestprogram.TabIndex = 1;
|
this.browsetestprogram.TabIndex = 1;
|
||||||
this.browsetestprogram.Text = " ";
|
this.browsetestprogram.Text = " ";
|
||||||
|
this.tooltip.SetToolTip(this.browsetestprogram, "Browse game engine");
|
||||||
this.browsetestprogram.UseVisualStyleBackColor = true;
|
this.browsetestprogram.UseVisualStyleBackColor = true;
|
||||||
this.browsetestprogram.Click += new System.EventHandler(this.browsetestprogram_Click);
|
this.browsetestprogram.Click += new System.EventHandler(this.browsetestprogram_Click);
|
||||||
//
|
//
|
||||||
|
|
|
@ -310,11 +310,24 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
{
|
{
|
||||||
ApplyTestEngineNameChange();
|
ApplyTestEngineNameChange();
|
||||||
}
|
}
|
||||||
|
// Update engine name
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Update engine name
|
// Use engine directory name?
|
||||||
configinfo.TestProgramName = Path.GetFileNameWithoutExtension(configinfo.TestProgram);
|
string enginename = Path.GetDirectoryName(configinfo.TestProgram);
|
||||||
cbEngineSelector.Items[cbEngineSelector.SelectedIndex] = configinfo.TestProgramName;
|
if(!string.IsNullOrEmpty(enginename))
|
||||||
|
{
|
||||||
|
int pos = enginename.LastIndexOf(Path.DirectorySeparatorChar);
|
||||||
|
if(pos != -1) enginename = enginename.Substring(pos + 1);
|
||||||
|
}
|
||||||
|
// Use engine filename
|
||||||
|
else
|
||||||
|
{
|
||||||
|
enginename = Path.GetFileNameWithoutExtension(configinfo.TestProgram);
|
||||||
|
}
|
||||||
|
|
||||||
|
configinfo.TestProgramName = enginename;
|
||||||
|
cbEngineSelector.Items[cbEngineSelector.SelectedIndex] = enginename;
|
||||||
}
|
}
|
||||||
|
|
||||||
configinfo.Changed = true; //mxd
|
configinfo.Changed = true; //mxd
|
||||||
|
@ -693,7 +706,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
EngineInfo newInfo = new EngineInfo();
|
EngineInfo newInfo = new EngineInfo();
|
||||||
newInfo.TestSkill = (int)Math.Ceiling(gameconfig.Skills.Count / 2f); //set Medium skill level
|
newInfo.TestSkill = (int)Math.Ceiling(gameconfig.Skills.Count / 2f); //set Medium skill level
|
||||||
configinfo.TestEngines.Add(newInfo);
|
configinfo.TestEngines.Add(newInfo);
|
||||||
configinfo.Changed = true; //mxd
|
configinfo.Changed = true;
|
||||||
|
|
||||||
//store current engine name
|
//store current engine name
|
||||||
if(!String.IsNullOrEmpty(cbEngineSelector.Text))
|
if(!String.IsNullOrEmpty(cbEngineSelector.Text))
|
||||||
|
@ -705,10 +718,12 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
cbEngineSelector.Items.Add(info.TestProgramName);
|
cbEngineSelector.Items.Add(info.TestProgramName);
|
||||||
|
|
||||||
cbEngineSelector.SelectedIndex = configinfo.TestEngines.Count - 1;
|
cbEngineSelector.SelectedIndex = configinfo.TestEngines.Count - 1;
|
||||||
|
|
||||||
btnRemoveEngine.Enabled = true;
|
btnRemoveEngine.Enabled = true;
|
||||||
|
|
||||||
preventchanges = false;
|
preventchanges = false;
|
||||||
|
|
||||||
|
// Open engine browser
|
||||||
|
browsetestprogram_Click(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
|
|
|
@ -331,31 +331,26 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
[BeginAction("thingsselectinsectors")]
|
[BeginAction("thingsselectinsectors")]
|
||||||
public void SelectThingsInSelectedSectors()
|
public void SelectThingsInSelectedSectors()
|
||||||
{
|
{
|
||||||
General.Map.Map.ConvertSelection(SelectionType.Sectors);
|
bool convertselection = !(this is SectorsMode);
|
||||||
|
if(convertselection) General.Map.Map.ConvertSelection(SelectionType.Sectors);
|
||||||
|
|
||||||
if(General.Map.Map.SelectedSectorsCount == 0)
|
if(General.Map.Map.SelectedSectorsCount == 0)
|
||||||
{
|
{
|
||||||
General.Interface.DisplayStatus(StatusType.Warning, "No Sectors are Selected!");
|
General.Interface.DisplayStatus(StatusType.Warning, "This action requires a!");
|
||||||
General.Map.Map.ConvertSelection(SelectionType.Linedefs);
|
if(convertselection) General.Map.Map.ConvertSelection(SelectionType.Linedefs);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int selectedCount = 0;
|
|
||||||
ICollection<Sector> sectors = General.Map.Map.GetSelectedSectors(true);
|
ICollection<Sector> sectors = General.Map.Map.GetSelectedSectors(true);
|
||||||
|
|
||||||
foreach(Thing t in General.Map.Map.Things)
|
foreach(Thing t in General.Map.Map.Things)
|
||||||
{
|
{
|
||||||
t.DetermineSector();
|
t.DetermineSector();
|
||||||
|
if(!t.Selected && t.Sector != null && sectors.Contains(t.Sector)) t.Selected = true;
|
||||||
if(!t.Selected && t.Sector != null && sectors.Contains(t.Sector))
|
|
||||||
{
|
|
||||||
t.Selected = true;
|
|
||||||
selectedCount++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
General.Interface.DisplayStatus(StatusType.Info, "Selected " + selectedCount + (selectedCount == 1 ? " Thing" : " Things"));
|
// Update info
|
||||||
General.Map.Map.ConvertSelection(SelectionType.Linedefs);
|
if(convertselection) General.Map.Map.ConvertSelection(SelectionType.Linedefs);
|
||||||
|
UpdateSelectionInfo();
|
||||||
|
|
||||||
// Redraw screen
|
// Redraw screen
|
||||||
General.Interface.RedrawDisplay();
|
General.Interface.RedrawDisplay();
|
||||||
|
|
|
@ -1323,10 +1323,15 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
//mxd
|
//mxd
|
||||||
public override void UpdateSelectionInfo()
|
public override void UpdateSelectionInfo()
|
||||||
{
|
{
|
||||||
|
List<string> info = new List<string>();
|
||||||
|
|
||||||
if(General.Map.Map.SelectedSectorsCount > 0)
|
if(General.Map.Map.SelectedSectorsCount > 0)
|
||||||
General.Interface.DisplayStatus(StatusType.Selection, General.Map.Map.SelectedSectorsCount + (General.Map.Map.SelectedSectorsCount == 1 ? " sector" : " sectors") + " selected.");
|
info.Add(General.Map.Map.SelectedSectorsCount + (General.Map.Map.SelectedSectorsCount == 1 ? " sector" : " sectors"));
|
||||||
else
|
|
||||||
General.Interface.DisplayStatus(StatusType.Selection, string.Empty);
|
if(General.Map.Map.SelectedThingsCount > 0)
|
||||||
|
info.Add(General.Map.Map.SelectedThingsCount + (General.Map.Map.SelectedThingsCount == 1 ? " thing" : " things"));
|
||||||
|
|
||||||
|
General.Interface.DisplayStatus(StatusType.Selection, (info.Count > 0 ? string.Join(" and ", info.ToArray()) + " selected." : string.Empty));
|
||||||
}
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
|
|
|
@ -102,10 +102,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
this.exportStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.exportStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
|
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.editmenuitem = new System.Windows.Forms.ToolStripMenuItem();
|
this.editmenuitem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.separatorcopyprops = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.itemcopyprops = new System.Windows.Forms.ToolStripMenuItem();
|
this.itemcopyprops = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.itempasteprops = new System.Windows.Forms.ToolStripMenuItem();
|
this.itempasteprops = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.itempastepropsoptions = new System.Windows.Forms.ToolStripMenuItem();
|
this.itempastepropsoptions = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.separatorcopyprops = new System.Windows.Forms.ToolStripSeparator();
|
|
||||||
this.menustrip.SuspendLayout();
|
this.menustrip.SuspendLayout();
|
||||||
this.manualstrip.SuspendLayout();
|
this.manualstrip.SuspendLayout();
|
||||||
this.fileMenuStrip.SuspendLayout();
|
this.fileMenuStrip.SuspendLayout();
|
||||||
|
@ -337,6 +337,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
this.selectInSectorsItem2.Size = new System.Drawing.Size(245, 22);
|
this.selectInSectorsItem2.Size = new System.Drawing.Size(245, 22);
|
||||||
this.selectInSectorsItem2.Tag = "thingsselectinsectors";
|
this.selectInSectorsItem2.Tag = "thingsselectinsectors";
|
||||||
this.selectInSectorsItem2.Text = "&Select Things in Selected Sectors";
|
this.selectInSectorsItem2.Text = "&Select Things in Selected Sectors";
|
||||||
|
this.selectInSectorsItem2.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||||
//
|
//
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
|
@ -807,6 +808,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
this.editmenuitem.Size = new System.Drawing.Size(39, 20);
|
this.editmenuitem.Size = new System.Drawing.Size(39, 20);
|
||||||
this.editmenuitem.Text = "Edit";
|
this.editmenuitem.Text = "Edit";
|
||||||
//
|
//
|
||||||
|
// separatorcopyprops
|
||||||
|
//
|
||||||
|
this.separatorcopyprops.Name = "separatorcopyprops";
|
||||||
|
this.separatorcopyprops.Size = new System.Drawing.Size(204, 6);
|
||||||
|
//
|
||||||
// itemcopyprops
|
// itemcopyprops
|
||||||
//
|
//
|
||||||
this.itemcopyprops.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.CopyProperties;
|
this.itemcopyprops.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.CopyProperties;
|
||||||
|
@ -834,11 +840,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
this.itempastepropsoptions.Text = "Paste Properties Special...";
|
this.itempastepropsoptions.Text = "Paste Properties Special...";
|
||||||
this.itempastepropsoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
|
this.itempastepropsoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||||
//
|
//
|
||||||
// separatorcopyprops
|
|
||||||
//
|
|
||||||
this.separatorcopyprops.Name = "separatorcopyprops";
|
|
||||||
this.separatorcopyprops.Size = new System.Drawing.Size(204, 6);
|
|
||||||
//
|
|
||||||
// MenusForm
|
// MenusForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
|
|
Loading…
Reference in a new issue