- If generating a RectangularIsometric map via lobby, make the height
twice the width so that the map is approximately world-square.
- Use equal top and bottom cordons for RectangularIsometric maps.
- Change some map bounds checking.
- Check that actors are at least partially inside map.Contains before
placing. (To avoid frozen actor crashes.)
- Fix editor generated map blitting for RectangularIsometric.
This expands upon the limited FromTemplates MultiBrush collection
shorthand:
- Adds a corresponding FromActors shorthand.
- Allows FromTemplates and FromActors to mix in additional properties,
such as weights and backing tiles.
- Updates the MultiBrush collections used across the official mods to
make use of these shorthands.
Note that this reorders some MultiBrush definitions for
conciseness. This partially (cosmetically) re-randomizes map generator
output.
Test coverage for these classes will help prevent regressions. Major breaking changes are avoided since config files may already rely on various aspects of the behaviour, but some small breaking changes are made:
- Use `value.Split(Comma, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)` consistently for all comma-separated parsing.
- Rename LoadField to LoadFieldOrProperty for clarity - since this is the one method that cares about properties in a class otherwise focused only on fields.
- Use TryParse instead of Parse and ensure to call InvalidValueAction from all parsers so we throw the intended exception when badly formatted data is encountered.
- BooleanExpression/IntegerExpression exception message updated to align with the generic one.
- Remove FromYamlKey, and update the only user SkirmishLogic to perform this logic manually instead.
- Remove unused includePrivateByDefault parameter on GetTypeLoadInfo.
- Remove unused AllowEmptyEntriesAttribute.
The on-map path editor for the Path Tiler had incorrect offsets and
direction markers when used with a RectangularIsometric grid. This
fixes the grid alignment.
Note that map height information is currently ignored by the tool.
The TilingPath algorithm previously rejected placing segments that do
not make immediate progress, unless they faced towards positive
progress.
However, there are cases in some mods where zero-progress segments
that end facing towards neutral progress are needed to arrive at a
tiling solution. This change allows these neutral progressions, so
long as they aren't for single-point segments.
Under some inputs, MatrixUtils.PointsChirality could enter into an
infinite loop consuming memory until an OOM occurs. This was due to
the FloodFill-based operation endlessly propagate zero values.
This adds a defensive check to prevent propagating zero values.
This change makes WavReader correctly read the chunk size of a
chunk as an unsigned int, and cleans up the inconsistent logic around
checking chunk sizes. It also attempts to handle buggy/chopped off
Wav files where the reported data chunk size is larger than the actual file.
Also adds Robert Nordan to AUTHORS file.