Goober5000
5b175673ed
add initializers to mc_info
...
This initializes `mc_info` to the correct values when it is constructed, removing the need for `mc_info_init`.
This PR also fixes a group of incorrectly inverted assignments in beam.cpp.
2023-02-21 19:09:10 -05:00
Goober5000
9d0629f657
Merge pull request #5196 from MjnMixael/flag_sexp_descriptions
...
Flag sexp descriptions
2023-02-20 23:26:29 -05:00
Asteroth
b7353b2027
Add turret-fired-since SEXP ( #5061 )
...
* add turret-fired-since
* update to new timestamp system
* unused variables
2023-02-20 22:10:49 +09:00
mjn-mixael
00995f5516
typos
2023-02-19 14:29:00 -06:00
Goober5000
42db9f2e7b
Merge pull request #5169 from MjnMixael/countermeasure_cargo_size
...
Feature for countermeasures to respect cargo size
2023-02-19 15:06:17 -05:00
mjn-mixael
2ed504eb82
clarified descriptions
2023-02-19 10:48:48 -06:00
Fabian Woltermann
072fee459b
Merge pull request #5199 from Baezon/refactor-submodel-rand-points
...
Add `GetVertex()` and `NumVertices()` script functions and clean up random submodel point retrieval a bit
2023-02-19 08:58:03 +01:00
MjnMixael
754c351498
per bank autoaim ( #5074 )
...
adds per-bank autoaim feature
2023-02-18 18:43:03 +01:00
Asteroth
6e25fbb50f
unused variable
2023-02-17 23:55:22 -05:00
Asteroth
b68e424213
refactor getting random vertices and script func
2023-02-17 23:03:57 -05:00
mjn-mixael
badde3ad96
Let FRED display flag descriptions
2023-02-16 17:12:47 -06:00
MjnMixael
40807000ad
Merge branch 'master' into countermeasure_cargo_size
2023-02-12 23:18:02 -06:00
Goober5000
09b6552908
rename thruster flags
...
`Roll_` and `Bank_` are synonyms, and the `Roll_` thruster flags should be `Yaw_` anyway, so rename them and rename their table strings. This still checks the old table strings for compatibility.
2023-02-12 19:42:26 -05:00
Asteroth
05790db5e7
clean up
2023-02-12 18:47:02 -05:00
Asteroth
d28833e92a
fix thruster sounds and add flag
2023-02-12 15:55:23 -05:00
MjnMixael
09215672a1
override to set glowpoint bank to default off ( #5091 )
2023-02-12 09:54:23 -05:00
mjn-mixael
002ab4885e
gate float divisions behind mod flag
2023-02-11 14:48:55 -06:00
mjn-mixael
4f36c6a781
feature for countermeasures to respect cargo size
2023-02-03 10:15:32 -06:00
BMagnu
605e89a01a
Fix WeaponUsedConditions ( #5165 )
2023-02-03 06:23:48 +09:00
Goober5000
f083018628
Merge pull request #5107 from MjnMixael/better_verify_orders
...
some validity checks to order sending
2023-01-28 20:43:37 -05:00
Goober5000
543c7f220c
Merge pull request #5144 from MjnMixael/fix_weapon_origin
...
If we're not drawing weapon models then skip all this
2023-01-26 20:34:02 -05:00
mjn-mixael
fe787ade08
if we're not drawing weapon models then skip all this
2023-01-25 17:06:07 -06:00
mjn-mixael
9e1181b70f
check if we have at least two linkable weapons
2023-01-23 09:04:15 -06:00
Goober5000
f8acd4f898
don't blast no-collide objects
...
In the same way that navbuoys aren't blasted by explosions, no-collide objects shouldn't be blasted either.
Fixes #5068 .
2023-01-18 01:59:20 -05:00
mjn-mixael
ddde9079c9
some validity checks to order sending
2023-01-13 15:48:28 -06:00
Goober5000
782980844b
add checks to Missile_obj_list and Asteroid_obj_list
2023-01-01 18:13:29 -05: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
Asteroth
ef721b3192
check for parse object
2022-12-29 03:27:38 -05:00
Goober5000
85bb14898f
Merge pull request #5040 from Goober5000/ship_obj_list_iteration
...
add should-be-dead checks for all ship iterations
2022-12-26 22:28:00 -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
Asteroth
ca7618c993
check for if a ship has a parse object first
2022-12-22 04:02:43 -05:00
Asteroth
f464b30089
update regen rates and autoaim fov on ship class change ( #5029 )
2022-12-21 00:17:23 +09:00
Asteroth
b0c6d81d89
ship_move_subsystems too
2022-12-13 15:38:21 -05:00
BMagnu
af1f0eaeca
Rework Script Conditions ( #4960 )
...
* add skeleton for hook condition API
* Begin Scripting Hook refactor
* Program Hook Conditions for current new-style hooks
* Replace more hooks
* Fully transition global hooks
* Convert legacy hooks pt. 1
* Convert legacy hooks pt. 2
* Convert legacy hooks pt. 3
* Post-conversion cleanup
* restore parsing
* Add Documentation and fix parsing
* Fixup engine ingame hook adding
* Fixup engine ingame hook adding again
* Fix warnings
* Fix GCC unqualified template base lookup
* unqualified lookup v2
* Virtual Destrcutors
* Fix Clang
* Fix ship objp hook condition shadow
* Remove global hook include in ship.h
* Incorporate Feedback
* Incorporate Feedback 2
* Add revision to inline version specififer
2022-12-14 03:51:27 +09:00
Goober5000
1e834010e0
fix crash in ship_close_cockpit_displays
...
This function can be called when `shipp` is null, so check for that.
Fixes #4991 .
2022-12-10 21:37:28 -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
BMagnu
57f529e902
Fix edge case bugs with moveables in combination with special polymodels being animated ( #4981 )
2022-12-07 20:43:36 +00:00
Goober5000
0211f44df9
Merge pull request #4973 from MjnMixael/fix_custom_data
...
Fix custom data when using tbms
2022-12-06 22:53:15 -05:00
Goober5000
0e80428d48
Merge pull request #4946 from MjnMixael/per_weapon_autoaim
...
per weapon auto aim feature
2022-12-06 22:52:14 -05:00
MjnMixael
bc3da4fed7
custom colors for passive lightning ( #4969 )
...
* custom colors for passive lightning
* initialize member variables and apparently this can't be nullptr
* Small bugfix
2022-12-06 19:57:16 -05:00
mjn-mixael
b3b349a2f0
three lines for this short comment is silly
2022-12-06 12:50:35 -06:00
mjn-mixael
2988aa8fc8
move @ removal up
2022-12-06 12:43:33 -06:00
mjn-mixael
4d84e4c2a0
Make sure custom_data is properly cleared or carried over when shipclass info is reset or cloned/moved
2022-12-06 09:48:33 -06:00
mjn-mixael
662d5f743a
address feedback
2022-12-05 09:59:06 -06:00
BMagnu
fb223c1dbe
Properly init cockpit_model_instance to -1 ( #4966 )
2022-12-05 15:32:09 +00:00
BMagnu
5bb869953e
Animate More Things ( #4936 )
...
* Add Cockpit AnimSet
* Add Skybox Animset
* Add cockpit model instanc
* Render ship cockpit with instance
* Finish scripting API
* Add moveables
* Fix Typo
* Fix moveable table value get
* Fix copy paste error
* Add Cockpit AnimSet
* Add Skybox Animset
* Add cockpit model instanc
* Render ship cockpit with instance
* Finish scripting API
* Add moveables
* Fix Typo
* Fix moveable table value get
* Fix copy paste error
* Add Animation Scripting Handle
* Add proper saving of skybox anim triggers
* Properly step non-obj animations
* Incorporate feedback
* Incorporate feedback
* Fix comparison
2022-12-05 10:00:29 +09:00
Goober5000
8f6e6e97f5
fix wing name matching
...
The logic designed to match Epsilon and Epsilon#clone would be tripped up by Pi and Pisces. Tweak the string matching to handle this.
Fixes a bug reported on the forums: https://www.hard-light.net/forums/index.php?topic=98576.0
2022-12-04 14:06:56 -05:00
mjn-mixael
9e2aa0377f
per weapon auto aim feature
2022-11-28 14:19:00 -06:00
Goober5000
35380e8e24
don't process turrets or subsystems when playing dead
...
In the submodel reorganization in commit 575c050da4 , subobject movement was moved out of the AI pipeline, which inadvertently removed the play-dead check that prevents subsystem movement. This broke a few missions such as Scroll's 'Thor's Hammer'. This PR restores the check.
Fixes #4933 .
2022-11-25 11:35:13 -05:00
wookieejedi
1c45a18d9b
Add Option to allow weapons that hit player to place per-weapon sound ( #4921 )
...
* Add Option to allow weapons that hit player to place per-weapon sound
Weapons that lasers or missiles that hit the player also play a hard coded sound, which is not ideal when trying to give valuable audio feedback to player.
This PR allows modders to stop the behavior and have the weapon class impact sound specified in the weapons table play instead of the hard coded sounds.
Tested and works as expected.
* add per class shockwave and weapon sounds
* naming update
2022-11-24 17:03:05 +00:00