Hacker News Digest

16 ноября 2025 г. в 20:54 • seri.tools • ⭐ 158 • 💬 31

OriginalHN

#directx#directinput#c#c++#windows#visual-studio#backward-compatibility#game-development

Why Castrol Honda Superbike crashes on (most) modern systems

Игра Castrol Honda Superbike World Champions 1998 года выпуска работает на Windows 98 и XP, но стабильно падает на Windows 7. Игра использует DirectX 5 и скомпилирована с Microsoft Visual C/C++ 5, причём отладочная версия библиотеки runtime (libcmtd вместо libcmt) содержит множество дополнительных проверок и логирования. Анализ показывает, что игра вылетает при вызове DirectInputCreateEx во время инициализации.

Включив детальное логирование через параметры в Config.dat, автор обнаружил, что игра перечисляет все устройства ввода, включая "LED Controller" — встроенный контроллер подсветки материнской платы. Отключение этого устройства в Device Manager решает проблему. Игра была создана до появления подобных устройств и некорректно обрабатывает их обнаружение.