Closed JNechaevsky closed 1 year ago
Я правильно понимаю что в результате этого упрощения мы:
1) Потеряли возможность автолоада для pwad-ов (широкоформатные титульники, umapinfo, и т.д.).
2) Потеряли возможность задать папку автолоада через аргумент командной строки.
3) Задали приоритет *.deh
файлов над *.wad
и *.lmp
, при этом потеряли возможность автолоуда файлов с иными расширениями.
4) Потеряли загрузку внутренних ресурсов для pwad-ов из автолоада.
А ещё M_GetAutoloadDir
это дублирование кода, которое ещё и криво работает.
Я предлагаю вертать всё взад с учётом новых требований. Кстати, а в чём была изначальная цель изменений?
Да, видимо лучше всё вернуть как было. Цель была простая - не создавать руками папку с autoload/iwadами, и не прописывать её руками в конфиг. Т.е. чтобы порт сам создавал нужные папки, в которые пользователю нужно просто положить нужные pwad/deh.
Для этого нужно было просто задать дефолтное значение пути в конфиге на базе GetDefaultConfigDir
, и добавить в AutoloadFiles
создание папок. Если важно задать порядок по типам файлов, то это делается тоже через изменения в AutoloadFiles
.
Изначально было сделано так как сделано потому что: 1) Не всем нужен автолоад. 2) Если человек уже использовал автолоад с шоколадкой, то ему не нужно будет копировать папку, а просто прописать её в конфиг ID. 3) Как написал rfomin, если создавать папки автоматически то будет много пустых папок.
Возможность задать папку через командную строку нужна когда тебе нужен автолдоад в другом окружении, например при создании и тестировании вадов.
По коду суть в том что загрузка любых pwad-ов проходит через LoadFile
где при необходимости подгружаются внутренние ресурсы и делается прочая поддержка.
Насчёт папок у нас недопонимание - имеется в виду автосоздание для iwad (doom.wad, doom2.wad, ...), ни в коем случае не для pwad. Или "для pwad" подразумевает что-то другое? @rfomin ?
Насчёт папок у нас недопонимание - имеется в виду автосоздание для iwad (doom.wad, doom2.wad, ...), ни в коем случае не для pwad.
Думаю у нас правильное понимание.
Почему-то против автолоада возник гигантский спор в Дискорде, видимо поэтому в Inter Doom все как-то усложнилось. В других портах нету никаких настроек.
Почему-то против автолоада возник гигантский спор в Дискорде, видимо поэтому в Inter Doom все как-то усложнилось. В других портах нету никаких настроек.
Кто зачинщик? Кто исполнитель? Всё выпилить! Всё выкинуть! В т.ч. неканоничное, оставить только кросс-порт совместимое! :gun:
@JNechaevsky Если только для iwad, то на этапе https://github.com/JNechaevsky/inter-doom/blob/master/src/doom/d_main.c#L2126 создавать нужную по тому же принципу, что и в AutoloadFiles
.
@rfomin А что у нас усложнилось? Всё то же самое же, просто больше возможностей и есть описание как оно работает и как им пользоваться.
А что у нас усложнилось? Всё то же самое же, просто больше возможностей и есть описание как оно работает и как им пользоваться.
Ну по факту когда открываешь папку с портом там нет autoload и я бы решил что он не поддерживается. Весь смысл идеи в том что там 0 настроек и не нужно никакого описания. Например, зачем настраивать путь для autoload? Можно просто скопировать папку, у вас там не будет сотен гигабайт, в чем проблема.. Впрочем я об этом уже спорил.
@rfomin
Например, зачем настраивать путь для autoload? Можно просто скопировать папку, у вас там не будет сотен гигабайт, в чем проблема.
А я не хочу копировать папку, я хочу использовать ту, что уже есть, или даже полностью свою в удобном мне месте. Вносить изменения только в одну папку, а не распихивать новый вад для автолоуда по папкам разных портов. Если это нельзя указать в конфиге, то я сделаю символьную ссылку, но лучше чтобы можно было настроить в конфиге.
и не нужно никакого описания
Описание всегда нужно. Хотя бы для людей которые сначала читают мануал, а потом начинают пользоваться.
Против наличия папки autoload
изначально ничего не имею. Как сделать её автоматическое создание я уже написал выше. Если будет поставлена такая задача, могу даже сам реализовать. @JNechaevsky
Против наличия папки
autoload
изначально ничего не имею.
Собственно да, считаю это бы всех устроило.
Вносить изменения только в одну папку, а не распихивать новый вад для автолоуда по папкам разных портов.
Да это резонно. Подумываю добавить во все порты (до которых позволят дотянуться 😆) переменную окружения по типу DOOMWADDIR
. Например DOOMAUTOLOADDIR
.
Против наличия папки autoload изначально ничего не имею. Как сделать её автоматическое создание я уже написал выше. Если будет поставлена такая задача, могу даже сам реализовать. @JNechaevsky
Да, в этом как раз идея: порт сам создаёт себе папку autoload с подпапками iwad-ов (по мере их запуска, а не сразу скопом), но в тоже время ничто не запрещает пользователю переключиться на папку от другого порта через переменную в конфиге. Сделай, пожалуйста, без моего вмешательства.
Done #443
Спасибо!
So user won't need to manually create folders and read instruction. Such structure should also be compatible with Chocolate, Crispy and Woof.