This version adds a file conversion mode to MESS, for converting between .map, .rmf and .jmf files. This includes support for Trenchbroom groups and layers, VIS group filtering and cordoning, so it can be used for migrating between level editors but also for automated .map exporting.
There are also two new template entities: mtl_trigger_switch
, for triggering two different targets based on its on/off state, and q1_brush_text
, for generating brush-based text using Makkon's techdc font textures. Besides that, there is a long list of smaller improvements and bugfixes.
To get started, take a look at the setup guide for JACK or TrenchBroom, and check out the tutorials.
New features
- Added a file conversion mode that can convert between .map, .rmf and .jmf files (including TrenchBroom .map files, with groups and layers).
- The file conversion mode also supports cordon areas and VIS group filtering, so it can be used as a .map exporter.
- Added a new special property for replacing textures:
_mess_replace_texture
. - A new template entity:
mtl_trigger_switch
, which can trigger different targets when it's turned on or off. - Another new template entity:
q1_brush_text
, which generates text using Makkon's techdc font textures.
Improvements
- Template entities now have custom editor sprites (only works in J.A.C.K.).
- Entity definitions in .ted files can now contain MScript expressions (in strings), which enables custom editor sprites and models.
- Added delay properties to
cs_trigger_roundstart
. - Target patterns now also support delays for single targets.
- Added support for v122 .jmf files (for the J.A.C.K. update that added background images).
- Macro entities can now insert sub-templates from other maps.
macro_insert
entities can now create instances with an absolute position and scale.- The special
_mess_merge_entity_master
property now only marks an entity as master if its value is true (not empty or 0). - The special
_mess_allow_rewrite_rules
and_mess_deny_rewrite_rules
properties now use commas to separate multiple paths. - MESS can now also read .rmx and .jmx files (backup versions of .rmf and .jmf).
- Added a -norewrite command-line flag that disables rewrite rules (for testing).
- In .ted files,
@MESS;
directives without a matching@MESS
opening directive are now ignored.
MScript changes
- Added bitwise operators (>>, <<, &, ^, |, ~).
- Added support for hexadecimal number literals.
- New
first
andlast
functions for taking the first or last item from an array. - New
incglobal
convenience function, for incrementing a global counter. hasflag
andsetflag
functions now available in rewrite rules.- New
trunc
function for truncating numbers. - New
ted_dirs
andted_path
functions, for accessing files from other template entity directories. - The
trace
function is now also available in .ted files. - Object literals can now use strings as keys, and objects can now be indexed.
- New
upper
andlower
functions for strings.
Bugfixes
- Fixed that attached templates weren't positioned correctly (related to the special properties
_mess_attached_template_map
and_mess_attached_template_name
). - Fixed that using
cs_trigger_roundstart
would cause MESS to fail. - Fixed that an
mtl_trigger_random
without targets would cause MESS to fail. - Fixed that
mtl_trigger_periodic
didn't support target patterns. - Fixed that the behavior of the -config parameter didn't match the documentation (when leaving out the file extension).
- Fixed that
_mess_merge_entity_master
properties weren't removed from entities that didn't also have a_mess_merge_entity_id
property. - Fixed that J.A.C.K.-style help texts in .ted files could not be parsed.
- Fixed that the output was always written in .map format, even if the output path extension was .rmf or .jmf.
- Fixed that if no output path was given, and the input file was an .rmf or .jmf file, it would be overwritten (now, a .map file with the same name is generated).
- Fixed that a
macro_brush
could select the wrong texture if the first brush of a template brush entity had the ORIGIN texture. - Fixed that duplicate targets in a multi-target pattern were ignored.
- Fixed that some MScript expressions that contained strings weren't parsed correctly.
- Fixed that a
macro_template
withoutanchor
andselection_weight
properties didn't use the documented default values. - Fixed that
mtl_env_model
didn't take dynamically set flags into account. - Fixed that the 'kill', 'show' and 'hide' target patterns didn't check the pattern keyword was followed by a space character.