Commit graph

1363 commits

Author SHA1 Message Date
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 700c4f6e96 removed empty console directory as well as long obsoleted RPM spec file 2012-05-10 01:42:52 +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 0ec49d71bd Rename MessageBoxN (meant to go with previous commit) 2012-04-17 16:14:18 +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 8a136a461c addition for last commit - forgot to fix when resolving merge-conflict 2012-04-15 16:06:02 +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
Chris Taylor 2ca5303028 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:09:21 +08:00
Chris Taylor 2ab19658dc Only do an Int3 in write_game_text_file when PHYSFS_close returns 0, which is an error, not when it returns 1 2012-04-14 14:13:01 +08:00
Chris Taylor 372d0f2733 Set Gamesave_current_version to correct version when making a new mine, move create_new_mine to gamesave.c 2012-04-14 13:46:20 +08:00
Chris Taylor 8ba0bdc492 Fix crash when loading a level in the editor 2012-04-14 13:34:43 +08:00
zicodxx 2c7a8b419b Removed redundant call of songs_stop_all() when starting credits; Added failsafe for loop in case MHDR_DONE flag is not properly set by MIDI device; Added more verbosity for hmp_reset() 2012-04-12 19:45:45 +02:00
zicodxx e45dd761b3 addition for r1310 forgotten to commit 2012-04-12 11:31:30 +02:00
zicodxx f35eba5f04 Fixed some Multiplayer bugs: Reactor invulnerable time did not checked for hours spent in level so reactor would become invulnerable again after 60 minutes; Fixed the fix (heh) for misordered explode/reappear packets; Reset Player_eggs_dropped when initializing new ship so eggs are properly dropped when player disconnects two times without respawning; Cleaned player disconnecting a little bit and made code more straightforward 2012-04-12 02:15:26 +02:00