Commit graph

927 commits

Author SHA1 Message Date
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