При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2017, 22:15  #21
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,266


По умолчанию

2 FiEctro: насколько я помню, ты про меню "как в стиме" ноешь с 2007-го года. ПРОШЛО 10 ЛЕТ, КАРЛ!
Ты за эти годы уже вполне мог освоить кресты и сам написать такое меню. Но нет, прошло десять лет, а ты всё ноешь и ноешь. Теперь вы понимаете, почему Путин будет править вечно? Все будут ныть "Путин, уходи" и терпеть дальше. И так - во всём.
Дядя Миша вне форума Ответить с цитированием
Старый 11.05.2017, 23:52  #22
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

2 Cybermax:
2 FiEctro:
Если вам так хочется, то на гитхабе лежат сорцы недоделанного vinterface, в рамках которого к Ксашу прикручиваются современные крестовые интерфейсы библиотек Valve. То бишь VGUI2, GameUI и filesystem_stdio. От всех трёх в публичном доступе все интерфейсы -- в бетке, в 2007 сливе и в целом наборе Source SDK. А ещё можно дебаггером вытащить с линуксового голдсорса.

Когда я начинал делать, я не понимал что делал, но сейчас понимаю, но уже дописывать вряд ли буду.
a1batross вне форума Ответить с цитированием
Старый 11.05.2017, 23:53  #23
nemyax
nemyax
Сержант
Регистрация: 30.07.2015
Сообщения: 255


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: Есть три варианта
Есть ещё вариант: ты в общем даже и продуктом-то не пользуешься, но пару раз громко вякнешь про что-то недостающее. А потом смотришь — автор добавил. Вариант называется "ничоси".
nemyax вне форума Ответить с цитированием
Старый 12.05.2017, 00:07  #24
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,837


По умолчанию

Так это, а разрешение в меню по-прежнему 640х480? Или всё же меняется как у людей, согласно общему?
Raid вне форума Ответить с цитированием
Старый 12.05.2017, 00:11  #25
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 753
Замечания: 1


По умолчанию

Я бы хотел отписатся по-поводу меню в ксаше, как плюсы так и минуса.

Удобно нарисовать кнопки, заодно и их версии активных и неактивных.

Клево и удобно выбирать: менюшка в твоей игре с картинкой или уровнем на заднике.

Немного о минусах:

Резолюшн кнопок
Плохо что на данный момент резолюшн изображения кнопок нельзя менять, и на моем 1920х1080 - я вижу пиксельное "мыло" на фоне четкого splash.

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

Излишние пункты
Очень часто на стримах П2 наблюдал как люди долго искали что где.
К примеру в меню Options/Video - 2 пункта (video modes и advanced), когда все это можно было уместить в одном Video, выбор резолюшна экрана не крутить вниз вертикально, а переклацивать горизонтально как в Metro: Last Light.

Отсутствие возможностей.
Помимо общего нытья - отстутствует элементарная возможность добавлять свои пункты дизайнером. Не критично если программист под боком. Но программисты разные бывают.

Технические проблемы
Когда игрок поменял разрешение экрана - при возврате в игру он увидит смещенный UI, который сохранил свое положение из предыдущего резолюшна по центру экрана. Это НЕДОПУСТИМО, учитывая что современные геймеры ленивые, сами не перезапустят игру - они продолжат стримить или делать скрины с этим багом на пол экрана. После принятия изменения - нужно перезапускать игру по-умолчанию или просить игрока перезапустить. Без перезапуска резолюшн не должен входить в силу.
Также, как писали уже выше - мишкой тяжело попасть по нужному разрешению. Это раздражает. Решение я отписал выше в этом посте.

Вывод: если все такие таковое меню быдет захардкожено, с возможностью косметической кастомизации - то давайте его сделаем оптимальным и более лаконичным.

Хороший пример организации меню:



Хороший пример, даже насыщеного настройками опций

ElbeR вне форума Ответить с цитированием
Старый 12.05.2017, 00:30  #26
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

2 Raid:
O_o?

2 ElbeR:
Вообще, говоря о кастомизации, её сейчас действительно нет(не считая изменений в сорцах). Максимум -- поменять текстуры, какие-то строки, цвета.

На то чтобы меню можно было вообще менять как душе угодно и без программиста под боком, нужна система схем. То есть каждое меню должно описываться на каком-нибудь декларативном языке. Все эти позиции кнопочек, на что они влияют и так далее. Не очень люблю QML, но возможно для написания "игровых" UI он(или что-то похожее) действительно мог бы быть полезен.

С излишними пунктами согласен. Я не понимаю зачем нужны некоторые страницы меню. Такой вот WON-стайл. В оригинале все ещё более запутанно.

В целом всё это делалось вальвой для того, чтобы максимум показываться в статичном окошке 640x480. Шаг влево, шаг вправо -- мыло.
Некоторые проблемы типа смены разрешения или растянутых картинок на 16:9 в форке давно починены.
a1batross вне форума Ответить с цитированием
Старый 12.05.2017, 00:39  #27
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 753
Замечания: 1


По умолчанию

2 a1batross:
Return to castle Wolfenstein 2001
Мододелы делают с менюхой что хотят

Файл внешний
main/ui/main.menu:
Код:
#include "ui/menudef.h"

{
	assetGlobalDef {
		font "fonts/normal" 16				// font
		smallFont "fonts/smallFont" 12			// font
		bigFont "fonts/bigFont" 24			// font
		cursor "ui/assets/3_cursor3"			// cursor	
		gradientBar "ui/assets/gradientbar2.tga"	// gradient bar
		itemFocusSound "sound/misc/menu2.wav"	
					// sound for item getting focus (via keyboard or mouse )

		fadeClamp 1.0				// sets the fadeup alpha
		fadeCycle 1					// how often fade happens in milliseconds
		fadeAmount 0.1				// amount to adjust alpha per cycle
		
		shadowColor 0.1 0.1 0.1 0.25			// shadow color
		}
							   




menuDef {
	name "main"
//	background "menuback_cw"		// Spinning Circle Background
	fullScreen MENU_TRUE				
	rect 0 0 640 480				// Size and position of the menu
	visible MENU_TRUE				// Visible on open
	focusColor .9 .85 1 .8			// Menu focus color for text and items
	soundloop ""
					
	onOpen { 
		setitemcolor fadebox backcolor 0 0 0 1 ; 
		playlooped "sound/music/l_theme.wav" ;
		fadeout fadebox ;
	 //  	play "sound/misc/tim_pump.wav" ; 
		uiScript stopRefresh ;
		}
		
	onESC { open quit_popmenu }
	


	itemDef {

		name modelselection 				//Precache player model	
		ownerdraw UI_PLAYERMODEL			//Ownerdraw for player models
		rect 0 0 0 0 
		style 1
		decoration 
		visible 1
    		}







	itemDef {
		name backimage2					// backimage2
		style WINDOW_STYLE_SHADER
		rect 0 0 640 480
		background "backimage2"
		visible 1
		decoration
		}





	itemDef {
		name testmodel_bj
		type ITEM_TYPE_MODEL
		rect 90 80 800 800  
		model_angle -110
		asset_model "models/mapobjects/bjui/bjui_b.MD3"
		model_animplay 0 200 0 30
		model_fovx 37
		model_fovy 34
		visible 1
		decoration
		}






	itemDef {
      	name video_over1					// video_over1
      	style WINDOW_STYLE_SHADER
      	rect 230 0 410 480
 	    	background "video_over1"
      	visible 1
		decoration
    		}


	itemDef {
		name testmodel_aflag1
		type ITEM_TYPE_MODEL
		rect 150 0 800 600 
		model_angle 90
		model_origin 100 100 100
		asset_model "models/mapobjects/flag/flag_americanui.MD3"
		model_animplay 0 114 0 10
		model_fovx 40
		model_fovy 40
		visible 1
		decoration
		}




	itemDef {
		name band2						// band2
		style WINDOW_STYLE_SHADER
		rect 360 20 128 640
		background "band2"
		visible 1
		decoration
		}
	

	itemDef {
		name bands						// bands
		style WINDOW_STYLE_SHADER
		rect 200 -480 640 1024
		background "bands"
		visible 1
		decoration
		}


	itemDef {
		name backimage4					// left side image with black gradient  
		style WINDOW_STYLE_SHADER
		rect 0 0 343 480
		background "backimage4"
		visible 1
		decoration
		}

	itemDef {
		name testmodel_nflag1
		type ITEM_TYPE_MODEL
		rect -350 -30 800 600 
		model_angle -130
		model_origin 100 100 100
		asset_model "models/mapobjects/flag/flag_naziui.MD3"
		model_animplay 0 114 0 10
		model_fovx 40
		model_fovy 40
		visible 1
		decoration
		}

	itemDef {
		name BLACKGRAD					// BLACKGRAD
		style WINDOW_STYLE_SHADER
		rect 0 -4 640 132
		background "BLACKGRAD"
		visible 1
		decoration
		}

	itemDef {
		name BLACKGRAD2					// BLACKGRAD
		style WINDOW_STYLE_SHADER
		rect 0 370 640 -128
		background "BLACKGRAD"
		visible 1
		decoration
		}

	itemDef {
		name FLAME						// FLAME
		style WINDOW_STYLE_SHADER
		rect 210 20 220 67
		background "fLAME"
		visible 1
		decoration
		}
	itemDef {
		name testmodel_icon_burn
		type ITEM_TYPE_MODEL
		rect 140 266 360 326
		model_angle 90
		model_origin 0 0 0
		asset_model "models/mapobjects/ui/icon_burn.MD3"
		model_fovx 90
		model_fovy 90
		visible 1
		decoration
		}


	itemDef {
		name WOLFFLAMELOGO				// WOLFFLAMELOGO
		style WINDOW_STYLE_SHADER
		rect 200 -5 240 120
		background "WOLFFLAMELOGO"
		visible 1
		decoration
		}


	itemDef {
		name WOLFICON					// WOLFICON
		style WINDOW_STYLE_SHADER
		rect 220 380 200 100
		background "WOLFICON"
		visible 1
		decoration
		}

	itemDef {
		name gold_line					// gold_line
		style WINDOW_STYLE_SHADER
		rect 0 410 250 10
		background "gold_line"
		visible 1
		decoration
		}

	itemDef {
		name gold_line					// gold_line
		style WINDOW_STYLE_SHADER
		rect 390 410 250 10
		background "gold_line"
		visible 1
		decoration
		}


	itemDef {
		name gold_line					// gold_line
		style WINDOW_STYLE_SHADER
		rect 0 76 226 10
		background "gold_line"
		visible 1
		decoration
		}

	itemDef {
		name gold_line					// gold_line
		style WINDOW_STYLE_SHADER
		rect 414 76 230 10
		background "gold_line"
		visible 1
		decoration
		}


////////// GAMETYPE //////////////////////////////////////////////////////// 

	//	SINGLEPLAYER	// 


	itemDef {
		name play
		text "PLAY"
		type 1
		style 0	
		textstyle 6
		rect 16 396 40 14 
		textalign 0
		textscale .233		
		textalignx 2
		textaligny 14
		forecolor .9 .9 .9 1
		visible 1
		textfont UI_FONT_NORMAL
		mouseEnter {  fadein message_accept }
		action { play "sound/misc/zap.wav" ; 
		close main ; 
		open play_menu }
		}




	itemDef {
		name loadgame
		text "LOAD GAME"
		type 1
		style 0	
		textstyle 6
		rect 70 396 72 14 
		textalign 0
		textscale .2308		
		textalignx 0
		textaligny 14
		forecolor .9 .9 .9 .9
		visible 1 
		textfont UI_FONT_NORMAL
		mouseEnter { fadein message_accept }
		action {close main ; open load_menu ; play "sound/misc/zap.wav"; }
    	}
	





//	OPTIONS		// 


itemDef {
		name options
		text "OPTIONS"
		type 1
		style 0	
		textstyle 6
		rect 156 396 56 14 
		textalign 0
		textscale .2308		
		textalignx 2
		textaligny 14
		forecolor .9 .9 .9 1
		visible 1
		textfont UI_FONT_NORMAL 
		mouseEnter {fadein message_accept }
		action {play "sound/misc/zap.wav" ; 
		close main ; 
		open setup_menu ;
		open control_menu
		} 
    }


itemDef {
      	name playselection
      	text "MULTIPLAYER"
		type 1
		style 0	
		textstyle 6
		rect 430 396 84 14 
		textalign 0
		textscale .2308		
		textalignx 0
		textaligny 14
		textfont UI_FONT_NORMAL
		forecolor .9 .9 .9 1
		visible 1  
		mouseEnter {
		fadein message_accept}
		action {play "sound/misc/zap.wav";
		open multi_popmenu}
//		action { uiScript startMultiplayer }
    	}
   

itemDef {
	name credits
	text "CREDITS"
		type 1
		style 0	
		textstyle 6
		rect 530 396 52 14 
		textalign 0
		textscale .2308		
		textalignx 0
		textaligny 14
		textfont UI_FONT_NORMAL
		forecolor .9 .9 .9 .9
		visible 1 
	mouseEnter { fadein message_accept }
	action {	close main; open credit} 
   	}


//	QUIT	//



itemDef {
		name quit
		text "QUIT"
		type 1
		style 0	
		textstyle 6
		rect 600 396 32 14 
		textalign 0
		textscale .2308		
		textalignx 0
		textaligny 14
		textfont UI_FONT_NORMAL
		forecolor .9 .9 .9 .9
		visible 1 
		mouseEnter {
		fadein message_accept}
		action {play "sound/misc/zap.wav";
		open quit_popmenu}

}

//itemDef {
//      	name copyright
//      	text "Wolfenstein ID Software Copyright2001"
//      	style 0
//      	textscale .15
//      	rect 530 475 360 40
//      	textalign 1	
//      	textaligny 0
//      	textalignx 20 
//      	forecolor .7 .7 .7 .9      
//		visible 1 
//      	decoration 
//	}



itemDef {
      	name fadebox					// Box for fading in menus
      	style WINDOW_STYLE_FILLED
 		background "ui/assets/fadebox.tga"
		forecolor 0 0 0 1
		backcolor 0 0 0 1
		rect 0 0 640 480
      	visible 1 
		decoration
    	}

}

Результат:


Последний раз редактировалось ElbeR, 12.05.2017 в 00:43.
ElbeR вне форума Ответить с цитированием
Старый 12.05.2017, 03:11  #28
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

Ну это надо полностью динамическое основное меню делать. С vgui2 меню в steam версии так и сделано
mittorn вне форума Ответить с цитированием
Старый 12.05.2017, 09:05  #29
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 753
Замечания: 1


По умолчанию

Кто-нибудь из вас хочет занятся меню для Паранои?
У Дядь Миши и так много работы и его понять можно.
ElbeR вне форума Ответить с цитированием
Старый 12.05.2017, 09:43  #30
crystallize
crystallize
Лейтенант
Регистрация: 06.06.2014
Сообщения: 773


По умолчанию

[ Цитата ] Сообщение от a1batross: Не очень люблю QML, но возможно для написания "игровых" UI он(или что-то похожее) действительно мог бы быть полезен.
"Ты один раз поленишься, а люди из-за тебя будут 10 лет от этих скобок и кавычек материться".
crystallize вне форума Ответить с цитированием
Старый 12.05.2017, 09:54  #31
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 ElbeR:
А там нужно что-то особенное? Я играл с дефолтным меню т.к мне лень допиливать dll loader для работы с меню.

mittorn, подумав, добавил 12.05.2017 в 09:54
2 crystallize:
QML всё же не boost

Последний раз редактировалось mittorn, 12.05.2017 в 09:54.
mittorn вне форума Ответить с цитированием
Старый 12.05.2017, 09:55  #32
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,837


По умолчанию

2 a1batross:
Ну типа в настройках такой выставил 1920х1080 и оно у тебя затайлилось по-человечески без растягивания. И фон кадрировало например. Ну или выбрало картинку из набора близких по разрешению.

Последний раз редактировалось Raid, 12.05.2017 в 09:59.
Raid вне форума Ответить с цитированием
Старый 12.05.2017, 10:21  #33
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 Raid:
Оно растягивается с учётом соотношения сторон. Выглядит адекватно

mittorn, подумав, добавил 12.05.2017 в 10:22
2 Raid:
Оно растягивается с учётом соотношения сторон. Выглядит адекватно

Последний раз редактировалось mittorn, 12.05.2017 в 10:22.
mittorn вне форума Ответить с цитированием
Старый 12.05.2017, 11:42  #34
crystallize
crystallize
Лейтенант
Регистрация: 06.06.2014
Сообщения: 773


По умолчанию

2 mittorn:
Имелось в виду сравнение с TinyXML.

crystallize, подумав, добавил 12.05.2017 в 11:46
[ Цитата ] Сообщение от ElbeR:
Излишние пункты
Очень часто на стримах П2 наблюдал как люди долго искали что где.
К примеру в меню Options/Video - 2 пункта (video modes и advanced), когда все это можно было уместить в одном Video, выбор резолюшна экрана не крутить вниз вертикально, а переклацивать горизонтально как в Metro: Last Light.
Если нужно просто чтобы люди не путались, можно перименовать Glare reduction в Brightness и вместо Video options написать Gamma/Brightness. А вместо Video modes написать Resolution.

crystallize, подумав, добавил 12.05.2017 в 11:48
2 Raid:
кстати да, по принципу Touch the window from inside в MPC.

Последний раз редактировалось crystallize, 12.05.2017 в 11:48.
crystallize вне форума Ответить с цитированием
Старый 12.05.2017, 11:51  #35
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,266


По умолчанию

2 crystallize: все надписи максимально аутентичны с WON-меню и стоковое таким должно остаться. Но поскольку меню это отдельная либа никто не мешает запилить своё, модное. Модное, от слова мод, если вдруг кто не понял.
Дядя Миша вне форума Ответить с цитированием
Старый 12.05.2017, 12:30  #36
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 753
Замечания: 1


По умолчанию

2 Дядя Миша:
Ну тогда круто. Осталось определится кто это может сделать для редакса Паранои.
ElbeR вне форума Ответить с цитированием
Старый 12.05.2017, 13:01  #37
crystallize
crystallize
Лейтенант
Регистрация: 06.06.2014
Сообщения: 773


По умолчанию

2 Дядя Миша:
Я думаю у Элбера оно всё же не стоковое.
crystallize вне форума Ответить с цитированием
Старый 12.05.2017, 13:25  #38
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

2 ElbeR:
Вопрос в том, что конкретно от него нужно.

Я честно говоря и так собираюсь для первой паранои сделать собственное меню. Пока есть две идеи -- список ачивок и музыкальный плеер. Можно выкинуть ненужные пункты, типа мультиплеера.

Ну и chapter background систему. Есть такая мысль -- прочитать все сейвы на этапе загрузки и найти максимальный прогресс. На основе этого загрузить бэкграунд карту. Чтобы не выводило карты с подземным комплексом, когда ты всего-лишь на первой главе.
a1batross вне форума Ответить с цитированием
Старый 12.05.2017, 14:32  #39
ElbeR
ElbeR
Wunderknabe
Регистрация: 23.04.2009
Адрес: Siedlce,Poland
Возраст: 28
Сообщения: 753
Замечания: 1


По умолчанию

2 a1batross:
Дай скайп свой, я вкратце расскажу что нужно.
ElbeR вне форума Ответить с цитированием
Старый 13.05.2017, 03:05  #40
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

Обновление от 13.05.17:
* Добавил SCR парсер. Меню читает settings.scr и user.scr и на основе них строит меню.
Настройки сервера открываются по кнопке Adv settings в меню создании сервера, а настройки игрока по кнопке Adv settings в меню Customize.
* Слайдеры теперь адекватно реагируют на перемещение и перетаскиваются ровно посередине.
* Есть диалог прогресса загрузки сервера или подключения к серверу.
ВАЖНО понимать, что поддерживается это движком только в экспериментальных версиях форка. Скачать их можно отсюда. Устанавливается экспериментальная версия поверх последнего релиза форка, который можно скачать здесь.

Обновлённая DLL-ка во вложениях ОП-поста.

Жду любых отзывов.
a1batross вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:13.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community