Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Закрома Родины
fen1x
сообщение 17.09.2014, 16:27
Сообщение #1941


И никаких няш-мяш!
**************************

Репутация:   5029  
Группа: Участник
Сообщений: 28157
Регистрация: 04.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа




Сборка движка X-Ray 1.0007 RC1
Сборка движка ЗП от Shoker
0) Устанавливаем Visual Studio 2008 SP1 (Proffesional или Team, я собирал в первой), сервис пак из архива engine.vc2008.fixed.rar подходит только к английской версии студии, для русской нужно будет скачать отдельно.
______________________________________________
1) Создаём на диске папку, в ней ещё одну папку.

2) В эту папку помещаем только папку engine.vc2008 из архива "engine.vc2008.fixed - фикшенный мною проект vs2008", папку SDK от туда не трогаем.

3) Папку SDK берём из архива "stasvn\sources\engine.vc2005-2008(~1.6.02 бенчмарк) - март 2010", из под-папки sources.
Помещаем её в одну папку к engine.vc2008



4) Вот теперь поверх неё докладываем папку SDK из архива engine.vc2008.fixed.rar, соглашаемся на замену всех файлов

5) Качаем с сайта майкрософт два DirectX SDK - 2009 March и 2010 June. (Вес каждой около 500 мб), можно использовать только версию 2009, но тогда не сможете собрать xrRender_R4. (LINK : fatal error LNK1181: cannot open input file 'd3d11.lib'), а если будете использовать только 2010 - игра с R4 не запустится.

После установки двух DX SDK убедитесь что они прописали свои пути в студию, файлы 2010-го СДК должны быть после 2009-го, как показано на рисунке:



Аналогично для разделов Executable files и Include files. Если возникнут вопросы, ищите информацию в гугле по словам "подключение directx sdk visual studio 2008"

При неправильных версиях СДК (или его не-подключении) в логе будет ругань на отсутствие файлов типа d3dXX.lib\.h)
Перемещать папки из уже установленного DirectX SDK никуда не нужно. Достаточно прописать к ним пути глобально для студии (или для каждого проекта вручную)

Комментарий от loxotron: достаточно скопировать и переименовать d3d11_beta.lib в d3d11.lib в папке с директовским сдк, а еще лучше скачать и поставить DX SDK August 2009 и не париться с неподходящими версиями.

6) На всякий случаи можно установить ещё SDK\OpenALwEAX.exe, но не уверен что он критически необходим.

7) Запускаем проект через ..\CoP\Project\engine.vc2008\engine.sln. Когда он загрузится, вверху студии режим сборки с Debug_Dedicated (или любой другой) меняем на Release. Далее слева\справа будет список папок с файлами движка, нам нужна, в первую очередь, папка 3rd_party - жмём на неё правой кнопкой мыши и выбираем Build\Построить.

Если всё будет правильно, то в конце лог внизу напишет об 11 успешных проектах (или число будет меньше, если некоторые проекты уже были собраны до этого, лог об этом тоже сообщит "пропущены\up to date") Главное чтобы Ошибок\Fatal везде было 0
У меня собрались полностью все проекты без ошибок. (warning за полноценные ошибки не считаются)

8) По аналогии, сверху вниз, можно собрать другие Dll-ки, папки editor\dedicated\utils\plugins собирать не обязательно - к движку они не относятся. Дольше всего будет собираться xrGame.dll. Остальные достаточно быстро.

Собирать все Dll-ки к слову не обязательно. Можно лишь нужные. Когда они будут готовы - создать чистую папку bin в папке с игрой. Закинуть туда все созданные dll файлы (можно вместе с .pdb). При необходимости, можно докинуть отсутствующие файлы из оригинальной bin ЗП (2-ой патч), если игра будет их требовать. (Навроде wrap_oal.dll)
Игру я запускал с оригинального Stalker-COP.exe

Если всё верно, то в логе\консоли игры в первых строчках будет указан билд игры и дата построения.


Сообщение отредактировал RayTwitty - 22.01.2016, 17:03
Перейти в начало страницы
 
191 страниц V  « < 96 97 98 99 100 > »   
Начать новую тему
Ответов
HikeR
сообщение 24.08.2014, 08:44
Сообщение #1942


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(hi_flyer @ 23.08.2014, 17:45) *
СДК ещё вообще не собирал никто.

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

Цитата(Flammable @ 23.08.2014, 21:37) *
В самом NVTT пришлось поправить пару багов.

это "поправить" более походит на костыли для компилятора, а не баги. а вот замена vsscanf на обычный sscanf — это вообще вредительство, азбучный пример при такой замене выдает ожидаемый appcrach.
Перейти в начало страницы
 
Flammable
сообщение 24.08.2014, 10:24
Сообщение #1943


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(HikeR @ 24.08.2014, 09:44) *
это "поправить" более походит на костыли для компилятора, а не баги. а вот замена vsscanf на обычный sscanf — это вообще вредительство, азбучный пример при такой замене выдает ожидаемый appcrach.

Стянул весь проект nvtt из репозитория xp-dev, чтобы не возиться с адаптацией оригинального. Даже не знал, что оно там так "поправлено". Верну взад smile.gif

nvtt/src/src/nvimage/ConeMap.cpp:82
Код
float ch = d - img->pixel(xx, yy, 0);

Как и должно быть, получаем здесь undefined identifier, потому что xx и yy не видны в текущем скопе.
В какой-нибудь VS6 оно могло компилиться из-за бага самой студии, VS2013 такую шляпу уже не проглатывает.
Если оно где-то скомпилируется, xx и yy будут равны w и h соответственно, что приведет к чтению за пределами буфера.

nvtt/src/src/nvmath/nvmath.h:88
Код
// Replace default functions with asserting ones.
#define sqrt sqrt_assert
#define sqrtf sqrtf_assert
#define acos acos_assert
#define acosf acosf_assert
#define asin asin_assert
#define asinf asinf_assert


Эта проблема уже была замечена и вместе с решением описана здесь.

Вот и возникает вопрос. Репозиториев наделали, nvdxt на nvtt заменили, а скомпилить никто даже не пробовал.
Весь код в репозитории должен быть валидным в любое время в независимости от состояния разработки, имхо.

Сообщение отредактировал Flammable - 24.08.2014, 10:28


--------------------
Перейти в начало страницы
 
HikeR
сообщение 24.08.2014, 10:59
Сообщение #1944


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


с "xx/yy" все проще, ConeMap.cpp/h не использовался в проекте как минимум с 2007 года. однако даже VC6 не сможет увидеть инициализированные в цикле переменные, реально странный код )

p.s.
гмм... этот vsscanf оказывается тоже.

Сообщение отредактировал HikeR - 24.08.2014, 11:05
Перейти в начало страницы
 
Flammable
сообщение 24.08.2014, 11:10
Сообщение #1945


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Коммитил эти "поправки" K.D., интересно было бы узнать его соображения.
Интересно, что в оригинальном nvtt Tokenizer.h тоже отключен.

Сообщение отредактировал Flammable - 24.08.2014, 11:13


--------------------
Перейти в начало страницы
 
HikeR
сообщение 24.08.2014, 11:39
Сообщение #1946


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


вероятно, сорцы кучей скопировали без учета отсутствующих файлов в родном проекте. а компилятор такого прикола не воспринял )

Сообщение отредактировал HikeR - 24.08.2014, 11:39
Перейти в начало страницы
 
Flammable
сообщение 24.08.2014, 17:27
Сообщение #1947


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Пофиксил "поправки" в NVTT.
В xrDXT из репозитория на xp-dev.com нашел еще одну проблему:
xrDXT/DXT.cpp:237
Код
HFILE fileout = _open( out_name, _O_WRONLY|_O_BINARY|_O_CREAT|_O_TRUNC,_S_IWRITE);
if (fileout==-1){
    fprintf(stderr, "Can't open output file %s\n", out_name);
    return false;
}

В этом месте файл с именем out_name уже открыт (идентичным кодом из начала функции), поэтому DXTCompressImage вернет false, а файловый дескриптор утечет.


--------------------
Перейти в начало страницы
 
Vampir35
сообщение 25.08.2014, 23:17
Сообщение #1948


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Такой вопрос, а почему свет от фонарика представляет собой шестиугольник? smile.gif


--------------------
Перейти в начало страницы
 
macron
сообщение 25.08.2014, 23:43
Сообщение #1949


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Vampir35 @ 26.08.2014, 00:17) *
а почему свет от фонарика представляет собой шестиугольник?

В 1.0006 было из-за r2-правки "ВИРТУАЛЬНЫЙ РАДИУС ЛАМП".
Перейти в начало страницы
 
RayTwitty
сообщение 25.08.2014, 23:52
Сообщение #1950


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(macron @ 26.08.2014, 00:43) *
В 1.0006 было из-за r2-правки "ВИРТУАЛЬНЫЙ РАДИУС ЛАМП".


да ладно.


--------------------
Перейти в начало страницы
 
Modera
сообщение 25.08.2014, 23:59
Сообщение #1951


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Shadows @ 26.08.2014, 00:52) *

Этот убогий фонарик из ласт лайта никакими углами не испортишь. Хуже не будет.

К тому же, смотрим в левый угол...

Сообщение отредактировал Modera - 26.08.2014, 00:00
Перейти в начало страницы
 
RayTwitty
сообщение 26.08.2014, 00:02
Сообщение #1952


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 26.08.2014, 00:59) *
Этот убогий фонарик из ласт лайта никакими углами не испортишь.

Ну даа, убогий. Чувак, ты не играл в некоторые билдомоды biggrin.gif

Цитата(Modera @ 26.08.2014, 00:59) *
К тому же, смотрим в левый угол...

Там поинт-свет стоит, К.О. Он и в оригинале при выкрученных значениях яркости/блюма имеет явные края (см. свечение от монолита).

Сообщение отредактировал Shadows - 26.08.2014, 00:18


--------------------
Перейти в начало страницы
 
Ронин
сообщение 26.08.2014, 20:12
Сообщение #1953


Игроман
**********

Репутация:   386  
Группа: Участник
Сообщений: 847
Награды: 7
Регистрация: 22.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Скажите пожалуйста, может кто знает, в чем разница между форматами .skl\skls от СДК 0.4 и СДК 0.7?
Перейти в начало страницы
 
Kontro-zzz
сообщение 27.08.2014, 20:54
Сообщение #1954


Почти Игроман
*********

Репутация:   96  
Группа: Участник
Сообщений: 594
Награды: 3
Регистрация: 26.10.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата
в чем разница между форматами .skl\skls от СДК 0.4 и СДК 0.7?

х.з. наверное никакой, т.к. конвертер одинаково тчешные и зпешные омф распаковывает, и некоторые старые skl анимации нормально работают в старших версиях СДК(игре), например skl анимации для монстров.

P.S.
Проверил skl файлы из ЗП действительно отличаются от ЧН и ТЧ.

Сообщение отредактировал Kontro-zzz - 27.08.2014, 21:46


--------------------
Будиш маму-папу слушать
Будиш ты канфеты кушать!
© Операция «Ы»
Перейти в начало страницы
 
alpet
сообщение 28.08.2014, 11:48
Сообщение #1955


Геймер
******

Репутация:   19  
Группа: Участник
Сообщений: 130
Награды: 2
Регистрация: 24.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


С последними правками вскрылось неправильное определение формата нет-пакетов (в se_zones.script), из-за чего в лог может попасть несколько мегабайт предупреждений. Похоже такая ситуация возможна лишь для модов, использующих данный скрипт несоответствующей версии.
Вызывает проблему вот какой код:
Код
packet1:w_u8(packet:r_u8())

Попытка скопировать слишком много от пакета. Простейшее ограничение что я сделал:
Код
local copy = size - packet1:r_tell()
        
    if copy > packet:r_elapsed() then
       copy = packet:r_elapsed()  -- не пытаться скопировать много
    end
    
    for i=1,copy,1 do
        if packet:r_eof() then        
           break
        else  
           packet1:w_u8(packet:r_u8())            
        end    
    end


Сообщение отредактировал alpet - 28.08.2014, 11:49
Перейти в начало страницы
 
Flammable
сообщение 30.08.2014, 10:25
Сообщение #1956


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Кто-нибудь знает, зачем в скриптах this?


--------------------
Перейти в начало страницы
 
HikeR
сообщение 30.08.2014, 10:57
Сообщение #1957


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


эмуляция указателя на сам объект/класс, чтобы при его изменении не затронуть все остальные отнаследованные объекты/классы (в Lua нет ничего "приватного").
Перейти в начало страницы
 
Flammable
сообщение 30.08.2014, 12:23
Сообщение #1958


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(HikeR @ 30.08.2014, 11:57) *
эмуляция указателя на сам объект/класс

Можно на примере показать? Зачем это нужно?


--------------------
Перейти в начало страницы
 
HikeR
сообщение 30.08.2014, 13:18
Сообщение #1959


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


в качестве примера придется привести полную эмуляцию класса с наследованием, то есть скопировать главу из Programming in Lua. вы вставьте строчку "print(typeof(this), this)" перед использованием этого this и сами все увидите.

дайте пример "непонятного" кода, будет более предметно.
Перейти в начало страницы
 
Flammable
сообщение 30.08.2014, 14:02
Сообщение #1960


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вот такой кейс, например:

xr_use.script
Код
class "action_process_use"
function action_process_use:__init(obj, storage)
    self.object = obj
    self.st = storage
end
function action_process_use:use_callback(victim, who)
end

...

function add_to_binder(npc, ini, scheme, section, storage)
    local action = this.action_process_use(npc, storage)
    storage.action = action
end



--------------------
Перейти в начало страницы
 
HikeR
сообщение 30.08.2014, 14:16
Сообщение #1961


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


о, да тут все намного проще (xr_3da/xrGame/script_storage.cpp):
Код
-- генерация LPCSTR строк
-- file_header_old =
local function script_name()
    return "%s"
end
local this = {}
%s this %s
setmetatable(this, {__index = _G})
setfenv(1, this)

-- file_header_new =
local function script_name()
    return "%s"
end
local this = {}
this._G = _G
%s this %s
setfenv(1, this)

--skip
    if (strstr(Core.Params,"-_g"))
        file_header            = file_header_new;
    else
        file_header            = file_header_old;

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

191 страниц V  « < 96 97 98 99 100 > » 
Тема закрытаНачать новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.04.2024, 14:55