leper
c9893b3dd0
Test serialization of nested maps. Refs #3164 , #3374 .
...
This was SVN commit r16954.
2015-08-30 00:06:39 +00:00
leper
8217fa1a0e
Warn about range queries that can never return any results.
...
This was SVN commit r16951.
2015-08-29 22:49:49 +00:00
Itms
8e70140ec2
Handle properly static shapes that overlap the edge of the map (likely to happen with square maps).
...
This should fix #3364 .
This was SVN commit r16944.
2015-08-28 11:38:14 +00:00
Itms
d129ae3cd8
Fix a special situation where map control percentage wasn't computed properly.
...
Also improve the code and fix a typo.
Based on patch by s0600204, fixes #3378 .
This was SVN commit r16941.
2015-08-27 16:26:32 +00:00
Itms
a63b7a0126
Add ability to query the map control percentage, and use this value in the summary screen. Patch by s0600204, fixes #3321
...
This was SVN commit r16933.
2015-08-23 17:44:37 +00:00
Itms
ba82743777
Some range-based for loops.
...
This was SVN commit r16926.
2015-08-20 12:58:41 +00:00
Itms
b2e8a241d2
Properly check loaded scripts in the second simulation instance of a serialization test. Fixes #3238
...
This was SVN commit r16925.
2015-08-20 12:52:29 +00:00
Itms
1ab3a4a02d
Fix 6506bc20cb, refs #3238
...
This was SVN commit r16924.
2015-08-20 12:49:43 +00:00
leper
558d43bac5
Replace some functor structs with lambdas, closures or range-based fors.
...
This was SVN commit r16923.
2015-08-19 03:33:04 +00:00
leper
36c6b50944
Revert emplace for associative containers. Fixes #3366 .
...
GCC < 4.8.0 does not support emplace for those.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44436 .
This was SVN commit r16922.
2015-08-19 03:32:47 +00:00
Itms
1c9ea56800
Fix the CheckLineMovement algorithm. Added some comments and a test to avoid problems.
...
This addresses some "stuck units" cases.
This was SVN commit r16918.
2015-08-13 16:21:39 +00:00
Itms
01de76f4be
Code improvements for the hierarchical pathfinder: cache hits and variable initialization.
...
This was SVN commit r16917.
2015-08-11 15:21:11 +00:00
Itms
28ef270571
Enhance the MakeGoalReachable algorithm to handle better non-point goals.
...
Fixes #3363 , #3297 .
This was SVN commit r16915.
2015-08-11 09:47:08 +00:00
leper
8bfe16cac8
Use in-place construction.
...
This was SVN commit r16894.
2015-07-29 23:44:17 +00:00
leper
c5eb9b7bb7
Range-based for for VfsPath loops.
...
This was SVN commit r16893.
2015-07-29 23:44:12 +00:00
leper
da48c8c26f
Some const refs and one const function.
...
This was SVN commit r16882.
2015-07-27 01:08:25 +00:00
Itms
f240374b28
Fix a number of short/long range pathfinder inconsistencies revealed by 128a603287.
...
This was SVN commit r16869.
2015-07-18 12:33:40 +00:00
Itms
128a603287
Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292 .
...
However, using the terrain-only grid reveals one discrepancy between the
short pathfinder (which uses unit radii) and the long one (which uses
unit clearances). So I implemented the change proposed by sanderd17 in
#3294 , which is removing unit radius and using only the pathfinder
clearance. Refs #3294
Now some tweaking has to be done in the templates, so that units get a
passability class suited to their apparent size. In the meantime the
unit motion is quite bugged.
This was SVN commit r16867.
2015-07-18 08:37:49 +00:00
Itms
8fc4ecaa6b
Fix previous commit, stupid typo...
...
This was SVN commit r16859.
2015-07-15 16:57:23 +00:00
Itms
b58f8ab969
Serialize the activation flag of the scripted Visibility component.
...
Currently only preview entities are affected, and they are not
serialized, but it could break a lot of things in the future.
This was SVN commit r16858.
2015-07-15 16:55:05 +00:00
Itms
39d93ea17c
Change the handling of modified entities in the visibility update.
...
The game has to deal with situations such as: the visibility of an
entity changes, a mirage is created for it -> the mirage visibility is
updated -> the entity visibility is updated back.
All of this process now happens in the same turn, and all updates are
guaranteed to be performed. This fixes a source of serialization errors
and rejoin OOSes.
Fixes #3107
This was SVN commit r16857.
2015-07-15 16:46:59 +00:00
Itms
9f1b85d562
Remove a useless global terrain update when modifying environment settings in Atlas.
...
Also make sure that the settings are updated in the game view in a
non-hacky way.
This was SVN commit r16855.
2015-07-14 17:08:02 +00:00
Itms
0c45e3b5d0
Correctly compute the masks for shared visibility updates. The old code was working only because of luck when shared vision was always reciprocal.
...
Refs #2055 , fixes #3327
This was SVN commit r16842.
2015-07-11 16:45:09 +00:00
Itms
aa78c1be66
Make the connectivity grid generation algorithm of the hierarchical pathfinder a bit less stupid.
...
This was SVN commit r16834.
2015-07-05 20:32:52 +00:00
Itms
11c9471ad6
Change back the long pathfinder to take into account non-pathfinding classes, but only when reloading, to avoid impacting the performance.
...
Also make the GetPassabilityClasses functions use references instead of
wild allocations. Use a reference when passing pass classes to the AI
worker.
This was SVN commit r16833.
2015-07-05 19:14:52 +00:00
Itms
0e4e3754e9
Update the passability grid properly when changing the map shape or the water height. Also include a fix for a possible bad memory access.
...
This was SVN commit r16832.
2015-07-04 21:25:57 +00:00
Itms
3018359576
Improve a little bit Atlas performance when modifying terrain elevation.
...
This was SVN commit r16827.
2015-07-01 19:13:56 +00:00
Itms
30e5f032d8
Adapt Atlas to the new pathfinder. Fixes #3298
...
This was SVN commit r16824.
2015-06-29 19:59:41 +00:00
Itms
e1a34eb4ea
Handle (de)serialization of the AI pathfinder.
...
This was SVN commit r16815.
2015-06-24 20:24:58 +00:00
Itms
0b7343dccc
Preserve the dirtiness informations of the passability grid at deserialization for proper AI updates.
...
Refs #3310
This was SVN commit r16814.
2015-06-24 20:15:06 +00:00
Itms
152d39d8a6
Fix save/load games, and use the new code to enhance the tests.
...
This was SVN commit r16812.
2015-06-23 20:39:11 +00:00
historic_bruno
c5814ef76c
Fixes tests adding system components without using the SYSTEM_ENTITY id - this caused assertion failures in debug builds
...
This was SVN commit r16803.
2015-06-21 19:22:12 +00:00
leper
ae4dfe294d
Actually state the file instead of the directory in some error messages.
...
This was SVN commit r16802.
2015-06-21 18:46:33 +00:00
Itms
1830c6346b
Revert most of 989f164500, and add a comment to prevent people from making the same mistake.
...
This code used to make units with the pass class "ship-small" blocked
nearly everywhere.
This was SVN commit r16794.
2015-06-18 19:54:30 +00:00
Itms
9701a85554
Fix a possible problem with grid updates. Refs #3296 .
...
This was SVN commit r16791.
2015-06-18 16:31:38 +00:00
Itms
989f164500
Make the terrain analysis slightly more efficient for pathfinding passability classes, and fix a mistake introduced in 1709353e2c.
...
This was SVN commit r16787.
2015-06-17 20:48:41 +00:00
Itms
155c6e6ccd
Properly initialize the AI pathfinder, and clean whitespace.
...
This was SVN commit r16786.
2015-06-17 20:35:23 +00:00
Itms
1709353e2c
Changes the general behavior of non-pathfinding passability classes, in order to make the handling of foundation obstructions less difficult. This will allow the AI to be fixed, as reported in #3295 .
...
Also some cleanup and comments updates.
Refs #3295 .
This was SVN commit r16784.
2015-06-17 20:19:53 +00:00
Itms
c8a5708654
Fix tests.
...
This was SVN commit r16777.
2015-06-15 19:48:42 +00:00
Itms
473b282265
Refactor the grid update code. Should give a significant performance boost to the simulation update.
...
Also fixes some bad code that could lead to hidden bugs.
Fixes #3296 , thanks elexis for testing ;)
This was SVN commit r16764.
2015-06-14 19:22:07 +00:00
Itms
d676b047a0
Move ~LongPathfinder after the declaration of LongOverlay.
...
Also improve the style.
This was SVN commit r16762.
2015-06-13 21:02:01 +00:00
Itms
6581796103
New long-range pathfinder.
...
Based on Philip's work located at
http://git.wildfiregames.com/gitweb/?p=0ad.git;a=shortlog;h=refs/heads/projects/philip/pathfinder
Includes code by wraitii, sanderd17 and kanetaka.
An updated version of docs/pathfinder.pdf describing the changes in
detail will be committed ASAP.
Running update-workspaces is needed after this change.
Fixes #1756 .
Fixes #930 , #1259 , #2908 , #2960 , #3097
Refs #1200 , #1914 , #1942 , #2568 , #2132 , #2563
This was SVN commit r16751.
2015-06-12 18:58:24 +00:00
leper
a18fbd12ec
XML validation. Based on patch by historic_bruno. Refs #245 .
...
This was SVN commit r16733.
2015-06-07 21:56:52 +00:00
sanderd17
14bfbbf9d4
Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233
...
This was SVN commit r16715.
2015-06-04 12:16:52 +00:00
historic_bruno
f6f4f83784
Fixes instant multiplayer crash on OS X Lion (10.7). libc++ had a bug where it set eofbit on reading the last character in a stringstream, we compare gcount with the expected length as a workaround to detect real eofs. Fixes #3109 .
...
This was SVN commit r16714.
2015-06-04 05:11:47 +00:00
trompetin17
6506bc20cb
Fixes #3238 , SetGlobal 'TriggerHelper' called multiple times
...
This was SVN commit r16713.
2015-06-03 20:34:59 +00:00
sanderd17
b738772d65
Fix typo
...
This was SVN commit r16696.
2015-05-29 19:51:48 +00:00
sanderd17
e68ef21334
Don't decay when connected to connected allied territory, and also allow the decay script to determine which parts of the territory should blink
...
This was SVN commit r16692.
2015-05-29 07:02:16 +00:00
leper
4ccc9130ba
Add missing include.
...
This was SVN commit r16683.
2015-05-26 15:40:04 +00:00
sanderd17
60f784900a
Fix the territory influence weight to fit into an u16 number. (no idea why the buildings have so many different weights though).
...
This was SVN commit r16682.
2015-05-26 14:25:23 +00:00