e19146cf25
# Added AI for chickens.
...
Add scripted HFSM system.
Add very basic animal AI.
Support script-only message types.
Add shift+D hotkey to toggle dev command panel.
This was SVN commit r7763.
2010-07-18 15:19:49 +00:00
8c1deecdbe
C++0x compatibility (fix narrowing conversions in initialisers; avoid ambiguity with std::next)
...
This was SVN commit r7739.
2010-07-11 22:40:17 +00:00
a46612d51e
GCC 4.0 build fix
...
This was SVN commit r7703.
2010-07-06 10:43:06 +00:00
65f4f2f0f2
Fix houses increasing pop limit before construction has finished
...
This was SVN commit r7698.
2010-07-05 18:28:19 +00:00
586ba51e4a
Fix lossy fixed<->jsval conversion.
...
(Hopefully this will really fix the OOS errors.)
This was SVN commit r7692.
2010-07-04 19:47:31 +00:00
dff694f0f0
Fix units spawning on top of each other.
...
Add type-safety to prevent that kind of bug happening again.
This was SVN commit r7691.
2010-07-04 17:19:38 +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
d2cf6ceb88
less global variables: make most uses of g_VFS explicit (required for another app that has two VFSes), g_yres is no longer required by cursor module
...
This was SVN commit r7686.
2010-07-04 10:15:53 +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
0560e1c970
Fix warning
...
This was SVN commit r7669.
2010-07-03 10:48:44 +00:00
272c2865b0
windows build fix: more boost headers were required, and string.hpp doesn't include join.hpp
...
This was SVN commit r7668.
2010-07-03 09:35:43 +00:00
5bc3c4b751
Fix inheritance of construction/training lists.
...
This was SVN commit r7667.
2010-07-03 01:23:23 +00:00
1c0536bf08
# Refactored the networking code, and redesigned the game setup screen.
...
Major updates to most network classes.
Simplify CNetServer so it doesn't duplicate any client behaviour; all
players now run CNetClient.
Remove most player/slot management from networking code.
Wait for all players to finish loading before starting the simulation.
Remove CGameAttributes; attributes are now just a JS object.
Remove CPlayer; they are now just simulation entities.
Handle player colours via simulation system.
Add a default map for Atlas, so it always has something to load.
Move network documentation to Doxygen.
Remove lots of now-unused code.
This was SVN commit r7653.
2010-06-30 21:41:04 +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
23c92b7fe3
Fix actor viewer animation offsetting.
...
Fix attack animation drifts.
This was SVN commit r7612.
2010-06-05 22:23:28 +00:00
d3048906cb
# Unit animation improvements.
...
Animate props much more sensibly.
Move ammo code out of CUnit.
Move animation logic out of CModel.
Launch projectiles from the correct location.
Use entity's speeds and sounds in actor viewer.
Add -nosound option to disable audio, and allow audio by default in
Atlas.
Remove some obsolete options.
This was SVN commit r7609.
2010-06-05 00:49:14 +00:00
310f3466a8
# Hotloading of actor XML files.
...
Stop ignoring actor XML animation speeds.
Add decentralised registration of hotloaders.
Move player ID storage into CModel, to simplify CUnit.
Remove obsolete unit ID allocation code.
Remove some material junk.
This was SVN commit r7605.
2010-06-03 01:29:43 +00:00
11a20e1bcf
# Handle terrain passability and movement costs in pathfinder.
...
Simplify terrain code (remove Handle indirection).
Delete unused terrain properties.
This was SVN commit r7590.
2010-05-27 23:31:03 +00:00
828400d82e
# Support floating units in new simulation system.
...
Fix rendering of underwater lines.
Fix rendering of unit selection outlines in Atlas.
Remove some obsolete hotkeys.
This was SVN commit r7589.
2010-05-27 23:23:53 +00:00
ff17691d4f
Add STL-compatible pool allocator.
...
Use pool allocator in serialization code.
This was SVN commit r7584.
2010-05-25 19:24:14 +00:00
1e40c8c776
MSVC warning fixes
...
This was SVN commit r7583.
2010-05-25 19:12:00 +00:00
01bec7a454
Convert serialization code to use less virtuals and allow more inlining.
...
This was SVN commit r7582.
2010-05-25 19:01:30 +00:00
5ce9acc263
MSVC warning fixes
...
This was SVN commit r7580.
2010-05-25 18:44:33 +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
121d1ead20
Avoid some redundant HasProperty calls.
...
This was SVN commit r7578.
2010-05-25 18:18:32 +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
be4e355ef3
VC2005 build fix
...
This was SVN commit r7572.
2010-05-22 23:12:12 +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
0fa4bc9b21
Add some (disabled) code to help debug OOS
...
This was SVN commit r7569.
2010-05-22 16:58:08 +00:00
4e661a205d
Serialize RNG state
...
This was SVN commit r7564.
2010-05-22 01:32:11 +00:00
386f322b1c
Make Math.random() more deterministic
...
This was SVN commit r7563.
2010-05-22 00:38:33 +00:00
cf85004f61
Windows build fixes.
...
Remove unused function.
This was SVN commit r7557.
2010-05-20 20:05:38 +00:00
56bb858802
# Delete a lot of obsolete simulation code.
...
This was SVN commit r7555.
2010-05-20 18:09:23 +00:00
c684c211a2
# Basic experimental multiplayer integration with new simulation system.
...
Add new turn manager that should be more correct and potentially more
efficient.
Remove evil CNetServer/CNetClient multiple inheritance of CTurnManager.
Add multiplayer autostart.
Various minor cleanups.
This was SVN commit r7551.
2010-05-20 00:59:01 +00:00
cdcee291cf
Convert all remaining entity template data to new file format.
...
Add dummy component implementations for new data.
Partly support multiple weapons for a single unit.
This was SVN commit r7547.
2010-05-15 21:07:52 +00:00
ae08adc55d
# Fix possible GC crash bugs
...
This was SVN commit r7546.
2010-05-15 11:21:40 +00:00
434248167b
Fix warnings in tests
...
This was SVN commit r7535.
2010-05-10 09:52:35 +00:00
037770a2a3
Fix use of 'undefined' sound group on death.
...
Warn about implicit script/native type conversions.
This was SVN commit r7527.
2010-05-09 13:56:06 +00:00
dc53d739b8
Make tests clean up after themselves
...
This was SVN commit r7508.
2010-05-07 17:50:38 +00:00
93c30810c8
Fix tests. Tidy up some old files.
...
This was SVN commit r7507.
2010-05-07 16:32:33 +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
d0599f4c7a
Share component template scripts to save some memory.
...
This was SVN commit r7504.
2010-05-07 00:24:22 +00:00
fe53bce3b1
Rewrite the clone-object-between-JS-contexts code (for GUI<->simulation interface) to be more efficient.
...
Delete unnecessary unused incomplete profiler scripting support.
Clean up some JSAPI code to use newer features.
Display simulation script functions in the profiler.
This was SVN commit r7503.
2010-05-05 22:36:35 +00:00
04018773fd
Fix fixed overflow when pathfinding across smallish maps
...
This was SVN commit r7500.
2010-05-03 19:12:42 +00:00
646c218b2e
Reduce the likelihood of units getting stuck when walking
...
This was SVN commit r7499.
2010-05-03 16:46:14 +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
d485ecafdc
Optimise pathfinder tile storage a bit (improves speed by maybe 10%).
...
Increase the maximum search tile limit (reduces worst-case speed by
lots).
This was SVN commit r7495.
2010-05-02 20:14:09 +00:00
e140aa7baf
Avoid running the old simulation code in the background when it's not needed.
...
Optimise GUI updates to only occur when necessary.
Switch to more peaceful music after starting the game.
This was SVN commit r7492.
2010-05-01 16:20:58 +00:00
4fe991074f
Expose Footprint::GetShape and TemplateManager::FindAllTemplates to scripts.
...
Make CSimContext accessible to all component code, so they don't all
have to save their own copies of it.
This was SVN commit r7490.
2010-05-01 09:48:39 +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
5daac34ef9
Support startup scripts in map files, for testing.
...
Support CDATA sections when writing XML.
This was SVN commit r7483.
2010-04-29 23:22:18 +00:00
f4ad5906c9
# Display units on the minimap
...
This was SVN commit r7480.
2010-04-23 18:36:48 +00:00
29b458da40
# Use the footprint shape when rendering unit selection outlines
...
This was SVN commit r7479.
2010-04-23 16:57:18 +00:00
dd809f83e8
# Add documentation of the entity template XML file format.
...
Simplify the format a bit.
Use less <interleave> in the RNG so that error reports become
understandable.
Fixes #491 .
This was SVN commit r7478.
2010-04-23 16:09:03 +00:00
08db7ebe13
# Support training units in buildings.
...
Includes basic batch training (see #298 ).
This was SVN commit r7469.
2010-04-19 19:47:23 +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
0547757a30
Make CUnit::GetModel return a reference so it's clear it can never be NULL.
...
This was SVN commit r7464.
2010-04-17 11:44:08 +00:00
6a9de50692
# Use the correct projectile models.
...
Fixes #470 .
Make CUnit::GetObject return a reference so it's clear it can never be
NULL.
This was SVN commit r7463.
2010-04-17 11:34:40 +00:00
d6ab843f9d
# Documentation updates
...
This was SVN commit r7457.
2010-04-15 19:59:07 +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
40688ec5df
# Initial support for automatic validation of entity template XML.
...
Add RelaxNG schemas for all current components.
Add -dumpSchema command-line option to dump the combined entity schema.
Add a Perl script to validate entity templates against the schema.
See #413 .
This was SVN commit r7452.
2010-04-09 19:02:39 +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
2f34e5fbc6
Fix #472 (fixed-point CTerrain::GetExactGroundLevel), based on patch from JubJub
...
This was SVN commit r7443.
2010-04-06 17:31:38 +00:00
4c0d47707b
# Fix animation syncing.
...
Make animations trigger sound effects.
Adjust attack animation timings to match simulation.
Simplify the animation speed settings.
This was SVN commit r7438.
2010-04-05 23:09:34 +00:00
cfca28cab0
# Initial audio integration with new simulation system.
...
Support sound group playback from simulation scripts. See #486 .
Update some sound group files to sound better for rough testing.
Clean up CSoundGroup a tiny bit.
This was SVN commit r7437.
2010-04-04 21:24:39 +00:00
0d6882dad2
# Fix the actor viewer in Atlas.
...
Delete the old standalone actor viewer.
Import some terrain textures that are useful for tools.
Fixes #483 .
This was SVN commit r7428.
2010-04-03 11:07:42 +00:00
e1c6249eab
Fix warning and debug spew on OS X
...
This was SVN commit r7417.
2010-03-31 20:33:42 +00:00
38feae61fb
Minor bug fixes
...
This was SVN commit r7411.
2010-03-29 10:22:34 +00:00
53744640ec
Fix non-PCH builds
...
This was SVN commit r7409.
2010-03-28 18:21:48 +00:00
49eb176b25
Fix MSVC compiler warnings (replace most M_PI with (float)M_PI)
...
This was SVN commit r7404.
2010-03-26 19:04:40 +00:00
89cce1b3ac
# Switch to new simulation system by default
...
This was SVN commit r7401.
2010-03-26 16:10:42 +00:00
0bbb99c3cd
move M_PI etc. to wposix.h to ensure they're always present on Windows (previously required MathUtil.h)
...
use M_PI instead of nonstandard PI
This was SVN commit r7380.
2010-03-20 20:54:03 +00:00
a5b8ec6028
Add obstruction debug mode, with GUI toggle.
...
Make pathfinder debug mode off by default, with GUI toggle.
This was SVN commit r7377.
2010-03-20 19:18:01 +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
baead3409e
Move Position.h to a better location.
...
Update some files I forgot in previous commits.
This was SVN commit r7361.
2010-03-17 23:13:21 +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
0f0a3774d0
Split collision detection out of pathfinder so it can be used more widely.
...
Support collision detection of footprints.
This was SVN commit r7359.
2010-03-17 23:01:12 +00:00
705db5181d
Fix non-smooth vertical interpolation of unit positions
...
This was SVN commit r7358.
2010-03-17 22:57:36 +00:00
99a261328a
Support scripted modulation of actor colours
...
This was SVN commit r7357.
2010-03-17 22:56:49 +00:00
bcd5e78b7a
Fix test code
...
This was SVN commit r7356.
2010-03-17 22:53:47 +00:00
aca1074188
Load build speeds and foundation actors from entity template files
...
This was SVN commit r7353.
2010-03-12 22:28:51 +00:00
9213ee8c27
# Construct buildings from foundations.
...
Display construction costs in tooltips.
Stop buildings leaving corpses.
Add debug info option to GUI.
This was SVN commit r7352.
2010-03-12 21:41:40 +00:00
c55cba34e5
Fix shape ID allocation bug in pathfinder
...
This was SVN commit r7351.
2010-03-12 20:42:33 +00:00
06928f7694
# Basic bandbox selection of units in new simulation system
...
This was SVN commit r7349.
2010-03-11 20:01:16 +00:00
86205b4d8e
# Basic projectile attacks in new simulation system
...
This was SVN commit r7347.
2010-03-07 21:38:39 +00:00
1712b2cdb1
# Support death in new simulation system
...
This was SVN commit r7344.
2010-03-07 20:14:30 +00:00
a7484933e7
wchar.h -> utf8.h (see previous change)
...
This was SVN commit r7341.
2010-03-01 14:55:34 +00:00
dc0cd4bedd
Move test cache output into a better place
...
This was SVN commit r7332.
2010-02-28 21:22:52 +00:00
5bb14c7a59
Misc. unity fixes (missing includes, undefs, and other things that could be considered generic cleanup)
...
This was SVN commit r7328.
2010-02-18 00:06:50 +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
f8aca33a14
# Support resource gathering in new simulation system
...
This was SVN commit r7322.
2010-02-12 22:46:53 +00:00
60a9e63c71
# Improved unit animation in new simulation system
...
Tried to make the motion/AI/animation state transitions saner
Added smoothed rotation of moving units
Slightly more informative error reporting
This was SVN commit r7319.
2010-02-10 19:28:46 +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
d609a9f81c
# Basic animation support in new simulation system.
...
Movement speed.
Improved accuracy of walking.
This was SVN commit r7313.
2010-02-07 20:06:16 +00:00
b25076ed4d
Min/max range support in pathfinder
...
This was SVN commit r7311.
2010-02-06 20:58:48 +00:00
b21e798243
# Primitive melee combat support in new simulation system
...
This was SVN commit r7309.
2010-02-05 22:00:39 +00:00
7770b414b7
Fix hotloading of scripts with registered message handlers
...
This was SVN commit r7307.
2010-02-05 21:40:08 +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
9829138e56
Handle pathfinding to inaccessible points better.
...
Make the path debug display more useful.
This was SVN commit r7301.
2010-02-02 21:22:22 +00:00
e0ed8a1629
# Pathfinder updates
...
More hacks so units follow paths relatively smoothly, and to avoid
pathfinding in simple situations
This was SVN commit r7296.
2010-01-30 13:11:58 +00:00
fa1fd65a3e
Add a hack in the pathfinder to pick more diagonal paths
...
This was SVN commit r7295.
2010-01-29 23:20:42 +00:00
1678055edd
Fix build warnings
...
This was SVN commit r7294.
2010-01-29 21:34:09 +00:00
6a2d237aad
# Initial pathfinder integration in new simulation system
...
Minor extra terrain overlay features
This was SVN commit r7293.
2010-01-29 21:13:18 +00:00
3c2e80c698
Disable the default slide-down-hills behaviour
...
This was SVN commit r7290.
2010-01-27 19:34:58 +00:00
0e8698d652
Build fixes
...
This was SVN commit r7288.
2010-01-27 19:05:02 +00:00
f011f0a3ce
Expose entity template data to GUI
...
This was SVN commit r7287.
2010-01-25 23:43:58 +00:00
3f1dfce41b
Simplify GUI/simulation interface
...
This was SVN commit r7286.
2010-01-25 22:31:43 +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
68eafaee7f
Windows build fix
...
This was SVN commit r7282.
2010-01-22 20:17:49 +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