I've finally managed to squash the mean little bug that made Win98 systems hang when going fullscreen. You'll not believe what the error was. No, it was not something I did when creating the Direct3D device, or any other DirectX call either. And it was not a windows message I've handled incorrectly. It was the declared calling convention for the windows procedure. I had forgotten to declare it with WINAPI, so it was using the default cdecl convention. The strange thing was that this error only manifested itself in this special case. I would have thought using the wrong calling convention would have given an error the first time the method was called, but no. Anyway, after installing Win98 and countless of resets after each minimal code change I finally found the error.
The complete list of changes since 1.5:
- It is now possible to navigate the menu using the arrow keys again
- You can now quit the game by pressing ESC repeatedly
- The color quality in the graphics options can now be set to auto in which case the best available format is chosen
- The game no longer says it can render in windowed mode if it is not possible in current desktop resolution
- Textures are converted to 16bit if the card doesn't support 32bit textures
- Fixed bug on Win98 that made the computer freeze when going fullscreen
- Removed memory leaks when closing the game
Thanks everyone for the great feedback and patience testing the changes. It's because of you that the game is now almost bug free.
The next release I make will be because of new features, and not for bug fixing.
nonpop:
When I implement customizable action keys I will allow key modifiers as well. Thanks for the input.
__________________________________________________________
www.AngelCode.com - game development and more...
AngelScript - free scripting library -
Tower - free puzzle game
[edited by - WitchLord on April 4, 2004 8:17:55 PM]