Commit graph

1392 commits

Author SHA1 Message Date
zicodxx c23e75a79d Removed remnants of the old and obsolete VR implementation 2012-05-27 00:24:55 +02:00
zicodxx 847d1515cc fixed possible buffer overflow in load_screen_text() 2012-05-26 19:39:10 +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 98f6ac2204 Fit player/player collisions to not take damage from bump while remote player has possibly not aligned to the collision, yet; Added FORCE_DAMAGE_THRESHOLD for minimum force damage to receive from object bumps to not simply take damage from touching objects 2012-05-26 13:28:43 +02:00
zicodxx 4cfc516d56 Cancel out do_controlcen_dead_frame() when not playing and only check triggers for playing players for further host-authority stuff; Made GameProcessFrame not cause endless loop by closing kmatrix over and over again due to game_leave_menus(); Also only close menus when level ends and when we die only the automap will close - otherwise menus can stay (user request) 2012-05-25 12:14:22 +02:00
zicodxx a9c07f81e7 in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients 2012-05-24 12:46:33 +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 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 d58e6fc38f using our own functions for strdup and _splitpath with the d_ prefix for all platforms for consistency 2012-05-19 02:16:40 +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 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 e7c86fd11d allow PAUSE key during death sequence to pause or view multiplayer game stats; Also reset hostages_on_board when ship blows up so pause menu during death sequence will show 0 hostages soon as the ship explodes; fixed crash for slew_init by removing old numlock hack 2012-05-16 14:39:29 +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 383a00cd9c In Multiplayer when taking damage, the game will only leave menus when shield drop below 5 2012-05-16 01:06:13 +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 c4223a8fe5 During kmatrix bring up Game_wind againso the host can still follow the game - becomes necessary later with host-authority functions 2012-05-14 19:20:15 +02:00
zicodxx 8967ae77fe Renamed FixedStepCalc() to cald_d_tick() and FixedStep became d_tick_step; Also ther eonly is a 50ms-timer used to d_tick_step as it was the only one used so far; Replaced FrameCount with d_tick_count which only increments by 50ms-timer used in calc_d_tick() - that now scales timed actions for certain functions properly and makes AI work FPS-independent without any hacks in that regard 2012-05-14 19:06:27 +02:00
zicodxx 55aae15997 Made inline functions static 2012-05-14 17:13:24 +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 c5b3fc162e Incremented version to 0.57.3; Added Release notes 2012-05-10 19:10:45 +02:00
zicodxx a84bdf917f Reduced timeout from 10 to 5 seconds 2012-05-10 18:53:59 +02:00
zicodxx 9de6618ba0 Wrote seperate function for weapon autocycling that also cycles through non-autoselect weapons; Added option to not autoselect weapon when firing; On the way, smoothed the menu text in misc menu a bit 2012-05-10 14:39:24 +02:00
zicodxx d52f07bcf0 removed unfinished tracker protocol that has been replaced for some time now 2012-05-10 01:41:33 +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 8dfb4cde57 Added more versatility in picking targets for the creation of smart blobs - especially for Multiplayer; cleaned that code a bit; made dodging of homing projectiles a little easier 2012-05-09 01:22:28 +02:00
zicodxx b466072fd5 fixed copy/paste mistake 2012-04-30 00:38:41 +02:00
zicodxx 0472e76895 Similar to Network_new_game introduced imulti_new_game to exclusivly use in multi.c to execute stuff in new level only when starting a new game - for example resetting player ship inventory which is not supposed to happen on each level; Removed long obsolete control_invul_time varible 2012-04-27 02:09:46 +02:00
zicodxx e23535ffe8 little reorganization for draw_hud(): draw multiplayer names first, reticle last to prevent anything being drawn over by floating names and reticle not messed by anything else 2012-04-24 11:55:12 +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
Chris Taylor 3e991237ed Call new obj_relink_all after playing a demo, so the editor is (hopefully) never faced with poorly linked objects and hence crashes 2012-04-17 17:14:21 +08:00
Chris Taylor 7b9f0f8d17 Rename MessageBox to ui_messagebox to avoid a conflict with Windows' MessageBox 2012-04-17 16:02:32 +08:00
Chris Taylor 7971e8cff8 Call free_mission() if a demo is corrupt, so the editor doesn't load a corrupt level 2012-04-17 15:45:58 +08:00
Chris Taylor 670219fa5a Set object lifeleft to IMMORTAL_TIME if the byte read in demo playback is -1. This allows the objects to stay when playing a demo, going to the editor then playing the game from the editor 2012-04-17 15:35:23 +08:00
Chris Taylor 7ff82427d9 Skip rendering of OBJ_NONE objects to avoid a failed Assert (can happen when playing a demo then going to the editor) 2012-04-17 15:20:51 +08:00
Chris Taylor 36aeba165a Reset the player object for the editor, since demo playback mucks it up 2012-04-17 15:11:49 +08:00
Chris Taylor a5f9d3933d Allow level progressing if playing the builtin mission with EDITOR compiled - only exit if Current_level_num is 0 2012-04-17 15:04:18 +08:00
Chris Taylor fa76bc657e Make a new mission when making a new mine to avoid a crash when testing it straight from the editor and winning, only create a new mine if a mission isn't loaded, if it thinks it needs to use Cursegp to fix the player object make sure Cursegp is initialised, remove key command for ToggleDrawAllSegments since add segment now has ctrl-A 2012-04-16 16:53:32 +08:00
Chris Taylor ee9f1b33db Avoid crashes when clicking on close box with a center, switch, object or wall editing dialog open; also when playing a level, going to the editor, going back to the game then dying 2012-04-16 14:41:26 +08:00
Chris Taylor ad5549793f Make movement in the editor's game screen use the player controls, make that movement more like the automap and resolve some likely conflicting key commands 2012-04-16 13:26:14 +08:00
zicodxx 4287e713b1 fixed two bugs caused by recent Multiplayer cleanup: Set more player-death-related veriables outside of dead_player_end() when creating new ship as not covered in subfunction is Palyer_is_dead is not true; also init my own inventory properly in multi_prep_level to get our inventory straight after receiving netgame information 2012-04-16 01:13:27 +02:00
zicodxx e8d4070413 Fixed set but unused variables in OGL build 2012-04-15 16:15:18 +02:00
zicodxx b6cee230a8 made -notitles suppress show_order_form() as well 2012-04-15 16:06:45 +02:00
zicodxx c308f45544 addition for last commit - forgot to fix when resolving merge-conflict 2012-04-15 16:05:59 +02:00
zicodxx a92f7497a3 Addition for last change in hmp_reset(): execute midiOutShortMsg() even if midiOutPrepareHeader() fails as not related to SysEx part 2012-04-15 15:52:12 +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
Chris Taylor e1eaf7cc65 Clicking on mine elements in the editor now works in ogl 2012-04-15 13:43:41 +08:00
Chris Taylor 1d05b49978 Set edge_list_size to Num_segments*12 to avoid crashes in the editor with certain third party levels 2012-04-15 09:32:04 +08:00