John Fernandez
bd7429c353
Get rid of Extraneous check
...
Coverity 1523341 is pointing out this check, but shipp->ship_info_index is checked earlier just before we set the shipp pointer on line 1243
2023-10-30 10:56:45 -04:00
Sébastien Noel
f149c36b44
Fix a few typos ( #5598 )
2023-10-24 20:33:45 -04:00
John Fernandez
2bb22a2153
Return to avoid nullptr dereference
...
For coverity 1093461. If this is null, the function is done at this point.
2023-10-23 10:24:13 -04:00
John Fernandez
018c22eee1
Make sure Net_player is not null here
...
For coverity 1093460. Net_player should never be null here, but it is C++ after all.
2023-10-23 10:24:13 -04:00
John Fernandez
6ef60c67ca
Make sure Multi_pxo_channels is not null
...
For coverity 1093458
2023-10-23 10:24:13 -04:00
John Fernandez
982e8d7f85
Add net_player nullptr check
...
Address coverity 1093457 by adding a nullptr check and Assertion. This *should* never happen, but that's what asserts are for, right?
2023-10-23 10:24:13 -04:00
Goober5000
829692b7bd
Merge pull request #5468 from Goober5000/5462_followup
...
additional cleanup from PR 5462
2023-10-22 17:10:42 -04:00
Mike Nelson
ad27664ebc
Pause and Resume voices ( #5636 )
...
* pause and resume voices
* Use newer styling rather than the sound.cpp styling
2023-10-21 10:23:53 -04:00
JohnAFernandez
7edc5bf842
Change underlying type to avoid endianness problem ( #5680 )
...
Before this change if the wrong endianness was used, the c style cast that was used here would lead to the argument being passed to getsockopt to lack the actual information.
Fixes coverity 1093482
(Directly cast to socklen_t)
2023-10-19 07:56:21 -04:00
Goober5000
15daaf2633
additional cleanup from PR 5462
...
Some streamlining and constifying of the readyroom popup list and associated functions.
Followup to #5462 .
2023-07-13 01:54:25 -04:00
Goober5000
1feef8ff2a
improve spawn collision checking
...
Take into account the collision flag and collision groups when spawning a ship. Should fix #5357 .
Also clean up the code a bit, including setting a few `int`s to `bool`s and adding a missing axis case.
2023-04-20 22:31:34 -04:00
Asteroth
31b23d8c50
Whackable debris and asteroids ( #5291 )
...
* whackable debris and asteroids
* fixes
* review tweaks
* some more review tweaks
2023-04-19 10:56:46 -04:00
Asteroth
689dca1f3f
bugfix accidental swap ( #5324 )
2023-04-12 14:55:04 -04:00
Asteroth
ac9636733f
ets fixes ( #5317 )
2023-04-11 06:31:04 +09:00
BMagnu
272d6261c4
Generic Lua Multiplayer RPC ( #4835 )
...
* Add automatic lua obj serialization function dispatch
* Implement fundamental and object de/serialization
* Proper default case for package deserialization
* Add No Multi func
* Add Serialization part
* Fix max encoding size for userdata
* Implement exception handling
* Start Implementing lua RPC
* Prepare waitAsync for RPC
* Add packet order enforcing and forwarding
* Add RPC registry
* Make RPCs callable
* Add waitRPC
* Add serializers
* Fix GCC error
* Explicitly specify lua_net_exception
* Fix Warnings
* Replace Seriliaze fundamental with cross-platform data types
* Appease Clang
* Prevent serialization CTD on invalid objects
* Actually use the temporaries assigned
* Fix OSWPT shadow
* Fix table deserialize order
* Incorporate Feedback
* Fix Warnigs
* ix WArnings 2
* Add sanity checks for OSWPT wing serialization
* Multi Bump
* Forgot we have american-style dates there
2023-03-28 03:07:03 +09:00
Naomi Coffman
fd82ff70f1
Merge all friendly arrival messages into one type
2023-03-11 19:14:14 -05:00
Naomi Coffman
8d1171ae88
Add message types for every standard player order
...
This commit also changes a couple confusing message type names.
2023-03-11 11:39:06 -05:00
MjnMixael
fbb209ef6b
Modular rank table ( #4854 )
...
* vectorize ranks
* Add modular table parsing
* int
* comments
* prevent field overwriting if tbm is used
* address feedback
* off by one
2023-02-14 17:25:52 +09:00
Goober5000
6de5c96127
add should-be-dead checks for object iterations ( #5050 )
...
Follow-up to #5040 . This extends the checks to most iterations over `obj_used_list` in FSO. There are a few exceptions such as `waypoint_add` and `waypoint_remove`, plus a few others. And none of the object iterations in FRED have the guard because FRED does not use the same object life cycle as FSO.
2022-12-31 23:23:39 -05:00
Goober5000
46293ad0fe
add should-be-dead checks for all ship iterations
...
When iterating through `Ship_obj_list`, check the `Should_be_dead` flag before using the object. This fixes #4990 and adds defense-in-depth checks to guard against similar errors elsewhere.
I considered moving the `Ship_obj_list` removal from `obj_delete` to `ship_cleanup`, but decided it would be prudent to avoid fundamental changes to lifecycle management.
2022-12-23 00:51:31 -05:00
John Fernandez
bb42302ba3
Use the correct variables in this function
2022-12-13 21:47:10 -05:00
Goober5000
4b172c0ca9
Merge pull request #4965 from Goober5000/sexp_category_bump
...
SEXP operators, categories, and subcategories refactoring
2022-12-10 15:18:53 -05:00
Goober5000
207540303f
multi version bump for new SEXP operator IDs
2022-12-09 14:44:30 -05:00
Goober5000
226e956fcc
dynamic events and goals
...
Make events and goals dynamic in missions and campaigns. When parsing, initialize all fields to their defaults.
2022-12-09 13:10:39 -05:00
Asteroth
219bcca23a
Implement gravity ( #4803 )
...
Adds gravity! Applies on a per-mission basis, and weapons, ships, debris, and asteroids now have a configurable "gravity const" which multiplies the effect of gravity on them, by default everything except debris is 0 (meaning no effect even when the mission has gravity). AI and the lead indicator will also lead for ballistic trajectories as well, given a gravity-affected weapon. No FRED support or gravity direction control yet, to come in later PRs.
2022-11-21 20:13:35 -05:00
JohnAFernandez
6255b9b154
Make sure that we check the correct instance ( #4897 )
2022-11-15 12:02:55 -05:00
JohnAFernandez
8712e69130
Merge pull request #4836 from JohnAFernandez/Fix-in-Game-Joining-Backup
...
Fix in game joining
2022-11-14 11:14:40 -05:00
JohnAFernandez
0d27a0f086
Enable client turrets to track targets ( #4791 )
...
* Enable clients to move turrets
This allows clients to user server data to move turrets according to the timing and target data on the server. Uses a small packet to do so.
2022-11-14 15:58:41 +00:00
John Fernandez and Taylor Richards
206ca742ab
Further Fixes from Taylor
...
These fix up the in-game confirm packet and help sync client and server through a few timing fixes.
Co-Authored-By: Taylor Richards <[email protected] >
2022-11-14 10:30:28 -05:00
JohnAFernandez and BMagnu
c89bc89cdc
Use Lafiel's Fix
...
Fixes a check that object flags did not exceed ubyte size * 8.
Co-authored-by: BMagnu <[email protected] >
2022-11-14 10:30:28 -05:00
John Fernandez
4b26d38534
Fix mistake And Add lock clearing for multilock
2022-11-14 10:30:28 -05:00
John Fernandez
bd79cc9a7a
Buttress error reporting
...
fix
2022-11-14 10:30:28 -05:00
John Fernandez and Taylor Richards
79c3571d2f
Deny in-game Join for SW games
...
Because these are competitive games, we cannot allow in-game joining.
Co-Authored-By: Taylor Richards <[email protected] >
2022-11-14 10:30:28 -05:00
John Fernandez
2365174b55
Use tabs here
2022-11-14 10:30:28 -05:00
John Fernandez and wookieejedi
32b1e563bb
Fix from Wookie for Joining more than once
...
Make sure that in game joiners adjust their time more than once.
Co-Authored-By: wookieejedi <[email protected] >
2022-11-14 10:30:28 -05:00
John Fernandez
f8de460b75
Fix ships not moving
...
Revert "Fix ships not moving"
This reverts commit e989ad440009a20c1d0b1957ff0f10cc856d8fea.
Update multi_ingame.cpp
2022-11-14 10:30:28 -05:00
John Fernandez
ba665bfc9d
Attempt to adjust timing for in-game joiners
...
This allows in game joiners to avoid interpolation and physics bugs by using the first incoming timing from the server as its local missiontime.
2022-11-14 10:30:28 -05:00
JohnAFernandez
4e8203a066
Patch in-game joining crashes
...
Patches multiple things about in-game joining to allow it to be enabled by default.
2022-11-14 10:30:27 -05:00
JohnAFernandez and Taylor Richards
d50a599934
Taylor's in-game fixes
...
Co-Authored-By: Taylor Richards <[email protected] >
2022-11-13 20:32:42 -05:00
MjnMixael
1ba0b8dcbe
Modular medals ( #4851 )
...
* Modular medals table
* Remove Num_medals completely
* Handle badges out of order and allow setting of masks to handle mask indecies out of order
* const const const
* qtFRED
* address feedback
2022-11-07 22:53:28 +09:00
JohnAFernandez
bd0e6bb990
Add an update interval for client update packets ( #4796 )
2022-10-18 21:54:16 +09:00
Goober5000
61ceeff893
and also for wings
2022-10-03 19:36:27 -04:00
Goober5000
0702a38e1c
Merge pull request #4750 from Goober5000/lua_mission_music_scores
...
add getMusicScore and setMusicScore
2022-10-03 19:09:56 -04:00
Goober5000
064d3a7549
add getMusicScore and setMusicScore
...
Two new Lua API methods, plus some minor refactoring.
2022-10-03 17:14:33 -04:00
BMagnu
979d305afe
Add screenToBlob scripting function ( #4738 )
...
* extract base64 routines
* Add screenToBlob scripting method
* Fix variable shadow
* Fix variable shadow again
* Fix usused variable
2022-10-03 07:33:46 +09:00
JohnAFernandez
c2895ba8a4
Fix subsystem health and comparison frames ( #4666 )
...
* Fix subsystem change handling code
Make sure that subsystem help actually gets updated.
* change from pointer to literal
I had decided to use `new` in the past when I was less experienced. So this changes it back to regular angle variables.
(And White space fix requested by Wookie)
2022-10-02 16:52:36 +00:00
MjnMixael
ef850ad302
Handle errors from create_wings() in an API friendly way ( #4730 )
2022-09-30 16:46:45 +09:00
MjnMixael
384e228347
Reset loadout to default and handle commit mission error returns ( #4719 )
...
* Reset loadout to default and handle commit mission error returns
* Return enum instead of int codes
* comment
2022-09-29 22:35:09 +09:00
JohnAFernandez and wookieejedi
2e3ff7410c
Add corrections in multi ship record ( #4650 )
...
The ship record for player ships is not always accurate. So as to correct entries as valid packets are received.
Also, remove a case where null vectors were being passed to the physics engine.
Co-Authored-By: wookieejedi <[email protected] >
Co-authored-by: wookieejedi <[email protected] >
2022-09-26 22:14:08 -04:00
Goober5000
d92496ee02
convert event-related timestamps to new system
...
This change covers just the timestamps associated with goals and events, for better review and isolation purposes.
Follow-up to #4569 .
2022-09-15 18:38:53 -04:00