That all calls to IDirect3DVertexBuffer9::Lock and IDirect3DVertexBuffer9::Unlock are done from the same thread.
That theory is trivial to confirm or debunk via a DX9 wrapper. That the issue is a classic race condition – which also would explain why it looks different every time.Ĭonceptually, it also makes sense – game could be loading models on multiple threads, setting up D3D resourcesĬoncurrently and I imagine that failing to do so in a thread safe manner could result in artifacts looking like that. To mention that people thought this issue shows up only on multicore CPU’s. I theoretized that this issue relates to vertex buffers not updating properly. I have seen variations where most of the environment was not corrupted, but people were T-posing.
Since it allows me to instantly and reliably tap into game’s rendering code without any game specific hacking. Having a minimal d3d9.dll wrapper is excellent for prototyping, Specific to D3D, I aided myself with DirectX Wrappersįrom Elisha Riedlinger. Step one to figuring out such issues is of course attaching a debugger. However, we want to know what exactly went wrong, so those aren’t enough – armed with a debugger andĪ virtual machine, I can proceed to figuring this issue out. While these might suffice for casual play, neither of these workarounds address the root cause of the issue. Also, having to always run the game through – given PIX is used to collect data, it might introduce additional overhead. Curiously, this issue also goes away when the game runs through… PIX, a graphics debugger! However, similar issues apply.Considering how complex DX9 is, it’s also hard to prove that absolutely Which might bump up system requirements considerably.
However, dgVoodoo wraps game’s Direct3D 9 to Direct3D 11,
This tie-in game to a 1983 movie Scarface wasĭeveloped by Radical Entertainment and released in late 2006. Today’s subject is Scarface: The World is Yours.
Scroll down to Download section for a link and TL DR - if you are not interested in an in-depth overview of what was wrong with the game and how it was fixed,
SilentPatch for Scarface: The World is Yours & launching a Patreon campaign