Commit graph

110 commits

Author SHA1 Message Date
zicodxx 2b02639bd2 In multi_new_game when initializing Players structures, also correctly init connected variable which is highly important for spreading pdata to clients and should be set correctly anyways (Thanks to Gold Leader and Flip for help with debugging/testing recent Multiplayer bugs) 2010-11-28 01:02:04 +01:00
zicodxx 19d00e9851 In multi_consistency_error check for Game_wind before trying to set it in/visible - just for safety 2010-11-09 11:53:14 +01:00
zicodxx 9933bb81ce Added expandable classes for HUD messages (like D1X but slacked) to better handle Multi messages or redundant messages; Rewrote HUD code completely; Changes -playermessages to -multimessages since this is more appropriate; Removed remnants of -mprofile 2010-07-13 06:35:25 +00:00
zicodxx 9dbd8ad144 Improved hanlding for closing sockets - doing via closing of Game_wind when available or in specific multi menus; Also handling GM_GAME_OVER setting over Game_wind closing as well if apprpriate - cleaner and helps to cleanup multi when mission is over 2010-07-08 09:35:59 +00:00
zicodxx 44d6e096d6 Since time is not suspended between levels in Multiplayer, call reset_time after level change. Apply this in Singleplayer, too since it should always be safe - and appropriate - to reset timer_value soon as a new level begins 2010-07-04 13:12:08 +00:00
kreatordxx 76b0fb35ef Get rid of a heap of uses of Function_mode, quit properly (freeing all windows and asking for confirmation for game) when clicking close box 2010-04-04 01:31:48 +00:00
kreatordxx 8cf06690d7 Make game respond to EVENT_KEY_COMMAND for key commands, allowing default key handler (later) 2010-03-31 09:18:28 +00:00
kreatordxx d83c2e27c4 Fix bug introduced in last commit - when the last level is finished, hide the game window - making sure the cockpit isn't drawn over the kmatrix screen 2010-03-21 02:20:07 +00:00
kreatordxx f5e18cb603 Hide game window between levels, fixing bug where many textures are loaded with the wrong palette when advancing to the next multiplayer level 2010-03-21 00:54:56 +00:00
kreatordxx 9331893332 Make kmatrixs into windows, rename Fuelcen_seconds_left to Countdown_seconds_left for consistency 2010-03-20 13:21:53 +00:00
kreatordxx 408f2ffd33 Fix crashing when doing menus in multiplayer, don't let player move when in automap 2010-01-31 07:45:26 +00:00
kreatordxx 50afcedda5 For multiplayer, close menus from game_handler by doing frame processing in response to EVENT_WINDOW_DRAW, replacing multi_menu_poll system with single multi_menu_check call 2010-01-29 03:36:44 +00:00
kreatordxx c856195678 Remove all uses of LeaveGame jmpbuf to allow more changing of main loop 2010-01-27 04:30:31 +00:00
kreatordxx 6b4d952ebc Change newmenu and listbox callback systems, adding use of d_event, for greater flexibility 2010-01-07 14:49:07 +00:00
zicodxx 6a00504d89 Adding macros USE_UDP and USE_IPX for the compiler to compile with either UDP- and/or IPX-support and removed the older IPX macros 2009-11-29 16:46:13 +00:00
zicodxx dbf4d55839 Abstracting networking protocols - Step 4: Implemented new UDP layer with Client/Server communication, Packet Loss Prevention and strict Version checking. Netgames list will follow later. 2009-11-24 09:48:53 +00:00
kreatordxx d7e33667bf Make the game screen into a \'window\', handling events through event_process 2009-08-10 10:47:17 +00:00
kreatordxx 16f615c6ff Make game.c more similar between D1X and D2X, making related changes to other files (\!) 2009-07-01 11:35:33 +00:00
zicodxx 85b086c0ef Abstracting networking protocols - Step 3: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup - Next up: Implementing new UDP layer 2009-04-09 07:41:30 +00:00
zicodxx 0c36fecb42 Abstracting networking protocols - Step 2: Introducing new structure to hold protocol-dependend and -independend information about Netgame and it's Players; Further isolation of the IPX code and renaming the netdrv_* code to ipxdrv_* as this is now actually IPX-only; Next up: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup 2009-03-20 12:10:38 +00:00
zicodxx 0fc0fff7f1 Abstracting networking protocols - Step 1: Renaming network-related files; Removing net_ipx.h (former network.h) includes from as much files as possible to make isolation of IPX-related functions easier in Step 2; Version defines Cleanup - needed later for good Version-Checking 2009-03-04 21:04:43 +00:00
zicodxx ecbcec78d3 Fixed connect-state mess in order of kmatrix flow 2009-02-08 12:49:27 +00:00
zicodxx 39ce196542 Removed MULIT_POS_* hanldings as these signals are not created anymore 2009-02-02 10:56:12 +00:00
kiplingw 70fd9452f1 Added: Better support for non-free compiler... (patch from Damjan Cvetko <zobo@lana.krneki.org>) 2009-01-14 19:54:45 +00:00
zicodxx 73dd8e0962 Added /KillReactor command to blow up the reactor in Multiplayer games 2008-12-12 15:57:00 +00:00
zicodxx 39b54f1686 Added /KillReactor command to blow up the reactor in Multiplayer games 2008-12-12 15:53:13 +00:00
zicodxx 076e466009 Yet another UNICODE overhaul - Using seperate buffer for UNICODE chars and only use it in key_ascii() while still using keysyms for the rest of the program so we do not screw up readings by key values altered by modifers - possibly still room to optimize 2008-11-17 23:38:43 +00:00
zicodxx ab0524f95b Always use printable UNICODE characters for the key_handler and included routine to assign key symbols to UNICODE so we get an equivalent of a Key-Released state which we need for the Keyboard buffer; Removed the shifted_ascii_value field from key_props and stored all usable characters in seperate rows; Improves Text input and makes keyboard mapping independent from keyboard layout without breaking any compability 2008-10-31 16:57:36 +00:00
zicodxx a7cc0c79ec Fixed handling for multi_quit_game; Always keep setting -1 for ping table entry of current player so just not to use any previous entry 2008-10-23 09:17:54 +00:00
zicodxx 63d2c4a2cf Added new function to calculate common timesteps; Increased MAXIMUM_FPS to 200 for release and 1000 for debug; Used fixed sim_time for do_physics_sim and Interpolating to ensure collisions stay accurate at high FPS; New code and faster code for dot products by The_Lion; Disabled Nice-FPS and common Frame-Loop if VSync is active; More accurate delta timer for mouse (consider overhead); Added SDL_(Un)LockAudio for old SDL Audio interface; General support for up to 16 mouse buttons; Code cleanup; Made some AI movement and Player shaking FPS-independent 2008-09-30 00:07:07 +00:00
zicodxx a36ee745bd Improved Player relay for Endlevel status; Fixed leaving when UDP hosts leaves; Fixed multi_frame_calling while demos since demos can be Game_mode & GM_MULTI; Re-added lost collision fix between robots and reactor; Made state_defaut_item static so selected state slot stays selected 2008-06-11 21:18:50 +00:00
kreatordxx dfdea820dc fix remaining endian bugs in network code, now it works on the Mac 2008-05-16 11:20:33 +00:00
zicodxx a356b4351d Return unicode characters in key_to_ascii for non-EN keyboard layouts; Fixed sound menu issue if not compiled with SDL_mixer; switched -ip_norelay to -ip_relay since it's not tested enough; Renamed jukebox_free() to jukebox_unload() to stay with naming-convention 2008-05-07 14:11:30 +00:00
zicodxx 91e2934ca1 Return unicode characters in key_to_ascii for non-EN keyboard layouts; Fixed sound menu issue if not compiled with SDL_mixer; switched -ip_norelay to -ip_relay since it's not tested enough; Renamed jukebox_free() to jukebox_unload() to stay with naming-convention 2008-05-07 14:02:01 +00:00
zicodxx 24d1cf52f6 Added structure for values saved in PLR/PLX files; Added most common command-line options to options menu 2008-04-13 00:28:36 +00:00
zicodxx a172315d4a Implemented Console-style game logging system to print graphics, to stdout and gamelog.txt; Added structure to keep values for descent.cfg; Added aspect and Texture Filtering to descent.cfg; Removed mono code - printing important stuff over console; Removed some obsolete or very common defines; Code cleanup and small fixes 2008-04-06 20:23:28 +00:00
zicodxx 8eb5c965d2 Reworked fonts routines - makes easier to expand and scale correctly; Reworked menus with better border scaling, improved rendering and cleanups; Improved font priniting ingame, better alignment; Reworked Netgame list; Real Doublebuffering in SDL-mode; Removed old and unused sources 2008-02-24 14:41:27 +00:00
zicodxx d9e23370f9 Implemented PhysFS support; Implemended D2X memory functions; Code cleanups 2008-01-23 17:25:09 +00:00
zicodxx 091526789e Added BigEndian-related multiplayer/network code (unfinished); Re-Added IPX Socket option to Host menu for IPX games; Removed ForceVersionCheck global - conditions with driver->type; Merged netmisc.* and netpkt.*; Handling host disconnect for UDP games in network.c 2008-01-08 16:33:19 +00:00
kreatordxx 588d1b000a rename types.h to pstypes.h to avoid name conflict with Mac OS 9's MrC (it doesn't respect the difference between project and system headers) 2008-01-02 03:37:13 +00:00
zicodxx 285da809a8 Code cleanup - old/unused/obsolete multiplayer code and more 2007-12-29 14:18:49 +00:00
zicodxx 4f399bbfea Improvements for -gl_prshot; Improved show_netgame_info(); Removed obsolete multisave code; Removed mekh stuff and wide cleanings in whole multi code; Incremented MULTI_PROTO_D1X_VER (for version checks in the future if needed); Renamed 'D1X-only game' to 'Version Check' 2007-10-31 00:49:24 +00:00
zicodxx 487c6fa0e2 Implemented -use_players_dir 2007-09-28 15:14:09 +00:00
zicodxx 636b244f53 Small fixes for new netgame info screen; Doing PING routines D2X-way while trying to keep compability to other D1X versions 2007-09-26 18:30:48 +00:00
md2211 d393f32eed * Removed executable flag on most files
* Reverted value of SOUND_MAX_VOLUME
2007-09-21 19:06:05 +00:00
zicodxx dc1e0d5e65 Code Re-formatting; Preventing Redundancy in Restricted-game joining and leaving players (packet redundancy); Removed Network master menu (and mlticntl code) due to compatibility to older games; Using D2X code for restricted games; Expanded Game-help screen 2007-09-13 10:08:47 +00:00
zicodxx 5f78602f1b Added complex netgame information screen (key PAUSE), Removed ping commands because ping handled in new screen 2007-09-08 11:11:41 +00:00
zicodxx bbf30c223c Removed handicapping remnants, Removed -msgcolorlevel, color names in Multi-messages to Player- or Team-color 2007-09-05 17:31:05 +00:00
zicodxx 74a03f70ff Fixed embedded color strings 2007-09-03 11:21:00 +00:00
zicodxx b7c2e1cfa4 Improved CPU cycles sleeping for -nicefps - moved out of main frame calc loop and taking care of 10ms timer inaccuracy 2007-08-25 23:35:19 +00:00
zicodxx 21eee38432 actually submitting memleak fix which should have gone in last revision 2007-08-09 14:43:56 +00:00
zicodxx 38b9f13bef Some debugging-related cleanups, Fixed memleak 2007-08-09 14:29:53 +00:00
zicodxx e8771e7d0e FindArg cleanup; Removed remnants of Observer-mode 2007-07-18 21:36:53 +00:00
zicodxx 38cde9ec87 Placing FindArg calls to seperated function, putting variables to a struct - frist step, not finished, yet; Large code cleanup 2007-07-14 20:33:42 +00:00
zicodxx 86c18a63c3 fixed a bunch of compiler warnings 2007-06-11 09:06:14 +00:00
zicodxx 0200658155 forbid % to read into multi messages to not mess up the string 2007-04-15 16:33:04 +00:00
zicodxx 6b84e27046 removed d_delay, now using timer_delay as wrapper for SDL_Delay 2007-03-25 21:00:14 +00:00
zicodxx cf7b2348f7 cleaned up command-line help; removed old/redundant/unfunctional options; improved code to read -pilot/-demo argument 2006-10-18 12:52:56 +00:00
zicodxx d64c3d1023 change byte to sbyte 2006-10-06 14:41:31 +00:00
zicodxx cde0244a09 initial import 2006-03-20 16:43:15 +00:00