elexis
00e7d49368
Profile Footprint calls that can easily consume 90% of the simtime on a turn ("sunken ship lag").
...
Differential Revision: https://code.wildfiregames.com/D778
Refs #4713
Reviewed By: Vladislav
This was SVN commit r19973.
2017-08-11 18:08:30 +00:00
elexis
343ec21e75
Update the color of the selection ring, rallypoints and territory outline when the playercolor is changed in atlas.
...
Merge duplicate Selectable component playercolor code.
Differential Revision: https://code.wildfiregames.com/D687
Fixes #4643
Refs D623
Patch in cooperation with: Stan
This was SVN commit r19965.
2017-08-09 11:19:14 +00:00
fatherbushido
3d0bfc7e1b
Forgotten years replacement in 3a3bcca0c5.
...
This was SVN commit r19962.
2017-08-09 07:11:53 +00:00
fatherbushido
3a3bcca0c5
Refactor the code for cutting a circle into chords for textured line overlay in Selectable component. Don't compute useless arccos and avoid compound rounding errors. Reviewed by Itms.
...
Differential Revision: https://code.wildfiregames.com/D673
This was SVN commit r19959.
2017-08-08 17:48:44 +00:00
elexis
505a10cef6
Display rallypoints in the playercolor instead of plain blue.
...
Differential Revision: https://code.wildfiregames.com/D623
Fixes #4618
Patch By: Stan
This was SVN commit r19957.
2017-08-08 12:48:57 +00:00
mimo
37c2f18b9e
Add AI engine function for template loading
...
Partial commit of https://code.wildfiregames.com/D639 , taken from
Sandarac patch
Reviewed by mimo
This was SVN commit r19951.
2017-08-07 19:35:43 +00:00
leper
27e5c5b25a
Mark a few functions const.
...
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D499
This was SVN commit r19930.
2017-07-29 23:26:44 +00:00
Itms
d56692d9e1
Rewrite the pathfinder dirtiness information system.
...
Remove all hacks while keeping most optimizations in memory management.
This fixes incomplete grid updates that could cause OOS on rejoin, fixes
#4596 .
Tested by: elexis, ffffffff
Reviewers: leper, wraitii
Differential Revision: https://code.wildfiregames.com/D675
This was SVN commit r19916.
2017-07-14 10:09:32 +00:00
elexis
c67d79d9f3
Recompute water graphics when changing the water level and upon deserialization to fix a graphical (non-simulation) OOS on rejoin.
...
Differential Revision: https://code.wildfiregames.com/D638
Refs #4596
Contains a fix mentioned by leper.
This was SVN commit r19862.
2017-07-01 04:15:49 +00:00
elexis
cfd08bbf28
Cinema Path GUI hiding and silhouettes fixes.
...
Let the JS GUI take care of hiding the GUI and silhouettes and remove
the according hardcoding in the engine following 89aef0b6eb .
Thereby fix some bugs (like not having hid the GUI if there was a
message box or different page shown while playing a path) and
fix these two hotkeys broken by 5d49e6c456 .
Differential Revision: https://code.wildfiregames.com/D631
Fixes #4633
Reviewed By: Vladislav
This was SVN commit r19797.
2017-06-17 14:17:30 +00:00
elexis
e6dafe9efc
Fix a map exploration OOS on rejoin when starting with territory at the map boundaries.
...
6aeb5c64de forgot to add a LosIsOffWorld check in ExploreTerritories
(aka UpdateTerritoriesLos) and thus marked tiles outside of the world as
explored.
f5e60157bf transformed the bug into a non-simulation desynchronization,
causing rejoined players to see a different score,
as they excluded off-world tiles when filling the cache in
ResetDerivedData upon rejoin.
4a0673e44e transformed the bug into an actual simulation OOS by
serializing that map exploration percentage based on that cache.
Also tiles at the map border in square maps are not rendered as
expected, so this commit hides refs #4267 .
Differential Revision: https://code.wildfiregames.com/D630
Fixes #4598
Proofread by: Itms
Tested By: Imarok
This was SVN commit r19790.
2017-06-16 19:39:30 +00:00
Itms
860b5bbfce
Revert an unfortunate early break introduced in 2527aabd5d, patch by Sandarac.
...
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D641
This was SVN commit r19777.
2017-06-15 17:45:16 +00:00
Itms
2527aabd5d
Fix hero selection rings becoming unsaturated when moving. Patch by Sandarac, refs 0a53c5e06a, #2627 .
...
Differential Revision: https://code.wildfiregames.com/D563
This was SVN commit r19732.
2017-06-04 13:04:04 +00:00
elexis
51f62818f7
Fix all broken checks for the absent (random-mapgen+simulation) Seed property in the engine, refs #3965 .
...
Hence display the originally intended useful warnings (instead of the
characterless JS "Script value conversion check failed" warning and
skipping the intended warnings).
This was SVN commit r19718.
2017-06-02 15:07:58 +00:00
elexis
77c4e649af
Replace hardcoded copies of a C++ simulation constant in JS used to compute the mapsize with a call to a new getter in the C++ interface.
...
Differential Revision: https://code.wildfiregames.com/D577
Patch By: Sandarac
This was SVN commit r19699.
2017-05-31 16:43:57 +00:00
leper
a533fff883
Add a -autostart-nonvisual option. Patch by sacha_vrand. Fixes #4577 .
...
This allows automated testing of AIs without any GUI or sound (similar
to non-visual replays).
Differential Revision: https://code.wildfiregames.com/D379
This was SVN commit r19645.
2017-05-23 19:26:33 +00:00
mimo
15e2b42525
New economic tutorial based on triggers, accessible from the "learn to play" button
...
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D194
This was SVN commit r19599.
2017-05-17 17:33:36 +00:00
leper
51f7502bb1
Don't move temporaries, so possibly allowing for copy elision.
...
Pointed out by clang's -Wpessimizing-move.
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D421
This was SVN commit r19559.
2017-05-11 23:24:54 +00:00
leper
bdfe500f98
Draw paths only when cinematics isn't playing. Patch by Vladislav.
...
Also show the GUI after the cinematics stopped playing in Atlas.
Differential Revision: https://code.wildfiregames.com/D411
This was SVN commit r19533.
2017-05-08 04:02:33 +00:00
elexis
ee5bb1fd61
RangeVisualization component and use it to visualize Aura ranges.
...
Differential Revision: https://code.wildfiregames.com/D238
Fixes #4349
Patch By: Sandarac
This was SVN commit r19519.
2017-05-06 00:47:21 +00:00
elexis
09e974e1cb
Bump year number of files changed this year in the license headers.
...
This was SVN commit r19503.
2017-05-01 14:28:22 +00:00
elexis
37da3b008a
Translate the Out-Of-Sync error message and send it to the JS GUI for convenience and future extension.
...
Add a hint that multiplayer games with AI are currently not supported.
Differential Revision: https://code.wildfiregames.com/D105
Reviewed By: leper
Refs #3858
This was SVN commit r19491.
2017-05-01 04:55:56 +00:00
leper
234aa36b25
Update the documentation on how to write simulation components.
...
Mention how to handle const methods (be1a205f91 , D75).
Note that parameters are passed as const references (1a66f510d0 ).
Also remove mention of jsval (which is deprecated).
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D374
This was SVN commit r19484.
2017-04-30 23:48:54 +00:00
elexis
5a4cbc9261
Move CinemaManager includes forgotton in 5d49e6c456 to the right place, thus fixing the build without precompiled headers.
...
Refs https://code.wildfiregames.com/D385
Reported by: leper
Fix proposed by: Vladislav
This was SVN commit r19473.
2017-04-29 18:08:06 +00:00
elexis
81c57e8a28
List, add and delete cinematic paths in Atlas.
...
Doesn't provide a way to add/delete nodes of paths yet.
Differential Revision: https://code.wildfiregames.com/D348
Patch By: Vladislav
This was SVN commit r19427.
2017-04-18 03:30:16 +00:00
wraitii
1ec41f6dd0
Fix crash in dynamic subscriptions when components unsubscribe during deletion.
...
Discussed with Philip.
Reviewed by fatherbushido
Differential Revision: https://code.wildfiregames.com/D264
This was SVN commit r19424.
2017-04-17 08:00:41 +00:00
fatherbushido
de9e76cbf1
Add a test to the component manager to show a crash in dynamic subscriptions when components unsubscribe during deletion. Reviewed by wraitii.
...
Differential Revision: https://code.wildfiregames.com/D346
This was SVN commit r19423.
2017-04-17 07:55:44 +00:00
elexis
adf60c7c49
Support cinematic path creation from trigger scripts.
...
Differential Revision: https://code.wildfiregames.com/D317
Patch By: Vladislav
Refs #3814
This was SVN commit r19422.
2017-04-17 01:42:11 +00:00
elexis
5462f26aba
Move CinemaPath class to the simulation helper directory, because it contains predominantly simulation data that is already serialized.
...
The remaining graphics code should be moved or removed.
Differential Revision: https://code.wildfiregames.com/D324
Patch By: Vladislav
This was SVN commit r19414.
2017-04-14 23:20:49 +00:00
elexis
2e37e6a8d9
Remove redundant path name argument from the CinemaManager AddPath function.
...
Differential Revision: https://code.wildfiregames.com/D310
Patch By: Vladislav
This was SVN commit r19406.
2017-04-11 01:37:00 +00:00
elexis
e4b4126293
Fix Units demo map following the addition of the special filter templates in D215 / d093f714d7.
...
Expose the FindAllPlaceableTemplates function to the simulation to
remove the hardcoded directory checks as suggested by fatherbushido.
Add the new special template directory from D176 / cd6c31e76e .
Move the code from XML to JS.
Differential Revision: https://code.wildfiregames.com/D277
Reviewed By: Vladislav
This was SVN commit r19399.
2017-04-09 23:46:31 +00:00
Itms
32c0dc773e
Fix memory leak in CCmpPathfinder, patch by Sandarac.
...
The terrain grid can be renewed without proper deallocation, which
happens at least at the start of a game when MT_TerrainChanged is sent.
Reviewers: wraitii, Itms
Differential Revision: https://code.wildfiregames.com/D247
This was SVN commit r19388.
2017-04-08 15:58:10 +00:00
elexis
7f07237bba
Serialize the queue of cinematic paths playing and resume upon deserialization. Thereby fix an OOS on rejoin when a cinematic path is playing.
...
Move path de/serialization to private helper functions.
Differential Revision: https://code.wildfiregames.com/D299
Patch By: Vladislav
Refs #3814
This was SVN commit r19382.
2017-04-08 00:10:02 +00:00
elexis
5d49e6c456
Move most cinematic path simulation data and control from the graphics class to the simulation component and solve the hash mimatch in non-visual replay.
...
Move graphics code to smaller helper functions UpdateSessionVisibility,
UpdateSilhouettesVisibility and DrawPaths.
Remove the hotkey TODO code which should be implemented differently.
Mark voids as const.
Differential Revision: https://code.wildfiregames.com/D271
Patch By: Vladislav
This was SVN commit r19375.
2017-04-05 03:59:20 +00:00
Itms
c0708da215
Fix the Mustang template. Add tests for the UnitMotionFlying component.
...
Patch by bb.
Reviewers: Itms
Differential Revision: https://code.wildfiregames.com/D139
This was SVN commit r19373.
2017-04-03 09:58:01 +00:00
elexis
27f37ccd21
Cleanup the rest of the mess introduced with the NonGaiaEntities functions in 8c7b6dceaa.
...
Add a test for the GetNonGaiaEntities function of the RangeManager
broken by that commit that was fixed by f3e4e619bc .
Don't call one script function from another, but directly call into the
Selection helper like the others.
Don't make a loop around that RangeManager function for all players but
call the function once for all players.
The pointless virtual keywords were removed by 8827db201a .
Differential Revision: https://code.wildfiregames.com/D166
Reviewed By: leper
This was SVN commit r19344.
2017-03-25 02:42:51 +00:00
leper
b9441a6a8d
Ensure m_Territory in cmpTerriotryManager.IsTerritoryBlinking. Fixes #4466 .
...
Patch By: Sandarac
Differential Revision: https://code.wildfiregames.com/D261
This was SVN commit r19343.
2017-03-25 01:43:14 +00:00
leper
e69e10ef5f
Small RangeManager cleanup.
...
Use std::set's logarithmic find instead of a linear loop.
Early return and some whitespace for getParabolicRangeForm.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D260
This was SVN commit r19342.
2017-03-25 00:11:08 +00:00
leper
9f50bf3f1e
Only dereference cmpWaterManager if it is non-null.
...
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D259
This was SVN commit r19340.
2017-03-24 21:32:49 +00:00
fatherbushido
9cf84c6800
Fix documentation of non system component.
...
Summary: -
Test Plan: -
Reviewers: Itms, leper
Reviewed By: leper
Subscribers: Vulcan, O1 C++ Simulation
Differential Revision: https://code.wildfiregames.com/D221
This was SVN commit r19337.
2017-03-24 07:09:28 +00:00
elexis
ff452de1f7
Mark GetAnimationName as const
...
Differential Revision: https://code.wildfiregames.com/D248
Reviewed By: leper
This was SVN commit r19325.
2017-03-22 23:07:01 +00:00
elexis
d093f714d7
Use XML files instead of hardcoded C++ code in the template manager to universally change template properties at load time.
...
Patch By: leper
Differential Revision: https://code.wildfiregames.com/D215
Fixes #2951
This was SVN commit r19302.
2017-03-16 19:56:12 +00:00
elexis
c288a91c6d
Add a GetAnimationName getter function for the VisualActor component, so that the simulation can not only set an animation but also find out which one is currently being played.
...
Differential Revision: https://code.wildfiregames.com/D219
Reviewed By: bb
This was SVN commit r19299.
2017-03-15 14:27:51 +00:00
mimo
f3e4e619bc
RangeManager returns Gaia entities in GetNonGaiaEntities
...
refs #4495
Reviewed By: leper, elexis
Differential Revision: https://code.wildfiregames.com/D164
This was SVN commit r19245.
2017-02-26 10:26:35 +00:00
mimo
360ba27865
Cleanup of CCmprangeManager
...
Summary: Following discussions in https://code.wildfiregames.com/D60 the
use of u8 to store each boolean has been cleanup up. Now only one u8 is
used, thus reducing the size of the struct.
Reviewed By: leper
Differential Revision: https://code.wildfiregames.com/D101
refs #3834
This was SVN commit r19242.
2017-02-24 19:15:54 +00:00
leper
a0a0895a12
Pass some strings and a vector as const refs.
...
Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D160
This was SVN commit r19240.
2017-02-24 17:02:10 +00:00
leper
5e5b5be656
Improve component cache lookup performance slightly.
...
We do not need iteration order, and this makes this explicit.
Reviewed By: echotangoecho
Differential Revision: https://code.wildfiregames.com/D82
This was SVN commit r19235.
2017-02-22 19:27:58 +00:00
leper
6ae2db53db
Employ some variadic macros to make some of the C++ -> JS function calling code nicer.
...
Template-ize CallFunctionVoid.
Changes CallFunction parameter order to make template parameter
deduction with
variadic parameters work nicely.
Reviewed By: Itms, wraitii, Yves
Differential Revision: https://code.wildfiregames.com/D77
This was SVN commit r19183.
2017-01-28 23:37:15 +00:00
mimo
c2d0327af9
Implement shared vision at the entity level
...
Summary:
To fix tickets like #3335 , having a shared vision at the entity level is
needed. This patch implements that in CCmpRangeManager, interfaced with
a new JS component VisionSharing to manage the shared entities visions.
As an example of use case (in addition to garrisoning in allied
structure without the sharedLos tech), we can think of bribing enemy
units: there is a part about it in the patch, but this one is very wip
and not intended to be committed but rather for test purposes of the
feature.
So when garrisoning a unit in another player's building, the vision of
the garrisonHolder is shared (part intended for review). In addition,
for tests of the feature, when clicking on the new bribe icon in the
diplomacy window, a random unit of the chosen player is bribed and share
its vision during 15 s.
Test Plan: Garrison a unit in an allied structure without the sharedLos
tech, or test the wip bribe feature from the diplomacy window.
Reviewers: Itms
Reviewed By: Itms
Subscribers: Stan, leper, O11 Templates, wraitii, elexis, fatherbushido,
Itms, Vulcan, O1 C++ Simulation
Differential Revision: https://code.wildfiregames.com/D60
This was SVN commit r19175.
2017-01-26 21:10:46 +00:00
elexis
4f01db4831
Split TurnManager classes into individual files per class. Patch by echotangoecho, fixes #4095 .
...
Remove the "Net" prefix from the non-networked classes.
Use variadic macros and mark the client turnmanager as NONCOPYABLE.
Differential Revision: D16
Reviewed By: leper
This was SVN commit r19165.
2017-01-24 02:04:50 +00:00
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