NewsAboutDownloadsChange LogWikiGitHubContact

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.

SLADE v3.1.1.5 Released, WinXP Support Returns (For Now)
Wed, Jan 18 2017

Another minor bugfix release for 3.1.1 is here, as usual you can see the changes over at the change log, and can download it at the downloads page.

On Windows XP Support

Since v3.1.1.3, SLADE has not run on Windows XP, which was due to the crash report sending feature introduced in that version. With v3.1.1.5 I have provided a Windows XP build that disables this feature, so it should run again.

Going forward, if another issue preventing SLADE from running on Windows XP crops up, I will not be implementing another workaround to correct it and at that point SLADE will no longer officially support Windows XP.

It is becoming increasingly difficult to keep XP compatibility while moving forward with modern development tools and libraries, not to mention the OS is no longer supported by Microsoft itself.

What's Next

Now that a new stable release is out, I plan to get the first beta for 3.1.2 out fairly soon, which should include some kind of ZScript support.

As it's been so long since 3.1.1 and the planned features for 3.1.2 aren't even half done yet, I think some of the map editing features planned for it will need to be pushed back, unfortunately. There are already other good map editors around but not much else for resource editing, so I will likely be focusing on that side of SLADE for the next few versions at least.

Of course, that doesn't mean the map editor will be neglected - often new features are implemented depending on what I feel like doing at the time rather than what I think is most important, SLADE is a hobby project after all :P