Commit graph

1352 commits

Author SHA1 Message Date
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
Chris Taylor 496b40ab35 Fix a crash when going into a directory with no files in the editor file browser, clicking on listboxes for same sets inputbox correctly 2012-04-11 12:05:39 +08:00
Chris Taylor a6e65196b8 Draw the object rotation velocity, file browser and MessageBox dialogs properly 2012-04-11 10:52:57 +08:00
Chris Taylor 785540dd7b Fix unused variable warning in last commit 2012-04-09 20:52:25 +08:00
Chris Taylor e7e034b7bd Editor exits cleanly when clicking the close box, no more redundant gr_uscanline call in gl_urect for ogl (an initial attempt to fix the previous bug) 2012-04-09 20:41:47 +08:00
Chris Taylor e2bf33dbdc No setting the screen mode when calling a newmenu function, so if it shows the 'Save Mine' messagebox in the editor, it won't change the screen resolution and trash everything. (If this causes problems, we can make it use the MessageBox if it's still in the editor, nm_messagebox otherwise) 2012-04-09 19:20:02 +08:00
Chris Taylor fba833f773 Fix all remaining known editor drawing issues. In ogl: get the texture previews to draw, get userbox borders to draw in the right location, properly underline characters in the menus, draw all the borders properly (i.e. no gap), no scaling fonts. Software render: draw userbox borders again. Both: clear the whole status bar, clear to the right edge of the screen. 2012-04-09 17:30:40 +08:00
Chris Taylor 83bc26ff29 Fix a nasty bug where pressing 'Alt' to explore the editor menubar would split the window stack in two, rendering the editor unresponsive 2012-04-09 17:13:11 +08:00
Chris Taylor ea2de8cb44 Get the clock, 'keypad' info, texture choosing page and object choosing page to draw (latter two just show black squares for ogl) 2012-04-09 10:14:10 +08:00
zicodxx bf2a058129 in software rendering scale savestate thumbnail to correct size 2012-04-09 00:19:16 +02:00
zicodxx 091dbd8769 plasma fire can ignite bombs which are dropped while firing. to compensate added a timed check where at least one projectile must be older than 200ms to trigger a possible collision. this fixes this issue if the player is moving away from the bomb 2012-04-08 16:59:51 +02:00
zicodxx 6a4ea459e7 added specification for Descent: Destination Saturn briefing screen to properly show briefings; added different briefing structure for Descent 1 Shareware which has a slightly different order of the usual briefings 2012-04-08 15:47:58 +02:00