Commit graph

1032 commits

Author SHA1 Message Date
zicodxx 4554227d1a in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients 2012-05-24 12:46:35 +02:00
zicodxx 1296f3e3b3 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:50 +02:00
zicodxx 36774e21d5 now properly initialize all other parts of the new/old player object when restoring a coop savestate 2012-05-21 10:33:53 +02:00
zicodxx b38c3a98e7 solved some potential buffer overflows when initializing movie names 2012-05-19 02:37:13 +02:00
zicodxx 66f2045c59 using our own functions for strdup and _splitpath with the d_ prefix for all platforms for consistency 2012-05-19 02:16:43 +02:00
zicodxx 70287bfde6 using our own functions for stricmp, strnicmp, strlwr, strupr, strrev with a d_ prefix for all platforms for consistency 2012-05-19 01:36:43 +02:00
zicodxx ef8c3bc436 fixed incorrect canvase for opengl-scaled savestate thumbnail; rebuild free objects after restoring and remapping the coop players 2012-05-18 10:54:41 +02:00
zicodxx e6841439b0 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:31 +02:00
zicodxx 2c5176a336 when updating game info also check for player connected status in case we send to everyone 2012-05-16 10:41:15 +02:00
zicodxx 8699ae6b63 In Multiplayer when taking damage, the game will only leave menus when shield drop below 5 2012-05-16 01:06:16 +02:00
zicodxx 1c8dc35257 Do not allow ports below 1024; More verbosity for udp_open_socket() 2012-05-16 00:59:19 +02:00
zicodxx d472f592a0 Do not send endlevel packets to disconnected (but still saved) clients 2012-05-15 23:39:24 +02:00
zicodxx 2bed74b056 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:18 +02:00
zicodxx d3fb313fd9 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:28 +02:00
zicodxx dbb5eeef35 Made inline functions static 2012-05-14 17:13:27 +02:00
zicodxx 6d3782996c 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:30 +02:00
zicodxx 20b8e59305 Incremented version to 0.57.3; Added Release notes 2012-05-10 19:10:49 +02:00
zicodxx bfef7393d5 Reduced timeout from 10 to 5 seconds 2012-05-10 18:54:22 +02:00
zicodxx 57d3f3b34f Wrote seperate function for weapon autocycling that also cycles through non-autoselect weapons and properly respects super laser; 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:26 +02:00
zicodxx 4eaddede80 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:39 +02:00
zicodxx 1475eccac4 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:31 +02:00
zicodxx b0f34d2b89 fixed copy/paste mistake 2012-04-30 00:38:45 +02:00
zicodxx 347775de93 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 2012-04-27 02:09:48 +02:00
zicodxx 6e0abf59c4 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:16 +02:00
zicodxx 4e4f949bc0 fixed improper player disconnecting which might have been caused by endlevel packet 2012-04-23 16:15:19 +02:00
Chris Taylor 561aba1d9d Change MarkerScale changing keys from KEY_COMMA and KEY_PERIOD to KEY_F11 and KEY_F12 respectively, so I can use the former as controls in the automap 2012-04-22 17:38:14 +08:00
zicodxx b02060216e 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:23 +02:00
Chris Taylor 84bbf2c48e 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, init Cursegp to NULL, remove key command for ToggleDrawAllSegments since add segment now has ctrl-A 2012-04-17 17:37:15 +08:00
Chris Taylor 8b8e5d2635 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:15:09 +08:00
Chris Taylor ef2df1225d Rename MessageBox to ui_messagebox to avoid a conflict with Windows' MessageBox 2012-04-17 16:11:42 +08:00
Chris Taylor 17bdf55a05 Call free_mission() if a demo is corrupt, so the editor doesn't load a corrupt level 2012-04-17 15:46:39 +08:00
Chris Taylor aecfbbee23 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:36:23 +08:00
Chris Taylor 5197d7665a 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:14 +08:00
Chris Taylor 770080f612 Reset the player object for the editor, since demo playback mucks it up 2012-04-17 15:13:08 +08:00
Chris Taylor 1c85ce7848 Finish the game cleanly, closing Game_wind, if Current_level_num is 0 2012-04-17 15:05:43 +08:00
Chris Taylor e55406d1ee Make sure Cursegp is initialised if using it to set an object when loading a game (EDITOR build). Thought I already committed this 2012-04-17 14:28:50 +08:00
Chris Taylor 1fd979a76b 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:42:34 +08:00
Chris Taylor 82cce8afb6 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:55 +08:00
zicodxx 8fc772586c 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:29 +02:00
zicodxx 0011e44087 Fixed set but unused variables in OGL build 2012-04-15 16:15:21 +02:00
zicodxx 19d792cff2 Addition for last change in hmp_reset(): execute midiOutShortMsg() even if midiOutPrepareHeader() fails as not related to SysEx part 2012-04-15 15:52:14 +02:00
zicodxx 3a96935748 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:48 +02:00
Chris Taylor 27279480ca Create a centers dialog that won't crash 2012-04-15 14:14:16 +08:00
Chris Taylor 311f835bf8 Clicking on mine elements in the editor now works in ogl 2012-04-15 13:45:45 +08:00
Chris Taylor b20044e14f Set edge_list_size to Num_segments*12 to avoid crashes in the editor with certain third party levels 2012-04-15 09:34:06 +08:00
zicodxx 90e41c1c85 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:28 +02:00
Chris Taylor 71831d308f Set the correct edge colors for editor wireframe drawing (in LargeView) 2012-04-14 18:52:06 +08:00
Chris Taylor 96d872adb8 Set the correct palette for the editor 2012-04-14 18:29:02 +08:00
Chris Taylor d0544583fd 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:42:44 +08:00
Chris Taylor 7b6bfa5fc8 Fix crash when playing a level straight from the editor (check if Current_mission has actually been loaded, like the other ex-crash) 2012-04-14 15:18:50 +08:00