HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (255): « Первая ... « 77 78 79 80 [81] 82 83 84 85 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



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

Добавлено 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'

Сообщить модератору | IP: Записан
Сообщение: 191612

Старое сообщение 29-03-2020 11:36
-
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 532
Возраст: 27

Рейтинг



>ID_CONSOLE
>ID_RESUME

Удобно.

__________________
Xash3D FWGS форк

Сообщить модератору | IP: Записан
Сообщение: 191617

Старое сообщение 29-03-2020 16:29
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



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

__________________
-Brain is dead-

Отредактировано KiQ 29-03-2020 в 19:54

Сообщить модератору | IP: Записан
Сообщение: 191624

Старое сообщение 29-03-2020 19:50
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



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


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

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


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

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

Отредактировано FiEctro 30-03-2020 в 08:00

Сообщить модератору | IP: Записан
Сообщение: 191636

Старое сообщение 30-03-2020 07:52
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6843
Возраст: 34

Рейтинг



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

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

Сообщить модератору | IP: Записан
Сообщение: 191637

Старое сообщение 30-03-2020 09:17
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | IP: Записан
Сообщение: 191638

Старое сообщение 30-03-2020 09:35
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



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


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

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

Сообщить модератору | IP: Записан
Сообщение: 191639

Старое сообщение 30-03-2020 09:51
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



По вадам, если еще не писал, расскажу как обстоят дела.
Итак, как вы наверное уже поняли - вадов в 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'

Сообщить модератору | IP: Записан
Сообщение: 191643

Старое сообщение 30-03-2020 10:54
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4756
Возраст: 35

Рейтинг



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

В UT2004 так можно

Сообщить модератору | IP: Записан
Сообщение: 191648

Старое сообщение 30-03-2020 11:47
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



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


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

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

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


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

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

Отредактировано FiEctro 30-03-2020 в 13:04

Сообщить модератору | IP: Записан
Сообщение: 191651

Старое сообщение 30-03-2020 13:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33025
Нанёс повреждений: 392 ед.

Рейтинг



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

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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | IP: Записан
Сообщение: 191653

Старое сообщение 30-03-2020 13:15
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4756
Возраст: 35

Рейтинг



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

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

Сообщить модератору | IP: Записан
Сообщение: 191654

Старое сообщение 30-03-2020 13:53
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 13504
Возраст: 33

Рейтинг



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

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

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

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

Отредактировано FiEctro 30-03-2020 в 23:42

Сообщить модератору | IP: Записан
Сообщение: 191660

Старое сообщение 30-03-2020 23:36
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35012
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


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

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

__________________

Сообщить модератору | IP: Записан
Сообщение: 191661

Старое сообщение 30-03-2020 23:46
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 34

Рейтинг



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

Сообщить модератору | IP: Записан
Сообщение: 191662

Старое сообщение 31-03-2020 00:20
- За что?
Тема закрыта Дядя Миша 04-08-2024 в 10:49
Временная зона GMT. Текущее время 19:48. Новая тема    Ответить
Страницы (255): « Первая ... « 77 78 79 80 [81] 82 83 84 85 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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