* basically a hash function that delivers keylen bytes calculated
from password and salt
* uses a lot of memory and a quite complex algorithm, to make
brute-force offline-attacks on short passwords as hard as possible
* last line of defense against "evil little brothers"
SHA512 was adapted from a few public domain sources and pseudocode from
wikipedia. The entropy collector gathers entropy from keyboard events and
mouse movement - and, just for fun, from screenshots.
The entropy pool is saved at program exit and reloaded at program start.
Entropy is used to re-seed the pseudorandom generator (not that it would
make a difference).
Calculate some key values to determine map geometry viability.
mapareacheck <what>
Returns different sets of statistics, depending on the keyword "what":
vdelta
Returns table of numbers of cubes within a certain range of vdelta
differences (steepness)". First entry is "0..2 cubes steep", next is
"2..4" and so on.
steepest
Returns the coordinates of the steepest heightfield cube.
total
Returns the number of non-solid cubes on the map.
pprest
Returns the number of cubes _not_ visible from one of the probe
positions.
pp (default)
Returns a table of all (currently 64) probe points of the map. Each
probe point is listed with:
- x-coordinate
- y-coordinate
- floor height
- area visible
- volume of visible area
- average height in visible area
DOCREF mapareacheck
* sort colored lights behind white ones to avoid a light bug
* sort all clipped entities to the end of the list to speed up physics
* sort all pickups and playerstarts to use smaller index numbers to
use less bandwidth
...and some options for sortmapmodelslots and sorttextureslots
All three commands now accept three modifier keywords as arguments:
nosort do not sort the list alphabetically
nomerge do not merge any slots
mergeused merge used and unused (identical) slots freely
By default, the list is sorted and only unused identical slots are merged.
The keywords can be combined in any order. "nomerge" takes priority over
"mergeused".
Examples:
sortmapmodelslots
Sort the mapmodel slot list alphabetically and merge unused identical
slots. Merging an unused slot is pretty much the same as deleting it,
so this command sorts the list and removes unneeded double entries.
sortmapmodelslots nosort
Merges (deletes) unused double entries in the mapmodel slot list.
sorttextureslots nosort mergeused
Merges double entries in the texture slot list. If two identical
entries are used in the map, all uses are mapped to the new combined
slot. This leaves no visual changes on the map. Should be avoided, if
texture slots have been renamed manually - and the the renaming isn't
finished yet.
sortmapsoundslots mergeused
Sorts the mapsound slot list and merges all double entries.
DOCREF sortmapmodelslots sorttextureslots sortmapsoundslots
backpedal 1/42 of a microstep to get out of the way of rounding errors
(clip ents are not supposed to have seams, but at least GCC builds
with -O3 seem to also require a little here - so, 1/333 for clips)
instead of using a constant (and always wrong) speed, use the same part
of the movement vector that x- and y- slides use
(sadly, this fix seems to raise problems with the previous "fix sliding
along corners" commit, which seems to have liked the constant speed...)
* properly rotate the player hitbox
* add "corner bounce" (doesn't work flawlessly - but it's probably as
good as possible with this kind of physics engine)
(for now) by default bound to the '#'-key (and backslash)
Press and hold the '#'-key and scroll the wheel to scroll console.
Just pressing and releasing '#' resets the console position.
Without the console open, releasing '#' always resets the console position.