- N/A
0.10.1 - 2020-01-05
- Usages of
require
at the start of a file were being ignored.
0.10.0 - 2019-12-28
- Add library support for
*.slk
files. - Add dependency on LPeg
>= 1.0.2
.
- Require lua-stormlib
>= 0.2.0
.
- Improve INI file handling.
- Fix older Lua versions being unable to find modules utilizing features unsupported in those versions (e.g. Lua 5.3 bitwise operators).
- Remove luac dependency.
0.9.1 - 2019-12-24
- Fix W3X detection of directory archives.
0.9.0 - 2019-12-23
- Introduce ability to set the
package.cpath
for user build files. - Added setting to disable user build files.
- Added two additional Luacheck standards: one that covers only the modified WC3 Lua environment; and another that has all WC3 specific globals.
- Added support for the following files:
war3map.doo
war3map.w3c
war3map.w3e
war3map.w3r
war3map.w3s
war3map.wpm
war3mapUnits.doo
- Improve trigger string handling of nested brackets.
- Expose
package
table to required modules in script debug mode. - Errors emitted by
luac
are no longer displayed. - The
map.output
setting is now used when adding the script to the map. - Extract now works for W3X.
- Configuration of package paths has changed.
- Files exposed to the build environment are now loaded on demand.
- A
--quiet
flag is no longer passed to Luacheck, thus allowing the user to configure this option in their.luacheckrc
. - Default script debug mode changed to
name
. - User build files are now processed before checking Lua scripts.
- The option to skip running Luacheck has been extended.
- W3I support has been enchanced:
- Unknown flags have been identified and added.
- Some field names have changed.
- The
script
settings table is now optional.
0.8.1 - 2019-11-21
- Object handling (that broke in 0.8.0) is restored.
0.8.0 - 2019-11-20
- Support for W3I changes in 1.32.
- Trigger strings have been exposed to the build environment.
- Option to skip running Luacheck on the generated
war3map.lua
. - Support for directory based W3X archives. For inputs, this support will be automatically handled. For outputs, an option flag must be set.
- Various performance improvements.
- For the W3I table,
type
has been renamed toformat
. - Update WC3 ids for 1.32.0.
- IMP handling has been enhanced. The byte present before file paths is now
exposed, and defaults to the value used in 1.32.0 (i.e.
0x1D
). - W3X import handling has been enhanced, and is aware of WE ignored files.
- The build task now uses the W3I format to determine the proper IMP byte to use for imports.
- The configuration file format has changed extensively. See the README for details.
- Properly unpack unit tables in W3I file.
- Whitespace is properly handled in trigger strings.
- The first trigger string will not be skipped.
- Inlining of strings has been removed.
- Support for W3O files has been removed.
0.7.2 - 2019-08-09
- Update WC3 ids for 1.31.0 and 1.31.1.
- Allow processing of object modifications that have ids that are not four characters in length.
0.7.1 - 2019-05-03
- Properly handle
package.path
withinput.source.directory.
0.7.0 - 2019-04-30
- Lua support. This introduces new dependencies:
luac
(part of Lua) and Luacheck. - A Luacheck Warcraft III standard has been introduced.
- The
check
command now leverages Luacheck. By default, a luacheckrc provided by Map is used. A user can provide their own as well. - The
build
command now functions conditionally, according to settings in the configuration file. Luacheck is used here as well. - The configuration file has changed extensively. See the README for details. Of particular note is that some settings are now optional by default.
- Jass support has been removed completely.
- Support for maps built against patch versions earlier than 1.31 has been removed. This is a result of only supporting Lua.
0.6.5 - 2019-04-28
- Ensure that a WTS file is always written. This addresses an incompatibility introduced with built maps and 1.31 PTR.
0.6.4 - 2019-03-27
- Fix Wurst complaining about empty lines present in
wurst.dependencies
. - Fix Wurst being unable to find packages due to a missing
wurst.dependencies
when using thebuild
andoptimize
commands.
0.6.3 - 2019-03-27
- Automatically handle the following Wurst related paths:
wurst
wurst.dependencies
0.6.2 - 2019-03-02
- Merge Wurst generated objects, if they exist.
0.6.1 - 2019-02-13
- Sort Jass files according to dependencies within globals blocks.
0.6.0 - 2019-02-12
- Directories listed in
build
now have their entries sorted alphanumerically, rather than the LFS default. - Constant literal globals are now considered from multiple globals blocks within a single file.
- An
output.directories
table has been added that allows specifying the location to place built maps for thebuild
andoptimize
commands.
- Maps lacking a trigger strings file will no longer raise an error.
- Properly identify constant literal strings.
- The
output.directory
setting has been removed.
0.5.0 - 2018-09-27
- The
source
setting has been added. It includes a way to specify the project'sdirectory
, as well as a means toinclude
Jass files that exist outside the project.
- The
scripts
setting has been removed.
0.4.0 - 2018-07-30
- Configuration settings that take a list of files now support directories as well. The entire directory tree will be walked.
- Wurst is now used to check and build the
war3map.j
.
- PJass is no longer supported.
- The
patch
setting has been removed.
Path.extension ()
properly finds the last dot in a path.
0.3.1 - 2018-07-23
- Ensure that only sections are written in
*.ini
files. - Objects definitions can now be passed via reference.
0.3.0 - 2018-07-22
- Environment functionality has been enhanced and has changed drastically.
- Performance when building a map has improved.
- The
build
command now encompases the functionality of the removed commands (e.g. processing constants and objects and importing files). - The
build
command will now inline trigger strings in Jass scripts, object definitions, and constants. - A PJass check is now performed on the optimized script.
- Configuration settings have changed.
- The following commands have been removed:
prepare
objects
constants
imports
- MPQEditor is no longer supported or included.
- The Grim Extension Pack is no longer supported or included.
- Functionality regarding the
debug
keyword is no longer supported.
0.2.4 - 2018-04-11
- Luacheck is now used to perform linting and code analysis.
- Wurst supported has been added for optimizing scripts.
- Support for Vexorian's Optimizer has been removed.
0.2.3 - 2017-06-09
- When querying a command's version, the individual command is no longer
mentioned (e.g.
map 0.2.3
).
- An empty
settings.prefix
is now handled properly during environment load. - Windows-centric issues:
- Can now handle the use of either forward or back slashes when
specifying the command (e.g.
lua map/imports
). - Argument quoting when passing internally to
cmd.exe
has been improved. - Temporarily created paths now make use of the
TEMP
environment variable and should be usable.
- Can now handle the use of either forward or back slashes when
specifying the command (e.g.
- Address situation where Lua is built without
unpack
compatibility.
0.2.2 - 2017-03-30
- Debugging functionality has been restored.
0.2.1 - 2017-02-22
- Commands that failed before initialization of a map environment would produce a Lua stack traceback.
0.2.0 - 2017-02-21
- A '--version' option can be passed to commands to get the current map tools version number.
- Maps with the
.w3m
extension (RoC) are now supported. - Support for the map header and 'war3map.w3i' file has been added to the 'prepare' command.
- A standardized map environment now exists for all commands. This map
environment can be customized by the user using the
environment
setting.
- The 'check' command now displays parse results to 'stdout' regardless of the outcome. Note that other errors continue to write to 'stderr'.
- The 'prepare' command has been reworked, and will no longer be destructive by default. The '--force' flag can be used to overwrite an existing file.
- The 'imports' command now works upon a list of Lua files (like the 'objects' and 'constants' commands), rather than a single directory.
- The configuration file format has changed extensively. See the README for details.
- Error display messages for missing or improperly typed configuration settings will display the full setting path.
- Consistency of commands writing to 'stderr' on errors has improved.
0.1.2 - 2017-02-07
- Ensure that commands write to 'stderr' on configuration file errors.
- Commands will properly display parse errors when encountered.
- The exit code was not being properly handled for executed shell commands on Lua 5.1 and LuaJIT.
0.1.1 - 2017-02-07
- Commands now validate the specified configuration table, and will no longer proceed unless validation is successful.
0.1.0 - 2017-02-06
- Initial release.