Commit graph

1095 commits

Author SHA1 Message Date
zicodxx 74c7bdd7c5 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:16 +02:00
Chris Taylor fe3f8653e6 Allow completely free movement in the automap. It will rotate relative to the viewer. Also fix an unused variable warning. 2011-04-10 19:57:06 +08:00
zicodxx 025f04c389 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:29:06 +02:00
Chris Taylor fa14dbe28e Tell people about The Unarchiver for installing from the Mac game CD (thanks, Jonathan\!) 2011-04-10 13:34:13 +08:00
zicodxx 6922100a0c Fixed text-related annoyances: Fixed positions of strings TXT_CLOAKED and TXT_CRUISE in CM_FULL_SCREEN; Fixed scaling of tab_stop in briefings (again) 2011-04-10 03:11:00 +02:00
zicodxx c56a87b2de Reworked Omega cannon: Instead of firing every frame, fire in 33.33ms intervals instead which will improve performance, decrease network traffic and make damage in Multiplayer not a totally random factor; To compensate inaccuracy due high velocity of leading omega blob, check for it's distance from parent and delete if distance > MAX 2011-04-10 01:48:15 +02:00
zicodxx d5619e806a Allow multi_send_fire when necessary and not crop to PPS so fix weapons with high firing rate 2011-04-08 01:38:00 +02:00
zicodxx 112a9d7d58 When sliding along a wall keep wall_part sane to ensure good velocity for slide 2011-04-07 22:49:42 +02:00
zicodxx eb7e001c2f 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:51 +02:00
zicodxx 7f18afd5d7 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:34 +02:00
zicodxx 050197c3fb removed debugging output accidentially left in ... 2011-03-29 00:39:31 +02:00
zicodxx 5986b38a80 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:41 +02:00
zicodxx d05344d723 Fixes for OpenGL ES implementation 2011-03-28 01:57:18 +02:00
zicodxx 8faed77f5f 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; Suspend Game_wind when playing endlevel movie while demo playback 2011-03-28 01:39:51 +02:00
zicodxx 6308d5c4b7 Added hack to fix illegal segment (104) in D2 Level 12 which should be fixed in the level itself but impossible due to copyright of original game content... 2011-03-27 23:58:53 +02:00
zicodxx 4301faad97 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:17 +02:00
zicodxx 56348243b5 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:39 +01:00
zicodxx bdade98976 Due to lazy copy&paste sliding up/down speed was divided by 2 - fixed 2011-03-10 21:39:49 +01:00
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 9a64614a04 fix to rev 1048 - not completely there today... 2011-02-03 01:19:33 +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 800dcc3b48 Small correction for last commit - key handler of automap was reacting to non-key events as well 2011-02-02 02:08:29 +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