leper
be1a205f91
Add support for const methods in components and make those that can be const const.
...
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D75
This was SVN commit r19156.
2017-01-20 02:25:19 +00:00
elexis
678e082230
Remove the "quit" simulation command and restrict the "set-shading-color" simulation command to AIs,
...
since they are only useful for AI debugging and counterproductive in
multiplayer mode, refs #3551 .
Instead, enable AI developers to exit the game from a new AI API
command,
allowing to batch simulate matches. Refs #2755 .
Differential Revision: D65
Reviewed By: leper
Consulted: mimo
This was SVN commit r19155.
2017-01-19 14:45:32 +00:00
wraitii
b3b47c1718
Avoid recreating the dirtiness grid every turn by swapping. Significantly reduces the number of allocations, and slight speedup (particularly on larger maps). Reviewed by Leper.
...
Differential Revision: https://code.wildfiregames.com/D70
This was SVN commit r19149.
2017-01-17 07:24:41 +00:00
wraitii
0a6a42321d
Improve cache efficiency of CcmpPathfinder::UpdateGrid substantially. On very large maps, this can be a very substantial improvement (I have measured up to 30ms)
...
This was SVN commit r19146.
2017-01-16 10:41:35 +00:00
wraitii
ad76352cef
Prevent the AI manager from copying the pathfindinder dirtiness grid every turn.
...
Review by Itms
Differential Revision: https://code.wildfiregames.com/D25
This was SVN commit r19145.
2017-01-16 08:38:31 +00:00
leper
3a85d0b3fa
Remove unused parameter from template loading code
...
Templates should be the same for all players, techs can be used to
provide
different lists of templates if that is needed.
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D25
This was SVN commit r19142.
2017-01-15 18:41:53 +00:00
wraitii
2bae30c454
Fix [19027] by using generic code for conversions and fixing a few other issues. Refs #3403 . Reviewed by leper.
...
Also fix some of the warnings that jenkins showed.
Differential Revision: https://code.wildfiregames.com/D24
This was SVN commit r19115.
2017-01-06 11:14:03 +00:00
Itms
81eb74163e
Happy New Year *cough*(Years)*cough*!
...
Also fix some whitespace.
This was SVN commit r19110.
2017-01-04 21:00:16 +00:00
Itms
490a3a27f6
Fix the cache directory appearing during tests.
...
Summary: Refs #4419 .
Test Plan: When running tests, make sure nothing is created.
Reviewers: leper
Reviewed By: leper
Subscribers: leper, Vulcan
Differential Revision: https://code.wildfiregames.com/D1
This was SVN commit r19062.
2016-12-25 22:03:30 +00:00
wraitii
40fd373c83
Revert [19043]
...
This was SVN commit r19054.
2016-12-21 12:36:41 +00:00
wraitii
8e8da9aee4
Fix a bug introduced by a fix of a bug introduced by a fix of a bug (x100) in the vertex pathfinder. Revealed by automated tests on another branch of mine. Revert back to pre-new pathfinder behavior of not returning paths in some cases, since that is most likely less broken than now - but probably still a little broken.
...
This was SVN commit r19043.
2016-12-18 10:02:36 +00:00
wraitii
9288837472
Fix misleading indentation warning on gcc, introduced by [19024]. Reported by elexis. Fixes #3785
...
This was SVN commit r19041.
2016-12-13 13:34:31 +00:00
wraitii
e7e5631135
Better fix to #3785 . Fixes #3785
...
This was SVN commit r19024.
2016-12-06 23:25:26 +00:00
Itms
6ae374dbee
Fix the update of shared dirty visibility masks when changing diplomacy.
...
The previous code worked in case new mutual allies were added, but, when
some were removed, it was suboptimal in terms of performance and it made
some units visible in the FoW.
Fixes #4266
This was SVN commit r18994.
2016-11-24 14:57:09 +00:00
Itms
a27dc31b0e
Remove some obsolete backref logic from the deserializer. It was introduced in earlier versions of the SpiderMonkey API.
...
Name some variables more logically in one test.
Fixes #4244
This was SVN commit r18993.
2016-11-24 14:47:49 +00:00
elexis
417c84870c
Actually remove trailing tabs from source/.
...
This was SVN commit r18991.
2016-11-23 14:09:58 +00:00
elexis
6149dd3841
Actually remove trailing whitespace for non-header files as well.
...
This was SVN commit r18989.
2016-11-23 13:02:58 +00:00
elexis
944ba16eb4
End source files with a newline.
...
This was SVN commit r18988.
2016-11-23 11:27:54 +00:00
elexis
b18f74da44
Remove trailing whitespace and whitespace in empty lines of source/ except source/third_party/.
...
This was SVN commit r18987.
2016-11-23 11:18:37 +00:00
elexis
aa26863d5c
Fix an OOS on rejoin caused by ParamNode.cpp using an invalid node cache. Patch by leper, fixes #4316 .
...
Reuse the temple of vesta inheritance from 06bf79b7e8 which was affected
by this bug.
This was SVN commit r18942.
2016-11-15 14:01:15 +00:00
elexis
3008533c8e
Add a template manager test that reveals an inheritance error in ParamNode.cpp which can trigger an OOS on rejoin. Patch by leper, refs #4316 .
...
This was SVN commit r18941.
2016-11-15 13:51:29 +00:00
elexis
2bf1dbfd13
An awesome Rejoin-test tool by wraitii and Itms, fixes #4242 , refs #3460 .
...
Contrary to the serializationtest, initializes the secondary simstate
only once
before progressively applying updates.
Thus reproducing actual multiplayer rejoining, enabling developers to
analyze OOS reports solely from the replay file of the rejoined and a
non-rejoined client.
This was SVN commit r18940.
2016-11-15 13:26:58 +00:00
elexis
2ec3f3ebaa
Add parenthesis suggested by gcc 5.4 following 3e59ac76ee, refs #4278 .
...
This was SVN commit r18924.
2016-11-12 16:07:23 +00:00
mimo
3e59ac76ee
fix UnitMotion when inside the obstruction, refs #4278
...
This was SVN commit r18921.
2016-11-11 13:14:30 +00:00
elexis
4898e94c81
Remove unneeded braces and whitespace in empty lines.
...
This was SVN commit r18882.
2016-10-28 16:11:59 +00:00
elexis
5a384f4eaf
Fix an OOS on rejoin when a ptolemian lighthouse revealing the shoreline was built prior. Patch by Itms and wraitii, fixes #4277 .
...
Serialize the mapsize in the pathfinder and the reveal shoreline flag in
the range manager.
Reload the rangemanager data after other components have been
deserialized.
Use the SerializeCommon pattern in the pathfinder to avoid code
duplication.
Move the shoreline logic from the Vision component to the range manager.
Remove unused interface mocks from the rangemanager test following
b05879e151 .
This was SVN commit r18879.
2016-10-28 15:34:24 +00:00
wraitii
7f8f820e35
Fix an oversight in d8c11434a8/18823, fixes #4270 .
...
This was SVN commit r18835.
2016-10-16 20:17:31 +00:00
elexis
0991c22026
Take vision range techs into account on ownership change (capturing or defeat). Solves an OOS, reviewed by wraitii, fixes #4279 , refs #3989 .
...
This was SVN commit r18833.
2016-10-15 18:22:10 +00:00
Itms
9c2404e40e
Some tweaks in order to fix the non-graphical test modes (serialization test, etc.), and possible future non-visual players like headless game servers.
...
The internal data of the component, which is serialized, should not
depend on the presence of a visual Unit.
Also remove a misleading comment about a simple initialization code.
Refs #4270
This was SVN commit r18824.
2016-10-10 10:56:13 +00:00
Itms
ef7486c5d3
Fix a number of things in cmpVisualActor:
...
* Rewrite the Update function, add more details and information in
comments, and properly serialize everything that function needs.
* Fix the broken deserialization code by using a sane helper function.
* Fix the `SelectMovementAnimation` function.
Fixes #4270 .
This was SVN commit r18823.
2016-10-10 10:49:49 +00:00
Itms
d8c11434a8
Save the animation sync offset, for consistency's sake.
...
Refs #4270
This was SVN commit r18822.
2016-10-10 10:41:36 +00:00
Itms
79b37bd4dc
Improve style and whitespace in CCmpVisualActor.
...
Refs #4270
This was SVN commit r18821.
2016-10-10 10:37:58 +00:00
Itms
0030f6ad2b
In CCmpVisualActor, m_Unit is not initialized when running without graphics, so we must check that pointer everytime. Also make one call consistent with the rest of the file.
...
Fixes #4238 , refs #3952
This was SVN commit r18812.
2016-10-08 08:49:35 +00:00
Itms
636da605bb
Following e757fb84d5: also regenerate the JS values for AI maps upon deserialization.
...
Fixes #4247 , refs #4191
This was SVN commit r18797.
2016-10-01 12:29:44 +00:00
Itms
58704fa140
Remove a function relying on systems that are not optimized at all. This function is not actually used by Petra.
...
If it is needed at some point, this map should be handled and updated
the same way as the passability map and territory map are.
Refs #4191
This was SVN commit r18760.
2016-09-24 15:21:20 +00:00
Itms
e757fb84d5
More clever map updates for the AI.
...
This patch fixes frequent memory issues by removing several dummy
allocations and a lot of memory footwork.
Fixes #4191
This was SVN commit r18759.
2016-09-24 15:16:55 +00:00
Itms
caef42084d
Add missing JSAutoRequest calls. (hopefully all of them have been spotted now)
...
Patch by echotangoecho, refs #4053
This was SVN commit r18730.
2016-09-18 09:34:45 +00:00
Itms
8284cc4302
SpiderMonkey 38 upgrade: 35/35
...
Some comments for the next SpiderMonkey upgrade. That's all folks, fixes
#3708
This was SVN commit r18689.
2016-09-02 16:55:13 +00:00
Itms
2a33c4476f
SpiderMonkey 38 upgrade: 34/35
...
Use the C++ API for Maps. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1121332
This was SVN commit r18688.
2016-09-02 16:54:00 +00:00
Itms
0cc23c1964
SpiderMonkey 38 upgrade: 33/35
...
Remove a workaround. Note that this removal is incomplete. Based on
patch by leper.
This was SVN commit r18687.
2016-09-02 16:53:22 +00:00
Itms
9b794593db
SpiderMonkey 38 upgrade: 32/35
...
JS_GetStringCharsAndLength was removed, use
JS_Get{Latin1,TwoByte}StringCharsAndLength instead.
Actually handle strings in both the Latin1 and TwoByte cases since we
need to.
This saves some space when serializing and also when running as they are
stored that way in the vm.
Also handle the error case.
Patch by leper.
For more information:
https://blog.mozilla.org/javascript/2014/07/21/slimmer-and-faster-javascript-strings-in-firefox/
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1037869
This was SVN commit r18686.
2016-09-02 16:51:09 +00:00
Itms
ffd4207c30
SpiderMonkey 38 upgrade: 24/35
...
Work around upstream API breakage by moving from a define to a const
member and not using the namespace explicitly.
This is caused by https://bugzilla.mozilla.org/show_bug.cgi?id=896116
and this patch by leper was submitted at
https://bugzilla.mozilla.org/show_bug.cgi?id=1236373
This was SVN commit r18678.
2016-09-02 16:40:01 +00:00
Itms
ef6d1c77c8
SpiderMonkey 38 upgrade: 23/35
...
JS_GetArrayBufferData now takes an AutoCheckCannotGC parameter. Patch by
leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1061288
This was SVN commit r18677.
2016-09-02 16:38:31 +00:00
Itms
2db0fb27ae
SpiderMonkey 38 upgrade: 21/35
...
The naming conventions for typed array types changed. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1021790
This was SVN commit r18675.
2016-09-02 16:36:40 +00:00
Itms
8747b1c098
SpiderMonkey 38 upgrade: 17/35
...
JS_GetUint*Array now takes an AutoCheckCannotGC parameter. Based on
patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1061288
This was SVN commit r18671.
2016-09-02 16:33:10 +00:00
Itms
ef764d5d64
SpiderMonkey 38 upgrade: 15/35
...
Temporary workaround dropping of parent parameter from JS_NewObject* by
switching to JS_NewObjectWithGivenProto.
We should just drop support for serializing the parent since upstream is
dropping the parent parameter from all those functions.
Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1136906 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1136345
This was SVN commit r18669.
2016-09-02 16:30:35 +00:00
Itms
c3710c9632
SpiderMonkey 38 upgrade: 14/35
...
JS_NewObject has no parent or proto arg anymore, use
JS_NewObjectWithGivenProto instead. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1136906
https://bugzilla.mozilla.org/show_bug.cgi?id=1127443 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1136345
This was SVN commit r18668.
2016-09-02 16:29:21 +00:00
Itms
8d15411abf
SpiderMonkey 38 upgrade: 13/35
...
Update JS_NewObject to JS_NewPlainObject, with new parameters. Patch by
leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1136906 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1125356
This was SVN commit r18667.
2016-09-02 16:28:17 +00:00
Itms
c99ae7ca1c
SpiderMonkey 38 upgrade: 12/35
...
Major update to the JSClass stubs. Based on patch by leper.
https://bugzilla.mozilla.org/show_bug.cgi?id=1103152
This was SVN commit r18666.
2016-09-02 16:26:54 +00:00
Itms
b01300c222
SpiderMonkey 38 upgrade: 11/35
...
Renamed JS_CallHeapFooTracer to JS_CallFooTracer. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1052388
This was SVN commit r18665.
2016-09-02 16:25:42 +00:00
Itms
761abd587e
SpiderMonkey 38 upgrade: 10/35
...
Use operator= instead of .set(). Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1128110
This was SVN commit r18664.
2016-09-02 16:24:46 +00:00
Itms
c7c3ef9f92
SpiderMonkey 38 upgrade: 09/35
...
Use .toFoo() instead of JSVAL_TO_FOO. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=952650
This was SVN commit r18663.
2016-09-02 16:23:44 +00:00
leper
014a6d621b
Keep mounting the cache directory in tests. Fixes oversight in 493990f472.
...
This was SVN commit r18623.
2016-08-22 01:00:23 +00:00
leper
9998592542
Remove unused variable.
...
This was SVN commit r18620.
2016-08-21 20:35:08 +00:00
elexis
6eaf76d653
Actually seed the random number generator used in the simulation. Reviewed by sanderd17, fixes #4127 .
...
This was SVN commit r18604.
2016-08-14 16:28:54 +00:00
elexis
416049e4b4
Remove charge attack from the templates which isn't implemented nor designed yet. Patch by fatherbushido, fixes #4139 .
...
Remove the unused "recharge" attack timer which was introduced in
b21e798243 but should have been removed with 4e5c5e2d8f .
This was SVN commit r18599.
2016-08-11 14:35:50 +00:00
Itms
bb1f86f515
Remove duplication of the Hexify function.
...
Remove the useless extern keyword from function declarations in
ps/Util.h.
Patch by echotangoecho, refs #4095
This was SVN commit r18591.
2016-08-08 12:50:39 +00:00
Itms
e3cdb2253d
Fix calls to CXeromyces::Terminate in the main loop to fix several possible memory leaks.
...
Make init/shutdown order consistent in some places.
This was SVN commit r18589.
2016-08-08 08:32:57 +00:00
Itms
4e87fef3da
The old debug API has been removed in SpiderMonkey 38, so remove profiler1 script profiling.
...
Patch by leper, refs #3708
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1069694
This was SVN commit r18580.
2016-08-02 16:58:30 +00:00
Itms
72ca6c5f80
Style cleanup by leper, preparing the SpiderMonkey update. Refs #3708
...
This was SVN commit r18579.
2016-08-02 16:12:11 +00:00
Itms
493990f472
Fix engine tests when no mods are present, by making the pathfinder tests consistent with the rest of the tests.
...
This was SVN commit r18577.
2016-08-02 15:38:39 +00:00
elexis
4c0f12bce3
Fix autostart replays following a23884d79a by grabbing g_GameAttributes from the simulation instead of the GUI. Patch by Imarok, refs #3143 .
...
Don't remove attribs from the init attributes as that is still used by
the loading screen to show the mapname.
This was SVN commit r18510.
2016-07-12 01:49:48 +00:00
Itms
ec2e2a84a4
Fix and improve 001c411cc2.
...
This was SVN commit r18489.
2016-07-05 20:23:12 +00:00
wraitii
898ab5229b
Change profiling calls to get a better view of what is actually slow and what is not.
...
This was SVN commit r18438.
2016-06-25 13:12:35 +00:00
wraitii
9e526614be
Accidentally left a change from #4056 in in 7c21a0cf8e.
...
This was SVN commit r18418.
2016-06-21 11:13:00 +00:00
wraitii
7c21a0cf8e
Header cleanup: profile.h is no longer unnecessarily included in scriptinterface.h but rather in the required .cpp files
...
This was SVN commit r18417.
2016-06-21 10:33:11 +00:00
wraitii
001c411cc2
Remove a division by a fixed equal to one in NearestNavcell in the short-range pathfinder which was from profiling on VC2013/windows 7 responsible for about 10% of ComputeShortPath.
...
This was SVN commit r18358.
2016-06-10 22:57:28 +00:00
wraitii
41bc367bd1
Messed up 01603708de
...
This was SVN commit r18350.
2016-06-09 17:45:50 +00:00
wraitii
01603708de
Reuse vectors in the short-range pathfinder, making SplitAAEdges much faster and reducing memory fragmentation substantially. Refs #3588
...
This was SVN commit r18349.
2016-06-09 17:38:59 +00:00
wraitii
d1cc3dcb80
Re-use the same vector for the range manager spatial subdivision queries to cut down on allocations and memory fragmentation. Refs #4045
...
This was SVN commit r18344.
2016-06-08 17:06:58 +00:00
sanderd17
83af69286d
Allow simulation to set the actor variant selection, and use it for the garrison flag. Fixes #3952 Refs #2679 , #3983
...
This was SVN commit r18266.
2016-05-30 14:07:48 +00:00
sanderd17
1a8f5f3490
Move rallypoint waypoints smoothly with moving targets
...
This was SVN commit r18259.
2016-05-29 12:49:32 +00:00
elexis
6f744aef88
Simulation context cleanup, refs #3991 , #3168 .
...
Save the viewed player in the CGame class.
Add the const keyword back to the SimContext to help find mistakes at
compiletime.
This was SVN commit r18201.
2016-05-19 19:42:07 +00:00
elexis
f4e69b7c07
Cleanup of #3255 , fixes #3966 .
...
Don't create an empty oos_logs directory when starting the game.
Rename getDateIndexSubdirectory to createDateIndexSubdirectory.
Add a comment for the breakpoint argument of CreateDirectories.
This was SVN commit r18183.
2016-05-16 00:56:07 +00:00
sanderd17
77224548bf
Use references instead of copies
...
This was SVN commit r18130.
2016-05-02 19:03:19 +00:00
sanderd17
4ea49f374a
Disable serialization of the AI when no AI players are present. Disable serialization of cached AI templates overall. Improve serialization of repetitive vectors and templatenames. Refs #3834
...
This was SVN commit r18121.
2016-05-02 09:26:07 +00:00
sanderd17
ef3794f90a
Fix serialisationtest by serializing the territory trigger event, and sending the message only once.
...
This was SVN commit r18102.
2016-04-27 18:37:27 +00:00
sanderd17
f24523dc8f
Rename TechnologyTemplateManager to DataTemplateManager in order to reflect its new function. Fixes #3909 . Disable serialisation of technology templates. Refs #3834
...
This was SVN commit r18100.
2016-04-27 08:25:47 +00:00
Itms
c856bc296d
Slight improvement to the short range pathfinder. Patch by fsincos, refs #3925
...
This was SVN commit r18090.
2016-04-24 14:35:31 +00:00
sanderd17
df3c3c35b2
Cleanup cinema code. Fix some issues with resetting of times. Patch by Vladislav. Refs #3814
...
This was SVN commit r18041.
2016-04-17 15:43:29 +00:00
Itms
5ac76ecf89
Some style fixes reported by leper.
...
This was SVN commit r18016.
2016-04-10 16:57:12 +00:00
sanderd17
f8e986d057
Fix territory not being updated when diplomacy changes. Fixes #3891
...
This was SVN commit r18012.
2016-04-09 19:57:34 +00:00
Itms
8c436a8a41
Slight improvement of the flood filling algorithm in the hierarchical pathfinder.
...
Remove some useless check and a useless reverse loop, and add a flag to
prevent redundant checks.
Patch by fsincos, refs #3588
This was SVN commit r18011.
2016-04-09 19:47:09 +00:00
sanderd17
6471a54c9f
Refactor GetEntityCollisions to make it clear what the function actually does since the new pathfinder
...
This was SVN commit r17992.
2016-04-06 17:36:47 +00:00
mimo
0863f20722
cleanup
...
This was SVN commit r17898.
2016-03-15 18:27:17 +00:00
elexis
d61e315f4d
Fix few style issues remarked by leper.
...
Add a unit (seconds) to the network-timeout warning.
Rename isChatAddressee to parseChatAddressee as it changes the message.
Early return for EnableOOSLog to avoid printing duplicate messages.
This was SVN commit r17895.
2016-03-15 04:37:41 +00:00
Itms
a4a1bcab94
Remove the now useless UnitMotion planning, and cleanup of CCmpUnitMotion.cpp (unused variables, whitespace). Fixes #3790 .
...
This should have a noticeable impact on performance (in the good way!)
Thanks mimo for noticing something was off with the planning system!
This was SVN commit r17866.
2016-03-12 13:44:51 +00:00
elexis
b155a28698
Immediately set the fog-of-war instead of waiting for session.js to load, refs #3168 .
...
This was SVN commit r17832.
2016-03-06 13:56:07 +00:00
elexis
a32ed75bff
Fix a race-condition when two games have been started simultaneously and attempt to create the same replay directory, refs #3255 .
...
Instead of triggering a debug-breakpoint, print a warning to stdout and
succeed in the N'th retry when having started N processes
simultaneously.
Previously the problem had been addressed by using the processID in the
directory name.
This was SVN commit r17776.
2016-02-19 11:22:32 +00:00
mimo
6289251b3b
Improve unitMotion in the final step before reaching the target,
...
which decreases the proportion of units going back and forth around the
target
This was SVN commit r17769.
2016-02-17 19:00:34 +00:00
mimo
4584a81656
be less restrictive with fix for #3785
...
This was SVN commit r17768.
2016-02-17 18:31:01 +00:00
mimo
41d7e64271
prevent short pathfinder to go into impassable region, fixes #3785
...
This was SVN commit r17765.
2016-02-15 21:24:27 +00:00
mimo
a9376eeebb
update goal before pathing when moving target refs #3472 and improve unitMotion overlay
...
This was SVN commit r17764.
2016-02-15 19:30:17 +00:00
elexis
c3ac6cf7fc
Save target-nodes (lookAt-coordinates) for cinematic-camera paths. Patch by Vladislav, refs #3301 .
...
This was SVN commit r17763.
2016-02-15 17:18:59 +00:00
elexis
5998d13442
Use date and sequential ID for replay-directorynames, fixes #3255 .
...
Save replays in userdata (screenshots, savegames) and create one
subdirectory for every release.
This was SVN commit r17761.
2016-02-15 15:57:23 +00:00
Itms
4ad601a301
Sorry for the surprise fix but that really hurts my eyes :p
...
This was SVN commit r17748.
2016-02-09 16:12:52 +00:00
elexis
4ac89001f4
Fix compile error for gcc 4.6, refs #3168 .
...
This was SVN commit r17745.
2016-02-08 22:44:23 +00:00
elexis
a2f7d4d82a
Show fog of war in observermode, fixes #3168 .
...
This was SVN commit r17735.
2016-02-06 12:56:41 +00:00
Yves
1a66f510d0
Use const T& for parameters of some types in script-exposed native functions
...
Using references matches the C++ coding style better and should improve
performance a bit in theory. It avoids 2 copies of T in case of the
functions registered with RegisterFunction (mainy used in the GUI). It
should also avoid one or two copies in case of
DEFINE_INTERFACE_METHOD_X, which is used in the simulation, but I
haven't bothered to count it there exactly.
It is now predefined which types have to be passed by const reference
and which are passed by value. Note that references can't be used as
out-parameters (to return multiple values to JS). This hasn't worked
before either and probably never will.
This was SVN commit r17696.
2016-01-23 15:17:56 +00:00
elexis
5747619c39
Don't create replays without commands in case of running non-visual replay or an atlas simulation.
...
Remove trailing whitespace.
This was SVN commit r17689.
2016-01-23 01:02:57 +00:00
elexis
b5cb62ffa2
Remove error messages from the CinemaManager, since not having a GameView is expected in non-visual replay. Patch by Vladislav, refs #3301 .
...
This was SVN commit r17682.
2016-01-21 13:07:52 +00:00
leper
f34dc412b6
Deep freeze simulation commands to prevent accidental updates. Fixes #3647 .
...
This was SVN commit r17673.
2016-01-18 22:24:50 +00:00
elexis
8827db201a
Remove the virtual keyword since this is a helper-function not used by the interface. Refs #3215 .
...
This was SVN commit r17663.
2016-01-18 03:41:00 +00:00
leper
fb92761c92
Use explicit types instead of auto.
...
This was SVN commit r17642.
2016-01-13 00:42:55 +00:00
leper
27fab6bf1e
Constify Spatial.h a bit.
...
While there don't check for null when delete-ing since that is a no-op,
use the proper type instead of auto, always swap when removing a single
element (instead of comparing .size() to 1), and clean up includes.
foobar
This was SVN commit r17641.
2016-01-13 00:20:22 +00:00
leper
f4898c18d8
SpiderMonkey 38 removes the JS_LookupProperty{,ById} API. Refs #3708 .
...
Use JS_GetProperty{,ById} instead.
Ensure that we break if someone tries to serialize a getter by using
something similar to what we used pre 47a03c3397 .
https://bugzilla.mozilla.org/show_bug.cgi?id=1094176
This was SVN commit r17633.
2016-01-11 20:03:33 +00:00
leper
775f856421
Use .assign instead of operator=.
...
This was SVN commit r17631.
2016-01-11 20:03:28 +00:00
leper
d08044c8ad
JS_DumpHeap is removed in SpiderMonkey 38, since we have nothing using it remove it. Refs #3708 .
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1105069
https://bugzilla.mozilla.org/show_bug.cgi?id=1122842
This was SVN commit r17630.
2016-01-11 20:03:09 +00:00
elexis
8c7b6dceaa
Show status-bars of all players to observers, fixes #3215 .
...
This was SVN commit r17623.
2016-01-10 16:47:57 +00:00
elexis
8859f33b38
Rename PickFriendlyEntitiesOnScreen to PickPlayerEntitiesOnScreen.
...
Rename PickFriendlyEntitiesInRect to PickPlayerEntitiesInRect.
Rename PickSimilarFriendlyEntities to PickSimilarPlayerEntities.
Add comment.
Refs #3215 .
This was SVN commit r17622.
2016-01-10 14:47:09 +00:00
Itms
629e73a768
Fix a compiler warning.
...
This was SVN commit r17615.
2016-01-09 09:52:51 +00:00
elexis
1cc1ba2b17
Fix non-visual replaymode. Refs #3301 (cinematic camera). Patch by Vladislav. Bug reported by eternaf.
...
This was SVN commit r17606.
2016-01-06 21:40:59 +00:00
leper
b18cd3254c
Test FixedVector{2,3}D script conversions, and test calling functions of the prototypes.
...
Also ENSURE that the given value identifier is actually present in the
cache instead of creating one if it is not.
This was SVN commit r17603.
2016-01-04 21:41:40 +00:00
Yves
89aef0b6eb
Cinematic camera core functionality. Patch by Vladislav Belov.
...
Based on existing code that was still around from an old(not working)
implementation.
Supports basic control from trigger scirpts (queue, start and stop
camera paths) and works in multiplayer.
This was SVN commit r17594.
2016-01-03 12:41:04 +00:00
elexis
036f985017
Add missing semicolons.
...
Update timestamp.
This was SVN commit r17591.
2016-01-02 18:12:02 +00:00
mimo
371a41c216
seems that line was missing, with the result that garrisoned units sent a TerritoryPositionChanged message each turn
...
This was SVN commit r17586.
2016-01-01 17:45:53 +00:00
mimo
36c08193ba
optimizes range queries, fixes #3717
...
This was SVN commit r17573.
2015-12-30 13:44:51 +00:00
mimo
543472b77b
Optimization of isBoxVisible + cleanup, fixes #3712
...
This was SVN commit r17561.
2015-12-28 16:27:31 +00:00
mimo
82c215de49
prevent thousands of calls per turn of calculeTerritories which would exit immediately
...
This was SVN commit r17560.
2015-12-28 16:23:06 +00:00
leper
3fd4d07ca1
Test \0 in object property names for serializing.
...
This was SVN commit r17539.
2015-12-22 19:01:18 +00:00
leper
332096e4ed
SpiderMonkey 38 removes JS_AllocateArrayBufferContents.
...
Users required the returned buffer to be passable to free(), so replace
it by malloc().
https://bugzilla.mozilla.org/show_bug.cgi?id=1037358
This was SVN commit r17511.
2015-12-19 02:49:46 +00:00
leper
2239fe338c
The jschar typedef is removed in SpiderMonkey 38.
...
Since it already is char16_t in 31 replace it by that.
https://bugzilla.mozilla.org/show_bug.cgi?id=1063962
This was SVN commit r17506.
2015-12-19 01:29:55 +00:00
leper
69ab2bae5b
Some ctors were made explicit in SpiderMonkey 38, so call them where needed.
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1013663
This was SVN commit r17505.
2015-12-19 01:13:56 +00:00
leper
efda359acc
Use new when calling the builtin typed array constructor.
...
The current code will be forbidden in ES6.
This was SVN commit r17504.
2015-12-19 01:10:13 +00:00
elexis
abce6cb737
Pathfinder optimization, fixes #3541 .
...
Simplify the math of Geometry::TestRayAASquare.
This was SVN commit r17500.
2015-12-18 15:05:33 +00:00
mimo
a74d9be130
make const the new method introduced in 2451872731
...
This was SVN commit r17425.
2015-12-10 19:23:50 +00:00
mimo
b6dbb2bff0
fix tabs of 2451872731
...
This was SVN commit r17415.
2015-12-09 20:56:53 +00:00
mimo
2451872731
improve performance of hierarchical pathfinder, refs #3588
...
This was SVN commit r17413.
2015-12-09 19:56:30 +00:00
mimo
6a73dc2e16
fix multiple (useless) insertion in grid update of hierarchical pathfinder
...
This was SVN commit r17409.
2015-12-08 22:58:04 +00:00
scythetwirler
987a7028bd
Implements relative templates. Fixes #2936 . Thanks to leper, wraitii, historicbruno and everyone else that helped.
...
This was SVN commit r17386.
2015-12-05 17:02:25 +00:00
elexis
71b0d9c052
Update atlas with the new map_sizes.json format. Refs #3355 .
...
This was SVN commit r17379.
2015-12-04 16:37:30 +00:00
mimo
0a8fc4bb08
improve pathFinder by optimizing the DistanceToSquare computation, refs #3588
...
This was SVN commit r17350.
2015-12-01 19:01:41 +00:00
elexis
700859b2c3
Move the playerdefaults to the settings directory. Refs #3355
...
This was SVN commit r17332.
2015-11-30 01:33:59 +00:00
mimo
be9b6fa59c
improves performance of hierarchical pathFinder, refs #3588
...
This was SVN commit r17310.
2015-11-28 13:06:44 +00:00
Itms
229e850dba
Fix a compiler warning.
...
This was SVN commit r17296.
2015-11-20 20:42:45 +00:00
mimo
fc6af83c2a
cleanup 5b335442fb
...
This was SVN commit r17294.
2015-11-20 19:47:08 +00:00
mimo
5b335442fb
fix a bug in the HierarchicalPathfinder revealed by changes in 9b0ed97d05, patch by wraitii
...
This was SVN commit r17293.
2015-11-20 19:45:48 +00:00
mimo
0b2da13dea
never edit a patch before commiting !
...
This was SVN commit r17287.
2015-11-19 22:17:00 +00:00
mimo
9b0ed97d05
fixes and performance improvements in hierarchical pathfinder, fixes #3621
...
This was SVN commit r17284.
2015-11-19 22:02:25 +00:00
wraitii
9e35f7d68b
The over-rasterization of obstructions introduced in [17161] could in very rare cases lead to an OOS in the passability grid. Fixes #3612 .
...
This was SVN commit r17278.
2015-11-16 22:03:10 +00:00
wraitii
f1f0fa1f8f
Fix a typo. Thanks stan for noticing.
...
This was SVN commit r17260.
2015-11-14 21:46:05 +00:00
wraitii
3760891131
Fix the precedent fix. It turns out the code behaves in much weirder ways than I expected.
...
This was SVN commit r17255.
2015-11-14 19:03:20 +00:00
wraitii
e7fb75a680
Initialize new variables correctly.
...
This was SVN commit r17247.
2015-11-12 23:07:54 +00:00
wraitii
e9271025dc
Forgot to serialize a new unitMotion variable, resulting in OOS on rejoin.
...
This was SVN commit r17245.
2015-11-12 20:57:50 +00:00
wraitii
3febc387d5
Styling fixes.
...
This was SVN commit r17241.
2015-11-12 17:23:50 +00:00
wraitii
913545aa41
Mark several CFixedVector2D as const and passed by reference in Geometry and a few other places. Mark some functions (that probably already were) inline.
...
Also make sure we don't include Geometry.h where it's not necessary.
This was SVN commit r17238.
2015-11-11 20:50:02 +00:00
wraitii
f3b22e51a3
Optimize Geometry::PointIsInSquare, which is used quite often in performance hotspots.
...
Original patch by mimo. Refs #3588
This was SVN commit r17236.
2015-11-11 20:02:47 +00:00
wraitii
a138bed96b
Fix an issue where units did not notice other moving units with my latest commits.
...
This was SVN commit r17234.
2015-11-11 19:06:07 +00:00
wraitii
cc199c4cca
Fix a critical typo in the last commit and a debug message left in accidentally. Thanks fabio.
...
This was SVN commit r17232.
2015-11-11 13:55:36 +00:00
wraitii
06cb37ff74
Add PlanNextStep back to the unitMotion, in a completely different version. This basically anticipates where we'll probably move next, and checks if static units might block us. Makes paths look slightly better.
...
This was SVN commit r17229.
2015-11-11 13:29:06 +00:00
wraitii
607955489d
Check if units are in the world in UnitRenderer::PickAllEntitiesAtPoint. Probably fixes #3587 , though I'm not sure as it proved unreproducible.
...
This was SVN commit r17228.
2015-11-11 13:27:13 +00:00
wraitii
3b13fb7608
Improve unitMotion behavior. When a unit's path is obstructed, it will now try shortpathing around an increasingly large search range, to optimize behavior in trivial cases where it just needs to go around a unit.
...
Also stop trying too hard when we are close to the destination and our
only order is to move there.
This should result in a slight optimization of the behavior, as well as
slightly more sanity overall.
This was SVN commit r17226.
2015-11-11 12:49:24 +00:00
wraitii
3ddd72c1a4
Fix a rare case where units might get stuck around other idle entities, and clarify a related comment.
...
Refs #3471
This was SVN commit r17225.
2015-11-11 12:28:38 +00:00
wraitii
c42160ec10
Fix an issue where units could not go around large obstructions when short-pathing as it ran in the search-space "walls", reported by gamebot. Fixes #3593 .
...
This is also a very slight optimization.
This was SVN commit r17224.
2015-11-11 12:23:11 +00:00
Itms
2f6f0bd477
Serialize everything that is needed by UpdateVisibilityData instead of assuming everything as dirty.
...
Fixes #3271 .
This was SVN commit r17223.
2015-11-11 12:15:57 +00:00
wraitii
d3ff090ce7
Fix an OOS issue where, on ownership change, units affected by speed-modifying technologies did not update their speed.
...
This was SVN commit r17215.
2015-11-10 23:31:06 +00:00
mimo
51ec6f4728
improve function RasterizeRectWithClearance, about 40% faster, ref #3588
...
This was SVN commit r17212.
2015-11-09 21:16:46 +00:00
wraitii
0ba9fa1cc1
Optimize RasterizeRectWithClearance slightly further. Thanks mimo for noticing.
...
This was SVN commit r17209.
2015-11-08 18:08:49 +00:00
wraitii
313d324fac
Fix some cases of unit "dancing". Thanks to Elexis for nagging me.
...
This was SVN commit r17208.
2015-11-08 17:55:23 +00:00
wraitii
fe040c695f
Change the shape rasterization to not use DistanceToSquare, which often called sqrt. This apparently reduces total turn time by as much as 5% (!)
...
Refs #3368
This was SVN commit r17207.
2015-11-08 17:24:59 +00:00
wraitii
dd6d09521c
Not sure how but I messed up the previous commit.
...
This was SVN commit r17205.
2015-11-08 16:44:08 +00:00
wraitii
42d0e6d46e
Optimize the hierarchical pathfinder's "makeGoalReachable" slightly. Does not affect simulation results.
...
This was SVN commit r17204.
2015-11-08 16:39:43 +00:00
mimo
cd025b2069
fix typo
...
This was SVN commit r17203.
2015-11-08 13:09:49 +00:00
wraitii
c319ff062d
Partial fix to a formation "gliding" issue, unsure so far what is causing this.
...
This was SVN commit r17198.
2015-11-07 17:36:31 +00:00
wraitii
3163c9d4a2
Fix a rare issue with the short-range pathfinder where units took odd paths when the target was beyond the search zone.
...
This was SVN commit r17197.
2015-11-07 14:33:55 +00:00
wraitii
2d7074e8d6
Fix unused variables left behind.
...
This was SVN commit r17194.
2015-11-06 20:42:12 +00:00
wraitii
596025df71
Fix a bug in [17163] that could get units with a large passability class stuck.
...
This was SVN commit r17192.
2015-11-06 20:33:13 +00:00
wraitii
e26b59c917
Changes to unitMotion.
...
Make sure we do not treat as circles entities that we really should
treat as squares (such as trees). This fixes an issue reported by Stan.
Make sure we never forget about our destination if we are blocked by
unit obstructions. This makes sure that units in a group but not in
formation will not be blocked by the other units, and probably makes the
general behavior more sane. Helps following [17166]
Refs #3505 , #3471 , #3376
This was SVN commit r17191.
2015-11-06 20:09:18 +00:00
wraitii
9efd79e240
Fix an issue where square diagonals were incorrectly handled when checking the distance to the target. Fixes #3577 properly. Patch by mimo.
...
Decrease fishing ship gathering range in consequence (revert [17178]).
This was SVN commit r17190.
2015-11-06 19:56:52 +00:00
wraitii
1ed3761859
Fix style issues and redundant code in [17161] and [17163].
...
This was SVN commit r17189.
2015-11-06 19:48:08 +00:00
scythetwirler
2126b53b9d
Fixes interpolation of flying objects.
...
This was SVN commit r17187.
2015-11-06 16:56:39 +00:00
mimo
83bba7bdfc
revert e0771b98dd which was based on misunderstanding of the algo, and fix the inverted_circle case, refs #3577
...
This was SVN commit r17184.
2015-11-05 19:22:04 +00:00
wraitii
f91478c730
Fix an oversight in the obstruction manager that lead to possibly the most insidious OOS error we've seen so far.
...
Fixes #3292 .
This was SVN commit r17176.
2015-11-04 18:51:47 +00:00
JoshuaJB
e527a5c321
Fix #3525 and #3399 by recalculating territories on request to GetTerritoryPercentage. Patch by elexis
...
This was SVN commit r17171.
2015-11-02 07:32:43 +00:00
mimo
d9e9345be2
fix some indentation of 6e05a00929
...
This was SVN commit r17164.
2015-11-01 16:47:53 +00:00
wraitii
357203a90f
Pathfinding changes: unit-unit collisions now allow for some overlap, so units can get closer to each other, which I found improved pathfinding considerably.
...
Also fix a potential issue I noticed in some cases, though that
particular fix implies scrapping waypoints, so if units seem to get
lost, please report so and I'll revert those changes.
I can't find any way to get units stuck with this patch.
This was SVN commit r17163.
2015-11-01 13:38:48 +00:00
wraitii
14038d4cd8
Fix more pathfinding issues.
...
Change the way the long-range pathfinder rasterisation works slightly so
that we have a better compatibility with the short-range pathfinder.
Should fix the "stuck units" issues, though I am not sure so I am not
marking them as fixed so far. Refs #3471 , #3505 , and possibly #3292 .
Caveat: I am now using clearance of 0.8 for "default" class, which might
have side-effects: please report anything weird.
Also fix leftover style issues.
This was SVN commit r17161.
2015-11-01 07:28:43 +00:00
wraitii
6acfec0f44
Fix a logic error in the hierarchical pathfinder that resulted in it not updating all passability classes correctly. Fixes #3538 , refs #3292 (it fixes one of the cases, but not the examples).
...
Also features style fixes, thanks leper for noticing.
This was SVN commit r17158.
2015-10-31 20:47:47 +00:00
mimo
4d804cf26b
fix typo in 6e05a00929
...
This was SVN commit r17155.
2015-10-31 13:42:14 +00:00
mimo
6e05a00929
fix obstruction of target entity not taken into account in short pathfinder, closes #3539
...
This was SVN commit r17154.
2015-10-31 13:37:34 +00:00
wraitii
8494e36aa8
Revert the logic change in 9da482ead4. This commit removed the checks in UnitMotion against structures, which should have been fine except the short-range pathfinder and the long-range pathfinder are not entirely compatible (check out #3532 for details). This behavior was probably slightly optimized, but it was too clever for its own good in the current state of the pathfinder, might be reintroduced later.
...
This resulted in ALL "units inside obstructions" issues.
Thanks to elexis for the testing.
Fixes #3532 , #3450 .
Refs #3538 (still OOSes), #3410 (unitmotion remains buggy for
formations, but this is only aesthethic.)
Probably affects #3471 and #3505 , but those are not fixed.
This was SVN commit r17152.
2015-10-31 08:43:31 +00:00
mimo
e0771b98dd
fix switch between square or circle approximation in UnitMotion, refs #3539
...
This was SVN commit r17145.
2015-10-26 22:59:26 +00:00
mimo
f4cb822d9d
do the circle approximation also in INVERTED goals in UnitMotion, refs #3405
...
This was SVN commit r17143.
2015-10-18 20:23:02 +00:00
mimo
70d5e4e318
fix the INVERTED_CIRCLE and INVERTED_SQUARE PathGoal, fixes #3405
...
This was SVN commit r17142.
2015-10-18 20:21:20 +00:00
mimo
82590753d7
fix a moved function, fixes #3531
...
This was SVN commit r17137.
2015-10-16 17:14:39 +00:00
historic_bruno
c0b4e78801
Fixes stream serialization bug on OS X 10.8 and older, which caused instant OOS in multiplayer games, fixes #3108 .
...
Fixes test failures on OS X 10.7 and older, refs #3109
This was SVN commit r17133.
2015-10-15 03:31:30 +00:00
historic_bruno
4043c56518
Fixes global init order bug that caused OOS between OS X and other platforms, fixes #3499 . May improve pathfinding behavior in some cases, please test!
...
This was SVN commit r17132.
2015-10-15 02:51:12 +00:00
mimo
b0f267b61c
fix typo in UnitMotion, fixes #3474
...
This was SVN commit r17124.
2015-10-11 11:00:11 +00:00
sanderd17
f5348c6dd6
Introduce less rounding errors in the falloff to allow a more precise territory calculation. Fixes #3334 . Based on code by elexis.
...
This was SVN commit r17122.
2015-10-11 09:01:50 +00:00
historic_bruno
02628b8902
Removes unused pathfinder consts, patch by stanislas69. Fixes #3500
...
This was SVN commit r17115.
2015-10-10 06:48:42 +00:00
Itms
e0093c8ecc
Remove an unused function (it was used by the old pathfinder).
...
This was SVN commit r17103.
2015-10-04 18:02:16 +00:00
Itms
2505a2ec70
Remove a preprocessor ambiguity, fixes #3480 .
...
This was SVN commit r17101.
2015-10-04 17:21:36 +00:00
Itms
cfe4a2e568
Fix a cause of serialization problems. Fixes #3450 .
...
This was SVN commit r17097.
2015-10-03 11:02:12 +00:00
Itms
bb997f6cae
Fix previous commit.
...
This was SVN commit r17096.
2015-10-03 10:32:30 +00:00
Itms
d60940ac59
Code improvements and style fixes.
...
This was SVN commit r17095.
2015-10-03 08:27:19 +00:00
Itms
dc69aed954
Remove some old and unused code.
...
This was SVN commit r17094.
2015-10-02 18:27:10 +00:00
Itms
2132f868b8
Replace the rectangle rasterization algorithm by the original version from Philip's branch.
...
The current version is flawed (it doesn't handle the partially
obstructed cells as it should).
Refs #3410 .
This was SVN commit r17084.
2015-09-27 16:46:26 +00:00
mimo
a7e0dc1534
update attack and heal range queries, patch by leper, fixes #3080
...
This was SVN commit r17082.
2015-09-27 12:23:40 +00:00
Itms
dcf8e66aca
Update the goal serialization for 03d2c5e40b. Fixes #3425 .
...
This was SVN commit r17068.
2015-09-24 17:13:39 +00:00
Itms
b77ad821c2
Reenable formations and fix/improve the communication between UnitAI and UnitMotion. With the new pathfinder some path requests can be completed instantaneously, so UnitAI has to handle MoveStarted messages even in the IDLE state.
...
Please note that this commit makes #3410 really visible. Formation
members might pass through buildings.
Refs #3410 , #3337 .
This was SVN commit r17028.
2015-09-17 16:31:23 +00:00
Itms
ae6475fcc0
Fix a typo, patch by godlikeldh.
...
This typo didn't have any influence since dirty unit shapes are usually
discarded during the rasterization (they don't block long-range
pathfinding). Switching the order of a check in RasterizeHelper prevents
performance problems to a really small extent.
This was SVN commit r17014.
2015-09-13 10:18:37 +00:00
Itms
03d2c5e40b
Support inverted goals with the long-range pathfinder. This allows units to flee and should fix problems with ranged units too close to their targets. Fixes #3405 , refs #3372 .
...
Now that units flee it's necessary to fix the unit chasing: this commit
reintroduces some code from 298115f4c5 that disappeared with the
committing of the new pathfinder. Refs #1537 .
Also includes some style improvements to the UnitMotion code.
This was SVN commit r17013.
2015-09-13 09:33:09 +00:00
leper
558695365d
Add some documentation about system components. Fixes #3315 .
...
This was SVN commit r17003.
2015-09-11 04:10:26 +00:00
leper
fc051d94cc
Add check for non-passable (likely water-only) maps to territory percentage calculation.
...
Patch by s0600204. Fixes #3407 .
This was SVN commit r17002.
2015-09-11 02:16:21 +00:00
Itms
9da482ead4
Based on previous experimental changes, major update to the unit motion.
...
With this change, units will not check their movement against all
obstructions when moving: terrain and static obstructions are assumed to
be handled by the long-range pathfinder.
However, when static obstructions are changed, the paths have to be
invalidated. In order to minimize the performance impact, units will
check for obstructions when they move after a passability change. If
they collide with something, they will recompute a path that will take
into account the new passability map.
Also includes some code cleanup. This patch should not change
performance a lot: the lower number of checks should give a small
performance improvement while using the message broadcasting system
should hurt it a bit.
Fixes #3376 , #3337 , #1914 .
This was SVN commit r16998.
2015-09-10 18:12:13 +00:00
leper
5a685b84ca
Recompute the cost grid in the TerritoryManager when needed. Patch by s0600204. Fixes #3399 , #3400 .
...
This was SVN commit r16990.
2015-09-06 22:35:38 +00:00
Itms
448b8248cf
Revert my experimental changes from the previous days. Hopefully I can design something that doesn't introduce a ton of new issues. Refs #3376
...
This was SVN commit r16986.
2015-09-05 18:20:08 +00:00
Itms
1d89d05956
Don't try to short-path to non-point goals, because the algorithm won't deal with connectivity. Fixes another bug reported in #3363 .
...
This was SVN commit r16985.
2015-09-04 20:43:05 +00:00
Itms
3005637370
Make a compromise between f240374b28 and f134ac63bb by making the filtering of pathfinding-blocking shapes conditional.
...
Those shapes need to be taken into account when computing a short path,
but they need to be discarded when checking movements or they will
create long/short inconsistencies.
This was SVN commit r16981.
2015-09-03 20:09:25 +00:00
Itms
8dde1cda94
Style cleanup, and remove a wrong TODO.
...
This was SVN commit r16974.
2015-09-02 17:40:31 +00:00
Itms
f134ac63bb
Revert most of f240374b28 which was actually bad. It caused units to get stuck because the obstructions won't block the same paths when rasterized on the grid and when directly tested for collisions.
...
As a general rule, pathfinding-blocking shapes should not be tested
against for movements. Only the passability grid should be considered.
As the algorithm which tests paths on this grid was fixed in 1c9ea56800 ,
it can be safely used.
Fixes #3376 .
This was SVN commit r16971.
2015-09-02 15:50:16 +00:00
Itms
f47cb2c711
Fix the OOS reported by elexis in #3335 , and clean some whitespace and style.
...
The list of modified entities was thrown out on global visibility
updates (those happen on rejoin) but only in-world entities were
actually updated then, causing problems with garrisoning.
Now the list of modified entities can happen to be large, so replace the
hacky check for infinite loops by a real check.
This was SVN commit r16962.
2015-08-30 17:42:10 +00:00
leper
2aef62d65f
Handle backrefs properly for maps and sets. Fixes #3374 .
...
Allocate the tag for the backreference before deserializing the content,
to match the order of serializing.
This was SVN commit r16959.
2015-08-30 04:51:16 +00:00
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
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