Commit Graph
3942 Commits
Author SHA1 Message Date
ac-stef 4e77b91c0e re-check line-of-sight depth readout from the graphics driver
- manually intersect line-of-sight with all map geometry
- shorten sight vector if necessary
2017-05-28 00:37:13 +02:00
ac-stef c97461a0f5 docs fixes and cleanup
- cleanup scoreboard menu code
- clientlog info messages for debug binaries only
- have debug binaries check for easy docs errors
- docinvalid now also checks for broken references
2017-05-24 20:11:11 +02:00
ac-stef b0dc65e50b add debug checks to verify proper calling threads for functions
for some functions, it matters...
2017-05-24 11:25:15 +02:00
ac-stef 969e7308be fix generic byteswap code
also, make use of builtins
2017-05-24 11:19:16 +02:00
ac-stef b49dd05411 add incremental mode for tiger hash
also clean up and fix some stuff: lilswap(unsigned long long int) mapped
to the 32-bit swap code...

added some runtime tests for the hash functions - now they will crash at
startup, if some test vectors fail (because big endian is still untested)
2017-05-24 11:18:18 +02:00
ac-stef 5cf4c8d61d rewrite ringbuf
to use own pointers for reading and writing

broken find() removed
2017-05-24 11:08:36 +02:00
ac-stef 8ece94d5bb allow menu checkboxes to change position
and: fix enumsounds, kill some CR, cleanup

menuitemcheckbox <text> <value> <action> <position>

  Now takes an optional fourth parameter "position" in the range from 0
  to 100, default 0, which moves the position of the checkbox over the
  width of a text input or slider, with 100 being left and 0 being right.

DOCREF menuitemcheckbox
2017-05-24 02:09:17 +02:00
ac-stef dd82065177 fix killmessage menu
and add frag/gibmessage weapon name completion
2017-05-22 22:50:51 +02:00
ac-stef a97d69bc0e relocate string sort functions 2017-05-22 20:52:45 +02:00
ac-stef 1afd7515ab simplify masterserver type selection
Use a plain cubescript variable instead of a commandline switch.

mastertype
  0: classic direct TCP connection
  1: HTTP connection (via proxy) (default)

DOCREF mastertype "--mastertype="
2017-05-22 20:44:58 +02:00
ac-stef 2bc8936680 cleanup killmessages
* remove server-side custom killmessages (log files need to be uniform)
* clean up client-side custom killmessages
2017-05-22 20:19:15 +02:00
ac-stef 271d5b3929 always use a profile directory
If none is specified by commandline, "profile/" is used. This way,
downloaded files don't mix with the original install files.
2017-05-22 19:53:01 +02:00
ac-stef ad5a438b86 remove legacy mode for filtertext
was no longer in use
2017-05-22 19:50:31 +02:00
ac-stef d0b309320b really cleanup sound
- collect most sound infos in one table and use it to generate the menus
- no more sound category checks with ranges
- now only PAINx and FOOTSTEP* sounds use hardcoded index numbers

enumsounds <list of categories>

  Lists sound index numbers and short descriptions for all sounds of one
  or more categories. The argument should contain one or more of PAIN,
  OWNPAIN, WEAPON, PICKUP, MOVEMENT, BULLET, OTHER, VOICECOM, TEAM,
  PUBLIC, FFA, FLAGONLY. All sounds with at least one of the flags will
  be listed. Flag names prefixed with "!" will exclude all matching
  sound from the list.

  Example: /echo (enumsounds "VOICECOM !PUBLIC") will list all voicecom
  sounds that are for teams only.

DOCREF enumsounds
2017-05-22 17:30:51 +02:00
ac-stef 6e24e4af6c hide frag score hud for zero scores 2017-05-22 11:29:45 +02:00
ac-stef 788baf6299 cleanup sound 2017-05-22 11:29:41 +02:00
aurhat e126faef15 Cleanup 2017-05-21 22:08:04 +02:00
aurhat 8bc1a0121b Display description of references in menu footer 2017-05-21 21:43:33 +02:00
ac-stef 58ca08ec86 fix conc
thx BrutalSystem
2017-05-19 23:15:18 +02:00
ac-stef aa2e3876f9 fix menu footer size calculation
also: limit width of item descriptions to screen width & wrap around
2017-05-18 19:29:31 +02:00
ac-stef 2f99b368f0 allow mnemonics for execution context levels
scriptcontext and isolatecontext now allow plain text mnemonics for
context level arguments (one of CORE, CFG, PROMPT, MAPCFG, MDLCFG)

also:

- cleanup (some dead code and dead prototypes removed)
- some stuff renamed
- script errors now show context levels
- conc is no longer thread-safe (but slightly faster)

DOCREF scriptcontext isolatecontext
2017-05-18 16:19:01 +02:00
ac-stef ec2cdb4533 print filenames for errors in map and model config files 2017-05-17 14:13:45 +02:00
ac-stef 6bafdb0037 allow particle type names in md2emit and md3emit
md[2|3]emit <tag name> <particle type> <attrib1> <attrib2>

  particle type may now be numeric 0..19 or one of SPARK, SMOKE, ECLOSEST,
  BLOOD, DEMOTRACK, FIREBALL, SHOTLINE, BULLETHOLE, BLOODSTAIN, SCORCH,
  HUDMUZZLEFLASH, MUZZLEFLASH, ELIGHT, ESPAWN, EAMMO, EPICKUP, EMODEL,
  ECARROT, ELADDER, EFLAG

also: cleanup

DOCREF md2emit md3emit
2017-05-16 17:50:00 +02:00
ac-stef 6f03d1819b add menu for cubescript hooks
- add new hook "autoexec", executed right after autoexec.cfg
- properly report errors during hook execution
- new script to edit the contents of an alias in the console

DOCREF autoexec
2017-05-16 13:11:32 +02:00
ac-stef e256971725 allow empty strings as result of inputcommand 2017-05-16 13:08:21 +02:00
ac-stef 67a6b78353 add team frag counters for non-flag modes
hideteamscorehud 0|1

  same as hidectfhud before, but also for non-flag team modes

DOCREF hideteamscorehud hidectfhud
2017-05-14 20:57:58 +02:00
ac-stef 458b911ecd fix initialisation of entropy pool
have to know home dir before loading entropy.dat

add dummy screenshots on keypress events during first run to get entropy
2017-05-13 20:02:18 +02:00
ac-stef cf55e54faa fix damage indicator overflow after fastforward
break up shiftgametime() time jumps into 5-second jumps and five 1-second
jumps for the last five seconds

rename respawnoffset to lastdeath (because that's what it is)
rename clientside nextmillis to skipmillis (because that's what it does)
2017-05-13 03:46:00 +02:00
ac-stef e093b9f215 remove exception for color codes in conc 2017-05-12 19:53:55 +02:00
ac-stef 12925eaebc attribute damage blend effects to spectated player
...and clear it in case a different player is followed

also: cleanup
2017-05-12 19:07:38 +02:00
ac-stef 33af150e23 fix menu texture preview updates
it was kind of naive to hope, that newstrings would not reuse the exact
same freed memory that was used for the last string at least sometimes...
2017-05-12 13:49:23 +02:00
ac-stef abd37fe6d4 add command to rebuild mapmodel registry
While the mapmodel registry works fully automatically for all auto-
downloaded models, it does not check for manual changes to the filesystem.
To clear models from the list that have been deleted from the profile
directory and to add models that have been downloaded outside the game,
this new menu entry can be used.

mapmodelregistryclear deletes all loaded mapmodel attributes

loadallmapmodels checks the filesystem for mapmodels and loads them
(all trees below packages/models/mapmodels, in home, zips, mods, install)

Both together rebuild the whole mapmodel database.

DOCREF mapmodelregistryclear
2017-05-12 13:27:57 +02:00
ac-stef b33ad603d4 cleanup
c removed

DOCREF c
2017-05-12 01:33:55 +02:00
ac-stef 59389a14f9 use menuselectionbgcolor for all menu item types 2017-05-11 22:48:27 +02:00
ac-stef 4a7109b352 cleanup
that algorithm never worked
2017-05-11 22:26:49 +02:00
ac-stef 824d460262 write more data to clientlog in case of crash
write the stackdump and the cubescript history (if available)
at least try to close the clientlog file
2017-05-11 17:47:21 +02:00
ac-stef 3e1578c35f fix crash with menuselectiondescbgcolor 2017-05-07 20:30:55 +02:00
ac-stef 5eec79d792 add batch map conversion stage to find some unnecessary heightfields
In old versions of AC it was necessary to trick with heightfields to raise
a pickup entity. However, for quite some time now, pickups can be raised
by attribute.

This additional stage for convmap finds pickup entities where the
heightfield is most probably unnecessary. Fixing is manual work, though.

Updated those pickups on 16 maps.

Also fixed a playerstart on desert3
2017-05-06 00:52:31 +02:00
ac-stef b650fca2ca persistidents cleanup
Restore the old persistidents system from AC 1.0, since it's working as
intended - if used properly.

As a reminder:

  * aliases created by "const" and "tempalias" are never persistent
  * aliases created or altered by "alias" or "=" become persistent, if
    the persistidents flag is set during that operation
  * persistidents if false during the execution of almost all config files
    during game start - those files can create aliases with default values
    which will not be persistent (until changed later while the flag is
    set)
  * before saved.cfg is executed, the flag is set and stays set all
    throughout the game - which means, that all changes (from menus, for
    example) will change the altered alias to "persistent"
  * exceptions for map or model config files are unnecessary, since those
    run restricted and can't create aliases anyway
  * exceptions are necessary for "late run" config files like those in
    config/opt/

The new command "persistidents" may be used to manually set or clear the
flag. It also returns the current state of the flag. If used in a config
file, the flag is restored to its original value when the file ends
execution.

In short: only late-run config files (meaning: run after saved.cfg was
restored) may need to manually set/reset the flag. Use const and tempalias
where appropriate and clear persistidents before creating an alias with a
not-to-save default value that may be changed and made persistent later.

DOCREF persistidents
2017-05-05 15:50:59 +02:00
ac-stef fc82b82b85 cleanup 2017-05-04 16:28:04 +02:00
ac-stef 5e638565f8 cleanup
- un-inline stuff that really doesn't need to be
- unify weapon id checks
- shrink guns
2017-05-02 21:38:58 +02:00
ac-stef 777638f3a9 ignore z differences when drawing radar 2017-05-02 00:39:30 +02:00
ac-stef a1687afb4c remove realtime model modding
models can still be changed by mod packages
2017-05-01 22:01:14 +02:00
ac-stef 8d21f39ad9 more mouse code cleanup
- remove sensitivity training (should be rewritten in cubescript, if
  actually required)
- more documentation on mouse sensitivity parameters
- some renaming

DOCREF findsens
2017-04-30 21:15:05 +02:00
ac-stef f9223149ec mousemove code cleanup
- remove esoteric option to choose between a*b/c and a/c*b
- some comments added

DOCREF scopesensfeel
2017-04-30 20:36:35 +02:00
ac-stef 1b596e059a roll update
- split into strafe roll (maxroll) and damage roll (maxrolleffect)
- locally recompute remote players roll (can be removed from pos pkt)
- fix maxrollremote

DOCREF maxroll maxrolleffect maxrollremote
2017-04-29 18:23:23 +02:00
ac-stef deb73081e8 fix missing musicpreload range check 2017-04-28 16:55:55 +02:00
ac-stef 68c7ad1fe6 cleanup pi
use only one constant for Pi, in case we ever need to change it
2017-04-28 15:18:00 +02:00
ac-stef 967fd62077 cleanup 2017-04-26 16:14:39 +02:00
ac-stef 8e08cddaa7 improve cutcolorstring
now takes the width of characters into account

also: fix wraparound for docrefs
2017-04-24 21:48:57 +02:00