Commit Graph
7767 Commits
Author SHA1 Message Date
ac-stef b82a38b2e2 read-ahead for server info files
* poll and read motd and serverinfo along the other server config files
* "en" language setting is now immutable
2017-06-27 15:15:22 +02:00
ac-stef e147000ba2 replace some more strtok
also make sure, randomMT survives concurring use from different threads
2017-06-27 15:15:22 +02:00
ac-stef 5ec04b82e1 delegate checking and loading server config files to own thread
"readserverconfigsthread" gets triggered by poll_serverthreads() once a
minute to check the filesizes of all server config files. Altered files
get loaded into memory.
poll_serverthreads() in the main thread then processes the buffered files
one at a time. During processing, a semaphore is locked, so that other
threads can use the data structures derived from config files - if they
use the semaphore to lock the ressource.
Using the data from main thread can be done without using the semaphore,
since _all_ changes are done in the main thread.
If the main thread wants to update data that is locked by a thread, the
main thread will defer the changes for a minute. The main thread will
never lock.
2017-06-27 15:15:21 +02:00
ac-stef 1c109bfa62 new commandline parameter to specify path for server logfiles
use -H to set path
default is logs/
2017-06-27 15:15:21 +02:00
ac-stef 1d1230544b speed up logging
don't bother processing a line, if the level is too high for any queue
2017-06-27 15:15:21 +02:00
ac-stef 7c54645785 concatenate consecutive identical geoip ranges silently
slightly faster and wastes less RAM
also: better detection of entry overlapping
2017-06-27 15:15:21 +02:00
ac-stef 63668e0dda add support for a geolocation table
including two converter scripts to use Geolite2 and Webnet77 tables
2017-06-27 15:15:21 +02:00
ac-stef ac5229dfba server cleanup
* restrict reading of config files to times when the server is empty
* collect entropy
* remove hint how to convert pre-1.0 blacklists
2017-06-27 15:15:21 +02:00
ac-stef c8c310886a fix parsing of commandline switches for servers
also:
 * -Y now sets the private key for the server
 * -m without argument uses default masterserver URL
 * servers run LAN-only by default (set ms URL and private key to
   register with the master)
 * use generic locale "POSIX"
2017-06-27 15:15:21 +02:00
ac-stef 25deee5287 more versatile disconnect reasons 2017-06-27 15:15:21 +02:00
ac-stef 1ca4ce54eb some server changes
tbc
2017-06-27 15:15:20 +02:00
ac-stef db9bd67be9 protocol bump
no longer compatible with 1.2.0.2

also: nade effect quantisation fixed
2017-06-27 15:15:20 +02:00
ac-stef e29bb2aa2d simplify decision to render corpse
instead of checking for actual gibs, check for "was gibbed"

fixes problems with still existing gibs when the player dies again fast
enough
2017-06-27 13:31:02 +02:00
ac-stef 524988feaa filter unrenderable chars from console input
filter all chars that have no entry in the current font
2017-06-25 18:17:46 +02:00
ac-stef 57093ed70c rewrite doc command parser
- properly break statements into words
- pick statement where cursor is
- detect unmatched braces + indicator
- fix huge memory leak
- add cs ident details
- add debug view (broken into words)
- menu entries for the settings

  docidentverbose 0|1|2|3

    enables ident details or statement analyser

DOCREF docidentverbose
2017-06-23 12:48:17 +02:00
ac-stef ec12d6872e don't change persist flag while alias is pushed
and clean up the stack before removing an alias (memleak!)
2017-06-17 20:50:06 +02:00
ac-stef 4b26df11df update genmapitems
easier than to fix the persistidents vs. push/pop problem :)
2017-06-17 18:37:32 +02:00
ac-stef e96b97a5a5 fix updatefrommaster 2017-06-17 15:33:54 +02:00
ac-stef 03e21b097d fix stuff found by cppcheck
almost 3000 lines of "errors" contained one actual memleak, one actually
unused variable and three actual ambiguous code parts

from cppcheck website: "The goal is to detect only real errors in the
 code (i.e. have zero false positives)." :)

thx for finding five problems in our code
2017-06-17 12:40:35 +02:00
ac-stef f33b9c0dba enable automapconfig whenever config slots are added 2017-06-16 19:20:21 +02:00
ac-stef 2448e90bf2 convmap changes
new tool: list media sources
new stage: check vantage points
new: add single map from menu
new: option to abort maps on stage errors

fixed: make sure, player is alive (to be able to enter edit mode) during
conversions
2017-06-16 16:05:03 +02:00
ac-stef 8235300d77 merge old and new entity copy/paste
- copyent and pasteent now also work with the menu list of copied ents
- pressing editmeta while using pasteent opens the menu
- new switch command (not unlike the old one)
- make expandselection and shrinkselection work with multiple selections

DOCREF switch copyent pasteent
2017-06-15 14:00:54 +02:00
ac-stef 43aea343ad fix at
negative index numbers now return ""

for now, a warning is printed, if that happens

DOCREF at
2017-06-15 01:19:34 +02:00
ac-stef 0b2079660a fix clip entity menu and add entity copy/paste menu
newent7 type attr1 attr2 attr3 attr4 attr5 attr6 attr7

    Works like newent, but can set all seven attributes directly.
    Does not automatically put the camera yaw angle into mapmodel and flag
    entities.

fixed selectionwalk so that the first parameter can be ""

DOCREF newent7
2017-06-15 01:12:33 +02:00
ac-stef e1572dcdee move ++, --, ++f and --f to compatibility.cfg
useless, because of the "failing silently" behaviour

DOCREF ++ -- ++f --f
2017-06-14 19:01:15 +02:00
ac-stef d7277c1aa4 fix permissions for some edit commands
- always allow read-only edittextureslot, editmapmodelslot and
  editmapsoundslot
- allow setvantagepoint when editing offline or spectating offline
- new var editing_sp: 1 during edit mode in singleplayer (offline)
- additional menus for read-only access to map config slots
- new bonus edit scripts: selectmiddle and unclipentclippedmodels

DOCREF edittextureslot editmapmodelslot editmapsoundslot setvantagepoint
DOCREF editing_sp
2017-06-14 16:33:58 +02:00
ac-stef 9bb9cc280b click
shutter sound, cut, edited and compressed

original at: www.freesound.org/people/jgrzinich/sounds/155385/
original license CC0
2017-06-13 14:19:16 +02:00
ac-stef 7aca9ff9d3 expect DT_UNKNOWN 2017-06-13 10:46:15 +02:00
ac-stef 30a0e8608c menu code cleanup and subdirectory support
menuitemmapload mapname action [hoveraction [desc]]

    create menu entry for a map file

  menudirlistsub action dots

    adds subdirectory entries to a menu with a files list
    has to come after the menudirlist command
    <action> is the command to be executed, when the menu entry is chosen
    if <dots> is 1, an entry ".." is added

  enumfiles path [extension]

    lists files in a directory
    if extension is specified, only files of that extension are listed
    if the extension is "dir", only directories are listed

DOCREF menuitemmapload menudirlistsub enumfiles
2017-06-12 20:07:11 +02:00
ac-stef 661ee6eff2 distinguish between files and directories
listfiles now optionally sorts the list and removes doubles
2017-06-12 18:17:15 +02:00
ac-stef 7a02ccd8b7 only load map descriptions and preview pictures when needed
+ memleak fixed
+ possible NULL dereference fixed
2017-06-12 03:24:34 +02:00
ac-stef a5fbccbd7c restore htf flag skins
and re-use flag model files
2017-06-11 21:13:51 +02:00
ac-stef 528d923f81 create map preview pictures during spectating
pressing CTRL+F12 during spectating creates a clean screenshot and saves
it as map preview picture

  modkeypressed

    returns 1, if a CTRL key is pressed and 0, if not

  screenshotpreview [lines]

    creates a screenshot cropped to 4:3 with a given number of lines
    (in the range of 144 to 480, default 240 or last given value)
    and jpeg quality 80

  gotovantagepoint

    now returns 1, if the map actually has a vantage point set

DOCREF screenshotpreview modkeypressed gotovantagepoint
2017-06-11 21:13:50 +02:00
ac-stef 06b9d3103d remove maploaditemlength
and add map name to preview picture

DOCREF maploaditemlength
2017-06-11 17:07:49 +02:00
aurhat dbaff25341 Cleanup akimbo code 2017-06-11 01:15:53 +02:00
ac-stef 800e4f3a13 add reset option for loadcrosshair
loadcrosshair reset

    loads all default crosshairs (including teammate and scope)

    short form of "loadcrosshair default default.png ; loadcrosshair
    scope red_dot.png ; loadcrosshair teammate teammate.png"

DOCREF loadcrosshair
2017-06-10 00:15:58 +02:00
ac-stef b2890a3334 allow more edit commands in multiplayer
(editentity, edittextureslot, editmapmodelslot, editmapsoundslot)

the commands are still not allowed to change anything in coop, but
information retrieval is ok
2017-06-09 21:52:55 +02:00
ac-stef fcb3481e23 fix crouch release on death 2017-06-09 20:42:26 +02:00
ac-stef a6bd160a76 disable ktf indicator when minimap is open 2017-06-08 19:28:07 +02:00
ac-stef ef2b91c0ce more cubescript limits
the limits are hardcoded and require recompilation to change

* limit recursion depth
* limit loop iterations
* limit string lengths
* limit push/pop depth
* clean surplus whitespace from config files
* provide context for script errors

(limits accidental crashes, not intentionally malfunctioning code)
2017-06-08 19:00:04 +02:00
ac-stef 2a52dc0069 third option for flag score hud transparency
flagscorehudtransparency 0|1|2

    0: no transparency, icon set "flag gone"
    1: transparency, icon set "flag gone"
    2: transparency, classic icon set (default)

DOCREF flagscorehudtransparency
2017-06-08 00:39:24 +02:00
ac-stef 83d0199867 command cleanup
changed commands:

  strstr haystack needle

    now returns position of needle in haystack (counting from 1)
    or zero, if not found

  substr string start len

    now counts negative length from total length
    "substr text 1 -2" now returns the text without first and last char

  strreplace text search replace

    no longer restricted to 260 char stringlengths

removed commands:

  swapelements, strpos (can be scripted, if required)

DOCREF strstr substr
DOCREF swapelements strpos
2017-06-07 23:20:00 +02:00
ac-stef ffee440fa0 add early string replacement and alias lookup to cubescript
replace tokens starting with @ during scanning/sizing-up of []-blocks

  @word    look up word as in $word
  @(...)   evaluate braces
  @[...]   evaluate braces and look up result
  @"..."   parse quotes

in nested []-blocks, use multiple @ to determine time of replacement
(for example, @@@word is replaced when found inside three nested braces)

in regular $-lookup, $[...] now evaluates the braces before lookup
2017-06-07 18:16:06 +02:00
ac-stef 4d684cfc8e improve alias lookups
now i = 3; echo $(concatword arg $i) works like echo $arg3 :)
2017-06-06 21:41:25 +02:00
ac-stef 0e78c1e9dd fix empty menu footers
thx BrutalSystem
2017-06-06 19:19:57 +02:00
ac-stef dbcb040eeb menu code cleanup
* fix some memory leaks
* rename stuff
* fix crash

Removed commands and variables:

  chmenumdl (replaced by menumdl)

  scorefont (replaced by "menufont score mono")

  menuitemvar (better handled with fully dynamic menus)

Changed commands:

  menufont menu font

    Sets the font for a specific menu. If menu is "", the currently
    initialised menu is used. Example: menufont score mono

  menumdl menu mdl anim rotspeed scale

    Assumes the function of the previous chmenumdl. If menu is "", the
    currently initialised menu is used. Specifies, which model to render
    and how. If only menu is specified, no model is rendered.

DOCREF chmenumdl scorefont menufont menumdl menuitemvar
2017-06-06 13:17:20 +02:00
ac-stef 7948212234 add radio buttons and simplify sliders
- omit step size for sliders with value descriptions
- optionally auto-determine max value by list length

  menuitemslider text min max value display action wrap
  menuitemradio text min max value display action

    text: menu item text
    min: min value
    max: max value (or optionally -1 and set by display string length)
    value: initial value
    display: list of value descriptions or value step size
    action: executed on value changes (new value in arg1)
    wrap: if 1, wrap slider around (radio buttons always wrap)

DOCREF menuitemslider menuitemradio
2017-06-06 13:17:20 +02:00
ac-stef c9ddadd525 per-slider option to wrap around
menuitemslider text min max val step display action wrap

DOCREF menuitemslider
2017-06-05 15:14:40 +02:00
ac-stef 1bf36ca2b3 option to turn off flag score hud transparency
flagscorehudtransparency 0|1

    default: 1

DOCREF flagscorehudtransparency
2017-06-05 01:06:35 +02:00
ac-stef d81071f200 provide HOME for all
...menus
2017-06-04 17:43:44 +02:00