понедельник, 3 октября 2016 г.

Return To Castle Wolfenstein 1.4 из исходников на Ubuntu 16.04 64bit

Вариант сборки из исходников на гитхабе https://github.com/hexameron/RTCW-SP-linux (ветвь https://github.com/id-Software/RTCW-SP) описан здесь.
Команду
CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer"
для ubuntu 64bit стоит заменить на
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" 
Соответственно, все обращения к каталогу src/unix/release-x86-Linux/ следует заменить на src/unix/release-x86_64-Linux/. Этот каталог (release-XXXX) будет единственным созданным внутри src/unix/, поэтому его имя будет очевидным.

При ошибках вида "не найдено SDL/SDL.h" нужно установить libsdl1.2-dev.

Сборка может дать исполняемый файл игры, в котором возникает stack smashing error при запуске.
В этом случае надо отредактировать в исходниках файл src/renderer/tr_image.c: в строке 316 следует заменить
unsigned p1[1024], p2[1024];
на
unsigned p1[2048], p2[2048];
Затем проделать повторную сборку (удалить каталог unix/release-x86_64-Linux/, вызвать make и переписать получившиеся исполняемый .exe и библиотечные файлы .so в целевой каталог с игрой, как в мануале).