Sorry I didn't reply sooner, I only just noticed this thread.
I'm not sure yet what's causing the problem. Could you post some example code or an executable which shows the problem?
I'm finding it difficult to see how b2SetScreenTransform could cause the problem as it is just this:
DLLCMDC void b2SetScreenTransform(dbFloat offsetX, dbFloat offsetY, dbFloat scale, dbFloat angle)
{
angle = dbAngIn(angle);
float sina = sin(angle)*scale;
float cosa = cos(angle)*scale;
g_DebugTransform[0][0] = cosa;
g_DebugTransform[1][0] = -sina;
g_DebugTransform[2][0] = offsetX;
g_DebugTransform[0][1] = sina;
g_DebugTransform[1][1] = cosa;
g_DebugTransform[2][1] = offsetY;
}
The only thing I can think of is that it is previously being called with values which put everything off-screen somewhere until it is called again. (The screen transform is not specific to a world)
[b]
