Commit Graph
55 Commits
Author SHA1 Message Date
Goober5000 e90416e199 Several coverity fixes (#6232)
* coverity - using `std::move` instead of copying, and change some parameters from value to reference

* coverity - fix or mark potential copy-paste mistakes

* coverity - various checking of parameter and return values

* coverity - miscellaneous fixes, and change some 'intentional' markers to 'false positive' markers
2024-07-06 12:51:31 +02:00
Goober5000 2147571dff make several miscellaneous timestamps type-safe
Trail timestamps and a few top-level timestamps.  Also a few `static` and `constexpr` keywords for good measure.
2024-03-02 00:10:31 -05:00
Goober5000 58053a02b2 several coverity fixes
Some false positive annotations, some range checks, and commenting dead code.
2024-03-01 13:47:00 -05:00
Goober5000 f4669db41c constify some turret code
Apply `const` to a whole bunch of functions.  Also change a bunch of ints to bools.
2023-12-30 00:00:31 -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
Goober5000 1070d1dbea patch hud-lock iteration for objects that aren't ships
Add a few more safety checks; don't assume every item is a ship.
2022-12-21 00:40:09 -05:00
MjnMixael 735b41631d ship flag to exempt it from targeting restrictions (#4878)
* ship flag to exempt it from nebula targeting restrictions

* Make this flag more generic

* address feedback
2022-11-17 07:38:37 -05:00
Taylor Richards 2d7aaa576c set up awacs team arrays just the once
Awacs team arrays only need to be initialized once but were
expanded by Iff_info.size() every second of a mission and never
cleared.

(Also includes cleanup)
2021-12-29 07:12:59 -05:00
Taylor Richards a40dfd7756 fix multi awacs crash due to code init order 2021-12-22 19:35:30 -05:00
BMagnu 391de411ee Vectorize IFF Defs for unlimited IFFs (#3634)
* make IFF limit a vector

* Also change QTFred

* Warnings

* remove decltypes, wrap arrays in unique_ptr
2021-09-30 14:17:28 +09:00
Fabian Woltermann 1acfaa8157 Converts model subsystem flags 2016-08-19 14:59:15 +02:00
asarium 925e8df36e Fix wrong condition introduced by #829 2016-08-15 22:21:10 +02:00
asarium 86cdb905db Add support for indexing flagset with multiple flags
This uses the , operator for combining the flag values.
2016-08-15 15:24:48 +02:00
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Goober5000 599efc960f follow-up to 8299: we need to check visibility for our own team in case we have a friendly-stealth-invisible ship covered by AWACS, or something 2012-01-22 06:51:53 +00:00
Goober5000 149797ae75 the proper way to fix Mantis #2441 is by modifying the team_visibility_update function
also, clarify terminology: in-frustum/not-in-frustum replaces visible/invisible
and do some minor rewrites for additional clarification
2012-01-22 05:37:09 +00:00
The_E f93cd55032 Fix for Mantis 2441: "friendly-stealth-invisible" flag doesn't work 2012-01-15 14:14:46 +00:00
Goober5000 600936b331 reverting 7211 because it is not a proper fix 2011-05-29 06:56:17 +00:00
The_E 23b121a108 Patch for Mantis 2441 (friendly-stealth-invisible" flag doesn't work) from pyro3d 2011-05-27 09:11:51 +00:00
Zacam 3e613ff431 Let see how unreachable all this really was. 2010-10-25 03:48:01 +00:00
Goober5000 5c88548cab more warning fixage 2009-11-23 03:24:10 +00:00
Goober5000 9ee90c41b7 remove this extra friendly-stealth-invisible check; it's redundant and incorrect 2009-11-16 07:01:49 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
Goober5000 5dc5be5a70 implement the targeting cutoff properly (Mantis #1468) 2008-01-19 01:23:41 +00:00
taylor c399c9a68f compiler warning fixes 2006-09-11 01:10:00 +00:00
taylor 2e28cb4907 rest of the map/glow changes
- put glowmap activity back on a per-ship basis (via a SF2_* flag) rather than per-model
 - same for glowpoints, back on a per-ship basis
 - put specmaps and bumpmap back on a LOD0 and LOD1 affect (got changed to LOD0 only recently)
 - fix glowmaps for shockwaves again
 - add support for animated specmaps (mainly for TBP and Starfox mods)
some minor code cleanup and compiler warning fixes
2006-07-06 21:53:59 +00:00
Goober5000 dbd19036cb change back to ubyte
--Goober5000
2006-06-26 17:31:49 +00:00
Goober5000 3a541ceba6 cosmetics, plus revert an unnecessary if 2006-06-24 04:48:08 +00:00
taylor 8d84c36c72 make sure we only do ship related setup on actual ships 2006-06-20 20:04:42 +00:00
taylor d8997a3169 fix out-of-bounds problem in awacs checking (full neb missions may have been a bit freaky from this) 2006-03-18 10:28:25 +00:00
Goober5000 549be4382f fix stealth
--Goober5000
2006-02-19 03:17:01 +00:00
Goober5000 4d5a477f71 übercommit of custom IFF stuff :) 2006-01-13 03:31:20 +00:00
taylor d3481714d0 remove NO_NETWORK 2005-10-10 17:21:11 +00:00
wmcoolmon 0dbb5e657c New SEXP stuff 2005-10-09 08:03:21 +00:00
Goober5000 4cf60293d3 clarification
--Goober5000
2005-09-27 02:36:58 +00:00
Goober5000 81784bfa63 hopefully complete species upgrade
--Goober5000
2005-09-25 05:13:07 +00:00
Goober5000 5fb5c7faf7 various code cleanups, tweaks, and fixes; most notably the MISSION_FLAG_USE_NEW_AI
should now be added to all places where it is needed (except the turret code, which I still
have to to review)
--Goober5000
2005-07-25 03:13:26 +00:00
Goober5000 2a307d099a CVS header tweaks
--Goober5000
2005-07-22 10:18:41 +00:00
Goober5000 2394e9801b remove PreProcDefine #includes in FS2
--Goober5000
2005-07-13 03:35:36 +00:00
Goober5000 76d05268fd improved species support and removed need for #define
--Goober5000
2005-07-13 00:44:24 +00:00
taylor 7f786136a6 s/vector/vec3d/g, better support for different compilers (Jens Granseuer) 2005-04-05 05:53:25 +00:00
taylor 91e9fb4433 more NO_NETWORK/INF_BUILD goodness for Windows, takes care of a few warnings too 2005-03-02 21:24:48 +00:00
Kazan 864e1b5922 remove MCD complete 2004-07-26 20:47:56 +00:00
Kazan 428b3dcbc9 MCD - define _MCD_CHECK to use memory tracking 2004-07-12 16:33:09 +00:00
Goober5000 7ef2ab2e39 Uber pass at reducing #includes
--Goober5000
2004-03-05 09:02:13 +00:00
Goober5000 ffbbe7aff8 whew - I just went through all the code I ever added (or at least, that I could
find that I commented with a Goober5000 tag) and added a bunch of Asserts
and error-checking
--Goober5000
2004-01-30 07:39:09 +00:00
Goober5000 458634292a implemented the custom hitpoints mod
--Goober5000
2003-04-29 01:03:24 +00:00
Goober5000 c9ea61c266 fixed bug I inadvertently introduced by modifying SIF_ flags with sexps rather
than SF_ flags
--Goober5000
2003-01-18 09:25:42 +00:00
Goober5000 b53761bbd4 Fixed some minor bugs, and added a primitive-sensors flag, where if a ship
has primitive sensors it can't target anything and objects don't appear
on radar if they're outside a certain range.  This range can be modified
via the sexp primitive-sensors-set-range.
--Goober5000
2003-01-03 21:58:08 +00:00