doom2d.org

Главная база плоских морпехов
It is currently 20 Feb 2025, 01:31

All times are UTC + 3 hours




Post new topic Reply to topic  [ 86 posts ]  Go to page 1, 2, 3, 4, 5  Next
Author Message
PostPosted: 20 Dec 2024, 22:42 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
Черный Думер сказал сделать тему на форуме для обсуждения.

Я сделал черновик автосборки для ДФ. Пока собирает базовую сборку для 32-битной
винды и Андроид 5+.

В процессе сборки выяснилось, что некоторые ресурсы не трекаются и берутся
"из воздуха". Нужно с этим разобраться. Например:

flexui.wad
botlist.txt
botnames.txt
Иконки для Андроид версии

Ещё нужно определиться, в какой формат паковать ресурсы: в зип или вад. С зипом
игра в целом работает, но у редактора некоторые проблемы с анимтекстурами из
стандартных ресурсников.

Нужен некоторый источник карт и моделек для сборки игры. Можно разные поставки,
и разные сборки (те самые минимальные и полные сборки), это не проблема.

В текущем виде сборки распространяются в виде постоянно меняющихся прикреплений
к релизу на репозитории сборки. Ссылка: https://github.com/polybluez/nixandroid


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 22:54 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7744
Location: \\HULK
Охрененно! Ты молодец.

Я правильно понимаю, что теперь оно собирается средствами гитхаба?
Редактор да, не видит анимтекстуры из зипов, их можно только в вады паковать. Так-то я за зипы обеими руками, но пока вад работает лучше.

Что означает "ресурсы не трекаются"? А откуда тогда они берутся?

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 22:58 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
Спасибо.

Да, в GitHub Actions.

Не трекаются это значит... Есть определенный коммит в DF-Res, и из исходников оттуда собираются гейм, стандарт, моделька, дум2д вад, тени и эдитор вад. А иконки, или, например флехуи вад я взял из сборки с сайта и пока храню в репозитории для сборки, где им не место


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 23:35 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7744
Location: \\HULK
А как с гитхаба бинари забирать?

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 23:37 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
В вкладке с релизами, в вложениях


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 23:41 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7744
Location: \\HULK
Точно. Удобно. А можно с сайта ссылки прямо туда кидать?

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
 Post subject: Re: автосборка
PostPosted: 20 Dec 2024, 23:43 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
Да, можно. Они постоянные. Но сейчас, очевидно, рано))


Top
 Profile  
 
PostPosted: 21 Dec 2024, 11:15 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7062
Location: Владивосток
Это очень хорошо, потому что разработка без автосборки, как оказалось, сразу становится куда более унылой.

Выпишу сюда по совокупности замечаний:

  1. Надо что-то решить со сборкой выпусков под Mac OS, включая все три процессорные линейки (PowerPC / x86 / ARM). То же самое с более старыми Android и MIPS.

  2. WAD'ы должны быть именно DFWAD'ами, а не ZIP'ами с левыми расширениями. Иначе путаница лишь усугубится.

  3. Вместо doom2d.dfz надо тоже wad - для g_default_megawad в коде прописано именно такое значение по умолчанию.

  4. Анимированные текстуры внутри Standart.wad надо тоже упаковывать в WAD, иначе редактор их не видит на старых картах.

  5. Сейчас все WAD'ы, насколько я понимаю, будут пересобираться заново при каждой сборке. Файлы при этом будут получаться теми же самыми, но с более новыми датами.
    Можно ли это дело как-нибудь кешировать? Или, что ещё лучше, просто забирать их из нынешнего AppVeyor в DF-Res. Это не критично, если что.

  6. У сборки редактора в заголовке стоит custom build.

  7. У всех файлов в архиве датой изменения стоит полночь 1 января 1970 года, т.е. начало UNIX epoch.

  8. Иконки для Android-версии трекаются в основном репозитории, точно так же, как и иконка для обычных сборок. Это не устраивает?

  9. Что касается botlist.txt и botnames.txt, то я пока не знаю, где их лучше всего разместить. Для DF-Res они точно не подходят, потому что этот репозиторий предназначен в основном для blob'ов и сборки из них других blob'ов.
    У меня была мысль переименовать DF-Docs в нечто типа DF-Build (или DF-Dist, DF-Retail, DF-Release, ...) и складывать туда, но чем-то она меня не устраивает интуитивно. Другая идея - просто положить их в основной репозиторий, причём в ту же папку, куда кладётся Doom2DF.exe после сборки.
    В любом случае, я помню об этом вопросе, но решать его буду только после переноса разработки обратно на GitHub. Пока же предлагаю просто держать где-нибудь у нас на сайте архив-заготовку со всеми картами-моделями-прочим, на основе которого и сооружать уже релизную автосборщиком.
    Делать много разных сборок на данном этапе не вижу смысла. Вместо этого есть автоскачка с серверов.

  10. Репозиторий автосборки нужно будет перенести к нам в GitHub-организацию. Естественно, с сохранением твоих прав как outside collaborator'а.

  11. Я не уверен, что постоянная ссылка на GitHub release является хорошим решением, потому что файл в нём может подменить любой, имеющий доступ к репозиторию. Единственный выход здесь - это чтобы вместо получения прямых прав ты создал собственный форк и присылал изменения pull request'ами. Но очевидно, что это достаточно неуважительно и едва ли ты на это согласишься, потому что это так-то твоя работа от начала до конца.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 21 Dec 2024, 12:18 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
» Надо что-то решить со сборкой выпусков под Mac OS, включая все три процессорные линейки (PowerPC / x86 / ARM). То же самое с более старыми Android и MIPS.
PowerPC если деддумер объяснит как. Андроид прямо сейчас можно изменить до platform level 19 (Android 4.4), но мне не на чем это проверять.

» WAD'ы должны быть именно DFWAD'ами, а не ZIP'ами с левыми расширениями. Иначе путаница лишь усугубится.
да

» Вместо doom2d.dfz надо тоже wad - для g_default_megawad в коде прописано именно такое значение по умолчанию.
ок

» Анимированные текстуры внутри Standart.wad надо тоже упаковывать в WAD, иначе редактор их не видит на старых картах.
ок

» Сейчас все WAD'ы, насколько я понимаю, будут пересобираться заново при каждой сборке. Файлы при этом будут получаться теми же самыми, но с более новыми датами.
Можно ли это дело как-нибудь кешировать? Или, что ещё лучше, просто забирать их из нынешнего AppVeyor в DF-Res. Это не критично, если что.

вообще сами файлы не должны, там кэш стоит, скорее всего из-за того что пересобирается сам closure игры с ресурсами такое происходит

» У сборки редактора в заголовке стоит custom build.
поправимо

» Иконки для Android-версии трекаются в основном репозитории, точно так же, как и иконка для обычных сборок. Это не устраивает?
в общем да, хорошо бы иметь полностью отдельно input для ресурсов игры и отдельно для бинарников

» Что касается botlist.txt и botnames.txt, то я пока не знаю, где их лучше всего разместить...
это плохо

» Единственный выход здесь - это чтобы вместо получения прямых прав ты создал собственный форк и присылал изменения pull request'ами.
я тебя спрашивал, есть ли смысл это делать...


Top
 Profile  
 
PostPosted: 21 Dec 2024, 12:53 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7744
Location: \\HULK
Макс» Да, можно. Они постоянные. Но сейчас, очевидно, рано))
Я на будущее, уточнить техническую возможность.

ЧД» 2. WAD'ы должны быть именно DFWAD'ами, а не ZIP'ами с левыми расширениями.
Да уходить от них надо. Изначально вместо дфвадов надо было делать зипы. Значение в g_default_megawad переписать не особо сложно.
Единственная причина, по которой вады должны быть вадами - это нерабочесть их анимации в редакторе. Всё. Если это исправить - от них можно будет смело отказываться.

ЧД» 9. Что касается botlist.txt и botnames.txt ... Для DF-Res они точно не подходят
Как по мне - они вполне себе ресурсы.

ЧД» Делать много разных сборок на данном этапе не вижу смысла. Вместо этого есть автоскачка с серверов.
Не всегда автоскачка выручает.
Во-первых, ты не рассматриваешь сингл-плеер, особенно на телефоне, где крайне неудобно качать произвольные вады.
Во-вторых, модельки игрока автоскачке не подвержены.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 21 Dec 2024, 13:00 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7062
Location: Владивосток
Макс» это плохо
Да, но пока терпимо. Всё равно карты и модели для стандартной сборки тоже держать придётся.

Макс» я тебя спрашивал, есть ли смысл это делать...
Смысл точно есть. Нужны лишь меры предосторожности покуда ты вновь своим доппельгангером не обернулся. :)

Jabberwock» Да уходить от них надо.
Уходить от них надо в пользовательских ресурсах, что уже и так происходит сейчас. А относительно стандартных это вопрос куда более тонкий.
Типа как IWAD и PWAD в оригинальном Doom. Нет, в данной теме мы это обсуждать не будем.

Jabberwock» Как по мне - они вполне себе ресурсы.
Кому и кобыла невеста. То, как ты с DF-Res обращался, тому лишь подтверждение.

Jabberwock» Не всегда автоскачка выручает.
Основной вопрос не в ней, а чтобы условного новичка разнообразием сборок не запутывать.
И я всё же предпочёл бы, чтобы новички к нам за новыми картами и моделями приходили, а не оставались на дальних орбитах.
Но и это уже оффтоп здесь.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 21 Dec 2024, 13:14 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7744
Location: \\HULK
И как же я с DF-Res обращался? Кидал и пнг и тга? Так нет в том вреда.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 21 Dec 2024, 13:38 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7062
Location: Владивосток
Оффтоп:

Jabberwock wrote:
Кидал и пнг и тга? Так нет в том вреда.
Действительно нет, потому что как раз это мы со Стасом не исправляли, оно так и лежит. Зато исправляли много другого.



Top
 Profile  
 
PostPosted: 21 Dec 2024, 15:11 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 960
Location: Equestria
Jabberwock wrote:
Да уходить от них надо.
Пока никуда не уйдёшь от них. В ресурсах (standard.wad точно) используются алиасы. Ничего подобного ни в редакторе, ни в игре для зипов не поддерживается.
(можно конечно дублировать, но разве это хорошая идея?)


Top
 Profile  
 
PostPosted: 21 Dec 2024, 20:21 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
вроде поправил косяки со сборкой

» Надо что-то решить со сборкой выпусков под Mac OS, включая все три процессорные линейки (PowerPC / x86 / ARM). То же самое с более старыми Android и MIPS.
какой именно android platform? сейчас можно безболезненно 19, но если потребуется можно понизить версию ndk. какие архитектуры? сейчас armv8 и armv7.

» Пока же предлагаю просто держать где-нибудь у нас на сайте архив-заготовку со всеми картами-моделями-прочим, на основе которого и сооружать уже релизную автосборщиком.
где скочать?


Top
 Profile  
 
PostPosted: 23 Dec 2024, 17:27 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
Добавил checks - проверки того, что собирается игра. Проверяются разные комбинации,
например у андроида можно только по одной оси: без звука, OpenAL, SDL2_mixer. У виндовой
версии, очевидно, куда больше простору.

Например:
Code:
│   └───x86_64-linux
│       ├───doom2df-android-arm64-v8a-SDL2-NoSound-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-android-arm64-v8a-SDL2-OpenAL-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-android-arm64-v8a-SDL2-SDL2_mixer-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-android-armeabi-v7a-SDL2-NoSound-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-android-armeabi-v7a-SDL2-OpenAL-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-android-armeabi-v7a-SDL2-SDL2_mixer-OpenGLES: derivation 'doom2df-lib-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-FMOD-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-FMOD-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-FMOD-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-FMOD-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-NoSound-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-NoSound-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-NoSound-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-NoSound-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-OpenAL-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-OpenAL-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-OpenAL-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-OpenAL-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-SDL2_mixer-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-SDL2_mixer-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-SDL2_mixer-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-IOStub-SDL2_mixer-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-OpenGL2-headless-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-FMOD-OpenGL2-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-OpenGL2-headless-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-NoSound-OpenGL2-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-OpenGL2-headless-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-OpenAL-OpenGL2-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-SDL2_mixer-GLStub: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-SDL2_mixer-GLStub-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-SDL2_mixer-OpenGL2: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-SDL2_mixer-OpenGL2-headless: derivation 'doom2df-0.667-1b1dfdf'
│       ├───doom2df-mingw64-32-SDL2-SDL2_mixer-OpenGL2-headless-holmes: derivation 'doom2df-0.667-1b1dfdf'
│       └───doom2df-mingw64-32-SDL2-SDL2_mixer-OpenGL2-holmes: derivation 'doom2df-0.667-1b1dfdf'

Кто-то будет собирать этот архив с картами/моделями? Он уже есть?

Или всем похер?)0


Top
 Profile  
 
PostPosted: 23 Dec 2024, 19:46 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7062
Location: Владивосток
Макс wrote:
Добавил checks - проверки того, что собирается игра. Проверяются разные комбинации,
например у андроида можно только по одной оси: без звука, OpenAL, SDL2_mixer. У виндовой
версии, очевидно, куда больше простору.
Это очень полезно, спасибо.
Надо ещё что-то решить с сообщениями о новых коммитах в чат.

Макс wrote:
Кто-то будет собирать этот архив с картами/моделями? Он уже есть?

Или всем похер?)0
Зря ты так. Я соберу на днях, пока допиливаю кое-какие правки для самой игры.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 23 Dec 2024, 19:51 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
О новых коммитах в чат могут писать местные боты


Top
 Profile  
 
PostPosted: 24 Dec 2024, 10:54 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7062
Location: Владивосток
Сейчас ещё раз посмотрел и сверил нынешнюю сборку с сайта:

1. Отсутствует zlib1.dll. Я правильно понимаю, что он и не использовался уже давно?
В идеале, конечно бы, использовать именно динамическую/разделяемую библиотеку, потому что на ZLib подвязаны и игра, и редактор.
Но увы, этого пока не умеет Vampyre. Повесил им на всякий случай issue: https://github.com/galfar/imaginglib/issues/43

2. Отсутствует miniupnpc.dll. А вот это уже нехорошо, игру всё-таки надо собирать с -dUSE_MINIUPNPC.

3. FMODex вообще какой-то древний, у fmodex.dll стоит версия 4.26.36, хотя даже последняя для Windows 9x (4.36.23) и нынешняя в сборке (4.30.22) её выше.
Чем-то был обоснован выбор именно такой версии? Так-то бы туда последнюю 4.44.64 положить, потому что основная сборка всё равно не поддерживает ничего старше XP из-за SDL2.

4. У enet.dll вырезана отладочная информация. В идеале она должна быть у всех библиотек, чтобы выхлопы при ошибках получались подробными.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 24 Dec 2024, 11:03 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 442
1. Хз
2. Ок
3. В репозитории игры указана эта версия
4. Ок


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 86 posts ]  Go to page 1, 2, 3, 4, 5  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
doom2d.org, since 2007