Look at lines 200-237, 419-446 where I make changes to the drawing implementation. What I'm doing is setting the destination resolution to fit the native widescreen aspect ratio, then centering SGDK's native 4:3 display within the widescreen (16:9 or 16:10) aspect ratio. It seems to eat more GPU juice, but the game will display with the correct aspect ratio AND you will be able to screen capture the playback with any screencapturing software at the gameplay's set framerate, meaning no missing tiles.
You can copy the code here into a new Visual C++ 6.0 file (*.cpp) or download it here. You will also have to download the complete source code for SGDK's graphics engine BMDXCtl at gamedev.sf.net, then compile it yourself. Alternately, you can download the complete precompiled dll here. The dll replaces the one in the SGDK installation folder. Make sure you rename the original dll before replacing it with this one, just in case.
I was developing my games on a modified SGDK IDE, too, and it seemed compatible with the modified BMDXCtls. However, make sure you are using SGDK 1.4.6.
![]() Wrong Aspect Ratio |
![]() Correct Aspect Ratio |
Colored coding powered by CodeMirror