Commit Graph

685 Commits

Author SHA1 Message Date
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
leper c93c1c92eb Replace std::auto_ptr uses by std::unique_ptr since the former is deprecated.
This was SVN commit r16674.
2015-05-25 01:23:27 +00:00
Itms 8b4b8431e3 Small cleanup, based on a change from one of Philip's old patches
This was SVN commit r16653.
2015-05-16 09:39:27 +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
leper b8a20c958c Do not serialize properties for Sets. Serialization tests for Map and Set.
This was SVN commit r16620.
2015-05-04 01:41:09 +00:00
leper a9afa61a7b Serialization support for ES6 Sets.
This was SVN commit r16608.
2015-05-01 23:04:28 +00:00
Itms a0cf780e1e Amend 5c84c3e9e5
This was SVN commit r16547.
2015-04-16 13:17:58 +00:00
trompetin17 2042e6b2d4 Added TriggerScripts Reload(Hotloading) when you change the file and save
This was SVN commit r16546.
2015-04-16 04:30:51 +00:00
Itms 5c84c3e9e5 Some entities (like birds) can have negative positions without being marked as out-of-world.
Refs #2430

This was SVN commit r16544.
2015-04-15 12:19:47 +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 4e763ef26e Move civ JSON files to simulation/data. Patch by MattDoerksen. Fixes #2562.
This was SVN commit r16485.
2015-04-01 23:48:33 +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 bb9de80dd4 Convert CConsole to take UTF-8 strings.
This avoids vswprintf failures when printing non-ASCII char* strings
from CLogger into the console.

Also convert ScriptInterface::ToString to return UTF-8, to avoid some
utf8_from_wstring calls.

Also remove some unused and redundant CConsole functions.

This was SVN commit r16333.
2015-02-14 01:49:34 +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
leper 123bab6793 Replace use of safe bool by explicit bool operator.
This was SVN commit r16228.
2015-01-25 03:11:24 +00:00
Yves 15e8637b67 Fix build with Visual Studio
I've reverted this workaround before the SM31 commit because I thought
it's only a problem with VS2010. Actually VS2013 still doesn't support
C++11 well enough and still requires the workaround.

Refs #2669, #2462

This was SVN commit r16215.
2015-01-24 16:33:27 +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 f350a24c73 Disable "assignment operator could not be generated" warning globally on Windows, since it's never useful.
This was SVN commit r16192.
2015-01-22 21:09:33 +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
Ykkrosh dcf5a2667f CLogger: Use cppformat instead of sys_vswprintf.
sys_vswprintf relies on platform-specific printf implementations, which
vary widely between platforms (in handling of truncation, return values,
use of %s/%S/%hs/%ls for mixing char and wchar_t strings, etc) and are
therefore a pain.

Use cppformat's fmt::sprintf instead, which has very similar syntax to
sprintf but is more C++ish and is portable.

Also, wchar_t is stupid, so use char* strings (which are expected to be
UTF-8) in CLogger. This creates a bit of a pain with changing all
callers to convert to char* strings, but that's their fault for not
using UTF-8 already.

Refs #3011.

This was SVN commit r16182.
2015-01-22 20:30:05 +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
Itms 5cf2086a33 Fix the initial exploration of territories, which shouldn't be performed in Atlas.
Also clean up the code a bit.

Fixes #2969

This was SVN commit r16129.
2015-01-08 22:36:13 +00:00