#ifndef WORLD_H
#define WORLD_H
+#include "qtypes.h"
#include "collision.h"
#define MOVE_NORMAL 0
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;
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);
void World_Start(world_t *world);
void World_End(world_t *world);
-// physics macros
-#ifndef ODE_STATIC
-# define ODE_DYNAMIC 1
-#endif
-
-#if defined(ODE_STATIC) || defined(ODE_DYNAMIC)
-# define USEODE 1
-#endif
-
// update physics
// this is called by SV_Physics
void World_Physics_Frame(world_t *world, double frametime, double gravity);