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
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
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
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
sanderd17
0054486dba
Implement methods to find the neighbour of a certain territory, and use it for territory decay. Fixes #3204
...
This was SVN commit r16676.
2015-05-25 14:17:45 +00:00
Yves
a39aa76e62
These temporary roots aren't needed anymore with SpiderMonkey 31
...
This was SVN commit r16647.
2015-05-10 09:01:39 +00:00
mimo
399daeddbf
prevent loading of templates in AIManager when no AIs, fixes #3101
...
This was SVN commit r16633.
2015-05-07 19:09:39 +00:00
Itms
642500b49e
Make the Ptolemaic lighthouse reveal the shore on the entire map.
...
Fixes #3174
This was SVN commit r16628.
2015-05-06 18:47:02 +00:00
Itms
6aa99d762f
Add a new spatial subdivision, based on an old patch by wraitii.
...
This subdivision is faster but less precise, so range queries get more
entities and are a bit slower (up to 1ms approx.), but the overall gain
on a simulation update is always positive and can reach 10ms per frame.
For now, this new subdivision is only used by the range manager,
integrating it in the obstruction manager might be sensible.
Refs #2430
This was SVN commit r16540.
2015-04-14 21:33:43 +00:00
leper
41863d6ae2
Explicitly cast to unsigned to fix a warning.
...
This was SVN commit r16483.
2015-04-01 23:48:23 +00:00
historic_bruno
b1c4e29ac8
Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029 .
...
NOTE: requires update-workspaces and may require correction of some
modded actors/scenarios
This was SVN commit r16438.
2015-03-15 23:59:48 +00:00
Itms
caf89fa04e
Rename ps/Overlay(.h|.cpp) to ps/Shapes(.h|.cpp), fixes a TODO located in graphics/Overlay.h.
...
The file name did not match the content.
Also little cleanup of some unnecessary includes.
This was SVN commit r16431.
2015-03-15 18:06:32 +00:00
leper
e41ec77eb6
Remove unused file.
...
This was SVN commit r16417.
2015-03-15 04:16:31 +00:00
leper
2b5de1df93
Do not send VisionRangeChanged messages when deserializing. Fixes #3075 .
...
This was SVN commit r16401.
2015-03-03 01:59:42 +00:00
leper
f8ff206169
Recreate some tech modified values upon deserialization. Fixes #3055 .
...
Also check for some possible null pointers.
This was SVN commit r16364.
2015-02-21 01:41:24 +00:00
leper
0da0b062e1
Return the correct projectile id to fix serialization test failure.
...
This was SVN commit r16363.
2015-02-21 01:41:09 +00:00
Itms
00da480b83
Trigger a global visibility update after shared LoS changes. Fixes the entities of new mutual allies not visible.
...
Also add some player-dependent logic to avoid performance bottlenecks.
This was SVN commit r16359.
2015-02-20 14:35:19 +00:00
Itms
ba210c4d59
Fix c229b46ac2.
...
This was SVN commit r16343.
2015-02-16 14:38:13 +00:00
Yves
c229b46ac2
Move visibility component activation check to C++. Patch by Itms.
...
This improves performance quite a lot because it avoids a huge number of
calls from C++ to JS. Check the ticket for performance measurements.
Refs #2913
This was SVN commit r16337.
2015-02-14 17:13:50 +00:00
Ykkrosh
e06a7b37d8
Convert debug_printf to take UTF-8 strings instead of wchar_t.
...
This fixes the problem where passing a non-ASCII string to
debug_printf(L"%hs", s) caused vswprintf_s to fail on Linux (because it
doesn't know what encoding the char* is meant to have). Now debug
messages will remain as UTF-8 until they reach the OS.
Fixes #3021 .
This was SVN commit r16332.
2015-02-14 01:45:13 +00:00
Itms
682a944d7e
Little code tweak without performance impact
...
This was SVN commit r16329.
2015-02-12 23:24:48 +00:00
Itms
bd7b07cc80
Make the visibility cache a bit more clever, by making LoS tiles as dirty separately for each player.
...
It is necessary to rely on shared los masks, else some visibility
updates will be missing.
Refs #2913 , see this ticket for a performance graph.
This was SVN commit r16328.
2015-02-12 23:22:29 +00:00
Itms
da0f33f137
Reduce drastically the number of mirages by making fogging conditional: entities will be miraged only if their health/resource amount is modified, or if they have a non-gaia owner.
...
Fixes the animals hidden in the FoW, and adds the missing status bars
for mirages.
Also small cleanup of the code.
Refs #2913
This was SVN commit r16281.
2015-02-07 15:48:32 +00:00
Itms
b66465de73
Improve code clarity after 0a53c5e06a by removing a fall-through.
...
Also fix the indentation to follow the coding conventions.
This was SVN commit r16280.
2015-02-07 15:38:22 +00:00
Itms
0a53c5e06a
Fix hero selection ring not cleared when the unit goes out of the world (when garrisoning for instance).
...
Patch by trompetin17, fixes #2627 .
This was SVN commit r16274.
2015-02-06 20:47:31 +00:00
Itms
bf6323a71f
Amend 7020d17886 and also fix observer mode. Fixes #3032 .
...
This was SVN commit r16267.
2015-02-04 09:20:00 +00:00
Itms
3225e564fe
Fix 1564a10120, plus code cleanup
...
This was SVN commit r16254.
2015-02-01 19:04:21 +00:00
Itms
7020d17886
Fix Gaia perspective, in which one could only see entities with a dirty visibility cache.
...
This was SVN commit r16250.
2015-01-30 18:08:16 +00:00
Itms
1564a10120
Move back the computation of most of the visibilities from JS to engine, to improve performance.
...
Also fix the remaining TODO left by #958 , as a use case of the scripted
Visibility component.
Refs #2913 , #958 .
This was SVN commit r16248.
2015-01-30 15:28:06 +00:00
Yves
c02a7e1a7b
SpiderMonkey 31 upgrade
...
This upgrade also introduces exact stack rooting (see to the wiki:
JSRootingGuide) and fixes problems with moving GC. This allows us to
enable generational garbage collection (GGC).
Measurements a few months ago have shown a performance improvement of a
non-visual replay of around 13.5%. This probably varies quite a bit, but
it should be somewhere between 5-20%. Memory usage has also been
improved. Check the forum thread for details.
Thanks to everyone from the team who helped with this directly or
indirectly (review, finding and fixing issues, the required C++11
upgrade, the new autobuilder etc.)! Also thanks to the SpiderMonkey
developers who helped on the #jsapi channel or elsewhere!
Fixes #2462 , #2415 , #2428 , #2684 , #1374
Refs #2973 , #2669
This was SVN commit r16214.
2015-01-24 14:46:52 +00:00
Ykkrosh
568c415d0a
Convert wchar_t*/wstring arguments to UTF-8 strings in CLogger messages.
...
This was SVN commit r16188.
2015-01-22 20:37:38 +00:00
Ykkrosh
e02d7ad949
Automatically replace %hs/%ls with %s in CLogger format strings.
...
Everything is char* now, so we don't need to mess around with different
string types.
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs perl
-pi -e'1 while
s/(LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR).*)%[hl]s/$1%s/g'
This was SVN commit r16187.
2015-01-22 20:36:24 +00:00
Ykkrosh
38a8e2e0d6
Automatically convert most path.string().c_str() to path.string8()
...
Done with:
ag -l 'LOG.*string\(\).c_str\(\)' source | xargs perl -pi -e'1 while
s/(LOG.*string)\(\)\.c_str\(\)/${1}8()/g'
This was SVN commit r16186.
2015-01-22 20:35:17 +00:00
Ykkrosh
49e2ecea63
Automatically convert all CLogger format strings from wchar_t* to char*.
...
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed
-i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'
This was SVN commit r16183.
2015-01-22 20:31:30 +00:00
Itms
b5b9c0f2ae
Improve template code style for the Decay component.
...
This was SVN commit r16171.
2015-01-21 21:45:05 +00:00
Itms
852cd11305
Improve the performance of the GetLosVisibility function by using the cache (currently used for mirages only) whenever possible.
...
This was SVN commit r16166.
2015-01-20 16:29:50 +00:00