Goober5000
6e9b31cb5a
replace pointers with indexes in ship registry and oswpt
...
This refactors the ship registry and the OSWPT struct to store data as indexes rather than pointers. This is a prerequisite for making these collections dynamic in the future. See also #5800 .
2023-12-08 19:45:58 -05:00
Goober5000
be14c34f7d
reset the timestamp instead of checking the size
2023-12-02 14:56:31 -05:00
Goober5000
dc7aa86147
updates based on comments
2023-12-02 14:56:30 -05:00
Goober5000
4bf743765c
plieblang's good-primary-time
2023-12-02 14:56:30 -05:00
Asteroth
8dbe0e7b8a
gravity fixes
2023-11-29 02:34:26 -05:00
JohnAFernandez
5ee051c55f
Merge pull request #5803 from Baezon/start-loop-end-snd-weapons
...
Add Start/Loop/End sounds for weapons
2023-11-21 23:29:23 -05:00
Goober5000
3af831e0b7
rename Vaporize Percent Chance
...
This option was misleadingly named when originally introduced, so give it a more sensible name. The old name is still accepted for backwards compatibility.
2023-11-16 15:57:53 -05:00
Asteroth
e3d2c02f99
tweak
2023-11-13 17:55:48 -05:00
Asteroth
13170a235e
add start/loop/end sounds for weapons
2023-11-13 17:52:50 -05:00
Goober5000
17dfa0ddb9
fix 5773
...
In #5773 , this use of frand_range(0, N) needed to be converted to Random::next(N+1), just like several other similar instances in that PR.
Fixes #5796 .
2023-11-11 17:58:37 -05:00
Goober5000
8e23c32b8c
Merge pull request #5765 from Goober5000/subsystems_blown_optimization
...
optimization for checking whether subsystems are blown
2023-11-11 13:07:01 -05:00
Goober5000
b546dcf949
Merge pull request #5773 from Goober5000/frand_to_Random
...
convert some instances of frand_range to Random::next
2023-11-08 19:58:31 -05:00
Asteroth
1b04d9f22c
trigger state
2023-11-07 01:22:44 -05:00
Goober5000
b5e215a85c
optimization for checking whether subsystems are blown
...
In many calls to `ship_get_subsystem_strength`, the caller doesn't care about the actual number, just whether the subsystem type is destroyed. So this adds an optimization to check specifically for that. In the case of `SUBSYSTEM_ENGINE`, this avoids an iteration over every subsystem on the ship which, for a ship with many turrets, can be significant.
2023-11-06 13:24:04 -05:00
Goober5000
dc578c2479
Merge pull request #5772 from Goober5000/const_eeo
...
protect eval_enemy_obj_struct input values
2023-11-06 13:07:34 -05:00
Goober5000
bd52d75ab9
tweaks
2023-11-06 11:37:01 -05:00
JohnAFernandez
b42c7af847
Merge pull request #5742 from JohnAFernandez/Get-rid-of-int3s
...
Get rid of remaining int3s in AI code
2023-11-06 10:07:05 -05:00
John Fernandez
5893ef836c
Feedback
2023-11-06 09:47:46 -05:00
Goober5000
ae89ed2b9d
convert some instances of frand_range to Random::next
...
Some of the `frand_range` calls were used for integer calculations, so we can use `Random::next` now.
This also reduces the number of C-style casts in the codebase.
2023-11-06 01:48:29 -05:00
Goober5000
24a4c0df6a
protect eval_enemy_obj_struct input values
...
Add `const` to the `eval_enemy_obj_struct` struct so its values aren't inadvertently overwritten. Handle a bit of const-correctness propagation. Also add default member initialization to the struct.
2023-11-06 00:05:54 -05:00
JohnAFernandez
6588daaca5
Merge pull request #5758 from JohnAFernandez/Coverity-Improper-Use-Of-Negative
...
Coverity improper use of negative
2023-11-03 14:32:36 -04:00
The Force
44c797f65b
Disable support hud when Force rearm done
2023-11-03 14:10:00 +00:00
The Force
46b9c27dfe
Fix #5759
...
Code should only be run in Dock stage 4.
also add extra check if ship is repairing itself
2023-11-03 12:48:57 +00:00
John Fernandez
33e3b13d43
More limited check
2023-11-02 23:27:46 -04:00
John Fernandez
e0443739bd
Always double check that active_goal is positive
...
Both branches of this ternary assume that it's positive. Coverity 1523821
2023-11-02 22:42:02 -04:00
JohnAFernandez
c30559a63a
Merge pull request #5698 from Goober5000/waypoints_upgrade
...
Waypoints upgrade
2023-11-02 19:24:55 -04:00
JohnAFernandez
ddedc1bd8e
Merge pull request #5739 from MjnMixael/fix_general_order_paths
...
how about an if/then/else that actually works?
2023-11-02 14:34:23 -04:00
JohnAFernandez
844e9affea
Merge pull request #5729 from JohnAFernandez/Fix-pointer-to-local-scope
...
Change the scope of this pointer
2023-11-02 12:18:53 -04:00
Asteroth
9d2a89f778
fix subsys position getting ( #5740 )
2023-11-02 08:15:39 -04:00
Goober5000
4f8344c91e
Merge pull request #5741 from Goober5000/misc_updates
...
some polishing of recent changes
2023-11-01 09:36:33 -04:00
JohnAFernandez
3764146957
Merge pull request #5611 from MjnMixael/force_rearm_sexp
...
Force rearm sexp
2023-11-01 03:29:09 -04:00
mjn-mixael
173a3d23e8
add comments
2023-10-31 13:36:58 -05:00
JohnAFernandez
cfe92a4d32
Fix auto copies ( #5738 )
...
* fix inefficient (auto x : container) loops
* Don't make two copies of every element...
* Fix more loops
* Last inefficient auto loops
2023-10-31 13:47:48 -04:00
John Fernandez
925e2e53f4
A few more int3's
2023-10-31 13:09:03 -04:00
John Fernandez
e23409f5f8
Remove the final INT3's in AI code
2023-10-31 10:32:48 -04:00
John Fernandez
381e45f483
Replace remaining Int3's in aibig and aicode
...
Replacing with Unreachables and Assertions
2023-10-31 09:49:02 -04:00
Goober5000
2d2db58905
some polishing of recent changes
...
1. The player can target other object types besides ships, so when creating an `object_ship_wing_point_team`, make sure it is a ship
2. A few recent mission features require a version bump, but not all missions use these features; so do a "soft bump" where the mission version is updated only if necessary
3. Remove an unneeded #include by adding a `struct team_data` declaration (see #5599 )
2023-10-30 22:59:37 -04:00
mjn-mixael
2b3da41a6d
how about an if/then/else that actually works?
2023-10-30 15:46:25 -05:00
John Fernandez
10ed12182c
Change the scope of world_goal_pos
...
Coverity 1523195, change the scope of this variable so that the pointer is not invalidated outside of the if block.
2023-10-30 11:05:43 -04:00
John Fernandez
f7fef072df
Feedback
2023-10-30 10:56:18 -04:00
John Fernandez
0da6a4a64c
Coverity 1523287
...
Fall back to standard behavior if no allowed paths.
Missing bracket
2023-10-30 10:56:18 -04:00
John Fernandez
f542fea96e
coverity 1523419
...
Avoid dividing by zero when there is just one autoscale ai class
2023-10-30 10:56:18 -04:00
John Fernandez
742326e42e
Coverity 1523548 Divide by zero
...
Make sure we only use autoscale delay if there is more than one autoscale ai class.
2023-10-30 10:56:18 -04:00
Goober5000
435676a67d
Merge pull request #5730 from Goober5000/class_type_check
...
make sure class_type exists when used
2023-10-30 00:00:47 -04:00
Goober5000
4fbe3b7131
make sure class_type exists when used
...
A mission in Mantle caused an invalid vector access when checking whether to vaporize a ship whose ship type was -1. Turns out having "no type" is actually allowed, so I audited all `class_type` accesses throughout the code for potential -1 accesses. Most were properly checked but a few were not. A few others needed to be tweaked.
(I suspect this is something that would be on the Coverity list if it isn't already.)
2023-10-29 15:17:22 -04:00
John Fernandez
5c25bb9bcb
Just use the already existing SCP_string
...
The destination strings in player_order are already SCP_strings, so no need to use manual allocation
2023-10-28 19:15:25 -04:00
Mike Nelson
91c15e6f48
Player general orders ( #5638 )
2023-10-26 19:22:44 -04:00
Sébastien Noel
f149c36b44
Fix a few typos ( #5598 )
2023-10-24 20:33:45 -04:00
Goober5000
ee27abf693
make CI happy
2023-10-20 16:23:50 -04:00
Goober5000
c8d78816b0
remaining const updates
2023-10-20 15:32:46 -04:00