Adds an option to syncUserData to specify the bodies for which to sync.

This commit is contained in:
Tigran Gasparian
2020-01-23 14:46:33 +01:00
parent 34eb3d19bf
commit 34db76d263
7 changed files with 66 additions and 8 deletions

View File

@@ -3714,9 +3714,20 @@ B3_SHARED_API b3SharedMemoryCommandHandle b3InitSyncUserDataCommand(b3PhysicsCli
b3Assert(command);
command->m_type = CMD_SYNC_USER_DATA;
command->m_syncUserDataRequestArgs.m_numRequestedBodies = 0;
return (b3SharedMemoryCommandHandle)command;
}
B3_SHARED_API void b3AddBodyToSyncUserDataRequest(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueId)
{
struct SharedMemoryCommand* command = (struct SharedMemoryCommand*)commandHandle;
b3Assert(command);
b3Assert(command->m_type == CMD_SYNC_USER_DATA);
command->m_syncUserDataRequestArgs.m_requestedBodyIds[command->m_syncUserDataRequestArgs.m_numRequestedBodies++] = bodyUniqueId;
}
B3_SHARED_API b3SharedMemoryCommandHandle b3InitAddUserDataCommand(b3PhysicsClientHandle physClient, int bodyUniqueId, int linkIndex, int visualShapeIndex, const char* key, UserDataValueType valueType, int valueLength, const void* valueData)
{
PhysicsClient* cl = (PhysicsClient*)physClient;