Ох скоко сборок появилось    Теперь при каждом обновлении ЭРЫ, каждую сборку теперь нужно будет отлаживать - работы тьма....
 
Вот яркий пример: если Берсеркер согласится (а для этого есть резонные причины) wog native dialogs в следующем релизе будет отвязывать текстовик, а в замен него будут использоваться JSON файлы такого содержания:
 
Code: 
 { 
    "wog_options":  
    { 
        "main":  
        { 
            "name": "Опции WoG'ификации", 
            "hint": "Настроить ваши WoG'ифицированные карты ", 
            "popup": "Опции WoG'ификации позволяют каждому игроку выбрать скрипты и опции, которые он (она) предпочитает использовать в WoG-картах.\n\nЛюбая карта, даже старая RoE или AB карта, теперь может быть WoG'ифицирована по желанию без необходимости преобразовывать ее сначала в формат WoG.\n\nНажмите кнопку 'Многопольз.' для настроек многопользовательской игры по умолчанию.\nНажмите кнопку 'Сохранить', чтобы сохранить ваши настройки в файл.", 
            "intro": "Добро пожаловать в опции WoG'ификации Wake of Gods! \n\n*******************************************************************\nОпции WoG'ификации позволяют каждому игроку настроить скрипты и опции по желанию.\n\nЛюбая карта, даже старая RoE или AB карта, теперь может быть WoG'ифицирована по желанию без необходимости преобразовывать ее сначала в формат WoG.\n\nКнопка 'Многопольз.' -> настройки многопольз. по-умолч.\nКнопка 'Сохранить' -> сохранить ваши настройки.\nКнопка 'Загрузить' -> загрузить сохраненные настройки.\nКнопка 'Восстановить' -> восстановить настройки по умолчанию.\n\nПравый клик (мышкой) по любой опции выводит очень полезные подсказки по игре и конкретным скриптам.\n\n*******************************************************************\n\nЖелаем удачи в экспериментах и в игре!", 
        }, 
        "page0":  
        { 
            "name": "WoG-настройки, \nобщие настройки игры \nи встроенные опции", 
            "hint": "Эта страница позволит вам выбрать настройки WoG'ификации, общие настройки игры и встроенные опции.", 
            "popup": "Эта страница позволит вам выбрать настройки WoG'ификации, общие настройки игры и встроенные опции.", 
            "group0":  
            {  
                "name": "Настройки WoG'ификации",  
                "hint": "Эти настройки позволяют определить, какие карты будут WoG'ифицированы.",  
                "popup": "НАСТРОЙКИ WOG'ИФИКАЦИИ \n\nЭти настройки позволяют определить, какие карты будут WoG'ифицированы.",  
            }, 
            "group1":  
            {  
                "name": "Расширения игры",  
                "hint": "Эти скрипты расширяют функциональность игры без значительных изменений игры в целом.",  
                "popup": "РАСШИРЕНИЯ ИГРЫ \n\nЭти скрипты расширяют функциональность игры без значительных изменений игры в целом.",  
            }, 
            "group2":  
            {  
                "name": "Встроенные опции",  
                "hint": "Эти WoG-опции встроены в код игры и не основаны на скриптах.",  
                "popup": "ВСТРОЕННЫЕ ОПЦИИ \n\nЭти WoG-опции встроены в код игры и не основаны на скриптах.",  
            }, 
            "group3":  
            {  
                "name": "Темп получения опыта армиями комп-ра",  
                "hint": "Эти настройки определяют, насколько быстро войска героев и гарнизонов будут получать опыт.",  
                "popup": "ТЕМП ПОЛУЧЕНИЯ ОПЫТА АРМИЯМИ КОМПЬЮТЕРА \n\nЭти настройки определяют, насколько быстро войска героев компьютера и гарнизонов будут получать опыт, при включенной опции 'Опыт Армии' (отряды солдат получают опыт) в разделе 'Встроенные опции' (выше). \n\nТемп получения опыта войсками игроков-людей также можно настроить, используя опцию 'Ручная настройка'.",  
            }, 
        }, 
        "page1":  
        { 
            "name": "Опции карты и \nдополнения", 
            "hint": "Эта страница позволит вам выбрать различные опции и дополнения карты, чтобы настроить вашу игру.", 
            "popup": "Эта страница позволит вам выбрать различные опции и дополнения карты, чтобы настроить вашу игру.", 
            "group0":  
            {  
                "name": "Настройки карты",  
                "hint": "Эти опции позволят вам настроить определенные аспекты карты.",  
                "popup": "НАСТРОЙКИ КАРТЫ \n\nЭти опции позволят вам настроить определенные аспекты карты.",  
            }, 
            "group1":  
            {  
                "name": "Расширения карты",  
                "hint": "Эти опции позволят вам использовать на карте различные скрипты.",  
                "popup": "РАСШИРЕНИЯ КАРТЫ \n\nЭти опции позволят вам использовать на карте различные скрипты.",  
            }, 
            "group2":  
            {  
                "name": "Расширения карты",  
                "hint": "Эти опции позволят вам использовать на карте различные скрипты.",  
                "popup": "РАСШИРЕНИЯ КАРТЫ \n\nЭти опции позволят вам использовать на карте различные скрипты.",  
            }, 
            "group3":  
            {  
                "name": "Расширения карты",  
                "hint": "Эти опции позволят вам использовать на карте различные скрипты.",  
                "popup": "РАСШИРЕНИЯ КАРТЫ \n\nЭти опции позволят вам использовать на карте различные скрипты.",  
            }, 
        }, 
        "page2":  
        { 
            "name": "Навыки, Монстры и Герои: \nДополнения и изм. в балансе", 
            "hint": "Эта страница позволит вам выбрать скрипты, изменяющие героев и монстров и корректирующие баланс.", 
            "popup": "Эта страница позволит вам выбрать скрипты, изменяющие героев и монстров и корректирующие баланс.", 
            "group0":  
            {  
                "name": "Баланс и свойства героев",  
                "hint": "Эти опции дают бонусы героям или помогают сбалансировать их.",  
                "popup": "ИЗМЕНЕНИЯ В БАЛАНСЕ И СВОЙСТВАХ ГЕРОЕВ \n\nЭти опции дают бонусы героям или помогают сбалансировать их.",  
            }, 
            "group1":  
            {  
                "name": "Изменения вторичных навыков",  
                "hint": "Эти опции дают новые свойства вторичным навыкам.",  
                "popup": "ИЗМЕНЕНИЯ ВТОРИЧНЫХ НАВЫКОВ \n\nЭти опции дают новые свойства вторичным навыкам.",  
            }, 
            "group2":  
            {  
                "name": "Баланс и свойства существ",  
                "hint": "Эти опции дают новые свойства существам, изменяют их параметры или помогают сбалансировать их.",  
                "popup": "ИЗМЕНЕНИЯ В БАЛАНСЕ И СВОЙСТВАХ СУЩЕСТВ  \n\nЭти опции дают новые свойства существам, изменяют их параметры или помогают сбалансировать их.",  
            }, 
            "group3":  
            {  
                "name": "Изменения вторичных навыков",  
                "hint": "Эти опции дают новые свойства вторичным навыкам.",  
                "popup": "ИЗМЕНЕНИЯ ВТОРИЧНЫХ НАВЫКОВ \n\nЭти опции дают новые свойства вторичным навыкам.",  
            }, 
        }, 
        "page3":  
        { 
            "name": "Объекты и Артефакты", 
            "hint": "Эта страница позволит вам выбрать новые и измененные объекты, артефакты и сундуки для использования в игре.", 
            "popup": "Эта страница позволит вам выбрать новые и измененные объекты, артефакты и сундуки для использования в игре.", 
            "group0":  
            {  
                "name": "Сундуки и Артефакты",  
                "hint": "Выберите, какие сундуки сокровищ и новые, с прописанными скриптами свойствами, артефакты вы хотите, чтобы появлялись в игре.",  
                "popup": "СУНДУКИ И АРТЕФАКТЫ \n\nВыберите, какие сундуки сокровищ и новые, с прописанными скриптами свойствами, артефакты вы хотите, чтобы появлялись в игре.",  
            }, 
            "group1":  
            {  
                "name": "Новые объекты на местности",  
                "hint": "Выберите новые, с прописанными скриптами свойствами, объекты, которые вы хотите, чтобы появлялись в игре.",  
                "popup": "НОВЫЕ ОБЪЕКТЫ НА МЕСТНОСТИ \n\nВыберите новые, с прописанными скриптами свойствами, объекты, которые вы хотите, чтобы появлялись в игре.",  
            }, 
            "group2":  
            {  
                "name": "Измененные объекты на местности",  
                "hint": "Выберите объекты Героев 3, которые будут расширены новыми возможностями.",  
                "popup": "ИЗМЕНЕННЫЕ ОБЪЕКТЫ НА МЕСТНОСТИ \n\nВыберите объекты Героев 3, которые будут расширены новыми возможностями.",  
            }, 
            "group3":  
            {  
                "name": "Новые объекты на местности",  
                "hint": "Выберите новые, с прописанными скриптами свойствами, объекты, которые вы хотите, чтобы появлялись в игре.",  
                "popup": "НОВЫЕ ОБЪЕКТЫ НА МЕСТНОСТИ \n\nВыберите новые, с прописанными скриптами свойствами, объекты, которые вы хотите, чтобы появлялись в игре.",  
            }, 
        }, 
        "page4":  
        { 
            "name": "Правила карты", 
            "hint": "Здесь можно выбрать, какие правила карты использовать. Можете также выбрать два случ. правила в каждой игре или опред. правил перед игрой.", 
            "popup": "Эта страница позволит вам выбрать, какие правила карты использовать. Вы можете также выбрать два случайных правила в каждой игре или определение правил перед игрой.", 
            "group0":  
            {  
                "name": "Настройки правил карты",  
                "hint": "Выберите, каким образом правила карты будут выбираться для использования в игре.",  
                "popup": "НАСТРОЙКИ ПРАВИЛ КАРТЫ \n\nВыберите, каким образом правила карты будут выбираться для использования в игре.",  
            }, 
            "group1":  
            {  
                "name": "Правила Карты",  
                "hint": "Выберите правила карты, которые вы желаете использовать в игре, при выбранном способе их отбора.",  
                "popup": "ПРАВИЛА КАРТЫ \n\nВыберите правила карты, которые вы желаете использовать в игре, при выбранном способе их отбора.",  
            }, 
            "group2":  
            {  
                "name": "Name for Page5 GroupRT",  
                "hint": "Hint for Page5 GroupRT",  
                "popup": "Pop Up Text for Page5 GroupRT",  
            }, 
            "group3":  
            {  
                "name": "Правила Карты",  
                "hint": "Выберите Правила Карты, которые вы желаете использовать в игре, при выбранном способе их отбора.",  
                "popup": "ПРАВИЛА КАРТЫ \n\nВыберите Правила Карты, которые вы желаете использовать в игре, при выбранном способе их отбора.",  
            }, 
        }, 
        "page5":  
        { 
            "name": "Запрещенные Артефакты \nи Заклинания", 
            "hint": "Эта страница позволит вам исключить появление определенных заклинаний и артефактов в игре.", 
            "popup": "Эта страница позволит вам исключить появление определенных заклинаний и артефактов в игре.", 
            "group0":  
            {  
                "name": "Опции запрета заклинаний",  
                "hint": "Выберите, откуда нужно исключить запрещенные заклинания.",  
                "popup": "ОПЦИИ ЗАПРЕТА ЗАКЛИНАНИЙ \n\nВыберите, откуда нужно исключить запрещенные заклинания. \n\nЗамечание: большинство скриптов WoG'ификации, которые дают героям заклинания, будут использовать список запрещенных заклинаний вне зависимости от этих настроек.",  
            }, 
            "group1":  
            {  
                "name": "Запрещенные WoG-Артефакты",  
                "hint": "Выберите WoG-Артефакты, которые вы желаете исключить из игры.",  
                "popup": "ЗАПРЕЩЕННЫЕ WoG-АРТЕФАКТЫ \n\nВыберите WoG-Артефакты, которые вы желаете исключить из игры.",  
            }, 
            "group2":  
            {  
                "name": "Запрещенные Артефакты",  
                "hint": "Выберите Артефакты, которые вы желаете исключить из игры.",  
                "popup": "ЗАПРЕЩЕННЫЕ АРТЕФАКТЫ \n\nВыберите Артефакты, которые вы желаете исключить из игры.",  
            }, 
            "group3":  
            {  
                "name": "Запрещенные WoG-Артефакты",  
                "hint": "Выберите WoG-Артефакты, которые вы желаете исключить из игры.",  
                "popup": "ЗАПРЕЩЕННЫЕ WoG-АРТЕФАКТЫ \n\nВыберите WoG-Артефакты, которые вы желаете исключить из игры.",  
            }, 
        }, 
        "page6":  
        { 
            "name": "Новые скрипты \nкоманды WOG", 
            "hint": "Эта страница для скриптов команды WOG, опубликованных после выхода WoG 3.58f.", 
            "popup": "Эта страница для скриптов команды WOG, опубликованных после выхода WoG 3.58f.", 
            "group0":  
            {  
                "name": "Новые скрипты команды WOG",  
                "hint": "Это новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
                "popup": "НОВЫЕ СКРИПТЫ КОМАНДЫ WOG \n\nЭто новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
            }, 
            "group1":  
            {  
                "name": "Новые скрипты команды WOG",  
                "hint": "Это новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
                "popup": "НОВЫЕ СКРИПТЫ КОМАНДЫ WOG \n\nЭто новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
            }, 
            "group2":  
            {  
                "name": "Новые скрипты команды WOG",  
                "hint": "Это новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
                "popup": "НОВЫЕ СКРИПТЫ КОМАНДЫ WOG \n\nЭто новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
            }, 
            "group3":  
            {  
                "name": "Новые скрипты команды WOG",  
                "hint": "Это новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
                "popup": "НОВЫЕ СКРИПТЫ КОМАНДЫ WOG \n\nЭто новые скрипты команды WOG, созданные после выхода WoG 3.58f.",  
            }, 
        }, 
        "page7":  
        { 
            "name": "Собственные скрипты", 
            "hint": "Эта страница может использоваться для собственных скриптов, сделанных игроками.", 
            "popup": "Эта страница может использоваться для собственных скриптов, сделанных игроками.", 
            "group0":  
            {  
                "name": "Собственные Скрипты",  
                "hint": "Это скрипты, созданные самими игроками.",  
                "popup": "СОБСТВЕННЫЕ СКРИПТЫ \n\nЭто скрипты, созданные самими игроками.",  
            }, 
            "group1":  
            {  
                "name": "Собственные Скрипты",  
                "hint": "Это скрипты, созданные самими игроками.",  
                "popup": "СОБСТВЕННЫЕ СКРИПТЫ \n\nЭто скрипты, созданные самими игроками.",  
            }, 
            "group2":  
            {  
                "name": "Собственные Скрипты",  
                "hint": "Это скрипты, созданные самими игроками.",  
                "popup": "СОБСТВЕННЫЕ СКРИПТЫ \n\nЭто скрипты, созданные самими игроками.",  
            }, 
            "group3":  
            {  
                "name": "Собственные Скрипты",  
                "hint": "Это скрипты, созданные самими игроками.",  
                "popup": "СОБСТВЕННЫЕ СКРИПТЫ \n\nЭто скрипты, созданные самими игроками.",  
            }, 
        }, 
 
    }, 
    "dlg_datfile":  
    { 
        "cannotsave": "Невозможно сохранить WoG-настройки", 
        "cannotload": "Невозможно загрузить WoG-настройки", 
        "cannotmsg": "Настройки были сохранены в предыдущей версии WoG. \nНовые опции не были изменены.", 
        "captionsave": "Выберите файл для сохранения WoG-настроек", 
        "captionload": "Выберите файл WoG-настроек для загрузки", 
        "descrsave": "Введите имя файла, чтобы сохранить WoG-настройки. Вы можете сохранить сколько угодно различнх настроек. При загрузке WoG, опции загружаются из последнего сохраненного или загруженного файла. ", 
        "descrload": "Выберите файл с WoG-настройками для загрузки. \nПримечание: при загрузке WoG, опции автоматически загружаются из последнего сохраненного или загруженного файла. ", 
        "filemask": "Файлы настроек (*.dat)|*.dat|Файлы WOG (*.wog)|*.wog|Все файлы (*.*)|*.*", 
    }, 
}
  
Причина - это очень и очень гибкая настрока названий вкладок диалога WoG Опций. 
Например, тот же мод  Era Scripts теперь не будет заменять весь файл "zsetup00.txt" целиком, а создаст свой файл JSON с  частью необходимых ему строк:
 
Code: 
 { 
    "wog_options":  
    { 
        "page6":  
        { 
            "name": "ERA Scripts 1.46f (часть 1)", 
            "hint": "ERA Scripts (часть 1)", 
            "popup": "ERA Scripts (часть 1)", 
            "group0":  
            {  
                "name": "Разные опции",  
                "hint": "Разные опции",  
                "popup": "Разные опции",  
            }, 
            "group1":  
            {  
                "name": "Магия",  
                "hint": "Магия",  
                "popup": "Магия",  
            }, 
            "group2":  
            {  
                "name": "Навыки и специализации героев",  
                "hint": "Навыки и специализации героев",  
                "popup": "Навыки и специализации героев",  
            }, 
            "group3":  
            {  
                "name": "Артефакты",  
                "hint": "Артефакты",  
                "popup": "Артефакты",  
            }, 
        }, 
        "page7":  
        { 
            "name": "ERA Scripts 1.46f (часть 2)", 
            "hint": "ERA Scripts (часть 2)", 
            "popup": "ERA Scripts (часть 2)", 
            "group0":  
            {  
                "name": "Изменения существ",  
                "hint": "Изменения существ",  
                "popup": "Изменения существ",  
            }, 
            "group1":  
            {  
                "name": "Ограничения и усложнения",  
                "hint": "Ограничения и усложнения",  
                "popup": "Ограничения и усложнения",  
            }, 
            "group2":  
            {  
                "name": "Объекты на карте",  
                "hint": "Объекты на карте",  
                "popup": "Объекты на карте",  
            }, 
            "group3":  
            {  
                "name": "Интерфейсные изменения",  
                "hint": "Интерфейсные изменения",  
                "popup": "Интерфейсные изменения",  
            }, 
        }, 
 
    }, 
}
  
 
			 
			
			
			
		 |