Commit graph

67 commits

Author SHA1 Message Date
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 3edbfa2c90 Normalize comments and whitespace to match D2X 2013-02-25 02:00:02 +00:00
zicodxx 5d6f4222d7 now properly initialize all other parts of the new/old player object when restoring a coop savestate 2012-05-21 10:32:33 +02:00
zicodxx 3b8175c3ba fixed incorrect canvase for opengl-scaled savestate thumbnail; rebuild free objects after restoring and remapping the coop players 2012-05-18 10:54:36 +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 8cc22d8343 Reuse pre-defined player objects when loading coop savestate to revent messup when player amount or orders change in a certain way 2012-05-10 01:40:35 +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 999e008dc6 in software rendering scale savestate thumbnail to correct size 2012-04-09 00:19:11 +02:00
zicodxx f4dfae832f properly disable cheats when loading a saved game so only cheats that were stored are re-enabled 2012-03-28 10:07:12 +02:00
zicodxx 7a4d7e3bc4 When restoring Coop players and make turn them into ghosts perform a check if this player is actually a valid player so we do not just blindly use any object number from a possibly uninitialized player structure 2011-09-23 19:48:45 +02:00
zicodxx 13fe431c7b Fixed possible memory corruption when saving Current_mission_filename which is not necessarily a 9 byte long allocated string; Bit safer string handling with snprintf; Fixed set but unused variables like a boss 2011-06-28 09:16:21 +02:00
zicodxx dcc964817e Got rid of cfile code: Renamed cfile-functions to use PHYSFSX-naming convention, Replaced cfile-macros with proper PHYSFS(X) calls; Introduced PHYSFSX_exists() which can check case-sensitive or case-insensitive to give more flexibility with game content 2011-06-01 09:59:51 +02:00
zicodxx 5f5b5b415f Due to increased size of MAX_SEGMENTS old savegames became incompatible. To compensate added MAX_SEGMENTS_ORIGINAL with the original segment amount and read certain savegame info with this info when dealing with standard-sized levels and use Highest_segment_index when dealing with larger levels which are incompatible with older versions of the game anyways. Makes savegame site more efficient and still maintain backwards compability 2011-05-04 15:07:53 +02:00
zicodxx 6fe4dd5d96 Resolved termination issue when reading and comparing callsigns fro Coop savestates; Added scores sending after Coop savestate loading as unrestored players will send them when loading new level 2011-04-20 01:47:12 +02:00
zicodxx 6bb12ba926 Execute set_dynamic_light 60 times per second max since more would just be a waste of CPU time; When executing set_dynamic_light, process ALL lights; Instead of storing light color in objects, do it on-thy-fly but store bitmap-based color in grs_bitmap - vastly speeds up colored dynamic lights; Improved saturation for vertex lighting to make light color a bit more subtile 2011-04-12 03:02:49 +02:00
zicodxx 357e1b0144 Made lighting code work with actual RGB values and added feature to let certain objects emit colored dynamic light as well as let mine flash red when control center destroyed (OpenGL-only at the moment) 2011-04-07 22:32:47 +02:00
zicodxx d55bc253f1 Dead_controlcen_object_num should be set when a new level starts in debug build, too; Setting Total_countdown_time when loading a savestate so SEF-DESTRUCT SEQUENCE ACTIVATED sample will not play soon as timer reaches 0 2011-03-29 00:35:15 +02:00
zicodxx c1e4e9c3d7 Moved all these unsorted global cheat variables to a handy structure; Simplified reading of the cheats without trying to make it complicated so no one finds them (everyone can get the source); Removed one or two cheats which carry more garbage than they are worth; Added replacement for the bittersweet cheat; Made FPS Counter an option of Graphics menu 2011-02-14 22:27:02 +01:00
zicodxx eb0d876b9c Reintroduced Savegames for Coop games using the original Descent2 implementation but correctly handling player slots in their pre-loading state preventing accidential player shifting which never really worked in the original game and we do not want with UDP anyways - was all tested but still might need a fix or two; Added some missing initializations for saving players and AI stuff; Completely ripped out remnants of saving between levels code 2011-02-09 12:58:28 +01:00
zicodxx 4b1faafc15 Handling Controlcen countdown Descent2-way to make code more similar but more importantly to avoid issues in Multiplayer levels which do not even have a Controlcen type Station causing the game get stuck in an infinite loop; Fixed small issue parsing killreactor command in Multiplayer 2011-01-22 17:56:23 +01:00
zicodxx 45d8b82ab6 Additional commit for last revision - didn't selected all files properly 2011-01-19 21:51:59 +01:00
zicodxx 28bf026158 Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag 2011-01-06 12:43:55 +01:00
zicodxx 858aa603e6 added hitobj_list to struct laser_info to get a bit cleaner code 2010-12-22 10:41:15 +01:00
zicodxx 4b265301a0 Made GameTime to GameTime64 using fix64; Changed all structures saving GameTime64 for internal timer purposes to store fix64 and added converting functions to save such times in fix; For Savegames/Demos always reset GameTime64 to 0 while saving and putting all timer values to safe limits, Multiplayer objects are sent in similar fashion 2010-12-22 01:17:49 +01:00
kreatordxx 23975df856 Pass -1 instead of 255 as the colour to ogl_ubitmapm_cs when drawing savegame previews, to make sure a black rectangle isn't drawn instead 2010-09-19 11:53:39 +00:00
zicodxx 2b069acab4 Removed Fusion_last_sound_time and made Fusion_next_sound_time static inside FireLaser() with it's own fallback function for bogus timer values - should make this code insusceptible against errors - last but not least: minus two globals 2010-09-04 09:22:07 +00:00
zicodxx 34db780dbf Reset Fusion_next_sound_time in init_player_stats_level() to hopefully fix Fusion not doing damage or playing sounds 2010-09-03 21:49:39 +00:00
zicodxx 842af496ca Added event_flush to take place in game_flush_inputs which will clean SDL events which may be buffered while event_process was suspended; suspend Game_Wind while loading restoring save state while playing a level to properly flush controls and reset timer; when toggeling cursor, also directly modify the mouse to wanted behaviour instead of waiting for mouse_update_cursor_and_grab 2010-07-30 17:59:21 +00:00
zicodxx bc775b1331 Introduced state_quick_item so we can safly check if there is a valid quicksave slot wihtout messing around with state_Default_item which is supposed to always show a valid slot in the first place 2010-07-19 17:07:12 +00: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
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 3ba90f69e0 Make newmenu_do3 and newmenu_dotiny return as soon as the newmenu is created, which will allow the main menu (and others) to persist 2010-04-03 07:24:50 +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 d7048c7664 Make titles.c more similar between D1X and D2X 2010-03-01 07:27:51 +00:00
kreatordxx 700156eb36 Put fast save back, using Alt-F1 instead of F6 2010-02-25 03:08:10 +00:00
zicodxx 4ebc007757 Introduced hitobj_list for persistent weapon objects to keep track of multiple objects the weapon is in contect with to prevent it from doing FPS-based damage; Made persistent weapon objects not die on debris but just decrease their shields like when an ordinary player/robot is hit - makes more sense 2010-02-08 13:24:42 +00:00
kreatordxx 21d8d86d5b Send EVENT_KEY_COMMAND from key.c; add EVENT_NEWMENU_DRAW for state restore; place newmenu and listbox calls to callback so they can override ALL newmenu behaviour 2010-01-30 03:24:19 +00:00
zicodxx d17841fbc4 Improved Object signature assignment and made sure there will be no duplicates; Also used short-ranged values only so Demo system won't screw up 2010-01-28 15:26:27 +00:00
kreatordxx 88d1b32914 Add EVENT_WINDOW_ACTIVATED, change EVENT_DRAW to EVENT_WINDOW_DRAW and EVENT_CLOSE to EVENT_WINDOW_CLOSE 2010-01-20 05:10:32 +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
kreatordxx 70bbac21b7 Read big endian savegames on little endian computers and vice versa 2009-10-05 02:51:37 +00:00
kreatordxx 31413b59df Fix compile error with ai_restore_state and include necessary ogl_init.h in state.c (whoops) 2009-09-11 05:15:53 +00:00
kreatordxx 90c02b1ea3 Make state.c more similar between D1X and D2X 2009-08-22 07:21:19 +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 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 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 27e288b21d get it to work for Mac OS 9 2008-04-24 14:27:54 +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