Сборка Open Source GTA VC и GTA III в Linux
Скорее всего нет тут такого человека, который бы не играл в GTA (или хотя бы не слышал о ней). Первая 3D версия серии вышла около 20 лет назад. Это была GTA III. Через год вышла GTA: Vice City. Несмотря на это, в эти игры до сих пор не только играют, но и создают моды. Эти игры портированы на множество платформ, но к сожалению, Linux (до недавнего времени) обошли стороной. Единственный вариант поиграть в Linux — был wine. Но недавно все изменилось.
Мне на глаза попалась новость — Разработчики закончили реверс-инжиниринг GTA III и Vice City и выпустили порты для разных платформ.
А так как я слежу за всем, что касается исходников (утечки, открытие и т.д.), а также люблю собирать софт из исходников — разумеется это я не мог проигнорировать. Из новости я понял, что энтузиасты опубликовали исходный код GTA III и GTA: VC. Моей радости не было предела. Я сразу же пошел на github за дополнительной информацией.
Основные улучшения (касательно miami):
- Исправлено множество мелких и крупных багов.
- Пользовательские файлы (сохранения и настройки), теперь хранятся в корневом каталоге GTA.
- Настройки теперь хранятся в файле reVC.ini (в оригинале были в gta_vc.set).
- Добавлено меню отладки (доступно по CTRL+M).
- Свободная камера (Debug camera). CTRL+B — вкл/выкл. При включении камеру можно свободно перемещать во всей карте.
- Убраны экраны загрузки между островами.
- И некоторые другие исправления/улучшения, включая исправления для других платформ.
Примечание: эти параметры можно настроить в файле core/config.h. Некоторые параметры можно менять прямо в игре (используя отладочное меню), а для остальных потребуется пересборка.
Перейдем к самому интересному, а именно к сборке miami (GTA: VC).
- Дистрибутив Linux (Ubuntu, Debian, Mint, etc);
- Оригинальные файлы (ассеты) с дистрибутива игры VC (в случае сборки GTA III — соответственно потребуются файлы GTA III).
- GCC.
- Некоторые библиотеки и заголовочные файлы.
В качестве ОС использую Linux Mint 19.3 (основа — Ubuntu 18.04 LTS). Установить компиляторы gcc можно так (если не установлены):
Установка необходимых библиотек:
Тут остановимся и рассмотрим поподробнее. Я вчера пол часа потратил на поиск решения проблемы компиляции из-за своей невнимательности. На GitHub четко указано, что версия библиотеки glfw должна быть не ниже 3.3, в то время как в репозиториях Ubuntu 18.04 — 3.2. Поэтому, если у вас дистрибутив построенный на Ubuntu 18.04 (или в репозитории версия библиотеки glfw ниже 3.3) — то данную библиотеку необходимо собрать из исходников. Но тут нет ничего сложного. Качаем архив github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip
Распаковываем в любую папку. Заходим в распакованную папку и выполняем следующие команды:
Библиотека нужной версии установлена. Теперь клонируем репозиторий:
Это много времени не займет. После клонирования размер папки reVC около 120 МБ(из которых 70 МБ папка .git).
Далее идем в папку reVC и запускаем premake5Linux:
Генерация фалов сборки займет пару секунд.
Примечание: Если вы используете архитектуру arm/arm64 — то вам нужно собрать утилиту premake5Linux из исходников, а потом запустить с параметром, указанном выше.
Теперь собственно сама сборка. Для сборки доступны следующие конфигурации:
— debug_linux-x86-librw_gl3_glfw-oal
— debug_linux-amd64-librw_gl3_glfw-oal
— debug_linux-arm-librw_gl3_glfw-oal
— debug_linux-arm64-librw_gl3_glfw-oal
— release_linux-x86-librw_gl3_glfw-oal
— release_linux-amd64-librw_gl3_glfw-oal
— release_linux-arm-librw_gl3_glfw-oal
— release_linux-arm64-librw_gl3_glfw-oal
Думаю, из названий и так все понятно. Главное не перепутайте amd64 и arm64(я вчера ночью сонный недосмотрел, потом не мог понять, почему не происходит сборка).
Переходим в директорию reVC/build и запускаем make с вашей конфигурацией. В случае с debug-версией для amd64 нужно так:
Компиляция происходит достаточно быстро. На моём старом ноутбуке (Asus X55A, Pentium B970 2×2.3 ГГц и 4 Гб памяти) сборка отладочной версии заняла 2 мин. 10 сек.(выходной файл = 30.4 МБ), релизной — 4 мин. 44 сек.(размер файла = 43,8 МБ). По своему опыту скажу, что во многих случаях — обычно все наоборот.
Если компиляция прошла без ошибок, то в папке reVC/bin/ваша_конфигурация/Debug_или_Release/ будет бинарник reVC.
Копируем куда-нибудь оригинальную папку с GTA: VC (при желании, можно удалить все файлы из корня — они нам не понадобятся). Потом в папку с игрой копируем наш бинарник reVC. Теоретически, игру уже можно запускать, и даже играть. Но текст на некоторых пунктах меню будут неправильно отображаться:
Чтобы это исправить, копируем папки с заменой из reVC/gamefiles в папку с игрой. Правда, в таком случае, игра будет на английском языке.
Теперь пробежимся по меню отладки:
Чтобы включить, или выключить меню отладки — нажмите CTRL+M.
- Cam — все, что связанно с камерой.
- Cheats — Различные читы.
- Debug — Отображение разной отладочной информации, позиции игрока, и т.д.
- Debug Render — Можно скрывать или отображать различные объекты, транспорт, строения, пешеходов, показывать пути транспорта и пешеходов и т.д.
- Game — Телепортация в любое место (предварительно нужно поставить метку на карте). Также можно запустить абсолютно любую миссию.
- Particle — Не знаю что это такое.
- Render — Некоторые fix’ы, настройка fps, графические настройки.
- Spawn — Спаун транспорта.
- Time & Weather — Настройка времени и погоды.
Сборка GTA III ничем не отличается, за исключением клонирования репозитория:
Источник
DMK 31AF03
FireWire 400 monochrome industrial camera
- 1 / 3 inch Sony CCD sensor (ICX204AL)
- 1,024 × 768 ( 0.8 MP ) , up to 30 fps
- Global shutter
- Manufactured by The Imaging Source
- Windows and Linux software included
- Specification
- Documentation
- Software
- Accessories
General behavior | |
Sensitivity | 0.05 lx |
Dynamic range | 8 bit |
Video formats @ frame rate (maximum) | 1,024 × 768 ( 0.8 MP ) Y800 @ 30 fps |
Interface (optical) | |
IR cut filter | |
Sensor type | CCD |
Sensor specification | |
Shutter | global |
Format | 1 / 3 inch |
Pixel size | H: 4.65 µm , V: 4.65 µm |
Lens mount | C/CS |
Interface (electrical) | |
Interface | FireWire 400 |
Supply voltage | 8 VDC to 30 VDC |
Current consumption | approx 200 mA @ 12 VDC |
Auto iris control | |
Trigger | |
I/Os | |
Interface (mechanical) | |
Dimensions | H: 50.6 mm , W: 50.6 mm , L: 56 mm |
Mass | 265 g |
Adjustments | |
Shutter | 1 / 10,000 s to 30 s |
White balance | -2 dB to 6 dB |
Environmental | |
Temperature (operating) | -5 °C to 45 °C |
Temperature (storage) | -20 °C to 60 °C |
Humidity (operating) | 20 % to 80 % (non-condensing) |
Humidity (storage) | 20 % to 95 % (non-condensing) |
Subject to change. |
Whitepapers about Cameras | |||
Industrial Cameras: Spectral Sensitivity | 1.30 | November 15, 2017 | |
Dimensional Diagrams | |||
Dimensional Diagrams for 21, 22, 23, 24, 42, 72, Autofocus and Zoom Series | 1.14 | December 15, 2017 | |
Datasheets for CCD Sensors | |||
Datasheet for Sony ICX204AL CCD Sensor | 1.2 | September 15, 2012 | |
Subject to change. |
Device Drivers | |||
Device Driver for FireWire 400 Cameras | 4.4.0.1 | June 22, 2011 | |
Software Development Kits (SDKs) | |||
IC Barcode — 1D and 2D barcode reader for IC Imaging Control | 1.1.0.704 | March 22, 2021 | |
IC Imaging Control C++ Class Library for C++ projects | 3.5.6 | October 27, 2020 | |
IC Imaging Control .NET Component for C# and VB.NET projects. | 3.5.6 | October 27, 2020 | |
IC 3D SDK — C, C++ library for stereo depth estimation | 1.1 | August 15, 2018 | |
IC Imaging Control C Library | 3.4.0.51 | November 23, 2017 | |
IC Imaging Control ActiveX | 3.2.0.0 | July 16, 2012 | |
IC Imaging Control ActiveX Runtime Setup | 3.2.0.0 | July 16, 2012 | |
Programming Samples | |||
IC Imaging Control — Sample Library | 3.3 | August 21, 2014 | |
Extensions | |||
IC NeuroCheck Driver for NeuroCheck 6.2 | 1.1.0.122 | June 21, 2021 | |
TWAIN Source for IC Imaging Control | 3.0.0.144 | February 12, 2021 | |
LabVIEW Extension for IC Imaging Control | 3.4.0.41 | September 6, 2019 | |
Cognex VisionPro AIK Plugin for IC Imaging Control | 3.4.2.0 | July 24, 2019 | |
IC NeuroCheck Driver for NeuroCheck 6.1 | 1.1.0.69 | May 28, 2018 | |
IC Matlab Plugin for Matlab R2013b and higher versions | 3.4.0.58 | November 23, 2017 | |
IC NeuroCheck Driver for NeuroCheck 6.0 | 1.0.0.51 | September 29, 2014 | |
IC Matlab Plugin for Matlab 10.0 R2010 | 1.1.0.0 | July 29, 2013 | |
End User Software | |||
IC Measure — manual on-screen image measurement and image acquisition | 2.0.0.286 | June 21, 2021 | |
IC Capture — image acquisition | 2.5.1547.4007 | February 10, 2021 | |
IC Express | 1.1.0.23 | July 24, 2019 | |
IC 3D — User friendly stereo calibration, depth estimation and 3D visualization | 1.1 | August 15, 2018 | |
Scan2Docx | 1.1.0.883 | February 3, 2015 | |
Scan2Docx OCR | 1.1.0.883 | February 3, 2015 | |
Footswitch software for IC Capture | 1.0.0.9 | September 22, 2014 | |
IC Line Profiler | 1.1.0.9 | August 1, 2014 | |
IC Fullscreen Presenter | 1.0.0.0 | June 6, 2014 | |
Software Tools | |||
Hot Pixel Correction | 4.0. | July 25, 2019 | |
Processor Idle State Manager | 2.2.0.2 | March 12, 2014 | |
Subject to change. |
About The Imaging Source
Established in 1990, The Imaging Source is one of the leading manufacturers of industrial cameras, video converters and embedded vision components for factory automation, quality assurance, medicine, science, security and a variety of other markets.
Our comprehensive range of cameras with USB 3.1, USB 3.0, USB 2.0, GigE, MIPI interfaces and other innovative machine vision products are renowned for their high quality and ability to meet the performance requirements of demanding applications.
Источник