Commit graph

853 commits

Author SHA1 Message Date
zicodxx 9280731d60 Be safer not interrupting other ports of descent or the original MS-DOS game when it comes to reading song files: Try reading from MISSION_NAME.sngdxx to have a way reading a song file for a specific mission outside the mission's HOG, next try reading from descent.sngdxx which shall serve as an alternative song file specifically for DXX and then try descent.sng. This should give authors enough possibilities to add OSTs for all different versions of the game without the need to publish different versions of their missions 2011-03-06 21:02:50 +01:00
zicodxx d3b4d9485e Using gr_init_bitmap for hoard data initialization; Correctly free hoard data before the program closes; When reloading the main HAM files, made sure it does not try to reload main game sounds from shareware/demo HAM 2011-02-24 11:28:59 +01:00
zicodxx 36c291d5d5 Fix for last revision: Correctly initialize cv_fade_level and cv_blend_func when creating initializing a canvas 2011-02-24 00:21:50 +01:00
zicodxx c960d5505a Added cv_fade_level to canvas structure to replace Gr_scanline_darkening_level; Added cv_blend_func to canvas structure to set blending; Introduced gr_settransblend to set cv_fade_level and cv_blend_func; Added function to set normal blending, additive alpha blending and additive color blending; Moved Special transparency effects from g3_draw_bitmap to render_object to set individual transparency and/or blending for each object outside of OpenGL-specific code; Added special blending for fuelcenter and force field effects as well; Removed unused LASER_HACK code; Renamed OglAlphaEffects variable of PalyerCfg to AlphaEffects as I plan to implement this kind of effects for Software renderer, too 2011-02-23 17:46:39 +01:00
Chris Taylor 635dcfee4f Fix a critical bug in string_array_add - when d_reallocing the buffer containing the string data, update all the pointers in '*list' as well as next_str, preventing ugly crashes 2011-02-21 14:37:03 +08:00
zicodxx 13b2de4326 Added another call for read_hamfile right after a level loads in case a third party mission brings it's own version of the main game HAM file 2011-02-19 01:20:58 +01:00
zicodxx ffee2235a9 Set zNear for gluPerspective to 0.1 to prevent ugly clipping while passing illusory walls; Set zFar to 5000.0 to prevent disappearing automap in large distance - all still sane enough for Intel chips so my eeePC is safe nyahahaha 2011-02-18 00:43:05 +01:00
zicodxx d020a3136e Draw laser effects with special blending instead of disabled DepthMask; Added special blending for transparency effects as well to let them kick more ass; Corrections while rendering outside part of endlevel sequence with disabled depth testing and dynamically changing Render_depth to make the mine exit visible again while not rendering the exit tunnel tru the planet terrain 2011-02-18 00:17:51 +01:00
zicodxx d57eed80b5 When recording cloaking or unclocking wall to demo, make sure the very first frame is recorded, too so wall will correctly transform back when rewinding the demo 2011-02-17 11:17:53 +01:00
zicodxx bddb2e97a2 Fixed PRShot feature which was accidentially broken while implementation of OpenGL ES support 2011-02-15 14:44:03 +01:00
zicodxx dd4a5ae0d8 For credits and briefings moved all code happened in EVENT_IDLE to EVENT_WINDOW_DRAW since a jitterish Joystick could slow down text rendering 2011-02-14 23:52:33 +01:00
zicodxx d6fbef4e43 Moved all these unsorted global cheat variables to a handy structure; Simplified reading of the cheats without trying to make it complicated so no one finds them (everyone can get the source); Removed one or two cheats which carry more garbage than they are worth; Added replacement for the bittersweet cheat; Made FPS Counter an option of Graphics menu 2011-02-14 22:27:07 +01:00
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 1f5fde02c7 Controls.select_weapon_count needs to be incremented differently to get non-0 when we want to select the laser type weapon; Readded jumping from first to last item in newmenu and vice versa 2011-02-11 12:24:02 +01:00
zicodxx 43ebcd249b Added secondary weapon indicators to new reticle types; Fixed disks being drawn as circles - whoops 2011-02-10 20:53:23 +01:00
zicodxx a5c3bc430c Fixed compiler warning related to generation of game_id for Coop Savegames 2011-02-10 18:56:33 +01:00
zicodxx 031420cf74 Simplified ogl version of gr.c in terms of SDL video flags and fullscreen toggle; Added command-line/INI option to remove borders from windowed program 2011-02-10 15:30:08 +01:00
zicodxx 5bac68c5c8 Fixed broken FlightSim indicator on Automap; Fixed Assert for using mouse buttons in kconfig (which can react to UP and DOWN states); Added scrolling support for menus flagged tiny_mode and all_text 2011-02-10 14:09:10 +01:00
zicodxx 7b5102a0f9 Fixed memory leak produced by drawing circles and disks 2011-02-09 17:18:35 +01:00
zicodxx 0c0a55e65b Fixed little memory issue while playing movies introduced by overhaul of window closing 2011-02-09 16:52:13 +01:00
zicodxx 753178a30f Reintroduced Savegames for Coop games using the original Descent2 implementation but correctly handling player slots in their pre-loading state preventing accidential player shifting which never really worked in the original game and we do not want with UDP anyways - was all tested but still might need a fix or two; Added some missing initializations for saving players and AI stuff; Completely ripped out remnants of saving between levels code 2011-02-09 12:58:32 +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 7f49e118da Corrected values for gr_ubox while drawing a window_view to not mess up at some widescreen resolutions 2011-02-03 01:10:30 +01:00
zicodxx fbf27484f1 Little fixes for recent kconfig/event overhaul: Automap inputs read by kconfig should be processed by input rather than idle and automap frame calculations should be done while drawing; Fixed drop_bomb_count which could roll over to 255 dropping bombs without end 2011-02-03 01:05:06 +01:00
zicodxx 3c9c7af995 Little more smoothness for Multiplayer: Before dropping Powerups in random segment, make sure it's accessible by the player who drops it; Got rid of goto in InitPlayerPositions() and made code more D2-ish; Allow host to send 50 object/extra packets per second which does not overload network stack, yet but speeds up joining 2011-02-02 23:51:34 +01:00
zicodxx 21836c5c6b After rendering Reboot reticle, reset glLineWidth to default value again 2011-02-02 02:12:05 +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
zicodxx 518e01fbe8 In event_process() check for wind->next before sending EVENT_WINDOW_DRAW in case drawing will free wind 2011-01-26 11:55:47 +01:00
zicodxx fd740500c1 Some improvements and cleanups for Persistent Debris: Let them bounce, added drag and let them explode on hazardous walls 2011-01-24 21:51:08 +01:00
zicodxx 3a91bdb89d Added some new conditions to the bumping code: Only bump objects which can slide (alive robots and players) and added a count making sure this function can never get stuck in an infinite loop 2011-01-24 20:37:47 +01:00
zicodxx 4f160df96e Revamped what previously was the BUMP_HACK by checking if an object is actually intersecting a segment and move it out towards segment center just after the initial object movement composed by fvi and before velocity is made - should make inaccurate wall collisions a bit smoother and prevent objects from goind inside or through walls, too 2011-01-24 15:26:08 +01:00
zicodxx ee56fead58 For new player, set ReticleSize to 0 which is the smallest size 2011-01-23 18:21:13 +01:00
zicodxx 0fac02ecee Increasing the collision count for objects so there can be 8 for all objects; also do not increase count when colliding with a powerup as it should not change our movement 2011-01-23 11:59:48 +01:00
zicodxx 169df35455 Taking out one Int3 in init_boss_segments() stopping the program if there is more than one boss in level - taking out because it's not fatal or unsafe to do that; Also removed one conditional size_check which was meant for one mprintf we removed long ago 2011-01-23 09:57:52 +01:00
zicodxx 4e3eeee326 Removed fvi_a.h and added the asm code from it as comment to fvi.c in case we need it again some day 2011-01-22 21:43:21 +01:00
zicodxx 37f59aa896 in show_framerate do not use gr_get_string_size at all but rather use hardcoded coordinates - less CPU-intense 2011-01-22 18:46:08 +01:00
zicodxx da43cc7d37 Added swapping for 64Bit sized integers in case we want to store/read them some day (i.e. new Savegame version storing object instead of object_rw) 2011-01-22 18:14:16 +01:00
zicodxx 78569ea1bc Fixed small issue parsing killreactor command in Multiplayer 2011-01-22 17:56:25 +01:00
zicodxx 5eb05548c3 Added timer_update() to stop/start/reset_time() functions so resumed last_timer_value will be precise; Added new FPS counter which actually does count the frames rendered per second and is less irritating; Added timer_dleay2 call to console to not stress CPU too much; Imporoved placement for show_time(), multi messages, marker messages and orb counts 2011-01-22 13:30:20 +01:00
zicodxx 3046fcf7dd Protection for negative array index in find_seg_side was accidentially checking for vv1 != -1 - fixed that 2011-01-21 17:45:29 +01:00
zicodxx 33d3b1c6a8 Added a simple random function for the Jukebox; Removed one small printf I once added for debugging 2011-01-20 12:17:30 +01:00
zicodxx e60a7e1bca Additional commit for last revision - didn't selected all files properly 2011-01-19 21:52:01 +01:00
zicodxx 9f6cbc8c6c Retired most of the Assembler code except the generic i386 scanline renderer; Removed all leftovers of Direct3D implementation; On the way make a some code more similar between D1X-Rebirth and D2X-Rebirth 2011-01-19 21:35:14 +01:00
zicodxx fd53a1264b On NETGAMES list Bounty mode was not shown since MODE_NAMES define was not adjusted - so in the end introduced GMNames and GMNamesShrt Arrays in multi.c for globally displaying full or short Multiplayer game mode names 2011-01-19 19:55:38 +01:00
zicodxx 16f2b23fe2 Fix for showing bounty target in kill list - was not actually checking if player_num == Bounty_target; When Bounty_target player leaves game host must select a new target so the game can proceed 2011-01-19 12:22:01 +01:00
zicodxx a1f7da133e Introducing new BOUNTY Multiplayer game mode by Matt -1360- Vandermeulen <matt1360@gmail.com> 2011-01-19 02:19:17 +01:00
zicodxx 931d134357 Instead of calling object/extras sending every frame, use a delay of 100ms between packet send to not overload the network stack 2011-01-19 00:07:10 +01:00
zicodxx 9cace92b4e In net_udp_send_objects() player_num byte was not considered for mode 1 resulting on incorrect object count for this mode 2011-01-18 19:43:07 +01:00
zicodxx ab79094700 Allowing loading a savestate while being in death sequence and resetting Dead_player_camera correctly in init_player_stats_level() so forther death sequences won't screw up 2011-01-18 15:53:28 +01:00
zicodxx c0864b71a9 Fixed small bug in net_udp_list_join_poll() which was introduced when I reorganized the events for making console render global 2011-01-18 14:37:19 +01:00
zicodxx 59344482e3 Fixing memory corruptions produced by the scanline renderer; Dynamically allocate y_pointers to free scanline renderer from resolution limits 2011-01-17 21:00:52 +01:00
zicodxx 65aeb5a291 opengles variable in SConstruct could be activated by command-line argument opengl 2011-01-17 19:27:55 +01:00
Chris Taylor eca34c30f5 Rename ui/window.c to ui/dialog.c to avoid confusion with arch/sdl/window.c, also rename UI_WINDOW to UI_DIALOG, rename all associated functions, constants, parameters, local variables etc too; make a window when making a UI_DIALOG (does nothing yet) 2011-01-17 22:42:18 +08:00
zicodxx d5ac0af494 Before duplicating last pixel column or row in ogl_filltexbuf, make sure we are still in actual bitmap boundaries; Incrementing defines SHIELD_GAUGE_Y, SHIP_GAUGE_Y for HIRESMODE to fit these gauges pixel-correct in Cockpit mode 2011-01-17 15:00:26 +01:00
Chris Taylor 335a99eedc Fix cursor recentering issues - comment out redundant event_toggle_focus(1) calls in kconfig.c and newmenu.c and use event_toggle_focus(0) in ui_mouse_show() 2011-01-17 16:11:24 +08:00
Chris Taylor 7651a43b70 No referring to non-existent ogl_maxanisotropy for non-OGL build 2011-01-17 12:38:32 +08:00
Chris Taylor b64794e1b4 Still send idle events when receiving SDL joystick events, fixing possible joystick issues 2011-01-17 12:17:21 +08:00
zicodxx acb1494124 in ogl_filltexbuf add pixel row matching color of bitmap edge to get a clean border when filtering cockpit overlay bitmaps 2011-01-16 19:33:41 +01:00
zicodxx af651ac749 Toggle console by KEY_SHIFTED+KEY_ESC again - as it should be 2011-01-16 11:55:31 +01:00
zicodxx a4e07c142b For more consistency to original game, show descent(b).pcx before pilot selection if available; Generally use PATH_MAX for filename arrays in titles code 2011-01-16 11:39:46 +01:00
zicodxx e5fc130b82 When changing resolutions and Game_wind is present, send EVENT_WINDOW_ACTIVATE shortly so it's canvase will align to the new resolution seamlessly 2011-01-16 02:09:47 +01:00
zicodxx 025a6c3951 Added feature to enable Anisotropic filtering is supported by hardware or driver; Reworked way of handling texture filtering information so ingame switching is possible again 2011-01-16 01:50:42 +01:00
zicodxx a52875f96e Fixed alpha limit for ogl_ulinec(), gr_uricle(), gr_disk() 2011-01-15 20:51:17 +01:00
zicodxx 5b899ad0fd main/game.c: Due to recent changes in event_poll() game_handler() must call ReadControls() for EVENT_MOUSE_MOVED, too; Little fix for FixedStepCalc() 2011-01-15 13:51:21 +01:00
zicodxx c0dfe46173 Fixed some compiler warnings 2011-01-15 00:33:13 +01:00
zicodxx 0d997ed81a Converted console into a window and allow it to show in every part of the game; Fit several poll functions and kmatrix so they won't get interrupted by the console 2011-01-14 22:56:00 +01:00
zicodxx 3b60012a2d Moved scroll arrow one unit to the left to be not pixel-aligned to possible checkbox; Made newmenu sliders only react to spacebar, backspace, left and right since pageup/down is already taken for menu scrolling and all other previous key assignments will not work on most spread keyboard layouts 2011-01-14 21:32:53 +01:00
zicodxx 8a10ec4238 Added feature to optionally disable friendly fire in Team and Coop games 2011-01-14 19:48:48 +01:00
zicodxx ba74b14753 When displaying kill goals in game rules, value must be multiplied by 5 to show the correct limit 2011-01-14 17:54:31 +01:00
zicodxx 2ba4206e15 Using timer_query() instead of clock() in InitPlayerPositions(); Also decreasing check value für closest_dist to D1-level to actually make it less likely to start at total random unchecked location where another player could be 2011-01-14 17:15:30 +01:00
zicodxx c8f4140bd6 In multi_leave_game check for Player_eggs_Dropped before actually dropping to prevent multiple drops in case player quits game after being killed; put console output level of multiplayer powerup cap messagers to CON_VERBOSE 2011-01-14 15:13:29 +01:00
zicodxx eeecf4016e Fixing code used for capping powerups in multiplayer - it was not correctly conting 4pack powerups; Cleaned up this code a bit and added more consistent naming convention for functions to maybe make it more understandable; Removed MULTI_PROTO_D2X_VER define as it's not needed 2011-01-14 14:29:08 +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 aca6890bd4 Fixed Menu setting for AllowedItems which was broken due to changed return value of newmenu_do1 2011-01-11 01:26:14 +01:00
zicodxx 02c5c1bda9 Reverted most of the last commit - didn't work well when timer was updated too frequently 2011-01-11 00:37:45 +01:00
zicodxx 4026c8a73a In timer_update() use i2f and fixdiv for SDL_GetTicks() to get more accurate values to F64_RunTime; Added rollover check for SDL_GetTicks() to timer_delay2() 2011-01-10 22:59:00 +01:00
zicodxx 4b008cece1 Let credits track fade out at the end of text sequence; Fixed usage for RBAPlayTracks - when playing only one track last must be equal first, not 0; In hmp_open changed data from long to int, preventing memory explosion depending on optimisation of the code 2011-01-10 20:40:55 +01:00
zicodxx 39e956e2bc Added different reticle types with RGBA and size settings; Apply RGBA and size to FlightSim Indicator and Guided Crosshair; Added Brightness Slider to Graphics options menu; Added OpenGL usage for gr_disk 2011-01-10 16:12:04 +01:00
zicodxx 09da4f9f51 Mousebutton assigned to CYCLE SECONADARY was actually calling CYCLE PRIMARY 2011-01-09 19:45:14 +01:00
zicodxx adad856f38 Improvement on the HMP track loop feature by TURRICAN; Added small template fix for descent.hmp which is supposed to be activated soon as we have some kind or Checksum function 2011-01-09 17:51:48 +01:00
zicodxx eac593a047 Fix for rev968: my_pnum must be defined static 2011-01-09 17:09:29 +01:00
zicodxx bea0daf3e8 Set max UDP packet size to 1024 again (seems some configuration DO have problems with larger packets after all) 2011-01-09 14:19:01 +01:00
zicodxx d14ae4ea2b Draw FlightSim Reticle on Automap display, too; Fixed small glitch showing Vulcan/Gauss ammo in alt hud mode on all cockpit modes instead of CM_FULL_SCREEN only 2011-01-06 14:56:26 +01:00
zicodxx 449a5dffb1 Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag 2011-01-06 12:43:58 +01:00
zicodxx 0a08eacae6 Fixed but in object to object_rw conversion - if a bot is not dead, leave dying_start_time at 0 as anything else would kill it 2011-01-06 00:28:43 +01:00
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