Old source
Posted By: Speaker-To-AnimalsDate: 8/19/01 6:11 p.m.

struct object_location

struct world_point3d p;

int16 polygon_index;

angle yaw, pitch;

uint16 flags;

struct object_data /* 32 bytes */

/* these fields are in the order of a world_location3d structure, but are missing the pitch

and velocity fields */

world_point3d location;

int16 polygon;

angle facing;

/* this is not really a shape descriptor: (and this is the only place in the game where you

find this pseudo-shape_descriptor type) the collection is valid, as usual, but the

shape index is an index into the animated shape array for that collection. */

shape_descriptor shape;

uint16 sequence; /* for shape animation */

uint16 flags; /* [used_slot.1] [rendered.1] [animated.4] [unused.4] [invisible.1] [solid.1] [status.1] [owner.3] */

int16 transfer_mode, transfer_period; /* if NONE take from shape data */

int16 transfer_phase; /* for transfer mode animations */

int16 permutation; /* usually index into owner array */

int16 next_object; /* or NONE */

int16 parasitic_object; /* or NONE */

/* used when playing sounds */

_fixed sound_pitch;
const int SIZEOF_object_data = 32;

/* ------------ endpoint definition */

#define ENDPOINT_IS_SOLID(e) ((e)->flags&1)
#define SET_ENDPOINT_SOLIDITY(e,s) ((s)?((e)->flags|=1):((e)->flags&=~(uint16)1))

you'll find this in a certain BBEdit advertisement. But why was it moved from map.h to object.h? I know MInf had mapfile loading optimizations...

Problems? Suggestions? Comments? Email maintainer@bungie.org

Marathon's Story Forum is maintained with WebBBS 5.12.