HLFX.Ru Forum Страницы (255): « Первая ... « 76 77 78 79 [80] 81 82 83 84 » ... Последняя »
Показать все 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)


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

Ну https://ru.wikipedia.org/wiki/%D0%9...%BD%D0%B8%D0%B5

Добавлено 27-03-2020 в 00:36:

Помните как Бабушкин предлагал взять большое число? )

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 27-03-2020 в 12:25:

Будущее меню сейвов. Каждая надпись в таблице - отдельная колонка.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 27-03-2020 в 12:59:

Ну вот как-то так.

Добавлено 27-03-2020 в 15:59:

Опять джипег цвета побил

__________________
My Projects: download page

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

Цитата:

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


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

Дядя Миша ты же вроде писал пакер джипега который не артефачит?


Отправлено Ku2zoff 27-03-2020 в 13:25:

Crystallize да это форум ещё раз сжимает.


Отправлено thambs 27-03-2020 в 13:26:

Дядя Миша
А шрифты с альфа-каналом и размером побольше можно будет сгенерить?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 27-03-2020 в 18:02:

Цитата:
Crystallize писал:
ты же вроде писал пакер джипега который не артефачит?

Ты издеваешься штоли? Или ты тонко предполагаешь что я умнее всей JPEG?

Цитата:
thambs писал:
А шрифты с альфа-каналом и размером побольше можно будет сгенерить?

А эти по твоему какие? Без альфа-канала штоли? Можно, конечно можно. Можно из ttf сгенерить абсолютно любой шрифт любого размера, сделать ему обводку, подчёркивание и размытие. Болды, италики, весь набор.

В новом ксаше я практикую вот какую концепцию: вся низкоуровневая часть пользовательской библиотеки является её же частью и находится в папке backend. Для меню - это соответственно базовые элементы интерфейса, для игровой части - физика, сейв-рестор, чейнджлевел. Всё это в пользовательских исходниках, обычно туда лезть и не надо, но если нужно, то можно переписать вообще полностью. А движок предоставляет на вход такие интерфейсы, которые точно никогда не поменяются - взаимодействие с консолью, файловой, механизм загрузки шрифтов и текстур.
То есть не возникнет ситуации, как в той же халфе, когда в API опять не хватает какой-то одной функции и придётся городить новые интерфейсы.
Меня это всегда ужасно бесило. До смешного доходит - в халфе даже запрет на сейв нельзя было сделать по нормальному.

Добавлено 27-03-2020 в 19:35:

Скролл-листы вообще были самой калечной частью старого меню. Тут предстоит много работы.

Добавлено 27-03-2020 в 21:02:

Я неоднократно говорил, что у меня работа со всеми этими менюшками вызывает отторжение. Но в данном случае работа идёт ровно. А почему? А потому что я работаю над бакэндом, мне не надо подбирать эти долбаные координаты положения окошек - они уже подобраны в старом меню.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 27-03-2020 в 19:56:

Эх, так нормального скриптового меню и не будет. Только захардкоженное.

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


Отправлено Дядя Миша 27-03-2020 в 21:08:

FiEctro

__________________
My Projects: download page

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

Цитата:

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


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

Цитата:
FiEctro писал:
скриптового меню

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

__________________
SNMetamorph's Personal Blog
Xash3D Modding Discord


Отправлено Дядя Миша 28-03-2020 в 05:24:

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

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 28-03-2020 в 07:00:

Цитата:
Дядя Миша писал:
Значит придётся городить целый язык

Ну язык C++ уже нагорожен. Ты же предоставишь апишку?


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

Я ж говорю, фреймворк в исходниках будет внутри пользовательского кода.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 28-03-2020 в 08:57:

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

Не думаю что там что то сложнее материалов или ентитей.

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


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

Если кому-нибудь интересно, как я работаю:

итак, вот у нас есть старое меню. Это меню, если кто забыл, взято из Quake 2 Evolved 0.40 и довольно серъезно адаптировано к стилю WON-меню.
Ну как адаптировано - структура его не менялась особо, костылей налепили всем миром, Крейзи Рашшен помогал его писать, Адамикс (царство ему небесное) и Альбатросс. Изначально это был код Кармака, который ребята из TeamBlur расширили и дополнили. И вот такая у нас исходная каша.

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

Добавлено 28-03-2020 в 12:52:

Цитата:
FiEctro писал:
Не думаю что там что то сложнее материалов или ентитей.

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

__________________
My Projects: download page

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

Цитата:

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


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

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