TheXTech / TheXTech

The full port of the SMBX engine from VB6 into C++ and SDL2, FreeImage and MixerX
https://wohlsoft.ru/projects/TheXTech/
GNU General Public License v3.0
294 stars 28 forks source link

Autocode handling for multires #652

Closed ds-sloth closed 6 months ago

ds-sloth commented 11 months ago

Autocode sometimes draws to the screen in a way that assumes that it is 800x600.

Multires already has a system to move autocode's screen-space draws to the correct locations; this works well in most cases and should not be changed, but in some cases it doesn't produce the desired effect.

Proposed solution: when an autocode script tries to draw to the screen, check which resolutions the script says it supports (800x600-only by default). Force the game screen to match the autocode resolution at this time. If an autocode script explicitly states its supported resolutions, force the game screen to match them at script load time.

I'm interested to hear what other people think of this solution.

ds-sloth commented 6 months ago

Autocode will be deprecated when XTLua is released, and Analogue Funk itself works fine in Modern Mode. Guaranteed compatibility with Autocode content is only promised in Classic Mode at 800x600, but users are welcome to play it in Modern Mode if they like.