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__;
|
||
|
|
||
|
}
|