Commit Graph
100 Commits
Author SHA1 Message Date
ac-stef 8fdbee225e texture fixes
thx BrutalSystem
2017-04-24 00:14:44 +02:00
ac-stef d73b0313cb fix text input field rendering of hidden text
also: show hidden content of input field as long as CTRL is pressed
2017-04-22 15:10:02 +02:00
ac-stef 6af6f650d1 fix double free in opengzfile
Now gzstream->open consistently does not keep a copy of the input stream
in case of failure - no matter the type of failure.
2017-04-22 12:41:51 +02:00
ac-stef c2d64d3a2b fix menu layout
- fix calculation of footer lines, menu pages and menu widths
- make sure, FONTH is never zero
- unify menu action execution
- clean up some code
2017-04-19 15:39:45 +02:00
ac-stef 206cbdcbd1 better AR approximation
and some fixes
2016-12-03 14:54:18 +01:00
ac-stef 06de0ddf3c re-add default resolutions
The screen resolution menu now shows two batches of resolutions: first
those recommended by the graphics driver and then some more default
resolutions. Resolutions higher than the reported maximum are not listed.
2016-11-24 01:32:54 +01:00
ac-stef 570e6aba2f only show available screen resolutions
setdesktopres was replaced by two variables reflecting the desktop
resolution (or zero, if not available): desktopw and desktoph

getdisplayresolutions returns a list of available screen resolutions

DOCREF getdisplayresolutions desktopw desktoph setdesktopres
2016-11-24 00:32:07 +01:00
ac-stef 60a7fa9e17 don't pitch weapons and playermodels 2016-11-21 22:11:41 +01:00
ac-stef 8cd6d15247 hide hudgun while menu shows a mapmodel
...to avoid overlap
2016-11-20 15:20:16 +01:00
ac-stef 76fadbae52 use camera pitch when browsing mapmodels
-10°..10° is treated as zero
2016-11-17 15:30:11 +01:00
ac-stef c5065cddaa add batch map conversion tools and more editing scripts
convmap is a toolset to convert hundreds of maps mostly automatically
to map format 10. Old media paths from akimbo and from before AC 1.2 are
automatically converted to AC 1.2 and akimbo2 paths.

The additional editing scripts mostly help with further optimisation of
existing maps (mainly to reduce the number of clipped entities).

If convmap is loaded after mapeditscripts, one additional conversion
stage is unlocked.
2016-11-07 16:57:18 +01:00
ac-stef 551a501546 fix entity todo list 2016-11-07 15:31:05 +01:00
ac-stef ecb3386f88 fix some entities 2016-11-05 20:45:09 +01:00
ac-stef e12d25dc95 add todo list for entities
Add some commands to support an entity TODO list. Entity errors during
map load are automatically added to the list. The list is saved and
restored with xmaps. A keybind (no default key assigned) to scroll
through TODO entities was added.

The list is indented as a means for automated map check scripts to
return a list of entities to fix.

cleartodoentities [index]
  Clear list of TODO entities. The list is also deleted, when a new map
  is loaded.
  If an entity number is given as an argument, only entries for this
  entity are cleared.

addtodoentity index comment
  Add the entity #index to the TODO list. Add optional comment.

enumtodoentities
  Returns a list of TODO entities. Returns entity index number and comment
  for every entry.

DOCREF enumtodoentities addtodoentity cleartodoentities
2016-11-05 17:42:30 +01:00
ac-stef 88320bd095 add script and keybind to cycle through spawn points in edit mode
If the assigned key is pressed, the mousewheel can be used to cycle
through player spawn points, sorted by groups CLA, RVSF and FFA.

No default key is assigned.

gotonextplayerstart can be used, to manually jump to the next spawn.
2016-11-03 18:02:45 +01:00
ac-stef 5177988bac show faulty playerstarts as yellow players 2016-11-03 14:20:34 +01:00
ac-stef da49dda785 slightly less bright protox skins 2016-11-03 14:18:01 +01:00
ac-stef dc3abca170 less buggy filter function
likes highres skins
2016-11-03 01:19:11 +01:00
ac-stef 5af661ddeb debug switch to filter out some load_world errors
do not flag some map config errors that can be fixed by search&replace
(for use in map conversion scripts only)
2016-11-01 00:40:10 +01:00
ac-stef 64a7eef335 some fixes 2016-11-01 00:40:07 +01:00
ac-stef 111c8d4d5c mapmodel cleanup 2016-10-17 17:40:02 +02:00
ac-stef 71a12bfe82 allow custom mapmodels to depend on other custom mapmodels
By adding a "requires"-attribute to the mapmodel config file, a mapmodel
can trigger the map editor to include another model and have it loaded
during map load. This can be used to create model modifications which
use ressources of another model. For example, a new model can provide a
different skin for an existing model - and that attribute will make sure,
that the required original model is also loaded.

This mechanism does not work, if the attribute is changed after the map
is finished, because the map editor has to copy the dependency into the
map config file. After adding the attribute, the map has to be written at
least once (the dependencies are checked during savemap).

The point of dependency-attributes is to make sure the custom original
model is also loaded from a package server. Mods of official models do not
need to use the attribute, because the official model does not need to be
downloaded. The attribute is necessary, if one model on akimbo depends on
another model on akimbo.

The mapmodels that are required by other models have an additional
parameter "1" added to their mapmodel command in the config file - which
will preload the model during map load, even if no entity actually uses it.
The additional parameter is handled automatically.

The new command updatemapmodeldependencies triggers the dependency check
manually - which will make required models appear in the model list. This
is done automatically during savemap.

Changed commands:

  mapmodelslotusage

    now returns a single space, if the model slot is not used by any
    map entity, but is required by another model (with entities)

  mapmodel

    allows one more parameter - if "1", the model is preloaded, even if
    no entities use it

  mdlattribute requires <modelname>

    if used, specifies that the current model depends on parts of another
    custom model (which therefore also has to be downloaded)

    can only be used once per model config

    example:

      mdlattribute requires makke/signs/exit

        could be used in signs/loading-dock/md2.cfg to reuse
        makke/signs/exit/tris.md2

DOCREF mdlattribute mapmodel mapmodelslotusage
2016-10-16 21:54:22 +02:00
ac-stef 701d33af55 fix "no snprintf on VS" 2016-10-16 14:37:08 +02:00
ac-stef 1b5877e3fc treat CR as LF in cubescript
this hopefully doesn't break too much stuff...
2016-10-16 13:38:34 +02:00
ac-stef a451a0fd61 show model usage info where models are used 2016-10-14 11:58:13 +02:00
ac-stef 985048efda fix loadallmapmodels
now also loads models with paths that include '.'
2016-10-13 23:42:04 +02:00
ac-stef 41ff4cf583 use shoe level instead of eyeheight
for edge jump detection
2016-10-13 15:29:47 +02:00
ac-stef 0e425d2103 allow synonym for mapmodel distribution "autodownload"
"akimbo" says the same
2016-10-12 19:45:40 +02:00
ac-stef bb8bfeb752 mute error messages while probing default model skins
Unless otherwise specified in a config file, every model (md2 or md3)
tries to load skin.jpg, skin.png, ../skin.jpg and ../skin.png (in that
order). This commit silences the errors if some of those attempts fail.

There is still an error message, if none of the four files can be found.

The commit also deletes five identical skin.jpg and places one in ../
2016-10-11 21:36:49 +02:00
ac-stef ade460517d reuse skin 2016-10-10 22:18:26 +02:00
ac-stef f7a54907db map fixes
thx BrutalSystem
2016-10-09 00:49:06 +02:00
ac-stef bc57ac2360 map fixes
thx BrutalSystem
2016-10-08 00:28:33 +02:00
ac-stef 245c0f4c56 map fixes 2016-10-04 22:05:17 +02:00
ac-stef 2436478c64 add new protocol data type for asymmetric small integers
best suited for values ranging from -1 to 252
2016-10-02 12:59:25 +02:00
ac-stef 07d9ae608d fix menuinitselection for dynamic menus
If a menu is not (yet) big enough for the selection to be set, wait until
the menu is opened and initialised - then try again.
2016-10-01 20:08:25 +02:00
ac-stef 13e6460ff3 set lastmenu during execution of menuinit script 2016-10-01 16:51:25 +02:00
ac-stef d56d8f91b6 fix restricting watercolour
get coal down from 213 to 91 clipped entities
2016-09-28 16:22:11 +02:00
ac-stef 5ba5d1b4b3 optionally show media origin in slot lists 2016-09-26 22:45:34 +02:00
ac-stef 18375a7c18 sort shadow entities behind lights
- restrict watercolour to edit mode
- some map fixes
- add dev_coal
2016-09-25 16:07:06 +02:00
ac-stef 9afca836c9 cleanup
bring clang (and g++) back to O3
cleanup jpegenc error handling
2016-09-19 18:16:19 +02:00
ac-stef efc04fe2dc fix rendering of very long ladder entities
and print more helpful error messages on entity attribute import overflows
2016-09-18 21:11:04 +02:00
ac-stef c66f846cf0 better selection handling for arch and slope placement
enlargearchslopeselections

  If the variable is set to 1, after placing an arch or a slope, the
  selection is enlarged, so that the arch or slope can be changed by
  vdelta increments (for example, to raise an arch in 1/4 cube increments).
  This is also the classic behaviour.
  If the variable is set to 0 (which is now default), the selection remains
  unchanged. This way, for example, the arch can be raised or lowered by
  regular cube increments.
  The arch menu allows changing the setting and also contains a script to
  enlarge the selections once.

pushselections

  New script to store the positions of all current selections. Can be used
  repeatedly. To restore the selections, type "popselections".

enlargevdeltaselections

  Enlarges all selections by one cube in x- and y- direction, to change a
  selection from the "cube area" to the "vdelta area".
  If an argument is given, it is used as increment value, so, for example
  "enlargevdeltaselections -1" undoes a previous enlargement.

DOCREF enlargearchslopeselections pushselections enlargevdeltaselections
2016-09-18 17:13:24 +02:00
ac-stef a291b74504 take measurements to create arch prefabs from existing maps
The arch menu now allows

 * editing all vertices instead of only half of them, for non-symmetrical
   arches
 * deleting saved custom arches
 * using custom arches for other widths than what they were created for
 * measuring an arch on a map and creating a prefab of it

Scripts:

av_measure

  "echo (av_measure)" prints the list of vdelta values of a selected arch.
  Only works as expected, if the selection is only 1 cube wide. To use the
  measurements to create a width 8 arch, select 8x1 cubes under the arch
  to copy and type "av 8 (av_measure)". Or use the menu.

av width-1 vdelta_list

  One of the oldest scripts of the game (and because of that, the first
  argument stayed "arch width minus one", for compatibility reasons).
  Creates a prefab arch of the desired width. If the list has exactly
  as many entries as required, all of them are used to create the prefab -
  this is the way the script has always worked.
  If there are too few or too many elements in the list, the script will
  try to take half the required values from the list and mirror the other
  half to create a symmetrical arch. This way, a list can be used for
  slightly wider or narrower archs. Or use the menu.
2016-09-18 00:22:27 +02:00
ac-stef aca74e1b59 allow copy, paste, undo, redo and selectionwalk in coop edit
limited to selection areas of at max 4096 cubes, which is 64x64 cubes
2016-09-17 22:11:07 +02:00
ac-stef 27c8f43711 add zipped message packets 2016-09-17 22:11:07 +02:00
ac-stef 925645ecb3 new custom arch prefab editor
The menu lists all prefab arches and allows to edit them with sliders.
Arches can be saved and restored.

"archvertex" now returns the old value of the vertex, and if the vertex
argument is omitted, doesn't change it.

enumalias prefix

  Lists all persistent aliases that start with prefix. Returns a table
  with two entries per alias: 1) full name and 2) name without prefix

DOCREF archvertex enumalias
2016-09-17 01:01:40 +02:00
ac-stef dae7773d68 fix involuntary shooting when switching guns while throwing a nade
also: more aggressive middle mouse button
2016-09-16 21:08:48 +02:00
ac-stef 397c441fed more verbose error messages for disabled commands 2016-09-16 17:35:47 +02:00
ac-stef fc3c77868f add hardcoded stairs command for coop
stairs xs ys

  Places stairs in all selections. xs and ys determine the step width
  in x- and y-direction.

DOCREF stairs
2016-09-16 14:06:27 +02:00
ac-stef 4dc54e22b5 allow more edit commands in coop edit
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
2016-09-16 14:06:27 +02:00
ac-stef 815f4aa764 add selectall command
selectall

  selects the whole map (minus the two cubes wide border)

DOCREF selectall
2016-09-16 14:06:26 +02:00
ac-stef c5904dc065 add stairs to edit menu 2016-09-16 14:06:26 +02:00
ac-stef 6b15891cfd undo changes back to a specific state
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
2016-09-16 14:06:26 +02:00
ac-stef 96a028c263 guess height for selections set by command 2016-09-15 18:15:51 +02:00
ac-stef 1b8eeac7ce font fixes 2016-09-14 20:35:13 +02:00
ac-stef 643328b5a1 properly compress chars_default.png
thx BrutalSystem
2016-09-13 21:28:47 +02:00
ac-stef 1a482e5394 final corner physics fix
if corner sliding doesn't work, try x- and y-slides as well
2016-09-13 21:17:07 +02:00
ac-stef a976e5b4ba map fix 2016-09-11 11:17:25 +02:00
ac-stef 29a3970b72 fix flyspeed
and a compiler optimisation error

(for clang >= 4, O3 may be reactivated in the makefile)
2016-09-09 22:22:55 +02:00
ac-stef 588e9f9de8 some fixes for OSX 2016-09-08 22:36:46 +02:00
ac-stef 123e2b2b12 cleanup 2016-09-08 01:20:45 +02:00
ac-stef 423df0c66f omit "./" prefix from media file paths in map config files
Ignore it, if "./" prefixes a media path given with a texture, mapmodel
or mapsound command. It's useless and prevents comparing path names.
2016-09-06 19:15:26 +02:00
ac-stef a5470d5ea0 really clear all binds during "resetbinds"
including self-assigned ones

_resetallbinds

  Clears _all_ binds for all keys and all modes. Do not use the command
  manually.

DOCREF _resetallbinds
2016-09-06 18:43:37 +02:00
ac-stef 27754f4a9b cleanup 2016-09-06 17:17:38 +02:00
ac-stef 40e8b1cf5e some map fixes 2016-09-05 20:42:56 +02:00
ac-stef 6de0af1b6f disable water reflection in editmode
with enabled reflection, the editing grid is not visible through the
water surface

as a side-effect also fixes #71
2016-09-04 22:00:57 +02:00
ac-stef cb630bde49 add per-map overrides to disable graphics features
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
2016-09-04 17:44:22 +02:00
ac-stef bc2a091f95 show map timestamp in map info menu
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
2016-09-04 15:00:00 +02:00
ac-stef c7c02521ad add thread-safe variant of timestring() 2016-09-04 13:45:14 +02:00
ac-stef 9852b98bf3 unify screenshot code
no need to have the same code three times

also: have jpegenc use our stream lib
2016-09-04 04:42:59 +02:00
ac-stef 07b34ce42c fix mapshots
png and bmp images were mirrored

fix mapshot paths

fix jpeg crash on file creation failure
2016-09-04 01:50:53 +02:00
ac-stef ac4e2e60b4 optimised dev_dusk
* heightfield render errors fixed
* model-clipping simplified
* shadowyaw changed a little to avoid ugly artifacts
2016-09-04 00:52:20 +02:00
ac-stef 870900f92f new map settings menu
Containing all persistent per-map settings (stored in map config and
map header).

removed some random number nonsense
2016-09-03 22:48:49 +02:00
ac-stef 05e0bf5b30 new command to retrieve the water colour
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
2016-09-03 16:56:10 +02:00
ac-stef 3e7a0cfb10 added dev_dusk
"Dusk by A&D_Shadow"

initial commit, based on ac_dusk_2013, converted to map format 10
2016-09-03 14:35:33 +02:00
ac-stef 8f95b6d88e more map fixes 2016-09-03 01:42:34 +02:00
ac-stef a6bffc1858 new command looplisti
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
2016-09-02 21:58:39 +02:00
ac-stef a8db184eef use mapmrproper to optimise for filesize
needs further testing...

all dev_ maps have been optimised
2016-09-02 00:05:57 +02:00
ac-stef c2ca8706c5 add most visible textures menu
...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
2016-09-01 22:59:08 +02:00
ac-stef 6cd5be6225 show how many uses of a texture slot are actually visible
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
2016-09-01 22:59:08 +02:00
ac-stef f65f943050 limit the optimisation of mapmrproper to 4x4 cubes
... which is quite limited, but anything more can trigger lighting
problems in the engine
2016-09-01 22:58:45 +02:00
ac-stef bfb8158069 add cubescript commands for binary arithmetic
The commands &b, |b, ^b and !b perform the operations and, or, xor and not
using binary arithmetic on integer values.

Please keep in mind, that integer values are 32-bit signed values, so
"echo (!b 1)" returns "-2", of course.

The new command "h0 precision value" is modeled after the existing "l0"
command and returns the given value as string of hexadecimal digits,
padded with leading zeros to a given minimum length ("precision").

Examples:

  echo (h0 2 1024)       ->  "400"
  echo (h0 4 1024)       ->  "0400"
  echo (h0 6 1024)       ->  "000400"
  echo (h0 0 (&b 0xe 0x3))  ->  "2"
  echo (h0 0 (|b 0xe 0x3))  ->  "f"
  echo (h0 0 (^b 0xe 0x3))  ->  "d"
  echo (h0 0 (!b 0xe))   ->  "fffffff1"
  echo (h0 0 (* -1 0xe))  ->  "fffffff2"  (for comparison)

Also, the commands for addition and multiplication of integer and float
values have been modified to accept more than two arguments.

Examples:

  echo (* 3 5)   -> "15"
  echo (* 3 5 2)   -> "30"
  echo (* 3 5 2 -1)   -> "-30"
  echo (* 3)   -> "0"  (for compatibility reasons)
  echo (+ 3 5)   -> "8"
  echo (+ 3 5 2)   -> "10"
  echo (+ 3 5 2 -1)   -> "9"
  echo (+f 3.0 5 1.9 -1)   -> "-28.5"
  echo (*f 3.0 5 1.9 -1)   -> "8.9"

DOCREF + * +f *f &b |b ^b !b h0
2016-09-01 15:47:09 +02:00
ac-stef 3e1628792f fix lighting on desert3
thx BrutalSystem
2016-08-31 23:08:49 +02:00
ac-stef f0dfe2d1a3 pass arguments to and deliver results from script files
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
2016-08-31 18:53:58 +02:00
ac-stef 75af444844 automatically fix world border violations
whenever the map is saved in edit mode
2016-08-31 17:21:10 +02:00
ac-stef 4b2767a96d cleanup
* 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
2016-08-31 17:20:28 +02:00
ac-stef 300d702619 add menu to set notexture
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.
2016-08-30 22:57:03 +02:00
ac-stef 98605751f4 fix unconfigured textures on official maps
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)
2016-08-30 21:08:38 +02:00
ac-stef f8188df428 add menu to list mapmodels with unconfigured custom textures 2016-08-30 21:04:41 +02:00
ac-stef 1310516c14 keep track of map load errors
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
2016-08-30 20:56:58 +02:00
ac-stef 778ad62629 fix rendering of some heightfield borders on lainio 2016-08-29 21:52:03 +02:00
ac-stef 4f6e58040b merge identical config slots of official maps
textures:
  cavern: 1 slot merged
  complex: 3 slots merged
  depot: 11 slots merged
  lainio: 1 slot merged
  mines: 1 slots merged
  swamp: 1 slot merged

mapmodels:
  swamp: 2 slots merged
  toxic: 3 slots merged
2016-08-29 15:47:46 +02:00
ac-stef 69518c5e50 sort config slots of official maps 2016-08-29 15:47:46 +02:00
ac-stef 91e7ff6e7f delete unconfigured mapmodel entities from official maps 2016-08-29 15:47:46 +02:00
ac-stef 28d63baeee sort entities on official maps 2016-08-29 15:47:46 +02:00
ac-stef 7cb9aa79c8 add access to entities with unassigned config slots to edit menus
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.
2016-08-29 15:47:46 +02:00
ac-stef 3ff5e44a39 add counts for used but unconfigured model and sound slots to entstats 2016-08-29 14:11:48 +02:00
ac-stef 867d522879 fix crash on used but unassigned slots during config slot sorting
maybe we should have a warning for such entities...
2016-08-29 13:44:58 +02:00
ac-stef 15c4bbe84f fix player stuck condition
The condition appeared on 32-bit g++ builds with -O3. Apparently, due to
optimisations, the player1 location vector was kept in FPU registers
during collision checks - and the written-to-memory float values gave
different results in the next round.

The fix forces a write to memory and a readback before the collision
checks. An alternative fix would be, to compile physics.cpp with the
switch -ffloat-store, but that would cause a bigger performance hit.
2016-08-28 16:58:56 +02:00
ac-stef e648943d40 fix g++ warnings
g++ 5.4 detects the static bools as "unused", which is true - but also
intentional.

Removing the "static" adds a lot of unused symbols to the global pool,
but it also prevents any compiler from detecting the "not used" status.
2016-08-28 15:11:49 +02:00