I am currently trying to understand the relationship between entities and the level geometry.
For example, say I have created a func_bobbing entity which (in gtkRadiant) is referring to one brush which is meant to represent the platform and another that is the origin. Having written a very simple entity string extractor I can see that the entity is being written into the BSP as something like:
{
“classname” “func_bobbing”
“origin” “-4 -28 92”
“model” “*1”
}
Obviously this is telling the engine that its a bobbing entity and where its origin is located. More interesting though is the model *1.
I assume this is somehow referring to one of the brushes in the level.
Couple of questions then, how does the engine resolve the relationship between this *1 and the actual brush in the level file? Secondly, if this bobbing functionality moves that brush, or a door for that matter, doesn’t that violate the spatial partitioning of the BSP?
Perhaps entities are just not considered the same way in the spatial partitioning?