Commit Graph

5628 Commits

Author SHA1 Message Date
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
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
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
b7281c629c Rocks -> Arrows. Fixes #2565.
This was SVN commit r15222.
2014-05-26 04:48:33 +00:00
bc8792ba96 Proper double-click behavior for these champion units. Fixes #2586.
This was SVN commit r15221.
2014-05-26 04:41:35 +00:00
39cfb6748d Fixes flickering in main menu backgrounds on old Intel GPUs, by manually setting the z-values for each layer, fixes #2143
This was SVN commit r15220.
2014-05-26 04:38:47 +00:00
4dd90a1ef3 A new skirmish map.
This was SVN commit r15219.
2014-05-26 04:23:10 +00:00
d7f1427c9b Tweaked Ptolemies sandbox scenario.
This was SVN commit r15218.
2014-05-26 01:28:56 +00:00
7bc0f611b3 Auras for Roman heroes Marcellus and Maximus.
This was SVN commit r15217.
2014-05-26 01:26:53 +00:00
3d306702df Petra: recover some cases where units are blocked because of pathfinder
This was SVN commit r15215.
2014-05-25 10:00:55 +00:00
5ce12c2263 Start phasing out the use of CParser in the GUI. Makes GUI parsing generally faster and stricter while adding better tests and debug information.
This was SVN commit r15213.
2014-05-25 03:16:52 +00:00
9c908a5f46 improve 6764b15ae2 by allowing a selected button to be selected again
This was SVN commit r15212.
2014-05-24 16:23:11 +00:00
6764b15ae2 ease switch to 100% trade of one resource using Shift-click
This was SVN commit r15211.
2014-05-24 15:37:19 +00:00
874ceb76a5 fix JS warning in Petra
This was SVN commit r15210.
2014-05-24 14:52:05 +00:00
8589003ac6 Let for loop return early. Small code style fix.
This was SVN commit r15209.
2014-05-24 10:18:15 +00:00
7f5264d3be Fix test for unhealable and healable classes. Make healers able to heal again
This was SVN commit r15208.
2014-05-24 09:50:10 +00:00
1e3ba2d438 Let formations use the UnitAI.AddOrder method, instead of directly deciding if ReplaceOrder or PushOrder should be used. This replaces the expectedRoute, and might lead to units behaving more as demanded. Refs #2568
This was SVN commit r15207.
2014-05-24 09:40:21 +00:00
9ee17342b1 Change developer overlay to only be openable through Alt+D shortcut. Fixes #2569
This was SVN commit r15205.
2014-05-23 00:18:16 +00:00
84b53933ff fix the AIs broken after b55b6a9cf1
This was SVN commit r15204.
2014-05-22 20:40:14 +00:00
27104a4f33 Remove MaxDistance from Roman merchant ship. See 1207b146bb.
This was SVN commit r15203.
2014-05-22 16:39:00 +00:00
52e807a207 Healers should not heal animals.
If we want war dogs to be healable we should change the class to
Domestic.

This was SVN commit r15202.
2014-05-22 16:38:57 +00:00
ea334e3716 Fix class counting
This was SVN commit r15201.
2014-05-22 16:20:36 +00:00
41de9f6e84 Petra fixes for maps without cc
This was SVN commit r15200.
2014-05-22 15:09:42 +00:00
3fc2574ecf Disable syntagma and testudo for champion cavalry
This was SVN commit r15199.
2014-05-22 14:50:53 +00:00
d20e244a37 fix tests
This was SVN commit r15198.
2014-05-22 14:38:49 +00:00
16c5bc96dc Add ptol and sele hero auras. Fixes #2444. Patch by Silk.
This was SVN commit r15197.
2014-05-22 14:37:11 +00:00
b55b6a9cf1 Add visible class names to all common buildings
This was SVN commit r15196.
2014-05-22 14:31:48 +00:00
ac1a9bf8d1 Clean up class parsing + add visible classes to be displayed in the GUI without adding them separatedly to our tooltips
This was SVN commit r15195.
2014-05-22 10:20:02 +00:00