zicodxx
|
097dd32c5a
|
New approach to handle a bunch of closing windows - removed window_do_close() again, reworked game_leave_menus by checking window_get_front() and closing this window until it's Game_wind, while event_process checking if window still exists after drawing and if not, take next window from previous which should be updated by then
|
2011-02-12 23:58:41 +01:00 |
|
zicodxx
|
488c44f9cf
|
Increased key repeat values to react a little more like the MS-DOS version of the game but a little slower so I can still stop at the correct item; In automap reorganized control_info swapping as well as wiggle state handling to properly work in connection with the new input handling and Multiplayer where game is not paused
|
2011-02-06 14:25:37 +01:00 |
|
zicodxx
|
c7a65c9313
|
Included new window structure flag w_closing_state and let window_close() set this flag - after drawing all windows, check them again and call window_do_close() which then actually closes the window(s) marked to. Solving all sorts of problems when windows close while being drawn (network error messageboxes, game_leave_menus(), etc.)
|
2011-02-03 11:48:27 +01:00 |
|
zicodxx
|
96782e092a
|
Added event types for all input actions; Rewrote kconfig code to work with events; static defined inputs will not trigger kconfig-mapped inputs anymore; Simplified keyboard, mouse and joystick code a lot due to event-based handling; Added function to toggle SDL key repeats on and off; Put timer_update() to event_process; Removed return when event_poll() is idle to get cursor hiding to work again; Added a small delay between cursoe hiding and re-enabling to cursor will not accidentially enable by SDL event centering cursor while hiding
|
2011-02-02 01:36:49 +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
|
8dcbb3bd81
|
Introduced function key_ismodlck to get the status of modifier keys or sticky keys; Let sticky keys survive flush so we can accurately use their real states; Added key repeating via SDL; Depending on status of KEY_NUMLOCK keypad will either be used as numerical or arrow input in menus; Fixed small typo for mouse.h include in credits.c
|
2011-01-02 18:07:44 +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 |
|
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 |
|
Chris Taylor
|
3ef5dff1a6
|
Add CON_DEBUG level con_printf's for basic events (not EVENT_IDLE or EVENT_DRAW though)
|
2010-12-05 21:51:34 +08:00 |
|
zicodxx
|
e883f01ec9
|
Add support for Windows native error/warning boxes; Only print to stdout on Linux/other *nix; Fixed redundant printing of Error and Warning via stdout
|
2010-11-30 13:46:23 +01:00 |
|
Chris Taylor
|
4fa20a3d9f
|
Add support for OS native error/warning boxes, only implemented for Mac for now
|
2010-11-28 20:08:29 +08:00 |
|
kreatordxx
|
55871bba3e
|
Add path browsing feature to make song file/directory selection easier
|
2010-08-27 14:09:19 +00:00 |
|
zicodxx
|
c50081f72c
|
Added event_flush to take place in game_flush_inputs which will clean SDL events which may be buffered while event_process was suspended; suspend Game_Wind while loading restoring save state while playing a level to properly flush controls and reset timer; when toggeling cursor, also directly modify the mouse to wanted behaviour instead of waiting for mouse_update_cursor_and_grab
|
2010-07-30 17:59:21 +00:00 |
|
zicodxx
|
100cbe51cb
|
One more take on Mouse cursor friendliness: Merged mouse_toggle_cursor and mouse_toggle_grab; instead of trying to use SDL_GetAppState (which does not work as expected on Windows) to release mouse, use strict calls of mouse_toggle_cursor so we at least have a free mouse outside of Game_wind and Automap; decreased time to automatically hide cursor; added mouse_close to release mouse in case of emergency
|
2010-07-28 17:27:35 +00:00 |
|
zicodxx
|
f2df60a12d
|
Only use one single call of timer_get_fixed_seconds() for whole SDL event loop; Abstracted grabbing mouse and mouse cursor toogle to mouse functions instead of calling SDL functions inside of non-arch code; Automatically hide mouse cursor if it's not used for more than 3 seconds; Reworked placement of mouse grabbing toggle; Do not read any mouse input if -nomouse is given
|
2010-07-16 11:07:42 +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
|
8f324ded75
|
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
|
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 |
|
kreatordxx
|
046ef88c77
|
Make menus for hosting a netgame stack, make quitting work with newmenu_do2 and simpler
|
2010-04-04 09:41:53 +00:00 |
|
kreatordxx
|
493b07e3da
|
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
|
dae5968170
|
Add a default event handler for screenshots, entering debugger, Redbook repeating etc
|
2010-04-02 05:01:08 +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
|
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 |
|
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 |
|
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
|
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
|
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
|
c6cbb6b9f8
|
Make pause box a window
|
2010-01-09 09:19:26 +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 |
|
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
|
8f9d869452
|
Make the automap into a 'window', make kconfig.c more similar between D1X and D2X
|
2009-12-02 13:49:54 +00:00 |
|
kreatordxx
|
a1c9e3986e
|
Add new window system, not used yet
|
2009-05-21 12:16:39 +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 |
|
kreatordxx
|
777f76aedf
|
Get Mac command keys working, MACINTOSH code cleanup, update Xcode project
|
2008-12-07 12:26:43 +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
|
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
|
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 |
|
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
|
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 |
|
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
|
e6ec09869e
|
Some code improvements and small fixes
|
2008-05-08 18:29:52 +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 |
|
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
|
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 |
|
kreatordxx
|
e474abb5a0
|
port the jukebox to PhysicsFS for Mac OS 9 compatibility
|
2007-11-10 08:51:30 +00:00 |
|
zicodxx
|
e955dff203
|
Updated docs; Removed GP2X support since I won't support this device anymore
|
2007-09-28 22:44:04 +00:00 |
|
md2211
|
a0b4cac982
|
* Removed executable flag on most files
* Reverted value of SOUND_MAX_VOLUME
|
2007-09-21 19:06:05 +00:00 |
|
md2211
|
324c0df6a1
|
* Huge SDL_mixer refactoring; sound backend now selectable at runtime, in D1X & D2X
* Sound system now uses a set of function pointers (digi.c) as a single interface to either SDL or SDL_mixer
* Ported jukebox functionality to D2X
|
2007-09-18 13:37:39 +00:00 |
|