Releases: sirjuddington/SLADE
3.1.4
General
- Fixed a potential crash on closing an archive
- Fixed some issues related to the 'Use percent encoding if needed outside of Wad Archives' option
Resource Editor
- Fixed toolbar buttons on the DataEntryPanel (map entries, SWITCHES/ANIMATED, etc.) not working correctly if more than one was open at once
- DataEntryPanel should now be able to open in its own tab like other entry panels
- Fixed SWANTBLS -> SWITCHES/ANIMATED conversion
- When closing an entry that is open in its own tab, the autosave option (save, don't save, ask) is now used, rather than just discarding any changes
Map Editor
- Optimised some map editor functionality which should improve speed and stability when working with and saving large UDMF maps
- Full path textures are now truncated such that the texture name is always visible (thanks @Talon1024)
- Fixed a potential crash after resources are changed while the map editor is open
3.1.3
Resource Editor
- Fixed undo/redo for entries open in their own tab
- Fixed gfx pixel-painting brush overlay being misaligned with high DPI
- Fixed long pause when closing an archive with a large number of entries
Texture Editor
- Fixed copy+paste of textures from one TEXTUREx entry to another (thanks @Talon1024)
Text Editor
- Added support for new Zandronum ACS functions (thanks @crisisinaptica)
Map Editor
- Added an option to highlight the origin (0,0) on the grid
- Fixed 'Create New Map' functionality for Doom64 format maps
- Fixed map checks panel not applying the correct layout if opened as a floating window
3.1.2
Summary
As there are many additions, improvements and fixes since 3.1.1.5, here's a summary of the more noticeable changes (a detailed change list can be found after):
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.
Detailed Notes
General
- Added support for vanilla-compatible tall gfx patches
- Added support for SiN archives
- Added GOG BFG Edition classic IWAD path detection
- 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
- Improved console panel:
- Now uses the same colours as the text editor
- Log messages are coloured by type (eg. warnings - yellow)
- The 'Run' button in the run dialog is now the default button (so pressing enter will activate it)
- Added 'View -> Toolbars' menu to main windows
- Added an option to control the behaviour of the directory archive external changes check:
- Always ignore changes
- Always apply changes
- Ask (previous behaviour)
- Translations now work on truecolour images
- Added new command line options:
-nosplash
disables the splash window-debug
enables debugging info and log messages
- Various game configuration updates:
- New and updated Eternity engine configurations (thanks @Altazimuth)
- Updated ZDoom UDMF configuration with new properties
- Various speed improvements (thanks @Monsterovich and @anotak)
- Fixed a potential crash if timidity fails to launch
- Fixed the icon displaying corrupted in linux (thanks @crisisinaptica)
- Lots of refactoring and changes under the hood to fix some long standing bugs and improve maintainability
- Various minor UI tweaks and improvements
- (Very) Many other minor improvements and fixes
Definition Parsing
- Added basic
ZMAPINFO
parsing- DoomEdNums parsed from
ZMAPINFO
are now linked toDECORATE
/ZScript classes
- DoomEdNums parsed from
- 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)
- Used for thing type definitions in the map editor (same as
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 colour 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
- Don't proceed with deleting the entry if esc or close is pressed on the 'delete entry' confirmation dialog
- 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 duplicate 'save changes' prompts when clicking away from a modified entry in linux
- Fixed a potential crash when sorting the entry list
- 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
Texture Editor
- Added filter text box to texture list
- Fixed a crash when removing a patch from the patch table
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
- 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
- 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.)
- 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 if the function is deprecated (and the deprecated version)
- TextLanguage definition improvements and new features:
- Comment, preprocessor and block start/end tokens are now configurable
- Allow more word lists to be defined for syntax highlighting (added 'Type' and 'Property' word lists, in addition to...
3.1.2 beta 5
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 toDECORATE
/ZScript classes
- DoomEdNums parsed from
- 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)
- Used for thing type definitions in the map editor (same as
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 anArchive
, 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 ofArchiveEntry
, 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 aMap
, 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
3.1.2 beta 4
Resource Editor
- Don't proceed with deleting the entry if esc or close is pressed on the 'delete entry' confirmation dialog
Scripting
- Fixed crash on opening the script manager window for the first time
- Fixed MapEditor enums not working correctly
3.1.2 beta 3
New Scripting Feature
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: 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 existing API details may change before 3.1.2 is released.
- 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 outCtrl
+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
3.1.2 beta 2
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
3.1.2 beta 1
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 withshift
+left click
for flood-select.- Because of that, default key for simple paste texture has been changed to
ctrl
+middle click
.
- Because of that, default key for simple paste texture has been changed to
- 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)
3.1.1.5
General
- Added an option to always show acc compiler output, even on success
- Various updates to game and language configurations (thanks @Blue-Shadow)
Resource Editor
- Added a button to clear the entry list filter
- Fixed some issues when importing a palette from a png
- Fixed some potential crashes when loading corrupted doom gfx entries
- Fixed some issues with converting to doom flat format
Texture Editor
- Patch and texture operations should now work on the correct item when the texture or patch list is sorted
- Fixed png alpha channel being ignored for CopyAlpha/Overlay patches
Map Editor
- Added the option not to build nodes when saving a map (select "Don't build nodes" as the node builder)
- Fixed a potential crash when building nodes
3.1.1.4
General
- Fixed a crash when opening the texture/thing browser window on OSX (and sometimes on Windows)
- Various updates to game and language configurations (thanks @Blue-Shadow)
Resource Editor
- Fixed a crash on 'Open Map in Doom Builder 2' with no base resource selected
- Fixed a crash when performing an entry sort with subdirectories selected
Texture Editor
- Fixed a crash when undoing a texture delete
Map Editor
- Added (view) support for wall/flat textures with full paths (thanks @Talon1024)
- Added an option to enable/disable automatic x-offset calculation when splitting map lines (enabled by default)
- Fixed an issue where the map editor would lose focus after building nodes
- Fixed a crash when attempting to set a nonexistant side or sector
- Fixed a crash when performing 'toggle upper/lower unpegged' in 3d mode with nothing selected or highlighted
- Fixed a possible crash when compiling ACS
- Fixed a possible crash when entering 3d mode with things selected