44 lines
1.4 KiB
C++
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__;
|
|
|
|
}
|