Всем привет, в этой теме (уроке) я попробую объяснить как скомпилировать свой проект, созданный на Виртулсе (cmo, vmo), В полноценное приложение (.exe).
Что Нужно:
1) Сам движок, Virtools V4 (Версия обязательно должна быть 4). 2) В коренной под папке Virtools, должна быть папка "Sdk". Она нам нужна, потому-что в этой папке находится готовый, Ещё не скомпилированный пример Плеера, а так же всяческие библиотеки формата ".lib", которые нужны при компиляции. 3) Программа Microsoft Visual Studio 2003. Версия обязательно должна быть 2003. 4) Стальные нервы.
На каком Я.П. написан исходник Плеера: Visual C++.
Ладно-с, давайте начнём...
Первое что мы должны сделать, так это найти и открыть проект Плеера. Находится он в: "Virtools v4 ---> Sdk ---> Samples ---> Runtime ---> Standalone Player". Вот и папка с почти готовым проектом. Далее открываете файл "CustomPlayer.vcproj". Или же можете открыть файл "Player.sln", который находится в: "Virtools v4 ---> Sdk". Разницы не будет.
Откроется программа Visual Studio 2003. Немного отвлечёмся, справа есть "Solution Explorer" (проводник), Который показывает какие файлы используются в проекте.
Сверху, в строке меню, открываем "Build ---> Batch Build".
Появится окошко, в котором видны все стандартные конфигурации для компилирования в ".exe".
Если хотите отредактировать любую из этих конфигураций, то нужно в "Solution Explorer", на "CustomPlayer" нажать ПКМ и выбрать "Properties".
Или же в строке меню открыть: "Project ---> Properties". Перед этим нужно выделить "CustomPlayer" в том же "Solution Explorer". Откроется меню настроек всего проекта:
Переключатся между конфигурациями можно, выбрав ту или иную конфигурацию (configuration) в верхней строке окна.
Ладно, вернёмся к делу. Так как проект готов, остаётся только его скомпилировать. Но для начала, лучше просто Отладить Плеер на работоспособность. Для этого нужно выбрать одну из нормальных Конфигураций, для успешной компиляции:
1. +Debug - Вполне рабочая конфигурация. 2. -DebugStatic - Выдаёт ошибку при компиляции. Авторы движка не рекомендуют эту конфигурацию, да и я тоже. 3. +Release - Вполне рабочая конфигурация. 4. +ReleaseDebug - Вполне рабочая конфигурация. 5. -+ReleaseStatic - Будут дополнительные хлопоты, прежде чем удаться скомпилировать проект.
Давайте выберем Debug. Нажимаем на кнопочку, которая чуть левее выбора конфигурации. Ну или же... В строке меню программы: "Debug ---> Start", а также можно просто нажать "F5". Если всё пройдёт успешно, то сначала должно появиться вот это окно:
А потом, нажав "OK", появится вот это приветствующее Лого Виртулса:
А после само окно нашего Плеера с уже включённым файлом "sample.cmo":
Если всё прошло успешно и вы увидели окно самого Плеера, то можно приступать к компиляции. Для этого в строке меню программы, выбираем: "Build ---> Build CustomPlayer" или же "Build ---> Build Solution". В данном случае, разницы также не будет. Начнётся процесс компиляции. Когда закончится компиляция, готовый ".exe" файл искать нужно в коренной папке "Virtools v4". Если не изменять настройки проекта, то файл будет называться "CustomPlayer.exe".
Решение ошибок, которые могут возникнуть.
1.) Если проект скомпилировался без ошибок, но когда он запускается, появляется следующее окно:
Чтобы исправить эту ошибку, нужно в "Solution Explorer" двойным щелчком открыть файл "CustomPlayerApp.cpp".
Откроется исходный код этого файла. Нам нужен код, начиная с 59 строчки. Находим эту строчку.
Кто не знает, номер строки, на которой сейчас стоит выделение, находится в правом нижнем углу, ну почти. Например "Ln 59".
В общих чертах, ошибка заключается в том, что Плеер не может прочитать конфигурацию или командную строку. Чтобы её решить, нужно удалить строчки с 63 по 66. Но не спешите этого делать, Можно и просто оставить их в коде как комментарии, в начале каждой строчки поставить по два слеша "//". В итоге получится так:
2.) Компиляция проходит успешно, но после запуска Плеера, появляется следующее окошко:
Эта ошибка связана с тем, что Плеер так же не может прочитать конфигурацию. И поэтому не знает как называется наш файл с уровнем (sample.cmo). Поэтому мы должны вручную указать ему название файла. Для этого, в том же файле "CustomPlayerApp.cpp" переходим к 67 строчке. И пишем следующее:
Код
filename = "sample.cmo";
Проблема должна решиться, а код будет выглядеть так:
3.) Если после компиляции, запустить файл "CustomPlayer.exe" не через Отладку в "Visual Studio", а как обычное приложение, Снова появляется окно, как в предыдущей ошибке, хоть и методом выше это исправили. Ошибка заключается в том, Что во время Отладки в "Visual Studio", файл "sample.cmo" автоматически подгружается. А вот после компиляции - нет.
Если появилось, то нужно всего лишь скопировать файл "sample.cmo" в ту же папку, в которой находится "CustomPlayer.exe".
3.) Насчёт вот этого окна, которое появляется при запуске скомпилированного Плеера:
Это не ошибка. Но всё таки если его надо убрать, то удаляем 71 строчку в том же файле "CustomPlayerApp.cpp". Если нужно отредактировать текст, то текст находится... с 31 по 37 строчку в файле "CustomPlayerDefines.h".
Таким же образом, можно убрать окно приветствия. Строка 74, файл "CustomPlayerApp.cpp". Удалив 74 строчку, вот это окно не появится при запуске Плеера:
Как отделить готовое приложение плеера от папки "Virtools v4".
1.) Для начала заходим сюда: "Virtools v4 ---> Sdk ---> Utils". 2.) Файлы "GenerateDependencies.exe" и "PELib.dll" копируем в коренную папку "Virtools v4". 3.) Запускаем "GenerateDependencies.exe" в папке "Virtools v4". 4.) Нажимаем кнопку "Browse" и выбираем файл в формате ".cmo", который мы используем в Плеере. Дальше я буду показывать на примере нашего проекта "CustomPlayer", а точнее композиции "sample.cmo".
5.) Нажимаем кнопку "Generate". Появится ещё одно окно:
Это основное окно утилиты. Она генерирует список Плагинов и просто DLL файлов, которые нужны для работы файла "sample.cmo". _1 - Behaviors - Эта секция показывает какие Строительные Блоки используются в проекте "sample.cmo". Можно проходить мимо. _2 - Plugins - Это секция показывает какие плагины (dll файлы) должны быть, чтобы наш проект работал. _3 - Other Dlls - А это остальные Dll файлы, которые должны находиться в одной папке (есть исключения) с файлом "CustomPlayer.exe".
6.) Создадим где-нибудь папку, в которой будет наш проект. Например: "Player1337". 7.) Переносим в эту папку самый главный файл, это "CustomPlayer.exe", он находится в коренной папке Virtools-а. 8.) Сейчас будем копировать Плагины для нашего проекта (2 секция в утилите), Но для начала, в папке "Player1337" создаём две папки: 1) "buildingblocks"; 2) "managers". 9.) Теперь из папки "Virtools v4 ---> BuildingBlocks", в папку "Player1337 ---> buildingblocks" копируем те файлы, Которые указаны во второй секции утилиты. Но не все, а только те, у которых в начале написано: "buildingblocks\".
10.) Также копируем из папки "Virtools v4 ---> Managers" в папку "Player1337 ---> managers" только те файлы, У которых в начале написано "managers\". В нашем случае, там только 1 файл. =D
11.) Осталось скопировать остальные Dll файлы. Из папки "Virtools v4" в папку "Player1337" копируем те файлы, Которые указаны в 3 секции утилиты.
12.) Полностью копируем папку "RenderEngines", которая находится в коренной папке Virtools-a, в папку "Player1337". 13.) Копируем нашу композицию "sample.cmo" в папку "Player1337". Всё вместе будет выглядеть примерно так:
14.) Всё готово, можно запускать.
Как зашифровать свой файл с уровнем и скриптами. Будем шифровать именно файл Virtools-а, Который содержит все скрипты, связанные с игрой, а также возможность редактирования.
[1 СПОСОБ]
1.) В Virtools-е открываем наш Проект, который хотим зашифровать, чтобы никто не смог посмотреть скрипты и прочее. 2.) Если всё таки решил использовать файл в формате ".cmo", то в строке меню Virtools-a выбираем: "File ---> Save As...".
3.) Далее сохраняем его куда-нибудь, можно и поверх уже имеющего, Если поверх уже имеющегося, то советую сделать копию файла, так как больше не будут видны скрипты. Во время сохранения, в левом нижнем углу ставим галочку напротив "Hide Script representation in schematic view".
Вот и всё. Как минимум, скрипты никто не увидит.
[2 СПОСОБ]
1.) В Virtools-е открываем наш Проект, который хотим зашифровать. 2.) В строке меню Virtools-а выбираем: "File ---> Export to Virtools Player...".
3.) Сохраняем файл, к примеру, в папку "Virtools v4 ---> Sdk ---> Samples ---> Runtime ---> Standalone Player" под названием "sample2.vmo". 4.) В этой же папке (Standalone Player), файл "sample.cmo" переименовываем в "sample1.cmo", а файл "sample2.vmo" в "sample.vmo". 5.) В программе "Visual Studio 2003" открываем проект нашего Плеера. И в файле "CustomPlayerApp.cpp" полностью заменяем 67 строчку на:
Код
filename = "sample.vmo";
Вот и всё. Скрипты точно будут скрыты. Открыть этот файл в Виртулсе - нельзя. Так что способ хороший.
Добавлено (11 Сен 2019, 22:20) --------------------------------------------- На самом деле интересный поворот событий, что вот мне совсем недавно пришлось вернуться сюда за своим же уроком. Опять балуюсь с вымершим движком.
Добавлено (13 Сен 2019, 19:46) --------------------------------------------- Если ещё есть люди, которые копаются в этом Движке, но что-то не получается, то свяжитесь со мной любым из способом, в инфе подо мной.
У меня, кстати, получилось скомпилировать проект на Версии движка 5-ой. Но там разрабы петучи поставили вводный знак в игру и предупреждающее окно, от которого никак не избавиться если нету нормальной полноценной лицензии, которая позволяет публиковать игры. Короче, петучи. Зато прикольно пилить какие-нибудь кривые, собственно ручные демки, чтобы побегать с друзьями по Хамачи.
Работаю на Virtools v5.0 Если нужна помощь по движку, пишите мне в ВК или Дискорде... https://vk.com/the.martyrdom https://discord.gg/fwNBCTd
Сообщение отредактировал Женя1690 - Вс, 02 Фев 2014, 16:02
Уверен, что тут то точно никто этого даже не прочтет. Основатель сайт давно забросил. посетители бывают раз в полгода. Ну и движок, конечно весьма специфический по нынешним временам. Я вот сходу его вообще не нашел...
seaman, Кто ищет тот всегда найдёт. Движок хоть и мёртвый, да и уже как 9 лет заброшенный, но торрент с ним ещё скачивают на моё удивление. Просто у меня большие (не уверен) познания в этом движке и вдруг, ну вот найдётся человек, которому нужна будет помощь с ним. И бац, Я тут как тут. Да и сайт находится по запросам "virtools уроки", "virtools как скомпилировать".
Как-то так. <3 Работаю на Virtools v5.0 Если нужна помощь по движку, пишите мне в ВК или Дискорде... https://vk.com/the.martyrdom https://discord.gg/fwNBCTd