
struct VCActorConfig
{
    char *actorName;
    char *domainName;
    char *domainExtName;
    char *userName;
    char *userDir;
    char *logName;
    char *configData;
    int32 verbose;
    int32 enable;
    int32 testMode;
    FILE *fpLog;
};

struct VCBodyCreate_CallbackData
{
    VCBody		*body;
};

struct VCBodyAttribute_CallbackData
{
    VCBody		*body;
    VCAttribute		*bodyPart;
    VCAttribute		*attribute;
};

struct VCBodyPartCreate_CallbackData
{
    VCBody		*body;
    VCAttribute		*bodyPart;
};

struct VCTimer_CallbackData
{
    uint32		 dummy;
};


struct VCExit_CallbackData
{
    uint32		 dummy;
};

struct VCGroup_CallbackData
{
    uint32		 operation;
};



struct VCBodyInput_CallbackData
{
    VCBody 	*body;
    VCAttribute	*bodyPart;
    uint32	 keyCode;
};

struct VCBodyCollision_CallbackData
{
    VCBody 	*body;
    VCAttribute	*bodyPart;
    VCCollision	*collision;
};

struct VCInput_UpdateCallbackData
{
    VCInput	*input;
    VCAttribute	*inputResource;
    uint32	 keyCode;
};

struct VCInput_CallbackData
{
    VCInput	*input;
    VCAttribute	*inputResource;
    uint32	 keyCode;
};


struct VCEntityRelocate_CallbackData
{
    VCEntity		*entity;
    VCPositionData	*pos;
    uint32		 flags;
};

struct VCEntityInvalid_CallbackData
{
    VCEntity		*entity;
};

struct VCAttributeRelocate_CallbackData
{
    VCEntity		*entity;
    int32		 index;
    VCAttribute 	*attribute;
    VCPositionData 	*pos;
    uint32		 flags;
};

struct VCEntityAttribute_CallbackData
{
    VCEntity	 	*entity;
    int32		 index;
    VCAttribute 	*attribute;
};

struct VCAttribute_CallbackData
{
    VCAttribute 	*attribute;
};

struct VCCollision_CallbackData
{
    VCCollision		*collision;
};

struct VCIntersection_CallbackData
{
    VCIntersection	*intersection;
};

struct VCMaterial_CallbackData
{
    VCMaterial		*material;
};

struct VCRadiator_CallbackData
{
    VCRadiator		*radiator;
};

struct VCXWindowId_CallbackData
{
    VCXWindowId		*xwindowId;
};

struct VCVisualViewResource_CallbackData
{
    VCVisualViewResource	*view;
};

struct VCPseudoGravity_CallbackData
{
    VCPseudoGravity	*pseudoGravity;
};

struct VCResourceAllocate_CallbackData 
{
    char 		*name;
};


struct VCPosition_CallbackData
{
    VCPosition		*position;
};

struct VCTracker_CallbackData
{
    VCTracker		*tracker;
};

struct VCSync_CallbackData
{
    VCSync		*sync;
};

struct VCCollideMonitor_CallbackData
{
    VCCollideMonitor	*collideMonitor;
};

struct VCTrackerMonitor_CallbackData
{
    VCTrackerMonitor	*trackerMonitor;
};

struct VCVisualMonitor_CallbackData
{
    VCVisualMonitor	*visualMonitor;
};

struct VCTexture_CallbackData
{
    VCTexture		*texture;
};

struct VCRamp_CallbackData
{
    VCRamp		*ramp;
};

typedef struct 
{
    char *configName;
    uint32   debug;
    char *nameExt;
    int	  logging;
    char *logExt;
    char *domainName;
    int   testMode;
    uint32   verbose;
}VCCommandLineOptions ;


struct VCEntityDrop_CallbackData
{
    VCBody 		*body;
    VCAttribute		*bodyPart;
    VCEntity		*droppedEntity;
};

