Commit graph

951 commits

Author SHA1 Message Date
Chris Taylor b8b6a234c2 Pass the event to the individual gadgets' 'do' functions, fix compile warnings introduced in last commit 2011-10-25 09:39:35 +08:00
Chris Taylor 25c1b74e57 Pass the event to ui_dialog_do_gadgets and use it in that immediate function 2011-10-23 17:08:47 +08:00
Chris Taylor 96e619ae29 Move calls to ui_dialog_do_gadgets to the dialog event handler, making sure ui_event_handler gets called beforehand 2011-10-09 20:31:39 +08:00
Chris Taylor 6eb4629ac2 Fix comparison is always false warning 2011-10-09 20:08:26 +08:00
Chris Taylor 5dc76799f2 Add support for 'modeless' windows - windows that will allow events to be passed on to the underlying window. Intended for the editor 2011-10-09 18:32:53 +08:00
Chris Taylor e01c25fbd2 Initialise dyn_light using memset, fixing a warning 2011-10-09 18:26:43 +08:00
zicodxx aa8286c1d6 Fixed set but unused variables 2011-09-27 01:31:19 +02:00
zicodxx 52f3f87359 Avoided variable array initializations which some compilers do not like; Also made sure declarations happen first inside (sub)functions; Fixed set but unused variables 2011-09-26 23:00:24 +02:00
zicodxx 80bf0580e4 Gave throttle it's own sensitivity and deadzone settings; Added patch by Hans de Goede to let Slide-On and Bank-On settings use invert settings from Slide- and Bank-axes 2011-09-26 20:22:38 +02:00
zicodxx e10975b3b4 Made the .desktop file follow the official specifications; Added explicit link to libmath for newer versions of binutils; Fixed crash using PhysFS 1.x in PHYSFSX_addArchiveContent() 2011-09-26 19:15:43 +02:00
zicodxx 8422d07cae Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 19:03:20 +02:00
zicodxx ba3d2e2d42 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 18:58:12 +02:00
zicodxx d444c571f5 Fixed misuse of gr_bitblt_find_transparent_area() caused rear view to be shifted on some cockpits 2011-09-25 01:01:53 +02:00
zicodxx 236e1c97fc Reworked wall_toggle() to work with index for segnum instead of a pointer, hopefully making the consistency check less error prone 2011-09-24 22:03:36 +02:00
zicodxx 2802ea7f08 Consistency check for segment number in find_vector_intersection() and obj_create(); Added more debug output for invalid segment numberin get_seg_masks() 2011-09-24 11:15:31 +02:00
zicodxx 813dd1a05b When restoring Coop players and make turn them into ghosts perform a check if this player is actually a valid player so we do not just blindly use any object number from a possibly uninitialized player structure 2011-09-23 19:48:48 +02:00
zicodxx a5d7454f64 Added wrapper functions dxx_sendto and dxx_recvfrom to collect simple statistics about amount and size of packets sent/received per second; Actually fixed packet scheduling in main UDP frame - was sending more than intended - stupid me 2011-09-21 20:03:46 +02:00
zicodxx 8b5b6b822d Fixed overuse of multi_send_sound_function when handling afterburner in case player is dead or escaped 2011-09-21 19:49:29 +02:00
zicodxx aa165490e6 Streamlined joining, rejoining, disconnecting players and timeouts, getting rid of unwanted rejoin messages and let host remove a player for good without rejoining it via pdata packet to really get rid of lossy or unwanted players; Care for rollover of pkt_num of stored mdata packets 2011-09-21 12:04:10 +02:00
zicodxx c71591c4e6 Removed saving/restoring the state of Packet Loss Prevention from Netgame profiles 2011-09-19 13:42:00 +02:00
zicodxx 951f3edd80 Reworked Packet Loss Prevention: If an important packet could not be recovered until it timed out, dump player who failed sending/receiving it; Noloss queue can proces spackets until a certain traffic has been reached; In main UDP frame schedule different types of packets depending on PPS to decrease traffic produced in one frame, hopefully preventing too much loss in high-traffic situations; Small code cleanups; Added new dump signal for loss of important packet; When dumping player also disconnect that one in case the dumped player does not accept the signal 2011-09-19 13:01:11 +02:00
zicodxx a8892bd13a Added new priority level for MDATA packets to also send them ASAP without the need for an ACK; Streamlined sending multibot and fire packets and on the way artificially and automatically scaling fire rates, energy/ammo usage and damage of weapons in Multiplayer to decrease traffic easy way without changing the Gameplay 2011-09-15 10:45:48 +02:00
zicodxx d9ca3a2287 Removed support for IPX protocol and MS-DOS-Multiplayer-compability due to age and lack of real need and to really improve on the Multiplayer without adding too much complexity for backwards-compability 2011-09-14 01:15:32 +02:00
Chris Taylor 81f2b39cb3 Define USE_TRACKER for Mac OS X, remove reference to deleted cfile.h 2011-09-13 09:42:37 +08:00
Chris Taylor 2de1258995 Mention Mac command keys 2011-09-13 09:28:13 +08:00
Chris Taylor 94f896c169 Move EVENT_MOUSE_DOUBLE_CLICKED support from ui/mouse.c to arch/sdl/mouse.c for tidiness and to possibly use it outside the editor 2011-09-12 11:03:57 +08:00
zicodxx 7efd8f8183 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:22 +02:00
zicodxx 27a638a33a Added Polygon model viewer and GameBitmaps viewer in non-Release build for debugging, messing around, DXX-Redrawn, etc. 2011-07-20 14:44:49 +02:00
zicodxx aff2318e3f Changed my eMail address 2011-07-19 22:00:25 +02:00
zicodxx 03f0613c8d Keep copyright information up to date 2011-07-19 11:36:26 +02:00
zicodxx 0e50a9e7c4 Properly call multi_leave_game() when host leaves multi game to let clients exit smoothly 2011-07-19 11:31:08 +02:00
zicodxx 7275fd8b87 Changed version to 0.57.1; Updated release notes 2011-07-16 21:21:14 +02:00
zicodxx 5ea72ad2fc 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:22 +02:00
zicodxx a28f482027 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:40 +02:00
zicodxx dafe61b488 properly check and fix viewMatrix in free flight auotmap 2011-07-15 16:01:40 +02:00
zicodxx 4367c9a117 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:06 +02:00
zicodxx b83e27005f 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:03 +02:00
zicodxx 8a495dab09 When updating netgame hoard game flag used for compability reasons must be removed as it can be set - otherwise screwing up game mode display in netlist menu 2011-07-15 01:34:36 +02:00
zicodxx fa96b3e5d7 Due to descent2.ham reloading, hoard.ham must realod properly as well; cover multi_send_sound_function by plp preventing sound loops get lost/screwed in action 2011-07-14 13:38:04 +02:00
zicodxx 0eca250fd4 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:44 +02:00
zicodxx 97f2bb11cb 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:43 +02:00
zicodxx 9726c06b6a Fixed uninitialized bytes in multi_do_create_robot_powerups() and two set but unused variables 2011-07-12 15:34:42 +02:00
zicodxx a87dccd1bf Readded automatic wall-flag setting for opened doors as PLP cannot protect us from negative side-effects due to how gullible multi_do_door_open() works 2011-07-12 00:11:00 +02:00
zicodxx fbc6112d44 Added complex error output if illegal segnum passed to get_seg_masks(); Fixed warning about set but unused variables 2011-07-10 01:09:43 +02:00
zicodxx 6f0567041a 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:22 +02:00
zicodxx 7072a067a9 Just like for players do not protect robot firing or positional data (via PLP) to prevent jumpy movement with delayed packets 2011-07-09 13:30:33 +02:00
zicodxx 41b4c080fa In Multiplayer games show player names in big guided window as well 2011-07-09 13:25:11 +02:00
zicodxx 325fe4f23f Make sure hmp_reset() is only executed if a song was playing 2011-07-08 01:46:31 +02:00
zicodxx c947462c38 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:44 +02:00
zicodxx 73776303f8 Fixed typo 2011-07-04 21:46:14 +02:00
zicodxx dc0400205b Only call show_netplayerinfo() if GM_MULTI is set and reset netplayerinfo_on in game_setup() 2011-07-04 11:23:53 +02:00
zicodxx b66efa5be4 Reset idle timer in main menu correctly even after playing the intro movie; Also got rid of a goto as it's generally bad and not needed since random demo selection picks a correct demo anyways 2011-07-02 22:59:03 +02:00
zicodxx 837ccccf80 When initializing ai object correctly initialize Ai_local_info to prevent glitches like random submodel angles 2011-07-02 22:48:12 +02:00
zicodxx a973da9432 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:00:59 +02:00
zicodxx 8a6839e8a1 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 775ad16622 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; Fixed sending of allowed items; Fixed player selection screen 2011-06-28 22:00:44 +02:00
zicodxx d60dffdaff 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:24 +02:00
zicodxx dd01f591a6 Fixed object sync for latecoming clients which was broken due to a very, very, VERY stupid mistake... 2011-06-24 13:09:42 +02:00
zicodxx ea16967383 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:20 +02:00
zicodxx 5252e41d31 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:24:00 +02:00
zicodxx 1be064dfb9 When GameArg.CtlNoStickyKeys was introduced I forgot to add an actual check if -nostickykeys was supplied - fixed now 2011-06-21 19:19:17 +02:00
zicodxx 47c687d5fc in compute_light_emission() handle RT_NONE for delayed explosion fireballs 2011-06-20 11:30:12 +02:00
zicodxx 7c4d9afc80 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:46 +02:00
zicodxx e3217385d2 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:58 +02:00
zicodxx 68c9ccadd0 Definition of dynlight_time should have been static to archive timed light calculations 2011-06-07 17:31:49 +02:00
zicodxx 4d51c1d8dd Correctly disable secret levels for Shareware 2011-06-07 00:21:43 +02:00
zicodxx acf7052546 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:19:38 +02:00
zicodxx df7fa858bc 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:12 +02:00
zicodxx 3db4007d8a 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:37 +02:00
zicodxx 0a4c6eef58 Just generally ignore missing sounds in digi_xlat_sound just like D1X-Rebirth - not limit to Shareware 2011-06-04 21:31:25 +02:00
zicodxx 144eacb061 Correctly handle PC Shareware for start_endlevel_movie() again without the defines but via is_SHAREWARE 2011-06-04 12:22:03 +02:00
zicodxx 8fde65eb3c Play SONG_BRIEFING and SONG_ENDGAME on all non-builtin missions if available 2011-06-04 11:38:10 +02:00
zicodxx 7b08964f78 Don't force AltSounds on PC-Shareware content but still must bail out on missing sounds using a small hack. Still gives a better sound palette than AltSounds 2011-06-04 11:35:41 +02:00
zicodxx 6fe5bee78a 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:39 +02:00
zicodxx a2e5afedf7 Added proper colored lighting handling for RT_POWERUP which I not noticed was wrong before ... darn dim glowing powerups 2011-06-01 15:49:06 +02:00
zicodxx dd455389cd 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:16 +02:00
zicodxx 9f42879473 When reaching EL_FLYTHROUGH in do_endlevel_frame() do not check for start_endlevel_movie() anymore but rather it's result so this subfunction does not get called again which does not only save us from executing pointless code and code which screws up flythrough sequence 2011-06-01 14:39:23 +02:00
zicodxx dd991fbf6b 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:55 +02:00
zicodxx d34936d775 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:45 +02:00
zicodxx ea70f3db03 Made netgame setup menu more flexible towards (constant or temporary) changes in available game modes 2011-05-28 12:07:40 +02:00
zicodxx 54f8868d4e in game_render_frame_mono() call show_netplayerinfo() last so window views do not overlap 2011-05-26 15:57:02 +02:00
zicodxx 52a4c9ff59 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:28 +02:00
zicodxx dadb99bdca 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 2011-05-25 15:25:13 +02:00
zicodxx bdeb0a70b4 When restoring Coop setting from netgame profile don't forget to fix max players variable 2011-05-22 20:04:43 +02:00
zicodxx 23197f52e5 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:47 +02:00
zicodxx 8962863723 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:07 +02:00
zicodxx a1aff93761 Made Automap Free Flight controls an optional feature which can be set in MISC OPTIONS 2011-05-20 12:23:28 +02:00
zicodxx 2f098796e0 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:20 +02:00
zicodxx b2bd51d870 Updated docs and fixed some typos 2011-05-20 00:14:42 +02:00
zicodxx 2a60b32da2 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:04 +02:00
zicodxx 270a86da56 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:49 +02:00
zicodxx 9b17431c45 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:14 +02:00
zicodxx ea850bd8eb 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:38 +02:00
zicodxx 228915c750 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:26 +02:00
zicodxx 3de822c306 Added more info: M3U-support, GCC 4.6 warnings, more tracker infos 2011-05-15 12:15:36 +02:00
zicodxx ecdeed6228 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:12 +02:00
zicodxx aa520e662a 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:13 +02:00
zicodxx 80ff014743 Don't call automap_process_input() if autmap_key_command() returns 1 preventing input mess 2011-05-07 13:29:26 +02:00
zicodxx 580ac93b7c 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:05 +02:00
zicodxx dbd7e83c35 Changed version from 0.56 to 0.57; Added first draft for RELEASE-NOTES.txt; updated docs 2011-05-07 02:51:21 +02:00