1
0
forked from 0ad/0ad
Commit Graph

5935 Commits

Author SHA1 Message Date
a4e606c575 TerrainTextureManager cleanup.
This was SVN commit r16901.
2015-07-30 21:51:01 +00:00
c5aad60776 Actually stop iterating if retval != INFO::OK. Also fix comments.
This was SVN commit r16900.
2015-07-30 21:50:58 +00:00
15a4c813d6 Add support for AArch64 (ARM64). Patch by tbm. Fixes #3345.
This was SVN commit r16899.
2015-07-30 19:52:55 +00:00
0868d03e74 Fix previous commit.
This was SVN commit r16898.
2015-07-30 17:27:27 +00:00
2238a18aee Close and free replay streams. Based on patch by elexis.
This was SVN commit r16897.
2015-07-30 16:43:22 +00:00
47336b770f Add clipping to OList cells. Patch by elexis. Fixes #3353.
This was SVN commit r16895.
2015-07-30 01:33:48 +00:00
8bfe16cac8 Use in-place construction.
This was SVN commit r16894.
2015-07-29 23:44:17 +00:00
c5eb9b7bb7 Range-based for for VfsPath loops.
This was SVN commit r16893.
2015-07-29 23:44:12 +00:00
540cf75794 L10n code cleanup.
This was SVN commit r16892.
2015-07-29 23:44:05 +00:00
a07add11c6 Some range-based for loops and some style cleanup.
This was SVN commit r16888.
2015-07-29 01:07:23 +00:00
b4d517c261 Fix infinite loop in key code to key name mapping.
Also make some data const and construct data in-place.

This was SVN commit r16887.
2015-07-29 01:07:18 +00:00
851e863892 Remove animation name compatibility mapping.
10 years should have given everyone enough time to move to the new
naming scheme.

This was SVN commit r16884.
2015-07-27 01:08:29 +00:00
da48c8c26f Some const refs and one const function.
This was SVN commit r16882.
2015-07-27 01:08:25 +00:00
bd53e9d736 Remove unused ah_translate code.
This was SVN commit r16881.
2015-07-27 01:08:15 +00:00
f240374b28 Fix a number of short/long range pathfinder inconsistencies revealed by 128a603287.
This was SVN commit r16869.
2015-07-18 12:33:40 +00:00
128a603287 Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292.
However, using the terrain-only grid reveals one discrepancy between the
short pathfinder (which uses unit radii) and the long one (which uses
unit clearances). So I implemented the change proposed by sanderd17 in
#3294, which is removing unit radius and using only the pathfinder
clearance. Refs #3294
Now some tweaking has to be done in the templates, so that units get a
passability class suited to their apparent size. In the meantime the
unit motion is quite bugged.

This was SVN commit r16867.
2015-07-18 08:37:49 +00:00
8fc4ecaa6b Fix previous commit, stupid typo...
This was SVN commit r16859.
2015-07-15 16:57:23 +00:00
b58f8ab969 Serialize the activation flag of the scripted Visibility component.
Currently only preview entities are affected, and they are not
serialized, but it could break a lot of things in the future.

This was SVN commit r16858.
2015-07-15 16:55:05 +00:00
39d93ea17c Change the handling of modified entities in the visibility update.
The game has to deal with situations such as: the visibility of an
entity changes, a mirage is created for it -> the mirage visibility is
updated -> the entity visibility is updated back.
All of this process now happens in the same turn, and all updates are
guaranteed to be performed. This fixes a source of serialization errors
and rejoin OOSes.

Fixes #3107

This was SVN commit r16857.
2015-07-15 16:46:59 +00:00
9f1b85d562 Remove a useless global terrain update when modifying environment settings in Atlas.
Also make sure that the settings are updated in the game view in a
non-hacky way.

This was SVN commit r16855.
2015-07-14 17:08:02 +00:00
04982b0bf5 Fix compiler warning
This was SVN commit r16849.
2015-07-12 16:49:26 +00:00
edf6e909b2 ...aaaaand I forgot this guy.
This was SVN commit r16846.
2015-07-12 08:11:30 +00:00
0d32afd688 Improve the style of GUI string text call functions.
This was SVN commit r16845.
2015-07-12 08:09:55 +00:00
0682190def Don't postpone rendering of icons when they are at the end of a GUI string.
Fixes #2502

This was SVN commit r16844.
2015-07-12 07:38:04 +00:00
0c45e3b5d0 Correctly compute the masks for shared visibility updates. The old code was working only because of luck when shared vision was always reciprocal.
Refs #2055, fixes #3327

This was SVN commit r16842.
2015-07-11 16:45:09 +00:00
aa78c1be66 Make the connectivity grid generation algorithm of the hierarchical pathfinder a bit less stupid.
This was SVN commit r16834.
2015-07-05 20:32:52 +00:00
11c9471ad6 Change back the long pathfinder to take into account non-pathfinding classes, but only when reloading, to avoid impacting the performance.
Also make the GetPassabilityClasses functions use references instead of
wild allocations. Use a reference when passing pass classes to the AI
worker.

This was SVN commit r16833.
2015-07-05 19:14:52 +00:00
0e4e3754e9 Update the passability grid properly when changing the map shape or the water height. Also include a fix for a possible bad memory access.
This was SVN commit r16832.
2015-07-04 21:25:57 +00:00
3018359576 Improve a little bit Atlas performance when modifying terrain elevation.
This was SVN commit r16827.
2015-07-01 19:13:56 +00:00
30e5f032d8 Adapt Atlas to the new pathfinder. Fixes #3298
This was SVN commit r16824.
2015-06-29 19:59:41 +00:00
e1a34eb4ea Handle (de)serialization of the AI pathfinder.
This was SVN commit r16815.
2015-06-24 20:24:58 +00:00
0b7343dccc Preserve the dirtiness informations of the passability grid at deserialization for proper AI updates.
Refs #3310

This was SVN commit r16814.
2015-06-24 20:15:06 +00:00
152d39d8a6 Fix save/load games, and use the new code to enhance the tests.
This was SVN commit r16812.
2015-06-23 20:39:11 +00:00
1793a96c14 Actually remove the unused expression.
This was SVN commit r16805.
2015-06-21 20:44:31 +00:00
495aa7bec5 Expose TemplateExists() to RM scripts.
This was SVN commit r16804.
2015-06-21 20:22:34 +00:00
c5814ef76c Fixes tests adding system components without using the SYSTEM_ENTITY id - this caused assertion failures in debug builds
This was SVN commit r16803.
2015-06-21 19:22:12 +00:00
ae4dfe294d Actually state the file instead of the directory in some error messages.
This was SVN commit r16802.
2015-06-21 18:46:33 +00:00
5a0b9b0e70 Fix some issues found by static analysis (clang-analyzer and cppcheck).
This was SVN commit r16801.
2015-06-21 18:46:31 +00:00
caa8f51c2e Annotate custom assert for clang-analyzer.
This was SVN commit r16800.
2015-06-21 18:46:23 +00:00
bbafed7fbf Lobby code cleanup.
This was SVN commit r16796.
2015-06-19 17:25:28 +00:00
1830c6346b Revert most of 989f164500, and add a comment to prevent people from making the same mistake.
This code used to make units with the pass class "ship-small" blocked
nearly everywhere.

This was SVN commit r16794.
2015-06-18 19:54:30 +00:00
c6ca83949c Prevent players from rejoining that were not present on game start. Patch by elexis. Fixes #3305.
This was SVN commit r16792.
2015-06-18 18:20:54 +00:00
9701a85554 Fix a possible problem with grid updates. Refs #3296.
This was SVN commit r16791.
2015-06-18 16:31:38 +00:00
e7707f0f0c Fix issue with OOS in replays. Patch by elexis
This was SVN commit r16790.
2015-06-18 15:29:03 +00:00
989f164500 Make the terrain analysis slightly more efficient for pathfinding passability classes, and fix a mistake introduced in 1709353e2c.
This was SVN commit r16787.
2015-06-17 20:48:41 +00:00
155c6e6ccd Properly initialize the AI pathfinder, and clean whitespace.
This was SVN commit r16786.
2015-06-17 20:35:23 +00:00
1709353e2c Changes the general behavior of non-pathfinding passability classes, in order to make the handling of foundation obstructions less difficult. This will allow the AI to be fixed, as reported in #3295.
Also some cleanup and comments updates.

Refs #3295.

This was SVN commit r16784.
2015-06-17 20:19:53 +00:00
b8fce56821 Implement sortable columns for the gui, and use them in the lobby. Patch by Vladislav. Fixes #2405.
This was SVN commit r16781.
2015-06-17 09:10:50 +00:00
c8a5708654 Fix tests.
This was SVN commit r16777.
2015-06-15 19:48:42 +00:00
8380b67f94 Move GUI schemas to the mod mod. Fix some validation related errors in the mod mod.
Check if the used directory exists before trying to add a validator.
Refs #245.

This was SVN commit r16773.
2015-06-15 16:00:26 +00:00
68ea5f37f4 Remove unused ctors. Fixes compilation with GCC 4.6.
This was SVN commit r16771.
2015-06-14 23:50:38 +00:00
4af117434d Fixes clang unused parameter warning
This was SVN commit r16770.
2015-06-14 23:45:15 +00:00
25a7d79d1e FIXE ERROR: CCmpPosition::GetPosition called on entity when IsInWorld is false, when you save a map with garrisoned units, thx to daniel for report
This was SVN commit r16769.
2015-06-14 22:17:39 +00:00
0a67de37bc Fixes clang warning about unknown warning group -Wunused-but-set-variable
This was SVN commit r16768.
2015-06-14 21:07:42 +00:00
473b282265 Refactor the grid update code. Should give a significant performance boost to the simulation update.
Also fixes some bad code that could lead to hidden bugs.

Fixes #3296, thanks elexis for testing ;)

This was SVN commit r16764.
2015-06-14 19:22:07 +00:00
0e7f0f861b Fixes A19 map converter script to be compatible with Python 2 (uses struct instead of to_bytes and from_bytes)
This was SVN commit r16763.
2015-06-14 17:53:12 +00:00
d676b047a0 Move ~LongPathfinder after the declaration of LongOverlay.
Also improve the style.

This was SVN commit r16762.
2015-06-13 21:02:01 +00:00
30efa73a38 FIX error: comparison between pointer and integer ('IReplayLogger *' and 'int') introduced in [16727] over osx
This was SVN commit r16754.
2015-06-13 02:42:21 +00:00
6581796103 New long-range pathfinder.
Based on Philip's work located at
http://git.wildfiregames.com/gitweb/?p=0ad.git;a=shortlog;h=refs/heads/projects/philip/pathfinder
Includes code by wraitii, sanderd17 and kanetaka.

An updated version of docs/pathfinder.pdf describing the changes in
detail will be committed ASAP.

Running update-workspaces is needed after this change.

Fixes #1756.
Fixes #930, #1259, #2908, #2960, #3097
Refs #1200, #1914, #1942, #2568, #2132, #2563

This was SVN commit r16751.
2015-06-12 18:58:24 +00:00
fd3d697edf Make it easier to add different backgrounds
This was SVN commit r16747.
2015-06-11 09:08:46 +00:00
7cac7cd65e Add RNC to RNG conversion script that uses trang. Fixes #245.
Also fix the material.rnc.

This was SVN commit r16734.
2015-06-07 23:52:52 +00:00
a18fbd12ec XML validation. Based on patch by historic_bruno. Refs #245.
This was SVN commit r16733.
2015-06-07 21:56:52 +00:00
2457b69fb3 Fix const attribute for some function parameters.
This was SVN commit r16730.
2015-06-07 09:24:19 +00:00
be93b31411 Visual replay of command files, patch by elexis.
Works with the command line argument
"-replay-visual=/path/to/commands.txt". It is not integrated to the main
menu GUI yet.

Refs #9.

This was SVN commit r16727.
2015-06-06 08:45:49 +00:00
14bfbbf9d4 Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233
This was SVN commit r16715.
2015-06-04 12:16:52 +00:00
f6f4f83784 Fixes instant multiplayer crash on OS X Lion (10.7). libc++ had a bug where it set eofbit on reading the last character in a stringstream, we compare gcount with the expected length as a workaround to detect real eofs. Fixes #3109.
This was SVN commit r16714.
2015-06-04 05:11:47 +00:00
6506bc20cb Fixes #3238, SetGlobal 'TriggerHelper' called multiple times
This was SVN commit r16713.
2015-06-03 20:34:59 +00:00
2092ed4396 Removes use of 'register' storage class, deprecated in C++11. Fixes -Wdeprecated-register build warnings in clang, fixes #3068.
This was SVN commit r16708.
2015-06-02 03:20:04 +00:00
c3b8923ff7 Update tinygettext.
Updates tinygettext to upstream commit
0e34a55e514763a48f8abe7812405ffe722a31f4.
No actual code changes from the previously bundled version, but it was
relicensed to zlib.
Keeps the addition of precompiled.h and win32 dirent.

This was SVN commit r16705.
2015-06-01 01:09:19 +00:00
f71be3c764 Use iterators for XMBAttributeList and XMBElementList. Fixes #3269.
This was SVN commit r16704.
2015-06-01 00:29:35 +00:00
d3da00dc99 Fix some issues found by static analysis.
Actually abort in case of recursive includes again. Refs #2622.

This was SVN commit r16703.
2015-06-01 00:29:23 +00:00
b738772d65 Fix typo
This was SVN commit r16696.
2015-05-29 19:51:48 +00:00
e68ef21334 Don't decay when connected to connected allied territory, and also allow the decay script to determine which parts of the territory should blink
This was SVN commit r16692.
2015-05-29 07:02:16 +00:00
e5727980da Adds debug output to display return code of failing SHGetFolderPathW, refs #3267
This was SVN commit r16688.
2015-05-27 02:02:32 +00:00
e638af5422 Clean up some unused variables and assignments.
This was SVN commit r16684.
2015-05-26 15:40:07 +00:00
4ccc9130ba Add missing include.
This was SVN commit r16683.
2015-05-26 15:40:04 +00:00
60f784900a Fix the territory influence weight to fit into an u16 number. (no idea why the buildings have so many different weights though).
This was SVN commit r16682.
2015-05-26 14:25:23 +00:00
0054486dba Implement methods to find the neighbour of a certain territory, and use it for territory decay. Fixes #3204
This was SVN commit r16676.
2015-05-25 14:17:45 +00:00
c93c1c92eb Replace std::auto_ptr uses by std::unique_ptr since the former is deprecated.
This was SVN commit r16674.
2015-05-25 01:23:27 +00:00
8b4b8431e3 Small cleanup, based on a change from one of Philip's old patches
This was SVN commit r16653.
2015-05-16 09:39:27 +00:00
a39aa76e62 These temporary roots aren't needed anymore with SpiderMonkey 31
This was SVN commit r16647.
2015-05-10 09:01:39 +00:00
399daeddbf prevent loading of templates in AIManager when no AIs, fixes #3101
This was SVN commit r16633.
2015-05-07 19:09:39 +00:00
8e44687ae3 Properly fix #3223.
The previous commit destroyed the context while it was still in use.

This was SVN commit r16631.
2015-05-06 20:28:28 +00:00
642500b49e Make the Ptolemaic lighthouse reveal the shore on the entire map.
Fixes #3174

This was SVN commit r16628.
2015-05-06 18:47:02 +00:00
4db041e3c6 Stop leaking g_ScriptStatsTable in replay mode. Fixes #3223.
This was SVN commit r16627.
2015-05-05 22:34:41 +00:00
7f606250f8 Fix build failure on GCC 4.6.
This was SVN commit r16623.
2015-05-04 19:37:25 +00:00
b8a20c958c Do not serialize properties for Sets. Serialization tests for Map and Set.
This was SVN commit r16620.
2015-05-04 01:41:09 +00:00
0a44d24c96 Flip the overlay sprites face around to show the non-mirrored side. Now sprites are rendered correctly (which should have happened in d4794b5474).
This was SVN commit r16617.
2015-05-03 15:55:17 +00:00
7a70c475df Improve rejoin messages. Patch by elexis. Fixes #1949.
This was SVN commit r16614.
2015-05-03 02:06:17 +00:00
a9afa61a7b Serialization support for ES6 Sets.
This was SVN commit r16608.
2015-05-01 23:04:28 +00:00
e758701da5 Include missing header.
This was SVN commit r16595.
2015-04-29 15:54:08 +00:00
7d953ff0a7 Fix compiler warning.
This was SVN commit r16594.
2015-04-29 00:07:48 +00:00
487d6a1afc When using SDL2 recommend a >= 2.0.2 version to avoid incurring in possible bugs with older versions.
This was SVN commit r16585.
2015-04-27 07:56:34 +00:00
bda45f6526 Clarify the XpartaMuPP readme. Fixes #3163.
Also converts it to markdown.

This was SVN commit r16567.
2015-04-22 23:43:59 +00:00
535d612e06 Small fixes.
This was SVN commit r16552.
2015-04-20 14:51:06 +00:00
a0cf780e1e Amend 5c84c3e9e5
This was SVN commit r16547.
2015-04-16 13:17:58 +00:00
2042e6b2d4 Added TriggerScripts Reload(Hotloading) when you change the file and save
This was SVN commit r16546.
2015-04-16 04:30:51 +00:00
5c84c3e9e5 Some entities (like birds) can have negative positions without being marked as out-of-world.
Refs #2430

This was SVN commit r16544.
2015-04-15 12:19:47 +00:00
120ff2c60c Fix the structure tree a second time, this should also work on Windows.
This was SVN commit r16542.
2015-04-15 09:10:05 +00:00
6aa99d762f Add a new spatial subdivision, based on an old patch by wraitii.
This subdivision is faster but less precise, so range queries get more
entities and are a bit slower (up to 1ms approx.), but the overall gain
on a simulation update is always positive and can reach 10ms per frame.

For now, this new subdivision is only used by the range manager,
integrating it in the obstruction manager might be sensible.

Refs #2430

This was SVN commit r16540.
2015-04-14 21:33:43 +00:00