From 0359974e0f5bd7e222a1a621334970d35a2d9b1c Mon Sep 17 00:00:00 2001 From: MaxED Date: Thu, 26 Mar 2015 11:30:36 +0000 Subject: [PATCH] Fixed, Models, Classic and Visual mode: UDMF scale and rotation transforms were applied in incorrect order. Fixed, Cosmetic, Script Editor: fixed a typo. Internal, ImageBrowserControl: removed now unused KeyDown event. Updated documentation. --- Build/Configurations/Includes/ZDoom_misc.cfg | 2 - Help/Contents.hhc | 4 + Help/compilerconfigs.html | 99 +++++++++++--- Help/gc_basicsettings.html | 18 +-- Help/gc_linedefsettings.html | 123 ++++++++++-------- Help/gc_sectorsettings.html | 90 +++++++------ Help/gc_sidedefsettings.html | 24 ++++ Help/gc_thingsettings.html | 101 ++++++++------ Help/gzdb/features/all_modes/colorpicker.html | 4 +- Help/gzdb/features/all_modes/event_lines.html | 3 +- Help/gzdb/gldefs.html | 6 +- Help/scriptingconfigs.html | 121 ++++++++++++++--- Source/Core/Config/ScriptConfiguration.cs | 3 +- .../Controls/ImageBrowserControl.Designer.cs | 1 - Source/Core/Controls/ImageBrowserControl.cs | 10 -- .../Controls/ScriptEditorPanel.Designer.cs | 2 +- Source/Core/Controls/ScriptEditorPanel.resx | 46 +++---- Source/Core/Rendering/Renderer2D.cs | 2 +- Source/Core/Rendering/Renderer3D.cs | 2 +- .../Windows/TextureBrowserForm.Designer.cs | 1 - 20 files changed, 433 insertions(+), 229 deletions(-) create mode 100644 Help/gc_sidedefsettings.html diff --git a/Build/Configurations/Includes/ZDoom_misc.cfg b/Build/Configurations/Includes/ZDoom_misc.cfg index a32a2b8c..776061b0 100644 --- a/Build/Configurations/Includes/ZDoom_misc.cfg +++ b/Build/Configurations/Includes/ZDoom_misc.cfg @@ -1913,7 +1913,6 @@ gamedetect_udmf // Special linedefs speciallinedefs_doomhexen { - soundlinedefflag = 64; // See linedefflags singlesidedflag = 1; // See linedefflags doublesidedflag = 4; // See linedefflags impassableflag = 1; @@ -1923,7 +1922,6 @@ speciallinedefs_doomhexen speciallinedefs_udmf { - soundlinedefflag = "blocksound"; singlesidedflag = "blocking"; doublesidedflag = "twosided"; impassableflag = "blocking"; diff --git a/Help/Contents.hhc b/Help/Contents.hhc index c761a121..8b40df34 100644 --- a/Help/Contents.hhc +++ b/Help/Contents.hhc @@ -200,6 +200,10 @@ +
  • + + +
  • diff --git a/Help/compilerconfigs.html b/Help/compilerconfigs.html index 8b9069fc..e1d0bf8f 100644 --- a/Help/compilerconfigs.html +++ b/Help/compilerconfigs.html @@ -1,24 +1,87 @@ - - About Compiler Configurations - - - +About Compiler Configurations + + - - - - - - -

    About Compiler Configurations

    - -
    -

    - B -

    -
    + + + + +
    +

    About Compiler Configurations

    +
    +
    +

    Compiler configurations are required to use script compilers and nodebuilders from the editor.
    + Compiler configurations are loaded from *.cfg files placed in the "Compilers" directory or it's subdirectories.

    +

    Script compiler configurations:

    + Typical script compiler configuration consists from a single block: +

    +

    "Compilers" block:

    + Defines what files a compiler uses. + The setting named "program" defines what .exe to run. + The "interface" setting defines what interal interface to use for processing and error feedback (currenttly the only valid value is "AccCompiler"). All others are the required files (the setting names do not matter). +

    +

    Example: +

    +compilers
    +{
    +	zdoom_acc
    +	{
    +		interface = "AccCompiler";
    +		program = "acc.exe";
    +		zcommon = "zcommon.acs";
    +		zdefs = "zdefs.acs";
    +		zspecial = "zspecial.acs";
    +		zwvars = "zwvars.acs";
    +	}
    +}
    +
    +

    +

    Nodebuilder configurations:

    + Typical nodebuilder configuration consists from two blocks: +

    +

    "Compilers" block:

    + Defines what files a compiler uses.
    + The setting named "program" defines what .exe to run.
    + The "interface" setting defines what interal interface to use for processing and error feedback (currenttly the only valid value is "NodesCompiler"). +

    +

    Example: +

    +compilers
    +{
    +	zdbsp
    +	{
    +		interface = "NodesCompiler";
    +		program = "zdbsp.exe";
    +	}
    +}
    +
    +

    +

    "Nodebuilders" block:

    + Defines various presets for the nodebuilder defined in "compilers" block (you can then pick which ones of these to use in the Game Configurations Window). NOTE: Nodebuilder configuration key names defined here must be unique for all nodebuilders! + It's recommended to start the key name with the name of the compiler, followed by underscore and a specific name. The "compiler" setting must refer to an existing compiler, but it does not have to be a compiler defined in the same configuration file.
    +
    + "parameters" setting supports the following wildcards: +
      +
    • "%FI" - input file path.
    • +
    • "%FO" - output file path.
    • +
    + Example: +
    +nodebuilders
    +{
    +	zdbsp_normal
    +	{
    +		title = "ZDBSP - Normal (no reject)"; // name to display in the Game Configurations Window
    +		compiler = "zdbsp"; // must match a nodebuilder block name defined in a "compiler" block
    +		parameters = "-c -o%FO %FI"; // command line parameters
    +	}
    +}
    +
    +

    +
    + diff --git a/Help/gc_basicsettings.html b/Help/gc_basicsettings.html index 136a9121..9d77630f 100644 --- a/Help/gc_basicsettings.html +++ b/Help/gc_basicsettings.html @@ -48,19 +48,19 @@ The default value is false.

    defaultsavecompiler (string)
    - Name of the Nodebuilder Compiler Configuration structure to use as the default settings for the compiler that is used when saving the map. The user can still change this in the Game Configurations window.
    + Name of the Nodebuilder Compiler Configuration structure to use as the default settings for the compiler that is used when saving the map. The user can still change this in the Game Configurations window.

    defaulttestcompiler (string)
    - Name of the Nodebuilder Compiler Configuration structure to use as the default settings for the compiler that is used when testing the map. The user can still change this in the Game Configurations window.
    + Name of the Nodebuilder Compiler Configuration structure to use as the default settings for the compiler that is used when testing the map. The user can still change this in the Game Configurations window.

    defaultscriptcompiler (string) - GZDB only.
    - Name of the Script Compiler Configuration file to use as the default settings for the script compiler that is used when compiling map scripts. The user can still change this in the Map Options window.
    + Name of the Script Compiler Configuration file to use as the default settings for the script compiler that is used when compiling map scripts. The user can still change this in the Map Options window.

    skills (structure)
    This defines the skill options the user has available with this game engine/project. The settings in this structure are expected to be numbers with string values (the descriptive name for the skill level).

    - Example: -
    +		Example:
    +	
     skills
     {
     	1 = "I'm too young to die";
    @@ -74,10 +74,7 @@ skills
     		linetagindicatesectors (boolean)
    When true, Doom Builder will highlight sectors associated with the same tag number when a line is highlighted. This is only really useful for Doom format maps, because Hexen format and UDMF format has no single tag on linedefs (in those formats, the arguments of the linedef's action can be tags, which also works to highlight sectors).
    The default is false.

    - soundlinedefflag (integer or string)
    - This lets Doom Builder know the linedef flag that indicates where sound should be blocked. 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 Block Sound flag. For map formats that use named flags (UDMF), this must be a string indicating the name of the Block Sound flag.
    -
    - singlesidedflag (integer or string)
    + singlesidedflag (integer or string)
    This lets Doom Builder know the linedef flag that indicates a line with only one side. Doom Builder will set this flag value on a linedef when it changes a line to become single sided and removes the flag from a linedef when it becomes double sided. Plugins can also use this information to perform operations on linedefs. For map formats that use numeric flags (Doom and Hexen) this must be an integer flag value. For map formats that use named flags (UDMF), this must be a string indicating the name of the flag.

    doublesidedflag (integer or string)
    @@ -88,6 +85,9 @@ skills
    makedoortrack (string)
    Name of a texture to use on the walls when making a door.
    +
    + makedoordoor (string) - GZDB only.
    + Name of a texture to use as the door texture when making a door.

    makedooraction (integer)
    Linedef action number to put on the lines when making a door.
    diff --git a/Help/gc_linedefsettings.html b/Help/gc_linedefsettings.html index 6764a91e..341e0e09 100644 --- a/Help/gc_linedefsettings.html +++ b/Help/gc_linedefsettings.html @@ -1,31 +1,30 @@ - - Game Configuration - Linedefs Settings - - - +Game Configuration - Linedefs Settings + + - - - - - - -

    Game Configuration - Linedefs Settings

    - -
    -

    - General settings:

    + + + + + + +

    +

    Game Configuration - Linedefs Settings

    +
    +
    +

    General settings:
    +
    generalizedlinedefs (boolean)
    - Set to true to support generalized linedef actions. This makes the gen_linedeftypes structure mandatory. Default value is false.
    -
    - linedefflags (structure)
    - Lists the options that can be set on a linedef. In case of a map format that works with numeric flags, the values of the chosen options are added together to form the final linedef flags value (so each option should use its own bit). Note that with numeric flags, the linedef activation flags are also incorporated in the same value (see linedefactivations).
    - Example for numeric flags: -

    +    Set to true to support generalized linedef actions. This makes the gen_linedeftypes structure mandatory. Default value is false.
    +
    + linedefflags (structure)
    + Lists the options that can be set on a linedef. In case of a map format that works with numeric flags, the values of the chosen options are added together to form the final linedef flags value (so each option should use its own bit). Note that with numeric flags, the linedef activation flags are also incorporated in the same value (see linedefactivations).
    + Example for numeric flags: +
     linedefflags
     {
     	1 = "Impassable";
    @@ -37,9 +36,9 @@ linedefflags
     	64 = "Block Sound";
     }
     
    -
    - Example for named flags: -
    +  
    + Example for named flags: +
     linedefflags
     {
     	blocking = "Impassable";
    @@ -51,12 +50,12 @@ linedefflags
     	blocksound = "Block sound";
     }
     
    -
    - linedefactivations (structure)
    - This provides a list of choices about how a linedef is activated. Only one of these choices can be selected by the user. In case of a map format that works with numeric flags, the value is part of the linedef flags value and should have it's own range of bits. To separate these bits from the linedef flag options, use the linedefactivationsfilter setting. For map formats which use named flags, you can just use names for the settings.
    -
    - Example for numeric flags: -
    +  
    + linedefactivations (structure)
    + This provides a list of choices about how a linedef is activated. Only one of these choices can be selected by the user. In case of a map format that works with numeric flags, the value is part of the linedef flags value and should have it's own range of bits. To separate these bits from the linedef flag options, use the linedefactivationsfilter setting. For map formats which use named flags, you can just use names for the settings.
    +
    + Example for numeric flags: +
     linedefactivations
     {
     	0 = "Player walks over";
    @@ -67,15 +66,27 @@ linedefactivations
     	5120 = "Projectile flies over";
     }
     
    -
    - linedefactivationsfilter (integer)
    - Bit mask value that separates the linedefactivations bits from the linedefflags bits. This is required in map formats that use numeric linedef flags, because the bits share the same integer linedef flags value in the map data. This setting is ignored for map formats that use named flags.
    -
    - linedefflagstranslation (structure)
    - This is a translation between named (UDMF) linedef flags and the numeric linedef flags that your configuration uses (including linedef activation flags, if any). This structure is mandatory for all Game Configurations that do not use the UDMF map format and should not exist in Game Configurations that use the UDMF map format. Doom Builder uses this translation ot correctly work with copy/paste and prefabs (which are all converted to/from UDMF format). The setting names should be the non-UDMF flags. In case that your Game Configuration uses numeric flags map format, the setting names should be numeric. The setting values must be the equivalent UDMF flag names. The value can be prefixed with ! to indicate that the value should be inverted (for example, if a setting 32 with value '!raisable' is to be converted, the existance of the bit value 32 will set 'raisable' to false).
    -
    - Example for numeric flags: -
    +  
    + linedefactivationsfilter (integer)
    + Bit mask value that separates the linedefactivations bits from the linedefflags bits. This is required in map formats that use numeric linedef flags, because the bits share the same integer linedef flags value in the map data. This setting is ignored for map formats that use named flags.
    +
    + linedefrenderstyles (structure) - GZDB only, UDMF only.
    + Lists the renderstyles that can be set on a linedef.
    +
    + Example: +
            
    +linedefrenderstyles
    +{
    +	translucent = "Translucent";
    +	add = "Additive";
    +}
    +
    +
    + linedefflagstranslation (structure)
    + This is a translation between named (UDMF) linedef flags and the numeric linedef flags that your configuration uses (including linedef activation flags, if any). This structure is mandatory for all Game Configurations that do not use the UDMF map format and should not exist in Game Configurations that use the UDMF map format. Doom Builder uses this translation ot correctly work with copy/paste and prefabs (which are all converted to/from UDMF format). The setting names should be the non-UDMF flags. In case that your Game Configuration uses numeric flags map format, the setting names should be numeric. The setting values must be the equivalent UDMF flag names. The value can be prefixed with ! to indicate that the value should be inverted (for example, if a setting 32 with value '!raisable' is to be converted, the existance of the bit value 32 will set 'raisable' to false).
    +
    + Example for numeric flags: +
     linedefflagstranslation
     {
     	1 = "blocking";
    @@ -94,13 +105,13 @@ linedefflagstranslation
     	8192 = "monsteractivate";
     }
     
    -
    - -Linedef definitions:

    -default (integer) - GZDB only.
    -Sets the default value for a Thing or Linedef argument definition.
    -Example: -
    9038
    +  
    + Linedef definitions:
    +
    + default (integer) - GZDB only.
    + Sets the default value for a Thing or Linedef argument definition.
    + Example: +
    9038
     {
         title = "ColorSetter";
         arg0
    @@ -109,17 +120,17 @@ Sets the default value for a Thing or Linedef argument definition.
    default = 255; } }
    -
    -requiresactivation (boolean) - GZDB only.
    -this linedef action requires activation flag(s). When this property is set to true, a warning will be shown when a user selects this linedef action and no activation flags are set.
    -The default value is true.
    -Example: -
    1
    +  
    + requiresactivation (boolean) - GZDB only.
    + this linedef action requires activation flag(s). When this property is set to true, a warning will be shown when a user selects this linedef action and no activation flags are set.
    + The default value is true.
    + Example: +
    1
     {
         title = "Polyobj Start Line";
         requiresactivation = false;
     } 
    -
    -

    -
    +
    +

    + diff --git a/Help/gc_sectorsettings.html b/Help/gc_sectorsettings.html index 14212710..4c934e3d 100644 --- a/Help/gc_sectorsettings.html +++ b/Help/gc_sectorsettings.html @@ -1,31 +1,43 @@ - - Game Configuration - Sectors Settings - - - +Game Configuration - Sectors Settings + + - - - - - - -

    Game Configuration - Sectors Settings

    - -
    -

    - generalizedsectors (boolean)
    - Set to true to support generalized sector effects. This makes the gen_sectortypes structure mandatory. Default value is false.
    -
    - sectorbrightness (structure)
    - This structure provides Doom Builder with a list of sector brightness levels that are most common. Doom Builder will use these levels to increase/decrease the brightness quickly. The structure must contain numeric setting names for the brightness levels. The settings don't need a value and any value will be ignored by Doom Builder.
    -
    - Example: -

    +
    +  
    +  
    +  
    +  
    +
    +
    +

    Game Configuration - Sectors Settings

    +
    +
    +

    generalizedsectors (boolean)
    + Set to true to support generalized sector effects. This makes the gen_sectortypes structure mandatory. Default value is false.
    +
    + sectorflags (structure) - GZDB only, UDMF only.
    + Lists the options that can be set on a sector.
    +
    + sectorrenderstyles (structure) - GZDB only, UDMF only.
    + Lists the renderstyles that can be set on a sector.
    +
    + Example: +

            
    +sectorrenderstyles
    +{
    +	translucent = "Translucent";
    +	add = "Additive";
    +}
    +
    + sectorbrightness (structure)
    + This structure provides Doom Builder with a list of sector brightness levels that are most common. Doom Builder will use these levels to increase/decrease the brightness quickly. The structure must contain numeric setting names for the brightness levels. The settings don't need a value and any value will be ignored by Doom Builder.
    +
    + Example: +
     sectorbrightness
     {
     	96;
    @@ -34,12 +46,12 @@ sectorbrightness
     	0;
     }
     
    -
    - gen_sectortypes (structure)
    - Generalized sector types are described in this structure. This structure is required when generalizedsectors is set to true. For each option there should be a structure. The name of the structure is displayed as the option description. Each option structure should contain a setting for the available choices. The setting name must be a numeric value that is added to the final sector effect value along with the values of the choices from other options (so the final sector effect value is the sum of the choices from every option). The setting must have a string value containing the choice description to be displayed.
    -
    - Example: -
    +  
    + gen_sectortypes (structure)
    + Generalized sector types are described in this structure. This structure is required when generalizedsectors is set to true. For each option there should be a structure. The name of the structure is displayed as the option description. Each option structure should contain a setting for the available choices. The setting name must be a numeric value that is added to the final sector effect value along with the values of the choices from other options (so the final sector effect value is the sum of the choices from every option). The setting must have a string value containing the choice description to be displayed.
    +
    + Example: +
     gen_sectortypes
     {
     	secret
    @@ -61,12 +73,12 @@ gen_sectortypes
     	}
     }
     
    -
    - sectortypes (structure)
    - This is a simple list of all available sector effects that the user can choose from. The setting names must be numeric (the sector effect number) and the value must be a string containing the description to display.
    -
    - Example: -
    +  
    + sectortypes (structure)
    + This is a simple list of all available sector effects that the user can choose from. The setting names must be numeric (the sector effect number) and the value must be a string containing the description to display.
    +
    + Example: +
     sectortypes
     {
     	0 = "Normal";
    @@ -80,9 +92,7 @@ sectortypes
     	9 = "Secret";
     }
     
    -
    - - -

    -
    +
    +

    +
    diff --git a/Help/gc_sidedefsettings.html b/Help/gc_sidedefsettings.html new file mode 100644 index 00000000..2259adc2 --- /dev/null +++ b/Help/gc_sidedefsettings.html @@ -0,0 +1,24 @@ + + + +Game Configuration - Linedefs Settings + + + + + + + + + + +
    +

    Game Configuration - Sidedefs Settings

    +
    +
    +

    General settings:
    +
    + sidedefflags (structure) - GZDB only, UDMF only.
    + Lists the options that can be set on a sidedef.
    +

    + diff --git a/Help/gc_thingsettings.html b/Help/gc_thingsettings.html index 05788387..f92f2426 100644 --- a/Help/gc_thingsettings.html +++ b/Help/gc_thingsettings.html @@ -1,32 +1,31 @@ - - Game Configuration - Things Settings - - - +Game Configuration - Things Settings + + - - - - - - -

    Game Configuration - Things Settings

    - -
    -

    - General settings:

    - thingclasshelp (string) - GZDB only.
    - URL to to open when thing class name is clicked in the Thing Edit form.
    -
    -defaultthingflags (structure)
    - This defines what the default flags should be first the first new thing when inserted. In map formats that use numeric thing flags, the settings in this structure should be the numeric flags to set. In map formats that use named flags, the settings must be the names of the flags to set. The value of the settings is optional and is ignored by Doom Builder.
    -
    - Example for numeric flags: -

    +
    +  
    +  
    +  
    +  
    +
    +
    +

    Game Configuration - Things Settings

    +
    +
    +

    General settings:
    +
    + thingclasshelp (string) - GZDB only.
    + URL to to open when thing class name is clicked in the Thing Edit form.
    +
    + defaultthingflags (structure)
    + This defines what the default flags should be first the first new thing when inserted. In map formats that use numeric thing flags, the settings in this structure should be the numeric flags to set. In map formats that use named flags, the settings must be the names of the flags to set. The value of the settings is optional and is ignored by Doom Builder.
    +
    + Example for numeric flags: +

     defaultthingflags
     {
     	1;
    @@ -35,9 +34,9 @@ defaultthingflags
     	32;
     }
     
    -
    - Example for named flags: -
    +  
    + Example for named flags: +
     defaultthingflags
     {
     	skill1;
    @@ -47,13 +46,33 @@ defaultthingflags
     	coop;
     }
     
    -
    -Thing definitions:
    -
    -default (integer) - GZDB only.
    -Sets the default value for a Thing or Linedef argument definition.
    -Example: -
    9038
    +  
    + thingrenderstyles (structure) - GZDB only, UDMF only.
    + Lists the renderstyles that can be set on a thing.
    +
    + Example: +
            
    +thingrenderstyles
    +{
    +	normal = "Normal";
    +	translucent = "Translucent";
    +	soultrans = "Translucent (Lost Soul)";
    +	translucentstencil = "Translucent (stencil)";
    +	add = "Additive";
    +	subtract = "Subtractive";
    +	stencil = "Stencil";
    +	fuzzy = "Fuzzy";
    +	optfuzzy = "Fuzzy/Shadow (uses r_drawfuzz CVAR)";
    +	none = "None";
    +}
    +
    +
    + Thing definitions:
    +
    + default (integer) - GZDB only.
    + Sets the default value for a Thing or Linedef argument definition.
    + Example: +
    9038
     {
         title = "ColorSetter";
         arg0
    @@ -62,16 +81,16 @@ Sets the default value for a Thing or Linedef argument definition.
    default = 255; } }
    -
    -class (string) - GZDB only.
    -Sets DECORATE class name, which corresponds to this thing. Used internally to attach models and dynamic lights to given thing and when looking for an actor class to inherit from in DECORATE parser.
    -Example: -
    3001
    +  
    + class (string) - GZDB only.
    + Sets DECORATE class name, which corresponds to this thing. Used internally to attach models and dynamic lights to given thing and when looking for an actor class to inherit from in DECORATE parser.
    + Example: +
    3001
     {
         title = "Imp";
         sprite = "TROOA2A8";
         class = "DoomImp";
     }
    -

    -
    +

    +
    diff --git a/Help/gzdb/features/all_modes/colorpicker.html b/Help/gzdb/features/all_modes/colorpicker.html index b1e0f0a9..3694919b 100644 --- a/Help/gzdb/features/all_modes/colorpicker.html +++ b/Help/gzdb/features/all_modes/colorpicker.html @@ -21,12 +21,12 @@ To edit light properties:
    Select one or more lights in Classic or Visual Mode and click the Color Picker button or press the shortcut key to open the Color Picker window.
    You can enable Relative mode if you have several lights with different settings selected and want to scale them all up/down a bit.
    -If nothing is selected in Visual Mode, you can hilight a Light Thing and then open Color Picker window to edit it's properties.
    +If nothing is selected in Visual Mode, you can highlight a Light Thing and then open Color Picker window to edit it's properties.

    To edit sector colors (UDMF only):
    Select any sectors in Classic mode, or any surfaces in Visual Mode, then open the Color Picker window. Sector color ("lightcolor" property) and Fade color ("fadecolor" property) can be set in this mode. -If nothing is selected in Visual Mode, you can hilight a surface and then open the Color Picker window to edit the color of the corresponding sector to which the hilighted surface belongs. +If nothing is selected in Visual Mode, you can highlight a surface and then open the Color Picker window to edit the color of the corresponding sector to which the highlighted surface belongs. diff --git a/Help/gzdb/features/all_modes/event_lines.html b/Help/gzdb/features/all_modes/event_lines.html index 9907171a..18ce775e 100644 --- a/Help/gzdb/features/all_modes/event_lines.html +++ b/Help/gzdb/features/all_modes/event_lines.html @@ -6,11 +6,12 @@ + - +

    Event lines

    diff --git a/Help/gzdb/gldefs.html b/Help/gzdb/gldefs.html index cb1b88c4..b8a7415f 100644 --- a/Help/gzdb/gldefs.html +++ b/Help/gzdb/gldefs.html @@ -24,11 +24,11 @@

    GZDoom Builder will automatically load data from GLDEFS and MODELDEF lumps if they are present in map resources. -

    MODELDEF support: all relevant MODELDEF properties and flags are supported. Sprite translations are not supported.
    +

    MODELDEF support: all relevant MODELDEF properties and flags are supported. Sprite translations are not supported.

    GLDEFS support: - only dynamic light definitions are currently supported. Brightmaps and glowing flats support may be added in the future. You can use "//$GZDB_SKIP" special comment to abort parsing of the current file.
    + only dynamic light definitions are currently supported. Brightmaps and glowing flats support may be added in the future. You can use "//$GZDB_SKIP" special comment to abort parsing of the current file.

    You can reload GLDEFS and MODELDEF by using "Reload GLDEFS" and "Reload MODELDEF" actions.
    - To enable GZDoom's built-in GLDEFS dynamic light definitions, you need to add "lights.pk3" as a map resource. Don't forget to check "Exclude from testing parameters" chekbox while adding it, otherwise GZDoom won't load your map. "lights.pk3" can be found in GZDoom folder. + To enable GZDoom's built-in GLDEFS dynamic light definitions, you need to add "lights.pk3" as a map resource. "lights.pk3" can be found in GZDoom folder.

    If you are creating maps for Doom or Doom 2, you probably don't need to read this, since required information is already added for those games.

    To load models or dynamic lights defined in GLDEFS for things defined in configuration files:
    diff --git a/Help/scriptingconfigs.html b/Help/scriptingconfigs.html index 3ce541fb..ac040954 100644 --- a/Help/scriptingconfigs.html +++ b/Help/scriptingconfigs.html @@ -1,24 +1,109 @@ - - About Scripting Configurations - - - +About Scripting Configurations + + - - - - - - -

    About Scripting Configurations

    - -
    -

    - B -

    -
    + + + + +
    +

    About Scripting Configurations

    +
    +
    +

    Scripting configurations are used to provide code highlighting and code completion in the Script Editor.
    + Scripting configurations are loaded from *.cfg files placed in the "Scripting" directory.

    +

    Script compiler settings:

    +
    + compiler (string)
    + The name of the script compiler to use.
    +
    + parameters (string)
    + Command line paramterets to pass to the script compiler. + Following wildcards are supported: +
      +
    • "%FI" - input file path.
    • +
    • "%FO" - output file path.
    • +
    • "%FS" - source file.
    • +
    • "%PT" - temporary directory path.
    • +
    • "%PS" - source path.
    • +
    + resultlump (string)
    + The name of the lump compilation resuld should be stored in.
    +
    +
    +

    Script Editor settings:

    +
    + description (string)
    + Script type name shown in the Script Editor's "New File" drop-down.
    +
    + codepage (integer)
    + The code page Scintilla Control will use.
    +
    + extensions (string)
    + Comma-separated list of file extensions associated with this configuration.
    +
    + casesensitive (boolean)
    + Is the script type case sensitive? Default value is true.
    +
    + insertcase (int)
    + 0 - Normal, 1 - Lowercase, 2 - Uppercase. Defaullt value is 0.
    +
    + lexer (integer)
    + Specifies a lexer type Scintilla Control will use.
    + Possible values are: 1 - Plain text; 3 - CPP-style, case-sensitive; 6 - Perl-style; 18 - Pascal-style; 35 - CPP-style, case-insensitive.
    +
    + functionopen (string)
    + A character used as a function's opening brace.
    +
    + functionclose (string)
    +A character used as a function's closing brace.
    +
    + argumentdelimiter (string)
    +A character used as a function arguments delimiter.
    +
    + terminator (string)
    +A character used as an expression terminator.
    +
    + keywordhelp (string) - GZDB only.
    + An URL used to display keyword help. "%K" placeholder will be replaced with the word text cursor is position in when calling keyword help (F1).
    +
    + snippetsdir (string) - GZDB only.
    + Directory name inside of the "Snippets" directory, which holds snippets for current script configuration.
    +
    + scripttype (integer) - GZDB only.
    + Marks current script configuration as one of script types, recognized by GZDB. Possible values are: 1 - ACC; 2 - MODELDEF; 3 - DECORATE. Default value is 0 (unknown script).
    +

    "keywords" block:

    +
    + Defines a list of keywords to highlight and show code completion + for. Each keyword is defined as +
    Keyword = "Keyword description";
    + "Keyword" is a word used in a script, "Keyword description" provides additional information about a keyword, like function arguments or hints about what function or it's parameters do. +

    Example: +

    +keywords
    +{
    +	CanRaiseActor = "bool CanRaiseActor(int tid)\nChecks to see if the actor or actors with the specified tid are viable for resurrection.\nIf tid is 0, the check is done on the activator of the script.";
    +}
    +
    +

    +

    "constants" block:

    +
    + Defines a list of constants to highlight and show code completion for. +

    Example: +

    +constants
    +{
    +	AAPTR_DEFAULT;
    +	AAPTR_FRIENDPLAYER;
    +	AAPTR_GET_LINETARGET;
    +	AAPTR_MASTER;
    +	AAPTR_NULL;
    +}
    +
    +

    +
    diff --git a/Source/Core/Config/ScriptConfiguration.cs b/Source/Core/Config/ScriptConfiguration.cs index 5cfb8f0f..c84f82f5 100644 --- a/Source/Core/Config/ScriptConfiguration.cs +++ b/Source/Core/Config/ScriptConfiguration.cs @@ -27,7 +27,8 @@ using CodeImp.DoomBuilder.IO; namespace CodeImp.DoomBuilder.Config { //mxd - internal enum ScriptType { + internal enum ScriptType + { UNKNOWN = 0, ACS = 1, MODELDEF = 2, diff --git a/Source/Core/Controls/ImageBrowserControl.Designer.cs b/Source/Core/Controls/ImageBrowserControl.Designer.cs index 2340fe69..445cce49 100644 --- a/Source/Core/Controls/ImageBrowserControl.Designer.cs +++ b/Source/Core/Controls/ImageBrowserControl.Designer.cs @@ -115,7 +115,6 @@ namespace CodeImp.DoomBuilder.Controls this.list.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.list_DrawItem); this.list.DoubleClick += new System.EventHandler(this.list_DoubleClick); this.list.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.list_ItemSelectionChanged); - this.list.KeyDown += new System.Windows.Forms.KeyEventHandler(this.list_KeyDown); // // showtexturesize // diff --git a/Source/Core/Controls/ImageBrowserControl.cs b/Source/Core/Controls/ImageBrowserControl.cs index 49a0ab23..d7313008 100644 --- a/Source/Core/Controls/ImageBrowserControl.cs +++ b/Source/Core/Controls/ImageBrowserControl.cs @@ -231,16 +231,6 @@ namespace CodeImp.DoomBuilder.Controls objectname_TextChanged(sender, e); } - // Key pressed in list - private void list_KeyDown(object sender, KeyEventArgs e) - { - if(e.KeyData == Keys.Tab) - { - GoToNextSameTexture(); - e.SuppressKeyPress = true; - } - } - //mxd protected override bool ProcessTabKey(bool forward) { diff --git a/Source/Core/Controls/ScriptEditorPanel.Designer.cs b/Source/Core/Controls/ScriptEditorPanel.Designer.cs index c296d654..bbefcbeb 100644 --- a/Source/Core/Controls/ScriptEditorPanel.Designer.cs +++ b/Source/Core/Controls/ScriptEditorPanel.Designer.cs @@ -244,7 +244,7 @@ namespace CodeImp.DoomBuilder.Controls this.buttonsnippets.ImageTransparentColor = System.Drawing.Color.Magenta; this.buttonsnippets.Name = "buttonsnippets"; this.buttonsnippets.Size = new System.Drawing.Size(29, 22); - this.buttonsnippets.Text = "Intert a Code Snippet"; + this.buttonsnippets.Text = "Insert a Code Snippet"; // // toolStripSeparator4 // diff --git a/Source/Core/Controls/ScriptEditorPanel.resx b/Source/Core/Controls/ScriptEditorPanel.resx index ac7358d9..c7cb3e4d 100644 --- a/Source/Core/Controls/ScriptEditorPanel.resx +++ b/Source/Core/Controls/ScriptEditorPanel.resx @@ -149,29 +149,29 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADI - BQAAAk1TRnQBSQFMAwEBAAGEAQABhAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA - ARADAAEBAQABIAYAARD/ACMAAc8B2AHyAf8BUAFoAbkB/wEZATQBkwH/AREBJwFtAf8BCgEgAWQB/wEK - ASQBgQH/AT8BVQGkAf8BzwHYAfIB/9wAAYEBlAHUAf8BJAFDAawB/wESATcBuAH/AQIBMgHQAf8BAAEv - AeIB/wEAASwB3AH/AQABKQG9Af8BAAEgAZYB/wEAARsBgQH/AV0BbwGyAf/UAAGJAZ0B3AH/ATEBUAG7 - Af8BEgFCAd0B/wEAAToB+gH/AQABNwH5Af8BPQFoAfgB/wE9AWgB+AH/AQABLwHqAf8BAAEsAeQB/wEA - ASUBtgH/AQABGwGBAf8BXQFvAbIB/8wAAc8B2AHyAf8BRgFhAcYB/wEkAVAB4wH/AREBSAH9Af8BEQFI - Af0B/wFMAYEB/gH/A/4B/wP+Af8BTwGBAfoB/wEAATAB7gH/AQABLAHkAf8BAAElAbYB/wEAARsBgQH/ - Ac8B2AHyAf/IAAGnAbYB5QH/AUMBZgHZAf8BIgFVAv8BIwFXAv8BIgFVAv8BWwGLAv8D/gH/A/4B/wFG - AW8B+wH/AQABNAH4Af8BAAEwAe4B/wEAASwB5AH/AQABIAGWAf8BPwFVAaQB/8gAAWYBiQHVAf8BQgFp - Ae4B/wE0AWMC/wE3AWUC/wE0AWMC/wEvAWAC/wFfAY4C/wFWAYYC/wERAUgB/QH/AQMBPgH7Af8BAAE0 - AfgB/wEAAS8B6gH/AQABKQG9Af8BCgEkAYEB/8gAAYEBlAHRAf8BRgFvAfsB/wFIAYEC/wFMAYEB/gH/ - AUgBgQL/AVYBhgL/A/4B/wP+Af8BNAFjAv8BDgFGAfsB/wEAAToB+gH/AQABMQHzAf8BAAEsAdwB/wEK - ASABZAH/yAABigGbAdQB/wFWAYYB+wH/AVsBiwL/AV8BjgL/AVsBiwL/AZcBsQL/A/4B/wP+Af8BbwGa - Av8BFwFNAf0B/wEDAT4B+wH/AQABNAH4Af8BAAEvAeIB/wERAScBbQH/yAABiQGdAdwB/wFvAZYB8gH/ - AW8BmgL/AYEBnAL/AW8BmgL/AbEBxAL/A/4B/wP+Af8BogG4Af4B/wEeAVIB/gH/AQ4BRgH7Af8BAAE3 - AfkB/wECATIB0AH/ARkBNAGTAf/IAAGnAbYB5QH/AY0BowHlAf8BhwGkAv8BjQGoAv8BhwGkAv8BxQHT - Af4B/wP+Af8D/gH/AbUBxwH+Af8BIgFVAv8BEQFIAf0B/wEAAToB+gH/ARIBNwG4Af8BWgGAAboB/8gA - Ac8B2AHyAf8BlwGnAd0B/wGVAasB8QH/AZcBsQL/AY0BqAL/AakBvgL/A/4B/wP+Af8BgwGhAv8BIwFX - Av8BEQFIAf0B/wESAUIB3QH/ASQBQwGsAf8BzwHYAfIB/8wAAbQBwgHsAf8BmwGqAd0B/wGVAasB8QH/ - AYcBpAL/AW8BmgL/AVsBiwL/AUgBgQL/ATQBYwL/ASMBVwL/ASQBUAHjAf8BMQFQAbsB/wFrAYwB1AH/ - 1AABtAHCAewB/wGXAacB3QH/AY0BowHlAf8BbwGWAfIB/wFWAYYB+wH/AUYBbwH7Af8BQgFpAe4B/wFD - AWYB2QH/AUYBYQHGAf8BgQGVAdwB/9wAAcwB2AH+Af8BnQGtAeAB/wGJAZ0B3AH/AYoBmwHUAf8BgQGU - AdEB/wFmAYkB1QH/AYEBlAHRAf8BzAHYAf4B//8A0QABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA + BQAAAk1TRnQBSQFMAwEBAAGMAQABjAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA + ARADAAEBAQABIAYAARD/ACMAAc8B2AHyAf8BTwFnAbkB/wEYATMBkwH/ARABJgFsAf8BCQEfAWMB/wEJ + ASMBgQH/AT4BVAGkAf8BzwHYAfIB/9wAAYEBlAHUAf8BIwFCAawB/wERATYBuAH/AQEBMQHQAf8BAAEu + AeIB/wEAASsB3AH/AQABKAG9Af8BAAEfAZYB/wEAARoBgQH/AVwBbgGyAf/UAAGJAZ0B3AH/ATABTwG7 + Af8BEQFBAd0B/wEAATkB+gH/AQABNgH5Af8BPAFnAfgB/wE8AWcB+AH/AQABLgHqAf8BAAErAeQB/wEA + ASQBtgH/AQABGgGBAf8BXAFuAbIB/8wAAc8B2AHyAf8BRQFgAcYB/wEjAU8B4wH/ARABRwH9Af8BEAFH + Af0B/wFLAYEB/gH/A/4B/wP+Af8BTgGBAfoB/wEAAS8B7gH/AQABKwHkAf8BAAEkAbYB/wEAARoBgQH/ + Ac8B2AHyAf/IAAGnAbYB5QH/AUIBZQHZAf8BIQFUAv8BIgFWAv8BIQFUAv8BWgGLAv8D/gH/A/4B/wFF + AW4B+wH/AQABMwH4Af8BAAEvAe4B/wEAASsB5AH/AQABHwGWAf8BPgFUAaQB/8gAAWUBiQHVAf8BQQFo + Ae4B/wEzAWIC/wE2AWQC/wEzAWIC/wEuAV8C/wFeAY4C/wFVAYYC/wEQAUcB/QH/AQIBPQH7Af8BAAEz + AfgB/wEAAS4B6gH/AQABKAG9Af8BCQEjAYEB/8gAAYEBlAHRAf8BRQFuAfsB/wFHAYEC/wFLAYEB/gH/ + AUcBgQL/AVUBhgL/A/4B/wP+Af8BMwFiAv8BDQFFAfsB/wEAATkB+gH/AQABMAHzAf8BAAErAdwB/wEJ + AR8BYwH/yAABigGbAdQB/wFVAYYB+wH/AVoBiwL/AV4BjgL/AVoBiwL/AZcBsQL/A/4B/wP+Af8BbgGa + Av8BFgFMAf0B/wECAT0B+wH/AQABMwH4Af8BAAEuAeIB/wEQASYBbAH/yAABiQGdAdwB/wFuAZYB8gH/ + AW4BmgL/AYEBnAL/AW4BmgL/AbEBxAL/A/4B/wP+Af8BogG4Af4B/wEdAVEB/gH/AQ0BRQH7Af8BAAE2 + AfkB/wEBATEB0AH/ARgBMwGTAf/IAAGnAbYB5QH/AY0BowHlAf8BhwGkAv8BjQGoAv8BhwGkAv8BxQHT + Af4B/wP+Af8D/gH/AbUBxwH+Af8BIQFUAv8BEAFHAf0B/wEAATkB+gH/AREBNgG4Af8BWQGAAboB/8gA + Ac8B2AHyAf8BlwGnAd0B/wGVAasB8QH/AZcBsQL/AY0BqAL/AakBvgL/A/4B/wP+Af8BgwGhAv8BIgFW + Av8BEAFHAf0B/wERAUEB3QH/ASMBQgGsAf8BzwHYAfIB/8wAAbQBwgHsAf8BmwGqAd0B/wGVAasB8QH/ + AYcBpAL/AW4BmgL/AVoBiwL/AUcBgQL/ATMBYgL/ASIBVgL/ASMBTwHjAf8BMAFPAbsB/wFqAYwB1AH/ + 1AABtAHCAewB/wGXAacB3QH/AY0BowHlAf8BbgGWAfIB/wFVAYYB+wH/AUUBbgH7Af8BQQFoAe4B/wFC + AWUB2QH/AUUBYAHGAf8BgQGVAdwB/9wAAcwB2AH+Af8BnQGtAeAB/wGJAZ0B3AH/AYoBmwHUAf8BgQGU + AdEB/wFlAYkB1QH/AYEBlAHRAf8BzAHYAf4B//8A0QABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA AQEFAAGAFwAD/wEAAv8GAAHwAQ8GAAHgAQcGAAHAAQMGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGA AQEGAAGAAQEGAAGAAQEGAAGAAQEGAAHAAQMGAAHgAQcGAAHwAQ8GAAL/BgAL diff --git a/Source/Core/Rendering/Renderer2D.cs b/Source/Core/Rendering/Renderer2D.cs index aff31cab..e2532b13 100644 --- a/Source/Core/Rendering/Renderer2D.cs +++ b/Source/Core/Rendering/Renderer2D.cs @@ -1357,7 +1357,7 @@ namespace CodeImp.DoomBuilder.Rendering Matrix modelscale = Matrix.Scaling(sx, sx, sy); Matrix rotation = Matrix.RotationY(-t.RollRad) * Matrix.RotationX(-t.PitchRad) * Matrix.RotationZ(t.Angle); Matrix position = Matrix.Translation(screenpos.x, screenpos.y, 0.0f); - Matrix world = General.Map.Data.ModeldefEntries[t.Type].Transform * rotation * modelscale * viewscale * position; + Matrix world = General.Map.Data.ModeldefEntries[t.Type].Transform * modelscale * rotation * viewscale * position; graphics.Shaders.Things2D.SetTransformSettings(world); graphics.Shaders.Things2D.ApplySettings(); diff --git a/Source/Core/Rendering/Renderer3D.cs b/Source/Core/Rendering/Renderer3D.cs index 06f96eb7..f62ba5f7 100644 --- a/Source/Core/Rendering/Renderer3D.cs +++ b/Source/Core/Rendering/Renderer3D.cs @@ -1123,7 +1123,7 @@ namespace CodeImp.DoomBuilder.Rendering Matrix modelscale = Matrix.Scaling(sx, sx, sy); Matrix modelrotation = Matrix.RotationY(-t.Thing.RollRad) * Matrix.RotationX(-t.Thing.PitchRad) * Matrix.RotationZ(t.Thing.Angle); - world = General.Map.Data.ModeldefEntries[t.Thing.Type].Transform * modelrotation * modelscale * t.Position; + world = General.Map.Data.ModeldefEntries[t.Thing.Type].Transform * modelscale * modelrotation * t.Position; ApplyMatrices3D(); //mxd. set variables for fog rendering diff --git a/Source/Core/Windows/TextureBrowserForm.Designer.cs b/Source/Core/Windows/TextureBrowserForm.Designer.cs index 05da1398..ca80b4f9 100644 --- a/Source/Core/Windows/TextureBrowserForm.Designer.cs +++ b/Source/Core/Windows/TextureBrowserForm.Designer.cs @@ -146,7 +146,6 @@ namespace CodeImp.DoomBuilder.Windows this.splitter.Panel2MinSize = 100; this.splitter.Size = new System.Drawing.Size(784, 442); this.splitter.SplitterDistance = 573; - this.splitter.SplitterWidth = 8; this.splitter.TabIndex = 0; this.splitter.TabStop = false; //