I also noticed that when you override an entity DataDesc e.g. to add new inputs or outputs to an existing entity all standard IO gets removed. The problem can be fixed if we pass our DataDesc from the CEntity BaseClass to the baseMap variable.
So DO NOT use the definition of BEGIN_DATADESC from the SDK use this definition instead:
PHP Code:
#define BEGIN_DATADESC_CENTITY( className ) \
datamap_t className::m_DataMap = { 0, 0, #className, NULL }; \
datamap_t *className::GetDataDescMap(void) { \
m_DataMap.baseMap = BaseClass::GetDataDescMap(); \
return &m_DataMap; \
} \
datamap_t *className::GetBaseMap() { datamap_t *pResult; DataMapAccess((BaseClass *)NULL, &pResult); return pResult; } \
BEGIN_DATADESC_GUTS(className)