zicodxx
4c7879b740
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:45:58 +02:00
zicodxx
aa68347028
Fixed compilation of menu.c when USE_SDLMIXER is not defined
2010-10-14 11:49:37 +02:00
Chris Taylor
499c8e3799
Fix errors for Mac OS 9, Mac OS X 'd1x' target builds again
2010-10-10 18:42:53 +08:00
kreatordxx
704a4e7be5
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
c1a7ffa66d
Put in a note that a restart is required when changing the texture filter level (remove later when it isn't)
2010-09-17 11:06:48 +00:00
zicodxx
5e3be36c39
Using PHYSFSX_findFiles to make sure random demo playback will only find actual demo files and not quit autodemo; added DEMO_EXT for an universal definition of demo file extension
2010-09-02 13:58:06 +00:00
zicodxx
445fc76554
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
5f026dfb55
In select_file_recursive handle paths relative to the current write directory correctly
2010-08-28 02:46:54 +00:00
zicodxx
6d475ad6b8
In list_dir_el make sure PHYSFS_getRealDir won't give NULL to strcmp which will happen for files located in a Windows root directory
2010-08-27 21:16:43 +00:00
zicodxx
067d54f8e3
In select_file_handler properly initialize newpath preventing memory errors and crashes
2010-08-27 20:32:05 +00:00
zicodxx
887e8ed22c
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
72c62df583
Add path browsing feature to make song file/directory selection easier
2010-08-27 14:09:19 +00:00
zicodxx
745ce38a4d
Renamed MUSIC TYPE options BUILT-IN MUSIC to BUILT-IN/ADDON MUSIC and CUSTOM MUSIC to JUKEBOX; Removed LEVEL-DEPENDENT play order for Jukebox as this is now mainly covered by AddOn packs and future M3U-support
2010-08-17 14:59:57 +00:00
zicodxx
f0edc54479
Builtin music list now dynamically allocated and not limited to 30 songs; Instead of never loading new level when loading savestate ingame, only do this for Redbook and Custom Music playing order 'continously'; if no endlevel song is specified in Custom Music continue with level music
2010-08-01 17:42:38 +00:00
kreatordxx
98cf9b90ca
For polling newmenus, set rval using a pointer and don't delay closing the window, hopefully fixing bad memory access when clicking in level scores screen; change newmenu_close to newmenu_free_background to avoid confusion
2010-07-31 12:09:38 +00:00
kreatordxx
3dd7a7a627
Tidy up use of set_screen_mode
2010-07-29 08:30:46 +00:00
zicodxx
1c6c1b3a9d
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
97e20ee74c
Added UDP Netlist to join LAN games discovered/announced via broadcast
2010-06-29 16:41:08 +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
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
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
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
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
11edfb2aa6
Make main menu persist to streamline redrawing (later)
2010-04-03 08:35:56 +00:00
kreatordxx
fb53348ddc
Keep demo selector just after playing one, for convenience
2010-04-02 05:24:47 +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
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
d98bb97c48
Make all listboxes fall back to main event loop for flexibility
2010-03-18 07:02:38 +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
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
675d6d395a
Overhaul for CONTROLS menu; Cleaned kconfig-code a little and slacked out keymap arrays
2010-02-21 01:25:27 +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
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
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
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
9c4408adb2
When deleting a player also delete the Multiplayer efficiency file
2010-01-29 00:35:20 +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
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
b6b9cc1546
Move the editor call out of the Function_mode loop, for later overhaul
2010-01-23 14:19:21 +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
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
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
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
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
kreatordxx
9192b5ede6
Fix some compile errors, including for the non-NETWORK build
2009-11-28 07:51:06 +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
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
kreatordxx
96d305e54c
Only list resolutions that can actually be used, using new gr_check_mode
2009-11-17 14:27:39 +00:00
kreatordxx
78d9b8f15f
Make inferno.c more similar between D1X and D2X
2009-05-31 07:20:26 +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
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
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
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
6ba4be9e2b
Changed function naming convention in netdrv and below to general Descent code convention
2009-01-26 05:01:18 +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
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
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
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
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
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
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
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
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
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
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
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
kreatordxx
3aa8f5ece7
remember the last IP address entered for UDP instead of parsing -ip_hostaddr
2008-05-16 11:39:27 +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
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
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
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
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
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
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
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