Ладно, с этим я тоже разобрался. Разрешение узнаю через перебор всех доступных графических режимов и беру последний, все изображения скалирую по формуле ширина_экрана/ширина_картинки. Но появилась ещё одна проблема.
Объявляю переменную типа float. В ней произвожу деление чисел 800 / 1600. Потом вывожу результат на экран. А он оказывается равен 0 (т. е. именно 0.000000). Причём если делить нацело, то всё прекрасно отображается (800 / 2 = 400.000000). Если делить с дробным остатком, то он обнуляется. Причём если просто присваивать переменной дробное число (к примеру, 0.5), она прекрасно его выводит.
Я даже отдельную прогу написал, состоящую ровно из двух строчек:
И всё равно 0.000000. Бред какой-то... Мне кто-нибудь скажет, что с делением-то происходит?