Commit graph

113 commits

Author SHA1 Message Date
Ykkrosh
64daef95df Fix chat to use GUID instead of host ID.
Fix randomly incorrect player names.
Fix script errors when connecting to an invalid IP address.
Adjust the server/client disconnection messages to be a bit more
accurate.

This was SVN commit r7946.
2010-08-14 19:45:22 +00:00
WhiteTreePaladin
8967395da6 Made chat messages send a GUID rather than a user name
This was SVN commit r7943.
2010-08-14 15:34:36 +00:00
Ykkrosh
0ebe3486b6 Add setTurnLength() function for hacky fixing of network lag.
This was SVN commit r7936.
2010-08-13 16:42:53 +00:00
Ykkrosh
3e6df25f10 Bump the network protocol version, to prevent confusion if someone uses the old release.
This was SVN commit r7934.
2010-08-13 14:29:27 +00:00
Ykkrosh
4f1b7bb0e6 Complain more informatively about incorrect ENet versions
This was SVN commit r7897.
2010-08-10 21:49:33 +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
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
ac9412458a Disable unnecessary state hash check in single-player games.
This was SVN commit r7768.
2010-07-19 22:57:04 +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
018f3d71d9 Partially fix network tests
This was SVN commit r7693.
2010-07-04 19:59:05 +00:00
Ykkrosh
7cef282d06 Fix some printf string formatting
This was SVN commit r7688.
2010-07-04 16:52:14 +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
c59e2c572b Add ENet stats to profile viewer.
This was SVN commit r7671.
2010-07-03 13:15:01 +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
20c50d32d4 Windows fixes.
Avoid Boost.Random since it adds a dependency on a new library.

This was SVN commit r7654.
2010-06-30 23:40:51 +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
0172c99b93 Windows build fix
This was SVN commit r7624.
2010-06-08 18:58:03 +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
42bcb175ff Add test for network simulation message serialization.
Fix network simulation message serialization.

This was SVN commit r7586.
2010-05-25 20:48:06 +00:00
Ykkrosh
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
Ykkrosh
1e228d8c17 Fix typo that breaks network after OOS
This was SVN commit r7568.
2010-05-22 15:46:12 +00:00
Ykkrosh
94e5d88169 # Add out-of-sync multiplayer checks.
Change CStr8 serialization to allow \0 in strings.

This was SVN commit r7565.
2010-05-22 14:05:56 +00:00
Ykkrosh
56bb858802 # Delete a lot of obsolete simulation code.
This was SVN commit r7555.
2010-05-20 18:09:23 +00:00
Ykkrosh
a78e6dbe26 # Delete a lot of obsolete networking code.
Remove the -sim1 flag since it no longer works.

This was SVN commit r7554.
2010-05-20 17:58:37 +00:00
Ykkrosh
08e383235b Fix message serialisation to be 64-bit-safe and more efficient
This was SVN commit r7553.
2010-05-20 17:46:07 +00:00
Ykkrosh
605e5c75bb Windows build fix
This was SVN commit r7552.
2010-05-20 16:02:20 +00:00
Ykkrosh
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
Ykkrosh
1ebebc4338 Avoid -Wnon-virtual-dtor warnings
This was SVN commit r7416.
2010-03-31 08:36:46 +00:00
janwas
a7484933e7 wchar.h -> utf8.h (see previous change)
This was SVN commit r7341.
2010-03-01 14:55:34 +00:00
olsner
4d891117c5 Refactor the NetMessageType system to work in unity builds and remove BLOCK_SIZE macro that caused conflicts and wasn't really used anyway.
This was SVN commit r7327.
2010-02-17 23:38:50 +00:00
Ykkrosh
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
janwas
ff15c522fe implement changes suggested by Philip:
- add self-test
- allow decoding UTF8 values beyond BMP (and replace them later)
- quietly replace invalid bytes

This was SVN commit r7187.
2009-11-09 20:53:48 +00:00
janwas
450da0aaf7 rename [w]string_to_[w]string UTF8
add safer/more portable/less dependent on locale implementation of
wchar_t <-> UTF8

This was SVN commit r7185.
2009-11-09 14:52:51 +00:00
janwas
f432d9d18b fix dehydra warnings (some of which were dangerous pass-user-string-as-format-string vulnerabilities)
This was SVN commit r7177.
2009-11-07 09:32:19 +00:00
Ykkrosh
3334c83ce0 Fix build and tests on Linux
This was SVN commit r7174.
2009-11-06 18:35:32 +00:00
janwas
9662666403 more string drudgery
- sprintf, snprintf -> sprintf_s (ensures 0-termination of result)
- use %s instead of %hs with sprintf_s to avoid GCC warnings
- convert h_mgr's to_string to unicode

This was SVN commit r7170.
2009-11-06 10:59:10 +00:00
janwas
77d2c67ada misc. string fixes
convert remaining %s to %hs or %ls
use WPRINTF_ARGS on unicode printf functions
fix: __func__ can't be widened via preprocessor (-> revert to char*)
convert remaining external_[directory|file_string to string()
Util: don't mix fwprintf and fprintf
Formation: fix dangling pointer (storing result of c_str())

This was SVN commit r7164.
2009-11-04 15:29:28 +00:00
janwas
8a52113e60 huge cleanup and conversion of most string handling (especially paths) to unicode
please note: format strings must be %hs for char* arguments and %ls for
wchar_t*

This was SVN commit r7161.
2009-11-03 21:46:35 +00:00
Ykkrosh
e257bef5da Fix even more 64-bit warnings
This was SVN commit r7152.
2009-10-05 16:15:51 +00:00
Ykkrosh
6f9eaf769c Fix some more 64-bit warnings
This was SVN commit r7151.
2009-10-05 15:33:38 +00:00
Ykkrosh
cd6a926c14 Fix #293 (Lots of printf format string errors), based on patch from Cygal
This was SVN commit r7113.
2009-08-14 18:42:39 +00:00
Ykkrosh
4a4269824b Add more vararg error-checking annotation
This was SVN commit r7073.
2009-08-04 16:08:41 +00:00
janwas
ebac85ee81 # hopefully support non-admin accounts and unwritable directories by moving output folders to home/appdata
the old behavior (using directories under binaries/) can be kept by
passing -writableRoot on the command line.
the first game load will be slower than usual due to re-creation of
cached XMBs.

This was SVN commit r7065.
2009-08-02 11:07:42 +00:00
janwas
c8cfd8b40b # groundwork for separated data/cache etc. directories (XDG)
remove path.cpp (it was based on the premise that all data files lie
below binaries/data)

This was SVN commit r7063.
2009-08-01 19:37:38 +00:00
Ykkrosh
cdfb58a62f Fix some more GCC warnings
This was SVN commit r7045.
2009-07-28 09:27:56 +00:00
Ykkrosh
df36e937f0 Patch from #258: [FreeBSD compat] add some missing includes
This was SVN commit r7001.
2009-07-16 16:53:55 +00:00
Ykkrosh
c9fa7f13d9 Add GPL header
This was SVN commit r6830.
2009-04-18 17:00:33 +00:00
Ykkrosh
5bd6cc0f02 Fix some no-newline-at-end-of-file warnings
This was SVN commit r6819.
2009-04-13 17:45:43 +00:00
Ykkrosh
1e3cd00c72 Set svn:eol-style=native
This was SVN commit r6816.
2009-04-11 17:00:39 +00:00