dxx-rebirth/common/main/physics_info.h
2020-05-17 23:35:25 +00:00

44 lines
1.4 KiB
C++

/*
* 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<physics_info>
{
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__;
}