Subscribe via feed.

What do you mean with ‘generic API detection’?

Just like Cxbx, we have to do a bit of a trick to get software written for the Xbox1 to run on Windows. The main part is patching all functions that cannot run without the actual hardware present (think of the DirectX API’s for example). To patch functions, we first have to locate them. Cxbx contains an ingenious hand-crafted data-structure for this, but it requires an insane amount of (debugging) work to achieve good results. So in Dxbx we took another approach, and generate the needed data-structure automatically, using so-called pattern-files. This way, we get much more detailed information on the various functions linked into the game – and rather effortlessly too! Also, because we can detect the presence of named variables too, we don’t need any hard-coded logic to find them (like Cxbx has). Last but not least, having a fairly detailed map of the executable gives us the ability to produce stack-traces when something goes wrong (which is quite helpfull when debugging a crash).