Commit Graph

6107 Commits

Author SHA1 Message Date
8097eeb8ab Fix RMS library forgotten in the previous commit.
Changes some direct accesses to use the library function.

This was SVN commit r16100.
2015-01-01 23:57:00 +00:00
a472944689 Clean up LoadPlayerSettings.
Include gaia to make iteration easier.
Add TemplateExists() to the TemplateLoader. Refs #2877.

This was SVN commit r16099.
2015-01-01 23:10:24 +00:00
8e30410109 Improve PickEntitiesAtPoint
First, do a ray intersection test with the bounding-sphere for all
entities on the map and then check the more detailed selection shape for
the remaining candidates. Do checks that require component lookups after
the ray intersection tests because these are relatively expensive.
The old method for figuring out which entities are below the mouse
cursor was incorrect because it does a 2D check to filter out the first
candidates which can lead to incorrect results with lower camera angles
and high buildings or buildings with a large footprint. Such problems
were avoided with quite a large radius for this 2D test and resulted in
a large number of candiate entities after this first test (200-500).
Also rename PickEntitiesAtPoint to PickEntityAtPoint and make it return
only one (the closest) match.

I've tested performance with the tracelogger by starting a map and then
moving the mouse in circles for one minute. The results were relatively
stable. I've compared the total time percentage of input.js:836, which
spends nearly all of the time in PickEntityAtPoint.
Ardennes Forest - Normal size:       Original: 41.46%    Patched: 31.6%
Ardennes Forest - Giant size:        Original: 40.59%    Patched: 51.55%

As we see, it's faster on normal map sizes but slower on giant maps with
a lot of entities.
This approach can be further improved with some kind of spatial
subdivision for the culling (like an octree), which would help the unit
renderer too. This way it should be possible to make it faster (and
still correct) on all map sizes and with a large total numbers of
entities.

This was SVN commit r16098.
2015-01-01 23:05:26 +00:00
7ac837fb90 allow the removal of entity limits when some requirements are satisfied. This allows to have starting games without cc
This was SVN commit r16097.
2015-01-01 18:28:21 +00:00
95e0763ac9 Seleucid temple commit! Minor edits to Sele_struct_2 texture file.
This was SVN commit r16096.
2015-01-01 16:28:32 +00:00
e8d1acfa41 preserve random civ in saved game settings, refs #2963
This was SVN commit r16095.
2014-12-31 15:34:48 +00:00
802320e753 some petra cleanings
This was SVN commit r16094.
2014-12-31 09:59:47 +00:00
9329506e0d add support for civ specific player template, see #2877
This was SVN commit r16092.
2014-12-31 09:31:41 +00:00
f984ba40ee Seleucid house commit
This was SVN commit r16091.
2014-12-31 07:27:07 +00:00
2c20936ce3 Save map settings. Patch by @aBothe. Fixes #2963.
This was SVN commit r16089.
2014-12-31 00:21:24 +00:00
555601fe51 Petra: avoid creating unused entitycollections
This was SVN commit r16085.
2014-12-29 23:56:37 +00:00
f337905f14 Actually focus the group instead of following it. Patch by trompetin17. Fixes #2972.
This was SVN commit r16083.
2014-12-29 20:40:37 +00:00
53023b7efc This was SVN commit r16082. 2014-12-29 19:26:37 +00:00
9a17a96054 Fix warning when following units. Fixes #2971.
This was SVN commit r16081.
2014-12-29 18:56:00 +00:00
354bd8b088 Only delete/create players until the needed number is reached. Patch by trompetin17. Fixes #1953.
Previously we removed all players and created them anew. This caused
issues in Atlas,
as some components were recreated, but did not get informed about
already existing
entities (eg cmpTechnologyManager). By only creating/deleting players
until we obtain
the new number of players we do not have this issue.

This was SVN commit r16080.
2014-12-29 17:33:39 +00:00
f2edd35989 Enable LoadCivData to only load playable civs. Patch taken from s0600204's structree work.
This was SVN commit r16079.
2014-12-29 16:24:42 +00:00
8608b0fe89 Seleucid Tower and textures
This was SVN commit r16078.
2014-12-29 12:29:41 +00:00
0406f62ea0 Fix a typo, reported by t4nk004 on IRC.
This was SVN commit r16076.
2014-12-28 16:35:32 +00:00
92af594986 Petra: rewrite a stupidly inefficient function spotted by the traceLogger
This was SVN commit r16073.
2014-12-27 18:44:34 +00:00
0dd6711afa make Petra support passability and territory maps of different resolutions, addresses #2960
This was SVN commit r16072.
2014-12-27 15:23:20 +00:00
2ef3c0c42e Compute the actual percentage of map explored by the team in the summary screen.
Fixes #2587.

This was SVN commit r16071.
2014-12-26 19:13:40 +00:00
dbb4b2c920 Update the Greek Acropolis (4) map description to remove the reference to the old non-skirmish map.
This was SVN commit r16070.
2014-12-26 18:07:10 +00:00
ec9e0dfeed Add missing file in 286112e0aa.
Refs: #2937.

This was SVN commit r16065.
2014-12-25 14:22:15 +00:00
286112e0aa Fixes #2937. Thanks to Lion_Kanzen and Pureon for making icons.
This was SVN commit r16064.
2014-12-25 05:12:39 +00:00
b2650e08ba Fixes obelisks for player 2 and player 3 that were inverted.
Patch by silure, thanks!

Fixes #2962.

This was SVN commit r16063.
2014-12-24 15:26:45 +00:00
9684bcd360 add AI support of maps of different dimensions, see #2960
This was SVN commit r16062.
2014-12-23 14:17:52 +00:00
4ce667412b Improve performance when looking for new targets.
Tested in combat demo huge where nearly 50% of the replay time is spent
looking for new targets, and GetPreference is called a lot as used to
sort possible targets.
Caching the preferred classes before the second loop, the replay time of
combat demo huge is reduced by about 15%. Replacing the "for each" loops
by "for of" loops gains an additionnal 7%.

This was SVN commit r16057.
2014-12-21 14:30:47 +00:00
96c45eac61 Fix missing escapes.
This was SVN commit r16056.
2014-12-21 02:23:17 +00:00
01e2a33486 various small improvements in petra (choice of units in start game, ram management and team warnings when new trade route available)
This was SVN commit r16054.
2014-12-19 17:57:24 +00:00
39f6a8d3cd reshuffle the petra deserialization to prevent it to modify the metadata infos
This was SVN commit r16053.
2014-12-16 21:33:07 +00:00
a13cc54fc3 Use correct variable. Fix #2957.
This was SVN commit r16052.
2014-12-16 21:05:24 +00:00
a143c847e2 small fixes for petra
This was SVN commit r16051.
2014-12-14 21:35:24 +00:00
9b6981465a improve a bit the fix of 639a174388
This was SVN commit r16048.
2014-12-13 21:30:13 +00:00
639a174388 petra: fix choice of target when enemy resigned + some cleanings
This was SVN commit r16047.
2014-12-13 16:47:37 +00:00
add113a2a1 Remove duplicated layers of unescaping which required multiple escapes in some places.
This was SVN commit r16043.
2014-12-13 01:08:29 +00:00
a22f30c9b0 Improve AI performances thanks to traceLogger diagnostics. The gain is about 10% of AI time. The patch includes also some code cleanings.
This was SVN commit r16042.
2014-12-12 17:41:10 +00:00
34855896d0 fix typo in 30fb8d0f57
This was SVN commit r16041.
2014-12-12 07:36:34 +00:00
30fb8d0f57 ResourceGatherer cleanup.
s/var/let/, check if cmpPlayer != null before using it, some whitespace.

This was SVN commit r16039.
2014-12-12 01:11:06 +00:00
92ee34d76f Properly localize tribute messages.
This was SVN commit r16038.
2014-12-12 01:11:04 +00:00
539046f750 Improves performance for the ResourceGatherer component
The tracelogger has shown one of the functions as 4.9% and one as 2.2%
before the patch. After the patch, both functions were below 0.5%. 100%
is the time for all JS code being executed during a non-visual replay,
including GC, overhead for the tracelogger and JIT code compiling.

This was SVN commit r16036.
2014-12-11 23:12:08 +00:00
e435ef2704 several optimisations on the ai, refs #2370
This was SVN commit r16035.
2014-12-11 20:24:33 +00:00
21ecb22432 remove some now empty functions following previous patch
This was SVN commit r16032.
2014-12-09 20:30:27 +00:00
bce404adf2 Fixes the translation of the map size in the rihgt sidebar of the lobby
Fixes #2547

This was SVN commit r16031.
2014-12-09 20:11:16 +00:00
ae7c2f9586 ai: entitycollections switch to maps, see #2370
This was SVN commit r16030.
2014-12-09 19:55:37 +00:00
36187ea64a petra: allow replacing civ center in game
This was SVN commit r16029.
2014-12-08 18:23:27 +00:00
6a785f791a additional fix for inefficient EC, thanks to Yves for noticing
This was SVN commit r16028.
2014-12-07 22:19:59 +00:00
3e09cf4797 improve petra performances, see #2370
This was SVN commit r16027.
2014-12-07 16:36:56 +00:00
37ae9f4ad2 fix previous tag
This was SVN commit r16026.
2014-12-06 16:13:13 +00:00
0facb07ca6 petra: changes in farms and tributes management
This was SVN commit r16025.
2014-12-06 14:48:06 +00:00
b05879e151 Move template items GetRetainInFog and AlwaysVisible from Vision to Visibility.
Refs #2913

This was SVN commit r16022.
2014-12-05 18:33:59 +00:00