четверг, 25 августа 2022 г.

hrtp-demake на Windows XP на старой машине

 Так как в оригинале предполагалось, что всё же движок сможет работать и на очень старых машинах, попробовал портировать игру на Windows XP. Было немного жутковато (ибо пересел на C++14, было ощущение, что придётся избавляться от новых конструкций) . Но  нет: благодаря TDM-GCC всё получилось:


Опишу вкратце основные проблемы, которые возникли, помимо обычных правок при переносе на более ранние версии компилятора (остальное - в описании к видео):

1. TDM-GCC 10.3.0 из-за проблем у Windows XP с HTTPS и общей старости нормально не ставится инсталлятором. Я тупо поставил его на "десятку" и просто копированием перенёс, он при этом отлично работает. В остальном - всё отлично, сам компилятор работает неплохо. Ощутимо медленнее, чем старые версии, но поддержка относительно свежего стандарта того стоит.

2. std::random_device НЕ создаётся. Какой ты ему токен не дай - падает с исключением. Решилось созданием своего "подвирающего" random_device на базе rand/srand. Ни о какой криптографической устойчивости речи не идёт при этом, но в игре это как по мне, никого не волнует и волновать не будет.

3. Почему-то встроенный Intel GMA 3150 не любит текстуры 4096х4096 . Это странно, если бы ему не хватало памяти - они бы падали на закачке, но здесь они закачиваются но не отображаются. Впрочем, разбить текстуры было легко, а в остальном проблем не возникло.

Отняло это на самом деле - ну, 3-4 часа, движок собирался куда дольше. 

В остальном я результатом доволен. Такие дела.