Commit graph

958 commits

Author SHA1 Message Date
zicodxx 630048fa99 Fixing unfreed buffer when credits_show() was called but there was nothing to show me 2011-04-13 21:11:20 +02:00
zicodxx ee9ac80b62 Bit more safeguarding in find_plane_line_intersection() and as a result less agressive but more beautiful back-bumping on illegal wall interesections; Scaling of movement from PhysTime to FrameTime now done with vector math functions 2011-04-13 21:08:08 +02:00
zicodxx a518930c62 Improved security for UDP protocol: Add checks for correct packet size and - if possible - valid sender address (valid player) and making sure Clients only accept packets meant for Clients and Hosts only accept packets meant for Hosts 2011-04-13 00:19:46 +02:00
zicodxx df3153d0d4 kconfig weapon cycling fields changed after 0.56 release will automatically fix if version number changes on next release 2011-04-12 12:18:25 +02:00
zicodxx d969d06a59 kconfig weapon cycling fields changed after 0.56 release will automatically fix if version number changes on next release 2011-04-12 12:17:20 +02:00
zicodxx 6bb12ba926 Execute set_dynamic_light 60 times per second max since more would just be a waste of CPU time; When executing set_dynamic_light, process ALL lights; Instead of storing light color in objects, do it on-thy-fly but store bitmap-based color in grs_bitmap - vastly speeds up colored dynamic lights; Improved saturation for vertex lighting to make light color a bit more subtile 2011-04-12 03:02:49 +02:00
zicodxx 5c4a3850cd Little fix for typing-indicator in multiplayer - was showing comma even if no player name was displayed; Removed team_vector from UDP lite_info structure - it's not needed; Increased UDP_NETGAMES_PAGES to actually show 3000 possible games 2011-04-12 00:45:06 +02:00
zicodxx a10fdaf32d Introduced HUD message class HM_MAYDUPL for messages that may appear once per frame but the player might not able to supress via option 2011-04-11 21:27:27 +02:00
zicodxx c63f3f7682 Improved syntax for Multi messages/commands: Commands starting with '/' and those accepting arguments as well as Player/Team messages require space after ':' ; Added indicator on HUD to show if a player is typing a message to prevent accidential kills 2011-04-11 17:47:12 +02:00
Chris Taylor a9362497f6 Allow completely free movement in the automap. It will rotate relative to the viewer. 2011-04-10 19:53:51 +08:00
zicodxx 035c6d2b06 Added a note about D2 code removed from titles.c in rev1069 so we don't accidentially add it again when sources merge 2011-04-10 11:20:40 +02:00
zicodxx 6140595491 Fixed text-related annoyances: *Show reticle names* now named *Show player names on HUD*; Fixed positions of strings TXT_CLOAKED and TXT_CRUISE in CM_FULL_SCREEN; Fixed typo in tracker timeout screen; Fixed scaling of tab_stop in briefings (again); Removed some little D2 code for briefings as it broke some briefing screens 2011-04-10 03:12:02 +02:00
zicodxx d5f9e118c6 Allow multi_send_fire when necessary and not crop to PPS so fix weapons with high firing rate 2011-04-08 01:37:55 +02:00
zicodxx 82edf638fe When sliding along a wall keep wall_part sane to ensure good velocity for slide 2011-04-07 22:49:39 +02:00
zicodxx 357e1b0144 Made lighting code work with actual RGB values and added feature to let certain objects emit colored dynamic light as well as let mine flash red when control center destroyed (OpenGL-only at the moment) 2011-04-07 22:32:47 +02:00
zicodxx 85f7be583f Client-side implementation for Tracker support by Matt 1360 Vandermeulen including improvements in udp_dns_filladdr and IPv4/IPv6 compability; Very little adjustments by me, too including IPv6 support for Windows (untested); Actual tracker code will follow later as seperate branch when it's done 2011-04-05 02:24:30 +02:00
zicodxx d55bc253f1 Dead_controlcen_object_num should be set when a new level starts in debug build, too; Setting Total_countdown_time when loading a savestate so SEF-DESTRUCT SEQUENCE ACTIVATED sample will not play soon as timer reaches 0 2011-03-29 00:35:15 +02:00
zicodxx e2607aaff1 Properly record the event of reset_rear_view() while switching levels to make it work right when rewinding as well; Properly record Countdown seconds for each newdemo frame instead of second change to get display showing up right while playback and still preserving backwards compability 2011-03-28 01:39:30 +02:00
zicodxx 2bbbabb078 Another rework for anti-stuck-bumping: Execute after calculation of velocity and add fvi check to make sure we deal with an actual wall collision 2011-03-27 18:01:14 +02:00
zicodxx 8cff6ca835 Again reworked new bump hack to only apply when fate == HIT_WALL (to not break level SKYBOX) and made bumping by distance between object position and wall hit point; Removed/handled some safety checks in find_plane_line_intersection() to make sliding along joining edges smoother again while bad values *should* be handled in pyhsics.c and not make object warp-crashing tru the whole level or stuck in walls (fvi code should still be rewritten tho) 2011-03-14 11:07:36 +01:00
zicodxx c5092c89c7 Due to lazy copy&paste sliding up/down speed was divided by 2 - fixed 2011-03-10 21:39:47 +01:00
zicodxx dcae49a319 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:48 +01:00
zicodxx fe2dd897f7 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:36 +01:00
zicodxx 79e84f8d17 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:49 +01:00
zicodxx 05d98af43f Fixed PRShot feature which was accidentially broken while implementation of OpenGL ES support 2011-02-15 14:44:00 +01:00
zicodxx 7481e1c0fc 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:28 +01:00
zicodxx c1e4e9c3d7 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:02 +01:00
zicodxx e9da5b85b4 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:39 +01:00
zicodxx 01e522e6e7 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:13 +01:00
zicodxx 53c9fa987f Added secondary weapon indicators to new reticle types; Fixed disks being drawn as circles - whoops 2011-02-10 20:53:19 +01:00
zicodxx a025d430c0 Fixed compiler warning related to generation of game_id for Coop Savegames 2011-02-10 18:56:31 +01:00
zicodxx 6bc439a343 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:05 +01:00
zicodxx be7713c1ae 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:05 +01:00
zicodxx eb0d876b9c 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:28 +01:00
zicodxx 2232433860 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:31 +01:00
zicodxx 3f17b47fe8 fix to rev 1038 - not completely there today... 2011-02-03 01:19:27 +01:00
zicodxx 2b1550fa2e 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:01 +01:00
zicodxx 728442ff96 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:29 +01:00
zicodxx 284ca0809d Small correction for last commit - key handler of automap was reacting to non-key events as well 2011-02-02 02:08:21 +01:00
zicodxx 5aa0939b73 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:43 +01:00
zicodxx 7683527726 Some improvements and cleanups for Persistent Debris: Let them bounce, added drag and let them explode on hazardous walls 2011-01-24 21:51:07 +01:00
zicodxx 54097a9a3e 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:45:59 +01:00
zicodxx 273d0b0dbe 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:45 +01:00
zicodxx 6263db8521 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:06 +01:00
zicodxx b624e51c35 For new player, set ReticleSize to 0 which is the smallest size 2011-01-23 18:22:10 +01:00
zicodxx 5b6c028c60 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:46 +01:00
zicodxx e5c1c4f963 Taking out one Assert 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 2011-01-23 09:57:46 +01:00
zicodxx b35fd6e3d7 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:20 +01:00
zicodxx e133e6e764 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:05 +01:00
zicodxx bed51f2f4d _POLYOBJ_H definition was not terminated at end of file causing compiling to fail with WORDS_NEED_ALIGNMENT define 2011-01-22 18:06:42 +01:00
zicodxx 4b1faafc15 Handling Controlcen countdown Descent2-way to make code more similar but more importantly to avoid issues in Multiplayer levels which do not even have a Controlcen type Station causing the game get stuck in an infinite loop; Fixed small issue parsing killreactor command in Multiplayer 2011-01-22 17:56:23 +01:00
zicodxx 13faad1855 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 2011-01-22 13:30:12 +01:00
zicodxx 41a3d3971e Protection for negative array index in find_seg_side was accidentially checking for vv1 != -1 - fixed that 2011-01-21 17:45:26 +01:00
zicodxx c7038983d5 Added a simple random function for the Jukebox; Removed one small printf I once added for debugging 2011-01-20 12:17:24 +01:00
zicodxx 45d8b82ab6 Additional commit for last revision - didn't selected all files properly 2011-01-19 21:51:59 +01:00
zicodxx c124b0883f 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 96a350e97f 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:32 +01:00
zicodxx 20cf4c5228 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; Made Bounty sound play a bit louder 2011-01-19 12:21:59 +01:00
zicodxx 493f1cff34 Introducing new BOUNTY Multiplayer game mode by Matt -1360- Vandermeulen <matt1360@gmail.com>; Fit show_HUD_names code to be more similar to D2X - names display still client-decided tho 2011-01-19 02:19:15 +01:00
zicodxx 0177a6f2ae 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:06 +01:00
zicodxx 61a5524e4e Correction for rev1009: Do not need to delete object Dead_player_camera since it's a new level with new objects to begin with 2011-01-18 20:02:02 +01:00
zicodxx 3c744c9b91 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:05 +01:00
zicodxx b5adb1838a 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:26 +01:00
zicodxx fc92651eb2 Fixing memory corruptions produced by the scanline renderer; Dynamically allocate y_pointers to free scanline renderer from resolution limits 2011-01-17 21:00:45 +01:00
zicodxx 55463ae08b Reverting change from r1004 in automap.c code - was not meant to be commited - whoops 2011-01-17 15:02:33 +01:00
zicodxx 587938363e Before duplicating last pixel column or row in ogl_filltexbuf, make sure we are still in actual bitmap boundaries 2011-01-17 15:00:13 +01:00
Chris Taylor b4f7151ac8 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:09:07 +08:00
Chris Taylor 9f76c83802 No referring to non-existent ogl_maxanisotropy for non-OGL build 2011-01-17 12:37:04 +08:00
zicodxx 76514d8ba1 in ogl_filltexbuf add pixel row matching color of bitmap edge to get a clean border when filtering cockpit overlay bitmaps; Small text correction for sound menu to fit better on screen 2011-01-16 19:33:30 +01:00
zicodxx f5f7435439 Toggle console by KEY_SHIFTED+KEY_ESC again - as it should be 2011-01-16 11:55:26 +01:00
zicodxx 8c5f76a2aa Generally use PATH_MAX for filename arrays in titles code 2011-01-16 11:38:35 +01:00
zicodxx ee3a1b6189 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:45 +01:00
zicodxx a8f3f4764f 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; Little fix for ogl_get_verinfo which was taken out for ordinary OGL code but should for OGLES 2011-01-16 01:50:28 +01:00
zicodxx e77fc51656 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:13 +01:00
zicodxx ae194bf7a6 Fixed some compiler warnings 2011-01-15 00:33:10 +01:00
zicodxx eb1ad2655f 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:55:55 +01:00
zicodxx 79e57e679a 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 ce50e7d4e7 Added feature to optionally disable friendly fire in Team and Coop games 2011-01-14 19:48:36 +01:00
zicodxx 4e5e3fa604 Added Descent2 Multiplayer features: Kill goals, Allowed play time; Bright players, Invulnerable when reappearing 2011-01-14 17:56:14 +01:00
zicodxx 03fbd12ac9 Using timer_query() instead of clock() in InitPlayerPositions(); Also check up distance up to 10 segments 2011-01-14 16:38:06 +01:00
zicodxx c918f54d56 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; Fixed small compiler warning in gamesave.c due to last commit 2011-01-14 15:12:39 +01:00
zicodxx 6e0ea332de Removed D1X implementation of multiplayer powerup capping and added D2X code to replace this (UDP-only); Added a bunch of D2X code for general and multiplayer powerup dropping to make codes more consistent to each other; Removed MULTI_PROTO_D1X_VER and MULTI_PROTO_D1X_MINOR defines since they are not needed anymore 2011-01-14 14:29:36 +01:00
Chris Taylor 80597ad64f Fix compile errors introduced when merging 2011-01-14 17:49:33 +08:00
Chris Taylor 2bd3385abd 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-13 12:36:19 +08:00
zicodxx 010f7fb6d6 Fixed Menu setting for AllowedItems which was broken due to changed return value of newmenu_do1 2011-01-11 01:25:47 +01:00
zicodxx 35570bb2d5 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:53 +01:00
zicodxx 31d17380ec Added different reticle types with RGBA and size settings; Apply RGBA and size to FlightSim Indicator; Added Brightness Slider to Graphics options menu; Added OpenGL usage for gr_disk 2011-01-10 16:12:00 +01:00
zicodxx 7305f3d51e Mousebutton assigned to CYCLE SECONADARY was actually calling CYCLE PRIMARY 2011-01-09 19:45:09 +01:00
zicodxx 10e4fc3274 Fix for rev959: my_pnum must be defined static 2011-01-09 17:09:26 +01:00
zicodxx 38df3322e3 Set max UDP packet size to 1024 again (seems some configuration DO have problems with larger packets after all) 2011-01-09 14:19:00 +01:00
zicodxx f0d75e5689 Draw FlightSim Reticle on Automap display, too 2011-01-06 14:56:12 +01:00
zicodxx 28bf026158 Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag 2011-01-06 12:43:55 +01:00
zicodxx 6d665fbb10 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:30 +01:00
zicodxx 8c75bd0957 Added feature to disable D2-style Prox. Bomb Gauge; Moved NoRedundancy and MultiMessages toggles from GameArg to PlayerCfg to be set via Misc Options 2011-01-03 02:01:09 +01:00
zicodxx 919470db2f Added Cycle Primary/Secondary to the config panels for keyboard and joystick like in D2X-Rebirth and store them in the designated key/button arrays; 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:08:52 +01:00
zicodxx 80cf3fd308 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 2011-01-02 18:07:37 +01:00
zicodxx 70bf7e8694 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:43 +01:00
zicodxx 21adec7f5c 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:35 +01:00
zicodxx 05236e9c45 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:06 +01:00
Chris Taylor 0557c8bb43 Copy lots of editor stuff from d2x-rebirth to d1x-rebirth, getting it to work on Mac OS X 2010-12-24 12:26:24 +08:00
zicodxx e15bd60656 Align timer_delay for credits so the song (midi or redbook) should at least be heard once 2010-12-23 23:38:27 +01:00
zicodxx 9f138fbf2a 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 2010-12-23 22:42:06 +01:00
zicodxx 401a546bb2 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:53:23 +01:00
zicodxx 858aa603e6 added hitobj_list to struct laser_info to get a bit cleaner code 2010-12-22 10:41:15 +01:00
Chris Taylor e9fba443ef Fix warning for deliberate GameTime64 wrap; uncomment multi_object_to_object_rw and multi_object_rw_to_object prototypes 2010-12-22 17:38:52 +08:00
Chris Taylor 4f6199f40a Use game_init_render_buffers for editor (for now), fixing crash 2010-12-22 17:21:32 +08:00
zicodxx 4b265301a0 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:49 +01:00
zicodxx ffc73ed4f2 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:03 +01:00
zicodxx 970fd72eae 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:51:40 +01:00
Chris Taylor f4ec76d74d When setting a bogus sound in gamedata_read_tbl, don't let piggy_close free it. Fixes freeing of non-malloc'd pointer for PC shareware data 2010-12-04 13:44:09 +08:00
zicodxx f0c4d80f48 Made resent_delay for net_udp_noloss_process_queue() a bit longer depending on the player's ping 2010-12-03 01:09:22 +01:00
zicodxx 822ffc543f When Quitting is called in standard_handler disable Autodemo if active 2010-11-30 23:44:47 +01:00
Chris Taylor c34763b070 Turn fullscreen off when showing a messagebox for Mac; move songs_play_song(SONG_TITLE) from inferno.c to titles.c 2010-11-30 23:40:27 +08:00
zicodxx 427fb6d6b5 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:10 +01:00
zicodxx ce2fb8db90 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:32 +01:00
zicodxx 0c10299a5f Fix for r936 - re-added playing titles song when titles are about to show 2010-11-28 15:50:50 +01:00
Chris Taylor be82a68e77 Add support for OS native error/warning boxes, only implemented for Mac for now 2010-11-28 20:02:38 +08:00
zicodxx 8f349cfdc5 in do_powerup added check for distance of other players to powerup object to make redundant pickups less likely 2010-11-28 12:08:14 +01:00
zicodxx 2b02639bd2 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:04 +01:00
zicodxx e2730faa5b 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:44 +01:00
zicodxx 365def54ed 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:01 +01:00
zicodxx 5a6fb73ed2 When verifying objects, do not necessarily check for controlcen as it's not necessarily there in some anarchy missions 2010-11-23 16:16:22 +01:00
zicodxx 83d746151a changing max UDP size again - increasing to 576 - should still be safe 2010-11-23 16:12:00 +01:00
zicodxx 9e9063901e 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:44 +01:00
Chris Taylor a9996b9fe8 If it can't find descent.hog, still print some useful info 2010-11-22 21:18:43 +08:00
zicodxx be3b72b316 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:19:45 +01:00
zicodxx 21d93e84de For fresh configuration set Redbook music as default for Mac, Builtin music for all others 2010-11-21 13:02:45 +01:00
zicodxx 5cd011214f 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:08 +01:00
zicodxx 88b5205135 In plyr_save_stats setting filename to size of PATH_MAX to have enough space to also hold the player directory prefix which would otherwise create a memory corruption and crash the game 2010-11-13 00:46:39 +01:00
zicodxx 19d00e9851 In multi_consistency_error check for Game_wind before trying to set it in/visible - just for safety 2010-11-09 11:53:14 +01:00
zicodxx 6e1725d4e5 Increased buffer for fname2 in load_briefing_screen, preventing buffer overflow in case replacement filenames are longer than DOS-style 2010-11-01 17:47:26 +01:00
zicodxx 950eda94ef 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:21 +01:00
zicodxx a6312c8397 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:44 +02:00
zicodxx 8d1317b8f8 Make songs playing at end briefings loop, like they used to in the original game 2010-10-30 01:08:52 +02:00
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
Chris Taylor 499c8e3799 Fix errors for Mac OS 9, Mac OS X 'd1x' target builds again 2010-10-10 18:42:53 +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
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 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
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 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