/* * Portions of this file are copyright Rebirth contributors and licensed as * described in COPYING.txt. * Portions of this file are copyright Parallax Software and licensed * according to the Parallax license. * See COPYING.txt for license details. */ #pragma once #include "vecmat.h" #include "pack.h" #include "dxxsconf.h" #include "dsx-ns.h" namespace dcx { // information for physics sim for an object struct physics_info : prohibit_void_ptr { vms_vector velocity; // velocity vector of this object vms_vector thrust; // constant force applied to this object fix mass; // the mass of this object fix drag; // how fast this slows down vms_vector rotvel; // rotational velecity (angles) vms_vector rotthrust; // rotational acceleration fixang turnroll; // rotation caused by turn banking uint16_t flags; // misc physics flags }; struct physics_info_rw { vms_vector velocity; // velocity vector of this object vms_vector thrust; // constant force applied to this object fix mass; // the mass of this object fix drag; // how fast this slows down fix obsolete_brakes; // how much brakes applied vms_vector rotvel; // rotational velecity (angles) vms_vector rotthrust; // rotational acceleration fixang turnroll; // rotation caused by turn banking uint16_t flags; // misc physics flags } __pack__; }