Last resort logo

SWAT 3 - LAST RESORT GAME MODIFICATION


After coming home from a Billy Idol concert for some reason I wanted to spend more time troubleshooting the bug that has been bothering me lately.

For the record Billy Idol may be almost a senior citizen but, along with Steve Stevens, they put on one hell of a show.  The guys can still rock it.

I think I have finally narrowed down what has been causing the "Run-time error '9' Subscript out of range" problem.   For some reason Windows 8.1 doesn't like the subroutine that I use for determining the valid screen resolutions that are available.   This data is provided by your video card to Windows but for whatever reason doesn't work with Windows 8.1 but will work if you put the Last Resort launcher in Windows 7 or Windows 8 compatibility mode.

The error that results in the Launcher stopping is totally my fault because I didn't add a check in case there were no valid screen resolutions.   Yes, in hindsight this was a stupid thing to assume that the result wouldn't be zero.   No harm done other than me kicking myself for making such a silly mistake.

Now I just have to figure out why Windows 8.1 doesn't play nice with the code while all the other compatibility modes work fine.

Edit:  This may be more information than any of you care about but I think here is the problem as found on Microsoft's site:

EnumDisplaySettings function

Apps that you design to target Windows 8 and later can no longer query or set display modes that are less than 32 bits per pixel (bpp); these operations will fail. These apps have a compatibility manifest that targets Windows 8. Windows 8 still supports 8-bit and 16-bit color modes for desktop apps that were built without a Windows 8 manifest; Windows 8 emulates these modes but still runs in 32-bit color mode.

So what I think is happening is that while the Last Resort code is looking for 16bit colour modes to use with Swat 3 Windows 8 is saying nope, sorry, they have already been converted to 32bit so there are no 16bit modes that you can use.

I will have to modify the code to see if it can find 32 bit modes as a test...after I sleep. 

You are not authorised to post comments.

Comments powered by CComment