Commit Graph

5394 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
e79adae921 Attempt to work around LOS texture alignment bug.
For unknown reasons, sometimes glTexSubImage2D acts as if
GL_UNPACK_ALIGNMENT = 2 or 4, instead of 1. This causes the odd-sized
array uploaded for the LOS texture to be interpreted incorrectly, and
the LOS texture gets rendered very incorrectly.

Pad the array to a multiple of 4 in all cases, so that
GL_UNPACK_ALIGNMENT shouldn't affect it.

Hopefully fixes #2594.

This was SVN commit r15216.
2014-05-25 13:30:39 +00:00
072e4a614e Bump lobby version string.
This was SVN commit r15214.
2014-05-25 03:21:32 +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
2fbc55ec96 Update lobby server README.
This was SVN commit r15206.
2014-05-23 15:52:29 +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
4c9d99ff68 Add plural forms for Gaelic. Fixes #2575.
This was SVN commit r15179.
2014-05-20 17:11:47 +00:00
2081c62ab4 Support newer version of miniupnpc api. Refs #2552.
This was SVN commit r15174.
2014-05-19 21:01:06 +00:00
940868398c Use Boost.Signals2 for Atlas. Patch by fabio. Fixes #2469.
This was SVN commit r15173.
2014-05-19 21:01:02 +00:00
dfc7567561 Fix multiple observers on multiplayer games to work more reliably. Fixes #2529
This was SVN commit r15171.
2014-05-19 16:02:42 +00:00
ae29becb37 Removes pointless minimap state change during attack notification, it broke synchronized simulation state and caused some OOS errors. Fixes #2525. Refs #1719, #2526.
This was SVN commit r15163.
2014-05-19 01:35:14 +00:00
7ff5fbda2b Allow system components to be registered on the scripting side (so mods can make their own system components).
This was SVN commit r15157.
2014-05-18 13:44:08 +00:00
2b05a8d233 Reenable JS warnings that were disabled in db0376fdc2.
This was SVN commit r15156.
2014-05-18 13:25:08 +00:00
b7f6c00c2b Mark all components as global variables and allow to re-register existing components to update their schema and/or message receiving methods.
This allows for components to be extended in other files, so mods don't
have to overwrite entire components.
Fixes #2517. Thanks to Rada for helping on this
(also fix some tests broken in the previous commit)

This was SVN commit r15150.
2014-05-18 08:20:02 +00:00
86196212e2 Improve navigation for ship formations by setting the formation controller to the right passability class
This was SVN commit r15149.
2014-05-18 07:59:43 +00:00
96c806841d Fixes the packaging script for some changes related to l10n and SpiderMonkey
This was SVN commit r15148.
2014-05-12 01:36:32 +00:00
3ecbb7667b Restrict set of translations included in releases
This was SVN commit r15147.
2014-05-11 17:43:36 +00:00
f15160412a Enlarge the ideographic ranges in the word boundaries, fixes Japanese rendering a bit
This was SVN commit r15138.
2014-05-09 12:13:42 +00:00
8cec641156 Replace strictness test by a different one, as the old test wasn't considered non-strict anymore.
This was SVN commit r15134.
2014-05-08 13:26:21 +00:00
c37a8cafc3 Fixes a few building warnings and convention issues from 19ca1e3ebf
This was SVN commit r15128.
2014-05-07 23:33:21 +00:00
db0376fdc2 Temporarily disable the Spidermonkey warnings for release
This was SVN commit r15127.
2014-05-07 19:42:12 +00:00
83b6175358 Added a script to check translations for URLs that are not in the original strings.
This was SVN commit r15126.
2014-05-07 19:02:17 +00:00
19ca1e3ebf Fix locale verification to also allow ICU locales without data, but still don't allow bogus locales. Patch by Yves. Fixes #2533.
This was SVN commit r15122.
2014-05-07 08:14:57 +00:00
3a008ba532 Mask lobby password so it doesn't appear in any logs
This was SVN commit r15113.
2014-05-05 15:41:17 +00:00
bb43a71460 Updates checkrefs.pl to support skirmish maps
This was SVN commit r15112.
2014-05-05 01:09:53 +00:00
d2ecbecf32 Fixes tex_codec typo that broke BMP writing and big screenshots, fixes #2515
This was SVN commit r15107.
2014-05-04 05:49:31 +00:00
62f5476dec Add support for adding translation context to XML elements. Patch by Gallaecio.
Add translation context to some lobby headers.

This was SVN commit r15078.
2014-04-30 22:33:08 +00:00
683170ea19 Enable/disable GenTangents when enabling/disabling PreferGLSL. Fixes #2505.
This was SVN commit r15061.
2014-04-28 22:30:27 +00:00