![]() |
Cursed Earth: HOWTO для программистов - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Аддон для Проклятых Земель (https://www.gipat.ru/forum/forum-20.html) +--- Форум Программирование (https://www.gipat.ru/forum/forum-6.html) +--- Темы: Cursed Earth: HOWTO для программистов (/thread-3369.html) |
Cursed Earth: HOWTO для программистов - IDoL - 16.02.2010 Sagrer,Понедельник, 15 Февраля 2010, 23:19 Написал:а, это какой-то вызов команд допосле сборки видимо... тут у меня тоже не работало, но я не пользовался какими-либо сборщиками (для небольших софтин они в принципе не нужны имхо, не считая стандартного makefile под линух), можно попробовать вызвать запуск батника - внутри батников переменные точно должны работать. Да, это уже вызов собраных спайков ![]() Согласен, с батниками будет работать через переменные окружения с одной стороны. Но с другой - надо или сразу много переменных - для пути к EI, для зоны, для флагов, или править для этого батники. Не нативно ![]() Сам пользуюсь батниками, если под win из терминала тяну обновления из гит, сразу собираю и вызываю. Удобно. Но через атрибуты для Run не менее удобно выходит в итоге, если собирать и пускать из Code::Blocks. Можно конечно попробовать батники, которые будут передавать спайку свои атрибуты. Но это похоже на извращение. Придется писать в них какойто парсинг хоть и элементарный. Cursed Earth: HOWTO для программистов - Guest - 17.02.2010 IDoL,Пятница, 12 Февраля 2010, 12:47 Написал:Итак, проверил scons в Code::Blocks — решение волне работоспособное. Cursed Earth: HOWTO для программистов - Guest - 17.02.2010 Проделал все вышесказанное, но выдает ошибку: "cursedearth - mprviewer_debug" uses an invalid compiler. Skipping... Nothing to be done. По всей видимости компилятор не тот? Cursed Earth: HOWTO для программистов - IDoL - 17.02.2010 Первый вопрос под чем собираете? Далее вопросы основаны на предположении что используете Windows MinGW(компилятор gcc для Win) устанавливали отдельно (пользовались ли моей сборкой? прописали ли пути в переменную окружения Path?) или вместе с Code::Blocks? Если установлен MS Visual C возможно Code::Blocks подхватил его. Посмотрите в Project -> Build Options в самом верху окна "Selected compiler" выбран ли там "GNU GCC Compiler". Установлен ли Python и scons, прописали ли пути в переменную окружения? Пользовались моим проектом или сами выполняли инструкцию? Cursed Earth: HOWTO для программистов - Guest - 18.02.2010 Да, стоит MS Visual C. но компилятор прописан именно вышесказанный. ВОт с Питоном и сконсом хуже. ПОльзовался и вашим и своим. Я не вник про PATH для питона, "Добавляем в конец переменной стреды PATH " Но scons установлен. И еще один шаг не пошел: "Итак система сборки и компилятор готовы. Через командную строку в папке C:devcursedearth выполним команду CODEsconsи получим готовые исполняемые файлы." Cursed Earth: HOWTO для программистов - IDoL - 18.02.2010 Если проверки gcc, python и scons (из первого поста темы) выполняются и так то проблема не в этом Переменные окружения прописываются так (для WinXP): Правая кнопка мыши на "Мой компьютер" -> "Свойства" -> вкладка "Дополнительно" -> кнопка "Переменные среды" В появившемся окне в переменных среды пользователя или в системных (лично я делаю в системных чтобы было доступно всем пользователям). Ищем переменную PATH (в переменных пользователя может не быть тогда создаем) Выбираем, жмем кнопку "Изменить". В значении переменной уже будет несколько записей(разделенных точкой с запятой без пробела), например(скорее всего будет больше) Код: C:WindowsSystem32;C:Windows в итоге при установке MinGW, Python и scons нам необходимо будет в конец этой строки(НЕ удаляя уже существующие там значения!!!) дописать Код: ;C:mingwbin;C:Python26;C:Python26Scripts чтобы в итоге значение было равно Код: C:WindowsSystem32;C:Windows;C:Program FilesGitbin;C:mingwbin;C:Python26;C:Python26Scripts OK -> OK -> OK можем проверить - в командной строке(Пуск -> Программы -> Стандартные -> Командная строка) написать Код: echo %PATH% так же советую выполнить проверки scons, python, gcc из папки с проектом (cd C:devcursederth для перехода в папку проекта) Код: gcc -v "Итак система сборки и компилятор готовы. Через командную строку в папке C:devcursedearth выполним команду scons и получим готовые исполняемые файлы." это вызов сборки из командной строки. выполняется из папки с проектом (cd C:devcursederth для перехода в папку проекта) так же как проверки - в командной строке. Cursed Earth: HOWTO для программистов - Sagrer - 18.02.2010 Цитата:Но с другой - надо или сразу много переменных - для пути к EI, для зоны, для флагов зачем столько много? Я пока хз что такое "зона и флаги" (э, не флаги ли для компиляторалинкера? Если да то зачем, можно же жёстко забить?), но мне лично требовались только пути к библиотекам или утилитам-зависимостям - скажем, где искать wxWidgets или где лежит архиватор 7zip или сборщик инсталлеров вроде нульсофта или Inno - все остальное вроде куда ложить собранные экзешники например - вычислялось через относительные пути от текущего каталога. Я так понимаю что тут вообще никаких зависимостей нет кроме пути к ПЗ, т.е. хватило бы и одной переменной. Или даже написать простенький экзешник на чистом WinAPI который бы вынимал путь к ПЗ из реестра и возвращал его на стандартный выход (но это уже из области извращений) %). Cursed Earth: HOWTO для программистов - IDoL - 18.02.2010 Нет для сборки никаких дополнительных флагов не надо. Так же как знать путь к ПЗ. Это флаги и атрибуты вызова. Например mprviewer вызывается так Код: mprviewer -s 0.5 -f -b "C:EI" zone13 -s 0.5 атрибут скорости смены времени суток -f флаг полноэкранного режима -b "C:EI" атрибут папки ПЗ - здесь должна быть переменная. Если -b нет то ищет в папке с проекта zone13 зона которую смотрим. единственный обязательный атрибут. у texviewer соответственно подругому. Так что жестко прошить не получится. А через редактирование .bat вызывать будет, думаю, не лучше чем через правку атрибутов, а хуже... Cursed Earth: HOWTO для программистов - Sagrer - 18.02.2010 дык, это же GUI-шная софтина, разве нельзя хранить настройки софтины (тот же путь к игре) в конфиге (тот же *.ini) а открывать файлы через стандартный диалог-открывалку? %). Цитата:Так что жестко прошить не получится. А через редактирование .bat вызывать будет, думаю, не лучше чем через правку атрибутов, а хуже... имхо забивать флаги запуска в переменные окружения ещё хуже чем писать это в bat-файл, по крайней мере батник уж точно проще отредактировать. А вообще я когда отлаживал консольный софт - просто жёстко забивал все флаги запуска прямо в настройки проекта (там где выбирается чего запускать для отладки) - оно требуется только на момент отладки, по-хорошему дефолтный запуск софтины не должен требовать указать ей чего открывать и с какими параметрами - по крайней мере в вендах всегда достаточно тупо даблкликнуть по экзешке - если какие-то параметры её в самом деле нужны - их можно вынуть либо из реестра либо из конфигов. Cursed Earth: HOWTO для программистов - Guest - 18.02.2010 Ребята, может я и нуб, но у меня по прежнему не работает компиляция. "cursedearth - mprviewer_release" uses an invalid compiler. Skipping... Nothing to be done. + SCONS в папке cursedearth выполнилась с ошибками, не находит файлы в сборке. Cursed Earth: HOWTO для программистов - Guest - 18.02.2010 Простите, добавлюсь: Определяет в папке версию scons, питона, но gcc -v :не находит, говорит мол не внутренняя команда... Cursed Earth: HOWTO для программистов - IDoL - 18.02.2010 Если не находит gcc, убедитесь что установили MinGW и правильно прописали путь (C:mingwbin по-умолчанию при установке) в переменную окружения Path. Cursed Earth: HOWTO для программистов - Guest - 18.02.2010 Спасибо, разобрался, не находил gcc ![]() Cursed Earth: HOWTO для программистов - IDoL - 18.02.2010 2 Guest Рад, что смог помочь. Sagrer,Четверг, 18 Февраля 2010, 14:59 Написал:дык, это же GUI-шная софтина, разве нельзя хранить настройки софтины (тот же путь к игре) в конфиге (тот же *.ini) а открывать файлы через стандартный диалог-открывалку? %). Используется GLUT для создания простейшего окна с OpenGL контекстом. Никаких меню и чтения файла настроек. Минимальное количество кода для проверки(!) правильности разбора игровых ресурсов. Это не планируемый результат работы, а некоторая демка для разработчиков. Тоесть добавление GUI именно в эту демку не планируется. Да это и не имеет особого смысла. Я так же выполняю проверку из под win жестко пробитым батником. Переменные окружения не используются. В то же время редактировать батники, чтобы поиграться... По-моему гораздо проще отредактировать аргументы запуска в IDE, если под ним проект открывать? Cursed Earth: HOWTO для программистов - v1s0r - 18.02.2010 IDoL,Thursday, 18 February 2010, 21:28 Написал:Минимальное количество кода для проверки(!) правильности разбора игровых ресурсов.Совершенно верно. Набор консольных демок нужен для разработки, тестирования, исследования ресурсов. Ну и заодно как промежуточные результаты работы. Мда, на винде ставить тяжело, судя по размеру этой темы. Самое неочевидное - это, видимо, mingw. Самое главное - скачайте все файлы (ссылки выше) и распакуйте в одну папку + c:mingw в переменную окружения PATH. Добавлю по поводу scons: если винда пишет, мол, scons не найден, добавьте в PATH что-то типа c:python2.6Scripts (посмотрите, как точно папка называется, в ней должен лежать scons.bat). П.С. Кросс-компилятор для винды на линуксе ставится проще ![]() Cursed Earth: HOWTO для программистов - IDoL - 18.02.2010 Да, вообще про пути расписал(в первом сообщении темы). Надо было наверное поподробнее остановиться как их добавлять в переменные окружения (и какие они по умолчанию ![]() На самом деле последние сообщения в большинстве своем посвящены тому, как облегчить вызов спайков из code::blocks ![]() Cursed Earth: HOWTO для программистов - v1s0r - 19.02.2010 От меня огромная благодарность IDoL за проделанную работу. Без него хз что бы было со сборкой под win. А ведь многие именно там и работают... Cursed Earth: HOWTO для программистов - IDoL - 20.02.2010 Рад помочь ![]() Cursed Earth: HOWTO для программистов - Guest - 22.02.2010 Может быть вопрос не в тему, но всеже... Я вот читал много постов, от разных пользователей этого сайта и пока что только v1s0r выложил опенсоурс своего проекта, за что очень благодарен ему, ибо многие вещи, при разработки собственных утилит, я только сейчас познал в его коде. Но тема не в этом, я хотел бы спросить уже бывалых волков данного портала и самого v1s0r, всю необходимую информацию о форматах, структуре файлов и вообще принцыпа работы движка самой игры вы узнаете путем дисасеблинга или как то по другому? Cursed Earth: HOWTO для программистов - ALtair - 22.02.2010 Это наша особая, уличная магия.. |