HLFX.Ru Forum Страницы (255): « Первая ... « 77 78 79 80 [81] 82 83 84 85 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)


Отправлено Дядя Миша 29-03-2020 в 11:36:

Да, новые виджеты на порядок удобнее старых получились. Такие не грех и в скрипт зопехать

Добавлено 29-03-2020 в 14:36:

Для примера

C++ Source Code:
1
CMenuMain :: CMenuMain()
2
{
3
  int	x = UI_BUTTONS_OFFSET_X;
4
  int	y = CL_IsActive() ? 180 : 230;
5
 
6
  // add background
7
  new CBackground( this );
8
 
9
  // menu buttons
10
  if( host->IsConsoleAllowed( ))
11
    new CAnimButton( this, x, y, ID_CONSOLE, "Console" );
12
  y += UI_BUTTONS_OFFSET_Y; // advances y in anyway
13
 
14
  if(  CL_IsActive( ))
15
  {
16
    new CAnimButton( this, x, y, ID_RESUME, "Resume Game", IDS_MAIN_RETURN );
17
    y += UI_BUTTONS_OFFSET_Y;
18
  }
19
}

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено a1batross 29-03-2020 в 16:29:

>ID_CONSOLE
>ID_RESUME

Удобно.

__________________
Xash3D FWGS форк


Отправлено KiQ 29-03-2020 в 19:50:

Дядя Миша а за new потом самому подчищать в деструкторе, или автоматом делается при выгрузке либы меню? И потом, так и не пойму, если и так есть конвертор шрифтов из ttf, то почему бы не грузить из деномически прямо из движка? Все шрифты после загрузки кэшировать и потом переюзать, по типу setFont(CFontFactory->getFont("Arial.ttf", 20, FLAG_BOLD));

__________________
-Brain is dead-


Отправлено FiEctro 30-03-2020 в 07:52:

Цитата:
Дядя Миша писал:
Для скриптовых меню довольно много будет разных ограничений. Ну к примеру как делать условные кнопки, которые показываются не всегда?
Например кнопку консоли. Значит придётся городить целый язык, зачем это надо.


Речь идёт об разметке.

Цитата:
Дядя Миша писал:
ты готов писать для менюх такие же сложные скрипты-замены, как и для материалов? При том, что материалы стремятся к унификации, а менюхи наоборот - каждую заново приходится создавать. Этот скрипт по объему будет сопоставим с сходным кодом и смысл полностью потеряется.


Обычный язык разметки вроде того же html'a с этим неплохо справляется. Тут даже ничего выдумывать нового не надо.
Сиерра в своё время даже делала WON подобное меню для своего сайта по халфе, с анимациями, озвучкой и прочими финтиплюшками.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Ku2zoff 30-03-2020 в 09:17:

Цитата:
FiEctro писал:
Обычный язык разметки вроде того же html'a с этим неплохо справляется.

Либа для поддержки html весит почти 19 мегабайт. Думаю, ДМ на такое не пойдёт. Писать собственный парсер - такое себе удовольствие. Тем не менее, идея неплохая.


Отправлено Дядя Миша 30-03-2020 в 09:35:

Цитата:
KiQ писал:
а за new потом самому подчищать в деструкторе

всё автоматически.

Цитата:
KiQ писал:
то почему бы не грузить из деномически прямо из движка?

ну потому что это непортабельное решение. К тому же шрифт у меня это более широкое понятие. В нём хранятся и буквы и кнопки меню и иконки худа. И спрайты будут в шрифтах и лайтмапы, если я всё же надумаю к ним вернуться.

Добавлено 30-03-2020 в 12:35:

Я вот всё думаю, как бы решить вопрос с масштабированием. Наверное отрендерю меню в FBO, а потом растяну его на весь экран.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 30-03-2020 в 09:51:

Цитата:
Ku2zoff писал:
Либа для поддержки html весит почти 19 мегабайт. Думаю, ДМ на такое не пойдёт. Писать собственный парсер - такое себе удовольствие. Тем не менее, идея неплохая.


У валвы вроде был свой парсер. html всеголишь как пример, можно какие то более простые языки разметок попробовать.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-03-2020 в 10:54:

По вадам, если еще не писал, расскажу как обстоят дела.
Итак, как вы наверное уже поняли - вадов в XashNT больше не будет. Но остаётся открытым вопрос - создана целая куча карт, где текстуры прописаны как имя без пути. Что же с ними делать? Сидеть в блокноте выполнять автозамену на каждую текстуру, меняя её имя на имя с путём?
Это дико неудобно. В движке останется поддержка механизма загрузки таких текстур в виде двух элементов. Первое - это конечно поле "wad" в ворлдспавне. Отсюда движок и другие утилиты смогут узнать список использованных вадов. Точнее говоря, в новых условиях, это уже не имена вадов, а неймспейсы. Эти неймспейсы подгружаются в особую переменную <wadname>. А уж как использовать эту переменную - это полностью дело юзера.
В дефолтном шаблоне загрузки материалов для уровня можно задать вот такую строчку:

C++ Source Code:
addImageLocation( u_ColorMap, "textures/<wadname>/<texname>" );

это просто как пример. И вот уже у нас начальное имя текстуры разворачивается в textures/<wadname>/<texname>. Но не всё так просто.
<texname> - это имя текущей текстуры. А <wadname> будет перебираться из всего списка, заданного в поле "wad" в том же самом порядке, в котором оно перебиралось и для настоящих вадов. Т.е. меняя порядок следования имён вадов в поле "wad" вы точно также сможете регулировать, откуда грузить ту или иную текстуру, если она продублирована в разных вадах. Это полностью копирует поведение халфы в отношении загрузки текстур из вадов и в то же время абсолютно ни к чему не обязывает пользователя, поскольку для каждого материала можно прописать абсолютно любое поведение. Здесь <wadname> лишь одна из доступных переменных в пути. Её можно вообще не использовать.
Можно прописать пути жёстко, можно выбрать какие-то иные правила загрузки, я напоминаю, что addImageLocation можно задать несколько раз.
Можно, к примеру сделать вот так
C++ Source Code:
addImageLocation( u_ColorMap, "textures/common/<texname>" );
addImageLocation( u_ColorMap, "textures/<mapname>/<texname>" );

и вот уже текстуры будут искаться в папке по имени уровня, а если их там нету - то в папке common. Вообщем вариантов масса.
Реальные вады останутся лежать в папке с игрой, до тех пор, пока они требуются редактору. В дальнейшем, я надеюсь, будет сделан плагин для джека, который будет парсить мои материалы, их абстрактная часть уже выделена в особый шареный фреймворк, который например, использует компилятор уровней. Ну и плагин к редактору сможет точто так же.

Добавлено 30-03-2020 в 13:54:

Цитата:
FiEctro писал:
html всеголишь как пример

я не вполне понимаю как html будет отображать кнопки из моего формата шрифтов. Может тогда уже встроить редактор меню прямо в само меню? Запустил с ключом -editmenu и переставляй-добавляй элементы. Потом нажал кнопку Save и новые скрипты записались в папку. Встроить такой редактор гораздо проще, чем городить отдельный. Благо все элементы для его создания по совместительству и элементы меню.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 30-03-2020 в 11:47:

Цитата:
Дядя Миша писал:
Запустил с ключом -editmenu и переставляй-добавляй элементы

В UT2004 так можно


Отправлено FiEctro 30-03-2020 в 13:01:

Цитата:
Дядя Миша писал:
я не вполне понимаю как html будет отображать кнопки из моего формата шрифтов.


Битмаповые шрифты - атавизм. Но вообще что то вроде такого:
https://codepen.io/Matnard/pen/mAlEJ

Цитата:
Дядя Миша писал:

Может тогда уже встроить редактор меню прямо в само меню? Запустил с ключом -editmenu и переставляй-добавляй элементы. Потом нажал кнопку Save и новые скрипты записались в папку. Встроить такой редактор гораздо проще, чем городить отдельный. Благо все элементы для его создания по совместительству и элементы меню.


Как вариант. Но по мне самих скриптов с разметкой вполне достаточно, нет особого смысла городить ещё и редактор.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-03-2020 в 13:15:

Цитата:
FiEctro писал:
Битмаповые шрифты - атавизм

ты где-то умных слов понахватался и теперь везде их вставляешь. Прямо как хипстор какой-нибудь. Или даже креакл.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 30-03-2020 в 13:53:

Цитата:
FiEctro писал:
Битмаповые шрифты - атавизм. Но вообще что то вроде такого:

Понимаешь, любые попытки заимстововать современные наработки где "все проблемы уже решены" приводят к необходимости вложить тысячу долларов, перейти на WebGL, поставить 2017 студию итд а результат будет требовать для работы Windows 7.


Отправлено FiEctro 30-03-2020 в 23:36:

Crystallize
Вечно вас куда то в крайности уносит.

Дядя Миша
Ну ты перерисуй хотя бы половину дефолтных виндовых шрифтов в битмапу, чтобы хватило всем. Но на деле это просто халтура, которая сваливается на плечи художников, которых нет. Плюс - огромные проблемы с локализацией, и кастомизацией, где под каждый эффект надо хранить свою картинку, как анимации кнопок в WON меню.

Я понимаю если бы это для пиксельной игры делалось, где графика заточена под олдскульность, пиксельность и тайлы. Тогда да, битмапа решает.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 30-03-2020 в 23:46:

Цитата:
FiEctro писал:
Но на деле это просто халтура, которая сваливается на плечи художников, которых нет.

Программу же можно сделать. Или вообще растеризовать вектор при загрузке. Хотя это стрёмно - на разных системах разные растеризаторы. Я например под виндой никак не могу добиться красивых битмап-шрифтов, поэтому делаю их под макосью. Вот там красота.

__________________

xaerox on Vivino


Отправлено ncuxonaT 31-03-2020 в 00:20:

XaeroX а можешь показать разницу?


Временная зона GMT. Текущее время 22:16. Страницы (255): « Первая ... « 77 78 79 80 [81] 82 83 84 85 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024