more memset refactoring... turn texture_replace back into a POD struct

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10048 387891d4-d844-0410-90c0-e4c51a9137d3
better assignment of vec3d and matrix (matrix should be set to identity, not all-0)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10049 387891d4-d844-0410-90c0-e4c51a9137d3
make cmission and campaign into full-fledged classes since they contain non-POD types remove a memset which hoses the multi campaign class

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10050 387891d4-d844-0410-90c0-e4c51a9137d3
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
fix gcc warning: [-Wreorder]

‘campaign::variables’ will be initialised after ‘int campaign::num_missions’

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10052 387891d4-d844-0410-90c0-e4c51a9137d3
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
fix gcc warning: [-Wreorder]

‘game_snd::flags’ will be initialised after ‘uint game_snd::signature’

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10055 387891d4-d844-0410-90c0-e4c51a9137d3
don't unnecessarily retime collision checks

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10056 387891d4-d844-0410-90c0-e4c51a9137d3
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
clear dock lists when objects are deleted, and redundantly clear them between missions and when object instances are destroyed (Mantis #2952)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10058 387891d4-d844-0410-90c0-e4c51a9137d3
sync functions for freeing dock instances

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10059 387891d4-d844-0410-90c0-e4c51a9137d3
turn p_object into a class ensure that p_object dock instances are cleared between missions, not just when the game exits handle Player_start_pobject in a saner way the p_object Reset method is nice, but it turns out we don't need it

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10060 387891d4-d844-0410-90c0-e4c51a9137d3
change dock_function_info to a class

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10074 387891d4-d844-0410-90c0-e4c51a9137d3
change p_dock_function_info to a class as well

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10075 387891d4-d844-0410-90c0-e4c51a9137d3
ugh, neither the constructor nor the memsets are actually needed here

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10076 387891d4-d844-0410-90c0-e4c51a9137d3
now that we have queued_animation_init, we can rewrite this properly

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10077 387891d4-d844-0410-90c0-e4c51a9137d3
these memsets aren't needed

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10078 387891d4-d844-0410-90c0-e4c51a9137d3
memset initialized the wrong level of pointer :-/

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10079 387891d4-d844-0410-90c0-e4c51a9137d3
make man_thruster a POD struct, and initialize maneuvering thrusters in ship_info initialization

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10080 387891d4-d844-0410-90c0-e4c51a9137d3
this exited_ship constructor is redundant and interferes with the POD-ness of the struct

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10081 387891d4-d844-0410-90c0-e4c51a9137d3