Commit graph

794 commits

Author SHA1 Message Date
zicodxx 62a7386d2a mipmapping was always on for fonts due to changed filtering code in ogl.c 2011-05-04 12:18:25 +02:00
zicodxx 040407cf02 Fix crash in multi_maybe_disable_friendly_fire() when killer == NULL; Do not let player join game when gamemode is HOARD or TEAM HOARD and hoard.ham is not available 2011-05-04 12:05:59 +02:00
zicodxx 98e3706ada Make sure the big explosion at the end of the escape sequence also uses blending if transparency effects are activated 2011-05-04 02:22:18 +02:00
zicodxx 4d2e19a96d Since current approach to improve wall collisions prevented the player to enter segments which basically are too small for the player ship, added simple bumping function via object_intersects_wall(); Also when validating segments check for segment degeneration outside the editor build, too and set flag in segment structure for all different purposes but right now helps us to disable bumping when encountering degenerated segments and not break such levels 2011-05-04 02:15:10 +02:00
Chris Taylor 2a682044d6 Check if a menu closed in a subfunction before setting it's return value, fixing crash when levels are mismatched in multiplayer; Small tidy up for Xcode project 2011-04-24 13:34:59 +08:00
zicodxx d3601c56e3 Remember previously set up netgame variables in pilot-related file with extension ngp - due to feature consistency for UDP only 2011-04-22 17:14:29 +02:00
zicodxx c6bc3ff0c1 Fixes for RLE- and Texture-cache modifcations: Before freeing now must check if bitmap is already allocated 2011-04-22 17:10:33 +02:00
zicodxx 4e21bb9cd2 When reading ingame controls only flush mouse delta timer-based since reading is event-based already, allowing high precision no matter the game speed; Removed Mouse smoothing/filtering as it's now unnecessary due to event-based motion handling 2011-04-22 13:01:38 +02:00
zicodxx 10aca9a9fe Expanded possibilities for level authors: RLE- and Texture-cache accepts textures bigger than 64x64, only limit being Texture width must be equal height; Increased maximum amount of Segments from 900 to 9000 - not dynamically allocating them, yet 2011-04-22 10:33:04 +02:00
zicodxx 89ef310ec6 Added SDLK_WORLD_** symbols to keyboard array to enable layout specific keys and make the game more flexible 2011-04-21 21:22:46 +02:00
zicodxx d9bbc359a2 When leaving game and still sending extras, don't forget to update the timer so we won't get stuck in an infinite loop 2011-04-21 20:52:33 +02:00
zicodxx a498f20bc9 Moved reloading of main descent2.ham (in case mission brings it's own verision) from LoadLevel() to load_mission() so it does not screw missions with ther custom ham-file (like vertigo) 2011-04-20 19:42:02 +02:00
zicodxx 3705012d32 Resolved termination issue when reading and comparing callsigns fro Coop savestates; Added scores sending after Coop savestate loading as unrestored players will send them when loading new level 2011-04-20 01:47:15 +02:00
Chris Taylor cc5a7d1359 Fix broken m3u playlist support (in jukebox_play() path resolving); point to default descent.m3u playlist for Mac OS X (will be included in bundle); better error reporting in mix_play_file(); only make relative Jukebox path in the menu absolute after browsing it - relative paths are more flexible; allow select_file_recursive() to figure out PhysicsFS relative paths passed to it; stop the music if Jukebox is chosen and unavailable (used to just keep playing the last song) 2011-04-18 20:32:36 +08:00
zicodxx 54674a47ca Fixing km struct being used after it's being freed by closing the window in EVENT_WINDOW_DRAW 2011-04-14 11:15:17 +02:00
zicodxx 1b1fdd6575 Reset obj_color for colored object lights when object does not return any usable color so the object will cast white light at least 2011-04-13 21:18:18 +02:00
zicodxx 94490492a4 Fixing unfreed buffer when credits_show() was called but there was nothing to show me 2011-04-13 21:11:22 +02:00
zicodxx 87f0b2ee74 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:11 +02:00
zicodxx f42aa8a5fc 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:42 +02:00
zicodxx f207000f50 kconfig weapon cycling fields changed after 0.56 release will automatically fix if version number changes on next release 2011-04-12 12:17:24 +02:00
zicodxx 7ae49da7cf 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:51 +02:00
zicodxx a74fcba858 Stupid me forgot to let Omega use it's charge again after debugging it - fixed... 2011-04-12 02:31:51 +02:00
zicodxx baeca7ebfa 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; Removed ShowAllNames from Netgame structure as I see no reason why names display should be host-controlled; Increased UDP_NETGAMES_PAGES to actually show 3000 possible games 2011-04-12 00:45:21 +02:00
zicodxx cf50cda2ce 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:31 +02:00
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 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