123456789101112131415161718192021222324252627282930313233343536 |
- #ifndef THING_STRUCT_H_INCLUDED
- #define THING_STRUCT_H_INCLUDED
- #include "bevec.h"
- #include "area.h"
- #include "bump.h"
- #include "spritestate.h"
- /**
- * A Thing is any in-game object that appears the world/map view.
- */
- struct Thing_ {
- int kind; /* What kind of thing it is. Same as collision type. */
- int id; /* Numericial ID. */
- int flags; /* State flags. */
- Area * area; /* Area the thing is in, if any. */
- BumpBody * physical; /* Physical body of the thing. Is NULL for statical body. */
- BumpHull * hull; /* Main colision hull of the thing. */
- int z; /* Layer the thing is in. */
- void * data; /* Logical data of the thing. */
- BeVec size; /* size of outline of shape */
- BeVec spos;
-
- /* Sprite information. Also used as the reference for the direction
- * the thing is facing.
- */
- SpriteState spritestate;
- /* Link back to "owner" for attacks, etc. Null if independent. */
- struct Thing_ * owner;
- /* Linked things, such as searchers, attacks, spells. */
- struct Thing_ * linked[THING_LINKED_MAX];
- };
- #endif
|