Add oil barrels on all clients.
Fixes desynch 10 minutes after picking up an oil barrel. Introduced in 29966c5. Fixes ticket:3396 and ticket:3413.
Only send 2 desynch logs per player on desynch.
Reset desynch count between games. Since sending 2 logs instead of 5, it should take less time for players to figure out what is going on, when people have slow connections.
Add assertion against duplicate file descriptors.
Probably can't happen, but no idea why the send() call blocks when it shouldn't.
Add scripts to generate translation statistics.
Text version by me, html version by Emdek. The CSS and flag images used by the latter are in https://github.com/Warzone2100/wz2100.net/blob/master/static.wz2100.net/htdocs/css/wztrac.css and https://github.com/Warzone2100/wz2100.net/tree/master/static.wz2100.net/htdocs/img/flags.
Merge branch 'bugfixes' into 3.1
* bugfixes: Add scripts to generate translation statistics. Update custom translations. Add assertion against duplicate file descriptors. Only send 2 desynch logs per player on desynch. Add oil barrels on all clients.
Disable being shown the option to save at the end of the mission (in …
…the mission summary screen), this is a work around for a flaw in the level loading code in some levels. Also disable autosaves, for the same problem. refs #3377
Savegames are now stored by type. Campaign saves are located in saveg…
…ames/campaign/ Skirmish saves are located in savegames/skirmish/
Do away with apsStaticTemplates completely, it caused multiple issues…
…. There is no difference in accessing the templates for the AI or Humans now. Only write templates out for active players. Make each template's group unique to each player. Fix clone wars templates. Remove hacky functions GetHumanDroidTemplate & GetAIDroidTemplate fixes ticket:3146 close ticket:3369 refs b99e845 refs 0cc7c31
Let's try to stop checking for tiles when we are offscreen via a Tran…
…sporter. fixes ticket:3403
Trying to find out why savegames are being broken.
Possibly helps in finding out why #3416 happens. refs:3416
Try to fix the autogame hack by introducing a new bool to keep track of
when we should be using the AI's templates. This only works in debug mode! TODO: Move the actual setting of this bool script side, in case the user picks a AI that doesn't support the 'autogame' command. close ticket:3369
add sequences to base with 9 FMVs as discussed on ML. Fix Makefile
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/tags/2.3.5@11721 4a71c877-e1ca-e34f-864e-861f7616d084 (cherry picked from commit e151241) Conflicts: data/Makefile.am
Don't desynch in debug mode when pressing 'A' or 'W'.
Accidentally pressing the 'A' and 'W' keys in debug mode lowers and raises the terrain by an unnoticable amount, causing mysterious hard-to-reproduce and hard-to-debug desynchs some time later, when a droid crosses the affected tile. Steps to reproduce: Start a multiplayer game, and set all players to autogame for easy debugging (this requires enabling debug mode). In one of the clients, press Control+A to select all units, using a keyboard where the Control key sometimes but rarely fails. Scroll around the map, or do something else, until a droid crosses the tile where the mouse cursor happened to be when Control+A was pressed. Watch the game mysteriously go out of synch due to an apparent miscalculation in the droid position. Try to debug what went wrong with the droid position. Also, remove redundant test in buildFlatten().
Flush net data immediately after sending GAME_GAME_TIME.
This allows accelerated multiplayer games to run faster. Probably also reduces game latency slightly.
Change objmemDestroy() to return a bool.
When we have droids that are "dead" but still have actions/orders concerning them, we delay killing them completely (as in, free their memory /cleanup routines) until those actions/orders are cleared on the next cycle. Use logging of life, death, and memory to see what is going on. fixes ticket:3419 ref:3338
Patch by NoQ Original model by Berg Fixes ticket:3365
Make net usage statistics more meaningful.
Previous behaviour: Show bytes sent, before compression, per CPU-second. So with 50% cpu usage, the numbers would be doubled. New bevaviour: Show actual bytes sent, and also show bytes sent before compression, per actual second, independent of CPU usage.
Truncate game state CRC sent over net to 16 bits.
This should save a tiny bit of bandwidth, at least 20 bytes/second.
Try harder to prevent desynch on player leaving.
There seem to be way too many ways that a player can leave, disconnect, drop, be kicked, leave (again), be destroyed and/or be cleared. During a game, NET_PLAYER_DROPPED must not be sent, since it is executed at a random game time, and GAME_PLAYER_LEFT must be sent instead. Independently of whether the player left, disconnected, dropped, was kicked, left, was destroyed, was eaten by a grue, or was cleared.
Adjust turret pitch as far as possible, and no farther.
Weapons could fail to fire, if the desired pitch was outside the limits. Fixes ticket:3267.
Fix destroyed structure count to count destroyed non-walls instead of…
… destroyed walls. Introduced in f6ddbf1. Fixes ticket:3380 and ticket:3435.
The ┴- and ┘-shaped model files are currently ┼-shaped, and the ┼-shaped model will need updating to avoid Z-fighting. Fixes ticket:3336.
Allow shooting through open gates.
Also, raise fully-opened gates by 1 unit, to better support models of ┼-shaped gates, where the heights of the gate pieces differ by one unit to avoid Z-fighting.
Add new corner gate models by Berg.
And fix old gate model (also fixed by Berg).
Do not make all tanks suddenly accelerate to hover speeds at end of p…
…ath. Fixes ticket:3424.
Prefer targets not too close to fire, and prefer very damaged targets.
Previously, preferred damaged over non-damaged, but not very damaged over lightly damaged, due to integer truncation.
Let structures look for good targets, instead of shooting at the near…
…est target. The targetAttackWeight() function with special cases for structures is now actually used for structures.