I've been trying to adapt SimpleMultithreaded into my DirectX project for few days,
and it seems I wont be able to do it without your help.
I've copy/pasted SimpleMultithreader code into my DX project. I have only changed
things like - havok initialization moved to init phase of my project, physicsWorld->stepMultithreaded
moved to update phase of my project.
The problem is I get following warnings:
20:53:28 - .\Memory\Memory\Pool\hkPoolMemory.cpp(952): [0xAF55ADDE] Warning : No runtime block of size 113760 currently available. Allocating new block from system memory. - 3 times, different adresses
20:53:39 - .\World\BroadPhaseBorder\hkpBroadPhaseBorder.cpp(131): [0x65567363] Warning : Entity left the broadphase and has been removed from the hkpWorld. See hkpWorldCinfo::BroadPhaseBorderBehaviour for details.
20:53:39 - .\World\Simulation\Multithreaded\hkpMultithreadedSimulation.cpp(835): [0x20096AAE] Warning : Critical operations generated during simulation's step. They're not deterministically ordered, and therefore the world may behave nondeterministically from here on.
After the last warning I get acces violation error - adresses of some of DirectX classes are changed (ieLPDIRECTINPUTDEVICE8) when compared to the situation before last two warnings.
Any ideas what can be wrong ?
Solved. I was using sprintf which didnt give any warnings about buffer overflow which happened during last havok warning in my errorReportFunction.