Commit Graph

525 Commits

Author SHA1 Message Date
4e1b6d08f4 Fix lithobolos size and projectile.
Fix projectiles launching from actors with no ammo prop.
Fix default camera location on maps with no civ centers.
Avoid units getting stuck on the edges of buildings.

This was SVN commit r7950.
2010-08-14 22:11:32 +00:00
d1b3306488 Fix warning
This was SVN commit r7947.
2010-08-14 20:09:45 +00:00
f221caecda Add camera angle/zoom reset key ("H")
This was SVN commit r7941.
2010-08-14 00:52:19 +00:00
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
e64d115d7c # Change selection circles to match the player colour
This was SVN commit r7880.
2010-08-08 17:28:51 +00:00
7d0ae8585c Remove some unused includes.
This was SVN commit r7873.
2010-08-08 16:04:23 +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
8286218cad Delete lots of obsolete unused script-interface code.
Delete unused code from various other places.

This was SVN commit r7839.
2010-08-01 20:56:34 +00:00
3124b55cc0 Warning fixes
This was SVN commit r7821.
2010-07-29 21:04:07 +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
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
1faf83f916 Add some missing consts to arguments.
This was SVN commit r7805.
2010-07-25 14:10:46 +00:00
31699e830d Handle disconnections better.
Remove local sessions (just use ENet for everything instead) because
they add far too much complexity.
Fix memory leaks.

This was SVN commit r7706.
2010-07-06 19:54:17 +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
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
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
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
0f611042b1 # Support alt+enter to toggle fullscreen mode. Make game window resizable.
Refactor the video mode setting logic to cope better with dynamic
changes.

This was SVN commit r7606.
2010-06-03 19:07:59 +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
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
1fc75e7605 Expand the culling frustum to reduce shadow popping (see #504). Based on patch from Zoomastigophora.
This was SVN commit r7562.
2010-05-21 18:31:47 +00:00
56bb858802 # Delete a lot of obsolete simulation code.
This was SVN commit r7555.
2010-05-20 18:09:23 +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
c34392053f # Add a demo map with all units on it.
Support XML-only maps with simple flat terrain.

This was SVN commit r7501.
2010-05-03 19:13:58 +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
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
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
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
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
53744640ec Fix non-PCH builds
This was SVN commit r7409.
2010-03-28 18:21:48 +00:00
9ad4b210dc Fix #479 (water animation in new simulation system)
This was SVN commit r7407.
2010-03-27 17:19:00 +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
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
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
901056e5b3 Fix Windows build warning
This was SVN commit r7369.
2010-03-19 21:31:48 +00:00
79ea8213e5 const-correctness
This was SVN commit r7355.
2010-03-17 22:51:47 +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
abe5d3185f Fix crash when constructing buildings off the edge of the map
This was SVN commit r7320.
2010-02-12 12:01: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
707539ad69 Don't scroll the game view when the mouse is outside the window
This was SVN commit r7283.
2010-01-23 20:40:15 +00:00