When player1 spectated alive player and this watched player disconnected,
then camera1 pointed out still this non-existing player, for one main loop.
It had such negative effects, that hudgun could disappear to AC restart,
also AC crashed sometimes.
Tested mainly in tosok, on last alive player in a team.
It's solution for missing hit/shot/etc. sounds:
1. decrease priority of ambient sounds to low, in order to hear more
non-ambient sounds with priority greater than low;
2. increase amount of sound channels to hear more sounds. Newer sound
cards on PC should be able to use more channels than only 32;
3. improve preset sound settings.
Remark: after these changes for default value of mapsoundrefresh (10)
break in playing ambient sounds, caused by playing sounds with greater
priority, isn't practically audible. The break is audible for greater
value, for example for mapsoundrefresh=1000.
Remarks:
1. Changed order in keycmds lets to keep alphabetical order in saved.cfg .
2. Earlier long information in docs about arguments of command could be
invisible for low aspect ratio (example: "weapon" command), now it's fixed.
Before values of botsshoot and idlebots were showed wrong, when bot mode
wasn't earlier triggered, and later these values were overwrote after
start of bot mode (thx harps).
Added features on minimap/radar:
1. local player is visible only when he doesn't follow;
2. player followed (watched) in third person point of view is visible
and his team too;
3. fix issue #99 ;
4. fix map position on radar, when player is followed in 3rd person pov -
before map didn't move with the followed player.
The commit increases very much speed of demo rewind and also prevents
AC freeze for gamespeed = 1000.
It may degrade physics for gamespeed = 1000 on very low end machines.
After dropping the flag player1 will see for a very short moment,
before flag position will be updated by server, flag dropped at player1
position. Earlier he could see for this moment flag dropped in a place,
when it was picked up.
The bug caused SIGTRAP during fastforwading demo in debug mode, when other
players disconnected.
These asserts were removed, because they can be triggered because of a bug.
1. In multiplayer this switching isn't allowed, because it was broken
and messed up, for example other players didn't see concurrently
spectating and editing player.
2. In demo mode switching from spectate to edit mode is improved.
3. Several years broken code for edit mode is reverted.
No more sounds audible on the whole map in bot modes, when bots change
weapon or have no ammo.
Gun change sound in bot code was a duplicate, so removed.
Changes:
1. added single aliases bounded to the keys, in order to maintain easier
the binds;
2. cleaned up binds;
3. updated Keyboard menu and fixed searching binds.
Remark: aliases bounded to the keys shouldn't have leading and trailing
white spaces, if they are present in Keyboard menu, otherwise they won't
be found. So construction like, for example: bind SLASH [ key_commandline ]
is inadmissible.
4. Alternate edit binds (default disabled) moved to
config/opt/alternateeditbinds.cfg and removed old_editbinds variable.
DOCREF old_editbinds
Fixed nested list in Cubescript, fixed conopen (now read-only), removed changeteam(),
fixed name of shortcuts for team survivor modes (so it fixes
https://github.com/assaultcube/AC/issues/73 ).
DOCREF ts tsurv btsurv
Before, if player switched to akimbo just as it expired, he ended up with
akimbo and 0 ammo. Now his weapon will change to default weapon (the most
often primary), as if he would take akimbo in the hands.
Use LSHIFT to direct TAB-completion to browse backwards through the
available alternatives.
also: full cleanup of the commandcomplete()-code [by stef]
* fix crashing buffer overflow
* remove some ancient ludicrous code
* ignore more spaces
* browse command- and filename-alternatives in alphabetical order
* clean up nickcomplete
* more comments (sry)
The fix also allows to turn on/off the scope during intermission (since
a few years the scope was blocked in intermission, because it was
immediately turned off by scoreboard).
0 - turn off all effects; 1 - turn on all effects;
2 - turn on color change/off size change for AR and > 3 shots in a row;
3 - turn off color change/on size change for AR and > 3 shots in a row.
It fixes https://github.com/assaultcube/AC/issues/72 .
DOCREF crosshairfx
SDL libraries are updated to v. 1.2.15, SDL_image libraries and headers
to v. 1.2.12. SDL headers were updated to v.1.2.15 earlier, in commit
78e1621e52 .
Earlier was, for example, such negative effect, that when player had AR
and more than 3 shots in a row and died, then after spawn he saw
for a moment bigger crosshair (if he didn't turn off this default effect).
This reverts commit 60eb0ac393.
There is possible to turn off a scope by weapon changing (however
behaviour of scope during intermission can be changed in "next" branch).
Commit shows time in format mm:ss in scoreboard, instead of
"X minutes remaining" info.
It also enables the clock default on the HUD and adds "clockcount"
variable which let to choose between counting forward or backward
in the clocks.
DOCREF clockdisplay clockcount
Fixes:
1. show time remaining in system console after each minute;
2. correct form of minute(s);
3. show info "everyone died!" instead of "team SPECTATOR has won
the round!" in demo mode;
4. show correct info to which team (name) was player forced, when player1
is spectator.
For spectatepersistent = 1 that is always enabled (that means, that
spectated player isn't changed after his death), for 0 - only in
non-arena modes, except of demos.
"if(!available.length()) return f;" is introduced, in order to, in arena
modes, doesn't happen switching to SM_FLY, when last alive players dies
in the same moment and there is no winner of the round.
Before if you watched player from the first spectating position
(SM_FOLLOW1ST), and that player disconnected, then you switched
automatically to another player, but also to second spectating position
(SM_FOLLOW3RD), instead of stay in SM_FOLLOW1ST - this commit fixes that.
The commit:
1. fixes value of download speed in KB;
2. introduces unique names of progress_callback() functions;
3. removes one unnecessary write_callback() function;
4. removes duplicated code/info in loadmodel().
Alternative views in the serverbrowser are implemented with use favourites.
Categories (names) of favourite servers, which will be displayed on the
views, have to be included in "serverbrowseraltviews" alias (accessible
in menu).
Switching between views is possible with use Alt + Mouse wheel and
Alt + Up/Down (or eventually "[" and "]", if they are dedicated keys
on your keyboard).
The commit also:
1. adds MATCH category to favourites;
2. shows category name in settings of favourites;
3. shows weights in serverbrowser instead of favourites image,
when showweights = 1;
4. cleans up some tabs.
Commit fixes broken "gonext" command, among other things reading time
from maprot, and it does random result of this command.
It also removes get_next() function, because it messes up the maprot,
so shouldn't be used.
This reverts commit 5450296879.
I don't know, why the code was changed before, but that caused, that images
in menu weren't transparent, for example image of favourites in
the serverbrowser.
The commit:
1. does serverdescription keyword case insensitive for
showonlyfavourites > 0;
2. fixes typo in argument of alias in keyword;
3. fixes disabling background color for servers of the category, when
alpha is changed to 0;
4. shows 0 instead of 10 in info about digit, which toggles 10th category;
5. adds info about "image" attribute in favourites.cfg;
6. adds new feature: "Search for servers".
Before this fix player could switch from spectate to alive mode,
but he stayed in SPECTATOR team.
Note: 2 mouse clicks are necessary to player's spawn. Second respawnself()
is needed, because spawnplayer() is executed before server will switch
player1 to active team, so he would always spawn in CLA base (in bot
team modes).
After startup of LAN servers browser there appeared sometimes also remote
servers, instead of only LAN servers.
I such case "si.lastpingmillis=servermenumillis" for all remote servers.
So this commit changes a little existing condition, to prevent above
problem.
The first fixes the last use of menusel, that wasn't checked for range yet.
The second one brings menusel back into range, if there is no
refresh function.
First fix - now togglespect lets to return automatically to previously
spectated player, after spectating him, switching to "fly spectate" mode
and again to spectating players.
Second fix - now player doesn't land and stuck outside of new map,
when during spectating somebody map changed.
FCPNs are removed, because currently they aren't used.
First fix causes, that when player1: plays non-team mode + already is in active mode + changes team to enemy, then will appear message: "you can't switch teams while being alive".
Current wrong message is: "you can't change to active mode".
Second fix disables redundant info: "$playername changed to active play", after change to enemy team in non-team modes, when he is already in active mode.
...when player holds nade and akimbo disappears.
To test the bug: take akimbo, take grenade, press "g" and wait for akimbo disappearing.
Then stats on HUD shows, that player has pistol with 0 ammo, instead of full magazine.
This is fix of https://github.com/assaultcube/AC/issues/16 .
Btw sending permanently the rolls of remote players is waste of bandwidth and money of server owners, so this pointless feature should be ultimately removed.
But untill it won't, the fix should be implemented, in order to not annoy players spectated other players.