Commit graph

935 commits

Author SHA1 Message Date
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
zicodxx 1300fe7ffc Due to the change of GameCfg.ControlType, Mouselook was broken - fixed 2010-02-23 23:23:21 +00:00
zicodxx 8ca0637f99 Adding a Failsafe to Songs-reading so it will not accidentially read over current Array-boundaries 2010-02-23 16:05:11 +00:00
zicodxx 72fe1664fd Add to help how to send a message to a specific player in Multiplayer; Removed NoBombs command as this is covered by the weapons selection in Multiplayer game creation 2010-02-23 15:22:28 +00:00
zicodxx e22b62eee4 Make Version-check for UDP also cover Micro-versions; Making sure versioning will act same way as conf.h for MacOS 2010-02-23 15:05:50 +00:00
zicodxx 675d6d395a Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays 2010-02-21 01:25:27 +00:00
zicodxx 4733361212 Making reading of descent.sng a bit more flexible; Not dynamically allocated, yet, since missions are not as well 2010-02-19 15:30:57 +00:00
zicodxx 26a6bf4c59 Small fix for most recent commit: Removed an obsolete d_free 2010-02-19 01:00:59 +00:00
zicodxx 19c82e97e3 The little light bulb showing homing warning in Cockpit was broken and I replaced it; Rewritten code to show weapon text in Cockpit and Statusbar slightly; Instead of using hardcoded weapon strings, use from descent.txb and fixed too long spreadfire string properly 2010-02-19 00:24:32 +00:00
zicodxx 29f475c345 Cleaning up Joystick code and on the way supporting more axes and buttons; Also fixed bug with channel_mask byte causing trouble using some axes ingame; Added argument to set environment variable which disables sticky keys (for SDL >= 1.2.14) 2010-02-14 18:48:02 +00:00
zicodxx 6c16c6174e Write gamelog.txt buffered so it will not stress the medium it's saved on 2010-02-08 14:28:12 +00:00
zicodxx 4ebc007757 Introduced hitobj_list for persistent weapon objects to keep track of multiple objects the weapon is in contect with to prevent it from doing FPS-based damage; Made persistent weapon objects not die on debris but just decrease their shields like when an ordinary player/robot is hit - makes more sense 2010-02-08 13:24:42 +00:00
kreatordxx 224f3b1b35 Don't make another Game_wind when advancing a level, fixing failed asserts / slow turning 2010-02-08 05:34:43 +00:00
kreatordxx 9acd0ba3a6 Move all globals in scores.c into struct members/local variables 2010-02-08 04:10:21 +00:00
kreatordxx 09f7bd6d57 Split select_filename into [existing] RegisterPlayer and select_demo for better clarity 2010-02-07 12:10:52 +00:00
kreatordxx d5cf0dd85b Move MAX_SUBMODELS from inferno.h to polyobj.h, fixing #include loop by removing some (mainly object.h) and instead using explicit 'struct' declarations; compile net_ipx.c for Mac SDL Video build 2010-02-07 07:28:49 +00:00
kreatordxx b85eb5b156 Make the scores menu into a window 2010-02-07 06:00:10 +00:00
kreatordxx 1f33e08116 Create the main event loop and use it for the game and main menu 2010-02-07 04:34:21 +00:00
kreatordxx 5f73aa9005 Handle player selection and demo playing in filename_menu_handler, fixing bug where it won't leave the player listbox if there's no LastPlayer; close do_options dialog when changing resolution 2010-02-06 05:21:45 +00:00
kreatordxx e5adf29b6c Set the correct scroll position for the listbox when it's shown 2010-02-06 01:41:38 +00:00
zicodxx 134f6dc388 In do_physics_sim() only set velocity from movement for certain objects which actually do collisions like Player or Robots - otherwise we might be able to shoot down projectiles or produce other unfortunate glitches 2010-02-05 18:49:24 +00:00
kreatordxx 7c083d0834 No showing the main menu background between loading a level and playing it, fixing palette issue when autoplaying a demo 2010-02-05 08:53:20 +00:00
kreatordxx b58c034350 Put the full_palette_save and palette_restore calls in the game handler for tidiness; remove leftover redundant digi_resume_digi_sounds calls 2010-02-05 02:31:36 +00:00
kreatordxx 999a1b2949 Put LeaveGame longjmp back, but in response to new EVENT_WINDOW_CLOSED, fixing demo issues; fix compiler error in last commit 2010-02-02 07:52:03 +00:00
kreatordxx 5de468326f Hide all other windows before showing error dialog, hopefully so errors don't happen while the error dialog is there 2010-02-02 05:51:32 +00:00
kreatordxx 9fd714a083 Add EVENT_WINDOW_DEACTIVATED; move many game_flush_inputs, start_time and stop_time calls to game_handler as well as digi_pause_digi_sounds and digi_resume_digi_sounds 2010-02-02 03:38:29 +00:00
kreatordxx 5c923e864d Leave kconfig_idle early if exiting kconfig to avoid erroneous memory access; initialise menu's citem properly; add EVENT_NEWMENU_CHANGED; activate USE_IPX in Xcode while I'm still changing net_ipx.c 2010-02-01 06:55:38 +00:00
zicodxx fc6d51e19e Adding a bunch of memset's to menu/automap creations so we won't run into uninitialized variables 2010-01-31 21:51:59 +00:00
kreatordxx 408f2ffd33 Fix crashing when doing menus in multiplayer, don't let player move when in automap 2010-01-31 07:45:26 +00:00
kreatordxx e05553d802 Fix memory errors, but still dynamically allocate menu and lb so it doesn't have to stay in newmenu_do4 and newmenu_listbox1 respectively 2010-01-31 04:30:48 +00:00
zicodxx d7a139207d Fixed two memory errors inside menu GUI 2010-01-30 22:49:43 +00:00
kreatordxx 21d8d86d5b Send EVENT_KEY_COMMAND from key.c; add EVENT_NEWMENU_DRAW for state restore; place newmenu and listbox calls to callback so they can override ALL newmenu behaviour 2010-01-30 03:24:19 +00:00
zicodxx 2bcf54b77a Added real Doublebuffering to SDL-build; While on the way, making Bpp selection available for SDL-build, too 2010-01-29 21:53:17 +00:00
kreatordxx 1850ac1a09 Initialise lb->first_item to 0, not -1, preventing crash if you make a listbox selection very quickly 2010-01-29 06:36:39 +00:00
kreatordxx 50afcedda5 For multiplayer, close menus from game_handler by doing frame processing in response to EVENT_WINDOW_DRAW, replacing multi_menu_poll system with single multi_menu_check call 2010-01-29 03:36:44 +00:00
zicodxx 9c4408adb2 When deleting a player also delete the Multiplayer efficiency file 2010-01-29 00:35:20 +00:00
zicodxx d17841fbc4 Improved Object signature assignment and made sure there will be no duplicates; Also used short-ranged values only so Demo system won't screw up 2010-01-28 15:26:27 +00:00
kreatordxx 1ad4448b45 Allow user to abort close, for whatever reason (helps with my next commit) 2010-01-28 04:53:56 +00:00
kreatordxx de7574451b Tidy up newmenu_show/hide_cursor calls 2010-01-28 04:24:25 +00:00
kreatordxx 9d4e69c7a9 Make response to EVENT_WINDOW_CLOSE conform to 'handling' system - returning 1 means abort closing 2010-01-28 03:27:49 +00:00
zicodxx 04316ff79b Added a new code to properly re-record view/cockpit-events at beginning and end of Demo recording so views will be fine if switched before recording started; Also added lost sequence to record Rear-view reset between levels; Last but not least, record wall tmaps in D1X-Rebirth so opened/blasted doors will be shown correctly if opened/blasted before recording; Everything done without breaking the Demo format 2010-01-28 01:08:36 +00:00
zicodxx 51c28cc8a6 Made PlayerCfg.CockpitMode an array to hold two values: 0 to store the actual cockpit, 1 to also store Letterbox, Rear, etc. Greatly helps to switch and restore views - especially in Demo playback which now properly selects modes 2010-01-28 00:04:29 +00:00
kreatordxx 00641e9aa4 Allow escape from player listbox if appropriate; call RegisterPlayer only from main menu for more flexibility; actually use file_list block so deleting players/demos doesn't crash it 2010-01-27 09:11:47 +00:00
kreatordxx c856195678 Remove all uses of LeaveGame jmpbuf to allow more changing of main loop 2010-01-27 04:30:31 +00:00
zicodxx ca2c80ce4b Once again improving Demo Interpolation code, regarding changes from rev993, reducing Viewport flicker and jitter 2010-01-26 12:04:50 +00:00
zicodxx 8c2a404085 Rewrote code for showing Cloak-effect on Cockpit and Statusbar, because it became bugged with changed order of function calls do_cloaked_stuff() and render_gauges(); Fixed cockpit switches for Guided missile when Player is in Rear-View - the original code never considered that 2010-01-24 17:38:13 +00:00
kreatordxx b6b9cc1546 Move the editor call out of the Function_mode loop, for later overhaul 2010-01-23 14:19:21 +00:00
zicodxx e3ccb8e6cf Removed the new Demo Interpolating code and added the improvements to the old one 2010-01-20 23:28:35 +00:00
kreatordxx 7e92589332 Fix major issues with last commit - tidy up window callbacks to dodge EVENT_WINDOW_ACTIVATED where it's unnecessary or erroneous to respond to, fix compiling error 2010-01-20 11:04:09 +00:00
kreatordxx 88d1b32914 Add EVENT_WINDOW_ACTIVATED, change EVENT_DRAW to EVENT_WINDOW_DRAW and EVENT_CLOSE to EVENT_WINDOW_CLOSE 2010-01-20 05:10:32 +00:00
kreatordxx fe6d09750e Make net_ipx_show_game_rules and net_udp_show_game_rules into windows 2010-01-19 14:53:06 +00:00
kreatordxx e7c04d7d90 Make kconfig menus into windows - allowing drawing of the game screen behind, changing of item to change while question mark flashing and clicking out of item change 2010-01-18 05:53:13 +00:00
kreatordxx 633b1b0804 Respond to EVENT_NEWMENU_SELECTED for options_menuset and input_menuset, so the input menu will have THE event loop for kconfig 2010-01-17 14:42:59 +00:00
kreatordxx e52f47e741 For get_filename, put mode and find variables in a structure - fixing 64-bit problem and allowing freeing of PHYSFS file list in callback in future, respectively 2010-01-15 13:02:28 +00:00
kreatordxx b3b87fc62d Make pause box a window 2010-01-09 09:19:26 +00:00
kreatordxx b97e08dfdc Add EVENT_NEWMENU_SELECTED, allowing a newmenu/listbox selection to be handled in the callback. Demonstrate with "Select Song" menu 2010-01-08 01:55:12 +00:00
kreatordxx 6b4d952ebc Change newmenu and listbox callback systems, adding use of d_event, for greater flexibility 2010-01-07 14:49:07 +00:00
zicodxx e5cc87f4a2 New Interpolation method for demos and a small hack to fix this Interpolation if duplicate object signatures appear (mostly) 2010-01-07 00:01:36 +00:00
kreatordxx 32ce77350a Put most of the remaining globals in automap.c in the 'automap' struct 2009-12-27 12:27:44 +00:00
kreatordxx d21f7e78b9 Make listboxes into windows 2009-12-27 05:00:45 +00:00
kreatordxx d450c3e6f4 Make newmenus into windows, allowing redrawing of automap and game to take place outside of newmenu.c; remove redundant keyd_repeat 2009-12-26 01:08:57 +00:00
kreatordxx dad42489f7 Make sure the Game_wind only gets freed once when escaping demo playback 2009-12-14 13:27:05 +00:00
kreatordxx 54e376ebbe Make sure the Game_wind always gets freed when exiting the game screen, fixing flashing automap and framerate reduction after playing demos 2009-12-12 11:34:32 +00:00
kreatordxx a7d99b894c Move newmenu_get_filename to menu.c, call it get_filename and have it use newmenu_listbox1; support long demo filenames 2009-12-08 11:01:36 +00:00
kreatordxx 8d653f877e Make newmenu.c nearly identical between D1X and D2X 2009-12-05 09:48:18 +00:00
kreatordxx 7ebcf32e45 Make the automap into a 'window', make kconfig.c more similar between D1X and D2X 2009-12-02 13:49:54 +00:00
zicodxx 37b4803493 Squishing string-related bugs in Bomb display and Weapon reordering 2009-12-01 14:50:09 +00:00
zicodxx 75062a8d96 Making files in 2d directory more similar and removed unused and broken code; Fixing a bunch of memory errors; Removed stack protecting flag for gcc in debug mode 2009-11-30 22:42:55 +00:00
zicodxx 86fcdc5d81 Draw Endlevel sequence with correct DepthFunc 2009-11-30 19:11:46 +00:00
zicodxx 127af323e0 Reintroduced Newdemo_game_mode to prevent demo playback from entering code parts it should not and fixing a bug with Multiplayer demos along the way, introduced in rev. 953 2009-11-30 14:59:37 +00:00
zicodxx 6a00504d89 Adding macros USE_UDP and USE_IPX for the compiler to compile with either UDP- and/or IPX-support and removed the older IPX macros 2009-11-29 16:46:13 +00:00
zicodxx e9d4eb051e Fixed building error on Windows caused by false socket variable; Fixed compiler Warnings on Mac; Updated Mac build files; Unification in version numbering 2009-11-28 20:57:57 +00:00
kreatordxx 9192b5ede6 Fix some compile errors, including for the non-NETWORK build 2009-11-28 07:51:06 +00:00
zicodxx 242b3531fa Again making the joining safer 2009-11-25 00:26:26 +00:00
zicodxx fb08673f54 Removed timer_get_approx_seconds() and replaced with timer_get_fixed seconds since it was too inaccurate and created significant offset 2009-11-24 22:43:41 +00:00
zicodxx cf3f852095 Improved Disconnect-handling between levels; Improved Kick-handling; Do not say that IPv4 and IPv6 builds are not compatible in scons -h anymore 2009-11-24 15:20:09 +00:00
zicodxx 2c2dc3fc13 Remove the IP check when processing game info or version deny as the IP might be translated (IPv6 especially) 2009-11-24 12:12:15 +00:00
zicodxx dbf4d55839 Abstracting networking protocols - Step 4: Implemented new UDP layer with Client/Server communication, Packet Loss Prevention and strict Version checking. Netgames list will follow later. 2009-11-24 09:48:53 +00:00
zicodxx 05ff20ccfb Adding cfile.h include to get CFILE definition work again 2009-11-22 11:07:25 +00:00
kreatordxx 96d305e54c Only list resolutions that can actually be used, using new gr_check_mode 2009-11-17 14:27:39 +00:00
kreatordxx d57c2981c2 Add endian converter for demos, read shareware demos, various bugfixes to demo system 2009-11-15 08:22:08 +00:00
kreatordxx 70bbac21b7 Read big endian savegames on little endian computers and vice versa 2009-10-05 02:51:37 +00:00
kreatordxx 31413b59df Fix compile error with ai_restore_state and include necessary ogl_init.h in state.c (whoops) 2009-09-11 05:15:53 +00:00
kreatordxx 90c02b1ea3 Make state.c more similar between D1X and D2X 2009-08-22 07:21:19 +00:00
kreatordxx d7e33667bf Make the game screen into a \'window\', handling events through event_process 2009-08-10 10:47:17 +00:00
kreatordxx 16f615c6ff Make game.c more similar between D1X and D2X, making related changes to other files (\!) 2009-07-01 11:35:33 +00:00
kreatordxx af0c2db749 Split game.c into game.c, gamecntl.c and gamerend.c like d2x 2009-06-07 11:28:12 +00:00
kreatordxx 78d9b8f15f Make inferno.c more similar between D1X and D2X 2009-05-31 07:20:26 +00:00
kreatordxx 45ba0ca307 Add new window system, not used yet 2009-05-21 12:16:39 +00:00
kreatordxx d7d319624b Add option to force either Redbook or Jukebox to use the playing order for the game CD 2009-05-06 12:19:28 +00:00
kreatordxx f139dda3a6 Make some files more similar between D1X and D2X 2009-05-03 12:31:30 +00:00
kreatordxx db27b1723d Remove redundant conf.h directives 2009-04-30 13:01:31 +00:00
kreatordxx 36e6885115 Disable network support for Mac OS X for now 2009-04-30 12:30:14 +00:00
zicodxx 85b086c0ef Abstracting networking protocols - Step 3: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup - Next up: Implementing new UDP layer 2009-04-09 07:41:30 +00:00
zicodxx 0c36fecb42 Abstracting networking protocols - Step 2: Introducing new structure to hold protocol-dependend and -independend information about Netgame and it's Players; Further isolation of the IPX code and renaming the netdrv_* code to ipxdrv_* as this is now actually IPX-only; Next up: Renaming network_* functions to net_ipx_*, writing wrappers for protocol dependend functions in multi.c, Implementing protocol selection and Cleanup 2009-03-20 12:10:38 +00:00
zicodxx 0fc0fff7f1 Abstracting networking protocols - Step 1: Renaming network-related files; Removing net_ipx.h (former network.h) includes from as much files as possible to make isolation of IPX-related functions easier in Step 2; Version defines Cleanup - needed later for good Version-Checking 2009-03-04 21:04:43 +00:00
kreatordxx f149ace782 Associate the jukebox with Redbook Audio via new 'extmusic' layer - separating from MIDI and making it handle ALL music (not just game music) 2009-03-03 12:55:27 +00:00
zicodxx abf43c66f8 Small positional correction for homing-warning bitmap 2009-02-23 10:21:25 +00:00
zicodxx 80debdb4d5 Made our Cockpit-Transparency decoding function a bit safer for current and possibly new code flow 2009-02-23 10:15:23 +00:00
zicodxx 43190e625e Fixed param handling of expl_obj in do_explosion_sequence for the case that free_object_slots might have it set to OF_SHOULD_BE_DEAD before it's actually attached to another object 2009-02-22 10:53:10 +00:00
zicodxx d7a8f5ad84 Made Max_used_objects an absolute defined value; Made num_objects globally available; Restricted Weapon drops to MAX_USED_OBJECTS; When dropping Secondary weapon, drop 4-pack if possible 2009-02-17 11:34:16 +00:00
zicodxx 5618f08d2d Added list to keep trace of received PDATA packets so receiver won't interpret them several times 2009-02-15 19:03:57 +00:00
zicodxx 30590cf3b1 When creating new player, make sure string is long enough for use with players dir 2009-02-09 10:59:59 +00:00
zicodxx e6b7867b27 Removed PH_SCALE on Keyboard readings as caps movement not in sync to FrameTime; Removed scaled Joystick reading as it's not necessary anymore 2009-02-09 10:52:42 +00:00
zicodxx 4ee0b415ad Make sure HostAddr buffer is directly saved as soon as we confirm it in the entry field 2009-02-08 12:55:50 +00:00
zicodxx ecbcec78d3 Fixed connect-state mess in order of kmatrix flow 2009-02-08 12:49:27 +00:00
zicodxx 177a49ac63 Small docs update; Noloss thinking flaw correccted: Add a special type for PDATA packets that need to be ACK'd so other clients won't ACK everything 2009-02-06 09:40:00 +00:00
zicodxx 5c566411e1 Close out fire from queue list as this is not necessarily needed to keep games in sync; While processing the noloss queue, only process 5 packets max 2009-02-03 10:56:22 +00:00
zicodxx 39ce196542 Removed MULIT_POS_* hanldings as these signals are not created anymore 2009-02-02 10:56:12 +00:00
zicodxx 21d9308934 Made FPS string statically right-justified - unrelated to actual FPS string width preventing jumps 2009-02-02 09:02:29 +00:00
zicodxx 5ca2103453 Mea culpa - last revision - unwanted printf in netdrv_udp.c corrected 2009-02-02 08:52:59 +00:00
zicodxx fd8b425243 Defined some default cockpit modes in Demo mode so we do not get invalid values when demo starts in non-default-view mode (as new HUD modes are only triggered at beginning and end of event); Removed Newdemo_flying_guided global; Init seismic disturbances in demo mode just to make sure tey are switched off when coming from game mode; Made initialisation for Missile_viewer signature saving global so we can reset it for each new level and make sure we get a correct missile view; Fixed regression in Ai_last_missile_camera 2009-02-02 08:49:58 +00:00
zicodxx f84a267dd1 Added Packet-loss prevention code for Netgames 2009-01-31 23:47:15 +00:00
zicodxx be596fbbdd Fixing bug with incorrect/missing UDP port termination 2009-01-31 14:52:06 +00:00
kreatordxx cb9afb9bdf Last track is endgame track for any audio CD, endgame track not played when a level is started, jukebox/redbook works in game even if no MIDI songs 2009-01-31 06:37:43 +00:00
zicodxx b63f988d37 New level render order for better seperation and blending between transculent level geometry and sprites 2009-01-30 11:50:25 +00:00
zicodxx 94877bce5a Decreasing delay from timer_delay2 to timer_delay for sending/receiving packets when connecting to UDP host due to FPS-dependent inconsistencies in timer_delay2 causing packets possibly not received or sent frequently 2009-01-29 11:15:18 +00:00
zicodxx 6ba4be9e2b Changed function naming convention in netdrv and below to general Descent code convention 2009-01-26 05:01:18 +00:00
zicodxx 1acc8031b6 Removed some old code to smooth FrameTime we don't need anymore 2009-01-24 22:44:57 +00:00
zicodxx 21738cdd2c New condition to switch to Interpolated demo playback - the old one did NOT make ANY sense at all 2009-01-22 12:30:32 +00:00
zicodxx 3699f316cc Took out old missile tracking code to be selectable over command-line to preserve consistency 2009-01-17 11:11:07 +00:00
zicodxx e6c160ca85 Made MouseFilter selectable over Controls menu while defaulting to OFF - Saved in PLX 2009-01-17 11:02:59 +00:00
zicodxx e04250e266 Reduced size of vectorial reticle to match the size of the original one; Only scale fonts by float if Texture filtering is on - otherwise scale by int 2009-01-15 23:58:36 +00:00
zicodxx c37285c217 Fixed typo in mouse delta reading cleaning not up Z-Axis; Giving automap a nicer Frameloop; Small cleanup 2009-01-15 20:55:35 +00:00
zicodxx 007e23461e Cleaning up the mess from revision 892... 2009-01-15 01:05:31 +00:00
kiplingw 70fd9452f1 Added: Better support for non-free compiler... (patch from Damjan Cvetko <zobo@lana.krneki.org>) 2009-01-14 19:54:45 +00:00
zicodxx 6038280726 Added some randomness to collision sound delays and synced robot-player collision sprites to same steps 2009-01-13 16:53:10 +00:00
zicodxx f1544295dd Adjusted D1 Lifter collision damage according to D2 to scale with FPS as Melee combats can happen in every frame; Actually set velocity from movement when colliding with objects 2009-01-13 01:19:19 +00:00
kiplingw 3afde73ac6 Fixed: Segfault via buffer overflow when attempting to start or join a UDP/IP netgame in both d1x-rebirth and d2x-rebirth. Reproduceable on my box only in release mode and not debug... 2008-12-27 04:23:56 +00:00
kreatordxx b848edbdef Now the Mac D1X command keys work (whoops) 2008-12-24 06:09:53 +00:00
kreatordxx 7b9dc359bb Make Redbook the default for Mac, because MIDI is buggy 2008-12-23 10:05:23 +00:00
kreatordxx 33fb9fc7eb Fix Mac OS 9 compile issues, update Xcode project 2008-12-21 08:54:03 +00:00
zicodxx 2b5c8d2b77 Removed (#if 0) the unfinished Tracker stuff for our Release so it won't confuse the Win32 build 2008-12-20 11:57:03 +00:00
zicodxx 828d753668 Seperated help screens for game, netgame and demo; Also show them in Controls menu; Small Menu UI fix for ScrollOffset when calling menus in a scrolled area of a menu 2008-12-13 12:58:57 +00:00
kreatordxx 0a7a505912 Fix short_frameinfo sending code for big endian processors 2008-12-13 04:05:30 +00:00
zicodxx 73dd8e0962 Added /KillReactor command to blow up the reactor in Multiplayer games 2008-12-12 15:57:00 +00:00
zicodxx 39b54f1686 Added /KillReactor command to blow up the reactor in Multiplayer games 2008-12-12 15:53:13 +00:00
zicodxx 616ddc6c45 Changing back the use of D*X_IVER for Version checking as IVER is already too big for ubyte 2008-12-12 02:05:30 +00:00
zicodxx 53efe6c01a Cleaned a frameinfo-packet related code and introduced more of D2X - especially for short packets (which is thankfully covered by Version checking) 2008-12-12 01:36:34 +00:00
zicodxx c87b860595 Made MULTI_D1X_PROTO use D1X-IVER so no different releases can play together with Version checking enabled 2008-12-08 15:45:12 +00:00
kreatordxx f257e48ddc Get Mac command keys working, MACINTOSH code cleanup, update Xcode project 2008-12-07 12:26:43 +00:00
zicodxx 58734beacb Restored vertical_thrust_time behaviour combined with slide_on to be inverted - respecting user's wishes 2008-12-01 09:31:21 +00:00
zicodxx 8466399451 Took out the disable_new_fvi-hack. After all we do not need that specific optimisation anymore and also without it we can have more accurate collisions with non-player objects. After playtesting for a while let's just do this. 2008-11-22 00:43:59 +00:00
zicodxx c19aa8c19a Increasing Render_depth to max. if OGL build (we probably should get rid of these variables, but may still be handy for non-3D-accellerated build optimisations) 2008-11-21 16:09:41 +00:00
zicodxx c5c4870573 Do not allow to restore games while player is dead... again - to much trouble right now; Solving small display issue when fading out weapons which ran out of ammo 2008-11-21 00:12:41 +00:00
zicodxx d09569b56c Small transparency fix for robot weapons; Some timer-Failsafe in robot/boss dying frames; Fixed logical flaw in create_small_fireball_on_object() closing out sound effects on robots 2008-11-20 18:02:42 +00:00
zicodxx 58d1871199 When we reached MAX_BOSS_TELEPORT_SEGS in init_boss_segments, make sure we also escape out of the for-loop - otherwise we still might overflow 2008-11-20 02:09:01 +00:00
zicodxx 335543283e Do a songs_init() each time a song is played and try to read a new descent.sng - supporting descent.sng files in hog archives 2008-11-19 15:52:07 +00:00
zicodxx 2e5cd378d3 Actually demand ANY valid key to abort the Death sequence 2008-11-19 12:34:50 +00:00
zicodxx 8702e9517a Changed keys for Automap Viewing Distance to F9/F10 - Minus/Equal is not Layout independent 2008-11-18 14:43:30 +00:00
zicodxx 1cbb44a897 Fixed Cheats 2008-11-18 14:34:52 +00:00
zicodxx 076e466009 Yet another UNICODE overhaul - Using seperate buffer for UNICODE chars and only use it in key_ascii() while still using keysyms for the rest of the program so we do not screw up readings by key values altered by modifers - possibly still room to optimize 2008-11-17 23:38:43 +00:00
zicodxx 53a15a829a When printing Gamelog, make sure canvas is NULL 2008-11-17 23:28:59 +00:00
zicodxx be02298290 Added other SDL_(Un)LockAudio statements to protect the audio_mixcallback function - making that hopefully stable on multicores; Resetting warn_func at quit_request so we do not accidently show any menu; Open gamelog.txt unbuffered 2008-11-15 20:49:54 +00:00
zicodxx aee0198f2e Using a clean flow for closing game data at the end of main() instead of using atexit; Now only use atexit for SDL stuff, error, mem, console (and editor which we do later); Small Cleanup 2008-11-14 16:56:40 +00:00
zicodxx 9424a5be86 Small Cleanup: Using timer_delay for credits timer as timer_delay2 would respect VSync and change speed of the Credits scrolling; Cleaned that Start/Join Netgame cases up a bit; Removed the excessive use of atexit in newmenu... more to come 2008-11-09 23:51:19 +00:00
zicodxx 76002c1775 Reverting integer casts for font spacings - was for testing only - not intended to go into the last revision 2008-11-09 14:46:31 +00:00
zicodxx 15d25cc54a Always keep aspect scaling (lowest scalar of width and height) for fonts, lines, dots, spheres, reticle and non-Cockpit-/Statusbar-related HUD-elements; Moved the Cockpit alpha decoding to gauges.c and created a seperate bitmap for the alpha fields and create subbitmaps from this one - more memory but this way we do not modify the cockpit bitmap itself 2008-11-09 14:31:30 +00:00
zicodxx 87f6ecce75 Made move_towards_segment_center() use move_towards_vector() instead of just changing object position suddenly - smoother; Changed back the robot:controlcen collision back to original - the AI just relies to often on no-damage collisions, especially when our segment suddenly is a controlcen 2008-11-03 11:39:56 +00:00
zicodxx 483a981d2f I always forget glLineWidth takes previous setting if arg is <=0; Made the decodebuffer for cockpit static as the bitmap data pointer points to it 2008-11-01 15:40:00 +00:00
zicodxx 4b0041d815 Fixed possible overflows in Jukebox Path; Menu GUI improvements: Correct inputbox scaling for font widths, a little performance boost when determinating string-part to show in inputbox, make it possible to flip over from first/last menu entry to last/first even if it's a ScrollBox, Scrolling via Maousebutton now works with delay; Made reading for Piggy data always break up in loops when reached end of file instead of provoking possible error if *data-count < max-data-count* 2008-11-01 01:19:52 +00:00
zicodxx ab0524f95b Always use printable UNICODE characters for the key_handler and included routine to assign key symbols to UNICODE so we get an equivalent of a Key-Released state which we need for the Keyboard buffer; Removed the shifted_ascii_value field from key_props and stored all usable characters in seperate rows; Improves Text input and makes keyboard mapping independent from keyboard layout without breaking any compability 2008-10-31 16:57:36 +00:00
zicodxx 85b303e5e1 Add a messagebox informing to restart the game if either VSync or 4x Multisampling has been (de)selected 2008-10-30 15:00:32 +00:00
zicodxx d53a475a58 Show debug help screen options in release build as well as some might be actually useful for players 2008-10-30 10:45:13 +00:00
zicodxx a23ee70d37 Cast LINE_SPACING to integer for menu Scrollbox usages - fixing scrolling issues with non-integer-scaled font sizes 2008-10-29 11:50:15 +00:00
zicodxx cf147bcd4c Scale fonts by float values and filter them if texture filtering is on; Another fix for the code flow in change_res() as the check for minimal custom resolution always failed 2008-10-29 11:03:31 +00:00
zicodxx 7e1141a881 Cleanup: Renderstats; Made PRShot a non-OpenGL-related feature and added to Misc Options; Added command for SDL_ASYNCBLIT to command-line args 2008-10-28 17:04:35 +00:00
zicodxx 7d91cc91f8 Fixes for my last revisions: More reliable check for cockpit_decode_alpha, more reliable check is newmenu sub-bitmap needs to be re-created, call gr_set_mode() in change_res() with correct Game_screen_mode 2008-10-28 15:32:12 +00:00
zicodxx 92cec5ced3 Removed hack for Cockpit-window transparencies and added function to decode and add alpha to the bitmap directly (now works in non-OGL as well); Using sub-bitmaps for Cockpit-windows and menu backgrounds; Cleaned old bkg stuff from menu GUI 2008-10-28 13:28:10 +00:00
zicodxx a7cc0c79ec Fixed handling for multi_quit_game; Always keep setting -1 for ping table entry of current player so just not to use any previous entry 2008-10-23 09:17:54 +00:00
zicodxx a26e5e3284 Removing reset of Game_screen_mode while change_res Fullscreen toggle (wtf is the point?); Adding a third valid state for UDP peers so we can get more order in handshaking process - should fix problem when two clients join (and shake) simultaniously 2008-10-22 15:31:24 +00:00
kreatordxx b2fbaf7829 Fix some gcc 4.0 warnings (-wall flag) 2008-10-21 11:38:03 +00:00
zicodxx c09620f160 Readded -ip_hostaddr optional to the value stored in descent.cfg for automated program starts or whatever; Fix by Locate: Correctly close UDP sockets on Win32; Fix by Locate: Ability to select Secret levels on Multiplayer in D1X again which was broken in r619 2008-10-20 12:34:45 +00:00
zicodxx d5da444a40 resolution 1440x960 to 1440x900 - typo 2008-10-20 11:11:56 +00:00
zicodxx 69c66b9afb Setting Fullscreen toggle setting the GameCfg value at each change, not only in change_res(); Do not allow the toggle while playing since ALT-GR+ENTER could be used as game-keys; Reorganized Resolutions menu to automatically calculate aspect ratio for preset resolutions and making custom fields exclusive 2008-10-19 12:53:30 +00:00
zicodxx 03e026756e Giving credits function ability to use custom creditfile (again); Made laser-offset for laser exclusive so Prox mines won't go tru doors; Preventing cycling tru cockpit modes while dead, but allowing to load a state; Implemented D2X' lighting code to D1X (faster, better, sexier - weeee); Try to hop over some errors regarding walls/doors in levels instead of using -1 indexes for arrays; Made the briefing text ptr a bit more failsafe in case the file is corrupt/non-standard; Made scores use the menu screen even in GAME OVER; Fixed bug in neighbour fields of Weapon Keys table; Added the Weapon Keys stuff to TABLE_CREATION; Fixed bug where D2X did not recall applied resolution in the resolutions menu; Simpler check to create DEMO_DIR; Seperated X/Y sensitivity for mouse and joystick; Flush controls when Automap toggles so keypress won't deactivate it again; Made FrameCount in Demos aligned to the Dropframe condition; Added KEy to ttoggle playback text off; Gracefully exit demo code if demo is corrupt; Removed that new percent counter because many old demos seem to have corrupted last frames; Closing endlevel data file if IFF error so the mission still can be freed; Fixed Cruising for keyboard which was not aligned to FPS correctly; Used mouse delta scaling in kconfig.c instead of mouse.c to not screw up when delta is requested in non-ingame situations - it actually belongs to the controls IMHO; Now support up to 8 joysticks; Changed some leftover malloc's to d_malloc and free to d_free 2008-10-16 17:27:02 +00:00
kreatordxx be4910621e Page in overriding robot textures, like D2X-Rebirth 2008-10-04 11:56:03 +00:00
zicodxx 2043c19d60 Update object segment after object position interpolation. This is always done in DEBUG, but not in RELEASE, where further movement would break at segment check 2008-10-01 11:53:27 +00:00
zicodxx 6054bf7e90 Added new function to calculate common timesteps; Increased MAXIMUM_FPS to 200 for release and 1000 for debug; Used fixed sim_time for do_physics_sim and Interpolating to ensure collisions stay accurate at high FPS; New code and faster code for dot products by The_Lion; Disabled Nice-FPS and common Frame-Loop if VSync is active; More accurate delta timer for mouse (consider overhead); Added SDL_(Un)LockAudio for old SDL Audio interface; General support for up to 16 mouse buttons; Code cleanup; Made some AI movement and Player shaking FPS-independent 2008-09-30 00:18:39 +00:00
zicodxx 63d2c4a2cf Added new function to calculate common timesteps; Increased MAXIMUM_FPS to 200 for release and 1000 for debug; Used fixed sim_time for do_physics_sim and Interpolating to ensure collisions stay accurate at high FPS; New code and faster code for dot products by The_Lion; Disabled Nice-FPS and common Frame-Loop if VSync is active; More accurate delta timer for mouse (consider overhead); Added SDL_(Un)LockAudio for old SDL Audio interface; General support for up to 16 mouse buttons; Code cleanup; Made some AI movement and Player shaking FPS-independent 2008-09-30 00:07:07 +00:00
kiplingw 75227cf100 Added: Some notes regarding the warning raised in main/newdemo.c...
Fixed: Warning in 2d/pcx.c...
2008-07-27 22:12:19 +00:00
kiplingw 4328ddcb05 Added: Mostly stubbed out test code for game tracker server stuff...
Fixed: Cleaned up some GUI macro code in menu.c...
Updated: CHANGELOG.txt for end user level changes...
SConstruct: Cleaned up build system a bit with prettier build messages, added a feature or two, and included tracker source
Fixed: Fixed harmless warnings on no new line at end of some source files...
2008-07-26 17:57:13 +00:00
kreatordxx 5c7b49b0ef Make network endian code more consistent between DXX's, use PUT/GET_INTEL macros more, remove redundant no_cpp_precomp macro 2008-07-26 06:14:31 +00:00
zicodxx e54992a974 Fixed IPX default socket (typo); Using function pointer for IPX-based sockets instead of globals 2008-07-19 22:28:31 +00:00
kreatordxx 0866c3c66c Add BALDGUY cheat for Mac data (see if anyone finds it ;-) ) 2008-07-15 12:50:27 +00:00
kreatordxx ce914f552e No using chdir for Mac OS 9 - it doesn't have it 2008-07-01 11:22:36 +00:00
kreatordxx e539cdc14b Make sure the right audio CD track is played when starting a level 2008-07-01 11:18:37 +00:00
kreatordxx 566efbd634 make sure it knows whether an audio CD just inserted is the official one 2008-06-17 13:41:29 +00:00
kreatordxx 16cfedcccd tidy up music keys, ALT-SHIFT-F9 ejects audio CDs 2008-06-15 08:50:05 +00:00
zicodxx b20c810d1d Fixed scores write (wasn't PhysFS); Fixed PLAYING_BUILTING_MISSION in D1X; Better call for DoJasonInterpolate in demo code (hopefully) 2008-06-14 23:29:39 +00:00
zicodxx a36ee745bd Improved Player relay for Endlevel status; Fixed leaving when UDP hosts leaves; Fixed multi_frame_calling while demos since demos can be Game_mode & GM_MULTI; Re-added lost collision fix between robots and reactor; Made state_defaut_item static so selected state slot stays selected 2008-06-11 21:18:50 +00:00
zicodxx 26502298d9 Generally increasing Menu rendering from 20 to 50 FPS; Allowed Fullscreen toggle in Pause menu and correctly releasing mouse; Fixed broken Death sequence timer; Fixed incorrect data offset for UDP player relay; Fixed crash in Multiplayer summary; Reworked player loading a little bit, making sure kconfig controls are all set; Some small Status bar correction; Implemented real Pause/Reume for Jukebox via SDL_mixer 2008-06-04 19:30:43 +00:00
zicodxx eb26c2bb7f Added d1xrdata.zip for custom data 2008-06-01 22:22:34 +00:00
zicodxx 885074607c Using Windows code to play HMP files on Windows build; Fixed Jukebox keys in help screen; Allow -noredundancy in Singleplayer; Fixed processing of Console keys if Console is not active; Added Multiplayer hints to README; Made INI wrapping safer and more accurate 2008-06-01 12:53:03 +00:00
kreatordxx decaf3cc6d allow an audio CD to be played if it's inserted after DXX is launched, hopefully find the first audio CD if multiple CDs are inserted 2008-05-28 10:38:30 +00:00
zicodxx a9057c7c06 Set sound distance to 0 for HUD sound taunts; Making Jukebox not crash if -nosound is enabled (should stop Jukebox since no digi system enabled); Lowered mouse axis speed a bit again; Increasing MAX_VECS to 5000 2008-05-25 08:19:31 +00:00
kreatordxx 565ea29e05 Add audio CD support to D1X, fix associated bugs 2008-05-24 08:59:35 +00:00
zicodxx cf5deacfe8 Added a new set of preset resolutions 2008-05-21 21:50:14 +00:00
zicodxx d6e16c54d4 Make Screenshots over backbuffer; Implmented filtered mouse delta reading 2008-05-21 13:58:27 +00:00
zicodxx 9af74225ed Decreasing divisor for mouse axis reading - making mouse sensitivity practically much higher 2008-05-19 21:58:49 +00:00
zicodxx 2de6240191 Added -nomusic ability for SDL_mixer API; Added -gl_fontfixwidth to scale fonts with fixed aspect on widescreen resolutions, scaled to height 2008-05-19 19:28:27 +00:00
zicodxx a19e0df98a Added support for another egistered D1 HOG with different patching order... damn you PARALLAX 2008-05-19 12:45:33 +00:00
zicodxx 183eab2914 Reworked keys for song changing a bit; Added Song control keys to help menu 2008-05-18 13:20:06 +00:00
kreatordxx fa16bbc0f2 set Jukebox as the default jukebox path, for Mac OS 9 look for dxx.ini outside the app bundle 2008-05-18 07:13:07 +00:00
kreatordxx 3aa8f5ece7 remember the last IP address entered for UDP instead of parsing -ip_hostaddr 2008-05-16 11:39:27 +00:00
kreatordxx dfdea820dc fix remaining endian bugs in network code, now it works on the Mac 2008-05-16 11:20:33 +00:00
kreatordxx 40fe9adf4c use atoi instead of sscanf for plx reading, so the setting for showing the reticle is read properly on big endian computers 2008-05-10 10:46:34 +00:00
zicodxx 519e3dacb2 Some code improvements and small fixes 2008-05-08 18:29:52 +00:00
zicodxx a356b4351d Return unicode characters in key_to_ascii for non-EN keyboard layouts; Fixed sound menu issue if not compiled with SDL_mixer; switched -ip_norelay to -ip_relay since it's not tested enough; Renamed jukebox_free() to jukebox_unload() to stay with naming-convention 2008-05-07 14:11:30 +00:00
zicodxx 91e2934ca1 Return unicode characters in key_to_ascii for non-EN keyboard layouts; Fixed sound menu issue if not compiled with SDL_mixer; switched -ip_norelay to -ip_relay since it's not tested enough; Renamed jukebox_free() to jukebox_unload() to stay with naming-convention 2008-05-07 14:02:01 +00:00
zicodxx 039b8b551e Extended Jukebox capabilities for looping and continous playing and added jukebox_free() which allows calling jukebox_load() being able to load a new directory; Added Jukebox options to sound options menu; Removed loop hack for Windows MIDI playback; SDL_mixer implementation can now be used for Windows build as well 2008-05-01 21:40:34 +00:00
kreatordxx 1d28080640 make sure it doesn't try to write to gamelog.txt after it's closed 2008-04-27 05:06:30 +00:00
kreatordxx 27e288b21d get it to work for Mac OS 9 2008-04-24 14:27:54 +00:00
zicodxx ec70ae0413 Added function gr_set_attributes to change Options like Texture Filtering and SDL_GL attributes while runtime (if supported); Added 4x Multisample support 2008-04-22 08:29:29 +00:00
zicodxx 949e22e0af Hack to force DOS-style newlines for _WIN32 in gamelog.txt 2008-04-21 23:03:18 +00:00
zicodxx 96ed7fa827 Reworked timer_delay2() and calc_frame_time() to be more accurate and CPU-friendly; -nicefps replayced by -nonicefps to disable sleeping for calc_frame_time; Implemented VSync via SDL; Fixed compilation issues; Code cleanup 2008-04-21 18:39:49 +00:00
zicodxx a40b362ced Made joy_flush also resetting button state; Improved glReticle; Implemented Fallback resolution if SDL may fail; Code cleanup 2008-04-19 19:11:32 +00:00
kreatordxx 35987e8a3d fix network bug where it got confused about the Function_mode and gave up 2008-04-14 12:16:53 +00:00
zicodxx 95d1e5f847 Fixing collision bugs; Cleaning hudmsg.h; Solving death sequence timer without GameTime and removed another global 2008-04-13 13:52:58 +00:00
zicodxx 3192ab5b54 Fixing collision bugs; Cleaning hudmsg.h; Solving death sequence timer without GameTime and removed another global 2008-04-13 13:14:19 +00:00
zicodxx d3aca2140d Reverted homers turn_radius again to respect higher difficulty levels; Added PRShot to menus; Fixed typo in OglAlphaEffects saving 2008-04-13 10:59:10 +00:00
zicodxx 24d1cf52f6 Added structure for values saved in PLR/PLX files; Added most common command-line options to options menu 2008-04-13 00:28:36 +00:00
kreatordxx 39a68c665b show a messagebox if there's an error and graphics are initialised, update Xcode project 2008-04-08 12:51:21 +00:00
zicodxx a172315d4a Implemented Console-style game logging system to print graphics, to stdout and gamelog.txt; Added structure to keep values for descent.cfg; Added aspect and Texture Filtering to descent.cfg; Removed mono code - printing important stuff over console; Removed some obsolete or very common defines; Code cleanup and small fixes 2008-04-06 20:23:28 +00:00
kreatordxx e31a0c8dfc fix up the Mac D1 data automap layout 2008-04-02 12:13:21 +00:00
kreatordxx ea5e30823c fix divide by 0 bug when there is no music available 2008-03-31 09:19:08 +00:00
kreatordxx 8762451252 add support for Mac D1 demo sounds 2008-03-30 01:37:05 +00:00
kreatordxx f979c1e482 add support for Mac D1 sounds (converted to RAW format), update Xcode project 2008-03-27 10:43:35 +00:00
zicodxx 5b30bcd4dc Added definitions for OpenGL fucntions which might not be included in system headers; Use more HiRes content from dxx.zip; Removed briefings palette hacks; Menu right border shadow was too wide; Corrected reading for some PLX content which seemed not to work on all archs 2008-03-25 12:25:19 +00:00
zicodxx 70973d6a5d Implemented D2X code for wepaon cycling and reordering; Added lock status for mouse axis weapon cycling because of scaled mouse delta; Due to player feedback (any my opinion) making homer turn rate smaller to make them a bit harder to dodge; Preventing write of player data while Demo playback; Small code cleanup and corrections 2008-03-23 13:03:26 +00:00
kreatordxx 6aa3819282 detect the number of songs actually available if no descent.sng file (max 22) 2008-03-23 08:42:24 +00:00
kreatordxx 141bd94cf2 scale Mac fonts correctly 2008-03-22 08:30:23 +00:00
zicodxx f014231a78 Simplification of palette code; Properly screen clearing in SDL-only build when palette changes; Removed obsolete functions like gr_update (replaced by gr_flip), gr_palette_fade_in/out, gr_palette_clear; Added functionality to render Automap while menu display as well; Improved blocking of some controls code while Automap active; Fixed some compiler warnings 2008-03-20 23:23:46 +00:00
kreatordxx 032018ccc4 add support for Mac pigfile (which doesn't include sounds yet) 2008-03-16 08:11:08 +00:00
kreatordxx d21385cede add prototype for show_game_stats to remove warning 2008-03-14 11:22:40 +00:00
kreatordxx 7ca570a8b6 fix potential bug where show_reticle parameters mismatch 2008-03-14 11:15:46 +00:00
zicodxx ae5975c7a0 Handle Multi message input before HandleDeathKey to chat while dead 2008-03-08 22:47:49 +00:00
zicodxx 2196bdae0d Fixed some memory issues; Fixed some HUD element alignment; Only send NetDrv packets if NetDrvInstalled is true; Fixed demo glitches; Actually using Game_mode in demos to make Newdemo_game_mode hacking obsolete 2008-03-08 22:37:09 +00:00
zicodxx 02cb47e7c1 Fixed wrong font width spacing, -gl_prshot, mission loading, null-terminatinon in several menus, cockpit glitch; Improved gl_reticle, -noredundancy; Some code cleanup 2008-02-27 22:05:58 +00:00
zicodxx 453d0b6045 Fixed error in writing PLR-file since PHYSFS_close returns non-zero in success instead of zero like fclose 2008-02-24 15:17:33 +00:00
zicodxx 8eb5c965d2 Reworked fonts routines - makes easier to expand and scale correctly; Reworked menus with better border scaling, improved rendering and cleanups; Improved font priniting ingame, better alignment; Reworked Netgame list; Real Doublebuffering in SDL-mode; Removed old and unused sources 2008-02-24 14:41:27 +00:00
kreatordxx ac0eb80b0f make sure the right error message is shown if it can't open a demo 2008-02-24 06:37:34 +00:00
kreatordxx c356ebcf69 add support for Macintosh splash screens and menu backgrounds in descent.hog, but not fonts (yet) 2008-02-21 10:32:34 +00:00
kreatordxx 0840866baa get SDL Video build to work again 2008-02-17 01:40:49 +00:00
kreatordxx 61d5599aac fix undefined function warning with piggy_read_sounds (whoops) 2008-02-13 09:43:00 +00:00
kreatordxx 99b00be282 make sure a briefing isn't interpreted as an endlevel sequence file, preventing an in-game warning 2008-02-12 12:27:05 +00:00
kreatordxx 3a188fa14d support PC shareware files in full version build, make game data loading code easier to follow 2008-02-11 12:12:57 +00:00
zicodxx 8d025c7aef Renaming udp.* to netdrv_udp.* to fit naming convention; Small menu ui fixes 2008-01-29 15:57:59 +00:00
zicodxx fe98538b2b Cleanung up arch/ a little bit; Added mouse delta time interval for more more accurate reading at high FPS 2008-01-29 14:49:54 +00:00
zicodxx b54bdcba5b Fixed small compiling issues 2008-01-25 12:50:23 +00:00
zicodxx f6b24b16d4 Updated Docs - Data files mus bt lowercase; Fixed small Multiplayer issues 2008-01-24 22:26:43 +00:00
zicodxx d9e23370f9 Implemented PhysFS support; Implemended D2X memory functions; Code cleanups 2008-01-23 17:25:09 +00:00
kreatordxx da7fd57332 merge loadrl2.c into gamemine.c and gamesave.c 2008-01-19 01:13:47 +00:00
zicodxx 7c38557284 Removed SDL Gammaramp code (obsolete); Improvements on Demo code 2008-01-13 13:27:58 +00:00
kreatordxx 0837b91f53 complete bigendian support, without touching network code 2008-01-13 00:58:49 +00:00
kreatordxx 8e729c7e86 fix typo causing compiler error on bigendian computers 2008-01-13 00:36:04 +00:00
zicodxx a18d40f312 Safe timer rollover in menu idle-demo function; Reintroduced menu shortcuts; Implemented support for menu scrolling if nitems > 15 2008-01-08 21:02:06 +00:00
zicodxx 091526789e Added BigEndian-related multiplayer/network code (unfinished); Re-Added IPX Socket option to Host menu for IPX games; Removed ForceVersionCheck global - conditions with driver->type; Merged netmisc.* and netpkt.*; Handling host disconnect for UDP games in network.c 2008-01-08 16:33:19 +00:00
kreatordxx 2ac1559a8b get D1X to build for Mac OS X, conditionals for Mac OS 9 2008-01-03 10:31:02 +00:00
zicodxx 96cc6e1006 Cleaned/Rewritten/Renamed lower level network layer to make it (look) less IPX-oriented 2008-01-02 15:36:51 +00:00
kreatordxx 588d1b000a rename types.h to pstypes.h to avoid name conflict with Mac OS 9's MrC (it doesn't respect the difference between project and system headers) 2008-01-02 03:37:13 +00:00
zicodxx 285da809a8 Code cleanup - old/unused/obsolete multiplayer code and more 2007-12-29 14:18:49 +00:00
zicodxx aa93a2ca45 Fixed compiler error because of removed header file; Removed struct network_d1xplayer_info - obsolete; Allocated memory for all sequence_packet's; Moved piggy_close() and sdl_close() to end of main() - replacing atexit; Rendering credits with timer_delay2 at constant 25FPS and save CPU; Fixed -playermessages 2007-12-23 00:51:27 +00:00
zicodxx d6c708c111 Implemented new UDP/IP interface with Server-Relay (for firewalled users) and IPv6 compability; Fixed memory issues; If arguments -gl_mipmap and -gl_trilinear used both, always select -gl_trilinear 2007-12-17 22:45:45 +00:00
zicodxx bb9d98a0b8 Fixed new redundancy HUD messages check - made it more strictly 2007-11-23 23:04:08 +00:00
zicodxx c298eb4351 Fixed some memory problems; Adjusted timer_delay2 for robot briefings 2007-11-23 21:14:57 +00:00
zicodxx 17c16bfc5b Introduced timer_delay2 as replacement for timer_delay to sleep according to given FPS rate considering calc time between frames 2007-11-21 12:46:09 +00:00
zicodxx 827f0d5fd1 Correctly saving Reverse Stereo setting; Added Demo playback help keys; aligned Demo recording to 20 frames per second to save lots of hard drive space 2007-11-06 20:33:22 +00:00
zicodxx 8387358ec8 Data types correction 2007-11-01 18:49:28 +00:00
zicodxx e60fadff94 Implemented Hack for broken descent.sng produced by patching descent.hog v1.0 to v1.5 2007-10-31 19:10:19 +00:00
zicodxx 4f399bbfea Improvements for -gl_prshot; Improved show_netgame_info(); Removed obsolete multisave code; Removed mekh stuff and wide cleanings in whole multi code; Incremented MULTI_PROTO_D1X_VER (for version checks in the future if needed); Renamed 'D1X-only game' to 'Version Check' 2007-10-31 00:49:24 +00:00
zicodxx e673043edc Memory stuff 2007-10-29 21:40:49 +00:00
zicodxx 4f2d23bb95 For HUD messages redundancy check, compare all messages and check if message already printed and is a typical 'ALREADY HAVE' message - waste them if so 2007-10-28 21:37:08 +00:00
zicodxx 6e3a0310d7 For HUD messages redundancy check, compare all messages and check if message already printed and is a typical 'ALREADY HAVE' message - waste them if so 2007-10-28 21:34:20 +00:00
zicodxx 9d1a374447 Fixed problems with GameTime wraparound - delay sounds, cloak, invulnerability, ping; Added debug key to Reset GameTime for testing; Removed -gl_vidmem; Cheat-code cleanup; Some HUD message redundancy 2007-10-28 20:14:25 +00:00
zicodxx 60e30cb40a Small fixes; Code cleanup; Implemented PR-Screenshot feature 2007-10-18 14:44:02 +00:00
zicodxx 51a1c79a73 Reworked Pause-screen 2007-10-14 16:25:55 +00:00
zicodxx bf2e42d2b0 Set SOUND_BUFFER_SIZE for SDL_mixer to 1024 to minimize delay; Removed MIDI-existance check and store all music to Music/ subdirectory of writedir - keeps clean if user has tons of levels; Added SDL_mixer command-line help output; Implemented new way to read command-line args; Stored MAXIMUM_FPS in game.h - where it belongs to 2007-10-13 23:49:07 +00:00
zicodxx 1cb335432c Fixed some command-line options 2007-10-12 14:21:21 +00:00