1
0
forked from 0ad/0ad
Commit Graph

13389 Commits

Author SHA1 Message Date
db39d742f0 Fix units falling off the edge of the world.
I guess changes to the map loading sequence caused the TerrainChanged
message to be sent before the map was switched from square to circular
instead of after. The pathfinder didn't notice the switch, so it
continued treating the map as if it were square, allowing units to walk
into the permanent map-corner SOD and vanish, and allowing territories
to expand into the SOD.

Tell the pathfinder explicitly when the map shape changes, so it can
discard its cached data correctly.

This was SVN commit r15277.
2014-06-03 22:35:40 +00:00
0900005e5b fix #2605
This was SVN commit r15276.
2014-06-03 19:41:11 +00:00
86a99b745e Petra: code rearrangement + small improvments
This was SVN commit r15275.
2014-06-02 20:21:28 +00:00
4f6afbc0bf Fix non-PCH build.
This was SVN commit r15274.
2014-06-02 20:06:27 +00:00
b4f3b503f2 code style cleanup
This was SVN commit r15273.
2014-06-02 15:48:37 +00:00
a500826ae4 Since the VFS logs the missing files now, there's no reason to crash on it.
This was SVN commit r15272.
2014-06-02 15:41:41 +00:00
49ca719049 Reinitialize music when hotloading. Fixes crash when hotloading GUI files.
This was SVN commit r15271.
2014-06-02 15:13:16 +00:00
a63ed4e4c4 Fixes rare crash in sound manager, due to worker thread dereferencing global pointer before it had been assigned. Fixes #2333, refs #2387, #2317.
Fixes potential infinite loop if worker thread was running but not
enabled.
Fixes apparent bug in fading sound smoothness.
Cleans up worker class slightly.
Cleans up weird and inconsistent whitespace.

This was SVN commit r15269.
2014-06-02 02:09:58 +00:00
c17bf75cbb Fix bad merge.
This was SVN commit r15268.
2014-06-01 19:06:58 +00:00
fb0b4572ab Fix Valgrind complaint about delete vs delete[].
This was SVN commit r15267.
2014-06-01 18:46:14 +00:00
e6b8339103 Minor optimisation for non-animated units.
This was SVN commit r15266.
2014-06-01 18:25:20 +00:00
1882f28504 New unit renderer.
Instead of each CCmpVisualActor rendering itself individually, collect
all the units in a single CCmpUnitRenderer. This avoids the overhead of
doing Interpolate/RenderSubmit calls every frame for every object in the
world. It also allows more efficient culling.

CCmpUnitRenderer knows the positions of each object at the start and end
of each turn, and computes the bounding sphere of the object along that
path. That allows quick culling without recomputing the precise
interpolated transform every frame. (In the future it could be improved
much more.)

Clarify and clean up the sending of PositionChanged messages, and add
new InterpolatedPositionChanged.

Remove the forceFloating parameter from GetInterpolatedTransform, since
it doesn't fit the new design. Replace it with a (non-synchronised) flag
in CCmpPosition.

Move construction progress from CCmpVisualActor to CCmpPosition, so that
it consistently affects all position/transform computation.

Refs #2337.

This was SVN commit r15265.
2014-06-01 18:24:50 +00:00
d117d96d22 Simplify component deserialization.
Deserialize SYSTEM_ENTITY before any other entities. This makes it safe
for Deserialize() methods to access system components (mirroring how
Init() can already access system components).

Add a Deserialized message, sent after all entities have been
deserialized, to help with some other sequencing problems.

This was SVN commit r15264.
2014-06-01 18:14:09 +00:00
b30a9a6384 Remove m_NeedInitialXZRotation - not needed after changes to map loading order.
This was SVN commit r15263.
2014-06-01 18:10:00 +00:00
ceb3c3d366 MapReader: Load terrain before entities.
This allows component Init functions to make use of the terrain
immediately, instead of delaying some computations until the first
frame.

This was SVN commit r15262.
2014-06-01 18:08:11 +00:00
fe3315376c Add BoundingSphere, SOverlaySphere.
BoundingSphere is similar to a bounding box, but more spherical.

SOverlaySphere is useful for visualising BoundingSphere (it's quite
inefficient and should only be used for debug functionality).

Normalise the camera frustum clipping planes, so that IsSphereVisible
gives the correct result.

This was SVN commit r15261.
2014-06-01 18:05:46 +00:00
3b0fee9073 This was SVN commit r15260. 2014-06-01 13:15:16 +00:00
ac925ed1b6 fix 8efc3b0241
This was SVN commit r15259.
2014-06-01 12:49:34 +00:00
8efc3b0241 code rearrangement
This was SVN commit r15258.
2014-06-01 09:47:12 +00:00
6f11097c00 Allow the CLI to load skirmish maps. From now on, the directory must be included in the map path to load any maps (see the readme). Patch by Teiresias. Fixes #2572
This was SVN commit r15257.
2014-06-01 08:18:46 +00:00
38130e5b94 Brit woman can build rotary mill now.
Spartan commando can build the Theatron now.

Sibylline Books tech from Roman Wonder to Roman Temple.

This was SVN commit r15256.
2014-06-01 04:13:19 +00:00
608ab456d5 fix tests
This was SVN commit r15255.
2014-05-31 14:57:14 +00:00
59c9ae670f Stop VFS from causing a crash when the AI player isn't found. Patch by Itms. Fixes #2558
This was SVN commit r15254.
2014-05-31 14:55:09 +00:00
bb16a8ee98 Fix ungarrisoning via ungarrisoning pane
This was SVN commit r15253.
2014-05-31 14:03:00 +00:00
17d83a8b4c Add ungarrison button to ungarrison specific entities
This was SVN commit r15252.
2014-05-31 13:58:16 +00:00
e2aa24fc9a Clean up the turret interface a bit + fix serialisation for turrets
This was SVN commit r15250.
2014-05-31 11:35:07 +00:00
8ef7278306 Add a bonus to units on walls + disable placing units on palisades (which was enabled by accident due to inheritance)
This was SVN commit r15249.
2014-05-31 11:02:58 +00:00
f5c5bbe26d some fixes for Petra AI
This was SVN commit r15247.
2014-05-30 15:24:19 +00:00
cfec28e553 Add the Engine code for turrets + use them to get units on walls. The scripted TurretHolder isn't included due to lack of usability for now. Refs #2577
This was SVN commit r15246.
2014-05-30 14:46:06 +00:00
d05bd656e7 Added Sibylline Books tech for Romans.
Tweaked Roman Logistics tech. Tweaked Siwa Oasis skirmish.

Balance changes: -5 attack, -4 range, -10 health for cavalry
skirmishers, after discussion with alpha123.

This was SVN commit r15245.
2014-05-30 04:18:05 +00:00
84d799ed9f Petra: reduce the CPU time for building placement
This was SVN commit r15244.
2014-05-29 20:39:09 +00:00
7105dabca7 fix failing unit training in Aegis and Petra
This was SVN commit r15243.
2014-05-29 20:18:29 +00:00
e0218fff8d New final fix?
This was SVN commit r15242.
2014-05-27 14:54:51 +00:00
7c39259ee5 Now I should get it right
This was SVN commit r15241.
2014-05-27 14:00:21 +00:00
5762721b09 Strange how I'm able to make that many mistakes
This was SVN commit r15240.
2014-05-27 13:42:04 +00:00
82db905b8e Fix previous commit
This was SVN commit r15239.
2014-05-27 12:32:57 +00:00
3413dc84a1 make it possible for mods to add new unit commands
This was SVN commit r15238.
2014-05-27 11:17:29 +00:00
b9f3a95e17 Make UnitAI moddable by exposing the FSM spec and calculated FSM as part of the prototype
This was SVN commit r15237.
2014-05-27 07:24:07 +00:00
e4d3189494 Lots of GUI fixes to issues pointed out by alpha123 on IRC.
This was SVN commit r15235.
2014-05-27 05:34:28 +00:00
a75342e2c7 minor changes in petra: cleanings and timing optimization
This was SVN commit r15234.
2014-05-26 19:52:51 +00:00
a0913cbc75 Fix the interpolation changes from the previous commit, as they weren't smooth
This was SVN commit r15232.
2014-05-26 17:12:05 +00:00
85a1f880ab Fix compatibility with LLVM libc++ (used on OS X).
libc++ vector asserts that allocator::value_type is correct, so we have
to pass in the correct types.

This was SVN commit r15231.
2014-05-26 16:48:28 +00:00
5ae9f678b0 Clean up position height methods + add new. Now we have the ability to losslessly read and write positions to entities from the scripts.
This was SVN commit r15230.
2014-05-26 16:23:46 +00:00
c3a0ac43bf Broadcast TerrainChanged message, so CCmpSelectable can actually see it.
This was SVN commit r15229.
2014-05-26 15:44:35 +00:00
4ca40116ed Fix building selection rings not being recomputed when the terrain or water under them is changed.
This was SVN commit r15228.
2014-05-26 13:45:49 +00:00
1871daab0d Fix pathfinding and territories not being recomputed when water height changes.
This was SVN commit r15227.
2014-05-26 13:45:10 +00:00
41f62cd3ff Add WaterChanged message, for things that need to be recomputed when the water height changes.
This was SVN commit r15226.
2014-05-26 13:44:24 +00:00
6407b593d6 Make displayFrustum controllable from scripts.
This was SVN commit r15225.
2014-05-26 13:42:32 +00:00
1936abad98 Remove length limits on script output in console.
This was SVN commit r15224.
2014-05-26 13:39:45 +00:00
b78c38b935 Disable GCC warning triggered by wxWidgets.
This was SVN commit r15223.
2014-05-26 13:38:09 +00:00