конфигуратор может поменять многое из того что можно в NewDark касательно субтитров.
Только почему-то этим мало кто пользуется, все предпочитают ручками ковырять
Ну, вообще это правильное предпочтение, главное, чтоб ручки были прямыми и росли из нужного места. Чем больше у юзера скилл, тем во всё более бесполезную и даже мешающую прослойку превращаются все эти так называемые "дружественные интерфейсы".
По умолчанию они белые на черном фоне, т.к. это универсальный вариант и идёт по умолчанию с New Dark.
По умолчанию в Нью-Дарке сабы вообще отключены. А если уж кто-то их включает, так пущай и разукрасит тоже. Поэтому речь про тот вид субтитров, который идёт по умолчанию не в Нью-Дарке, а в русике. В идеале всё должно быть отформатировано именно по умолчанию.
В конфигураторе можно разукрасить хоть в серо-буро-малиновый
Это понятно. Но, как написано выше, эта возможность никак не отменяет необходимость предоставить сабы в полностью готовом виде по умолчанию.
Во-вторых, очевидно, что в диалогах субтиры разных персонажей должны чередоваться по цвету (т. е. у каждого героя в диалоге должен быть свой цвет). Так вот текущие значения параметра Type не позволяют добиться этого абсолютно для всех диалогов. Раскраска будет получаться практически случайным образом. Так что от вкладки "Цвет" в конфигураторе на данный момент нет практически никакого толка.
С точки зрения раскраски надо параметру Type каждого субтитра задавать значение, совпадающее с именем той папки, в которой лежит звуковой файл, соответствующий данному субтитру (это просто для наглядности). После чего каждому уникальному значению параметра Type назначать свой уникальный цвет. Вот тогда скорее всего автоматом получится чередование цветов во всех диалогах.
А пользователь через конфигуратор может лишь менять цвета, но не может заставить их строго чередоваться или наоборот помешать чередованию.
Я не поставляю в базе предустановленные цвета, т.к. на вкус и цвет товарищей нет. Для кого-то синий совершенно нечитабелен, а кто-то тащится от фиолетового.
Тут не цвет важен сам по себе, а юзабельность субтитров. Поэтому базовый разноцветный вариант должен быть. И он не помешает пользователю всё переиначить на свой вкус.
При уже раскрашенных сабах юзер МОЖЕТ их перекрасить, а при нераскрашенных он ДОЛЖЕН их разукрасить (если хочет повысить их читабельность). Вот в этом и разница.
Вкладка 'Прочее' - снять галочку с 'Показ имён персонажей'
Речь не о том, чтоб просто взять и вырубить, а о том, чтоб вырубить Descr БЕЗ УХУДШЕНИЯ ЧИТАБЕЛЬНОСТИ. А это возможно только лишь в том случае, если обеспечено чередование цветов в диалогах и чёткая синхронизация субтитров со звуком. И пока этого не сделано, вот и приходится пользоваться этим Descr, иначе получается сплошная стена текста одного цвета, в которой ничего не разобрать. Особенно если в диалог ещё и вкорячиваются левые фразы снующих рядом NPC.
Это не так. Я глянул код, там стоит проверка на наличие
Может, тогда где-то ошибка сидит? Потому что
вот товарищ напоролся на данную проблему. HDMod кинул ему свой cam_mod.ini с уже прописанным ЕР2, а вот сам ЕР2-то товарищ добавить забыл. Русик же кинул шрифт для ЕР2, в результате чего товарищ закономерно словил крякозябры.
if (FileExists('EP.CRF')) then found := true; //Thief Enhancement Pack (TFix)
if (FileExists('mods/EP.CRF')) then found := true; //Thief Enhancement Pack (TFix)
if (FileExists('EP2.CRF')) then found := true; //Thief Enhancement Pack 2.0 alpha
if (FileExists('mods/EP2.CRF')) then found := true; //Thief Enhancement Pack 2.0 alpha
if (FileExists('NecroAge.crf')) then found := true; //TheNecroAge2.2.1
if (FileExists('mods/NecroAge.crf')) then found := true; //TheNecroAge2.2.1
if (DirectoryExists('HDMOD')) then found := true; //ThiefGoldHDMod1.0
А, так вот в чём дело. HDMOD-то хоть и труЪ, но не true. А false. Ибо он не моддирует оригинальную бумагу (по крайней мере в Т2). Значит, русик срефлексировал не на запись о ЕР2 в конфиге, а на наличие папки с ХДМодом, и кинул шрифт для моддированной бумаги, которой в ХДМоде для Т2 отродясь не было.
Значит, как минимум в случае Т2 последнюю строчку надо из этого списка проверок убрать. Пока.
Однако это не единственная бага данного списка:
1) Ты проверяешь наличие только лишь архивов, да и тех лишь с расширением crf. А надо проверять ещё и папки (ЕР, ЕР2 и т. д.), плюс архивы с другими расширениями (zip и все остальные, которые понимает движок)
2) Проверка идёт без привязки к пути, прописанному в конфиге, т. е. ты ищешь ЕР лишь в корне и некой абстрактной папке mods. А между тем ЕР и прочие моды могут находиться где угодно. Поэтому без чтения путей из конфига не обойтись, что возвращает нас к тому алгоритму, что я описал в своём прошлом посте.
3) Нельзя детектить мод лишь по наличию его файла или папки. У людей порой этот ЕР.crf валяется просто так неиспользуемый, т. к. никаких записей в конфиге о нём нет. И использовать они его не собираются и даже не подозревают, что он у них валяется. Поэтому опять-таки детектирование мода должно производиться по совокупности и наличия записи в конфиге и наличия файла/папки мода по тому пути, который указан в конфиге
4) При выполнении п.2 и п.3 строчки
if (FileExists('mods/EP.CRF')) then found := true
if (FileExists('mods/EP2.CRF')) then found := true
if (FileExists('mods/NecroAge.crf')) then found := true
в общем случае становятся ненужными (речь про взятую с потолка папку mods)
5) Список модов и их состав непостоянны во времени, поэтому любой статический список -- это не проверка, а лишь временный костыль, который может отказать в любой момент. Только озвученный мной алгоритм не зависит от этой проблемы (да и то лишь в том случае, если юзер не играется с этими модами, постоянно включая и отключая их)
мне надо знать в каких модах конкретно имеется эта проблема
Прошмонался по своей коллекции -- кроме ЕР, ЕР2 и NecroAge, ещё tg_texturepack_adrianna_v2. Собственно, все они используют исходную бумагу из ЕР. Так что ты можешь просто детектить Book.pcx размером 394191 от 22.12.07. Хотя, конечно, лучше анализировать содержимое этого файла для надёжности.
Т.е. моды включают в себя эти измененные шрифты, откуда мне знать, что мод SomeMod.crf содержит в себе внутри шрифты измененные
При чём тут шрифты? Моды включают изменённую бумагу -- Book.*, под которую приходится подбирать шрифт. Так что проверять надо наличие изменённой бумаги.
проверять каждый архив на наличие внутри шрифтов совсем не хочется
Бумаги. Ну а чё делать-то? Во всех этих полумерах не вижу смысла, т. к. они ничего не гарантируют. Учитывая, что вариантов на выбор, какой шрифт кидать, всего-то два, то лучше в конфигураторе просто вывесить объявление о необходимости выбрать шрифт самостоятельно -- типа, если наблюдаются крякозябры, то поменяйте шрифт на другой и всё. Либо же тот мой алгоритм. Иначе ни два ни полтора.
В install.cfg/darkinst.cfg я изменяю исключительно параметр language и ничего больше.
Считаю абсолютно корректным то, что ресурсы с русским языком лежат отдельно от ресурсов на англ. языке и не пересекаются
Ты опять не о том. Я не говорю, что это некорректно. Я говорю, что это никому не нужное усложнение. Зачем нужны языковые папки, если русик -- это обычный мод?
И какие ещё ресурсы на английском языке? Ресурсы на английском языке -- это стоковые ресурсы. Эти ресурсы ты моддируешь русиком. Ресурсы русика и так лежат в папке русика и ни с чем не пересекаются. И нет никакой необходимости, чтоб моддирующие ресурсы русика лежали в подпапках Russian, т. к. моддинг производится не через языковые папки, а через приоритеты папок модов Нью-Дарка. Так зачем использовать сразу ДВЕ системы моддинга? Зачем лазить ковырять install.cfg/darkinst.cfg и менять там глобальную языковую переменную, влияющую на всю папку с игрой, а не только на ОМ?
Если ты все внутренние подпапки russian переименуешь в english и не будешь ничего менять в install.cfg/darkinst.cfg, то работоспособность русика не изменится вообще. Включать/отключать его можно будет или переименованием его папки или правкой cam_mod.ini. Так зачем эти усложнения?
Эти языковые папки -- это же чистая абстракция. Их можно назвать как угодно, в них можно пихать что угодно. Поэтому они являются просто второй системой моддинга, параллельной основной (mod_path). Через них с тем же успехом можно текстурный пак оформить. Но почему-то никто не оформляет текстурные паки через языковые папки, так зачем русик, который суть тот же текстурный пак, оформлять через них?
Назначение тех папок соверщенно другое, логическое разделение фиксов для оригинальной англ. версии игры (для тех, кто играет без TFix/Taffer Patcher)
А кто сейчас играет без TFix/TafferPatcher? И тем более кому сейчас НУЖНО играть без TFix/TafferPatcher? Ты хочешь скрестить ветки 1.х и 2.х, что ли?
всё сделано так, чтобы пользователь мог менять язык игры не запуская русификатор снова.
было бы хуже, если бы игра ломалась от подобных действий.
Тут не понял. Система моддинга с нанизанными друг на друга модами, различающимися по приоритету, просто по определению создана, чтоб моды не ломали ни оригинальную игру, ни друг друга. Поэтому здесь не нужно предпринимать никаких дополнительных действий по защите от поломок.
Вот у меня все русифицированные ресурсы сидят в папке Rus (в подпапках English), которая прописана в
cam_mod.ini darkinst.cfg cam.cfg. Я беру и переименовываю Rus в Rus_ -- запускается английская игра. Переименовываю Rus_обратно в Rus -- снова запускается русская. Ничего не ломается, никаких русификаторов снова не запускается и даже в конфиги лазить не нужно. Так чего ещё надо?
Во вкладке 'Прочее' в конфигураторе можно выбирать один из других доступных шрифтов включая Fontaa*.*
Дон, я знаю, что всё можно менять. Но возможность этих изменений должна подаваться как опция, а не как суровая необходимость. Поэтому приличный шрифт должен стоять ПО УМОЛЧАНИЮ. Как и всё остальное тоже должно быть настроено и отформатировано ПО УМОЛЧАНИЮ.
Кстати, смотрю починили баг в 1.25, теперь можно задать цвет для этого шрифта
Теперь его надо погонять, чтобы понять - можно ли включить шрифтом по умолчанию...
Как я уже говорил, у 29-го слишком малое расстояние между буквами, из-за чего читать его хреново. А 36-ой, который в видиках используется, для внутриигровых субтитров слишком здоровый. Плюс, та проблема с первым отображением в видике после запуска игры.
New Dark поддерживает исключительно *.fon шрифты, которых всего несколько у нас.
И то, нормально отображаются лишь некоторые шрифты.
А они чего, редактированию совсем не поддаются?
>> 7) Жёлтый шрифт на белом фоне в полях ввода значений параметров -- оно же
Не понял, где это
https://pastenow.ru/2A0WR
Вот у меня число 11 -- жёлтое, и его нихрена не видно. И так во всех полях ввода значений и во всех выпадающих списках -- например, названия доступных шрифтов тоже жёлтые.
К тому же, чёрный прямоугольник, демонстрирующий вид фона субтитров, никак не реагирует на изменение значения прозрачности.
Какая-то кнопка выхода, чтобы можно было выйти из программы, ничего не меняя
В самый первый раз она должна быть затенена и неактивна до тех пор, пока пользователь не применит хоть какие-то параметры. Иначе может получиться куча накиданного в папку с игрой неработоспособного барахла. А название кнопки можно вернуть прежнее.
Т. е. кнопка "Выход" нужна лишь в конфигураторе, а в инсталляторе она не нужна.