GioHAUS0n писал: Лучше проверь исходники карт в Source версии, у них там нету .rad'а
Это вообще лучше не пытаться делать. Ещё больше работы. Во-первых, надо такие карты перегнать из vmf в rmf. Во-вторых, сделать замену текстур с materials/texture_blablabla на texture_blablabla. В третьих, подогнать текстурные координаты, т.к. размеры и пропорции текстур разные. В четвёртых, удалить source-специфичные энтити с карт, и заменить где нужно goldsource-специфичными. В пятых, поменять ключи энтить, т.к. fgd тоже разные. Может быть ещё сделать два или три каких-нибудь действия.
А имея все rad-файлы, нужно только батником создать extent-файлы для готовых карт, и так же батником все их перекомпилить. Ну, может быть придётся глобальную гамму покрутить, если на каких-то картах будет слишком темно. Но работы реально раз в 10 меньше.
Ku2zoff писал: В четвёртых, удалить source-специфичные энтити с карт, и заменить где нужно goldsource-специфичными. В пятых, поменять ключи энтить, т.к. fgd тоже разные.
Я это могу тремя строчками скрипта осуществить, если ты сделаешь всё предыдущее.
XaeroX писал: А способа определить параметры рад-текстуры по скомпилированной карте, похоже, не существует.
Ну в теории можно сделать по аналогии с поиском векторов движения в mvtools. Накомпилить кучу вариантов лайтмапы с разными значениями каждого лайта. Потом брать один фрагмент лайтмапы для каждого источника, резать на мелкие квадраты, для каждого квадрата считать контрольную сумму, то же самое для эталонной лайтмапы, считать разность контрольных сумм соответствующих квадратиков и если она минимальна по всей лайтмапе, то помечать как её совпадение.
Но начинать с прикручивания OpenCL к раду, и автоматизации сравнения.
Crystallize
Существует старый, широко известный парадокс. Суть его в том, что человек либо умеет программировать, но не знает, как решить задачу, либо прекрасно знает, как решить задачу, но (вот досада!) не умеет программировать. Сколько прекрасных идей было загублено из-за этого парадокса. Да и страна скален никак встать не может из-за него, родимого.
Теперь по существу: ты предлагаешь алгоритм brute force, при котором на средних размеров карту из халфы потребуется, по самым скромным подсчётам, 10500 перекомпиляций (200 источников света по 255 вариаций на каждый). Если перекомпиляция + сравнение будут занимать всего 5 минут, потребуется 5*10500 минут для всей работы. Для сравнения: возраст Вселенной порядка 1016 минут.
XaeroX писал: Для сравнения: возраст Вселенной порядка 1016 минут.
сколько минут осталось до момента когда гейбен выложит рады вообще неизвестно
У нас же есть подсказки. Можно взять точность в 10 единиц, отталкиваться от имеющихся радов, предполагая что реальные значения либо близки к ним, либо, наоборот, на концах шкалы, можно анализировать только яркость рядом с самим лайтом.