Commit graph

1335 commits

Author SHA1 Message Date
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
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
Chris Taylor 8b22237d4e Set the correct palette for the editor 2012-04-14 18:28:07 +08:00
Chris Taylor b80b863f49 Fix bugs switching between game and editor and back: make sure ModeFlag is set to 0 before it has any chance to show an alert message, fixing a crash; allow OBJ_NONE in Assert; make Game_wind invisible when loading editor in case we show an alert; call mouse_flush() in ui_init() to fix mouse issues 2012-04-14 17:41:50 +08:00
Chris Taylor ef6e5180db Delete-E while playing a level now works properly - it closes Game_wind and sets Cursegp if necessary when going to the editor 2012-04-14 15:06:12 +08:00
Chris Taylor 4c9ac01f4b Don't bother generating a game text file (.txm) every time a level is loaded, even if the EDITOR is compiled. Just when a level is saved 2012-04-14 14:22:18 +08:00
Chris Taylor 1e77cbdf30 Fix crash when loading a level in the editor 2012-04-14 13:28:30 +08:00
Chris Taylor 81cf0853f0 Fix crash when loading a level in the editor 2012-04-14 12:23:49 +08:00