Home

Awesome

Периметр

Чат для обсуждения: https://t.me/PerimeterGame

(с) ООО "КД ВИЖЕН" (Калининград)

English

Весь код, за исключением сторонних библиотек, публикуется под лицензией GPLv3. Код сторонних библиотек (где указана иная лицензия) публикуется под лицензией этих библиотек.

Состав репозитория

Что потребуется

Проверено что игра собирается в окружении Windows XP / Windows 7 / Windows 10 + Visual Studio 2005. Кроме того потребуется установить Windows SDK 7.1 для воспроизведения видео, скачать можно по ссылке:

https://developer.microsoft.com/ru-ru/windows/downloads/sdk-archive/

В самом низу есть версия для Windows 7 и Windows XP (на Windows 10 он тоже подойдет).

Сборка

Все нижеследующее уже сделано для папки Source (возможно, потребуется скорректировать пути и установить нужные SDK). В Visual Studio 2005 достаточно просто выбрать проект Game и Rebuild.

Игра собирается без особых проблем, главное правильно настроить Additinal Include Direcotires и Additional Link Directories, об этом ниже. Основная проблема была с кусочками кода написанными в стиле:

for (int i = ...) {
  //...
}

//дальше идет использование i

Но современные компиляторы так делать не разрешают. Исправить это легко, - достаточно вынести определение переменной за цикл.

Пошаговая инструкция по сборке

Открываем в VS2005 solution Source/PerimetrAddon.sln.

ВАЖНО Если вы сделали clean, to вам нужно восстановить файлы triggereditor.* из репозитория, потому что он не собирается!

Последовательность в которой нужно собриать подпроекты:

Выбираем подпроект в меню студии и выполняем Project Only -> Build Only <Имя проекта>, просто Build не будет работать так как есть ошибки в TriggerEditor, сама игра это проект Game его выход это Game.exe.

изображение

Для Source зависимости прописаны и собираются в Win7. Возможно потребуется внести корректировки.

Для каждого проекта нужно добавить следующие пути поиска *.h файлов (Project Properties | C++ | General | Additional Include Directories):

ВАЖНО Помещать их в самый конец списка. изображение

После этого выбранный проект должен собраться.

Для проекта Render помимо XLibs.Net нужно добавить:

Для проектов **PerimeterSound, Game помимо XLibs.Net нужно добавить:

Все проекты собраны, кроме Game - он не линкуется, но компилируется. Что бы это исправить нужно добавить следующие пути поиска *.lib файлов (Project Properties | C++ | Linker | Additional Library Directories):

Запуск игры

Скопируйте файлы GameDBG.exe, PrmEdit.dll, ScriptEditor.dll, TriggerEditor.dll и Scripts\GameShellSq.prm в папку с игрой из Steam.