Commit graph

121 commits

Author SHA1 Message Date
zico 3553ea3cf7 Added Rankings functionality like in D2X-Rebirth while still utilizing eff file from original D1X source; Decrease personal score when killing multi buddy and don't increment towards kill goal 2013-04-08 12:46:05 +02:00
Kp cb537edd82 Use ubyte/const ubyte consistently in multiplayer messaging 2013-03-31 20:41:21 +00:00
Kp 6eb53cfea2 Add unused multi_send_door_open parameter 'flag' to match D2X 2013-03-24 22:53:12 +00:00
Kp f3562a1a38 Rename include/error.h to include/dxxerror.h
Avoid conflict with generic system header.
2012-07-07 18:35:06 +00:00
Kp d14a6860a4 Rename D1XMAJORi/D1XMINORi/D1XMICROi to DXX_VERSION_MAJORi/DXX_VERSION_MINORi/DXX_VERSION_MICROi 2013-02-25 02:01:28 +00:00
Kp 3edbfa2c90 Normalize comments and whitespace to match D2X 2013-02-25 02:00:02 +00:00
zicodxx cd86e2b8c2 Fixed some minor HUD-text related issues: For team assignment messages, joining player name would appear; team color assignment in netgame info screen could be wrong due to wrong syntax handling; when rewrapping text messages to specific player, game would not add space behind colon 2013-01-08 11:42:07 +01:00
zicodxx 6f72e2846c Moved multi_* declarations to multi.h - patch by Kp 2013-01-03 16:33:40 +01:00
zicodxx 8d35d2219c Centralized UDP Broadcast function for IPv4 and IPv6 calls - patch by Kp 2013-01-03 16:08:38 +01:00
zicodxx 38e847828e Moved vers_id.h inclusion to where it is needed - patch by Kp 2012-11-02 18:35:55 +01:00
zicodxx fc421b290a use size of output buffer for snprintf; on the way changed rebirth-specific song file to dxx-r.sng to respect hog 8+3 file convention 2012-06-01 12:46:00 +02:00
zicodxx 1d68e2d3ba Optimization for quaternion structure: Stuffed orientation in shorts and removed figure out segnum by position - saving 10 bytes for each positional update in Multiplayer; Also removed render_type from pdata to save yet another byte 2012-05-26 17:53:05 +02:00
zicodxx 46f4a9e285 Fixed one more copy/paste issue causeing positional updates relayed to possibly disconnected players 2012-05-26 14:09:00 +02:00
zicodxx d4dfd1fb40 Introduced quaternion functions to replace vector matrix where size matters - created by Florian Feucht; Added option for pdata packets based on quaternion in Multiplayer game; Removed PF_LEVELLING from new player objects to prevent jittering in player banking 2012-05-21 17:06:47 +02:00
zicodxx 2c9ee20981 using our own functions for stricmp, strnicmp, strlwr, strupr, strrev with a d_ prefix for all platforms for consistency 2012-05-19 01:36:41 +02:00
zicodxx a7420efb13 when updating game info also check for player connected status in case we send to everyone 2012-05-16 10:41:12 +02:00
zicodxx eb87ed15e1 Do not allow ports below 1024; More verbosity for udp_open_socket() 2012-05-16 00:59:14 +02:00
zicodxx ffeddf4db6 Do not send endlevel packets to disconnected (but still saved) clients 2012-05-15 23:39:21 +02:00
zicodxx e3a21dce5e Fixed some non-critical compiler warnings; Now compiling with -std=c99 -pedantic and fixed warnings (except for editor build) caused by this 2012-05-14 12:20:27 +02:00
zicodxx b466072fd5 fixed copy/paste mistake 2012-04-30 00:38:41 +02:00
zicodxx 20e8b6c497 fixed improper player disconnecting which might have been caused by endlevel packet 2012-04-23 16:15:20 +02:00
zicodxx d30fb514b1 Removed usage of 'oldmaxnet' variable when switching between coop and other game modes which would not be correctly set when coop mode is loaded from a netgame profile; Removed 'MaxNumNetPlayers' variable as already replaced by Netgame.max_numplayers 2012-04-18 11:28:21 +02:00
zicodxx 897a6aaf6b Further Multiplayer cleanup: moved gobal variable resets from multi_new_game() to proper function calls; added pnum variable to init_player_stats_game() and init_player_stats_new_ship() so these can be set for each player when starting match; added multi_new_level() calls when setting up game as well when trying to join game; cleaned multi_reset_stuff() from variable resetting that happen in general game code; when being dumped from game, made sure no packets are sent during messagebox dispaly; replaced MAX_NUM_NET_PLAYERS by MAX_PLAYERS as it's the same definition 2012-04-15 15:32:46 +02:00
zicodxx 2a15431ec7 When possibly sending player positions prior to firing, do that before messing multibuf; Added more strict sanity checks for outgoing and incoming multi packets; Moved some general game stuff from net_udp_init() to multi_new_game() 2012-04-15 03:05:25 +02:00
zicodxx 9990b806a5 Fixed some Multiplayer bugs: Reactor invulnerable time did not checked for hours spent in level so reactor would become invulnerable again after 60 minutes; Fixed the fix (heh) for misordered explode/reappear packets; Reset Player_eggs_dropped when initializing new ship so eggs are properly dropped when player disconnects two times without respawning; Cleaned player disconnecting a little bit and made code more straightforward 2012-04-12 02:15:23 +02:00
zicodxx 1a76d33345 Immediately relay pdata packets from clients to others which should reduce artificial delay; allow sending of pdata packet when firing if enough time has passed since last update; only answer full game info requests 2 times per second and lite info 8 times per second 2012-03-29 10:15:58 +02:00
zicodxx 0e55ac91da Added forgotten D2 powerup capping code when starting level which hopefully fixes massive powerup loss 2012-03-28 21:45:40 +02:00
zicodxx 4ddf79e16f Since the kicked message is shown after player is technically removed from the game we do not know hosts name anymore. Message changed accordingly 2012-03-28 12:09:19 +02:00
zicodxx d583415cfb in netgame info screen some setting-descriptions were interchanged and displayed wrong toggles 2012-03-28 12:02:15 +02:00
zicodxx af6caef756 Unbuffered writing of gamelog.txt has it's own argument and is not triggered by -verbose argument anymore; Also increases verbosity of packet-loss-prevented packets by showing their types when added to queue 2012-01-09 15:19:12 +01:00
zicodxx 2b6a62a5b9 Do not attempt to check for MULTI_PROTO_VERSION when requesting lite_info 2011-11-03 14:26:43 +01:00
zicodxx 1371874e0d Introduced extra short based on MULTI_PROTO_VERSION for version-independent Multiplayer-compability-check; Changed version to 0.57.2 to make new version checking not cause problems with stable release 0.57.1; Removed old version_major/minor variables from netgame and player structures since DXX handles this independently; Cleaned up old version stuff and copyright messages 2011-11-02 01:04:38 +01:00
Chris Taylor 8e0579c4a6 Fix comparison is always false warning 2011-10-09 20:07:21 +08:00
zicodxx 8f483e690b Added wrapper functions dxx_sendto and dxx_recvfrom to collect simple statistics about amount and size of packets sent/received per second; Actually fixed packet scheduling in main UDP frame - was sending more than intended - stupid me 2011-09-21 20:03:41 +02:00
zicodxx 60f8606813 Streamlined joining, rejoining, disconnecting players and timeouts, getting rid of unwanted rejoin messages and let host remove a player for good without rejoining it via pdata packet to really get rid of lossy or unwanted players; Care for rollover of pkt_num of stored mdata packets 2011-09-21 12:04:09 +02:00
zicodxx 3cad8885d4 Reworked Packet Loss Prevention: If an important packet could not be recovered until it timed out, dump player who failed sending/receiving it; Noloss queue can proces spackets until a certain traffic has been reached; In main UDP frame schedule different types of packets depending on PPS to decrease traffic produced in one frame, hopefully preventing too much loss in high-traffic situations; Small code cleanups; Added new dump signal for loss of important packet; When dumping player also disconnect that one in case the dumped player does not accept the signal 2011-09-19 13:01:08 +02:00
zicodxx 6fdf44035e Added new priority level for MDATA packets to also send them ASAP without the need for an ACK; Streamlined sending multibot and fire packets and on the way artificially and automatically scaling fire rates, energy/ammo usage and damage of weapons in Multiplayer to decrease traffic easy way without changing the Gameplay 2011-09-15 10:45:45 +02:00
zicodxx d850bcc14e Properly call multi_leave_game() when host leaves multi game to let clients exit smoothly 2011-07-19 11:30:21 +02:00
zicodxx 632f001f16 Fixed typo in Packets per sec. in GAME_RULES screen; Reduced max amount of games shown on netlist to 900 to reduce RAM usage... as if we'd ever reach this 2011-07-15 11:46:04 +02:00
zicodxx dbdf7e27dc Slight improvement for Packet Loss Prevention: Be able to send to 35 packets per call of net_udp_noloss_process_queue() and also let counter only increase if a packet was actually sent, making sure the queue is not stuck on the first 5 packets in the list 2011-07-08 01:23:41 +02:00
zicodxx 71caea4ee2 Fixed object sync for latecoming clients which was broken due to a very, very, VERY stupid mistake... 2011-06-24 13:09:39 +02:00
zicodxx 75af2aa90c Made netgame setup menu more flexible towards (constant or temporary) changes in available game modes 2011-05-28 12:07:36 +02:00
zicodxx af7c22faa2 Added multi_send_data_direct to send multibuf to a specific player (i.e. Host<->Client, not Client<->Client); Overhauled kill sending/receiving and computation to rely in host information about game_mode-related variables (team_vector, Bounty_target) which are vital for consistent kill computation; Added function to send/update game_mode-related variables and solve /move command with this as well instead of workaround via updating lite_info; Introduced /move commend from Descent2 to move players between teams 2011-05-25 15:25:06 +02:00
zicodxx 6628a6efbe When restoring Coop setting from netgame profile don't forget to fix max players variable 2011-05-22 20:04:40 +02:00
zicodxx 3791862055 Making D1X- and D2X-Rebirth more similar in behavior of which player limit is needed to start team-based game in both RELEASE and DEBUG builds 2011-05-20 17:10:05 +02:00
zicodxx bfad1aac59 Making D1X- and D2X-Rebirth more similar in behavior of which player limit is needed to start team-based game in both RELEASE and DEBUG builds 2011-05-20 16:15:04 +02:00
zicodxx bbe0ccb64f Rearranged code to check for netgame-closed flag and refuse-players flag so they are updated correctly if another part of the code changes the menu item without activating it 2011-05-20 11:48:17 +02:00
zicodxx f2fb5c462a Host can now decide (again) if players are allowed to display enemy names on HUD 2011-05-05 00:16:35 +02:00
zicodxx defdf0090f Remember previously set up netgame variables in pilot-related file with extension ngp - due to feature consistency for UDP only 2011-04-22 17:14:27 +02:00
zicodxx c52510eb78 When leaving game and still sending extras, don't forget to update the timer so we won't get stuck in an infinite loop 2011-04-21 20:52:30 +02:00