Commit graph

1234 commits

Author SHA1 Message Date
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 6459b6ed8a Smash texture list when switching between window mode and fullscreen prevent invalid textures; Made code to capture Screenshots more similar between OpenGL and OpenGL ES 2011-04-10 12:28:19 +02: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
Chris Taylor 66035f3269 Tell people about The Unarchiver for installing from the Mac game CD (thanks, Jonathan\!) 2011-04-10 13:32:31 +08: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 c8f4008878 Fixes for OpenGL ES implementation 2011-03-28 01:57: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 d7d7661cd6 Fix for last revision: Correctly initialize cv_fade_level and cv_blend_func when creating initializing a canvas 2011-02-24 00:21:47 +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
Chris Taylor 32187e428f 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:36:18 +08:00
zicodxx 4c58b43b2d 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:03 +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 80e9e5893e Fixed memory leak produced by drawing circles and disks 2011-02-09 17:18:26 +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 09debd3e2f 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:47:54 +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 17d0482938 After rendering Reboot reticle, reset glLineWidth to default value again 2011-02-02 02:12:09 +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 5f096e322a In event_process() check for wind->next before sending EVENT_WINDOW_DRAW in case drawing will free wind 2011-01-26 11:55: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