Current time: 08.12.2021, 04:07 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
igrik Offline
Administrators

Posts: 2630
Post: #466

(27.10.2020 15:12)XEPOMAHT Wrote:  1. Можно растащить окна опций вверх (надпись "Опции ВоГ-ификации" неплохо влезает в свободное место рядом с кнопками) с помощью патча функции создания борландского диалога в zvslib1.dll (там портянище та ещё, но сделать можно).

2. Можно перевести диалог целиком на !!DL и написать dll-обработчик диалога (решение из MoP).

3. Можно портировать диалог из WoG 3.59, где он целиком посажен на lua.

4. Можно вообще удалить старый диалог и на его месте вызывать абсолютно новый, совместимый с данными старого.

5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.

6. Почистить наконец-то вог-опции от мусорных опций, некоторые опции можно объединить, некоторые сделать неопциональными...
XEPOMAHT, ты видимо не до конца понимаешь как сейчас сделан диалог WoG Опций в WND.

Графическая часть диалога полностью написана с нуля (это и есть тобой и указанный п.2). Вообще каждый диалог, который реализован в WND, написан с нуля и zvslib1.dll вообще в них - выпелен к чертям.
А это значит, что пункт 1 ты описал по не знанию.
3. В топку. Уже реализовано по п.2. Нахрена тогда я его переписывал?
4. Диалог как раз таки абсолютно новый. А вы их путаете, потому что сдалал я его визуально точь-в-точь как оригинальный воговский.
5. Да я хоть щас добавлю эту кнопку - толку то.... Кто будет заниматься заполнением структуры? Правильно - о чём я и говорю. Нужно писать заново обработчик.
6. Всё в руках сообщества, но с увереностью тебе скажу, что появится масса вопросов: А куда делось? Я хочу вернуть. Как вернуть? и т.п. Вот когда выйдет WoG Scripts 2 (на ERM 2), тогда и поговорим. Хотя я и так в нём планирую выпилить процентов 30% хлама.

Теперь, самое главное - я ещё раз повторяю, что нужно переписать обработчик создания и заполнения опций. Все данные для диалога я беру из уже готовой структуры. Вот кто по твоему создаёт эту структуру? Правильно - сам WoG, а не zvslib1.dll. В вэб-программированиии это называется бэкенд. Вот когда бэкенд будет переписан, я адаптирую фронтенд диалога (саму визуальную часть) как пожелаете, хоть "вверх-ногами", потому что п.2 уже мной сделан на 100%. Но сделан он не на DL, а на "внутреннем SOD" функционале.

Вот открой файл "wogsetup.cpp" и хорошенько изучи его - вот его и нужно переписать для создания нового окна ВОГ опций. Ты думаешь в 3.59 он сильно переписан (предложение п.3)? Очень и очень сомневаюсь.
27.10.2020 15:36
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5179
Post: #467

igrik, почему ты не стал делать с вертикальными закладками, дабы автоматом расширить область под возможные опции на страницу?
это ведь не подпадало в сферу бэкенда? Unsure
в топку всех, кто будет с непривычки хаить такое расположение, оно общепринятое везде и куда привычнее горизонтальных закладок... смирится слюбится
27.10.2020 15:51
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2630
Post: #468

(27.10.2020 15:51)Bes Wrote:  igrik, почему ты не стал делать с вертикальными закладками, дабы автоматом расширить область под возможные опции на страницу?
это ведь не подпадало в сферу бэкенда? Unsure
Вертикальные закладки? Сделай дизайн макет - тогда и поговорим 96-copy Я дизайнер - от слова "худо" со всеми вытекающими... Тот же фотошоп для меня - боль и страдания, а не программа.
А скролы не сделал - просто потому что до этого не дошли руки. Были более приоритетные задачи, а потом просто забылось. На вскидку - там работы - пару часов. Значит займусь в скором времени.

Но объясню еще один момент - без переписывания так называемого бэкенда, в диалоге мы не можем уйти от 8 вкладок и 4х блоков на каждую вкладку.
27.10.2020 15:59
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5179
Post: #469

как в во всех браузерах сейчас....
вертикальные закладки... вот в таком стиле
(не слева сбоку, а на верху... а сам размер шрифта названия закладок сделать мельче, или с разбивкой на две строки, если длинно)
27.10.2020 16:12
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2630
Post: #470

Да я тебя прекрасно понял. Но какая разница - сверху вкладки, или сбоку, если мы привязаны к жесткому ограничению в 8 вкладок и ни одной больше!
27.10.2020 16:15
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15555
Post: #471

igrik, бэкэнд будет, как и планировали.
Я за.
Quote:5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.
Старые опции оставляем для совместимости со старыми модами. Кстати да, плохо, что файл zsetup00 вообще убрал. Лучше, если бы значения из Json переопредеяли значения из zsetup00.txt при наличии. Тогда сохранилась бы обратная совместимость. Напомню, что если в json отсутствует значение, tr вернёт строку ключа «как есть».

По новому диалогу.

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

2) Хотелось бы иметь возможность задавать тип опции. Нужны галочки, радиокнопки из нескольких вариантов и поля ввода произвольного текстового значения.
В полях ввода можно было бы настраивать то, что сейчас требует json/ini конфигов. То есть множители, коэффициенты, шаблоны строк.

Если макет делать схожим с текущим, то без введения, и, например, верхняя вкладка имеет текст НАЗАД, а нижняя ВПЕРЁД, работая как кнопки навигации по страницам опций.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.10.2020 17:08
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2630
Post: #472

1) Это уже реализовано. Переход на другую страницу отображает текущую вкладку и скрывает все остальные. Проблем никаких не будет с изменением местарасположения элементов. Всё в настоящее врему уже гибко.
2) Проблем нет. Расширь поле type и укажи мне как ты расширил. И всё. Мне в диалоге исправить - 1 место!
Code:
struct _DlgSetup_ItemList_
{
  char  *Name;        // название группы
  char  *Hint;        // текст хинта внизу (при наведении на имя группы)
  char  *PopUp;       // текст в окне по правой мыши (при клике на имя группы)
  int   *ItemState;   // ук. на массив состояния галочек
  char **ItemName;    // текст справа от галочки
  char **ItemHint;    // текст хинта внизу (одна строка)
  char **ItemPopUp;   // текст в окне по правой мыши.
  int    Type;        // 0-нет группы, 1-чекбоксы, 2-радиобутоны
  int    ItemCount;   // число элементов
};
27.10.2020 17:16
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1612
Post: #473

(27.10.2020 15:36)igrik Wrote:  Все данные для диалога я беру из уже готовой структуры. Вот кто по твоему создаёт эту структуру? Правильно - сам WoG, а не zvslib1.dll. В вэб-программированиии это называется бэкенд. Вот когда бэкенд будет переписан, я адаптирую фронтенд диалога (саму визуальную часть) как пожелаете, хоть "вверх-ногами", потому что п.2 уже мной сделан на 100%.

В чём сложность перенести все таблицы диалога? Можно сделать сторонней dll но... твоя dll по-прежнему будет читать старые адреса, поэтому выделять память и переносить таблицы (а их там штук 10, для оптимизации кода можно перенести только половину, обычно я беру те, которые меньше используется кодом) потребуется в твоей dll.

(27.10.2020 15:36)igrik Wrote:  Вот открой файл "wogsetup.cpp" и хорошенько изучи его - вот его и нужно переписать для создания нового окна ВОГ опций. Ты думаешь в 3.59 он сильно переписан (предложение п.3)? Очень и очень сомневаюсь.

В 3.59 lua - бурелом кода, не очень понятно как у них сделано. Но скроллинг в опциях у них работает, что на ERA так и не смогли перетащить. Т.е. ограничение в 8 вкладок преодолевать не обязательно.
27.10.2020 17:36
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2630
Post: #474

(27.10.2020 17:36)XEPOMAHT Wrote:  В чём сложность перенести все таблицы диалога? Можно сделать сторонней dll но... твоя dll по-прежнему будет читать старые адреса, поэтому выделять память и переносить таблицы (а их там штук 10, для оптимизации кода можно перенести только половину, обычно я беру те, которые меньше используется кодом) потребуется в твоей dll.
Сложности никакой нет. Только я не хочу этим заниматься и не должен. Это движок игры. А движком игры у нас занимается тольк один человек - Berserker. Я в Воговский движок не лезу.

(27.10.2020 17:36)XEPOMAHT Wrote:  В 3.59 lua - бурелом кода, не очень понятно как у них сделано. Но скроллинг в опциях у них работает, что на ERA так и не смогли перетащить. Т.е. ограничение в 8 вкладок преодолевать не обязательно.
Ты как буд-то читаешь сквозь пальцы. Я же написал что сделаю скролл, просто были более важные задачи, и до скролла руки так и не дошли. И не зачем мне откудо-то его перетаскивать. Тем более, что весь диалог там написан на lua. Даже если бы я и хотел его перетащить - как по твоему я бы это сделал?
27.10.2020 17:45
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15555
Post: #475

Quote:1) Это уже реализовано. Переход на другую страницу отображает текущую вкладку и скрывает все остальные. Проблем никаких не будет с изменением местарасположения элементов. Всё в настоящее врему уже гибко.
У тебя строго 8 вкладок, которые ты только скрываешь и показываешь. А нужно при переходе на 9 удалить старые элементы вкладки 1 и пересоздать. Тебе нужен метод элемента диалога «Удалить» или что-то в этом роде. Возможно, нужна прокрутка вкладок и прокрутка опций внутри одной вкладки.

Quote:2) Проблем нет. Расширь поле type и укажи мне как ты расширил. И всё. Мне в диалоге исправить - 1 место!
Давай второй диалог делать независимым от первого по отдельной кнопке. Там и опции будут по имени, а не с кодом. И формат сохранения/загрузки другой.

XEPOMAHT, да, нужно уточнить у Сергея, как в Г3 скроллинг работает.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.10.2020 17:49
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2630
Post: #476

(27.10.2020 17:49)Berserker Wrote:  А нужно при переходе на 9 удалить старые элементы вкладки 1 и пересоздать.
А кто будет инициализировать и заполнять структуру 9й вкладки? Если ты это сделаешь и она в реальности будет 1й вкладкой (твоя псевдо-9ая), то диалог уже это легко схавает и переварит.

1. У меня строго 8 вкладок, потому что так требует структура _DlgSetup_. Будет в ней больше вкладок - сделаю больше. Это вообще не проблема. За прокрутку перестаньте уже мне говорить, надоели, честное слово. Сделаю я её (пока что внутри вкладок). Будет 20 вкладок - сделаю прокрутку вкладок. Проблемы с прокруткой у меня нет. Хотите вкладки сверху - сделаю сверху.
2. Легко. Но нужен бэкенд!

Сделайте мне бэкенд, тогда будет вам диалог, какой хотите, хоть с блекджеком и шлюхами.
27.10.2020 17:58
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15555
Post: #477

А ориентироваться нужно будет на схожую визуальную структуру? Вкладки, группы вкладок с заголовками и прокручиваемые страницы? Если не прокручиваемые, а перелистываемые страницы (псевдовкладки НАЗАД и ВПЕРЁД), то скажешь потом.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.10.2020 18:52
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5179
Post: #478

(27.10.2020 17:58)igrik Wrote:  надоели, честное слово.

...Хотите вкладки сверху - сделаю сверху.

... какой хотите, хоть с блекджеком и шлюхами.
последние слова должен был говорить Algor 147

igrik, вкладки сверху тем хороши, что не урезают по ширине область опций, ведь у нас окно имеет бОльшую сторону по ширине, а не высоте.
Так можно даже без скроллинга вместить три столбца опций. Шрифт главное не гигантить
Ab
28.10.2020 03:06
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15555
Post: #479

Столкнулся с нехваткой 100 y-переменных и освобождением привязок через !#VA(-имя переменной). А Алгор говорил, что не понадобится ))


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
28.10.2020 05:41
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5179
Post: #480

Berserker, теперь 200 сделаешь?
28.10.2020 05:54
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2021 MyBB Group