Commit graph

942 commits

Author SHA1 Message Date
Ykkrosh
5e15a0279e Print JS stack trace when reporting exceptions.
Increase maximum logger message size.
Fix GC bug.

This was SVN commit r8063.
2010-09-03 20:06:17 +00:00
Ykkrosh
2b57f4f998 # Initial support for formation movement.
Support asynchronous path queries.
Allow escaping when stuck in impassable terrain tiles.
Split Update message in multiple phases, to cope with ordering
requirements.
Support automatic walk/run animation switching.

This was SVN commit r8058.
2010-09-03 09:55:14 +00:00
Ykkrosh
2cff131a87 Fix #545 (Grab mouse in fullscreen), based on patch from Jayschwa
This was SVN commit r8022.
2010-08-22 10:00:22 +00:00
Ykkrosh
2529ae2a7b Fix #543 (Replace skybox with black background), based on patch from Jayschwa
This was SVN commit r8018.
2010-08-21 22:43:35 +00:00
Ykkrosh
f221caecda Add camera angle/zoom reset key ("H")
This was SVN commit r7941.
2010-08-14 00:52:19 +00:00
Ykkrosh
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
WhiteTreePaladin
0c4a64ce4c The chat hotkey (goes with previous commit)
This was SVN commit r7910.
2010-08-11 22:17:54 +00:00
Ykkrosh
56a975312e With --without-pch error
This was SVN commit r7894.
2010-08-10 19:48:35 +00:00
Ykkrosh
ba5a892912 Fix warnings
This was SVN commit r7886.
2010-08-09 09:49:24 +00:00
Ykkrosh
a42f14d168 Windows build fix
This was SVN commit r7881.
2010-08-08 20:11:57 +00:00
Ykkrosh
91cd032827 Add basic replay recorder/player to help debugging and performance testing.
This was SVN commit r7863.
2010-08-06 22:16:05 +00:00
Ykkrosh
51d0abbf2a Use SDL_GL_SWAP_CONTROL to control vsync on non-Windows. Fixes #520.
This was SVN commit r7845.
2010-08-04 21:30:43 +00:00
Ykkrosh
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
Ykkrosh
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
Ykkrosh
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
Ykkrosh
d29dd45237 Fix compiling with Clang
This was SVN commit r7824.
2010-07-30 21:42:22 +00:00
Ykkrosh
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
Ykkrosh
827c81fb03 Allow overriding libdir at run-time for tests
This was SVN commit r7795.
2010-07-24 12:51:22 +00:00
Ykkrosh
7568414fed Fall back to 16-bit depth buffer when 24-bit isn't supported
This was SVN commit r7791.
2010-07-23 17:28:32 +00:00
janwas
aa44bac652 from work: add thread-safe timer; add CAS64 (required for thread-safe timer); remove topology init requirements, no longer cache results (simplifies GroupPolicy_PerCache); add scoped affinitizer; whrt: fix race condition reported by parallel inspector. also refactor cache and TLB detection.
This was SVN commit r7785.
2010-07-22 16:17:33 +00:00
Ykkrosh
2b1541ba0b Fix #456 (DllLoader should handle missing files better), based on patch from evans
This was SVN commit r7783.
2010-07-22 00:25:13 +00:00
Ykkrosh
9674c3c0fe Remove ScriptingHost initialisation code (share with ScriptInterface instead).
Fix GUI scripts to avoid strict warnings.
Rejig GUI/SpiderMonkey interface to use less custom code, and to work
with JSOPTION_VAROBJFIX.
Add event name to GUI event handler function names (visible in the
profiler).

This was SVN commit r7769.
2010-07-19 23:01:58 +00:00
Ykkrosh
2375c7cb95 Add bindir/datadir/libdir options, to find files when the game is installed in standard FHS locations
This was SVN commit r7758.
2010-07-14 19:39:47 +00:00
Ykkrosh
88f25849b3 Windows fixes
This was SVN commit r7715.
2010-07-07 22:23:18 +00:00
Ykkrosh
4b06ebd52d Add basic help page into the main menu.
Add buttons to open the web site and IRC.
Tentatively allow Atlas to be launched from the menu.
Add some shutdown functions to support relaunching into Atlas without
having to restart the whole process.

This was SVN commit r7714.
2010-07-07 21:47:31 +00:00
Ykkrosh
1eb64ebb26 Fix non-PCH builds
This was SVN commit r7711.
2010-07-07 10:39:41 +00:00
Ykkrosh
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
Ykkrosh
32933c501a Fix uninitialised value in logger.
This was SVN commit r7705.
2010-07-06 19:53:08 +00:00
Ykkrosh
b539188810 Prevent ugly output from logger when vswprintf fails before filling the buffer (triggered by Unicode characters on OS X).
This was SVN commit r7704.
2010-07-06 11:06:17 +00:00
Ykkrosh
98a2a887c8 Warning fix
This was SVN commit r7695.
2010-07-05 08:55:09 +00:00
Ykkrosh
9b9e4fa1b4 Support Unicode reliably in logger, via explicit conversion to UTF-8.
Expand date buffer to avoid Y10K bug, Y100K bug, etc.

This was SVN commit r7694.
2010-07-05 00:03:10 +00:00
janwas
6d3930ace7 fix: don't generate spurious resize events in fullscreen mode when interacting with another topmost window
fix: don't store a PIVFS reference in HDATA, because those aren't freed
due to caching (fixes memory leak)

This was SVN commit r7687.
2010-07-04 11:12:50 +00:00
janwas
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
Ykkrosh
56b836f58d Call enet_initialize (see previous commit message). Fixes #509.
This was SVN commit r7681.
2010-07-03 19:31:14 +00:00
Ykkrosh
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
Ykkrosh
051aa70940 Basic disconnection handling.
Pre-game chat.
Fix dynamic updates of focused input controls.
Allow scrollable texts to automatically scroll to the bottom.
Force usernames to be unique.

This was SVN commit r7664.
2010-07-02 21:28:48 +00:00
Ykkrosh
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
Ykkrosh
8268d8ad0b Fix CStr8 serialisation bug.
This was SVN commit r7651.
2010-06-30 21:24:14 +00:00
Ykkrosh
dfb10c8209 # Various networking code cleanups.
Don't flush network queue after every message.
Desingletonify CGameAttributes to allow testing.
Make network server/client basically testable.
Add very basic tests for network server/client.
Fix FsmActionCtx memory leak.
Split CNetHost into a separate file.
Convert CNetHost, CNetSession to a more conventional coding style.
Delete CNetLogger, since it's a lot of complexity and is barely used and
is redundant with CLogger.
Other minor simplifications.

This was SVN commit r7623.
2010-06-07 22:19:05 +00:00
Ykkrosh
2c160e5bd8 Delete script scheduler, since it causes GC crashes and isn't used for anything important and could be implemented in pure JS instead.
This was SVN commit r7622.
2010-06-07 18:41:03 +00:00
Ykkrosh
5982c07002 Support multi-line messages in log display.
This was SVN commit r7611.
2010-06-05 22:22:21 +00:00
Ykkrosh
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
Ykkrosh
a18aa24fe3 Windows support for window resizing and fullscreen toggling.
Windows build fixes.

This was SVN commit r7607.
2010-06-03 21:15:45 +00:00
Ykkrosh
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
Ykkrosh
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
Ykkrosh
23ab6dad38 Make session GUI visible and usable when playtesting from Atlas.
Fix Atlas icon on non-Windows.
Remove some nonexistent-hotkey config.

This was SVN commit r7602.
2010-06-02 00:36:21 +00:00
Ykkrosh
ffe9241cd3 Stop warning about missing config files.
Use newer logger interface in config code.

This was SVN commit r7601.
2010-05-31 23:01:42 +00:00
Ykkrosh
65cf204423 Display warnings and errors on screen for a short time (fixes #119).
Add warn(), error() functions for simulation scripts.

This was SVN commit r7600.
2010-05-31 22:44:59 +00:00
Ykkrosh
7dca91f26b # Various changes to the text rendering system.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.

This was SVN commit r7595.
2010-05-30 13:42:56 +00:00
Ykkrosh
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