diff --git a/examples/SharedMemory/PhysicsClientC_API.cpp b/examples/SharedMemory/PhysicsClientC_API.cpp index 4e5b4982b..b116999d6 100644 --- a/examples/SharedMemory/PhysicsClientC_API.cpp +++ b/examples/SharedMemory/PhysicsClientC_API.cpp @@ -558,12 +558,18 @@ int b3GetJointState(b3PhysicsClientHandle physClient, b3SharedMemoryStatusHandle { state->m_jointPosition = status->m_sendActualStateArgs.m_actualStateQ[info.m_qIndex]; state->m_jointVelocity = status->m_sendActualStateArgs.m_actualStateQdot[info.m_uIndex]; - for (int ii(0); ii < 6; ++ii) { - state->m_jointForceTorque[ii] = status->m_sendActualStateArgs.m_jointReactionForces[6 * jointIndex + ii]; - } - state->m_jointMotorTorque = status->m_sendActualStateArgs.m_jointMotorForce[jointIndex]; - return 1; - } + } else + { + state->m_jointPosition=0; + state->m_jointVelocity=0; + } + for (int ii(0); ii < 6; ++ii) + { + state->m_jointForceTorque[ii] = status->m_sendActualStateArgs.m_jointReactionForces[6 * jointIndex + ii]; + } + state->m_jointMotorTorque = status->m_sendActualStateArgs.m_jointMotorForce[jointIndex]; + return 1; + } } return 0; diff --git a/examples/SharedMemory/udp/main.cpp b/examples/SharedMemory/udp/main.cpp index 3a3f07ac7..de83fb56b 100644 --- a/examples/SharedMemory/udp/main.cpp +++ b/examples/SharedMemory/udp/main.cpp @@ -133,9 +133,11 @@ int main(int argc, char *argv[]) { if (gVerboseNetworkMessagesServer) { + int dataLen = (int)event.packet->dataLength; + printf("A packet of length %u containing '%s' was " "received from %s on channel %u.\n", - event.packet->dataLength, + dataLen, event.packet->data, event.peer->data, event.channelID); diff --git a/test/SharedMemory/premake4.lua b/test/SharedMemory/premake4.lua index 3f060285a..b886a9650 100644 --- a/test/SharedMemory/premake4.lua +++ b/test/SharedMemory/premake4.lua @@ -28,6 +28,58 @@ project ("Test_SharedMemoryPhysicsClient") "../../examples/Utils/b3ResourcePath.cpp", "../../examples/Utils/b3ResourcePath.h", } + +project ("Test_PhysicsClientUDP") + + language "C++" + kind "ConsoleApp" + + includedirs { + "../../src", + "../../examples", + "../../examples/ThirdPartyLibs/enet/include" + } + links { + "enet", + "BulletFileLoader", + "Bullet3Common", + "LinearMath" + } + if os.is("Windows") then + defines { "WIN32" } + links {"Ws2_32","Winmm"} + end + + defines {"PHYSICS_UDP"} + + files { + "test.c", + "../../examples/SharedMemory/PhysicsClient.cpp", + "../../examples/SharedMemory/PhysicsClient.h", + "../../examples/SharedMemory/PhysicsClientSharedMemory.cpp", + "../../examples/SharedMemory/PhysicsClientSharedMemory.h", + "../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp", + "../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h", + "../../examples/SharedMemory/PhysicsClientUDP.cpp", + "../../examples/SharedMemory/PhysicsClientUDP.h", + "../../examples/SharedMemory/PhysicsClientUDP_C_API.cpp", + "../../examples/SharedMemory/PhysicsClientUDP_C_API.h", + "../../examples/SharedMemory/PhysicsClientSharedMemory_C_API.h", + "../../examples/SharedMemory/PhysicsClientC_API.cpp", + "../../examples/SharedMemory/PhysicsClientC_API.h", + "../../examples/SharedMemory/Win32SharedMemory.cpp", + "../../examples/SharedMemory/Win32SharedMemory.h", + "../../examples/SharedMemory/PosixSharedMemory.cpp", + "../../examples/SharedMemory/PosixSharedMemory.h", + "../../examples/Utils/b3ResourcePath.cpp", + "../../examples/Utils/b3ResourcePath.h", + "../../examples/SharedMemory/PhysicsDirect.cpp", + "../../examples/Utils/b3Clock.cpp", + "../../examples/MultiThreading/b3PosixThreadSupport.cpp", + "../../examples/MultiThreading/b3Win32ThreadSupport.cpp", + "../../examples/MultiThreading/b3ThreadSupportInterface.cpp", + } + project ("Test_PhysicsServerLoopBack") diff --git a/test/SharedMemory/test.c b/test/SharedMemory/test.c index f7eeb18ad..211daf0df 100644 --- a/test/SharedMemory/test.c +++ b/test/SharedMemory/test.c @@ -256,6 +256,7 @@ void testSharedMemory(b3PhysicsClientHandle sm) b3RequestCameraImageSetPixelResolution(command, width, height); statusHandle = b3SubmitClientCommandAndWaitStatus(sm, command); } + if (b3CanSubmitCommand(sm)) { b3SharedMemoryStatusHandle state = b3SubmitClientCommandAndWaitStatus(sm, b3RequestActualStateCommandInit(sm,bodyIndex));