Commit graph

713 commits

Author SHA1 Message Date
zicodxx 9596e0fcf8 Scale tab stops in briefings to font-size correctly 2010-07-15 09:22:33 +00:00
zicodxx 2d739a2c46 Cleaned the variables used for newdemo code; Instead of giving both old and new values to special recording functions, added new variables to demo code serving this purpose and also checking for redundant record calls which only would waste bytes; Removed duplicated-object-id-hack which did not work as expected and caused jittering on playback; In that process, found a bug where Num_open_doors might nor be set correctly - cleaned that up a little and got also rid of one aweful goto; Made sure cloaked walls are recorded FPS-independent but rather fade-value-dependent 2010-07-15 06:09:23 +00:00
zicodxx 2cb3bac259 Cleaned the variables used for newdemo code; Instead of giving both old and new values to special recording functions, added new variables to demo code serving this purpose and also checking for redundant record calls which only would waste bytes; Removed duplicated-object-id-hack which did not work as expected and caused jittering on playback; In that process, found a bug where Num_open_doors might nor be set correctly - cleaned that up a little and got also rid of one aweful goto; Made sure cloaked walls are recorded FPS-independent but rather fade-value-dependent 2010-07-15 05:40:25 +00:00
zicodxx 280b635dbe Addition for last revision - just screwed up my working copies 2010-07-13 06:45:15 +00:00
zicodxx 9933bb81ce Added expandable classes for HUD messages (like D1X but slacked) to better handle Multi messages or redundant messages; Rewrote HUD code completely; Changes -playermessages to -multimessages since this is more appropriate; Removed remnants of -mprofile 2010-07-13 06:35:25 +00:00
zicodxx 47770df6ca Fix for last revision - did not compile correctly 2010-07-09 13:47:11 +00:00
zicodxx a8111d203d Trying to improve reliability to find appropriate homing object by using vm_vec_mag/normalize instead of their *quick equivalents; Removed code which supposedly meant to track objects near reticle - don't like that 2010-07-09 07:58:48 +00:00
zicodxx 152ed8ea60 When reading mission file, check for sanity of possible breifing or ending to make sure author did not just screw up the file; Fixed slight bug when playing ending briefings from secret levels 2010-07-08 22:20:39 +00:00
zicodxx 52b57dbd31 When reading mission file, check for sanity of possible breifing or ending to make sure author did not just screw up the file; Fixed slight bug when playing ending briefings from secret levels 2010-07-08 22:12:53 +00:00
zicodxx 9dbd8ad144 Improved hanlding for closing sockets - doing via closing of Game_wind when available or in specific multi menus; Also handling GM_GAME_OVER setting over Game_wind closing as well if apprpriate - cleaner and helps to cleanup multi when mission is over 2010-07-08 09:35:59 +00:00
zicodxx 4c63f57aac Reworked handling of Netlist now also showing full game info; Prevent Clients from sending lite_info; Make lite_info show numconnected instead of numplayers as this would show disconnected ones as well; Removed reusing ports on different instances in Windows build - only screws up several games running on one machine 2010-07-08 06:37:23 +00:00
zicodxx ee3856285d Fixing building on Windows if SDL_Mixer is not a target 2010-07-05 12:14:49 +00:00
zicodxx c209b4c319 Reducing sending objects per frame from 20 to 1 again to reduce possibility of timeout on stressed systems 2010-07-05 12:12:12 +00:00
zicodxx d15778e03c When selecting coop game mode, make sure that besides max players menu values also actual player number is set and menu text is updated properly 2010-07-05 08:05:32 +00:00
zicodxx a7497054c3 Addition for rev1152: After setting mouse button, reset mouse state properly 2010-07-05 07:53:38 +00:00
zicodxx 8a7e7de051 Fixing issue when assigning mouse button if a citem is still pointed out; Fixing still processing key commands even if we want to assign a key 2010-07-05 07:31:03 +00:00
zicodxx d87c4ab289 Fixes for rev1148: Was too hasty with calling net_udp_close; Fixing typo in WSACleanup() 2010-07-04 13:57:21 +00:00
zicodxx 44d6e096d6 Since time is not suspended between levels in Multiplayer, call reset_time after level change. Apply this in Singleplayer, too since it should always be safe - and appropriate - to reset timer_value soon as a new level begins 2010-07-04 13:12:08 +00:00
zicodxx 7009221170 Implemented Winsock functions for UDP which I totally forgot about; Now when leaving game in any way, close sockets and Winsock stuff 2010-07-04 12:47:30 +00:00
zicodxx 47307bd25b Fixed Compiler-warning on Windows; Fixing Windows build which was not linking against SDL 2010-07-04 07:07:51 +00:00
zicodxx e62d911160 Renamed manual_join to direct_join; Aligned letlist tabs a little bit 2010-07-01 09:08:30 +00:00
zicodxx 07bdbfe610 Always try to open UDP default port when discovering Netgames and give warning if that fails; If entered IP address cannot be resoled, do not warn me twice 2010-06-30 15:57:13 +00:00
zicodxx bff24ced0d Removed SurfingNet global and made tabs a parameter of newmenu_dotiny; Same procedure with MenuReordering which is replaced with newmenu_doreorder to set reordering flag specifically 2010-06-30 15:26:27 +00:00
zicodxx e0d95f4f1c If multi_level_sync() fails, restart menu music since level music is playing already 2010-06-29 21:14:30 +00:00
zicodxx 47091a3d5e Improved handling of multi level sync and exit smoothly back to the menus; Fixed another small bug in lite_info broadcasting which was sending full info; By broadcasting full info, host could cripple Netgame so a new security measure is implemented to protect host from letting his game be overwritten from outside 2010-06-29 20:51:38 +00:00
zicodxx 97e20ee74c Added UDP Netlist to join LAN games discovered/announced via broadcast 2010-06-29 16:41:08 +00:00
zicodxx ac8e02e0ce Aligned default width for IPX-Netlist menu to fit possible items a bit better; Fixed two small bugs when sending and receiving lite_info in UDP; Allowed broadcast on UDP sockets (for later use) 2010-06-29 06:47:46 +00:00
zicodxx 4e3bf92435 When starting, leaving or changing a level in any way, use more ordered approach to set Game_wind visible or invisible. Fixing timer-issues after level-change and makes hiding of Game_wind obsolete for certain messageboxes; Moved GameTime and weapon timer variables out of reset_time since this function is not appropriate for this and is not needed between levels anymore due to window management handling start/stop_time properly 2010-06-27 11:28:26 +00:00
zicodxx ef4e9e1e17 Implemented kill_and_so_forth via DEL+SHIFT+B for easier debugging 2010-06-25 07:53:15 +00:00
zicodxx 4d688df531 rev1134 revisited: When inregulary exiting a level by warp cheat, suspend Game_wind and reactivate again after the switch 2010-06-24 17:17:28 +00:00
zicodxx 0fde6445d4 When inregulary exiting a level by warp cheat, set canvas to NULL so cockpit canvas will not apply furthermore 2010-06-24 14:00:01 +00:00
zicodxx 509e5be5a7 Added function to list valid resolutions and build resolutions menu dynamically with the resulting list 2010-06-24 09:29:11 +00:00
zicodxx da3ef28e60 main/newmenu.c: Fix for last rev1130 - store resolution and font-size in matching data type 2010-06-23 13:39:52 +00:00
zicodxx ffa7f639c1 If no player exists and GameCfg.LasterPlayer is unset, give user a nice default for convenience and - more important - let menu stop to nag about missing callsign and thereby showing the player creation dialogue over and over again 2010-06-23 12:57:28 +00:00
zicodxx f4d8a1e0a1 Making menus recreated on the fly in case resolution or font-size changes; Removing arguments to pass width and height to menu which was not used except on one IPX menu; Fixing measurement of menu strings of type NM_TYPE_INPUT_MENU; Fixing slight bug in freeing IPX netlist 2010-06-23 11:44:12 +00:00
zicodxx 9235a9eda4 Make sure GAME_FONT is set when reading out briefing text so char dimensions will always be stored correctly 2010-06-21 21:43:10 +00:00
zicodxx 88ebccab15 For starting demo, seperate hide_menus() and game_setup() since between this, demo must load the actual level and it's palette; Fixed small bug in interpolate_frame() causing interpolation happening in very first frame causing file read corruption 2010-06-20 20:32:30 +00:00
zicodxx 763f5f42b1 Re-balanced homing-device turn values introduced in rev1118 based on comparisons to many levels played 2010-06-19 17:03:51 +00:00
zicodxx 75169a184a For briefings, keep elementes of show_briefing_bitmap and show_animated_bitmap in correct aspect 2010-06-19 16:24:34 +00:00
zicodxx c3d91ceeca emoved PHYSFSX_getFreeDiskSpace and relying on success of buffered writing to see if demo recording must be stopped 2010-06-18 08:22:45 +00:00
zicodxx e4a0c20f76 Introducing gr_bitblt_find_transparent_area to dynamically detect boundaries of sub cancas used for CM_REAR_VIEW; On the way also allowing to create weapon box sub bitmaps from uncompressed cockpit bitmaps 2010-06-18 07:31:06 +00:00
zicodxx 8a3aeb01e8 Fixing regression from rev1038 which broke showing laser level or quadness in cockpit and statusbar 2010-06-17 09:46:45 +00:00
zicodxx e1572135a2 If picking up one missile out of a four-pack, use singular description instead of plural 2010-06-17 09:45:05 +00:00
zicodxx 5cff370262 Fixing digi_win32_ functions I broke yesterday. THANKS ZIF\! 2010-06-15 18:27:10 +00:00
zicodxx 9b2ea4680c Fixing typo in Netgame help screen 2010-06-15 17:20:37 +00:00
zicodxx 3e96a3185b Removed the previously used homers code and instead used old one to keep good ol' Gameplay; Removed FrameCount steps from track_track_goal() and scaled homing vector accordingly to this change, including properly scaling it to FrameTime; Made code more similar between D1X and D2X; Introduced different turn rates for different difficulty levels 2010-06-15 16:24:56 +00:00
zicodxx c6bb443c63 Resetting GameTime, Next/Last_flare/laser/missile_time in reset_time() together so GameTime-rollover-fallbacks will not create a massive delay when starting a new level 2010-06-14 21:59:41 +00:00
zicodxx 4678e1e815 Process -nomusic argument again 2010-06-14 17:55:25 +00:00
zicodxx 8cb8b6e653 Made reactor damage with persistent weapons FPS-independent but still a bit stronger than normal 2010-06-14 15:17:03 +00:00
zicodxx 36e20a419a Use strrchr instead of strchr for music filename extension in case there are dots in the filename 2010-06-14 10:43:30 +00:00
zicodxx f09a336184 Increased SDL_mixer music abilities to play non-hmp from HOGs, having Level-music path to play, options to specify non-level tracks and added various playing order methods; Abstracted SDL_mixer- and Redbook-interfaces; Simplified program flow through all music functions 2010-06-14 08:13:16 +00:00
kreatordxx 5650b4ce48 Merge d_event and newmenu_event enum's, hopefully fixing compiler warnings in GCC 4.5.0 2010-05-03 08:44:46 +00:00
kreatordxx e960307bdd Properly specify number of items for do_options_menu, so the options menu actually shows 2010-05-03 08:22:50 +00:00
kreatordxx f5834db6f7 Actually fix endgame music, make briefing beep only play when flashing_cursor is on, no restarting music when reloading a saved game 2010-04-05 13:48:23 +00:00
kreatordxx 53fc092ebf Actually play endgame music when game is finished, play briefing music instead of hum if appropriate 2010-04-05 11:54:23 +00:00
kreatordxx 90e3796f97 Make menus for hosting a netgame stack, make quitting work with newmenu_do2 and simpler 2010-04-04 09:41:53 +00:00
kreatordxx 76b0fb35ef Get rid of a heap of uses of Function_mode, quit properly (freeing all windows and asking for confirmation for game) when clicking close box 2010-04-04 01:31:48 +00:00
kreatordxx 643c57614b Move copyright drawing to main menu's event handler for tidiness 2010-04-03 10:16:53 +00:00
kreatordxx eb0458ba5f Remove calls to nm_draw_background1 to show newmenus stacked 2010-04-03 09:10:20 +00:00
kreatordxx 11edfb2aa6 Make main menu persist to streamline redrawing (later) 2010-04-03 08:35:56 +00:00
kreatordxx 3ba90f69e0 Make newmenu_do3 and newmenu_dotiny return as soon as the newmenu is created, which will allow the main menu (and others) to persist 2010-04-03 07:24:50 +00:00
kreatordxx fb53348ddc Keep demo selector just after playing one, for convenience 2010-04-02 05:24:47 +00:00
kreatordxx d749889c89 Add a default event handler for screenshots, entering debugger, Redbook repeating etc 2010-04-02 05:01:08 +00:00
kreatordxx 8cf06690d7 Make game respond to EVENT_KEY_COMMAND for key commands, allowing default key handler (later) 2010-03-31 09:18:28 +00:00
kreatordxx 322db66f11 Make gamecntl.c more similar between D1X and D2X 2010-03-31 06:19:37 +00:00
kreatordxx 00d1d41439 D1X: Fix black and white swapping when viewing robots in briefings using Mac data; D2X: For Descent 1 briefings, only change the palette to groupa.256 for brief03.pcx - the robot screen. Improves palette use for sdl build 2010-03-30 03:37:29 +00:00
zicodxx ee6324b3e4 For casting light from Player-object, smooth out thrust to prevent flickering on high FPS 2010-03-28 09:53:12 +00:00
kreatordxx d45e67c242 Make sure correct palette is loaded for game, fixing swapping of black and white and cockpit/status bar not showing for ogl build, in multiplayer 2010-03-27 10:31:34 +00:00
zicodxx ced670e54a In AdvanceLevel only set Game_mode to GAME_OVER if current level is last level, fixing stupid mistake introduced in rev. 1080 2010-03-27 09:43:27 +00:00
kreatordxx c0739acdfe Check menus[0], not menus[i] in hide_menus - fixing possible crash 2010-03-27 08:00:53 +00:00
kreatordxx c8b49c8a35 Finally fix bug where if you start a single player game then a multiplayer game, time is stopped. Always start time if it's stopped and the game window is activated 2010-03-27 04:30:59 +00:00
kreatordxx 71dfec9fdb Hide mission dialog before the level intro screens are shown, make sure it doesn't try to show it again after it was closed - fixing bad memory access 2010-03-27 03:24:14 +00:00
kreatordxx 68a1458abd Initialise 'playing' to 0 for UDP kmatrix, making sure player progresses to next level; always return 1 when starting to join a UDP game so it doesn't immediately return to the main menu 2010-03-27 02:54:41 +00:00
zicodxx 1bdfcc70f1 Fixing uninitialized angles for robots in briefings 2010-03-26 21:27:55 +00:00
kreatordxx 574bc21e06 Make all windows except game and editor use EVENT_KEY_COMMAND, returning 1 if handled; pass NULL instead of userdata for the PCX filename, for newmenu_do1 2010-03-26 14:05:40 +00:00
zicodxx 69e3954d20 In Endlevel sequence, re-align big explosion to draw in front of exit model, relative to viewer; Re-organized tex files for Briefings and Endings and created more general code to play them; Re-aligned Dravis' head 2010-03-25 23:37:19 +00:00
kreatordxx 962a01cc5d Only show briefing background if we have one, fixing arithmetic crash with SDL Video build 2010-03-24 13:59:42 +00:00
kreatordxx 1ff3f56c1c Add EVENT_MOUSE_BUTTON_DOWN and EVENT_MOUSE_BUTTON_UP, use for all windows except game and editor. Fixes crash on iMac G5 when pressing keys to progress through briefing 2010-03-24 07:26:52 +00:00
kreatordxx c62d310c4c Fix error introduced with credits, make title screen a window. Only the editor left now... 2010-03-22 04:44:35 +00:00
kreatordxx db51d60490 Make credits screen a window 2010-03-22 03:31:02 +00:00
kreatordxx d83c2e27c4 Fix bug introduced in last commit - when the last level is finished, hide the game window - making sure the cockpit isn't drawn over the kmatrix screen 2010-03-21 02:20:07 +00:00
kreatordxx f5e18cb603 Hide game window between levels, fixing bug where many textures are loaded with the wrong palette when advancing to the next multiplayer level 2010-03-21 00:54:56 +00:00
kreatordxx c4171b2f06 Fix bug - make sure time isn't stopped for multiplayer when aborting, so starting a second game doesn't result in a frozen game 2010-03-20 13:53:08 +00:00
kreatordxx 9331893332 Make kmatrixs into windows, rename Fuelcen_seconds_left to Countdown_seconds_left for consistency 2010-03-20 13:21:53 +00:00
kreatordxx d98bb97c48 Make all listboxes fall back to main event loop for flexibility 2010-03-18 07:02:38 +00:00
kreatordxx 3e0c8d7f34 Make briefing into a window, allowing more flexibility with other windows and tidying code up 2010-03-18 04:31:47 +00:00
kreatordxx 5ee9ccd867 Show intro movie properly when idle in main menu, including subtitles if on 2010-03-18 02:49:02 +00:00
kreatordxx 40ecc65268 Fix memory error for listbox when clicking in the region where there are no items 2010-03-14 01:54:34 +00:00
kreatordxx f3ca7b4067 Put most local variables in show_briefing in 'briefing' struct, to make briefing a window in future 2010-03-10 08:43:47 +00:00
kreatordxx 8106bcc492 Put parameters in functions from do_briefing_screens to show_briefing in 'briefing' struct, to make briefing a window in future 2010-03-09 04:59:14 +00:00
kreatordxx 40cfd30bd7 Put briefing globals in 'briefing' struct, pass this by parameter 2010-03-09 02:41:34 +00:00
zicodxx bf23430dd7 If Shareware content is used, fallback to original Smart behaviour since Shareware content has no own definition for Bot-related Smarts 2010-03-04 22:43:37 +00:00
zicodxx bd368ef9f3 Init variables/strings at the beginning of load_mission() to prevent errors if demo content is used 2010-03-04 17:19:47 +00:00
zicodxx db1e4e226f Fixed some Piggy- and Text-loading routines for Shareware, Destination Saturn and 1.0 Registered; Full support for End-Briefing on non-registered still missing however 2010-03-04 14:53:46 +00:00
kreatordxx d7048c7664 Make titles.c more similar between D1X and D2X 2010-03-01 07:27:51 +00:00
kreatordxx 303c3d91b1 Actually change to MIDI if Jukebox was selected 2010-02-27 12:50:30 +00:00
kreatordxx 7046ea43ff Handle all user input in callback for sounds menu, being more judicious about when to restart the music. Also make the jukebox path input a NM_TYPE_INPUT_MENU, allowing the user to abort changes 2010-02-26 08:42:44 +00:00
zicodxx dab80569a6 Resetting menu->mouse_state after changing a key in kconfig so you will not accidentially activate a new field when left mouse button is assigned 2010-02-25 15:20:01 +00:00
kreatordxx c4f86ebfc8 Call game_flush_inputs for all windows' EVENT_WINDOW_ACTIVATED, so clicking on a pilot doesn't bring up the multiplayer screen for example 2010-02-25 08:00:15 +00:00
kreatordxx 700156eb36 Put fast save back, using Alt-F1 instead of F6 2010-02-25 03:08:10 +00:00