Способ реализации:
Lua
Версия Warcraft:
Минимум пояснений, всё в карте примере
Содержимое fdf HD
Frame "SIMPLESTATUSBAR" "Chk" {
	Frame "SIMPLEFRAME" "" {
		DecorateFileNames,
		SetAllPoints,
		Layer "ARTWORK" {
			String "graph"{
				Text "HD",
			}
		}
	}
}
Содержимое fdf SD
Frame "SIMPLESTATUSBAR" "Chk" {
	Frame "SIMPLEFRAME" "" {
		DecorateFileNames,
		SetAllPoints,
		Layer "ARTWORK" {
			String "graph"{
				Text "SD",
			}
		}
	}
}
Функция для проверки графики
function GetVersionGraph()
	BlzCreateSimpleFrame("Chk", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 0)
	return BlzFrameGetText(BlzGetFrameByName("graph", 0))
end
И самое главное ИМПОРТ, это очень важно
Нужно 2 разных файла fdf SD и fdf HD, положить в разные графически пути, но назвать потом ОДИНАКОВО, чтобы в итоге получилось как на скрине
Спасибо пользователю prog за наводку в реализации метода
"Спасибо" Близзардам за то что не дали нативку
`
ОЖИДАНИЕ РЕКЛАМЫ...
33
И самые главный вопрос зачем всё это?
Например для изменения размера некоторых эффектов, которые слишком большие в HD режиме
Или же можно сделать полное отключение некоторых графических элементов в SD или HD графике, для повышения производительности на слабых компьютерах
Этот комментарий удален
15
Bergi_Bear:
И самые главный вопрос зачем всё это?
Например для изменения размера некоторых эффектов, которые слишком большие в HD режиме
Или же можно сделать полное отключение некоторых графических элементов в SD или HD графике, для повышения производительности на слабых компьютерах
Я не мог перенести Скиллшот Арену на Рефорджед из-за этого бага. Масштаб у всех юнитов разный, даже у снарядов. Из-за этого перенос карты невозможен, т.к. если делать масштаб под одну графику, на другой будет дикое несоответствие хитбоксов и визуала, что очень важно для карты. Делал этот багрепорт ещё когда бета Рефорджеда была. До сих пор не пофиксили.
33
JackFastGame, Да и не будут скорее всего этим уж точно заниматься. Если по сабжу, вроде как доступен способ без стороннего импорта определить графику. Через чтение значения локализованной строки isreforged.
21
Если уж пилить на рефордже, то делать под новый графон, смысл обычный ещё поддерживать
Можно, конечно, как дополнение, но мне кажется, оно того не стоит
38
Некоторые особо одаренные покупают рефордж и ставят SD, у нас так в обзоре конкурса героев протупили пол ролика
28
А не проще ли юзать это?
function IsReforged takes nothing returns boolean
   return GetLocalizedString("REFORGED") != "REFORGED"
endfunction
33
PT153, пост написан в июле, а этот способ недавно нашли
И я как бы сам написал что есть способ проще
Моё 4 сообщение
Спасибо токсичный Кеп, молодец, выпендрился, доволен?
28
Bergi_Bear, что есть способ проще, ты написал, но саму функцию нет.
33
PT153, на всё есть способ проще, пойди их напиши на темы 10 летней давности
38
Bergi_Bear, мог бы и обновить статью
33
ScorpioT1000, нет смысла, когда день моих потуг превратился в 1 строчку кода, о которой просто поздно догадались
38
Bergi_Bear, там у тебя еще и утечка целого фрейма
23
Для себя использую следующий способ (на основе того, что звуковые файлы в SD и HD разные):
function IsHD takes nothing returns boolean
	return GetSoundFileDuration("sound\\buildings\\death\\ancientuprootdeath1.flac")==4631 //4631 - HD; 3250 - SD
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.