0ad/source/simulation2
Ykkrosh 05422ad545 Avoid slightly-expensive QueryInterface() calls
Add CEntityHandle which wraps an entity_id_t and also has a pointer to a
per-entity array of IComponents. QueryInterface/CmpPtr on a handle just
involve a couple of pointer dereferences instead of a map lookup.

This requires sizeof(void*) per registered interface type per entity,
which is currently ~0.5KB per entity, which shouldn't be a problem.

This was SVN commit r13825.
2013-09-11 20:41:53 +00:00
..
components Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
docs Updates example component documentation 2013-02-26 19:58:51 +00:00
helpers Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
scripting Implements Vision/Range tech modification 2012-09-24 22:27:32 +00:00
serialization Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
system Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
tests Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
MessageTypes.h Implements Vision/Range tech modification 2012-09-24 22:27:32 +00:00
Simulation2.cpp Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
Simulation2.h Added elapsed real time (as opposed to elapsed simulation time) to MT_Interpolate messages. Fixes leftover TODO from #824. Refs #824. 2012-06-06 19:37:03 +00:00
TypeList.h AI API V3 along with a new version of Aegis. Support for a JS shared component that can be used or not for each AI. 2013-03-05 22:52:48 +00:00