Alright, I fixed the error in ddraw. To apply the fix, you need to download the ddraw.dll and create a file called ddraw_patch_elma.txt in the same folder where ddraw.dll is. It's just a simple fix that'll prevent the lev list growing too much which causes the internal error. More elegant solution ...