Releases: SpaceManiac/SpacemanDMM
Releases · SpaceManiac/SpacemanDMM
SpacemanDMM suite v1.2
Highlights of this release are BYOND 513 builtins, a debugger, a faster map rendering backend, and many dreamchecker additions by spookydonut.
DM Language
DM language updates apply to all components.
- Fix
#include
resolution priority when there are multiple candidates (#111). - Fix duplicate proc entries for New, Del, and Topic on some types.
- Add BYOND 513 builtins (by spookydonut, #116).
- Add /sound/var/len (by yoyobatty, #140).
- Add constant evaluation for trig functions (#134).
- Add extra help for indentation-related
got '{'
errors (#117).
Language Server v1.2.0
- Add helper routines for "build & run" in the Visual Studio Code extension.
- Add debug adapter support for codebases configured with extools, in collaboration with Asd.
- Add document color support, showing previews and pickers for DM color codes.
- Include parameter default values in "find all references" (by Antur, #137).
- Decreased startup time by loading the object tree panel asynchronously.
- Add configuration option to run dreamchecker automatically.
dmdoc v1.1.1
- No specific changes.
DreamChecker v1.2.0
- Add proc setting to warn if it is overridden by subtypes (by spookydonut, #114).
- Add "final" vars, which warn if they are overridden (by spookydonut, #115).
- Warn on
++
or--
on variables with a declared type (by spookydonut, #119). - Warn on
!a in b
,a && b in c
, etc. (by spookydonut, #121). - Add ability to configure or disable some diagnostics (by spookydonut, #120).
DMM-Tools v1.1.0
- Rewrite most of the internals of the map renderer, improving performance and flexibility.
- Add render passes for fancy layers and icon smoothing, allowing them to be disabled.
- Add fancy rendering for smart cables (#107).
SpacemanDMM suite v1.1
Bugfix and maintenance release.
DM Language
DM language updates apply to all components.
- Add known values to built-in
/atom
variables (by SpaiR, #89). - Properly handle
#include
ing a secondary.dme
file. - Attempt to parse strings as UTF-8 before falling back to Latin-1 (preparation for BYOND 513).
- Entirely skip constant evaluation on a fatal parser error, to make fatal parser errors easier to spot (#110).
- Fix
##
token-pasting operator not handling integer right-hand arguments (#109). - Fix
/list
,/savefile
,/client
, and/world
inheriting from/datum
(#98).
Language Server v1.1.0
- Include var and proc documentation in completion results.
- Remove some unnecessary debug logging.
- Fix a crash when adding
/*
comments in the global scope (#105). - Fix proc header hover information repeating the proc name twice.
- Mark language server diagnostics as originating from "dm-langserver", to differentiate them from DM errors.
dmdoc v1.1.0
- Add a basic dark theme (by PJB, #102).
- Add command-line options:
-e <filename>
to specify environment to parse.--output <dirname>
to specify output directory (default isdmdoc
).--modules <dirname>
to specify directory to scan for Markdown files (default iscode
).
- Fix
/*!
comments including the!
in the output (#90).
DreamChecker v1.1.0
- Add
-e <filename>
command-line option to specify environment to parse. - Handle
set SpacemanDMM_should_call_parent = TRUE
andFALSE
properly, rather than1
and0
only (#106).
DMM-Tools v1.0.1
- No specific changes.
SpacemanDMM suite v1.0
This is the 1.0 release of the SpacemanDMM tooling suite for DreamMaker codebases, consisting of:
- dreamchecker 1.0.0, a static analysis tool suitable for CI use.
- dmdoc 1.0.0, an HTML documentation generator.
- dmm-tools 1.0.0, a map renderer.
- dm-langserver 1.0.0, a language smartness provider.
See the README for more information.
Attached binaries are for x86-64 Windows (.exe
) and x86-64 Linux (no extension). Linux binaries are statically-linked using musl.
dmm-tools v0.1.1
Additions
- When a
.dme
file is not specified, an attempt is made to autodetect one. - The
__FILE__
and__LINE__
macros are now expanded. #if
and#elif
directives are now actually evaluated.- The
defined()
form is now recognized in preprocessor conditionals. - The
parent_type
var is now handled properly. - The
^
and**
operators are now evaluated in constants. - Built-in vars for
/image
are now recognized. - Buggy uses of macros in embedded expressions are now linted against.
Tweaks
- The lodepng library is now used to read
.dmi
files in one pass, improving speed. - Map read errors now include semi-accurate line numbers rather than no line numbers.
- If parsing aborts, only the first "undefined var" error is shown.
Fixes
- Atoms which have been pixel-shifted entirely offscreen no longer crash.
- Numbers of the from
2e6-1
are no longer misinterpreted. - The default values of
layer
for each atom type are now recognized. - Invalid values for
layer
no longer crash. - Indented
#include
directives no longer indent the first line of the file they include. - Chaining multiple
#else
or#elif
in a row no longer activates more than one.
dmm-tools v0.1.0
First binary release of the dmm-tools
CLI, providing BYOND map rendering and analysis tools powered by SpacemanDMM.
Subcommands:
diff-maps <left> <right>
: List the differing coordinates between two maps.lint-maps [-n] [--reformat] <maps...>
: Lint and automatically fix the specified maps.list-passes [-j]
: Show information about the render-pass list.map-info [-j] <files...>
: Show metadata information about the map.minimap
: Build minimaps of the specified maps.[--disable pass-1,pass-2,...] [--enable pass-1,pass-2,...]
: Disable or enable render-passes.[--max x,y[,z]] [--min x,y[,z]]
: Set the bounding cuboid to act upon.[--optipng] [--pngcrush]
: Run output through a PNG optimizer automatically.[-o output]
: Set the output directory.<files...>
Default render passes:
hide-space
: Do not render space tiles, instead leaving transparency.hide-areas
: Do not render area icons.hide-invisible
: Do not render invisible or ephemeral objects such as mapping helpers.random
: Replace random spawners with one of their possibilities.pretty
: Add the minor cosmetic overlays for various objects.spawners
: Replace object spawners with their spawned objects.fake-glass
: Add underlays to fake glass turfs.transit-tube
: Add overlays to connect transit tubes together.gravity-gen
: Expand the gravity generator to the full structure.
Additional render passes:
only-powernet
: Render only power cables.only-pipenet
: Render only atmospherics pipes.