Commit graph

105 commits

Author SHA1 Message Date
zicodxx 1833474b12 Fixing showing options menu in demos - was still called (or rather not) by obsolete variable 2010-07-16 06:27:49 +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 c33a8e49a3 rev1134 revisited: When inregulary exiting a level by warp cheat, suspend Game_wind and reactivate again after the switch 2010-06-24 17:17:28 +00:00
zicodxx 6a81273645 When inregulary exiting a level by warp cheat, set canvas to NULL so cockpit canvas will not apply furthermore 2010-06-24 14:00:01 +00:00
zicodxx 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
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 4b4c906a3f Fix bug introduced in last commit where the player can't escape from the death sequence (whoops) 2010-03-31 09:38:25 +00:00
kreatordxx 00450cfc32 Make game respond to EVENT_KEY_COMMAND for key commands, allowing default key handler (later) 2010-03-31 09:18:28 +00:00
kreatordxx 068d11b745 Make gamecntl.c more similar between D1X and D2X 2010-03-31 06:19:37 +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
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 d1254c8222 Put fast save back, using Alt-F1 instead of F6 2010-02-25 03:08:10 +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 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 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
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
kreatordxx 3a116769be Remove all uses of LeaveGame jmpbuf to allow more changing of main loop 2010-01-27 04:30:31 +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
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 c6cbb6b9f8 Make pause box a window 2010-01-09 09:19:26 +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 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 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 00347f0bcb Add endian converter for demos, read shareware demos, various bugfixes to demo system 2009-11-15 08:22:08 +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 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
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 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 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 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
kreatordxx 777f76aedf Get Mac command keys working, MACINTOSH code cleanup, update Xcode project 2008-12-07 12:26:43 +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 7d9e7d9bfc Actually demand ANY valid key to abort the Death sequence 2008-11-19 12:34:50 +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 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 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 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 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