Commit graph

1062 commits

Author SHA1 Message Date
Chris Taylor 8e0579c4a6 Fix comparison is always false warning 2011-10-09 20:07:21 +08:00
Chris Taylor 3121fb4990 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:31:44 +08:00
Chris Taylor 5f87108ba4 Initialise dyn_light using memset, fixing a warning 2011-10-09 18:25:33 +08:00
zicodxx fb775b35c3 Fixed set but unused variables 2011-09-27 01:31:17 +02:00
zicodxx bcdbff0665 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:23 +02:00
zicodxx aafc5ec877 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:35 +02:00
zicodxx d8263a85b6 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:39 +02:00
zicodxx c2b3c64314 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 19:03:12 +02:00
zicodxx 22316fa5d6 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 18:58:06 +02:00
zicodxx 80e69421d8 Fixed misuse of gr_bitblt_find_transparent_area() caused rear view to be shifted on some cockpits 2011-09-25 01:01:51 +02:00
zicodxx 0df7146226 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:33 +02:00
zicodxx 4e299e4f83 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:24 +02:00
zicodxx 7a4d7e3bc4 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:45 +02:00
zicodxx 8f483e690b 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:41 +02:00
zicodxx 60f8606813 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:09 +02:00
zicodxx 5f17f6a40b Removed saving/restoring the state of Packet Loss Prevention from Netgame profiles 2011-09-19 13:41:58 +02:00
zicodxx 3cad8885d4 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:08 +02:00
zicodxx 6fdf44035e 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:45 +02:00
zicodxx 7638390173 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:20 +02:00
Chris Taylor 5e17460eb6 Define USE_TRACKER for Mac OS X, remove reference to deleted cfile.h 2011-09-13 09:41:08 +08:00
Chris Taylor 05d02b49ed Mention Mac command keys 2011-09-13 09:26:47 +08:00
Chris Taylor 67b94d08b9 Put back the instructions for installing the PC data 2011-09-13 09:22:25 +08:00
Chris Taylor 3f5506ee72 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:02:30 +08:00
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
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 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 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
zicodxx 273d0b0dbe Added some new conditions to the bumping code: Only bump objects which can slide (alive robots and players) and added a count making sure this function can never get stuck in an infinite loop 2011-01-24 20:37:45 +01:00
zicodxx 6263db8521 Revamped what previously was the BUMP_HACK by checking if an object is actually intersecting a segment and move it out towards segment center just after the initial object movement composed by fvi and before velocity is made - should make inaccurate wall collisions a bit smoother and prevent objects from goind inside or through walls, too 2011-01-24 15:26:06 +01:00
zicodxx b624e51c35 For new player, set ReticleSize to 0 which is the smallest size 2011-01-23 18:22:10 +01:00
zicodxx 5b6c028c60 Increasing the collision count for objects so there can be 8 for all objects; also do not increase count when colliding with a powerup as it should not change our movement 2011-01-23 11:59:46 +01:00
zicodxx e5c1c4f963 Taking out one Assert in init_boss_segments() stopping the program if there is more than one boss in level - taking out because it's not fatal or unsafe to do that 2011-01-23 09:57:46 +01:00
zicodxx b35fd6e3d7 Removed fvi_a.h and added the asm code from it as comment to fvi.c in case we need it again some day 2011-01-22 21:43:20 +01:00
zicodxx e133e6e764 in show_framerate do not use gr_get_string_size at all but rather use hardcoded coordinates - less CPU-intense 2011-01-22 18:46:05 +01:00
zicodxx 6bcb2ef0cf Added swapping for 64Bit sized integers in case we want to store/read them some day (i.e. new Savegame version storing object instead of object_rw) 2011-01-22 18:14:14 +01:00
zicodxx bed51f2f4d _POLYOBJ_H definition was not terminated at end of file causing compiling to fail with WORDS_NEED_ALIGNMENT define 2011-01-22 18:06:42 +01:00
zicodxx 4b1faafc15 Handling Controlcen countdown Descent2-way to make code more similar but more importantly to avoid issues in Multiplayer levels which do not even have a Controlcen type Station causing the game get stuck in an infinite loop; Fixed small issue parsing killreactor command in Multiplayer 2011-01-22 17:56:23 +01:00
zicodxx 13faad1855 Added timer_update() to stop/start/reset_time() functions so resumed last_timer_value will be precise; Added new FPS counter which actually does count the frames rendered per second and is less irritating; Added timer_dleay2 call to console to not stress CPU too much; Imporoved placement for show_time(), multi messages 2011-01-22 13:30:12 +01:00
zicodxx 41a3d3971e Protection for negative array index in find_seg_side was accidentially checking for vv1 != -1 - fixed that 2011-01-21 17:45:26 +01:00
zicodxx c7038983d5 Added a simple random function for the Jukebox; Removed one small printf I once added for debugging 2011-01-20 12:17:24 +01:00
zicodxx 45d8b82ab6 Additional commit for last revision - didn't selected all files properly 2011-01-19 21:51:59 +01:00
zicodxx c124b0883f Retired most of the Assembler code except the generic i386 scanline renderer; Removed all leftovers of Direct3D implementation; On the way make a some code more similar between D1X-Rebirth and D2X-Rebirth 2011-01-19 21:35:14 +01:00
zicodxx 96a350e97f On NETGAMES list Bounty mode was not shown since MODE_NAMES define was not adjusted - so in the end introduced GMNames and GMNamesShrt Arrays in multi.c for globally displaying full or short Multiplayer game mode names 2011-01-19 19:55:32 +01:00
zicodxx 20cf4c5228 Fix for showing bounty target in kill list - was not actually checking if player_num == Bounty_target; When Bounty_target player leaves game host must select a new target so the game can proceed; Made Bounty sound play a bit louder 2011-01-19 12:21:59 +01:00
zicodxx 493f1cff34 Introducing new BOUNTY Multiplayer game mode by Matt -1360- Vandermeulen <matt1360@gmail.com>; Fit show_HUD_names code to be more similar to D2X - names display still client-decided tho 2011-01-19 02:19:15 +01:00
zicodxx 0177a6f2ae Instead of calling object/extras sending every frame, use a delay of 100ms between packet send to not overload the network stack 2011-01-19 00:07:06 +01:00
zicodxx 3c744c9b91 In net_udp_send_objects() player_num byte was not considered for mode 1 resulting on incorrect object count for this mode 2011-01-18 19:43:05 +01:00
zicodxx b5adb1838a Allowing loading a savestate while being in death sequence and resetting Dead_player_camera correctly in init_player_stats_level() so forther death sequences won't screw up 2011-01-18 15:53:26 +01:00
zicodxx fc92651eb2 Fixing memory corruptions produced by the scanline renderer; Dynamically allocate y_pointers to free scanline renderer from resolution limits 2011-01-17 21:00:45 +01:00
zicodxx 1eac00e0b5 opengles variable in SConstruct could be activated by command-line argument opengl 2011-01-17 19:27:54 +01:00
Chris Taylor 45930e9afe Rename ui/window.c to ui/dialog.c to avoid confusion with arch/sdl/window.c, also rename UI_WINDOW to UI_DIALOG, rename all associated functions, constants, parameters, local variables etc too; make a window when making a UI_DIALOG (does nothing yet) 2011-01-17 22:41:05 +08:00
zicodxx 587938363e Before duplicating last pixel column or row in ogl_filltexbuf, make sure we are still in actual bitmap boundaries 2011-01-17 15:00:13 +01:00
Chris Taylor b4f7151ac8 Fix cursor recentering issues - comment out redundant event_toggle_focus(1) calls in kconfig.c and newmenu.c and use event_toggle_focus(0) in ui_mouse_show() 2011-01-17 16:09:07 +08:00
Chris Taylor 9f76c83802 No referring to non-existent ogl_maxanisotropy for non-OGL build 2011-01-17 12:37:04 +08:00
Chris Taylor 11bbae4079 Still send idle events when receiving SDL joystick events, fixing possible joystick issues 2011-01-17 12:16:05 +08:00
zicodxx 76514d8ba1 in ogl_filltexbuf add pixel row matching color of bitmap edge to get a clean border when filtering cockpit overlay bitmaps; Small text correction for sound menu to fit better on screen 2011-01-16 19:33:30 +01:00
zicodxx f5f7435439 Toggle console by KEY_SHIFTED+KEY_ESC again - as it should be 2011-01-16 11:55:26 +01:00
zicodxx 8c5f76a2aa Generally use PATH_MAX for filename arrays in titles code 2011-01-16 11:38:35 +01:00
zicodxx ee3a1b6189 When changing resolutions and Game_wind is present, send EVENT_WINDOW_ACTIVATE shortly so it's canvase will align to the new resolution seamlessly 2011-01-16 02:09:45 +01:00
zicodxx a8f3f4764f Added feature to enable Anisotropic filtering is supported by hardware or driver; Reworked way of handling texture filtering information so ingame switching is possible again; Little fix for ogl_get_verinfo which was taken out for ordinary OGL code but should for OGLES 2011-01-16 01:50:28 +01:00
zicodxx e74f5e60d1 Fixed alpha limit for ogl_ulinec(), gr_uricle(), gr_disk() 2011-01-15 20:50:22 +01:00
zicodxx e77fc51656 main/game.c: Due to recent changes in event_poll() game_handler() must call ReadControls() for EVENT_MOUSE_MOVED, too; Little fix for FixedStepCalc() 2011-01-15 13:51:13 +01:00
zicodxx ae194bf7a6 Fixed some compiler warnings 2011-01-15 00:33:10 +01:00
zicodxx eb1ad2655f Converted console into a window and allow it to show in every part of the game; Fit several poll functions and kmatrix so they won't get interrupted by the console 2011-01-14 22:55:55 +01:00
zicodxx 79e57e679a Moved scroll arrow one unit to the left to be not pixel-aligned to possible checkbox; Made newmenu sliders only react to spacebar, backspace, left and right since pageup/down is already taken for menu scrolling and all other previous key assignments will not work on most spread keyboard layouts 2011-01-14 21:32:53 +01:00
zicodxx ce50e7d4e7 Added feature to optionally disable friendly fire in Team and Coop games 2011-01-14 19:48:36 +01:00
zicodxx 4e5e3fa604 Added Descent2 Multiplayer features: Kill goals, Allowed play time; Bright players, Invulnerable when reappearing 2011-01-14 17:56:14 +01:00
zicodxx 03fbd12ac9 Using timer_query() instead of clock() in InitPlayerPositions(); Also check up distance up to 10 segments 2011-01-14 16:38:06 +01:00
zicodxx c918f54d56 In multi_leave_game check for Player_eggs_Dropped before actually dropping to prevent multiple drops in case player quits game after being killed; put console output level of multiplayer powerup cap messagers to CON_VERBOSE; Fixed small compiler warning in gamesave.c due to last commit 2011-01-14 15:12:39 +01:00
zicodxx 6e0ea332de Removed D1X implementation of multiplayer powerup capping and added D2X code to replace this (UDP-only); Added a bunch of D2X code for general and multiplayer powerup dropping to make codes more consistent to each other; Removed MULTI_PROTO_D1X_VER and MULTI_PROTO_D1X_MINOR defines since they are not needed anymore 2011-01-14 14:29:36 +01:00
Chris Taylor 80597ad64f Fix compile errors introduced when merging 2011-01-14 17:49:33 +08:00
Chris Taylor 2bd3385abd For editor, replace use of ui_mega_process() with event_process(), with the editor's own default event handler; add EVENT_MOUSE_MOVED event with event_mouse_get_delta() accessor; add event_key_get() to replace ugly casting; rename mouse_get_button() with event_mouse_get_button() to keep with name convention; only send idle events when there are no input events so editor still works properly (or the same anyway); add and use event_send() function for input events (including idle) 2011-01-13 12:36:19 +08:00
zicodxx 010f7fb6d6 Fixed Menu setting for AllowedItems which was broken due to changed return value of newmenu_do1 2011-01-11 01:25:47 +01:00
zicodxx 340aa84298 Reverted most of the last commit - didn't work well when timer was updated too frequently 2011-01-11 00:37:38 +01:00
zicodxx b76daeb8a8 In timer_update() use i2f and fixdiv for SDL_GetTicks() to get more accurate values to F64_RunTime; Added rollover check for SDL_GetTicks() to timer_delay2() 2011-01-10 22:59:00 +01:00
zicodxx 35570bb2d5 Let credits track fade out at the end of text sequence; Fixed usage for RBAPlayTracks - when playing only one track last must be equal first, not 0; In hmp_open changed data from long to int, preventing memory explosion depending on optimisation of the code 2011-01-10 20:40:53 +01:00
zicodxx 31d17380ec Added different reticle types with RGBA and size settings; Apply RGBA and size to FlightSim Indicator; Added Brightness Slider to Graphics options menu; Added OpenGL usage for gr_disk 2011-01-10 16:12:00 +01:00
zicodxx 7305f3d51e Mousebutton assigned to CYCLE SECONADARY was actually calling CYCLE PRIMARY 2011-01-09 19:45:09 +01:00
zicodxx 8bda08ed7f Improvement on the HMP track loop feature by TURRICAN; Added small template fix for descent.hmp which is supposed to be activated soon as we have some kind or Checksum function 2011-01-09 17:51:45 +01:00
zicodxx 10e4fc3274 Fix for rev959: my_pnum must be defined static 2011-01-09 17:09:26 +01:00
zicodxx 38df3322e3 Set max UDP packet size to 1024 again (seems some configuration DO have problems with larger packets after all) 2011-01-09 14:19:00 +01:00
zicodxx f0d75e5689 Draw FlightSim Reticle on Automap display, too 2011-01-06 14:56:12 +01:00
zicodxx 28bf026158 Added OpenGL ES support - contributed by Florian Feucht and Oliver Haag 2011-01-06 12:43:55 +01:00
zicodxx 6d665fbb10 Introduced FlightSim control scheme for mouse which adds delta values to absolute position to behave like a Joystick; Added Deadzone slider for FlightSim as well as an optional Reticle display to show the positional data on screen; Removed old Mouselook hack in favor of this new feature 2011-01-04 11:43:30 +01:00
zicodxx 182fa63ea8 More consistency in SConstruct command-line variables; Added automatic Endianess-checker; Set target to 'd1x-rebirth' no matter if OpenGL or not 2011-01-03 11:42:50 +01:00
zicodxx 8c75bd0957 Added feature to disable D2-style Prox. Bomb Gauge; Moved NoRedundancy and MultiMessages toggles from GameArg to PlayerCfg to be set via Misc Options 2011-01-03 02:01:09 +01:00
zicodxx 919470db2f Added Cycle Primary/Secondary to the config panels for keyboard and joystick like in D2X-Rebirth and store them in the designated key/button arrays; Added Cycle Primary/Secondary for Mouse which makes wheel axis cycling unnecessary and also let Weapon Keys be assigned to a Mouse button; If GameArg.NoStickyKeys do flush these keys so they can be used as normal game keys - otherwise ban them; Fixed crash when reassigning mouse button greater than 3; Joystick/Mouse function taking button as argument now check for sanity of this value so they can safely be used in kconfig code and deal with unassigned key values 2011-01-03 01:08:52 +01:00
zicodxx 80cf3fd308 Introduced function key_ismodlck to get the status of modifier keys or sticky keys; Let sticky keys survive flush so we can accurately use their real states; Added key repeating via SDL; Depending on status of KEY_NUMLOCK keypad will either be used as numerical or arrow input in menus 2011-01-02 18:07:37 +01:00
zicodxx 70bf7e8694 Mouse wheel now can scroll through menu/listbox items; Right mouse button closes a menu (without the need of these ugly close boxes); Also added mouse-closing capabilities to credits, scores and kconfig menus; While being in UDP Netgames list, override keycode at PAGEUP/DOWN keypress to only flip pages without modifying citem also added messagebox showing TXT_INVALID_CHOICE when invalid netgame was chosen 2011-01-02 12:25:43 +01:00
zicodxx 21adec7f5c Fixed glitch in scroll arrow position; Added newmenu_scroll which can scroll through all kind is menu structures including automatically handling NM_TYPE_TEXT items as well as automatically updating scroll_offset; PageUp/Down now scrolls by 10 items, Home/end will select first/last/items of menu creating consistency to listbox behaviour; Fit text for GrabInput to be more understandable 2010-12-30 23:36:35 +01:00
zicodxx 05236e9c45 Added Sensitivity/Deadzone menu with sliders for each movement based action seperated for joystick and mouse to support all kinds of configuration - regardless the amount of joystick axes and whatnot; SDL_WM_GrabInput does not only capture mouse but also focus keyboard input - changed code to respect this fact and made grabbing a menu option which is enabled by default 2010-12-28 19:11:06 +01:00
Chris Taylor 54fea43e07 Make the keypad info display into a window 2010-12-28 12:27:34 +08:00
zicodxx 6ccbb83a88 Disabling IPv6 support for OS X since in Snow Leopard it's buggy, making all Multiplayer pretty much impossible - re-activating soon as proper patches from Apple are in sight 2010-12-24 10:06:03 +01:00
Chris Taylor 0557c8bb43 Copy lots of editor stuff from d2x-rebirth to d1x-rebirth, getting it to work on Mac OS X 2010-12-24 12:26:24 +08:00
zicodxx e15bd60656 Align timer_delay for credits so the song (midi or redbook) should at least be heard once 2010-12-23 23:38:27 +01:00
zicodxx 9f138fbf2a Reworked object sending/receiving to work without unnecessary type casting and a bit less error prone; Also increased UDP max packet size to 2048 so we can send 7 objects per frame 2010-12-23 22:42:06 +01:00
Chris Taylor da06d9889e Put event_process() in ui_mega_process(), hopefully getting editor to (mostly) work (not on Mac yet) 2010-12-22 22:13:33 +08:00
Chris Taylor 2effee8a4f Fix warning for deliberate GameTime64 wrap; uncomment multi_object_to_object_rw and multi_object_rw_to_object prototypes 2010-12-22 21:58:34 +08:00
zicodxx 401a546bb2 in IPv6 builds also send regular broadcast packets to get games found via LAN between IPv4 clients/systems and IPv6 clients/systems; rather than identifying (lite_info) games via IP use randomly generated GameID and game name to prevent duplicated coming from IPv6 builds 2010-12-22 14:53:23 +01:00
zicodxx 858aa603e6 added hitobj_list to struct laser_info to get a bit cleaner code 2010-12-22 10:41:15 +01:00
Chris Taylor e9fba443ef Fix warning for deliberate GameTime64 wrap; uncomment multi_object_to_object_rw and multi_object_rw_to_object prototypes 2010-12-22 17:38:52 +08:00
Chris Taylor 4f6199f40a Use game_init_render_buffers for editor (for now), fixing crash 2010-12-22 17:21:32 +08:00
zicodxx 4b265301a0 Made GameTime to GameTime64 using fix64; Changed all structures saving GameTime64 for internal timer purposes to store fix64 and added converting functions to save such times in fix; For Savegames/Demos always reset GameTime64 to 0 while saving and putting all timer values to safe limits, Multiplayer objects are sent in similar fashion 2010-12-22 01:17:49 +01:00
zicodxx c75cd30d84 In window_close() prev window did not get EVENT_WINDOW_ACTIVATED but the recent closed window got it causing previous window not being activated anymore and a bunch of memory errors 2010-12-22 01:11:11 +01:00
zicodxx ffc73ed4f2 Introduced new data type fix64 to be used for new timers which can last 4462756 years instead of 9 hours; Introduced new timer functions to update and query program time; Used new timer all over the program except GameTime (which comes next) 2010-12-11 00:18:03 +01:00
Chris Taylor 84bf981a06 Add CON_DEBUG level con_printf's for basic events (not EVENT_IDLE or EVENT_DRAW though) 2010-12-05 20:33:25 +08:00
zicodxx 82053d1bd8 Changed another WIN32 to _WIN32 to avoid accidentially compiling with WORDS_BIGENDIAN when using VisualC 2010-12-04 21:58:59 +01:00
zicodxx 970fd72eae When calling do_game_pause do not allocate msg in Game mod GM_MULTI as it's not used nor freed 2010-12-04 16:51:40 +01:00
Chris Taylor f4ec76d74d When setting a bogus sound in gamedata_read_tbl, don't let piggy_close free it. Fixes freeing of non-malloc'd pointer for PC shareware data 2010-12-04 13:44:09 +08:00
zicodxx f0c4d80f48 Made resent_delay for net_udp_noloss_process_queue() a bit longer depending on the player's ping 2010-12-03 01:09:22 +01:00
zicodxx 822ffc543f When Quitting is called in standard_handler disable Autodemo if active 2010-11-30 23:44:47 +01:00
Chris Taylor 287172c3f2 Change Mac OS X 'Development' SDK to the built-in one to get rid of depreciated 'ShowCursor' warning 2010-12-01 00:06:30 +08:00
Chris Taylor c34763b070 Turn fullscreen off when showing a messagebox for Mac; move songs_play_song(SONG_TITLE) from inferno.c to titles.c 2010-11-30 23:40:27 +08:00
zicodxx 427fb6d6b5 Add support for Windows native error/warning boxes; Only print to stdout on Linux/other *nix; Fixed redundant printing of Error and Warning via stdout 2010-11-30 13:46:10 +01:00
zicodxx bb0391467e Little fixes for rev939 - changed definition from WIN32 to _WIN32, added little hack for incorrectly set HMP loop in Descent2-version of descent.hmp 2010-11-30 12:19:41 +01:00
zicodxx ce2fb8db90 Large improvement for _WIN32 native MIDI code by TURRICAN0: supprt for HMP track loop, seamless song looping, GS reset, pausing/resuming midi, volume control for each MIDI channel; Set GameArg.SndDisableSdlMixer automatically if compiled without SDL_mixer support; On _WIN32 play HMP natively again 2010-11-28 16:49:32 +01:00
zicodxx 0c9a9f4d62 Added missing brackets gone missing in r936 2010-11-28 16:07:39 +01:00
zicodxx 0c10299a5f Fix for r936 - re-added playing titles song when titles are about to show 2010-11-28 15:50:50 +01:00
Chris Taylor be82a68e77 Add support for OS native error/warning boxes, only implemented for Mac for now 2010-11-28 20:02:38 +08:00
zicodxx 8f349cfdc5 in do_powerup added check for distance of other players to powerup object to make redundant pickups less likely 2010-11-28 12:08:14 +01:00
zicodxx 2b02639bd2 In multi_new_game when initializing Players structures, also correctly init connected variable which is highly important for spreading pdata to clients and should be set correctly anyways (Thanks to Gold Leader and Flip for help with debugging/testing recent Multiplayer bugs) 2010-11-28 01:02:04 +01:00