Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Fields:Solid

From Quake Wiki

The solid field determines how an entity can be interacted with and in certain cases how its movement is done. Most entities will use the bounding box described by the mins and maxs fields to check collision, but BSP models will use exact collisions so long as the entity uses VEC_HULL[2]_MIN/MAX as its bounding box sizes (Minkowski sums are pre-calculated in the map but only for these two size templates). Going outside of these bounding box sizes can cause collisions with BSP models to become imprecise.

When changing the solid type of an entity, it should be relinked back into the world to prevent any errors. This is best done by calling setorigin() at its current position.

Solid Types[edit]

  • SOLID_NOT
This entity has no interactions with other entities and its touch() function is never ran. For entities with a move type of MOVETYPE_FLY, MOVETYPE_TOSS, or MOVETYPE_BOUNCE, only entities with SOLID_BSP are tested against.
  • SOLID_TRIGGER
This entity is a trigger volume. It won't block other entities nor call their touch() functions, but it will still call its own. For entities with a move type of MOVETYPE_FLY, MOVETYPE_TOSS, or MOVETYPE_BOUNCE, only entities with SOLID_BSP are tested against.
  • SOLID_BBOX
Standard bounding box collision checking for the player.
  • SOLID_SLIDEBOX
The same as SOLID_BBOX but is used to denote the entity is not a player.
  • SOLID_BSP
This entity has a BSP model and uses more precise collision checking. This should only be used with entities that have an actual BSP model and should always be paired with MOVETYPE_PUSH. Only entities with this solid type are considered to be viable ground entities if an entity walks on it.