Commit Graph
881 Commits
Author SHA1 Message Date
Taylor Richards 424840eabf fix issues with psnet init 2020-10-18 05:31:24 -04:00
JohnAFernandez 93a9a2ab51 stop needs more space so as not to crash during really busy scenes 2020-10-17 00:07:18 -04:00
JohnAFernandez 186fe51344 Object update packet upgrade (#2752)
* Object Update Refactor

    1. Keeps the object update packet aligned, even if the ship is dying or has not yet arrived on the client.
    2. Properly handles model point shields (yes, that's what was causing multi to crash the most!)
    3. Reworks positional interpolation timing and adds rotational interpolation, by sending timing information with every object update packet in a header shared between objects.
    4. Saves a lot of bandwidth by only sending data that is changing. (no more sending all subsystems once per second!)
    5. Better handles out of order packets (but can still use their information if recent enough!)
    6. Builds the basis for Rollback by beginning to record the positions and orientations and velocities of ships for the last 30 frames.
    7. Adds subsystem rotation -- Yeah, you saw that right, subsystems will now spin in multi.
    8. Waypoint movement is now enabled via sexp, and time to arrival of waypoints is updated on the target info gauge.

* Fix edge case crash and Incorporate feedback

* Clean Up Interpolate Angles Quick

* Restrain the client

* How was this still here???

* Make sure every part of OO uses OOC_INDEX_NULLPTR_SUBSYSTEM define

* Fix Way to Store Return Values

* Ok travis, we get it

* Ok travis.........
2020-10-08 15:29:06 -04:00
asarium b4350a1d1e Fix GCC-10 warnings
This fixes some warnings reported by GCC 10 and enables that compiler to
be used by our CI pipelines.

This fixes #2773.
2020-10-02 18:49:01 +02:00
JohnAFernandez a043a14d69 Merge pull request #2631 from notimaginative/fix_multi_red-alert
Make redalert missions work better in multi
2020-09-21 11:34:13 -04:00
JohnAFernandez ee5336ed42 Merge pull request #2755 from notimaginative/fix_multi_weapon_crash
Fix multi crash when ship has less than two primary weapons
2020-09-21 09:43:51 -04:00
Taylor Richards 21642d5b75 fix multi crash when ship has < 2 primary weapons 2020-09-20 22:26:23 -04:00
Taylor Richards 46bc4e2e8c fix memory error which broke reliable sockets 2020-09-20 20:49:25 -04:00
Taylor Richards 7c3906da00 always consider loadout locked on red-alert 2020-09-20 13:30:03 -04:00
Taylor Richards fe3069b94b make sure clients can proceed to red-alert brief 2020-09-20 13:30:03 -04:00
Taylor Richards f5a2cae122 Merge pull request #2608 from notimaginative/ipv6
IPv6 support
2020-09-20 09:46:44 -04:00
Taylor Richards b14122425a use newer define for multicast group joining 2020-09-19 06:35:19 -04:00
JohnAFernandez 8bad12d8a2 Fix Two Multi Crash Points 2020-09-01 21:01:35 -04:00
Taylor Richards 3e04e955a4 fix build issues on FreeBSD 2020-09-01 14:36:10 -04:00
Goober5000 2fee91cd4c Merge pull request #2674 from Goober5000/display_name
refactor display_name for ships, ship classes, and weapon classes
2020-08-30 09:21:32 -04:00
Taylor Richards d30c0a2024 fix various errors from travis/appveyor 2020-08-30 00:03:14 -04:00
Taylor Richards ff01dc02a7 adjust data type to avoid header conflict 2020-08-30 00:03:14 -04:00
Taylor Richards e401f96cc3 add option to prefer IPv4 DNS addresses 2020-08-30 00:03:14 -04:00
Taylor Richards 9bb9aedc2a add a more robust filter for traffic from ourselves 2020-08-30 00:03:14 -04:00
Taylor Richards dd376b19d9 handle IPv4+IPv6 capable machines in a better way 2020-08-30 00:03:14 -04:00
Taylor Richards 52721dec06 report whether psnet socket is IPv6-only or dual-stack 2020-08-30 00:03:14 -04:00
Taylor Richards 459263b35f fix issues with reliable socket logging
- better error handling for ip string
 - port number in proper byte order
 - anonymize ip address
2020-08-30 00:03:14 -04:00
Taylor Richards 72dd631520 anonymize logged IP addresses 2020-08-30 00:03:14 -04:00
Taylor Richards 83d6d0fd53 bind psnet socket to any address
fixes issue where an IPv6 internet connection would fail
to connect properly if socket is only bound to a local
IPv4 interface
2020-08-30 00:03:14 -04:00
Taylor Richards 3e1b90b8c2 support IPv6 servers from game tracker 2020-08-30 00:03:14 -04:00
Taylor Richards 01ee4d077b make sure we are dual-stack by default (everywhere else) 2020-08-30 00:03:14 -04:00
Taylor Richards 90dbc8f2c3 deal with compiler errors and warnings on Windows 2020-08-30 00:03:14 -04:00
Taylor Richards 426b032882 clean up broadcast_game_query() 2020-08-30 00:03:14 -04:00
Taylor Richards e06026f622 port PXO chat client to IPv6 2020-08-30 00:01:00 -04:00
Taylor Richards db0d0efd55 port PXO tracker client code to IPv6 2020-08-30 00:01:00 -04:00
Taylor Richards 92be33ad9c first pass at IPv6 support 2020-08-30 00:01:00 -04:00
JohnAFernandez 143ce0da44 Fix the loadout memory bug 2020-08-29 21:34:02 -04:00
Goober5000 3d734948da Merge branch 'master' into display_name 2020-08-29 13:47:21 -04:00
Goober5000 d8012d4ff0 miscellaneous scripting and ship-destruction enhancements 2020-08-23 20:44:25 -04:00
Goober5000 3b2af702f7 refactor display_name for ships, ship classes, and weapon classes
Several things going on here:
1) refactor `get_display_string()` to `get_display_name()` to be more precise
2) likewise, refactor `alt_name` to `display_name`
3) automatically generate display names when parsing the ship, ship class, and weapon class for the first time
4) remove the on-the-fly truncation of names with hash symbols

Basically this subsumes the `end_string_at_first_hash_symbol` logic into the display name.  Rather than truncate the name every time it's displayed, truncate it once when it's parsed.  This takes advantage of the previous display name infrastructure, since display names are a superset of the case of truncating the hash symbol.

This also has the benefit of now allowing hash symbols within display names.  When updating Destiny of Peace, I noticed that "Lockheed Shuttle #4" would no longer display properly; and it was not previously possible to fix this even with display names.

I could pull out the `get_display_string()` and `alt_name` renaming into a separate PR if desired.
2020-08-21 00:15:38 -04:00
JohnAFernandez c512eea234 Set Campaign Type For Multiplayer Clients
This allows us to correctly check for campaign type if needed and fixes a variable bug.
2020-08-10 21:27:20 -04:00
Goober5000 83d9d352ff Merge pull request #2604 from Baezon/consistent-apply-whack-args
Supply world coordinates in whack function calls
2020-08-09 15:32:41 -04:00
Goober5000 67f4b53c12 Merge pull request #2599 from JohnAFernandez/Fix-Connecting-To-Non-PXO-Games-Specific
Fix Non-Standalone Servers Failing to Switch Between PXO and Non-PXO
2020-08-05 14:40:42 -04:00
Tyler Blount a212a6042c Merge pull request #2605 from JohnAFernandez/Multilock_Multiplayer_Patch_Final
Multilock Patch
2020-07-29 14:27:48 -06:00
Taylor Richards b5dc556412 fix pinfo crash and bug in PXO chat lobby 2020-07-29 01:22:20 -04:00
JohnAFernandez e979b07ce1 Remove Sneaky Rollback Logic for Dumbfires 2020-07-28 22:01:56 -04:00
JohnAFernandez 9383510388 Multilock Patch 2020-07-28 21:50:55 -04:00
JohnAFernandez fd18a21482 Fix Non-Standalone Servers Failing to Switch Between PXO and Non-PXO
Add a function to check if PXO is in use rather than just initialized, so that a very important flag can be properly set.
2020-07-27 13:29:58 -04:00
Baezon f95f48448e world coords for all whacks 2020-07-27 01:11:00 -04:00
Tyler Blount 530f3e22ac Bump Multiplayer Version
A multiplayer version bump is required as missiles no longer function due to multilock. This will be remedied asap.
2020-07-26 18:38:57 -06:00
Goober5000 3833881f8e Merge pull request #2411 from notimaginative/fix_pxo_stats
fix various issues with PXO stats
2020-07-21 01:59:00 -04:00
Goober5000 f03df9e7cc Merge pull request #2579 from JohnAFernandez/Return-To-PXO-After-Re-enable
Go back to login if you're trying to use PXO
2020-07-18 13:34:47 -04:00
Goober5000 192272a914 Merge pull request #2450 from JohnAFernandez/Fix_Ai_messaging
Allow Team Leaders to Send Messages
2020-07-18 13:33:50 -04:00
JohnAFernandez b7d7ebe6cf Allow Team Leaders to Send Messages and use ship registry to look up the team and slot
Team Leader function was returning 0 instead of 1 when the team captain was messaging AI.

This optimizes, cleans up, and gets rid of edge-case buggy behaviour.  Thank you ship_registry!
2020-07-17 22:44:24 -04:00
JohnAFernandez 185d12859c Fix sidebars retaining old rendering from mission quick exit
And also a minor typo
2020-07-17 22:26:57 -04:00