Commit Graph

14105 Commits

Author SHA1 Message Date
leper 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
leper 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
Yves 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
mimo 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
LordGood 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
mimo e8d1acfa41 preserve random civ in saved game settings, refs #2963
This was SVN commit r16095.
2014-12-31 15:34:48 +00:00
mimo 802320e753 some petra cleanings
This was SVN commit r16094.
2014-12-31 09:59:47 +00:00
mimo 9329506e0d add support for civ specific player template, see #2877
This was SVN commit r16092.
2014-12-31 09:31:41 +00:00
LordGood f984ba40ee Seleucid house commit
This was SVN commit r16091.
2014-12-31 07:27:07 +00:00
leper 913674a202 Remove useless call.
This was SVN commit r16090.
2014-12-31 00:21:41 +00:00
leper 2c20936ce3 Save map settings. Patch by @aBothe. Fixes #2963.
This was SVN commit r16089.
2014-12-31 00:21:24 +00:00
leper 8f387e0044 Remove code duplication and some cleanup.
This was SVN commit r16088.
2014-12-30 18:21:02 +00:00
leper 992169c3ab Fix indentation in daaddaf433.
This was SVN commit r16087.
2014-12-30 17:27:18 +00:00
mimo 555601fe51 Petra: avoid creating unused entitycollections
This was SVN commit r16085.
2014-12-29 23:56:37 +00:00
Itms daaddaf433 Stop music in Atlas when reloading a map, patch by trompetin17, fixes #1712.
This was SVN commit r16084.
2014-12-29 21:01:54 +00:00
leper 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
LordGood 53023b7efc This was SVN commit r16082. 2014-12-29 19:26:37 +00:00
leper 9a17a96054 Fix warning when following units. Fixes #2971.
This was SVN commit r16081.
2014-12-29 18:56:00 +00:00
leper 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
leper 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
LordGood 8608b0fe89 Seleucid Tower and textures
This was SVN commit r16078.
2014-12-29 12:29:41 +00:00
leper d68a057153 Fix warning.
This was SVN commit r16077.
2014-12-28 16:45:06 +00:00
Itms 0406f62ea0 Fix a typo, reported by t4nk004 on IRC.
This was SVN commit r16076.
2014-12-28 16:35:32 +00:00
Itms 4c12440868 Give access to the templates to the GUI. This will be useful for eventually displaying factions specificities in main menus.
This was SVN commit r16075.
2014-12-28 16:21:07 +00:00
mimo 92af594986 Petra: rewrite a stupidly inefficient function spotted by the traceLogger
This was SVN commit r16073.
2014-12-27 18:44:34 +00:00
mimo 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
Itms 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
Itms 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
Itms 1e17cbe33c Use the range manager to pick entities when drawing a selection box during a game. This allows for a significant performance improvement.
Fixes #2961, patch by @aBothe.

This was SVN commit r16068.
2014-12-26 13:07:49 +00:00
fabio ec9e0dfeed Add missing file in 286112e0aa.
Refs: #2937.

This was SVN commit r16065.
2014-12-25 14:22:15 +00:00
scythetwirler 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
fabio 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
mimo 9684bcd360 add AI support of maps of different dimensions, see #2960
This was SVN commit r16062.
2014-12-23 14:17:52 +00:00
leper 49187dd990 Drop support for AIs that are not using modules.
This was SVN commit r16061.
2014-12-23 01:20:50 +00:00
leper d21cf8f3aa Clarify some comments.
This was SVN commit r16060.
2014-12-23 00:46:00 +00:00
leper ce0c1e4302 Report names of components or interfaces in case of error when registering those.
This was SVN commit r16059.
2014-12-23 00:29:14 +00:00
leper efce88b97b Call setlocale(3) on BSDs so that we can log unicode strings. Patch by Teiresias. Fixes #1142.
This was SVN commit r16058.
2014-12-22 00:23:07 +00:00
mimo 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
leper 96c45eac61 Fix missing escapes.
This was SVN commit r16056.
2014-12-21 02:23:17 +00:00
Yves 71ba68e3a3 Fix performance problem with unnecessary global message subscription
On my ESR31 branch, I've made two measurements with different replays
(both around 15000 turns).
In the first, I got around 3% performance improvement and in the second
about 7.5%. It mainly depends on how often aura changes related to the
female citizen aura happen.

This was SVN commit r16055.
2014-12-21 01:44:00 +00:00
mimo 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
mimo 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
leper a13cc54fc3 Use correct variable. Fix #2957.
This was SVN commit r16052.
2014-12-16 21:05:24 +00:00
mimo a143c847e2 small fixes for petra
This was SVN commit r16051.
2014-12-14 21:35:24 +00:00
Yves a9c6b7080a Fixes intermittent error messages caused by uninitialized variable
This was SVN commit r16049.
2014-12-14 17:43:40 +00:00
mimo 9b6981465a improve a bit the fix of 639a174388
This was SVN commit r16048.
2014-12-13 21:30:13 +00:00
mimo 639a174388 petra: fix choice of target when enemy resigned + some cleanings
This was SVN commit r16047.
2014-12-13 16:47:37 +00:00
leper 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
mimo 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
mimo 34855896d0 fix typo in 30fb8d0f57
This was SVN commit r16041.
2014-12-12 07:36:34 +00:00