Commit Graph
26 Commits
Author SHA1 Message Date
CasparKielwein b71fc4595c remove unused functions in cmeasures 2018-12-22 20:10:56 +01:00
asarium 8f06e338a4 Add typesafe handle types and use it in game sound system
This adds a new class which allows to create type safe resource handle
types. At the moment, the engine uses ints pretty much everywhere for
providing handles to resources created by the specific subsystems. Since
all ints are the same to the C/C++ typesystem it is perfectly legal to
pass a sound handle to the graphics API as a buffer handle which will
obviously cause issues.

This adds a new type called "ID" which is a wrapper class for a generic
handle but with added type safety. An instance of this class cannot be
passed to a function expecting another type of handle which provided
compile-time type safety for these APIs.

As an initial test I converted the game sound handles to this new type.
I already found a bug in the mainhall system thanks to this new type.
The mainhall used the game sound handles as sound instance handles which
probably meant that that specific code never really worked right. I
removed the code since there was no better alternative for fixing it.
2018-04-22 16:22:45 +02:00
asarium 0522566790 Replace direct usages of Snds vector with a function call
This will make it easier to validate the used handles and is generally
better since it doesn't require a global sounds vector.
2017-10-09 15:02:29 +02:00
Fabian Woltermann 127976cd74 Weapon info flags conversion (#851) 2016-08-18 23:17:41 -07: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
niffiwan 0e07f4414e CMEASURE_DETONATE_DISTANCE should be a float
Thanks to Goober5000 for noticing this
2015-11-21 21:18:08 +10:00
niffiwan 26d40553b2 Allow countermeasure kill-distance to be moddable
Trivial efficiency improvement by calculating a pointer once & reusing
it. Add more countermeasure nprintf messages

Add to weapons tbl/tbm
$Countermeasure:
    +Missile Detonation Radius: 40
2015-11-08 14:41:40 +10: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
IssMneur 29b4a6c922 From m!m: patch to add support for customizable cockpit sounds. See: http://www.hard-light.net/forums/index.php?topic=78675.0 2011-10-22 22:11:31 +00:00
Echelon9 d52f90c076 First version of our Documentation system, using automated Doxygen source code comments 2011-02-26 01:15:51 +00:00
Echelon9 e09dea7a79 Revert this change to size_t; will require the wholesale update of the weapon code indices at the same time 2011-01-23 12:30:06 +00:00
Echelon9 400331d4ec Cleanup cmeasure.*: Remove dead code, use size_t as for loop array index not a signed int 2011-01-15 03:05:01 +00:00
Goober5000 c4a337e391 partial revert on 6444... don't forget, someone recently fixed a five-year-old bug in the countermeasures code :) 2010-09-11 00:08:57 +00:00
The_E c28989e121 2010-09-04 13:56:02 +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
wmcoolmon 15b30e3177 Final commit of codebase 2005-12-04 19:07:49 +00:00
Goober5000 b33caf6f45 change from "setting" to "profile"; this way makes more sense
--Goober5000
2005-11-21 02:43:37 +00:00
Goober5000 956e48daf4 add ai_settings.tbl
--Goober5000
2005-11-21 00:50:02 +00:00
taylor 7f786136a6 s/vector/vec3d/g, better support for different compilers (Jens Granseuer) 2005-04-05 05:53:25 +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
unknownplayer 3a7cc9cc63 The big DX/main line merge. This has been uploaded to the main CVS since I can't manage to get it to upload to the DX branch. Apologies to all who may be affected adversely, but I'll work to debug it as fast as I can. 2003-03-18 10:07:06 +00:00
penguin 0c503be8d1 The big include file move 2002-08-01 01:41:11 +00:00
penguin 8f92eebd34 Warpcore CVS sync 2002-06-03 04:10:40 +00:00
penguin 663b3471b9 Volition sources -- warpcore CVS import 2002-06-03 03:26:03 +00:00