Take No Prisoners
Mageslayer
Necrodome (was not tested)
( Mobygames )
D3D mode fails saying "insufficient texture memory returning to default video mode" in the console.
The game treats the value returned by IDDraw->GetAvailableVidMem() as a signed 32-bit integer. If your graphic card reports more than 2 gigabytes of video memory then it gets interpreted as a negative number :P
The suggested fix is to use a wrapper that allows changing the reported amount or video memory, like DxWnd or dgVoodoo 2.
Or one could use my ddwrapper project and change the GetAvailableVidMem function to the following:
HRESULT __stdcall GetAvailableVidMem( WRAP* This, LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree )
{
HRESULT hResult;
DWORD dwLocalTotal;
if( lpdwTotal == NULL )
{
lpdwTotal = &dwLocalTotal;
}
hResult = This->dd2->lpVtbl->GetAvailableVidMem( This->dd2, lpDDCaps, lpdwTotal, lpdwFree );
if( SUCCEEDED( hResult ) ){
// if Total memory is 2GB or more then divide reported values in half
if( *lpdwTotal >= 0x80000000 ){
*lpdwTotal >>= 1;
if( lpdwFree != NULL ) *lpdwFree >>= 1;
}
}
return hResult;
}