The edit protocol now allows the following commands in multiplayer:
arch, slope, edittag, edittagclip, selectionrotate, selectionflip
also:
mapenlarge has been limited to size 10 in multiplayer
entitiy undelete in multiplayer has been fixed
SV_EDITS, SV_EDITD and SV_EDITE are to be cleaned up with a protocol bump
DOCREF arch slope edittag edittagclip selectionrotate selectionflip
undolevel <level>
Returns the number of undo steps that can be undone. If argument "level"
is given, as many steps are undone, until "level" steps remain.
Example, during editing:
echo (undolevel)
prints number of previous editing steps, for example "55"
... do some editing ...
undolevel 55
undoes all changes to restore the previous state (if that state
is still in memory... keep in mind, undo-space is limited, see
"undomegs" parameter)
Unless memory limits delete states, undolevel commands can be undone
with "redo".
DOCREF undolevel
The mapper has now the choice to disable several graphics features on
the client (for his map only, of course). The overrides are stored in
the map header.
mapoverride_nowaterreflect
If "1", water reflection is disabled. Useful, when odd water colours
are used to emulate other liquids that are not supposed to be that
reflective.
mapoverride_limitwaveheight
If "1", waveheight is capped at 0.1 max. Useful for small water
areas (like puddles), where higher waves would look weird.
mapoverride_nostencilshadows
If "1", stencil shadows are disabled. On clients, where stencil shadows
are otherwise enabled, blob shadows are used instead. If shadows are
disabled anyway, they stay disabled. Useful for dim maps, where hard
shadows make no sense.
The player is free to ignore any of those overrides:
ignoreoverride_nowaterreflect
If "1", mapoverride_nowaterreflect is ignored and regular client
settings are used.
ignoreoverride_limitwaveheight
If "1", mapoverride_limitwaveheight is ignored, and "waveheight" is
used unchanged.
ignoreoverride_nostencilshadows
If "1", mapoverride_nostencilshadows is ignored.
DOCREF mapoverride_nowaterreflect ignoreoverride_nowaterreflect
DOCREF mapoverride_limitwaveheight ignoreoverride_limitwaveheight
DOCREF mapoverride_nostencilshadows ignoreoverride_nostencilshadows
also: more stuff in the map settings menu
getmaptimestamp fmt
Returns the "last written" timestamp of the current map in the requested
format. If fmt starts with "U", the time is given as UTC, otherwise
as local time. If fmt is empty, or not given or just the "U", the format
defaults to "YYYYMMDD_hh.mm.ss". Use "%c" to get something nicer.
DOCREF getmaptimestamp
getwatercolour
Returns a string with the four components of the water colour, red,
green, blue and alpha.
Example: echo (getwatercolor) --> 20 25 20 178
setwatercolour what value
Allows setting the components of the water colour independently. "what"
is either a keyword "red|green|blue|alpha" or the index number 0..3 and
determines, which component is set to "value".
Example:
watercolour 0 0 0
sets all colour components to zero
setwatercolour red 200
sets the red component to 200
DOCREF getwatercolour setwatercolour
same as looplist, but it automatically counts the loops in "i", starting
with 0.
Example:
a = [u v w] ; b = [x y z]
looplisti $a m [echo $m (at $b $i) $i]
u x 0
v y 1
w z 2
DOCREF looplisti
...including the option to sort the most visible textures to the default
slots for special uses (wall, floor, ceiling).
Also: add the information about default texture slots to the menus. Some
mappers may not know, yet.
Also: add a "Pick texture name" option to the edit texture slot menu.
The command sorttextureslots now allows to manually sort the first few
slots by adding the slot number to move to the slots #1, #2, #3...
DOCREF sorttextureslots
The command textureslotusagelist now returns two values per slot: usage
and visibility. If given the argument "onlymostvisible", instead of the
regular list, a list of only the most used wall, floor, ceiling and upper
wall textures (alternating with the keywords) is returned.
Example:
echo (textureslotusagelist onlymostvisible)
--> wall 211 floor 45 ceiling 0 "upper wall" 79
DOCREF textureslotusagelist
When a script file is executed, any additional arguments are passed
as execarg1..execargX to the script. The number of arguments is in
execnumargs and if the script in the file sets the value of execresult,
the exec command returns that value.
Example:
If there is a file testscript.cfg with this content:
execresult = (* $execarg1 $execarg2)
then the command
echo (exec testscript.cfg 6 7)
will output "42".
DOCREF exec
* removed convertcase
use toupper (concat A B C D ....) instead
* moved several COMMAND macros to their function bodies
* cleaned up screenshot extension handling
* prefix screenshot argument with "screenshot/" and add correct extension
Allows to reset notexture, to set a high-contrast color to find and
fix the areas and to set to a useful default texture.
As useful textures, in addition to rock.jpg and concrete.jpg, the menu
lists the default wall, floor and ceiling textures of the current map,
and also the last watched texture from the texture menu.
Also adds a few checks to detect unconverted map config files and misuse
of the new bright highlight textures.
replaced by makke/rock.jpg, which is the base for the "missing content"
texture - so, only the text is missing...
on outpost, notexture was reset (since there's no use for it on official
maps)
Collect warnings during load_world() and issue a warning at the end. Most,
but not all warnings already printed a message - which usually scrolls out
of the console quite fast.
The collected value is also given back by the loadmap command, which
allows batch editing scripts for maps stop at problematic maps.
Mapsound errors are not detected, if soundvol is zero. Missing textures are
not flagged, if notexture is set.
The error code is ored together from those elements:
0x0000001 entity attribute overflow
One or more map entities had attribute values, that are no longer
supported with map format 10. Rework manually.
0x0000010 map decoder error
Indicates a damaged map file.
0x0000100 world error -1
Map is completely solid. Very funny.
0x0000200 world error -2
Map border is not solid. Fix manually.
0x0001000 missing skymap texture files
0x0002000 missing world texture files (only if no notexture is set)
0x0004000 missing mapmodel files
0x0008000 missing mapsound files
0x0010000 bad mapsound command in map config
0x0020000 bad mapmodel command in map config
0x0040000 bad texture command in map config
0x0080000 bad loadnotexture command in map config
0x0100000 error during loading of mapmodels (see earlier console output)
0x1000000 out of range integer value in map config (for example, "fog 0")
0x2000000 out of range float value in map config
0x4000000 generic cubescript error in map config
The command loadmap is now also available for non-debug builds.
DOCREF loadmap
The script converted paths only when "mapmodel" or "texture"
strings were at beginning of the lines, now that is changed,
in order to paths will be converted also in, for example,
commented out lines.
Also changed name of the script to more proper.
Mapmodel and -sound entities which refer to unassigned slots are now
listed in the "edit slots" menus. From there, the entities can be visited
and manually corrected or deleted.