X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=world.h;h=e43ebd142c6ffc99f7fcfa01a5badb0baa86966d;hb=HEAD;hp=122b9c708a635d959f66780fd8bf6857ad31c612;hpb=9e7cf93753b0ee09dabf325a989f37f611fe7919;p=xonotic%2Fdarkplaces.git diff --git a/world.h b/world.h index 122b9c70..9e0e0101 100644 --- a/world.h +++ b/world.h @@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef WORLD_H #define WORLD_H +#include "qtypes.h" #include "collision.h" #define MOVE_NORMAL 0 @@ -35,14 +36,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. typedef struct link_s { + llist_t list; int entitynumber; - struct link_s *prev, *next; } link_t; typedef struct world_physics_s { // for ODE physics engine - qboolean ode; // if true then ode is activated + qbool ode; // if true then ode is activated void *ode_world; void *ode_space; void *ode_contactgroup; @@ -50,6 +51,8 @@ typedef struct world_physics_s int ode_iterations; // actual step (server frametime / ode_iterations) vec_t ode_step; + // time we need to simulate, for constantstep + vec_t ode_time; // stats int ode_numobjects; // total objects cound int ode_activeovjects; // active objects count @@ -109,7 +112,7 @@ void World_PrintAreaStats(world_t *world, const char *worldname); void World_UnlinkEdict(struct prvm_edict_s *ent); /// Needs to be called any time an entity changes origin, mins, maxs -void World_LinkEdict(world_t *world, struct prvm_edict_s *ent, const vec3_t mins, const vec3_t maxs); +void World_LinkEdict(world_t *world, struct prvm_edict_s *ent, const vec3_t mins, const vec3_t maxs, qbool link_solid_not); /// \returns list of entities touching a box int World_EntitiesInBox(world_t *world, const vec3_t mins, const vec3_t maxs, int maxlist, struct prvm_edict_s **list);