doom2d.org

Главная база плоских морпехов
It is currently 22 Apr 2025, 22:30

All times are UTC + 3 hours




Post new topic Reply to topic  [ 112 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: 21 Jan 2025, 21:54 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Этот FMOD мы специально подбирали несколько лет назад, помнится. Минимальный по размеру и самый надежный по работе.

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


Top
 Profile  
 
PostPosted: 28 Jan 2025, 13:03 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7215
Location: Владивосток
Макс wrote:
В 64-битной сборке для винды почему-то используется какая-то левая версия FMOD'а, хотя исходник - архив всех версий FMOD'а от zdoom, и там качаются архивы с одинаковой версией в названии и для 32 бита, и для 64 бита.
Я для тебя выяснил этот момент, а ты об этом здесь не упомянул: оказывается, что эта левая версия берётся прямиком из самого установщика. У 64-разрядной DLL там проставлена версия 4.21.0, а у 32-разрядной - 4.28.7, которая нам и нужна. Однако так случилось, что у нас есть установщик и от версии 4.28.6, непосредственно ей предшествовавшей. И вот там у fmodex64.dll стоит тот же номер версии 4.21.0, однако сам файл библиотеки отличается. Скорее всего, просто была допущена некая ошибка с VERSIONINFO, оставшаяся незамеченной на протяжении нескольких выпусков подряд.

Настоящая проблема здесь в другом. Во-первых, в поставку 64-разрядной сборки кладётся fmodex64.dll, тогда как ожидается по-прежнему fmodex.dll игрой и редактором. Во-вторых, даже если переименовать файл вручную, то звука всё равно нет. И то, и другое - проблема кривых заголовков для FMOD Ex у нас сейчас. Нужно переписать их с нуля и заодно перейти на 4.44.64, последнюю версию библиотеки. Пока же, наверное, 64-разрядную сборку игры стоит собирать с OpenAL.

Макс wrote:
Потенциально, если захочется собирать под Андроиды еще старее, нужна будет поддержка старых версий SDL2. Сейчас работает только SDL >= 2.0.18.
Это в том числе из-за SDL_WaitEventTimeout() и SDL_GetTicks64(), которые я к нам притянул недавно: 71010454, e376bbc2. К слову, у нас там давно уже есть определение SDL2_NODPI, которое в ReadMe обозначено как "Build for old libSDL2". Думаю, надо это будет как-то обобщить, потому что сейчас даже даже не упомянута, какая именно версия подразумевается в качестве границы "old". Блин, не хочется писать свои заголовки для SDL и SDL2, но видимо придётся.

Ещё ты мне писал, что "есть такая магическая штука как патчинг опкодов в байткоде jvm", "чем и занимаются инструменты от гугла и имеют поддержку вплоть до андроид 1.0". Я ничего про это не слышал, поэтому было бы хорошо, если бы ты (или кто-нибудь) пояснил, о чём речь шла, так как в идеале хочется работать на всей линейке ведёр в принципе.

Jabberwock wrote:
Этот FMOD мы специально подбирали несколько лет назад, помнится. Минимальный по размеру и самый надежный по работе.
Сейчас уже собирается с другим, читай выше. И ведь я недаром просил у тебя историю переписок из IRC, потому что мне нужно было уточнить в том числе и этот момент.

Какие ещё вопросы у нас пока остались на текущий момент:

1. Надо таскать с собой в сборках лицензии для тех библиотек, которые того требуют. Где их держать - вопрос.
При этом нужно учитывать условную компиляцию, чтобы, скажем, лицензия от FMOD Ex не клалась бы в сборки с OpenAL, и наоборот.

2. По-прежнему не решён вопрос со сборкой для платформ от Apple с PowerPC.

3. Как показало тестирование, на Android игра подтормаживает при воспроизведении MIDI-музыки. Я предполагаю, что дело тут в динамической подгрузке семплов с накопителя. Надо проверить, так ли это, и если да, то есть ли способы её отрубить. С другой стороны, тупит что при OpenAL (fluidsynth), что в случае SDL_mixer (timidity). Также Макс пробовал использовать наборы семплов попроще, но это тоже не помогло.

4. В описании ко сборкам название месяца пишется на русском вместо английского.

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 12:10 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Jabberwock» Этот FMOD мы специально подбирали несколько лет назад, помнится. Минимальный по размеру и самый надежный по работе.
Это оффтоп и не связано с моей сборкой.

Чёрный Думер» Пока же, наверное, 64-разрядную сборку игры стоит собирать с OpenAL.
Без базара.

Чёрный Думер» в идеале хочется работать на всей линейке ведёр в принципе.
Хочется работать на Android 2.1, доля использования которого составляет 0.0%. А удобный лаунчер с экспортом данных не хочется. П - приоритеты.

Чёрный Думер» SDL_GetTicks64()
> This function is available since SDL 2.0.0.

» В описании ко сборкам название месяца пишется на русском вместо английского.
Без базара.


И я начинаю подозревать, что всё-таки новое поколение автосборки, которое делал DeaDDooMER, было бы лучше. Потому что у этой автобусный фактор ещё похлеще, чем в ДФ. Никто кроме меня здесь не будет разбираться в Nix.


Top
 Profile  
 
PostPosted: 14 Feb 2025, 13:00 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Кстати, этот цикл статей хорош? https://habr.com/ru/articles/804661/

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 13:11 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Jabberwock wrote:
Кстати, этот цикл статей хорош? https://habr.com/ru/articles/804661/

Оригинал пойдёт. Конкретно этот перевод не читал.


Top
 Profile  
 
PostPosted: 14 Feb 2025, 13:25 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Да, оригинал проще.

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 13:48 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7215
Location: Владивосток
Макс wrote:
А удобный лаунчер с экспортом данных не хочется.
Хочется. Просто первое сделать проще.

Макс wrote:
> This function is available since SDL 2.0.0.
Это обычный SDL_GetTicks(). А у SDL_GetTicks64() минимальная версия стоит 2.0.18: https://wiki.libsdl.org/SDL2/SDL_GetTicks64

Макс wrote:
И я начинаю подозревать, что всё-таки новое поколение автосборки, которое делал DeaDDooMER, было бы лучше. Потому что у этой автобусный фактор ещё похлеще, чем в ДФ. Никто кроме меня здесь не будет разбираться в Nix.
При надобности я разберусь.

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 13:55 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Чёрный Думер» Это обычный SDL_GetTicks(). А у SDL_GetTicks64() минимальная версия стоит 2.0.18: https://wiki.libsdl.org/SDL2/SDL_GetTicks64
Май бэд. Я про другую функцию.


Top
 Profile  
 
PostPosted: 14 Feb 2025, 15:45 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Надо ли в релиз добавлять ещё отдельно игровые ресурсы и отдельно "экзешники"?


Top
 Profile  
 
PostPosted: 14 Feb 2025, 15:49 
Offline
Принципиально неуничтожаем
User avatar

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

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 17:10 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Чёрный Думер» Уже были случаи, когда люди обновляли одно. но забывали обновить другое.
Потому что нигде нет никаких анонсов об изменениях и предупреждениях о том, что нужно обновить гаму и/или вады. Опять факап Джабберкока.

Чёрный Думер» При надобности я разберусь.
И потратишь кучу времени на фигню, которая только ради конкретно моей реализации автосборщика и понадобится. А шелл скрипты хотя бы общеполезны будут.


Top
 Profile  
 
PostPosted: 14 Feb 2025, 19:29 
Offline
Приколист

Joined: 04 Feb 2010, 14:42
Posts: 992
Макс wrote:
И я начинаю подозревать, что всё-таки новое поколение автосборки, которое делал DeaDDooMER, было бы лучше.
Врядли. О Nix я тоже задумывался, как об основе для автосборки.


Top
 Profile  
 
PostPosted: 14 Feb 2025, 19:32 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Главный мой факап - это мое безграничное терпение.

А я сейчас задумался о никс, как об основе сервера. Где сайт/форум/мастерсервер/игровые сервера и тд

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


Top
 Profile  
 
PostPosted: 14 Feb 2025, 19:52 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Jabberwock» Главный мой факап - это мое безграничное терпение.
По отношению ко мне?

DeaDDooMER» О Nix я тоже задумывался, как об основе для автосборки.
Jabberwock» А я сейчас задумался о никс, как об основе сервера. Где сайт/форум/мастерсервер/игровые сервера и тд.
Чёрный Думер» При надобности я разберусь.
А я думал, что вы луддиты. Прям какое-то вундерфавельное одобрение к этой вещи! И ведь многие о ней хорошо говорят, рассуждают, какая она крутая, но по факту не пользуются ))0


Top
 Profile  
 
PostPosted: 15 Feb 2025, 00:21 
Offline

Joined: 27 Apr 2020, 20:02
Posts: 537
Будет две сборки под винду: одна 64-битная: Windows 7+, другая 32-битная: cc потенциально собирает код для систем с WINVER >= 4.0, но fpc использует функции доступные под Windows XP и выше.


Top
 Profile  
 
PostPosted: 15 Feb 2025, 06:31 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7215
Location: Владивосток
Макс» cc потенциально собирает код для систем с WINVER >= 4.0
Не понял вот этой фразы. Каким образом компилятор Си зависит от версии системы? Минимально поддерживаемую в EXE выставляет линковщик же.

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


Top
 Profile  
 
PostPosted: 17 Feb 2025, 01:15 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Я не могу выложить это на сайт, и вот почему.

Там ссылки вида https://github.com/Doom2D/nix_actions/releases/download/0.667b-2025.02.14-2/doom2df-mingw32.zip

Вся проблема в этом -2025.02.14-2. Из-за него ссылка будет меняться с каждым билдом.

Что-то типа https://github.com/Doom2D/nix_actions/releases/download/0.667b-latest/doom2df-mingw32.zip подошло бы лучше.

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


Top
 Profile  
 
PostPosted: 17 Feb 2025, 07:44 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7215
Location: Владивосток
Jabberwock wrote:
Я не могу выложить это на сайт, и вот почему.
Потому что ты не читал ни саму тему, ни даже те готовые ссылки, которые я тебе присылал.

Чёрный Думер wrote:
1. Выяснилось, что в GitHub можно давать постоянную ссылку на файлы в последнем релизе (нужна для использования на сайте):
https://stackoverflow.com/questions/24987542/is-there-a-link-to-github-for-downloading-a-file-in-the-latest-release-of-a-repo
Поэтому лучше начать делать отдельные неизменяемые релизы. Это же заодно более-менее решит проблему с удостоверением их подлинности.
Quote:
Dmitry D. Chernov, [16.02.2025 02:31]
https://github.com/Doom2D/nix_actions/releases/latest/download/doom2df_windows.x86.zip - Windows XP и выше
https://github.com/Doom2D/nix_actions/releases/latest/download/Doom2D-Forever.dmg - macOS 11.0+, установочный образ
https://github.com/Doom2D/nix_actions/releases/latest/download/Doom2D-Forever.apk - Android 4.0.1+, ARMv7 и ARMv8
https://github.com/Doom2D/nix_actions/releases/latest/download/doom2df_win64.x86-64.zip - Windows, 64-битная сборка
https://github.com/Doom2D/nix_actions/releases/latest/download/doom2df_macos.intel64.zip - macOS 11.0+, сборка в архиве

Dmitry D. Chernov, [16.02.2025 02:31]
самих файлов пока ещё нет, но названия будут именно такими

Dmitry D. Chernov, [16.02.2025 02:31]
когда будут - я оповещу и заменишь

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


Top
 Profile  
 
PostPosted: 17 Feb 2025, 14:06 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7843
Location: \\HULK
Тогда жду.

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


Top
 Profile  
 
PostPosted: 18 Feb 2025, 08:24 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7215
Location: Владивосток
Обнаружил ещё три косяка на данном этапе:

1. В Android-пакет и сборки для MacOS кладутся файлы редактора (editor.wad и data/lang/editor.ru_RU.lng), хотя самого редактора нет.
Кстати, можно ли его собирать для MacOS?

2. Версию для Android надо собирать без holmes, потому что он там не нужен. Следовательно, flexui.wad из пакета тоже надо будет убрать.

3. Не играет MIDI-музыка в сборке для Win64, потому что сейчас она поставляется с OpenAL. Туда надо тоже класть GUS-инструменты.
Тоже самое, думаю, относится и к сборке для MacOS.

Ну и вчерашняя проблема у Win64-версии с именами DLL-файлов - EXE'шник почему-то требует другие.
Надо бы понять, в чём дело, потому что в идеале хотелось бы те имена, которые сами разработчики этих библиотек в своих сборках для Windows используют.

libvorbisfile.dll => libvorbisfile-3.dll
libfluidsynth-3.dll => libfluidsynth.dll
libmpg123.dll => libmpg123-0.dll
libopusfile.dll => libopusfile-0.dll

Ещё напоминаю, что ты хотел линковать ENet и MiniUPnPc статически. Я не против, поскольку редактор их не использует.
Что наоборот хотелось бы вытащить в DLL, так это zlib. Но это уже проблема кода, а не автосборки.

Напоследок заметил неожиданную особенность у GitHub. Оказалось, что постоянная ссылка на последний выпуск работает только в том случае, если он не отмечен как pre-release. Кроме того, "последним" можно отметить и другой выпуск (видимо, чтобы откатываться с неудачных), вот только эта галка является взаимоисключающей с "pre-release".

Image

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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 112 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  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