|
|
|
Все инструкции даны для Ubuntu Linux.
|
|
|
|
|
|
|
|
|
|
|
|
## Настройка окружения.
|
|
|
|
|
|
|
|
Следуя [мануалу](https://docs.godotengine.org/en/latest/tutorials/plugins/gdnative/gdnative-cpp-example.html) настраиваем:
|
|
|
|
|
|
|
|
* Исполняемый файл Godot 3.x,
|
|
|
|
* C++ компилятор,
|
|
|
|
* SCons в качестве сборочного инструментария,
|
|
|
|
* Копия godot-cpp репозитория.
|
|
|
|
|
|
|
|
|
|
|
|
### Исполняемый файл Godot 3.x
|
|
|
|
|
|
|
|
Скачиваем Godot 3.2 со [страницы](https://godotengine.org/download/linux)
|
|
|
|
|
|
|
|
Для удобства запуска Godot из командной строки, добавляем alias:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
alias godot="Путь_к_исполняемому_файлу_годо/Godot_v3.2-stable_x11.64"
|
|
|
|
```
|
|
|
|
|
|
|
|
Добавляем эту команду в файл инициализации bash:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
echo "alias godot=\"Путь_к_исполняемому_файлу_годо/Godot_v3.2-stable_x11.64\"" >> .bashrc
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### C++ компилятор
|
|
|
|
|
|
|
|
Установка (инструменты разработчика):
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo apt install build-essential
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### SCons
|
|
|
|
|
|
|
|
Установка:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo apt install scons
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Получение копии godot-cpp репозитория
|
|
|
|
|
|
|
|
Выбираем (создаём) директорию для исходников godot-cpp:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
mkdir gdnative_cpp
|
|
|
|
cd gdnative_cpp
|
|
|
|
```
|
|
|
|
|
|
|
|
Клонируем необходимые репозитории:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git init
|
|
|
|
git submodule add https://github.com/GodotNativeTools/godot-cpp
|
|
|
|
cd godot-cpp
|
|
|
|
git submodule update --init
|
|
|
|
```
|
|
|
|
|
|
|
|
## Сборка C++ биндингов
|
|
|
|
|
|
|
|
В директории gdnative_cpp енерируем api.json:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
godot --gdnative-generate-json-api api.json
|
|
|
|
```
|
|
|
|
|
|
|
|
Генерируем и собираем биндинги:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cd godot-cpp
|
|
|
|
scons platform=linux generate_bindings=yes use_custom_api_file=yes custom_api_file=../api.json
|
|
|
|
cd ..
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Настройка редактора vscode
|
|
|
|
|
|
|
|
1. Устанавливаем C/C++ плагин от Microsoft:
|
|
|
|
|
|
|
|
![01](uploads/99d1f19f51e5cd28ca56cb098028deb3/01.png)
|
|
|
|
|
|
|
|
|
|
|
|
## Клонирование репозитория Universo
|
|
|
|
|
|
|
|
В директории gdnative выполняем:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://gitlab.com/tehnokom/universo.git
|
|
|
|
```
|
|
|
|
|
|
|
|
Переходим в директорию с C++ модулем и выполняем scons:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cd universo/blokoj/toroid/skriptoj/cpp
|
|
|
|
scons platform=linux
|
|
|
|
```
|
|
|
|
|