Commit graph

213 commits

Author SHA1 Message Date
zicodxx 031420cf74 Simplified ogl version of gr.c in terms of SDL video flags and fullscreen toggle; Added command-line/INI option to remove borders from windowed program 2011-02-10 15:30:08 +01:00
zicodxx da43cc7d37 Added swapping for 64Bit sized integers in case we want to store/read them some day (i.e. new Savegame version storing object instead of object_rw) 2011-01-22 18:14:16 +01:00
zicodxx 9f6cbc8c6c Retired most of the Assembler code except the generic i386 scanline renderer; Removed all leftovers of Direct3D implementation; On the way make a some code more similar between D1X-Rebirth and D2X-Rebirth 2011-01-19 21:35:14 +01:00
Chris Taylor eca34c30f5 Rename ui/window.c to ui/dialog.c to avoid confusion with arch/sdl/window.c, also rename UI_WINDOW to UI_DIALOG, rename all associated functions, constants, parameters, local variables etc too; make a window when making a UI_DIALOG (does nothing yet) 2011-01-17 22:42:18 +08:00
zicodxx 025a6c3951 Added feature to enable Anisotropic filtering is supported by hardware or driver; Reworked way of handling texture filtering information so ingame switching is possible again 2011-01-16 01:50:42 +01:00
zicodxx 0d997ed81a Converted console into a window and allow it to show in every part of the game; Fit several poll functions and kmatrix so they won't get interrupted by the console 2011-01-14 22:56:00 +01:00
Chris Taylor 030aef43e3 For editor, replace use of ui_mega_process() with event_process(), with the editor's own default event handler; add EVENT_MOUSE_MOVED event with event_mouse_get_delta() accessor; add event_key_get() to replace ugly casting; rename mouse_get_button() with event_mouse_get_button() to keep with name convention; only send idle events when there are no input events so editor still works properly (or the same anyway); add and use event_send() function for input events (including idle) 2011-01-14 17:51:13 +08:00
zicodxx 39e956e2bc Added different reticle types with RGBA and size settings; Apply RGBA and size to FlightSim Indicator and Guided Crosshair; Added Brightness Slider to Graphics options menu; Added OpenGL usage for gr_disk 2011-01-10 16:12:04 +01:00
zicodxx adad856f38 Improvement on the HMP track loop feature by TURRICAN; Added small template fix for descent.hmp which is supposed to be activated soon as we have some kind or Checksum function 2011-01-09 17:51:48 +01:00
zicodxx 449a5dffb1 Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag 2011-01-06 12:43:58 +01:00
zicodxx 307d92c644 Introduced FlightSim control scheme for mouse which adds delta values to absolute position to behave like a Joystick; Added Deadzone slider for FlightSim as well as an optional Reticle display to show the positional data on screen; Removed old Mouselook hack in favor of this new feature 2011-01-04 11:43:37 +01:00
zicodxx 281c9668bb Moved NoRedundancy, MultiMessages and NoRankings toggles from GameArg to PlayerCfg to be set via Misc Options 2011-01-03 02:01:26 +01:00
zicodxx 3adc5fe77a Saving weapon keys in PLX like in D1X-Rebirth; Added Cycle Primary/Secondary for Mouse which makes wheel axis cycling unnecessary and also let Weapon Keys be assigned to a Mouse button; If GameArg.NoStickyKeys do flush these keys so they can be used as normal game keys - otherwise ban them; Fixed crash when reassigning mouse button greater than 3; Joystick/Mouse function taking button as argument now check for sanity of this value so they can safely be used in kconfig code and deal with unassigned key values 2011-01-03 01:09:09 +01:00
zicodxx 6e81498a86 Added Sensitivity/Deadzone menu with sliders for each movement based action seperated for joystick and mouse to support all kinds of configuration - regardless the amount of joystick axes and whatnot; SDL_WM_GrabInput does not only capture mouse but also focus keyboard input - changed code to respect this fact and made grabbing a menu option which is enabled by default 2010-12-28 19:11:10 +01:00
Chris Taylor f755a5e030 Make the keypad info display into a window 2010-12-28 12:29:42 +08:00
Chris Taylor 2fa153489c Move main/editor to editor and move headers to include/editor, like d1x 2010-12-28 11:21:43 +08:00
Chris Taylor 5cbfece8c4 Copy some editor stuff from d1x-rebirth to d2x-rebirth, like use of the OS native cursor 2010-12-24 12:34:30 +08:00
zicodxx fe84fa3a9a Made GameTime to GameTime64 using fix64; Changed all structures saving GameTime64 for internal timer purposes to store fix64 and added converting functions to save such times in fix; For Savegames/Demos always reset GameTime64 to 0 while saving and putting all timer values to safe limits, Multiplayer objects are sent in similar fashion 2010-12-22 01:17:59 +01:00
zicodxx 3bcb0ecdde Introduced new data type fix64 to be used for new timers which can last 4462756 years instead of 9 hours; Introduced new timer functions to update and query program time; Used new timer all over the program except GameTime (which comes next) 2010-12-11 00:18:17 +01:00
zicodxx 4927b1c680 Changed another WIN32 to _WIN32 to avoid accidentially compiling with WORDS_BIGENDIAN when using VisualC 2010-12-04 21:59:07 +01:00
zicodxx 83a955976f Little fixes for rev950 - changed definition from WIN32 to _WIN32, added little hack for incorrectly set HMP loop in Descent2-version of descent.hmp 2010-11-30 12:20:09 +01:00
zicodxx acac225493 Large improvement for _WIN32 native MIDI code by TURRICAN0: supprt for HMP track loop, seamless song looping, GS reset, pausing/resuming midi, volume control for each MIDI channel; Set GameArg.SndDisableSdlMixer automatically if compiled without SDL_mixer support; On _WIN32 play HMP natively again 2010-11-28 16:49:40 +01:00
zicodxx 4b62b03c6a Implemented PHYSFSX_checkSupportedArchiveTypes to check if essential archive types are supported. Print warnings if not and stop program if necessary. Also added PHYSFSX_listSearchPAthContent to print out search path contents (figures) each time the function is called. Doing this before main HOG inits as well after sucessfully adding archives. Made PHYSFSX_addArchiveContent a bit more verbose as well. 2010-11-26 12:50:18 +01:00
zicodxx 1482048152 Created function PHYSFSX_isNewPath to check wether given path has already been added to Searchpath or not; Used PHYSFSX_isNewPath for menu browsing code instead it's own implementation; Using PHYSFSX_isNewPath for Jukebox directory, too to make sure Jukebox will not accidentially remove Game content depending on user selection; Also only keep Jukebox directory added until files are stored to prevent any other file present in this path can override or add anything to the game 2010-11-21 12:55:35 +01:00
zicodxx ae22f8e037 Instead of writing converted MIDI to file, write to buffer so it can be played directly 2010-10-29 17:40:42 +02:00
Chris Taylor e57ffac570 Fix errors for Mac OS 9, Mac OS X 'd2x' target builds again 2010-10-16 18:57:50 +08:00
zicodxx 283172aff6 Added format arguments to all printf, sprintf and snprintf calls missing them to prevent warnings/errors with some distributions of gcc 2010-10-14 16:46:20 +02:00
Chris Taylor 846699a2e6 Fix errors for Mac OS 9, Mac OS X 'd2x' target builds again 2010-10-10 18:48:24 +08:00
kreatordxx ba7d0513c3 Add support for M3U playlists, tweak 'Jukebox playing' message so it shows the end of the path when truncating 2010-09-26 13:15:20 +00:00
kreatordxx e6169f17f9 Add 'Data' subdir as a searchpath, so D2X will find descent.pig and to simplify a lot of file opening/checking/closing code 2010-09-25 03:35:23 +00:00
kreatordxx 8172c34f7f Link to PhysicsFS static library and use header from source for Mac OS X 2010-09-17 10:44:21 +00:00
zicodxx 099c8cf86f Rewrote code to control Texture Filtering a little so it's easier to apply Mipmaps for different parts of the game independently; Made Movie Filtering a menu option which must be enabled seperately; Added Movie Subtitles toggle to misc game options 2010-09-02 13:55:28 +00:00
zicodxx 7e51471eb2 Added feature to let select_file_reursive() change drive on _WIN32 via CTRL-D; Removed second definition of MEM_K accidentially happened due to bad communication 2010-08-31 13:25:45 +00:00
kreatordxx 81e82d694c Make define of MEM_K apply to non-debug builds as well (whoops) 2010-08-28 01:13:01 +00:00
zicodxx aff0187d79 Moving upwards definition of MEM_K so it's not restricted to \!NDEBUG; Initialized **i in list_dir_el properly to silence gcc when compiling 2010-08-27 15:43:24 +00:00
kreatordxx 55871bba3e Add path browsing feature to make song file/directory selection easier 2010-08-27 14:09:19 +00:00
zicodxx a23618f961 Patching together editor so it compiles again (while still not running); Implemented PhysFS for file accessing for editor- and debugging-related code 2010-08-19 13:32:33 +00:00
zicodxx 4b0c86f36d Added support to automatically load/mount ZIP files at startup, giving option to dynamically override or replace game content; Updated docs 2010-08-15 06:57:51 +00:00
zicodxx cfc7e49837 Cleaned and simplified includes to fix possible and actual problems with PATH_MAX 2010-08-09 19:19:36 +00:00
kreatordxx 4e238f2005 Add 'Resources' in .app bundle to searchpath for Mac; move bigger functions from physfsx.h to physfsx.c; resolve conflict with definition of 'bool' 2010-08-09 14:04:22 +00:00
kreatordxx 1f6e72f781 Show stars background for died in mine and secret level messageboxes; equalise fuelcen.h and cntrlcen.h 2010-07-27 11:41:43 +00:00
zicodxx d99abc5afd Fixing some harmless compiler warnings caused by missing includes, missing newlines at end of file; cleaned up strutil.h 2010-07-19 18:17:08 +00:00
zicodxx 27c1d4733a Merged all HMP-related code into hmp.c/h; Also introduced new HMP to MIDI conversion functions based on JJFFE which use former Win32-related HMP-code - fixes some bugs in MIDI conversion and cleaner 2010-07-18 20:28:15 +00:00
zicodxx 0ce37b89bb Added expandable classes for HUD messages (like D1X but slacked) to better handle Multi messages or redundant messages; Rewrote HUD code completely; Changes -playermessages to -multimessages since this is more appropriate; Removed remnants of -mprofile 2010-07-13 06:35:25 +00:00
zicodxx 5a8ff256ae Added function to list valid resolutions and build resolutions menu dynamically with the resulting list 2010-06-24 09:29:11 +00:00
zicodxx a56e56f034 Show movies in correct aspect; Added mipmap generation to movie texture if Texture filtering enabled - can also be disabled seperately 2010-06-19 16:42:07 +00:00
zicodxx 7fd13388fb 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 221076a3f5 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 cc12616895 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 66bad6378f Actually play endgame music when game is finished, play briefing music instead of hum if appropriate 2010-04-05 11:54:23 +00:00
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
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
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 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 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 4a00fdf805 Read big endian savegames on little endian computers and vice versa 2009-10-05 02:51:37 +00:00
kreatordxx 532bdc3a2f Make inferno.c more similar between D1X and D2X 2009-05-31 07:20:26 +00:00
kreatordxx bf512bb9ec Remove redundant conf.h directives 2009-04-30 13:01:31 +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
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 3217f39990 Changed function naming convention in netdrv and below to general Descent code convention 2009-01-26 05:01:18 +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 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
kreatordxx 777f76aedf Get Mac command keys working, MACINTOSH code cleanup, update Xcode project 2008-12-07 12:26:43 +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 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 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 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 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 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 adffb1065b Add snprintf for Mac OS 9 2008-07-01 11:15:52 +00:00
kreatordxx 558b2399a3 tidy up music keys, ALT-SHIFT-F9 ejects audio CDs 2008-06-15 08:50:05 +00:00
zicodxx 3d1e2ed850 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 fd95b79cae Add audio CD support to D1X, fix associated bugs 2008-05-24 08:59:35 +00:00
zicodxx 5d7dc33e0c 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
kreatordxx a7d8f850a9 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 6ff14e726c remember the last IP address entered for UDP instead of parsing -ip_hostaddr 2008-05-16 11:39:27 +00:00
zicodxx b772706508 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 ec7f8b68de 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 a7d9bba643 get it to work for Mac OS 9 2008-04-24 14:27:54 +00:00
zicodxx 5d19c11124 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 9bcea627d1 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
zicodxx 3a52d03d21 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 a62060bacf show a messagebox if there's an error and graphics are initialised, update Xcode project 2008-04-08 12:51:21 +00:00
zicodxx 44bbb66101 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
zicodxx 3a747dbdee include/loadgl.h, main/newmenu.c, main/titles.c: Added definitions for OpenGL fucntions which might not be included in system headers; Cleaned and declared briefings palette hacks [EMULATING_D1 needs work]; Menu right border shadow was too wide; 2008-03-25 12:28:02 +00:00
kreatordxx 337434dcf5 allow dxx.ini to stay with the binary for *NIX systems, with Mac OS 9 don't put user-created files inside the .app bundle 2008-03-21 13:52:54 +00:00
zicodxx d2365d65f0 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
zicodxx f3d8d50a94 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
zicodxx b6f477a398 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 d7b3c878ed Fixed memory issue as Joystick freeing; Case-insensitive mission-loading; Added support for non-Hog'ed missions; Improved writing functions for config and player files 2008-01-23 17:28:28 +00:00
kreatordxx 0f9a1c23e5 rename datafile_open to PHYSFSX_openDataFile to fit in with naming convention 2008-01-19 09:02:47 +00:00
zicodxx 66ed0f62f1 Removed SDL Gammaramp code (obsolete); Improvements on Demo code 2008-01-13 13:27:58 +00:00
zicodxx 416403c2d6 Fixing MAC compiling issues (hopefully); Re-Added IPX Socket option to Host menu for IPX games; Renamed netmisc.* to netpkt.*; Handling host disconnect for UDP games in network.c 2008-01-08 16:30:14 +00:00
zicodxx acdcb77711 Cleaned/Rewritten/Renamed lower level network layer to make it (look) less IPX-oriented 2008-01-02 15:36:51 +00:00