Commit Graph
621 Commits
Author SHA1 Message Date
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
Goober5000 2be97cfde9 fix several places where the wrong matrix function was used 2020-09-30 15:17:43 -04:00
Baezon 82b8f1726e travis cleanliness appeasement 2020-09-24 01:00:21 -04:00
Baezon 7accd387a3 v2 2020-09-24 01:00:21 -04:00
Baezon 58ce531ec6 v1
V2
2020-09-24 01:00:21 -04:00
Goober5000 daf890c080 Merge pull request #2728 from Goober5000/collision_hitpos
add Hitpos as a hook variable for all collision hooks
2020-09-10 12:09:25 -04:00
JohnAFernandez 332183d2e6 Fix declation of waypoint function so it can be used 2020-09-10 01:16:38 -04:00
Goober5000 de0a9ca9c1 add Hitpos as a hook variable for all collision hooks
Also slightly optimizes some of the hooks because the adding/removing of hook variables should be guarded by the same if() block that controls execution.
2020-09-09 20:04:58 -04:00
Baezon 303ee3fca1 const objp for object_get_model 2020-09-04 22:29:31 -04:00
JohnAFernandez 8bad12d8a2 Fix Two Multi Crash Points 2020-09-01 21:01:35 -04:00
m!m 382f2bdcd2 Merge pull request #2678 from asarium/lua/betterHookVars
Improve scripting hook variable system
2020-08-29 14:20:11 +02:00
asarium 2303785717 Improve scripting hook variable system
The previous system was kind of hacky and made things a bit inflexible.
This improves that system quite a bit and also adds unit tests for the
hook variable functionality.
2020-08-29 10:27:41 +02:00
Fabian Woltermann b01c6d2a82 Weapons fired from turrets have their group_id set to -1 by default and thus would never actually cast any lights 2020-08-29 09:05:08 +02:00
Goober5000 1913d8cde2 add more debris sounds
Sounds for debris collision and explosion.
2020-08-28 12:50:40 -04:00
Goober5000 85d57f56fc Merge pull request #2646 from Baezon/no-black-void
Banish the Black Void
2020-08-11 01:17:48 -04:00
Baezon 666c2a4402 bool valid vec 2020-08-10 22:31:44 -04:00
Baezon c1942c5359 bool! not int 2020-08-10 22:15:54 -04:00
Baezon 73d64d9460 review changes 2020-08-10 21:23:27 -04:00
Baezon 573c8b8892 bool return 2020-08-10 19:50:40 -04:00
Baezon d92c7a8ea3 doubles for inverting 2020-08-10 15:02:12 -04:00
Goober5000 514ca1bda9 Merge pull request #2642 from Goober5000/debris_ambient
Several small sound-related enhancements
2020-08-10 09:50:14 -04:00
Goober5000 00e1a5fcba add collision sounds 2020-08-09 16:58:38 -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
JohnAFernandez 9383510388 Multilock Patch 2020-07-28 21:50:55 -04:00
Baezon f95f48448e world coords for all whacks 2020-07-27 01:11:00 -04:00
Swifty 32c38e696d Initial commit of multilock missile features. 2020-07-26 18:38:56 -06:00
Goober5000 fd30238743 Merge pull request #2555 from Baezon/whack-fix
Fix physics whack for docked ships
2020-07-21 15:30:16 -04:00
Baezon a6f060e128 clarity edits 2020-07-19 15:06:29 -04:00
Baezon 34b04b1ca8 PR review fixes 2020-07-18 22:28:51 -04:00
Baezon 6e7908833a more fix 2020-07-17 23:40:51 -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
Baezon c49cf7fd6a bugfix 2020-07-17 21:00:26 -04:00
Baezon 06322bb977 better names and const fix 2020-07-17 20:07:09 -04:00
Baezon de80a3bacc better name 2020-07-14 01:42:22 -04:00
Baezon 12d6422556 no collision for dockING ships either 2020-07-13 23:51:05 -04:00
Baezon 3adf6e4553 No indirect docking collision 2020-07-13 21:50:07 -04:00
Baezon e0e74c8277 bugfix 2020-07-12 03:51:31 -04:00
Baezon a5a41e8ea6 Review adjustments 2020-07-12 03:14:01 -04:00
Baezon 17613e0612 Only one whack
re-factored so that only the 'dock root' is whacked, all other docked ships will adjust to match the root
2020-07-11 00:05:10 -04:00
Baezon b6f1ceeabd PR review changes 2020-07-11 00:05:10 -04:00
Baezon eb64241355 Assert -> Assertion and made a bunch of them 2020-07-11 00:04:48 -04:00
Baezon 3178ef593e NULL -> nullptr 2020-07-11 00:04:48 -04:00
Baezon 47418008f4 unused variable clean up 2020-07-11 00:04:48 -04:00
Baezon 9b33685598 Fix physics whack for docked ships
Properly whacks all ships that are docked together when any are whacked, makes everything more consistent by calling ship_apply_whack instead of physics_apply_whack, whacking in general now unrotates its hit pos to get a world pos like physics whack was expecting and adds a few matrix helper functions.
2020-07-11 00:04:48 -04:00
Fabian Woltermann 0c9bbe5223 Fix a bug in the debris deletion code introduced by the lab explosion feature commit. This also makes the debris code use the new flag system to mark debris pieces as nondeleteable instead of relying on a magic lifeleft value. 2020-05-26 16:55:45 +02:00
Goober5000 d3b1871837 remove Asserts that never worked because they checked invalid iterators 2020-04-12 20:39:16 -04:00
CasparKielwein 977a8aff91 remove unused compiler flag DYN_CLIP_DIST 2019-12-19 21:54:36 +01:00
FSCyborg 601fa75d50 Change while(0) to while(false)
Travis is complaining about while(0), so we're getting it off of our back by switching to while(false).
2019-11-03 16:27:23 -05:00
asarium 0649f9abaa Clear object events when Lua state is shut down
Since the Lua state is destroyed before all the object events, this was
causing issues. This should fix that by clearing the events when the lua
state is destroyed.
2019-10-22 18:09:57 +02:00
niffiwan 9444b9ff9f Merge pull request #2024 from CasparKielwein/collision_cleanup_ck
Refactoring of objcollision
2019-05-13 19:41:38 +10:00