Commit Graph

85 Commits (f1a62097bf5a8621c9aa7aa116c1faa1444a42f5)

Author SHA1 Message Date
Per Inge Mathisen f1a62097bf Netcode: Make NetDir static, and remove some unnecessary function parameters.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3798 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-16 13:39:23 +00:00
Per Inge Mathisen c614aabe31 Reorganize the packet definitions to avoid duplication and scatter of data.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3787 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-15 20:55:38 +00:00
Per Inge Mathisen 0fbcf9399b Fix another NetMsg vs duplicate buffer bug. Also assert corect packet type
when decoding them.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3774 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-13 20:25:12 +00:00
Per Inge Mathisen afb59e5e99 Clean up declaration of NETsetupTCPIP
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3771 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-13 17:22:43 +00:00
Giel van Schijndel 21927c7e74 Add a hack to allow receiving and processing of MSG_PLAYER_STATS in the right place
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3765 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-12 18:56:58 +00:00
Giel van Schijndel 84a36281a5 When retrieving games from the lobby abort on failure to prevent an infinite loop
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3762 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 21:20:25 +00:00
Giel van Schijndel 81fe501660 Bail out when we fail to receive the game count in the lobby code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3759 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 19:51:24 +00:00
Per Inge Mathisen ffc6d739a1 Improve some net debug log calls.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3758 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 19:26:23 +00:00
Per Inge Mathisen 29153d8fe4 Do not use two separate packet globals. Fixes problems with corrupted network data.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3757 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 19:22:42 +00:00
Giel van Schijndel 7493e9ea3f Replace some magic numbers with HOST_DPID; patch by Buginator
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3756 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 18:25:35 +00:00
Per Inge Mathisen d484e2bc98 Fix infinite loop when joining a game. An encode was supposed to be a decode.
Also remove some excess logging calls.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3755 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 17:19:12 +00:00
Per Inge Mathisen 917187ca7d Clean out some excess global defines.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3753 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 16:23:20 +00:00
Per Inge Mathisen 907f684f8a Remove remains of old external launcher program lobby.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3752 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 16:00:17 +00:00
Per Inge Mathisen 4cff4f49fe Dump some dead code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3750 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-11 11:47:07 +00:00
Per Inge Mathisen 160afd4e7a Remove some unused code from netplay.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3744 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 20:08:39 +00:00
Giel van Schijndel d5e7f01ef6 Change magic number to HOST_DPID and document HOST_DPID; file #3791 from patch #975 by Buginator
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3743 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-10 19:57:47 +00:00
Giel van Schijndel 65a3ff6a8b perform endian swapping for MSG_PLAYER_INFO messages;
NOTE: reverting r3669 (or re-applying r3643) would be better, though unfortunately it doesn't work...

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3729 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-09 18:29:58 +00:00
Giel van Schijndel 6d27eabf88 Revert r3643; this fixes #7
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3669 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 20:19:52 +00:00
Giel van Schijndel 70d7e095f0 When bailing out of packet decoding make sure to call NETend()
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3668 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 17:46:03 +00:00
Giel van Schijndel 208a399d73 Turn an ASSERTion into a debug(LOG_NET, as is not safe to simply assume that a player ID is correct (and as such we cannot just ASSERT on it)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3667 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 16:58:48 +00:00
Giel van Schijndel 4a77f3d8b0 Use NETsendGAMESTRUCT and NETrecvGAMESTRUCT to send & receive GAMESTRUCTs endian safe
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3665 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 16:39:49 +00:00
Giel van Schijndel 730ef63107 Add functions NETsendGAMESTRUCT and NETrecvGAMESTRUCT to deal with sending & receiving of GAMESTRUCTs in an endian safe way
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3664 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 16:39:46 +00:00
Giel van Schijndel 0c7ade394d * Remove message type MSG_PLAYER_DATA as it sends/receives void* data chuncks which is __not__ endian safe (not to mention struct padding)
* Don't maintain player stats in lib/netplay/netplay.c; instead maintain them in src/multistat.c
 * Add a new net message type (NET_PLAYER_STATS) to exchange player stats


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3661 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 14:39:31 +00:00
Giel van Schijndel 4354be1e75 Put the "System Net Messages" in an enum rather than #defining them with custom numbers
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3660 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-03 14:39:12 +00:00
Giel van Schijndel 56c5b3bdab Move MSG_JOIN over to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3649 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:24 +00:00
Giel van Schijndel cff2a7b279 Move MSG_PLAYER_LEFT over to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3648 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:20 +00:00
Giel van Schijndel 9ca2e82364 Move sending & receiving of MSG_PLAYER_JOINED and MSG_ACCEPTED to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3647 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:17 +00:00
Giel van Schijndel 26844585f8 Move sending & receiving of MSG_GAME_FLAGS over to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3646 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:13 +00:00
Giel van Schijndel b76b958bb7 Move sending & receiving of MSG_PLAYER_DATA over to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3645 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:08 +00:00
Giel van Schijndel d9c154c970 Rework resize_global_player_data to work with realloc instead of of a combination of malloc and free
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3644 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 14:45:04 +00:00
Giel van Schijndel 9926852390 Port NETBroadcastPlayerInfo over to the new netcode API
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3643 4a71c877-e1ca-e34f-864e-861f7616d084
2008-02-02 13:04:32 +00:00
Per Inge Mathisen f246839359 patch #928 ported map send/rev to new netAPI by Buginator with style fixes by me
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3431 4a71c877-e1ca-e34f-864e-861f7616d084
2008-01-11 21:39:41 +00:00
Per Inge Mathisen dc7a84da62 Log droid death and packet source. Beware: This will make net games incompatible
between before and after this commit.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3311 4a71c877-e1ca-e34f-864e-861f7616d084
2008-01-02 17:08:29 +00:00
Giel van Schijndel c51bd8ae10 * Get rid of a large quantity of unused parameters
* Turn some signed integers ("int" or "SDWORD") into unsigned integers where it made more sence (and signed integers caused warnings about comparing signed with unsigned integers)
 * At some places cast to an unsigned integer (where the type of the expression is a signed integer but the result of it logically _always_ is an absolute value)
 * Remove unused struct-type EVENT_INIT
 * Convert use of malloc->memcpy->free to one single realloc call (and now make sure to actually check realloc's return value, which wasn't done with the malloc call)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@3037 4a71c877-e1ca-e34f-864e-861f7616d084
2007-12-10 23:15:46 +00:00
Dennis Schridde 9cc0a628c1 Do parts of the proposed changes in "[Warzone-dev] build issues in FreeBSD system" by Yaroslav Kolomiyets from 24.10.2006:
- SDL header includes don't use SDL/ anymore (raw Makefiles and MSVC Project adapted).


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2863 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-24 11:49:51 +00:00
Giel van Schijndel aef7af381e * Make function NETsetupTCPIP const correct
* Don't #include <unistd.h> in source:trunk/src/clparse.c as we don't need it
 * Rename a debug message to use the correct function name as prefix (bitimage.c)
 * Utilize snprintf instead of sprintf, at two locations


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2796 4a71c877-e1ca-e34f-864e-861f7616d084
2007-11-11 17:08:41 +00:00
Per Inge Mathisen fe27053bf7 Fix bug in last commit
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2664 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 19:51:02 +00:00
Per Inge Mathisen ec0836efdc Fix type punning warning where we cast an array as a struct pointer in netplay.c
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2663 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-29 19:49:39 +00:00
Giel van Schijndel f5602b4778 * Replace a large amount of strncpy() calls with the safer strlcpy()
* Fix an error in src/game.c where we would use the wrong size as parameter to strlcpy()


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2640 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 16:18:52 +00:00
Giel van Schijndel 6b4cba1700 * Rename pLevelName to aLevelName (hungarian notation is a pain. Especially when it's wrong!)
* Get rid of several magic numbers
 * Some const correctness
 * Replace a huge amount of strcpy(), strcat(), strncpy() and strncat() calls with a strlcpy() and strlcat() calls respectively


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2635 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-27 14:35:35 +00:00
Giel van Schijndel e06c186bd6 * Replace a _lot_ of strcpy(), strcat() and sprintf() calls with the safer strncpy(), strncat() and snprintf() respectively
* Refactor NETlogEntry() to use the array of strings (packetname[]) instead of a large switch-statement with a lot of copy & pasted code


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2617 4a71c877-e1ca-e34f-864e-861f7616d084
2007-10-24 21:11:29 +00:00
Giel van Schijndel 74e64738fa * Add network primitives by Freddie Witherden <EvilGuru>
* Modify them slighly to use get/set functions for the package direction (instead of a global accessable to all files which forward declare it)
 * Add a NETfloat to the set of primitives
 * Modify NETstring to use strnlen1 instead of strnlen which is a GNU extension to the C library (strnlen1 has been copied from gettext 0.16.1 which is GPLv2+)
NB: rerun your buildsystems
NB2: Xcode requires an update

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2358 4a71c877-e1ca-e34f-864e-861f7616d084
2007-08-08 18:50:28 +00:00
Per Inge Mathisen 898b9c5d72 Move a lot of code around for cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2192 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-25 15:31:27 +00:00
Per Inge Mathisen c6190a85f2 More cleanup. More debug log message. Send player ID as a single char instead
of the old pointer casting with alignment issues.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2189 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-24 19:33:46 +00:00
Per Inge Mathisen 0cb6023b76 Clean up source and add comments to explain what is going on.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2188 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-24 18:59:57 +00:00
Per Inge Mathisen 5d0a52460d Remove NETsetMessageSize
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2185 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-24 18:25:33 +00:00
Per Inge Mathisen 1df2199ce8 Remove final pieces of encryption code. Warning: This touches some seriously
unstable code. Bugs may follow!


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2184 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-24 18:22:04 +00:00
Per Inge Mathisen dcfe102699 Fix bug in removal of baba player in campaign if too many human players.
Also add some fallback in case server sends us a bad player number.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2160 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-22 11:12:50 +00:00
Per Inge Mathisen 6a25589a62 Add network statistics logging, to figure out which parts of the code consume
the most network bandwidth. Look in in the netplay.log file for this info.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2113 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-15 15:26:23 +00:00
Per Inge Mathisen e509767d23 Clean out some unused code from netplay.c|h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2109 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-15 13:48:22 +00:00