Commit graph

889 commits

Author SHA1 Message Date
zicodxx d1a471dedc Due to conversion from fix64 to fix Boss_dying_start_time was not 0 when saving even if boss was not dead - fixed; Fixed warning about set but unused variable 2011-08-26 18:56:18 +02:00
zicodxx a2bdb63149 Added Polygon model viewer and GameBitmaps viewer in non-Release build for debugging, messing around, DXX-Redrawn, etc. 2011-07-20 14:44:46 +02:00
zicodxx 25060a4441 Changed my eMail address 2011-07-19 22:00:25 +02:00
zicodxx 43e3be131c Keep copyright information up to date 2011-07-19 11:36:12 +02:00
zicodxx d850bcc14e Properly call multi_leave_game() when host leaves multi game to let clients exit smoothly 2011-07-19 11:30:21 +02:00
zicodxx 23c04c17e1 Changed version to 0.57.1; Updated release notes 2011-07-16 21:21:11 +02:00
zicodxx c8b7f65809 Fixing Redbook hooks: Initialize last_check_time in RBACheckFinishedHook(); Execute RBACheckFinishedHook() during EVENT_WINDOW_DRAW in standard_handler() as EVENT_IDLE rarely happens if you have a shivering Joystick connected for example 2011-07-16 16:02:20 +02:00
zicodxx 5c660b3a2d Correctly proceed to new Redbook track if songnum != Song_playing (hopefully - to confirm); Using songs_stop_all() in songs_uninit() to clear redundancy; added some notes to functions to shine a bit light on the mess of some functions 2011-07-16 11:36:36 +02:00
zicodxx 497dfd0b09 properly check and fix viewMatrix in free flight auotmap 2011-07-15 16:01:37 +02:00
zicodxx 632f001f16 Fixed typo in Packets per sec. in GAME_RULES screen; Reduced max amount of games shown on netlist to 900 to reduce RAM usage... as if we'd ever reach this 2011-07-15 11:46:04 +02:00
zicodxx 77f0edf8ac Bail out of hmp_reset() if midiOutOpen fails and return error with -debug set; execute hmp_reset() before first song plays; renamed digi_win32_stop_current_song() to digi_win32_stop_midi_song() to keep naming convention; Fixed some compiler warnings 2011-07-15 10:43:01 +02:00
zicodxx 83f64ec080 When colliding with robot not controlled by us in Multi-Robot game do not apply force or damage - wait until the robot is under our control - preventing juggeling robots back and forth between players and creating massive damage 2011-07-14 13:36:24 +02:00
zicodxx cf23e6bb24 Stability fixes: avoid somfusions with same named variables in one function; Properly sort out players from player list that use too long filenames; Removed call for gr_set_fontcolor in kconfig where no canvas is set, causing crashes when trying to reassign a button, key or axis 2011-07-13 23:26:42 +02:00
zicodxx 8bc5fd54a1 Fixed uninitialized bytes in multi_do_create_robot_powerups() and two set but unused variables 2011-07-12 15:34:47 +02:00
zicodxx 387645f7c8 Add fallback routine from D2 source in wall_frame_process() to automatically set open-flag if wall state is set to opened 2011-07-12 00:08:55 +02:00
zicodxx c4c93e5cf1 Added complex error output if illegal segnum passed to get_seg_masks(); Fixed warning about set but unused variables 2011-07-10 01:09:40 +02:00
zicodxx e8a1f903f9 Added new dynamic light calculation which works with find_connected_distance() preventing vertecies to be lit up without connection to light source but still maintaining illumination. Still deactivated as it needs more optimization - planned for 0.58. Removed old alternative dynamic lighting which was suppoed to work via fvi but way slower than the new one 2011-07-09 21:39:19 +02:00
zicodxx 72073d7ed6 Make sure hmp_reset() is only executed if a song was playing 2011-07-08 01:46:27 +02:00
zicodxx dbdf7e27dc Slight improvement for Packet Loss Prevention: Be able to send to 35 packets per call of net_udp_noloss_process_queue() and also let counter only increase if a packet was actually sent, making sure the queue is not stuck on the first 5 packets in the list 2011-07-08 01:23:41 +02:00
zicodxx 1bc5378f78 Only call show_netplayerinfo() if GM_MULTI is set and reset netplayerinfo_on in game_setup() 2011-07-04 11:23:50 +02:00
zicodxx 53fca9dd44 When initializing ai object correctly initialize Ai_local_info to prevent glitches like random submodel angles 2011-07-02 22:48:10 +02:00
zicodxx 2da37871b8 Made formatting for help text more consistent and prettier; Somewhat changed the code for help text so we can use variables in the help text. For example: If we change MAXIMUM_FPS, it will automatically be displayed in the help text without manual editing needed 2011-07-01 01:01:06 +02:00
zicodxx 4fcfe5618c changed variables and pointer carrying vertex indexes from short to int to handle levels with over 900 segments properly 2011-06-30 12:23:38 +02:00
zicodxx 66978064d1 Due to design issue in demo system initial recording of doors could place same texture on front and back sides of doors - fixed as good as possible (wish I could expand the demo format) 2011-06-29 14:53:42 +02:00
zicodxx 3be8070aa5 Correctly disable/initialize Multiplayer features not supported by IPX games for compability; Removed show_games_rules as there isn't much useful to show there; Some more code simplicity 2011-06-28 22:00:41 +02:00
zicodxx 13fe431c7b Fixed possible memory corruption when saving Current_mission_filename which is not necessarily a 9 byte long allocated string; Bit safer string handling with snprintf; Fixed set but unused variables like a boss 2011-06-28 09:16:21 +02:00
zicodxx 8c0c5d4d81 when entering secret level reset Control_center_destroyed when we start the level and not in between as it will break sending endlevel packets 2011-06-27 18:17:04 +02:00
zicodxx 71caea4ee2 Fixed object sync for latecoming clients which was broken due to a very, very, VERY stupid mistake... 2011-06-24 13:09:39 +02:00
zicodxx a605c03076 For Hotshot and above made homing missiles turn to player a bit less agressive which is hardly noticable but slightly increases the chance to shake off a projective even if dodged without perfect timing. This makes possible to survive in case a player/bot shoots several homing projectiles in spread fashion 2011-06-23 09:50:14 +02:00
zicodxx e26a5bb354 PlayerCfg.MultiMessages was supposed to only show messages of class HM_MULTI but turned out to only block HM_REDUNDANT, too. Fixed this copy/paste error of mine 2011-06-23 09:23:53 +02:00
zicodxx ad850557ca in compute_light_emission() handle RT_NONE for delayed explosion fireballs 2011-06-20 11:30:11 +02:00
zicodxx fa85aa820d By using fixed distance bumping for fix_illegal_wall_intersection making the whole process much more reliable on sharp edges 2011-06-17 00:33:42 +02:00
zicodxx df59103290 Condition for sound sample number for SOUND_CHEATER was reversed between Shareware and Full Release content 2011-06-13 17:22:13 +02:00
zicodxx 24b8426dd5 Saturate colored dynamic light just like normal one - makes the hwole thing a bit less colorful but makes for better balanced color mixing (theoretically) and does not reduce static light 2011-06-09 10:28:55 +02:00
zicodxx 425eef904d Definition of dynlight_time should have been static to archive timed light calculations 2011-06-07 17:31:45 +02:00
zicodxx 96c6458eb8 For all filename strings use PATH_MAX as size, make sure they are inited correctly and only fill them with snprintf instead of sprintf 2011-06-06 21:17:16 +02:00
zicodxx ed5cefb117 For all filename strings use PATH_MAX as size, make sure they are inited correctly and only fill them with snprintf instead of sprintf 2011-06-06 16:33:10 +02:00
zicodxx 856ac49a7b for flexibility in terms of modding, allow player ship textures in Multiplayer be <= N_PLAYER_SHIP_TEXTURES and not hit Assert but pull out Eroor if there are more 2011-06-04 22:50:35 +02:00
zicodxx 5d1cf695e2 Fix weapon selection sounds fpr pc shareware and do not allow selecting weapons not available in this content (i.e. if obtained by cheat) 2011-06-04 13:17:54 +02:00
zicodxx bc7089fd7e Since set_dynamic_light() is not necessarily processed each frame, added own counter for delayed precession of vertex-clight calculation; Added possibility to page in a bitmap in case an object which has never been rendered before is supposed to cast light visible by the player 2011-06-04 10:04:35 +02:00
zicodxx 852d9d0334 Added proper colored lighting handling for RT_POWERUP which I not noticed was wrong before ... darn dim glowing powerups 2011-06-01 15:49:03 +02:00
zicodxx fc985c3ccb Executing timer_update() at the beginning of calc_frame_time in case event_process() taking a significant amount of time to reach the game window and therefor could make FrameTime be inaccurate 2011-06-01 15:06:14 +02:00
zicodxx dcc964817e Got rid of cfile code: Renamed cfile-functions to use PHYSFSX-naming convention, Replaced cfile-macros with proper PHYSFS(X) calls; Introduced PHYSFSX_exists() which can check case-sensitive or case-insensitive to give more flexibility with game content 2011-06-01 09:59:51 +02:00
zicodxx 21082c6db2 Added own channel management to SDL_mixer sound interface since the builtin channel management of this lib cannot handle our needs; Little code cleanup 2011-05-30 02:17:42 +02:00
zicodxx 75af2aa90c Made netgame setup menu more flexible towards (constant or temporary) changes in available game modes 2011-05-28 12:07:36 +02:00
zicodxx b9995f3e34 In event_process() if a window closes while being drawn and there isn't a previous window we can get the next from just finish processing for this frame 2011-05-26 09:41:26 +02:00
zicodxx af7c22faa2 Added multi_send_data_direct to send multibuf to a specific player (i.e. Host<->Client, not Client<->Client); Overhauled kill sending/receiving and computation to rely in host information about game_mode-related variables (team_vector, Bounty_target) which are vital for consistent kill computation; Added function to send/update game_mode-related variables and solve /move command with this as well instead of workaround via updating lite_info; Introduced /move commend from Descent2 to move players between teams 2011-05-25 15:25:06 +02:00
zicodxx 6628a6efbe When restoring Coop setting from netgame profile don't forget to fix max players variable 2011-05-22 20:04:40 +02:00
zicodxx 6fe57317cc Like in BigEndian builds do netmisc_calc_checksum() only with expected items of segment/side struct to prevent different checksums in case these structs change; Fixed several issues when building with editor; Fixed compiler warning regarding set but unused variable 2011-05-22 19:54:44 +02:00
zicodxx bfad1aac59 Making D1X- and D2X-Rebirth more similar in behavior of which player limit is needed to start team-based game in both RELEASE and DEBUG builds 2011-05-20 16:15:04 +02:00
zicodxx 06c0311a7a Made Automap Free Flight controls an optional feature which can be set in MISC OPTIONS; Fixed possible path string issue in plyr_read_stats_v() and fixed compiler warning regarding set but unused variable 2011-05-20 12:23:22 +02:00
zicodxx bbe0ccb64f Rearranged code to check for netgame-closed flag and refuse-players flag so they are updated correctly if another part of the code changes the menu item without activating it 2011-05-20 11:48:17 +02:00
zicodxx 1f70e1dd23 Updated docs and fixed some typos 2011-05-20 00:14:40 +02:00
zicodxx 29580f9823 Removed key_flush() call from save_screen_shot() - not needed anymore due to new input reading and only screws up ingame controls 2011-05-19 23:49:01 +02:00
zicodxx 1a97660653 for fix_illegal_wall_intersection() try using the distance we moved to move out from the wall. Just in case it's a sane value, i.e. > 0 and <= obj->size/2 2011-05-19 11:49:47 +02:00
zicodxx bc47c43c36 Reset new_Bounty_target after using it and let host add a number on how often Bounty is reassigned. Both additions should help keeping target correct no matter how if multiple packets of the same type are disordered, delayed or both 2011-05-19 02:34:06 +02:00
zicodxx 6f4ad8eef3 Improvement for fix_illegal_wall_interesection(): Move away from wall in right angle - not towards center. This improves the bumping in many situations and prevents ship getting stuck in small segments. Simplified and optimized code as well and removed check for degenerated Segments as not needed with this approach; Fixed some compiler warnings regarding set but unused variables 2011-05-19 01:25:36 +02:00
zicodxx 4a99054425 for debug build ignore player Highest_level_index when starting a mission, making *Load Level* entry in main menu obsolete; Fixed two compiler warnings regarding set but unused variables 2011-05-16 01:46:23 +02:00
zicodxx eb893f6369 Added more info: M3U-support, GCC 4.6 warnings, more tracker infos 2011-05-15 12:15:35 +02:00
zicodxx cac2946f34 Solved possible issue when setting new Bounty_target via host messing up scores or new target itself - only set if player decided why to unset Bounty_target, keeping code flow and game logic in order; Fixed two compiler warnings regarding set but unused variables 2011-05-15 11:59:11 +02:00
zicodxx 408d2abf90 Send player position also when multi_send_player_explode() is called so powerups drop at the right spot in case the respawn packet arrives first 2011-05-13 22:21:10 +02:00
zicodxx 456bf90d81 Don't call automap_process_input() if autmap_key_command() returns 1 preventing input mess; Fixed two compiler warnings regarding set but unused variables 2011-05-07 13:29:21 +02:00
zicodxx 836cae5456 Taken out Render_depth reduction of Endlevel sequence in Software rendering build; Fixed two compiler warnings regarding set but unused variables 2011-05-07 12:25:03 +02:00
zicodxx 81f4e63f0c Changed version from 0.56 to 0.57; Added first draft for RELEASE-NOTES.txt; updated docs 2011-05-07 02:51:18 +02:00
zicodxx 72dde06f59 Enabled Tracker support for Mac OS 2011-05-07 00:53:52 +02:00
zicodxx 0b7548b6c8 Correctly handle light computation of objects with render_type RT_LASER 2011-05-05 20:45:22 +02:00
zicodxx e6091eae9d Update for Debian packaging stuff 2011-05-05 01:31:07 +02:00
zicodxx ca4d5b4263 When using PC Shareware pigfile do not show key icons in CM_FULL_SCREEN since pigfile does not have these icons 2011-05-05 01:07:08 +02:00
zicodxx f2fb5c462a Host can now decide (again) if players are allowed to display enemy names on HUD 2011-05-05 00:16:35 +02:00
zicodxx 5f5b5b415f Due to increased size of MAX_SEGMENTS old savegames became incompatible. To compensate added MAX_SEGMENTS_ORIGINAL with the original segment amount and read certain savegame info with this info when dealing with standard-sized levels and use Highest_segment_index when dealing with larger levels which are incompatible with older versions of the game anyways. Makes savegame site more efficient and still maintain backwards compability 2011-05-04 15:07:53 +02:00
zicodxx cdbf6c0485 To compensate fewer FVI runs in lower FPS and wall penetration caused by strong forces allowed fix_illegal_wall_intersection() to move an object out of the wall half it's size improving the collisions once more 2011-05-04 13:06:27 +02:00
zicodxx be253a37f2 mipmapping was always on for fonts due to changed filtering code in ogl.c 2011-05-04 12:18:23 +02:00
zicodxx adc53702ff Fix crash in multi_maybe_disable_friendly_fire() when killer == NULL 2011-05-04 12:05:43 +02:00
zicodxx 02a29235a9 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:17 +02:00
zicodxx 609bd15fd1 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:07 +02:00
Chris Taylor 4efbd0d9c4 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 12:20:52 +08:00
zicodxx defdf0090f 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:27 +02:00
zicodxx 43dd6f062e Fixes for RLE- and Texture-cache modifcations: Before freeing now must check if bitmap is already allocated 2011-04-22 17:10:31 +02:00
zicodxx 53d48e005e 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:02:03 +02:00
zicodxx 7890015efd 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:03 +02:00
zicodxx a5db1fd476 Added SDLK_WORLD_** symbols to keyboard array to enable layout specific keys and make the game more flexible 2011-04-21 21:22:44 +02:00
zicodxx c52510eb78 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:30 +02:00
zicodxx 6fe4dd5d96 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:12 +02:00
Chris Taylor 6076b7640d 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:30:46 +08:00
zicodxx 85066d81a4 Fixing km struct being used after it's being freed by closing the window in EVENT_WINDOW_DRAW 2011-04-14 11:15:15 +02:00
zicodxx bb140620ad 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:13 +02:00
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 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
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