1
0
forked from 0ad/0ad
Commit Graph

94 Commits

Author SHA1 Message Date
f6c1d98c9a Fix #739 (test failures).
Use JSON in debug serializer output unless it fails due to e.g. cyclic
values, in which case use toSource.
Disable file stats code by default, since its output isn't used.

This was SVN commit r8975.
2011-02-24 00:32:38 +00:00
b8925fbbc9 # Support AI construction of buildings.
Pass terrain passability data to AI scripts.
Expand pathfinder passability data to 16 bits per tile, to allow more
classes.
Support 16-bit ints in serializer.
Partially support JS typed arrays.
Allow foundations to be placed on top of units (fixes #499).
Stop farms and fishes blocking movement (fixes #534).
Add obstruction flags to allow finer control over what they block.
Associate entity IDs with obstruction shapes, to allow finding colliding
entities.
Support moving to the edge of a target entity with inactive obstruction.
Support foundation entities in AI.
Support playing as non-hele civs.

This was SVN commit r8899.
2011-02-10 16:06:28 +00:00
f39f279132 Add AI script code to provide a cleaner API around the engine interface.
Handle AIProxy entirely through scripts.
Support structured clones of script values.
Improve performance.
Support multiple script contexts sharing a runtime.
Use a separate context per AI player.

This was SVN commit r8866.
2011-01-15 23:35:20 +00:00
dd501b2a5a # Add initial basic player AI framework.
Support direct access to serializer streams, so serializers can be
nested.
Make component script "this.template" read-only.
Stop globally-subscribed component scripts receiving messages posted to
local components, to reduce out-of-sync risks.
Move pathfinder data out of entity template directory.
Fix GuiInterface deserialization.

This was SVN commit r8865.
2011-01-12 12:29:00 +00:00
d8cd31d4b6 Add probably-unnecessary script serialization test.
This was SVN commit r8862.
2011-01-12 12:13:11 +00:00
bd3bd084c0 Support new SpiderMonkey API.
wposix: Define int8_t compatibly with SpiderMonkey.
Remove unused camera, lightenv JS interfaces.
Remove most of vector JS interface.
Remove some of the redundant JS string conversion functions.
Remove unneeded vmem, _lodBias functions.
Clean up some formatting.

This was SVN commit r8629.
2010-11-16 23:00:52 +00:00
ab77ec40e4 Fix highlighting of obstructed building placement previews.
Prevent building in non-visible areas.
Fixes #594.

This was SVN commit r8272.
2010-10-04 17:34:33 +00:00
924d1219a7 # Add fog-of-war.
Move Vision component to C++, for more efficient FoW processing.
Disable FoW on demo maps.

This was SVN commit r8160.
2010-09-23 12:13:13 +00:00
8a98102195 Fix serialize/deserialize API asymmetry.
Add serialization support to more components.

This was SVN commit r8122.
2010-09-17 17:53:26 +00:00
4471d37ca5 Fix script caching of inherited templates.
This was SVN commit r7773.
2010-07-21 16:04:17 +00:00
f6081101e7 Use more precision in debug serialization, to help debugging of OOS errors
This was SVN commit r7689.
2010-07-04 17:03:45 +00:00
df86f4d27b Fix tokenisation to ignore multiple spaces
This was SVN commit r7676.
2010-07-03 15:21:50 +00:00
c57575df3e Set each player's default camera location to their civ center.
This was SVN commit r7672.
2010-07-03 13:15:57 +00:00
5bc3c4b751 Fix inheritance of construction/training lists.
This was SVN commit r7667.
2010-07-03 01:23:23 +00:00
1edb23e7a4 Fix script serializer to cope with spliced array enumeration quirk
This was SVN commit r7637.
2010-06-27 11:57:00 +00:00
47a03c3397 Replace JS_Enumerate with manual enumeration, to avoid its memory allocations.
Use LookupProperty to avoid having to check for getters.
Add a quicker method of rooting many script values.

This was SVN commit r7579.
2010-05-25 18:24:12 +00:00
6fdb947ff0 Convert CCmpTemplateManager to use ASCII strings internally, to save memory and serialisation cost.
This was SVN commit r7577.
2010-05-25 18:17:12 +00:00
a9963dee56 Serialize JS strings as UTF-16(ish), to avoid the cost of UTF-8 conversion.
This was SVN commit r7576.
2010-05-25 18:07:41 +00:00
fd1f864cde Avoid unreliable float conversions when loading old maps.
Use debug_printf in performance test, to work better on Windows.

This was SVN commit r7575.
2010-05-25 17:55:41 +00:00
64a610baab Add some code for rough testing of state hashing performance.
Simplify the code needed for tests based on real maps.

This was SVN commit r7574.
2010-05-25 17:28:26 +00:00
5c3a59234c Fix OOS errors when placing buildings.
Allow script components to supply custom serialization objects.

This was SVN commit r7571.
2010-05-22 23:02:07 +00:00
4e661a205d Serialize RNG state
This was SVN commit r7564.
2010-05-22 01:32:11 +00:00
434248167b Fix warnings in tests
This was SVN commit r7535.
2010-05-10 09:52:35 +00:00
dc53d739b8 Make tests clean up after themselves
This was SVN commit r7508.
2010-05-07 17:50:38 +00:00
40f2cfd809 Skip component script tests when the mods/public/ directory is unavailable (see #490).
Report errors ealier when test data directories are missing.

This was SVN commit r7506.
2010-05-07 15:59:23 +00:00
f33706bf8b Switch everything to 15.16-bit precision fixeds, to allow more accurate unit vectors and angles.
This was SVN commit r7497.
2010-05-02 20:32:37 +00:00
cfae58928f # New unit movement system, which does a far better job of approaching targets and avoiding obstacles.
Add short-range vertex-based pathfinder.
Integrate new pathfinder into unit motion code.
Change obstruction system to get rid of circles, and differentiate
structures from units.
Make PositionChanged messages synchronous.
Try to prevent some accidental float->int conversions.

This was SVN commit r7484.
2010-04-29 23:36:05 +00:00
9f1d904278 # Fix use-of-freed-memory bug.
Don't call xmlCleanupParser after parsing documents.
("This function name is somewhat misleading. It does not clean up parser
state, it cleans up memory allocated by the library itself.")

This was SVN commit r7465.
2010-04-18 16:35:06 +00:00
3117f52d7c # Automatic runtime validation of entity template files.
Fixes #413.

This was SVN commit r7455.
2010-04-14 17:22:32 +00:00
1fa8052cbe Support 'replace' attribute in entity template inheritance.
Escape whitespace when emitting XML, to avoid attribute-value
normalization.

This was SVN commit r7448.
2010-04-09 18:43:50 +00:00
e1c6249eab Fix warning and debug spew on OS X
This was SVN commit r7417.
2010-03-31 20:33:42 +00:00
23a702c335 # OS X build fixes.
spidermonkey-tip script fix.
GCC 4.2 compatibility.
Remove redundant code in extern_libs.lua

This was SVN commit r7371.
2010-03-20 16:26:25 +00:00
ed69187450 Build with spidermonkey-tip by default. Remove codepaths for old SpiderMonkey.
This was SVN commit r7366.
2010-03-19 20:54:44 +00:00
18b5a7f17c Add the Obstruction component to entity previews, to support collision detection for building placement
This was SVN commit r7360.
2010-03-17 23:02:40 +00:00
96bb3afaaf Support disabling of inherited components in entity templates
Allow units to walk through farms

This was SVN commit r7323.
2010-02-12 22:48:16 +00:00
02ffe82ab7 Optimised pathfinder, particularly to avoid slow MSVC debug STL.
Added rough pathfinder test system.
MapReader: support loading maps into a minimal non-graphical environment
(for tests).

This was SVN commit r7317.
2010-02-08 22:05:05 +00:00
1fb9a1768e Make CParamNode not return NULL pointers, based on patch from Puel
Fixes #425, #451

This was SVN commit r7302.
2010-02-02 23:01:17 +00:00
3c2e80c698 Disable the default slide-down-hills behaviour
This was SVN commit r7290.
2010-01-27 19:34:58 +00:00
953fb41c82 # Basic in-game building placement with new simulation system
This was SVN commit r7285.
2010-01-24 17:24:35 +00:00
4fed9b8242 # Added initial support for players and population counters in new simulation system, plus various infrastructure improvements.
Merge from 22b478ffed8d.
Pure scripted interface definitions.
Entity creation from scripts.
Improved messaging system.
Messages on entity deletion.
Basic player entities.
Player ownership.
Bug fixes.

This was SVN commit r7281.
2010-01-22 20:03:14 +00:00
c8138208bf # Object creation in Atlas with new simulation system
Merge from 6e8efe8f706c

This was SVN commit r7276.
2010-01-14 20:36:29 +00:00
17718981cf Remove Crypto++ because it causes too much trouble. Replace with a custom MD5 implementation for simulation state hashing.
This was SVN commit r7269.
2010-01-10 19:29:27 +00:00
e8008edf1c Fix missing includes
This was SVN commit r7267.
2010-01-10 11:31:31 +00:00
7c2e9027c2 # Rewrite of the game's simulation system
Giant merge from
http://svn.wildfiregames.com/hg-source/file/5fb522019d5e
Infrastructure is largely complete, gameplay is largely missing
Disabled by default; use command-line flag "-sim2"
(Second attempt at commit...)

This was SVN commit r7259.
2010-01-09 19:20:14 +00:00