Commit graph

643 commits

Author SHA1 Message Date
zicodxx 2563d73389 Ignore case-sensitivity for cfile_init/close/size and PHYSFSX_openReadBuffered; Give error message if default sound file cannot be opened so user knows what's going on 2010-03-26 21:17:56 +00:00
kreatordxx 95d7c4491d 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 19ad0ace53 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 73ba0a078f Make sure got_z is not reset to 0 for Descent 1 missions - fixing crash, also make sure briefing hum is not played through more than one channel 2010-03-25 03:08:01 +00:00
kreatordxx dec98a025e Only show briefing background if we have one, fixing arithmetic crash with SDL Video build 2010-03-24 13:59:42 +00:00
kreatordxx 037bbd8786 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 40c735e20e Fix error introduced with credits, make title screen a window. Only the editor left now... 2010-03-22 04:44:35 +00:00
kreatordxx 247943fa11 Make credits screen a window 2010-03-22 03:31:02 +00:00
kreatordxx 98aa279527 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 d9262cb4b6 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 6ca05c2dce Make kmatrixs into windows, rename Fuelcen_seconds_left to Countdown_seconds_left for consistency 2010-03-20 13:21:53 +00:00
kreatordxx 7b478e9853 Make all listboxes fall back to main event loop for flexibility 2010-03-18 07:02:38 +00:00
kreatordxx 0fe66266fc Make briefing into a window, allowing more flexibility with other windows and tidying code up 2010-03-18 04:31:47 +00:00
kreatordxx 310b265e3f Show intro movie properly when idle in main menu, including subtitles if on 2010-03-18 02:49:02 +00:00
kreatordxx 9e6815c51b Make fullscreen movies into windows, maintain performance of robot briefing movies with necessary move of gr_flip 2010-03-17 09:44:19 +00:00
kreatordxx 59a10f14d6 Fix memory error for listbox when clicking in the region where there are no items 2010-03-14 01:54:34 +00:00
kreatordxx 3b91da551b 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 62e4bd1f6c 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 866fe8e387 Change audio buffer size back to 1024 for Mac only - fixing crackly music 2010-03-09 03:08:00 +00:00
kreatordxx a29874493f Put briefing globals in 'briefing' struct, pass this by parameter 2010-03-09 02:41:34 +00:00
zicodxx bade5d93d9 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 ef445e0b0e Adding scons to depends-list for Debian packaging 2010-03-04 14:52:53 +00:00
zicodxx a3e499c141 Changed default Audio-buffer size to 2048 bytes. Should prevent crackly playback on some systems 2010-03-03 21:27:48 +00:00
kreatordxx 2b90001487 Make titles.c more similar between D1X and D2X 2010-03-01 07:27:51 +00:00
kreatordxx 5163fd97d6 No more crashing if an invalid Jukebox path is entered - default to MIDI 2010-02-27 13:05:34 +00:00
kreatordxx dce43a654d Actually change to MIDI if Jukebox was selected 2010-02-27 12:50:30 +00:00
kreatordxx 746832e8ab 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 504bf67445 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 1f479a756c 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 726bd6ee20 Move call to callback outside of loop in key_handler, now deleting a second demo using CTRL-D actually works 2010-02-25 04:27:15 +00:00
kreatordxx d1254c8222 Put fast save back, using Alt-F1 instead of F6 2010-02-25 03:08:10 +00:00
zicodxx 76b4afea52 Due to the change of GameCfg.ControlType, Mouselook was broken - fixed 2010-02-23 23:23:21 +00:00
zicodxx 496e26a45f Updated docs and hopefully made them more user-friendly 2010-02-23 19:58:19 +00:00
zicodxx 7816fa03ab 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 7e83a3532e 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 64af50c05a 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 b9422063ab Removing svnmicro as micro numbering option since SVN-revisions will not really represent logical numbering; Some cleaning for libs usage; Small cleanup 2010-02-23 01:21:55 +00:00
zicodxx 62455c2a9b Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays 2010-02-21 01:25:27 +00:00
zicodxx 2f9916c46b 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 9ac473335f 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 7a174eec94 Added another bunch of macros to fix sound initialisation for Movies when program is compiled without SDL_mixer 2010-02-15 17:53:47 +00:00
zicodxx 5afebdf580 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 66dfa869b1 Write gamelog.txt buffered so it will not stress the medium it's saved on 2010-02-08 14:28:12 +00:00
zicodxx 6ecba78025 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 f687fc9bd0 Don't send an EVENT_WINDOW_DEACTIVATED when closing a window if it wasn't the front window, now the game works properly after you're shown on the high scores 2010-02-08 06:08:55 +00:00
kreatordxx 13c192eb3f Don't make another Game_wind when advancing a level, fixing failed asserts / slow turning 2010-02-08 05:34:43 +00:00
kreatordxx 8a4602a3f6 Split select_filename into [existing] RegisterPlayer and select_demo for better clarity 2010-02-07 12:10:52 +00:00
kreatordxx 210ea6ad5f 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 ff1c8547f3 Make the scores menu into a window 2010-02-07 06:00:10 +00:00
kreatordxx afa0d75fb6 Create the main event loop and use it for the game and main menu 2010-02-07 04:34:21 +00:00
kreatordxx f8dd214654 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 55a6e7f97e Set the correct scroll position for the listbox when it's shown 2010-02-06 01:41:38 +00:00
kreatordxx f730b25932 Reset last_palette_loaded in nm_draw_background1 as before, it's needed for using the right palette when advancing a level 2010-02-06 01:19:40 +00:00
zicodxx 32259f33a3 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 5adb2fb3fb Send EVENT_WINDOW_DEACTIVATE before EVENT_WINDOW_ACTIVATE, ensuring cursor remains shown when appropriate 2010-02-05 14:05:57 +00:00
kreatordxx 35f0aa14f7 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 9d7bce257c 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 98d5b76928 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 0f6def2613 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 eb92f445ca 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 35584d725b 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 90e4b4ed95 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 ff04fd682e Fix crashing when doing menus in multiplayer, don't let player move when in automap 2010-01-31 07:45:26 +00:00
kreatordxx dab9a9f5a6 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 6cbf0ca110 Fixed two memory errors inside menu GUI 2010-01-30 22:49:43 +00:00
kreatordxx 5ac8cf2b2d 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 e46606821f 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 b2db38be4c 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 f83741d89f 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 1e6251a6ee Resetting DemoDoLeft/Right correctly at start of each demo 2010-01-29 00:30:54 +00:00
zicodxx 61e67d9fe9 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 5d3ea4051f Allow user to abort close, for whatever reason (helps with my next commit) 2010-01-28 04:53:56 +00:00
kreatordxx f6c32d7518 Tidy up newmenu_show/hide_cursor calls 2010-01-28 04:24:25 +00:00
kreatordxx 3f90a9cb41 Make response to EVENT_WINDOW_CLOSE conform to 'handling' system - returning 1 means abort closing 2010-01-28 03:27:49 +00:00
zicodxx 27b9a8c2a2 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 3d9791ca69 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 71c656200b 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 3a116769be Remove all uses of LeaveGame jmpbuf to allow more changing of main loop 2010-01-27 04:30:31 +00:00
zicodxx 422c745cfa Once again improving Demo Interpolation code, regarding changes from rev993, reducing Viewport flicker and jitter 2010-01-26 12:04:50 +00:00
zicodxx 2a6c9d0dbd 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 b552ba900d Move the editor call out of the Function_mode loop, for later overhaul 2010-01-23 14:19:21 +00:00
zicodxx 5eaf164d72 Removed the new Demo Interpolating code and added the improvements to the old one 2010-01-20 23:28:35 +00:00
kreatordxx 62a9214bc3 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 c50b954c00 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 fc84dd37b2 Make net_ipx_show_game_rules and net_udp_show_game_rules into windows 2010-01-19 14:53:06 +00:00
kreatordxx 69305fb7f2 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 fc32bff5bc 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 3d41df6447 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 c6cbb6b9f8 Make pause box a window 2010-01-09 09:19:26 +00:00
kreatordxx d7d5a8cd20 Make escort menu a window, now the game is drawn behind it 2010-01-09 01:56:38 +00:00
kreatordxx 624ae0b6d0 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 b6452e75b7 Change newmenu and listbox callback systems, adding use of d_event, for greater flexibility 2010-01-07 14:49:07 +00:00
zicodxx 7653e8ee12 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 2505f63f2b Put most of the remaining globals in automap.c in the 'automap' struct 2009-12-27 12:27:44 +00:00
kreatordxx f0fa1c81d9 Make listboxes into windows 2009-12-27 05:00:45 +00:00
kreatordxx b835361586 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 dcc375c5dd Make sure the Game_wind only gets freed once when escaping demo playback 2009-12-14 13:27:05 +00:00
kreatordxx 55f2419a09 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
zicodxx a87ae8a672 Fixing possible string overflow while using KALI_PROCESS_NAME 2009-12-11 10:13:27 +00:00
kreatordxx 19806aa7ec 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
zicodxx 7449e5bac7 Removing old use of variable already_showing_info which was removed from newmenu code 2009-12-07 14:58:59 +00:00
kreatordxx 992648620c Make newmenu.c nearly identical between D1X and D2X 2009-12-05 09:48:18 +00:00
kreatordxx 8f9d869452 Make the automap into a 'window', make kconfig.c more similar between D1X and D2X 2009-12-02 13:49:54 +00:00
zicodxx c72e86eeff Renaming FSCALE to FIXSCALE preventing possible naming conflicts 2009-12-01 16:45:40 +00:00
zicodxx 4a6b3f2b8b Squishing string-related bugs in Bomb display and Weapon reordering 2009-12-01 14:50:09 +00:00
zicodxx f782692332 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 621844e3f3 Draw Endlevel sequence with correct DepthFunc 2009-11-30 19:11:46 +00:00
zicodxx 01972042d6 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
kreatordxx 230989108a Update to not compile redundant net_ipx.c for Mac OS X 2009-11-30 13:04:58 +00:00
zicodxx 62b75469dd 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
kreatordxx 63147eda7d Make Mac version numbers consistent, Xcode build settings tidy up 2009-11-29 06:02:45 +00:00
zicodxx 6b6b66af0c 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
zicodxx 0d4a53766e Again making the joining safer 2009-11-25 00:26:26 +00:00
zicodxx 53c19912fa 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 1ec38c1503 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 34019d6414 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 febe5d124d 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
kreatordxx 57c71476fc Only list resolutions that can actually be used, using new gr_check_mode 2009-11-17 14:27:39 +00:00
kreatordxx 00347f0bcb Add endian converter for demos, read shareware demos, various bugfixes to demo system 2009-11-15 08:22:08 +00:00
kreatordxx 4a00fdf805 Read big endian savegames on little endian computers and vice versa 2009-10-05 02:51:37 +00:00
kreatordxx 64ff080a66 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 f9e89df131 Make state.c more similar between D1X and D2X 2009-08-22 07:21:19 +00:00
kreatordxx ceb4ff38fc Make the game screen into a \'window\', handling events through event_process 2009-08-10 10:47:17 +00:00
kreatordxx dd8f679724 Make game.c more similar between D1X and D2X, making related changes to other files (\!) 2009-07-01 11:35:33 +00:00
kreatordxx 532bdc3a2f Make inferno.c more similar between D1X and D2X 2009-05-31 07:20:26 +00:00
kreatordxx 692a8ffa1e Add include directives for last commit (whoops) 2009-05-22 10:53:14 +00:00
kreatordxx a1c9e3986e Add new window system, not used yet 2009-05-21 12:16:39 +00:00
kreatordxx 67fa9e0e49 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 bed89343af Make some files more similar between D1X and D2X 2009-05-03 12:31:30 +00:00
kreatordxx 19eacfa87f Make sure HoardEquipped returns 1 if hoard.ham is in the Data folder, hence properly allowing hoard.ham to be in the Data folder 2009-05-03 12:14:16 +00:00
kreatordxx bf512bb9ec Remove redundant conf.h directives 2009-04-30 13:01:31 +00:00
kreatordxx 5d93e80473 Disable network support for Mac OS X for now 2009-04-30 12:30:14 +00:00
zicodxx fb112d7dfb 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 b3bf4813df 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 8da36f8873 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 b537639fac 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 ec28629cc3 Small positional correction for homing-warning bitmap 2009-02-23 10:21:25 +00:00
zicodxx 984e0c053f 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 6d018dc5fc 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 03db82be7d 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 084295bf96 Made connect-state handling in kmatrix flow even more failsafe 2009-02-15 19:12:16 +00:00
zicodxx 80084bb032 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 1ec572c7d1 When creating new player, make sure string is long enough for use with players dir 2009-02-09 10:59:59 +00:00
zicodxx 487fed2fbd 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 256a60b1ce 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 33e2375db3 Fixed connect-state mess in order of kmatrix flow 2009-02-08 12:49:27 +00:00
zicodxx eea393c935 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 8d5657b472 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 98fe14c6d8 Made FPS string statically right-justified - unrelated to actual FPS string width preventing jumps 2009-02-02 09:02:29 +00:00
zicodxx 8e7fe53610 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 4d59723cc2 Added Packet-loss prevention code for Netgames 2009-01-31 23:47:15 +00:00
zicodxx b8ae980f86 New level render order for better seperation and blending between transculent level geometry and sprites 2009-01-30 11:50:25 +00:00
kreatordxx 3995cb9d05 Update version to 0.55.1 for Mac 2009-01-26 05:41:45 +00:00
zicodxx 3217f39990 Changed function naming convention in netdrv and below to general Descent code convention 2009-01-26 05:01:18 +00:00
zicodxx 7b48d47be4 Removed some old code to smooth FrameTime we don't need anymore 2009-01-24 22:44:57 +00:00
zicodxx 3531adace7 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 265ff9ed28 Took out old missile tracking code to be selectable over command-line to preserve consistency 2009-01-17 11:11:07 +00:00
zicodxx 4f535cff23 Made MouseFilter selectable over Controls menu while defaulting to OFF - Saved in PLX 2009-01-17 11:02:59 +00:00
zicodxx 85f46e5862 Error handling while dumping TGA file - (partially) Patch by v66r 2009-01-16 00:12:04 +00:00
zicodxx ac3f773883 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 6f7e70bb82 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 3fc96bf046 Patch from Damjan Cvetko <zobo@lana.krneki.org> for better support building with a non-free compiler... 2009-01-15 01:03:26 +00:00
zicodxx fb939d8abb Patch from Damjan Cvetko <zobo@lana.krneki.org> for better support building with a non-free compiler... 2009-01-15 01:00:19 +00:00
zicodxx e0a87df7ee Added some randomness to collision sound delays and synced robot-player collision sprites to same steps 2009-01-13 16:53:10 +00:00
kreatordxx 26a648365c Use a 2D array to allow playing of songs by track number in future 2009-01-13 12:39:03 +00:00
zicodxx 8c4d0f62df 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
zicodxx 680a1527a7 Fixed condition for protocol version checking when joining a game - must be allowed for both original and D2X version 2009-01-08 01:20:05 +00:00
md2211 f176bd23da Debian packaging scripts 2008-12-30 22:14:06 +00:00
kreatordxx 30f05a912f Increment Mac version number, update project for latest Xcode 2008-12-27 09:19:19 +00:00
kiplingw 3420d76931 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 3d10deeb20 Make Redbook the default for Mac, because MIDI is buggy 2008-12-23 10:05:23 +00:00
kreatordxx 765ac4ecfe Set SHAREPATH to "." so reading data from DXX's directory ACTUALLY WORKS 2008-12-21 08:59:17 +00:00
kreatordxx 45801a75d8 Fix Mac OS 9 compile issues, update Xcode project 2008-12-21 08:54:03 +00:00
zicodxx 4bf841f3c9 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
zicodxx 85f7a49177 Added /KillReactor command to blow up the reactor in Multiplayer games 2008-12-12 15:53:13 +00:00
zicodxx 7ebffe4dc7 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 e2834e4efb Implemented MULTI_D2X_PROTO by using D2X-IVER for strict Version-checking in UDP/IP 2008-12-08 15:46:45 +00:00
kreatordxx 777f76aedf Get Mac command keys working, MACINTOSH code cleanup, update Xcode project 2008-12-07 12:26:43 +00:00
zicodxx 0e164e20b9 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 308ea4e888 Fixed the Birthday Bug: Correctly re-compute static_light when restoring a game - finally 2008-11-29 11:17:20 +00:00
zicodxx 15582a707c Deactivated depth writing fo g3_draw_bitmap() sprites to prevent rendering errors when clipped in some cases 2008-11-26 01:24:58 +00:00
zicodxx 4974579254 Fixed logical code flow error when player dies in a secret level entered after base level destroyed which is also the last level 2008-11-26 01:19:26 +00:00
zicodxx 77b534035f 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 76d59ae9d3 Completly forgot to make mouse axis values static so they can be used in intervals - shame on me 2008-11-21 23:59:22 +00:00
zicodxx 606eb97467 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 ee5dff5c41 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 996748bdba 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 74fd36d2f9 Corrected a small logical mistake in Shareware-HAM recognition 2008-11-20 12:29:48 +00:00
zicodxx c705433bec 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 33490e497e 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 7d9e7d9bfc Actually demand ANY valid key to abort the Death sequence 2008-11-19 12:34:50 +00:00
zicodxx 8cc3cad3b0 Changed keys for Automap Viewing Distance to F9/F10 - Minus/Equal is not Layout independent 2008-11-18 14:43:30 +00:00
zicodxx 1cdf95ed2f Fixed Cheats 2008-11-18 14:34:52 +00:00
zicodxx 02b1872aa9 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 02e7490c63 When printing Gamelog, make sure canvas is NULL 2008-11-17 23:28:59 +00:00
zicodxx 6f39ab836f 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 1de53497b2 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 30f85fd3f9 When Error() is called, set Function_mode to FMODE_EXIT... basically to prevent the messagebox would try to render the game in background if the Error would happen while mission loading 2008-11-10 00:17:03 +00:00
zicodxx 7d96dea2a5 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 3bf0eff09b 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 8a2da79504 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 2004be28a8 Only read UNICODE values from 31 to 254 to make sure we do not read any non-printable characters and prefer the keysym that way; Added left and right Command Key for MAC Keyboards 2008-11-07 11:09:29 +00:00
zicodxx 21e59bca6f 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 61dfe70f5c Fixed Typo 2008-11-03 11:36:16 +00:00
zicodxx 54be20c5e1 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 b914c8dc2f Make sure that if we use UNICODE, we always take non-control type chars and - as we only want lowercase letters - convert chars if shift is pressed 2008-11-01 02:49:29 +00:00
zicodxx b174709a1b 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 debb9d7159 Make glLinewidth depend on screen height, not width (for Widescreen monitors) (commit came with last revision, sorry) 2008-10-31 16:58:44 +00:00
zicodxx 9cc62df60d 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
kreatordxx 76ddc8559d Allow hires Mac demo graphics, fix endian issue with reading GameBitmapXlat (fixing crash on PowerPC Macs using PC demo), put a return on the end of an error message 2008-10-31 13:09:30 +00:00
zicodxx 23a2d3f9dc 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 218e73b50f 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 8bd64b367d Docs update: Infos about Jukebox over SDL_mixer, SDL_mixer is not experimental anymore, yet another .de->.com change 2008-10-29 23:29:46 +00:00
zicodxx 3522661758 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 b95db9b579 Yet another check for collide sounds as FixedStep is not necessarily true if the actual collision happens 2008-10-29 11:04:45 +00:00
zicodxx beb2ab07ef 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 52ed53f829 Revisited Kip's non-Tracker changes and implemented to D2X: Prettier SConstruct output, Forgotten newlines at end of files, Improvement in dl_list code, Revamped menu GUI defines; I am NOT HAPPY I have to do these changes seperately 2008-10-28 17:58:54 +00:00
zicodxx 51c322d3aa 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 a471aa0f2f 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 820961c99a 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 21efb60807 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 804e26d96f 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 3a9ee43dcd Fix some gcc 4.0 warnings (-wall flag) 2008-10-21 11:38:03 +00:00
zicodxx 640aad4541 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 fcc853ffe8 resolution 1440x960 to 1440x900 - typo 2008-10-20 11:11:56 +00:00
zicodxx 490726b4ac 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 6dc900f51d 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
zicodxx 8637e3ff01 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 f108f30ffd 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
kreatordxx e3ee0c2c19 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 9ecb663ed3 Fixed IPX default socket (typo); Using function pointer for IPX-based sockets instead of globals 2008-07-19 22:28:31 +00:00
kreatordxx 1e0aa51ac1 No using chdir for Mac OS 9 - it doesn't have it 2008-07-01 11:22:36 +00:00
kreatordxx 4def3501ef Make sure the right audio CD track is played when starting a level 2008-07-01 11:18:37 +00:00
kreatordxx adffb1065b Add snprintf for Mac OS 9 2008-07-01 11:15:52 +00:00
kreatordxx bfa9cb8843 Increment version number for Mac, ensure Get Info strings copy to bundle, use correct Mac OS X SDKs 2008-07-01 11:09:46 +00:00
zicodxx 5514c90179 Do not apply new bump_two_objects() when companion object colliding with controlcen due to inability of companion to find alternatives 2008-06-28 10:52:10 +00:00
kreatordxx 1b89b021d8 make sure it knows whether an audio CD just inserted is the official one 2008-06-17 13:41:29 +00:00
kreatordxx 0b7aa9dc0d add necessary #includes for last commit (whoops) 2008-06-15 11:48:01 +00:00
kreatordxx 558b2399a3 tidy up music keys, ALT-SHIFT-F9 ejects audio CDs 2008-06-15 08:50:05 +00:00
zicodxx 6d35c8d91f 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 8a1222c961 Setting GameArg.SndNoSound to true if SDL_mixer init fails 2008-06-12 08:01:00 +00:00
zicodxx 3dd8b60118 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 8b36f8aaac Small doc update; Improved SDL_mixer / Jukebox handling if no resource (sound) is available 2008-06-05 16:30:11 +00:00
zicodxx c61b18b576 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 057523af2c Only stop music at jukebox_stop() if MIDI jukebox_loaded - otherwise user can stop Jukebox with keys but not start it again 2008-06-01 22:33:21 +00:00
kreatordxx 846c9231ed 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 e19a1238de 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 fd95b79cae Add audio CD support to D1X, fix associated bugs 2008-05-24 08:59:35 +00:00
kreatordxx 164e1f2350 give render_frame call both arguments (compiler error) 2008-05-24 08:56:56 +00:00
zicodxx 6b1ef665bf Reverting screenshot stuff - error prone 2008-05-21 21:59:16 +00:00