Commit graph

643 commits

Author SHA1 Message Date
Chris Taylor 541e422611 Fix errors for Mac OS 9, Mac OS X 'd1x' target builds again 2010-10-16 18:53:05 +08:00
zicodxx 940eaeb3db Finished support for custom textures and robots, fixed some bugs, reformatted code and placed function calls to properly work for designated mission/level 2010-10-16 11:13:11 +02:00
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
zicodxx cde9a7f322 Use dynamic PhysicsFS library again to fix linking errors 2010-10-14 00:05:21 +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
Chris Taylor 018e24aab0 Use dynamic PhysicsFS library again to fix linking errors 2010-10-10 18:08:11 +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
zicodxx 6b9a3b0c77 fullpath variable was missing for _WIN32 2010-09-25 13:55:22 +00:00
kreatordxx 403169df7e 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 64387a51e6 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 23975df856 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 ba3f54e484 Increment version to 0.56.0 for Mac OS X, marking release point 2010-09-17 11:36:46 +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
kreatordxx 35a69d5a0f Link to PhysicsFS static library and use header from source for Mac OS X 2010-09-17 10:44:21 +00:00
kreatordxx 0a44a68fed Set default Jukebox music paths to original Redbook music in iTunes for Mac OS X 2010-09-17 10:14:37 +00:00
kreatordxx e669670e47 Enable IPv6 for Mac OS X 2010-09-17 09:44:45 +00:00
zicodxx 2b069acab4 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 78bbd77b35 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 34db780dbf 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 328ddd8a55 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 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 a68da514b6 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 8a79002f2d 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 4c5f489d07 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 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
kreatordxx 1fcd5afe1b Make define of MEM_K apply to non-debug builds as well (whoops) 2010-08-28 01:13:01 +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 0bc2257b06 Made loading of Hires briefings a bit more simpler (more D2-ish) and not using a new briefing_screen structure; Also perform a check if requested image originates from descent.hog or a third-party mission and do not load a Hires version in the latter case 2010-08-25 15:14:28 +00:00
zicodxx 9eb82f312b Overhauled detection of TEX/TXB files for Briefings and Endings 2010-08-24 14:02:38 +00:00
kreatordxx c1c60ab68b 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 421547e5a1 Added link for the Mac Content Sound Effects AddOn Pack 2010-08-22 10:09:53 +00:00
zicodxx 010ac80344 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 aaae123e44 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 8e708af3cb Bind WM-Icon to application 2010-08-21 06:51:13 +00:00
zicodxx cafb861bc5 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 2c3d69c82d In demo list help text changed string CTRL+C to CTRL-C for consistency 2010-08-19 13:44:31 +00:00
zicodxx ac92d9c971 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 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 f7e009d1c8 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 ecf1469b7d Updated docs to add new OGG Soundtrack created by Brandon Blume 2010-08-16 17:21:13 +00:00
zicodxx 791851ad82 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 0a86348aab 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 0529a5320b Tidy up for EVENT_IDLE case in game_handler, hopefully fixing obscure 'optimise threads' bug 2010-08-14 02:26:18 +00:00
zicodxx fe198ec06b When picking up laser, game would show generic weapon pickup/already-have messages instead of laser-upgrade/maxed-out messages only - fixed 2010-08-12 16:43:37 +00:00
zicodxx 2028abb6d5 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 5611e1c110 Cleaned and simplified includes to fix possible and actual problems with PATH_MAX 2010-08-09 19:19:36 +00:00
kreatordxx 3ed285f469 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 50086c68e9 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 85d4cbe3d2 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 7864eb52a0 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 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
zicodxx 842af496ca 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 cd13732735 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 6af139181b 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 3dd7a7a627 Tidy up use of set_screen_mode 2010-07-29 08:30:46 +00:00
zicodxx 4a0d15fbcd 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 60e93e4deb 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 f146a6b321 Fixing bug in MIDI header - format was written in size of int instead of short 2010-07-27 20:16:39 +00:00
zicodxx 4f5d6ea605 Fixing automatic mouse release function - still this does not seem to work in every case 2010-07-27 19:42:28 +00:00
kreatordxx 9e4b8db5f6 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 7acab7150c 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 ee4f37903b Fix crash caused by last commit (whoops) 2010-07-25 02:43:22 +00:00
kreatordxx 9f9e35689e 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 d1dda5386e Rewrite quit system, fixing *many* bugs with it :P 2010-07-25 01:22:44 +00:00
kreatordxx 5a66d422bd 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 b41faef1d3 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 5c2fdc5063 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 764798b732 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 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 10c8ace1a2 In briefings make sure Current_color cannot exceed possible array bounds 2010-07-19 17:30:25 +00:00
zicodxx bc775b1331 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 785fffca90 Did not close hmp after MIDI conversion which caused some unfree memory - fixed 2010-07-19 17:05:41 +00:00
zicodxx 9070771c47 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 c2603a0b49 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 23660d8040 Implenented POBOYS cheat as equivalent to D2's DELSHIFTB 2010-07-17 12:08:45 +00:00
zicodxx 4fdbda1689 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 81baeaeaa4 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 06cf80ab18 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 ac840f306b 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 4b407c62b8 Fixing showing options menu in demos - was still called (or rather not) by obsolete variable 2010-07-16 06:27:49 +00:00
kreatordxx 8c23459d9e 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 9596e0fcf8 Scale tab stops in briefings to font-size correctly 2010-07-15 09:22:33 +00:00
zicodxx 2cb3bac259 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 9933bb81ce 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 a8111d203d 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 52b57dbd31 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 a792b3a197 Fixing typo 2010-07-08 10:59:51 +00:00
zicodxx 5c077028da 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 9dbd8ad144 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 4c63f57aac 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 ee3856285d Fixing building on Windows if SDL_Mixer is not a target 2010-07-05 12:14:49 +00:00
zicodxx c209b4c319 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 d15778e03c 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 a7497054c3 Addition for rev1152: After setting mouse button, reset mouse state properly 2010-07-05 07:53:38 +00:00