Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактирование движка
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97
Winsor
Уважаемые, как итему в инвентаре ГГ сменить цвет бакгроунда? ТЧ 1.0007
Ничего умнее CurrentItem()->SetMask(frame_window) с прозрачной текстурой, или текстурой без _back (типа рамочка по краям)... Но коряво это все... и не красиво.
NanoBot-AMK
Кто может скинуть торрент на VS2010SP1dvd1.iso . Это сервис пак 1 студии 2010.

ЗЫ
И ещё надо перевод на русишь этого https://xp-dev.com/wiki/210311/Compiling%20XRAY_3DA_2007
mortan
NanoBot-AMK, перевод инструкции по установке? Если да то могу в личку закинуть,это очень легко.
NanoBot-AMK
Цитата(mortan @ 24.09.2016, 23:37) *
NanoBot-AMK, перевод инструкции по установке? Если да то могу в личку закинуть,это очень легко.

Давай! Только не ПРОМТовый.

ЗЫ
Торрент уже не надо, на рутрекере нашёл. smile.gif
-StalkMen-
Может в шапку?
RayTwitty
-StalkMen-, Редактирование исходников -> SoC и CS (все версии)?
NanoBot-AMK
Кое как собрал рев180, 25 файлов, в общем, запускаю, меню работает, старт НИ, вылет, может что то не до собиралось, я там не которые ошибки на ходу фиксил.
Очень странная ошибка:
C++
CODE
char msg[512]; // тут src\ltable.c(156): error C2143: синтаксическая ошибка: отсутствие ";" перед "тип"
if (key)
sprintf(msg, " %s = after [type=%d] ", "invalid key to " LUA_QL("next"), key->tt);
else
sprintf(msg, " %s ", "invalid key to " LUA_QL("next"));

Это во обще бред. На асме код такой выглядит так.
asm
CODE
local mgs:byte[512]

Просто выделить 512 байт в стеке. За комментировал, проект собрался, но вот не работает, может это нормально. И во обще, перечислите список обязательных файлов в папке bin.
ЗЫ
С ошибками 2 файла, сейчас код восстановил уже 3 с ошибками, вроде так и должно быть. Ладно, завтра буду тестить.
NanoBot-AMK
Вот она ошибка:
лог
[26.09.16 13:41:21.953] FATAL ERROR
[26.09.16 13:41:21.953]
[26.09.16 13:41:21.953] [error]exp​ression : fatal error
[26.09.16 13:41:21.953] [error]Function : CInifile::r_string
[26.09.16 13:41:21.953] [error]File : Xr_ini.cpp
[26.09.16 13:41:21.953] [error]Line : 352
[26.09.16 13:41:21.953] [error]Description : <no exp​ression>
[26.09.16 13:41:21.953] [error]Arguments : Can't find variable anim_draw_empty_both in [wpn_bm16_hud], file f:\windows.old.000\program files\gsc world publishing\s.t.a.l.k.e.r\gamedata\config\system.ltx

Вы блин кодте, да не шкодке, чисто конфиговая проблема, забыли в папку resources скинуть конфиг для бм16 где указана дополнительная анимация.
ЗЫ
В общем получилось, добавил в конфиг нужные анимации и игра, о чудо, запустилось, по играл немного, проблем особых не заметил, правда подобрал арт, тот куда-то пропал, но радиация от него идёт, в слоте не отображается почему-то.
Короче, для ОЛР 3.0 работать смогу не посредственно с исходниками. Для начало попробую некоторые методы из своего XE перенести.
NanoBot-AMK
ЗЫЫ
Моя первая правка:
Фикс бага
CODE
// Real Wolf. 03.08.2014. (с) НаноБот фикс бага: если не нашли нужной анимацией для класса БМ16. 26.09.2016
#if defined(BM16_ANIMS_FIX)
LPCSTR anim;
anim = READ_IF_EXISTS(pSettings, r_string, *hud_sect, "anim_draw_empty_both", "draw");
// anim = pSettings->r_string(*hud_sect, "anim_draw_empty_both");
animGet (mhud_draw_empty_both, anim); // ? anim : "draw" );
anim = READ_IF_EXISTS(pSettings, r_string, *hud_sect, "anim_draw_empty_right", "draw");
// anim = pSettings->r_string(*hud_sect, "anim_draw_empty_right");
animGet (mhud_draw_empty_right, anim); // ? anim : "draw" );
#endif

NanoBot-AMK
Что-то я перестаю доверять правка Real Wolf, гранаты совсем не работают, не из инвентаря, не из слотов. Отключил дефайн, собрал проект заново, всё равно не работают, не понятно где лажа, из-за этого не могу протестировать свои правки. Кстати, у вас эти гранаты работают, если работают, что там надо править. Может совсем отключить правки инвентаря. Я бы лично всё по другому сделал, правки включаются не дефайнами, а просто конфигами.
NanoBot-AMK
Вопрос? Как скопировать хранилище https://xp-dev.com/svn/xray себе на комп, мне надо в оффлане работать, может понадобиться откатить к нужной ревизией без интернета.
RayTwitty
Цитата(NanoBot-AMK @ 27.09.2016, 17:07) *
Как скопировать хранилище

TortoiseSVN
NanoBot-AMK
Там надо адрес непосредственно хранилища задавать.
Команда в консоли
svnadmin hotcopy путь/к/хранилищу путь/к/резервной/копии --clean-logs

Вот путь/к/хранилищу мне и нужен. Правда не ясно могут ли это сделать обычные пользователи, или надо права админа, хотя я не чего не изменяю, просто делаю копию хранилища, и всё. В общем, можно в личку, если что. Кто там админ во обще?
RayTwitty
Код
https://xp-dev.com/svn/xray/


У меня в черепахе это указано, все работает.
NanoBot-AMK
Не получается скопировать хранилище, пишет:
is a URL when it should be a local path
является URL, когда это должен быть местный путь
Не понятно как мне папку хранилище скачать. Сейчас это делаю медленным путём, по очереди скачиваю каждую ревизию и сохраняю на своём хранилище. Это медленно, хотя качаю только изменённые файлы.
Winsor
Уважаемые знающие! Будут ли работать шейдеры самосвечения на R1 или только на R2?
NanoBot-AMK
Кто знает как ускорить сборку проекта xrGame.dll, а то целых 26 минут, это много, фикс "гранатная прокрутка" делал дня 3 из-за этого. Может полность оптимизацию отключить, или как? А то я быстрей на асме проект отлажу, чем так долго каждый раз ждать.
abramcumner
NanoBot-AMK, попробуй в свойствах проекта xrGame раздел Linker включить опцию "Enable Incremental Linking".
RayTwitty
Цитата(NanoBot-AMK @ 06.10.2016, 01:26) *
Может полность оптимизацию отключить, или как?

http://www.gameru.net/forum/index.php?s=&a...t&p=1553398

Ну и, конечно, не нужно делать полную перекомпиляцию проекта каждый раз.
mortan
Господа, можете подкинуть ссылку на репо или сами исходники ЗП под 2013\2015 стабильные? Я тут попользовался master веткой Open Xray и понял что она не очень, ибо есть проблемы связанные с памятью и рендером. Очень прошу.
mortan
Вылетает игра на статике при интенсивном отстреле патронов с таким вот странным логом:
0023:7132F189 MSVCR120.dll, memmove()

[error][ 87] : Параметр задан неверно.
На Dx10\11 таких приколов нету. Рендер вообще не трогал,каким он был в далёком 2014 году,таким он и остался (master ветка open_xray)
abramcumner
Цитата(mortan @ 07.10.2016, 13:22) *
Вылетает игра на статике при интенсивном отстреле патронов с таким вот странным логом:
0023:7132F189 MSVCR120.dll, memmove()

Запусти под отладчиком и в момент вылета дойди по стеку до хрейного кода. Оттуда уже можно будет плясать.
mortan
Цитата(abramcumner @ 07.10.2016, 13:37) *
Запусти под отладчиком и в момент вылета дойди по стеку до хрейного кода. Оттуда уже можно будет плясать.

Необработанное исключение по адресу 0x7017210C (msvcr120.dll) в xrEngine.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x4ADE1000.
Вот и что с этим делать?)
Дальше вроде идёт вызов void CLevel::cl_Process_Event(u16 dest, u16 type, NET_Packet& P)
abramcumner
Цитата(mortan @ 07.10.2016, 18:38) *
Необработанное исключение по адресу 0x7017210C (msvcr120.dll) в xrEngine.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x4ADE1000.
Дальше вроде идёт вызов void CLevel::cl_Process_Event(u16 dest, u16 type, NET_Packet& P)

В стандартную библиотеку был переданы некорректные данные, может указатель какой-то левый. Ошибка в коде, который эти данные передал. Кликай на CLevel::cl_Process_Event и изучай, из-за чего данные попортились. А там глядишь и на свой код выйдешь smile.gif
mortan
abramcumner, ну до вызова CLevel::cl_Process_Event не дошло,игра раньше падает. Заметил что такое только на статичном рендере, я его вообще не трогал. Переключаюсь на динамику - вылета больше нету, хоть 2к патронов отстреляй) Мой код к таким вылетам точно не должен приводить - он работает только при открытом инвентаре.
DRKIP
Всем привет. А не подскажите? Видел что у гг в Сталкере ТЧ на динамике есть тень героя. Как это можно сделать? Слышал что есть правка движка но в интернете не нашел.
macron
Цитата(DRKIP @ 11.10.2016, 10:14) *
Видел что у гг в Сталкере ТЧ на динамике есть тень героя. Как это можно сделать?

https://yadi.sk/d/OLYPbDXWjyEkH

Включать и патчить одновременно в
shoc_10006_r2\corrections_list.txt
и shoc_10006_xrgame\corrections_list.txt
DRKIP
Macron. Огромное тебе человеческое спасибо))) А можно добавить dll и xrGame ну и exe файл со своими уже правками и пропатчить их? А у тебя нет правки на консольные команды Fov и на изменение времени в игре? И еще, а тут exe. уже с правками который вы выкладывали в патче 14v? В R2 есть мягкая вода и партикли и саншафты? Вы извините конечно просто я нуб в этом) А нет еще правки на подсвечивание своих вещей в инвентаре при торговле?
DRKIP
Macron Поставил твои правки которые ты скинул все вроде нормально но не могу теперь изменить FOV. Не через одну прогу не меняется. И еще как все таки сделать подсветку в инвентаре вещей которые уже на мне? Пробовал включать в твоих правках так они не видимые просто становятся и все. До этого был xrGame там подсвечивались) Помогите кто ни будь? Заранее огромное спасибо.
RayTwitty
DRKIP, fov через консоль меняется - cam_fov. Для закраски предметов в окнах нужна скриптовая обработка (алгоритм закраски пишется на скриптах).

Цитата(DRKIP @ 11.10.2016, 15:30) *
До этого был xrGame там подсвечивались)

В первых версиях правки логика была целиком в движке. Потом тему расширили - появилась возможность сколько угодно цветов добавлять и вообще закрашивать что угодно. Плюс расширили это на окно обыска.
DRKIP
RayTwitty Спасибо за камеру bravo7kg.gif )))) Работает) laugh.gif А закраска у меня в скриптах походу есть но не работает, так как я скачивал xrGame готовый так у меня она с ним работала(( Не поможешь? biggrin1.gif И что теперь ни как ? shocking.gif Блин не удобно копец я так уже пару раз затупил и продал свое unknw.gif
DRKIP
macron Привет, а нет у тебя правки заливки предметов в инвентаре отдельно, что бы поставить на готовый xrGame? А то в паке она не работает (
mortan
может кто подсказать как получить ID серверного объекта в момент спавна?
Итем спавню функцией CSE_Abstract* A = Level().spawn_item(ammoSect, Position(), ai_location().level_vertex_id(), ID(), true);
Трабла в том что в этот момент ID равен 0xffff
Shoкer
Сильно с этим вопросом не разбирался, но процесс спавна в движке проходит в две стадии:
1) Сперва создаётся "фальшивый" объект ( через тот-же Level().spawn_item() ), в него записываются все необходимые параметры, и дальше они из этого объекта сливаются в нэт-пакет.
2) А потом этот свеже-созданный объект удаляется, а его данные в нэт-пакете передаются серверу, который уже и создаёт "настоящий" объект у которого будет ID.

Таким образом спавня через Level().spawn_item ты получаешь пустышку, и в этот момент получить его ID нельзя.
(для наглядного примера можешь глянуть функции CMissile::spawn_fake_missile() (Missile.cpp) или CGameObject::spawn_supplies() (GameObject.cpp)

Если хочешь получить id объекта здесь и сейчас, то тебе стоит расковырять то, как происходит спавн через alife():create() в lua-скриптах. Как там в ТЧ\ЧН файл называется - я хз, но в ЗП это xrGame\alife_simulator_script.cpp, посмотри там функции CALifeSimulator__spawn_item2 или другие.

По идее их прямой вызов должен сработать, так что пробуй спавнить через них. (однако учти что сами GSC в движке так нигде не делали, либо использовали другие функции, которые я не нашёл)
SkyLoader
На амк не ответили, так что спрошу тут: есть ли темы или какие-то посты, где собраны хотелки по компиляторам? Кроме, соответственно, стандартных вроде скипа инвалидов и х64.
mortan
Shoкer, пробовал через alife().spawn_item - ID для объекта генерируется и регистрируется,но сам итем не появляется и при уничтожении уровня игра падает с жалобой на несуществующий итем. Буду копать дальше. Я хотел сделать генерацию через скрипты - но мою задачу лучше всего выполнить средствами одного движка.
Reznor
Цитата(SkyLoader @ 17.10.2016, 08:58) *
На амк не ответили, так что спрошу тут: есть ли темы или какие-то посты, где собраны хотелки по компиляторам? Кроме, соответственно, стандартных вроде скипа инвалидов и х64.

Такой темы нет, но можно сделать! wink.gif
RayTwitty
Цитата(SkyLoader @ 17.10.2016, 08:58) *
На амк не ответили, так что спрошу тут: есть ли темы или какие-то посты, где собраны хотелки по компиляторам? Кроме, соответственно, стандартных вроде скипа инвалидов и х64.

Хотелки собирали только по СДК.

А по компиляторам... Если по поводу xrLC, то хотелось бы видеть такие ключи:
1. -ppm (pixel per meter) - переопределяет значение качества лайтмапов (если не указано, используется значение из СДК).
2. -nocompress - отключает сжатие лайтмапов.
3. -nolm и -norgb (как в компиляторах от K.D.). Как я понял, отличаются тем, что первый ключ вообще отключает создание лайтмапов (но для этого нужна правка для движка игры), а второй просто отключает расчет освещения, но сами лайтмапы как бы создаются (работает без правок движка).
4. -skip_invalid_faces
5. -noise, который появился вроде бы только в ЧН\ЗП.

Еще хотелось бы, чтобы компиль выдавал все недостающие текстуры. Сейчас он по одной выдает и вылетает.
abramcumner
Цитата(SkyLoader @ 17.10.2016, 08:58) *
На амк не ответили, так что спрошу тут: есть ли темы или какие-то посты, где собраны хотелки по компиляторам? Кроме, соответственно, стандартных вроде скипа инвалидов и х64.

Сделать так, чтобы можно было использовать храи х32 после хрлц х64.
Убрать вылет в хрдо_лайт на больших локациях.
Giperion
Цитата(abramcumner @ 17.10.2016, 17:42) *
Цитата(SkyLoader @ 17.10.2016, 08:58) *
На амк не ответили, так что спрошу тут: есть ли темы или какие-то посты, где собраны хотелки по компиляторам? Кроме, соответственно, стандартных вроде скипа инвалидов и х64.

Сделать так, чтобы можно было использовать храи х32 после хрлц х64.
Убрать вылет в хрдо_лайт на больших локациях.


Там кажется что то было с классом Face, поле dummy, которое хоть и было объявлено как u32, но хранило в себе указатель на материал (а в других случаях - какие то флаги с битфилдами). У меня была только эта проблема, остальное подхватилось.
Вылет в хрдо кажется связан с ахуенным xrCDB, который пытается заглотить больше вертексов чем может, при подсчете кол-во локальных лайтов на точке, но там долго объяснять.

Цитата
5. -noise, который появился вроде бы только в ЧН\ЗП.

Подробнее можно?
Asterix
SkyLoader,
Изменения от KD, компиляторы x64
xrLC + xrDO_Light + xrAI (Sep 27 2014)

===============================

=====Список изменений xrLC=====

===============================

build 5714, Sep 27 2014

! исправлена замена каналов в итоговой текстуре террейна

build 5578, May 14 2014

~ сохранение текстур переделано с nvdxt на nvtt

build 5571, May 7 2014

! убрана надпись LevelBuilder из лога

build 5570, May 6 2014

! переделано детектирование процессора и его фичей

! теперь при вылете компилятор не пытается продолжать работать

+ добавлен ряд новых ключей запуска (-norgb, -lmap_quality)

+ при отсутствии текстур (tga, thm) xrLC слетает не сразу, а по окончании фазы загрузки

+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете

+ добавлен расчет номера билда аналогично игре

+ изменено имя лог-файла на конфигурации x64

=================================

===Список изменений xrDO_Light===

=================================

build 5707, Sep 20 2014

~ при отсутствии необходимых файлов (build.cform и т.д.) компилятор выдает сообщение

build 5578, May 14 2014

~ сохранение текстур переделано с nvdxt на nvtt

build 5571, May 7 2014

+ добавлена поддержка x64

+ добавлен ряд новых ключей запуска (-norgb, -nosun)

+ добавлена инициализация xrDebug для формирования стека вызовов и минидампа при вылете

+ добавлен расчет номера билда аналогично игре

+ изменено имя лог-файла на конфигурации x64

! убрана надпись LevelBuilder из лога

=================================

======Список изменений xrAI======

=================================

Sep 27 2014

~ исправлено падение xrAI на старте

Sep 20 2014

+ поддержка build.cform, полученного новым xrLC

=================================

===========Замечания=============

=================================

Описание новых ключей:

-skipinvalid - игнорирование "неправильных" полигонов при компиляции

-lmap_quality - качество лайтмапов, параметр pixel per meter.

Задавать, как в сдк - дробное значение. Если без ключа, будет использоваться

значение из билда локации.

-norgb отключает расчет "основного" лайтмапа (lmap#1_1),

который используется только на статике. Однако, сам файл лайтмапа создается и

ссылка на него прописывается в level (в отличие от компиляции с ключом -nolmaps).

Т.е., сможете запустить и на дефолтном ТЧ. Время компиляции с ключом существенно меньше,

чем без него. Кому не нужна статика - это ваш выбор, как и ключ -nosun.

-nosun аналогичен -norgb, только отключает расчет лайтмапов от солнца. Таковые нужны

только на статике, либо на динамике при игре с опцией r2_sun_static.

Описание ключей norgb и nosun справедливо и для xrDO_Light, с той лишь разницей, что xrDO_Light

не делает текстуру лайтмапа, а запекает все просчитанные коэффициенты освещения в level.details.

Минимально требуемая операционная система: Windows XP

Минимально требуемый процессор: Pentium 4 (Intel) или Athlon64 (AMD)

Авторы: GSC. Правки и сборка под x64: K.D.


ЗЫ RayTwitty, не думаю что скай будет бездумно копипастить
RayTwitty
Цитата(Giperion @ 17.10.2016, 18:05) *
Подробнее можно?

http://xray-engine.org/index.php?title=xrLC

Ray, там на самом деле много непоняток, у людей например лайтмапы синего цвета становятся. Я бы не стал бездумно копипастить.
abramcumner
Цитата(Giperion @ 17.10.2016, 18:05) *
Там кажется что то было с классом Face, поле dummy, которое хоть и было объявлено как u32, но хранило в себе указатель на материал (а в других случаях - какие то флаги с битфилдами). У меня была только эта проблема, остальное подхватилось.

А у тебя build.cform от хрлц64 подходит к храи32? Это здорово. В выложенных компиляторах это не так.
Giperion
Цитата(abramcumner @ 17.10.2016, 18:15) *
Цитата(Giperion @ 17.10.2016, 18:05) *
Там кажется что то было с классом Face, поле dummy, которое хоть и было объявлено как u32, но хранило в себе указатель на материал (а в других случаях - какие то флаги с битфилдами). У меня была только эта проблема, остальное подхватилось.

А у тебя build.cform от хрлц64 подходит к храи32? Это здорово. В выложенных компиляторах это не так.


Ну, я просто самостоятельно портировал на x64 (с моими либами) + правки с сканированием текстур и гребаным Face.
Уровень открывается ванильным 1.6.02 от GSC.
abramcumner
Цитата(Giperion @ 17.10.2016, 18:21) *
Ну, я просто самостоятельно портировал на x64 (с моими либами) + правки с сканированием текстур и гребаным Face.
Уровень открывается ванильным 1.6.02 от GSC.

А ванильным храи собирается? На ванильном ЗП естественно все работает.
Giperion
Цитата(abramcumner @ 17.10.2016, 18:24) *
Цитата(Giperion @ 17.10.2016, 18:21) *
Ну, я просто самостоятельно портировал на x64 (с моими либами) + правки с сканированием текстур и гребаным Face.
Уровень открывается ванильным 1.6.02 от GSC.

А ванильным храи собирается? На ванильном ЗП естественно все работает.

Компилятор от моего Solution, т.е. от 1.7, просто там есть дефайн XRAY_16 который вроде просто структуру Face перед сохранением (в компиляторе) фигачит под формат старого 32 битного компилятора. Приду домой, могу сказать что там точно делает.
Giperion
Короче вот где у меня были правки:
Пастбине
abramcumner
Giperion, спасибо! Вот что такое и хотелось бы добавить в х64 компиляторы.
Giperion
Упс, кое что только сотрите:

#ifdef XRAY16
hdr.version = CFORM_CURRENT_VERSION - 1;
#else
hdr.version = CFORM_CURRENT_VERSION;
#endif

У меня уже CFORM_CURRENT_VERSION инкрементирован, оставьте просто
hdr.version = CFORM_CURRENT_VERSION;

EDIT:
А вообще я готовлю серьёзное обновление компиляторов, надеюсь выложить до конца месяца (хотел еще в начале октября, но болезнь помешала).
mortan
Shoкer, нашел куда ведёт хвост от Level().spawn_item - это Process_spawn из xrServer_process_spawn.cpp
Не уверен что это правильно,но всё же может можно его как-то задействовать напрямую?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.