6c7b82130c
# Redesigned the camera control system.
...
Add shift+wheel (and Q/E, and ctrl+arrows, and ctrl+WASD) to rotate the
camera.
Restrict the rotation and zoom to narrow ranges. (Constraints can be
disabled in the dev overlay).
Smooth the movement and rotation.
Fix some stupid whitespace.
Fix some const correctness.
This was SVN commit r7930.
2010-08-13 13:26:29 +00:00
e6c3f1c482
# Use more sound effects
...
This was SVN commit r7891.
2010-08-10 01:25:24 +00:00
2ef4371798
Fix build error in tests
...
This was SVN commit r7885.
2010-08-09 09:25:13 +00:00
c728aa972c
Support the <float/> property in actors
...
This was SVN commit r7883.
2010-08-09 01:28:13 +00:00
e64d115d7c
# Change selection circles to match the player colour
...
This was SVN commit r7880.
2010-08-08 17:28:51 +00:00
07615310f2
# Add rally points for newly-trained units, based on patch from evans.
...
Fixes #521 .
This was SVN commit r7849.
2010-08-05 10:20:47 +00:00
65bcedb9fc
Load map descriptions from their XML file.
...
Add basic hold-fire stance, and use it for some test maps.
Add JSON data container to map XML files, to simplify the interaction
between scripts and maps.
Fix fixed-point printing so it roundtrips safely through map files.
Fix camera startup positions in old-format maps.
This was SVN commit r7844.
2010-08-04 21:15:41 +00:00
b292a32505
Add JS memory usage to profiler.
...
Add dumpHeaps() console function for debugging JS memory usage.
Increase default JS heap size.
Make call-time profile table appear first when toggling.
Remove some unused script functions.
This was SVN commit r7842.
2010-08-02 19:23:58 +00:00
41ad5bd965
# Add corpse decay and building collapse.
...
Make 'delete' command kill the unit instead of destroying it.
Make projectiles vanish after a timeout.
Fix projectile landing positions with low framerates.
This was SVN commit r7837.
2010-08-01 17:38:01 +00:00
423b31c130
Fix units trying to move outside themselves when ordered to their current location.
...
Remove redundant comparisons in pathfinder.
Simplify range query result ordering.
Avoid throwing exception on script errors in debug serializer.
This was SVN commit r7828.
2010-07-31 21:22:39 +00:00
3124b55cc0
Warning fixes
...
This was SVN commit r7821.
2010-07-29 21:04:07 +00:00
0cd0a1f584
# Add auto-attacking of nearby enemies.
...
Add general range-detection code.
Avoid unnecessarily computing 3D entity positions.
This was SVN commit r7817.
2010-07-29 20:39:23 +00:00
1706363bab
Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr.
...
Also delete some unused declarations, and rename is_playing to
snd_is_playing.
This was SVN commit r7813.
2010-07-29 15:55:41 +00:00
ee20d0c2cb
Fix compile error
...
This was SVN commit r7807.
2010-07-25 17:03:07 +00:00
96a73bb580
Discourage units from walking outside the map.
...
Improve pathfinder performance by avoiding unnecessary grid
recalculations.
This was SVN commit r7806.
2010-07-25 14:11:21 +00:00
07d21e6a2b
Fix #497 (Make square unit outlines match the ground better), based on patch from evans
...
This was SVN commit r7788.
2010-07-22 20:52:25 +00:00
4471d37ca5
Fix script caching of inherited templates.
...
This was SVN commit r7773.
2010-07-21 16:04:17 +00:00
bd2fd6c713
Extend animal AI to all animals.
...
This was SVN commit r7771.
2010-07-20 08:45:09 +00:00
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