NewsAboutDownloadsChange LogWikiGitHubContact

SLADE v3.1.2 Released (Finally)
Tue, Nov 27 2018

Long long overdue, it's finally out after almost 2 years. It doesn't quite have everything planned, and some things are still a little WIP (see: scripting), but it couldn't keep being delayed forever.

As there are a very large number of changes and additions since 3.1.1.5, I'm only putting a summary here. For more detailed release notes see the change log page.

General

  • Updated the start page with a new look and layout
  • Improved console panel
  • Improved support for high DPI displays
  • Added support for vanilla-compatible tall gfx patches
  • Added support for SiN archives
  • Translations now work on truecolour images
  • ZScript parsing:
    • Can select a pk3 to load base definitions from (eg. gzdoom.pk3) in the base resource archive dialog
    • Parsed class and function definitions are made available in the ZScript text editor language (for syntax highlighting etc.)
  • Added support for full-path textures in the map editor and texture editor (thanks @Talon1024)

Resource Editor

  • Added various new gfx tools:
    • Basic pixel-editing tools - draw, erase, translate, various brush shapes and sizes
    • Palette Gradient tool (thanks @jmickle66666666)
    • Crop Gfx tool
  • Improvements to existing gfx tools:
    • Palette colours can now be used in colourise/tint/translate tools (right click colour boxes for palette colour selection)
    • Colourise and tint effects can now be used in colour remap
  • Added metadata display for most audio types
  • Many fixes and minor improvements to resource editing tools

Text Editor

  • Code folding
  • Revamped the Find+Replace feature
  • Vastly improved calltips
  • Much more configurable, including many new display and theme options
  • Many improvements and additions to text language definitions

Map Editor

  • Added 'floodfill' feature in 3d mode. This pastes the texture to every adjacent texture
  • Added new map checks
  • Added new 'Special Presets' feature for hexen and UDMF format maps - select from a list of pre-defined specials (currently generated from ZDoom's > XLAT) for quickly setting args and activation trigger flags (custom presets support coming in a later release)

New Scripting Feature
SLADE v3.1.2 introduces a fairly major new feature - scripting. This allows lua scripts to be written that can interact with SLADE and perform various functions. Some documentation for the types and functions that are available in scripts can be found here: http://slade.mancubus.net/docs/scripting (the examples are a good place to start and see some things that are possible). As the docs page says, this feature is still pretty WIP - I'd like to add a fair bit more functionality to it, and the API may change in future releases.

For the next release, the focus is mostly going to be on improving the codebase itself, fixing bugs and just improving overall stability. After that - expanding the scripting system to be able to do more cool stuff, then on to actually implementing some of the things that have been planned since the beginning and I've just kept putting off :P

Beta 5 Released
Mon, Sep 11 2017

Another beta for 3.1.2 is up, with a lot more changes than was originally planned - including improved ZScript support, the ability to write and save different kinds of editor scripts and many improvements to the text editor.

See the full list of changes below:

General

  • Added new command line options:
    • -nosplash disables the splash window
    • -debug enables debugging info and log messages
  • Eternity port definition updates (thanks @Altazimuth)
  • Added GOG BFG Edition classic IWAD path detection
  • Improved console panel:
    • Now uses the same colours as the text editor
    • Log messages are coloured by type (eg. warnings - yellow)
  • Added 'View -> Toolbars' menu to main windows
  • Fixed a crash on exit in linux

Definition Parsing

  • Added basic ZMAPINFO parsing
    • DoomEdNums parsed from ZMAPINFO are now linked to DECORATE/ZScript classes
  • Improved DECORATE parsing, now properly supports inheritance
  • ZScript is now parsed from a configured (g)zdoom.pk3 file on startup and imported to the 'ZScript' text language
    • Added controls to browse for the pk3 on the base resource configuration panel
  • ZScript in open archives is parsed:
    • Used for thing type definitions in the map editor (same as DECORATE)
    • Imported to the ZScript text editor language (functions and class names only for now)

Resource Editor

  • Don't consider gfx modified if the offset is touched but not actually changed
  • Don't allow duplicate entry names in directory archives
  • Standalone entry tabs now correctly close if the entry is deleted from its parent archive (this could previously cause a crash if the entry tab was switched to after being deleted)
  • Fixed an issue where switching away from a modified entry would sometimes cause multiple save prompts to show
  • Fixed 'access is denied' error log spam while checking directory archives for changes on disk
  • Fixed potential crash on opening/playing HMI music entries
  • Fixed crash on loading certain wav entries (eg. TIRE in action2.wad)
  • Fixed multiple issues with the data grid entry panel:
    • Fixed string cells being filled with junk characters on being modified
    • Fixed cell modification for certain entry types (GENMIDI, PNAMES)
    • Fixed various crashes when trying to perform actions after all rows are removed
    • Modified cell colours are correctly updated after deleting/inserting rows

Text Editor

  • Various improvements to call tips:
    • Use the 'type' colour for types
    • Show the function context (eg. the class or namespace the function belongs to)
    • Show default parameter values where applicable
    • Show (some) ZScript function qualifiers
    • Show all function contexts in hover call tips
    • Show if the function is deprecated (and the deprecated version)
  • The case_sensitive option for text languages now actually works
  • Improvements to word match highlighting:
    • Added a delay before highlighting the word under the cursor
    • Use the selection for matching if there is one
  • Fixed the 'Jump To' dropdown refreshing more often than needed
  • Text language definitions can now define words as block start/end delimiters, lua language now supports code folding
  • Improved text modification checking
  • Added more customisation options:
    • 'Extra Line Height' setting to increase line height
    • 'Indent With Spaces' option
    • 'Show Whitespace' option
  • Fixed slowness with brace matching enabled in windows
  • Improved lexer for ZScript that won't highlight function names if they aren't followed by (

Scripting

  • Text editors in the script manager window now have full functionality (find+replace, go to line, folding etc.)
  • Added the ability to create and edit different types of editor scripts in the script manager window:
    • Custom scripts - simple scripts that can be run via the script manager
    • Archive scripts - scripts that must contain an execute function taking in an Archive, which will be run on the current archive. Can be run via the 'Archive -> Run Script' menu
    • Entry scripts - scripts that must contain an execute function taking in an array of ArchiveEntry, which will be run on the currently selected entries. Can be run via the 'Entry -> Run Script' menu or the entry context menu
    • Map scripts - scripts that must contain an execute function taking in a Map, which will be run on the current map. Can be run via the 'Tools -> Run Script' menu in the map editor
  • Added ability to view scripting docs in a tab (in menu 'View -> Documentation')

Map Editor

  • Unlock the mouse cursor when the map editor window is closed via keyboard (alt+f4)
  • Significant performance improvements for large maps with ZDoom specials
  • Added line angle display to line info overlay (thanks @Dethernal)
  • Fixed some potential crashes on entering 3d mode
  • Fixed crashes on (re)opening the map editor in certain situations

As per usual, it can be downloaded over at the downloads page.

Wait For SLADEScript(tm)? (New Beta)
Mon, Jul 31 2017

Update Aug 2 - Beta 4 is available which fixes a fairly major issue with beta 3, among other things

A new beta release for v3.1.2 is now available for download.

This beta introduces a fairly major new feature - scripting. This allows lua scripts to be written that can interact with SLADE and perform various functions. Some documentation for the types and functions that are available in scripts can be found here (the examples are a good place to start and see some things that are possible).

As the docs page says, this feature is still pretty WIP - I'd like to add a fair bit more functionality to it, and existing API details may change before 3.1.2 is released.

As for what else is new, here:

New Scripting Feature

  • Added ability to run lua scripts to perform various functions in SLADE
  • Added a new 'Script Manager' window for writing/running SLADE editor scripts. Available in the 'Tools' menu
  • Added script console command to run a lua script. Arguments are concatenated and separated by spaces, to allow entering something like: script App.logMessage('This is a log message')
  • Added ability to define 'Archive' scripts. These are added under the 'Archive -> Scripts' menu, selecting one will run the execute function in the script, passing it the current archive. Custom archive scripts can be put in the <user slade3 dir>/scripts/archive folder on disk (ability to create them in the script manager will come in the next beta)

General

  • Added an option to control the behaviour of the directory archive external changes check:
    • Always ignore changes
    • Always apply changes
    • Ask (previous behaviour)
  • The 'Run' button in the run dialog is now the default button (so pressing enter will activate it)
  • Updated the start page with a new look and layout, including some other new features:
    • Shows the latest news post from the website if an internet connection is available
    • Optional dark theme (Preferences -> Interface), which also applies to the online documentation
    • The 'Update Available' alert will show on the start page if it is open
    • Added 'View -> Start Page' menu item to the main window to show (or reopen) the start page
  • Fixed a potential crash if timidity fails to launch

Resource Editor

  • Fixed a potential crash when sorting the entry list

Text Editor

  • Added keybinds to comment and uncomment code (thanks @crisisinaptica)
    • Ctrl+/ will comment out the current or selected lines with line comments (eg. //), or uncomment them if they are already commented out
    • Ctrl+Shift+/ works as above, but uses block comments (eg. /* */)
  • . is no longer counted as a 'word' character, so eg. double clicking to select a word will stop at any . rather than including it

Map Editor

  • Fixed issues with certain mouse actions not working when the map view lost focus
  • Fixed a possible crash when deleting map objects/structures
  • Fixed a possible crash when closing the map editor
  • Fixed issues with 3d mode on MacOS with high-DPI displays (thanks @alexey-lysiuk)
  • Fixed line flags in UDMF not using the correct names
SLADE v3.1.2 Beta 2 Released
Tue, Jun 06 2017

Not a whole lot of changes since beta 1, though some fairly major bugs have been fixed. See the changes below:

General

  • Translations now work on truecolour images
  • Added support for SiN archives
  • Fixed an issue in the configuration files preventing some text entry formats being correctly detected
  • Fixed crashing on exit
  • Updated ZDoom UDMF configuration with new properties
  • Various minor tweaks, fixes and improvements

Resource Editor

  • Fixed the sector and sidedef counts not resetting in the map preview
  • Fixed duplicate 'save changes' prompts when clicking away from a modified entry in linux

Texture Editor

  • Fixed a crash when removing a patch from the patch table

Map Editor

  • The shape draw options should now show up again during shape drawing
  • Fixed a potential crash upon entering 3d mode
  • Fixed 'Quick Thing Angle' feature spamming undo steps
First v.3.1.2 Beta Released
Wed, May 24 2017

Long long overdue, finally the first beta version of SLADE 3.1.2 is released. I had wanted to get a bit more done before releasing this (namely proper ZScript support), however that was proving much more complicated than I anticipated, so it's on hold for now.

3.1.2 has seen lots of changes over 3.1.1, which you can see a (somewhat condensed) list below:

General

  • New and updated Eternity engine configurations (thanks @Altazimuth)
  • Various speed improvements (thanks @Monsterovich and @anotak)
  • Added support for vanilla-compatible tall gfx patches
  • Lots of refactoring and changes under the hood to fix some long standing bugs and improve maintainability - will likely introduce new issues too but that's what beta releases are for
  • Various minor UI tweaks and improvements
  • (Very) Many other minor improvements and fixes

Resource Editor

  • Added basic pixel-editing tools in the gfx editor
    • Multpile painting modes: draw, erase, translate
    • Various brush shape presets, including dithered patterns
  • Added new Palette Gradient tool (thanks @jmickle66666666)
  • Added new Crop Gfx tool
  • Palette colours can now be used in colourise/tint/translate tools (right click colour boxes for palette colour selection)
  • Improvements to the gfx translation tool:
    • Colourise and tint effects can now be used in colour remap
    • Added a checkbox so that the translation string only reports palette ranges, regardless of which translation types are used
  • Added metadata display for most audio types

Texture Editor

  • Added filter text box to texture list

Text Editor

  • Added code folding feature, can fold code blocks (eg. between { and }), preprocessor blocks (eg. #region/#endregion) and comment blocks.
  • Added option to override the text editor font globally (rather than using what is defined in the style)
  • Added a simple preview to the text editor styles preferences page
  • Moved everything from the bottom TextEntryPanel toolbar to a new 'Text' entry menu (word wrap, jump to, find+replace)
  • Indent guides and right margin line colours are now configurable
  • Revamped the Find+Replace feature:
    • Is now a panel that pops up below the text editor, so it doesn't get in the way of the text like the old dialog did
    • 'Find Previous' button
    • Extra matching options - match start of word, regular expression (isn't 'real' regex, but scintilla's version of it), and backslash expressions
    • Can press enter while the find text is highlighted to find next (also shift+enter to find previous)
    • When activated, the find text will be populated by either the current selection or the word under the cursor, and the 'find' text box will be focused and selected
  • Added 'Jump to Line #' feature
  • Vastly improved calltips:
    • No longer look like something straight out of windows 95
    • (Optionally) colourise function name and parameter types
    • (Optionally) dim function parameters that are optional
    • Limit width of calltips and split to multiple lines so they are less lilely to extend off the screen (they still can, though)
    • Pressing escape while a calltip is open will close it
    • Pressing up/down while a calltip with multiple function parameter sets is open will cycle through the sets (can also click on the up/down arrows as before)
    • Corrected some issues where calltips would hang around when they shouldn't or not show up when they should
    • Added ability to define function descriptions, which will show up in calltips
    • Changed function config behaviour to override a previously defined function if another with the same name is encountered, rather than adding the new args as a set (so no more 2x identical arg sets for ACS_Execute, etc.)
  • Comment, preprocessor and block start/end tokens are now configurable via TextLanguage
  • Allow more word lists to be defined for syntax highlighting (added 'Type' and 'Property' word lists configurable via TextLanguage, in addition to the existing keyword/constant/function lists)
  • Changed the 'Jump To' option/dialog to an auto-updating dropdown that is always showing on the top toolbar
  • Added (optional) highlighting of all occurrences of the word under the cursor
  • Added (optional) highlight for current line
  • Added new styles for 'Comment (Doc)', 'Type', 'Property', 'Word Match' and 'Current Line'
  • Created new SLADE default colour sets (light and dark) and an additional 'Material' colour set
  • Fixed refresh issues with multi-line brace matching in windows
  • Fixed text editor stealing focus from other controls (most noticeable in text controls - the cursor would show up in the wrong spot)

Map Editor

  • String args are now shown in the info overlay
  • Added Z height changes for things. Ctrl+mousewheel will change thing height, floor/ceiling heights, and wall vertical offsets.
  • Added floodfill. This pastes the texture to every adjacent texture. Default key is shift+middle click because that's the key in DB2/GZDB(BF), and because it's consistent with shift+left click for flood-select.
    • Because of that, default key for simple paste texture has been changed to ctrl+middle click.
  • Added new map checks:
    • Check for missing tagged objects
    • Check for unknown line and thing specials
    • Check for unknown sector types
    • Check for obsolete things
  • Added new 'Special Presets' feature for hexen and UDMF format maps - select from a list of pre-defined specials (currently generated from ZDoom's XLAT) for quickly setting args and activation trigger flags (custom presets support coming in a later beta)

Note that this version also has many under-the-hood changes which could potentially have caused some bugs to creep in, so be warned that some things may be broken that were fine before. Please report any issues on the issue tracker (or alternatively SLADE Discord or the ZDoom forums thread if you prefer).

I hope (yeah I know I keep saying this stuff :P) to have more rapid releases from now on, more than a year between major versions is too long. Also expect more rapid/minor beta releases as bugs are fixed etc before the final 3.1.2 release.