Fabian Woltermann
7487fc3042
Address review comments
2020-06-23 17:44:52 +02:00
Fabian Woltermann
ec494f0229
Change the model anim type enums to a enum class
2020-06-21 14:51:43 +02:00
asarium
8f4d51b14a
Convert ade_get_args to variadic template based solution
...
This maintains the type information which can be used for enforce
const-correctness and also for implementing more advanced ways of
handling the type information.
2018-09-26 19:15:42 +02:00
asarium
0b4ca71eba
Enable modernize-deprecated-headers
2018-04-25 11:12:41 +02: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
f819db3ac5
More string const correctness fixes
2017-01-04 00:12:41 +01:00
Fabian Woltermann
1acfaa8157
Converts model subsystem flags
2016-08-19 14:59:15 +02:00
Echelon9
522eb962ff
Fix a range of issue identified via clang warnings
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10860 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-05 10:38:08 +10:00
niffiwan
07dbfed088
Fix compile issue on Linux re: INT_MAX / <limits.h>
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10195 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-08 19:52:57 +10:00
zookeeper
7ff59d0559
Enabled fighterbay door animations to better define which bay path must be used or not used for the animation to trigger using +sub_type. Fixes the (undocumented) current numbering of fighterbay +sub_types to be 1-based instead of 0-based. Turns the SUBTYPE_CHECK macro to a proper function.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10194 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-08 19:52:57 +10:00
Goober5000
ed06a01897
restore r10051, this time allocating triggered_rotation instances when we need them
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10057 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-17 20:24:42 +10:00
The_E
c0a3d69ed2
Revert revision 10051: If we're going to use a global vector to store animation info, we need to fill it (and the references to it) too.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10054 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-17 20:24:41 +10:00
Goober5000
d11c7ccc2f
ship subsystems should reference an index in a global Triggered_rotations vector rather than maintaining their own class object, which wastes space
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10051 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-17 20:24:41 +10:00
Goober5000
6836199eeb
ship_subsys is now a class
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10021 387891d4-d844-0410-90c0-e4c51a9137d3
2013-11-10 18:28:58 +10:00
Goober5000
0f1971c5aa
change the ship struct to a class, and remove use of memcpy and memset for setting/copying the entire ship class
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9885 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-07 20:02:31 +10:00
Goober5000
2ee1b24b65
queued_animation uses a mess of memcpy and memset, so make sure it's a plain struct!
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9818 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:35 +10:00
Goober5000
fe934190ac
clarify that some structs should now be treated as classes change shockwave_create_info back to being a struct fix some missing shockwave_create_info initialization
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9817 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:35 +10:00
The_E
9cec60f23d
Fix for Mantis 1596: Adds "turret-fired" animation trigger
2012-11-28 20:08:07 +00:00
Echelon9
3df38b912b
Implement EModelAnimationPosition enum to more completely address boolean issue fixed in r8837
2012-05-29 10:27:52 +00:00
Goober5000
5e2d53fba5
coded for Mantis #2587 but not actually used... this can allow a series of animations to be pushed and then popped
2012-01-29 09:19:40 +00:00
Goober5000
c84812fbda
herp a big derp
2012-01-29 02:58:29 +00:00
Goober5000
7d99d1016a
update docking code some more
...
add code logic to (theoretically) set submodels instantly to initial or final positions
2012-01-28 02:51:42 +00:00
Goober5000
de6eb9460d
upgrades to the docking system to incorporate docking animations -- incidentally, fixes Mantis #2581
...
also, remove DOCK_BACKUP_RETURN_VAL which never did anything even in retail
2012-01-23 23:27:06 +00:00
Echelon9
8138efbcf9
Documentation: Commentary for modelanim.cpp|h
2011-05-01 11:59:40 +00:00
The_E
ebab2d44ff
Adding patch for Mantis 2385. This adds a "+sub_name" option to the animation code, which comes after/replaces "+sub_type" for a few triggers, such as the "weapon fired" trigger.
2011-02-04 17:18:39 +00:00
Wanderer
23521c1e3b
nuke's scripting and submodel animation changes
2009-08-22 06:32:11 +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
taylor
88693b7388
fix various compiler warnings
2008-03-29 06:30:20 +00:00
taylor
28d78bf454
updated/fixed modelanim code
2006-10-27 21:41:22 +00:00