Commit graph

817 commits

Author SHA1 Message Date
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 8e23a0b452 More consistency in SConstruct command-line variables; Added automatic Endianess-checker; Set target to 'd2x-rebirth' no matter if OpenGL or not 2011-01-03 11:42:53 +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 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 8a202f04ed Mouse wheel now can scroll through menu/listbox items; Right mouse button closes a menu (without the need of these ugly close boxes); Also added mouse-closing capabilities to credits, scores and kconfig menus; While being in UDP Netgames list, override keycode at PAGEUP/DOWN keypress to only flip pages without modifying citem also added messagebox showing TXT_INVALID_CHOICE when invalid netgame was chosen 2011-01-02 12:25:51 +01:00
zicodxx 8c8216c1f3 Fixed glitch in scroll arrow position; Added newmenu_scroll which can scroll through all kind is menu structures including automatically handling NM_TYPE_TEXT items as well as automatically updating scroll_offset; PageUp/Down now scrolls by 10 items, Home/end will select first/last/items of menu creating consistency to listbox behaviour; Fit text for GrabInput to be more understandable 2010-12-30 23:36:41 +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
zicodxx f429c8c1ea Disabling IPv6 support for OS X since in Snow Leopard it's buggy, making all Multiplayer pretty much impossible - re-activating soon as proper patches from Apple are in sight 2010-12-24 10:06:38 +01: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 535edf0691 Align timer_delay for credits so the song (midi or redbook) should at least be heard once 2010-12-23 23:38:33 +01:00
zicodxx a1c830a92b Reworked object sending/receiving to work without unnecessary type casting and a bit less error prone; Also increased UDP max packet size to 2048 so we can send 7 objects per frame; Fixded joinign games - GameID was sent for full game info, not lite info 2010-12-23 22:42:26 +01:00
Chris Taylor b82e1c9c61 Put event_process() in ui_mega_process(), getting editor to (mostly) work 2010-12-22 22:14:46 +08:00
zicodxx 5172e33d84 in IPv6 builds also send regular broadcast packets to get games found via LAN between IPv4 clients/systems and IPv6 clients/systems; rather than identifying (lite_info) games via IP use randomly generated GameID and game name to prevent duplicated coming from IPv6 builds 2010-12-22 14:55:26 +01:00
Chris Taylor 2b5fc26cff Fix warning for deliberate GameTime64 wrap; change GameTime to GameTime64 for editor 2010-12-22 17:48:00 +08:00
zicodxx ce0930184d added hitobj_list to struct laser_info to get a bit cleaner code 2010-12-22 10:41:25 +01:00
Chris Taylor 22102a3c23 Activate EDITOR for Mac OS X in Xcode, d2x target; fix some warnings and errors 2010-12-22 10:56:28 +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 70e43722e1 In window_close() prev window did not get EVENT_WINDOW_ACTIVATED but the recent closed window got it causing previous window not being activated anymore and a bunch of memory errors 2010-12-22 01:11:14 +01:00
Chris Taylor c00d35f0eb Activate EDITOR for Mac OS X in Xcode, d2x target; fix some warnings and errors 2010-12-21 11:35:50 +08: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 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 4956e746a2 When calling do_game_pause do not allocate msg in Game mod GM_MULTI as it's not used nor freed 2010-12-04 16:52:00 +01:00
Chris Taylor 61586a8d26 Set a bogus sound when a sound is skipped in gamedata_read_tbl and don't let piggy_close free it 2010-12-04 13:45:43 +08:00
zicodxx 3ccde930c3 Made resent_delay for net_udp_noloss_process_queue() a bit longer depending on the player's ping 2010-12-03 01:09:46 +01:00
zicodxx cc8296b175 When Quitting is called in standard_handler disable Autodemo if active 2010-11-30 23:45:10 +01:00
Chris Taylor 47236b142f Add missing stuff to get it to build on Mac OS X; turn fullscreen off when showing a messagebox for Mac 2010-12-01 00:00:46 +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
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 13c1093ca1 Added missing brackets gone missing in r936 2010-11-28 16:08:11 +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
zicodxx 12e26b2d08 in do_powerup added check for distance of other players to powerup object to make redundant pickups less likely 2010-11-28 12:08:16 +01:00
zicodxx a49ccb9dd7 In multi_new_game when initializing Players structures, also correctly init connected variable which is highly important for spreading pdata to clients and should be set correctly anyways (Thanks to Gold Leader and Flip for help with debugging/testing recent Multiplayer bugs) 2010-11-28 01:02:05 +01:00
zicodxx b43832c285 If -verbose or -debug is set, write gamelog.txt unbuffered for a higher chance to get messages there in case of a crash; Totally supress messages in stdout/err.txt on _WIN32 2010-11-26 13:15:56 +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 3042de6649 When adding data from net_udp_send_mdata_direct to noloss queue, use data_len as length of data stream - not len which is longer and would then cause storing garbage 2010-11-25 14:17:28 +01:00
zicodxx 47e07da70a When verifying objects, do not necessarily check for controlcen as it's not necessarily there in some anarchy missions 2010-11-23 16:16:36 +01:00
zicodxx 182107ebce changing max UDP size again - increasing to 576 - should still be safe 2010-11-23 16:12:09 +01:00
zicodxx 7c3cf3be4c reducing max buffer size of an UDP packet from 1024 to 512 bytes - should prevent possible turncating, especially when sending obejcts where max size is actually used 2010-11-23 01:26:57 +01:00
zicodxx c1f7442f23 Took over variable VerifyPlayerJoined for UDP protocol usage as well to get object and extra packet sending in order as well as regulary resending UPID_SYNC for latecoming players. Should resolve problems when joining already running UDP games 2010-11-22 22:44:03 +01:00
Chris Taylor 33377d0d2e If it can't find descent2.hog/d2demo.hog, still print some useful info 2010-11-22 21:11:24 +08:00
Chris Taylor dc85211d37 Make sure read_m3u won't read past the end of the buffer, causing a crash 2010-11-22 20:49:44 +08:00
zicodxx b860b2826f When checking for redundant messages in HUD display, compare new message to most recent one for locking and check whole list only for messages marked with HM_REDUNDANT. This will show all messages in correct order while keeping redundancy-prone messages from looping infinitely 2010-11-21 21:20:00 +01:00
zicodxx e93c32963b For fresh configuration set Redbook music as default for Mac, Builtin music for all others 2010-11-21 13:02:58 +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
Chris Taylor 53eef82836 Make sure read_m3u won't read past the end of the buffer, causing a crash 2010-11-13 13:11:25 +08:00
zicodxx cea9239f88 When running out of memory slots, do not try to print detailed info as it will only call a negative array index 2010-11-09 17:45:25 +01:00
zicodxx 11b73f68a7 In multi_consistency_error check for Game_wind before trying to set it in/visible - just for safety 2010-11-09 11:53:19 +01:00
zicodxx 017a9cab5b In DropOrb PLAYER_FLAGS_FLAG-bit was not removed before calling multi_send_flags which would draw the HUD-box even if player ejected all Hoard orbs 2010-11-09 00:28:22 +01:00
zicodxx 583d035b89 Apply transparency to Hoard Orb if effect activated 2010-11-08 23:39:53 +01:00
zicodxx ca312dd5bb In case listbox strings are too long for screen, fit box width to screen width, shorten strings and add a scroll effect to selected item 2010-11-01 13:42:36 +01:00
zicodxx 49de81d9e7 Text string for level music was made smaller some time ago so BROWSE_TXT_SHRT basically became obsolete - removed it now and show BROWSE_TXT instead 2010-10-30 01:29:58 +02:00
zicodxx 6b0e57bed9 Make songs playing at end briefings loop, like they used to in the original game 2010-10-30 01:09:14 +02: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
zicodxx 7157fae1f4 Fixed compilation of menu.c when USE_SDLMIXER is not defined 2010-10-14 11:50:11 +02:00
zicodxx 8d5bb09e09 Use dynamic PhysicsFS library again to fix linking errors 2010-10-14 00:05:49 +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
Chris Taylor 9a38349caa Use dynamic PhysicsFS library again to fix linking errors 2010-10-10 18:08:42 +08:00
kreatordxx e2efd34d30 Enable exit sequence song for D2X (not available via Redbook) 2010-09-26 14:22:55 +00: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
zicodxx 4a573f0a1d fullpath variable was missing for _WIN32 2010-09-25 13:55:22 +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 eaa9d5f3c1 To fix Dravis's head in endgame debriefing, don't remap the colours and read compressed .bbm bitmaps properly (both my bad) 2010-09-19 13:33:22 +00:00
kreatordxx bf11555143 Pass -1 instead of 255 as the colour to ogl_ubitmapm_cs when drawing savegame previews, to make sure a black rectangle isn't drawn instead 2010-09-19 11:53:39 +00:00
kreatordxx cdf8d247cd Increment version to 0.56.0 for Mac OS X, marking release point 2010-09-17 11:36:46 +00:00
kreatordxx 347a76bd44 Don't let the teleport sound get cut out by Game_wind being hidden when going to a secret level 2010-09-17 11:09:57 +00:00
kreatordxx b0444fb77a 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
kreatordxx 8172c34f7f Link to PhysicsFS static library and use header from source for Mac OS X 2010-09-17 10:44:21 +00:00
kreatordxx 25a5afd49e Set default Jukebox music paths to original Redbook music in iTunes for Mac OS X 2010-09-17 10:14:37 +00:00
kreatordxx 9b47f46e5c Enable IPv6 for Mac OS X 2010-09-17 09:44:45 +00:00
zicodxx 155c378c80 Removed Fusion_last_sound_time and made Fusion_next_sound_time static inside FireLaser() with it's own fallback function for bogus timer values - should make this code insusceptible against errors - last but not least: minus two globals 2010-09-04 09:22:07 +00:00
zicodxx 4f5aa4ea1b In briefing_init() init robot angles properly because in show_spinning_robot_frame() robot_angles.h is incremented only but not initialized 2010-09-04 08:17:54 +00:00
zicodxx e73dfb1266 Reset Fusion_next_sound_time in init_player_stats_level() to hopefully fix Fusion not doing damage or playing sounds 2010-09-03 21:49:39 +00:00
zicodxx 5923bce64d When opening music file via filehandle, made sure buffer is freed after playing to prevent major memory leakage 2010-09-02 14:00:26 +00:00
zicodxx 6e39b9f25b 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 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
kreatordxx 466f51e8f5 On Mac OS X - no longer have to copy SDL_mixer.h to SDL framework; frameworks can now be in /Library/Frameworks; fix for obscure compile error involving u_int32_t 2010-09-02 00:07:37 +00:00
zicodxx e34035ec05 in pdata communication swap_bytes was set for create_shortpos causing problems on PPC architecture; in multiplayer host menu set citem to START GAME by default 2010-09-01 17:01:51 +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 66d16a928b In select_file_recursive handle paths relative to the current write directory correctly 2010-08-28 02:46:54 +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 31ddede5ab 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 9d9bc567f7 In select_file_handler properly initialize newpath preventing memory errors and crashes 2010-08-27 20:32:05 +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
kreatordxx fd5ff122ba When 'force descent ][ cd track order' is chosen, play and loop the credits track after the title track for Jukebox too 2010-08-25 00:40:55 +00:00
zicodxx 9e4ea7f92d Overhauled detection of TEX/TXB files for Briefings and Endings 2010-08-24 14:02:38 +00:00
kreatordxx 89da3a0eb7 For Redbook, play the credits track after the title track like original Descent 2 did 2010-08-23 11:29:45 +00:00
kreatordxx 39fd679cb9 Use more reliable Mix_LoadMUS for music in directory searchpaths, so WAVE's and MP3's are correctly loaded (probably others) 2010-08-22 13:27:47 +00:00
zicodxx b23226a92d Moved levelnum-sanity-check in game_param_handler so it will be checked when screen is changed to allow entry of secret levels (which does not work in D2X-Rebirth - it's only done for code similarity); added menu item START GAME for consistency and added proper subtitle for game setup page 2010-08-22 09:25:24 +00:00
zicodxx 6c61d30ffa Added res-file to be linked in Windows build to show icon in Filemanager; converted icon file to be smaller 2010-08-21 17:08:53 +00:00
zicodxx 9a42f9ca8b Bind WM-Icon to application 2010-08-21 06:51:13 +00:00
zicodxx 47255f4e31 For each Music playback system defining own volume scaling definition which was wrong for SDL_mixer 2010-08-19 15:54:19 +00:00
zicodxx 709496a932 Removed processing of HandleVRKey() as this code is not usable anymore and blocks some system keys (removal of general VR-code will follow later) 2010-08-19 13:49:46 +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 455136bb19 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 3baac0b592 Moved up PHYSFSX_addArchiveContent() a little inside main() so -debug and -verbose will show us this content which will be helpful for debugging possible problems with AddOn Zips 2010-08-16 19:59:41 +00:00
zicodxx 9dfab660e6 Updated docs to add new OGG Soundtrack created by Brandon Blume 2010-08-16 17:21:13 +00:00
zicodxx cb933f9f80 When switching from COOP to any other game mode, make sure Netgame.max_numplayers, MaxNumNetPlayers as well as the menu text showing the player limit is updated correctly 2010-08-16 11:50:37 +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
kreatordxx b55a717112 Tidy up for EVENT_IDLE case in game_handler, hopefully fixing obscure 'optimise threads' bug 2010-08-14 02:26:18 +00:00
zicodxx 4f0d1c4cfb The inital vector scaling to compensate previous frame-skipped tracking was not aligned to FrameTime. Removed that code and just divided homer_turn_base values to compensate this offset properly. Thanks to zif for hinting me to that; Added comment about the how and why of the homing missile scaling issue 2010-08-11 16:25:58 +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 afb0c08a1e Between event sending, exit event_process if front window is different, fixing netgame joining problem introduced with commit on 20100731 2010-08-06 06:49:45 +00:00
zicodxx 9f25721f8a When updating redundant HUD messages check the for-loop not the start with a negative number - causes too long message display and negative array index 2010-08-03 15:03:56 +00:00
zicodxx 651e6db699 Fixed automap marker info as well as misleading text defines 2010-08-01 19:08:26 +00:00
zicodxx e8c22880b9 If mouse_toggle_cursor is set to activate, do not toggle ursor visibility as mouse_update_cursor_and_grab might decide it should be hidden 2010-08-01 17:46:13 +00:00
zicodxx fd32ea98c4 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 7f93792249 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
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 48b60f63a8 restricted parsing of sdl-config to *NIX and Mac builds as it's static on Win32 anyways; added verbosebuild as SCons option to print out all compiler/linker messages 2010-07-30 07:34:33 +00:00
zicodxx 7b1bfbbf2c Removed leftover of mouse grabbing from set_screen_mode - forgot to do this in rev1192 2010-07-29 21:28:53 +00:00
zicodxx 808dbae5ed Using rather sane values for gluPerspective - fixing Z-Fighting bugs on Intel chips; in Fullscreen toggle, always apply new viewing values independent of Screen_mode 2010-07-29 20:19:52 +00:00
kreatordxx db15309f5f Tidy up use of set_screen_mode 2010-07-29 08:30:46 +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 9f5860a54a Moved digi_set_digi_volume call from config loading to designated audio subsystem init function so it will be correctly set after the sound system is auctionlly initialized 2010-07-27 20:42:54 +00:00
zicodxx 406a599aeb Fixing bug in MIDI header - format was written in size of int instead of short 2010-07-27 20:16:39 +00:00
zicodxx 0e0b04c138 Fixing automatic mouse release function - still this does not seem to work in every case 2010-07-27 19:42:28 +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 3a67eed1a8 Overhauling showing/grabbing cursor and also taking care of case if program looses focus; store old_delta_x/y in mouse info structure 2010-07-26 18:10:21 +00:00
kreatordxx c7da78f144 Fix crash caused by last commit (whoops) 2010-07-25 02:43:22 +00:00
kreatordxx 961fd2b1b8 For menus, only call the user function for closing immediately before closing, fixing memory errors when the user function frees memory 2010-07-25 02:30:53 +00:00
kreatordxx 936f46fbeb Rewrite quit system, fixing *many* bugs with it :P 2010-07-25 01:22:44 +00:00
kreatordxx 88373bd89d Exit SDL_PollEvent early if window changes, to avoid menu problems when pressing keys fast; fix 'condition is always false' warning 2010-07-25 00:49:33 +00:00
zicodxx 6c4cd7b22e Fixing crash when joinging game over UDP Netlist: when exiting the menu for any reason, return 0 instead of following the code and possibly lead to drawing text from a newly free'd pointer - D'OH 2010-07-21 16:58:38 +00:00
zicodxx 8d78876d13 Thanks to Marix for hinting me I should not init a pointer with quotes if I plan to allocate/free it... my stupid-level officially broke the record 2010-07-20 18:38:29 +00:00
zicodxx 4ed5696661 Removed redundant Winsock calls from Windows-specific IPX code - it's already in net_ipx.c 2010-07-19 18:28:33 +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 d78a16e229 In briefings make sure Current_color cannot exceed possible array bounds 2010-07-19 17:30:25 +00:00
zicodxx c6594d2184 Introduced state_quick_item so we can safly check if there is a valid quicksave slot wihtout messing around with state_Default_item which is supposed to always show a valid slot in the first place 2010-07-19 17:07:12 +00:00
zicodxx 58affab121 Did not close hmp after MIDI conversion which caused some unfree memory - fixed 2010-07-19 17:05:41 +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 c25dfdc7e7 For normal digital audio (11/22Khz) use buffer of 1024 for all platforms to prevent delay 2010-07-17 13:07:23 +00:00
zicodxx f5aa8ce8bc Instead of screwing by possibly using negative array indicies in find_seg_side() return -1. In ordering segments make this result in unimportant order; Taking in some Asserts which were disabled years ago by me. Let's fix this for real when we get to it 2010-07-17 11:57:07 +00:00
zicodxx fc44ec76f5 Removed OGL hack to fix overlapping room in D1 lvl19 and rather move vertex a little. Still a hack but now without messing Depth test 2010-07-17 11:19:29 +00:00
zicodxx 2c1045d4b5 If newdemo_start_playback fails if random file is given set -autodemo to 0 to prevent endless loop 2010-07-16 13:03:12 +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 1833474b12 Fixing showing options menu in demos - was still called (or rather not) by obsolete variable 2010-07-16 06:27:49 +00:00
kreatordxx f16671a077 Make sure the right canvas is set for titles and briefings, fixing bug where briefing is shown in the cockpit when using 'freespace' cheat 2010-07-15 09:45:25 +00:00
zicodxx 896a3770c8 Scale tab stops in briefings to font-size correctly 2010-07-15 09:22:33 +00:00
zicodxx 8c19958db8 Cleaned the variables used for newdemo code; Instead of giving both old and new values to special recording functions, added new variables to demo code serving this purpose and also checking for redundant record calls which only would waste bytes; Removed duplicated-object-id-hack which did not work as expected and caused jittering on playback; In that process, found a bug where Num_open_doors might nor be set correctly - cleaned that up a little and got also rid of one aweful goto; Made sure cloaked walls are recorded FPS-independent but rather fade-value-dependent 2010-07-15 05:40:25 +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 65679c7c0f Trying to improve reliability to find appropriate homing object by using vm_vec_mag/normalize instead of their *quick equivalents; Removed code which supposedly meant to track objects near reticle - don't like that 2010-07-09 07:58:48 +00:00
zicodxx 98a1b97fb9 When reading mission file, check for sanity of possible breifing or ending to make sure author did not just screw up the file; Fixed slight bug when playing ending briefings from secret levels 2010-07-08 22:12:53 +00:00
zicodxx 68aa94f180 Fixing typo 2010-07-08 10:59:51 +00:00
zicodxx e5130c21b5 Also send event KEY_COMMAND if there's somethig in our Unicode buffer since not every Unicode key corresponds to a keysym on every layout 2010-07-08 10:55:20 +00:00
zicodxx 1093aa0d07 Improved hanlding for closing sockets - doing via closing of Game_wind when available or in specific multi menus; Also handling GM_GAME_OVER setting over Game_wind closing as well if apprpriate - cleaner and helps to cleanup multi when mission is over 2010-07-08 09:35:59 +00:00
zicodxx cb1b0bdb26 Reworked handling of Netlist now also showing full game info; Prevent Clients from sending lite_info; Make lite_info show numconnected instead of numplayers as this would show disconnected ones as well; Removed reusing ports on different instances in Windows build - only screws up several games running on one machine 2010-07-08 06:37:23 +00:00
zicodxx 98fb362850 Fixing building on Windows if SDL_Mixer is not a target 2010-07-05 12:14:49 +00:00
zicodxx 0b8e26161b Reducing sending objects per frame from 20 to 1 again to reduce possibility of timeout on stressed systems 2010-07-05 12:12:12 +00:00
zicodxx 02247f5abb When selecting coop game mode, make sure that besides max players menu values also actual player number is set and menu text is updated properly 2010-07-05 08:05:32 +00:00
zicodxx d74b94b9bd Addition for rev1152: After setting mouse button, reset mouse state properly 2010-07-05 07:53:38 +00:00
zicodxx d4eddd177f Fixing issue introduced in rev1139: Game could of course not open music files which are not inside Searchpath or added to it - re-added playing over absolute path 2010-07-05 07:41:30 +00:00
zicodxx 74674220ff Fixing issue when assigning mouse button if a citem is still pointed out; Fixing still processing key commands even if we want to assign a key 2010-07-05 07:31:03 +00:00
zicodxx 9d3abbbf32 Fixes for rev1148: Was too hasty with calling net_udp_close; Fixing typo in WSACleanup() 2010-07-04 13:57:21 +00:00
zicodxx 0a143da860 Since time is not suspended between levels in Multiplayer, call reset_time after level change. Apply this in Singleplayer, too since it should always be safe - and appropriate - to reset timer_value soon as a new level begins 2010-07-04 13:12:08 +00:00
zicodxx faab4b0acb Implemented Winsock functions for UDP which I totally forgot about; Now when leaving game in any way, close sockets and Winsock stuff 2010-07-04 12:47:30 +00:00
zicodxx 4d5ff1bd29 Fixed Compiler-warning on Windows; Fixing Windows build which was not linking against SDL 2010-07-04 07:07:51 +00:00
zicodxx 3ee2d7c4fa Renamed manual_join to direct_join; Aligned letlist tabs a little bit 2010-07-01 09:08:30 +00:00
zicodxx d3a10e1516 For gr_get_string_size introduced get_char_width_f to calculate with floats to measure non-integer font scalings; Cleanup 2010-07-01 09:03:52 +00:00
zicodxx 3033cea7b4 Always try to open UDP default port when discovering Netgames and give warning if that fails; If entered IP address cannot be resoled, do not warn me twice 2010-06-30 15:57:13 +00:00
zicodxx f81a5d8601 Removed SurfingNet global and made tabs a parameter of newmenu_dotiny; Same procedure with MenuReordering which is replaced with newmenu_doreorder to set reordering flag specifically 2010-06-30 15:26:27 +00:00
zicodxx 03be2fae70 If multi_level_sync() fails, restart menu music since level music is playing already 2010-06-29 21:14:30 +00:00
zicodxx ca9c43d07f Improved handling of multi level sync and exit smoothly back to the menus; Fixed another small bug in lite_info broadcasting which was sending full info; By broadcasting full info, host could cripple Netgame so a new security measure is implemented to protect host from letting his game be overwritten from outside 2010-06-29 20:51:38 +00:00
zicodxx a54a0a6975 Added UDP Netlist to join LAN games discovered/announced via broadcast 2010-06-29 16:41:08 +00:00
zicodxx ead78aa6aa Aligned default width for IPX-Netlist menu to fit possible items a bit better; Fixed two small bugs when sending and receiving lite_info in UDP; Allowed broadcast on UDP sockets (for later use) 2010-06-29 06:47:46 +00:00
zicodxx bdcf86679b For playing music over SDL_mixer always use handle over PhysFS to save the path building mess; When building Jukebox path, only try to build full path if given path is actually a child of Searchpath 2010-06-27 14:30:12 +00:00
zicodxx 7849947519 When starting, leaving or changing a level in any way, use more ordered approach to set Game_wind visible or invisible. Fixing timer-issues after level-change and makes hiding of Game_wind obsolete for certain messageboxes; Moved GameTime and weapon timer variables out of reset_time since this function is not appropriate for this and is not needed between levels anymore due to window management handling start/stop_time properly 2010-06-27 11:28:26 +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 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 16b0092af7 main/newmenu.c: Fix for last rev1130 - store resolution and font-size in matching data type 2010-06-23 13:39:52 +00:00
zicodxx d79cc8bcbf 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 171386bc24 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 c935ecfa99 Make sure GAME_FONT is set when reading out briefing text so char dimensions will always be stored correctly 2010-06-21 21:43:10 +00:00
zicodxx c02ca51f4e For starting demo, seperate hide_menus() and game_setup() since between this, demo must load the actual level and it's palette; Fixed small bug in interpolate_frame() causing interpolation happening in very first frame causing file read corruption 2010-06-20 20:32:30 +00:00
zicodxx 950b4c9ada Re-balanced homing-device turn values introduced in rev1118 based on comparisons to many levels played 2010-06-19 17:03:51 +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 da0d7c1f61 For briefings, keep elementes of show_briefing_bitmap and show_animated_bitmap in correct aspect 2010-06-19 16:24:34 +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 992f66f04c If picking up one missile out of a four-pack, use singular description instead of plural 2010-06-17 09:45:05 +00:00
zicodxx a01ae0f445 Fixing digi_win32_ functions I broke yesterday. THANKS ZIF\! 2010-06-15 18:27:10 +00:00
zicodxx 2ba931acca Fixing typo in Netgame help screen 2010-06-15 17:20:37 +00:00
zicodxx ee53409d18 Removed the previously used homers code and instead used old one to keep good ol' Gameplay; Removed FrameCount steps from track_track_goal() and scaled homing vector accordingly to this change, including properly scaling it to FrameTime; Made code more similar between D1X and D2X; Introduced different turn rates for different difficulty levels 2010-06-15 16:24:56 +00:00
zicodxx cac223991f Resetting GameTime, Next/Last_flare/laser/missile_time in reset_time() together so GameTime-rollover-fallbacks will not create a massive delay when starting a new level 2010-06-14 21:59:41 +00:00
zicodxx 9877d658f3 Process -nomusic argument again 2010-06-14 17:55:25 +00:00
zicodxx 95e699130c rev1112 contd: Killed juggling around with adding Jukebox paths - must always be removed correctly if Jukebox loading fails 2010-06-14 15:32:55 +00:00
zicodxx 321115f8f3 Made reactor damage with persistent weapons FPS-independent but still a bit stronger than normal 2010-06-14 15:17:03 +00:00
zicodxx 3a839c5b31 Use strrchr instead of strchr for music filename extension in case there are dots in the filename 2010-06-14 10:43:30 +00:00
zicodxx b39c297762 Small fix and improvement for Jukebox path detection 2010-06-14 10:33:36 +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 f1fb7c4ac0 Comment out redundant calls to event_poll, fixing rapid bomb dropping bug (and probably others) 2010-05-03 10:47:10 +00:00