Редактирование движка |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Редактирование движка |
11.04.2009, 17:42
Сообщение
#1
|
|
Навий черны у ношьти Репутация: 377 Группа: Забанен Сообщений: 2210 Награды: 2 Регистрация: 11.03.2009 |
Интересует конкретные идеи/возможности, как декомпилить двиг игры и .dll библиотеки, с вшитыми .cpp файлами, через которые можно было бы восстановить множество отключённых фич. Например, открытие дверей в машине перед "усаживанием" за руль. Хекседикальные вьюверы - фигня. Кроме правки байтов и возможности зануливания от них проку мало, в отношении сталкера. Нашёл оч полезную утилиту и смог дизассемблить xrGame.dll нашёл в нём e"\stalker\patch_1_000*\xr_3da\xrgame\cardoors.cpp и все строки в библиотеке, но, увы, не смог сам файл вытащить из библиотеки. Полагаю, если научиться декомпилить и, собственно, компилить обратно .exe и .dll библиотеки ядра и двига игры - можно сделать прорыв в модостроении.. например вернув хотя бы возможность открывать двери/капоты/багажники в машинах И еще много чего, без необходимости издеваться в скриптах. Так же интересует - возможно ли сделать к сталкеру некий расширитель скриптового/с++ языка, как например к Обливиону OBSE?
p.s. если кого интересует утилита для декомпила - велкам в личку. -------------------- нарушение правил п. 7.2
|
 
|
|
04.09.2019, 07:58
Сообщение
#4041
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Как можно было додуматься переделать xray 1.6 на id tech? Кстати, я давно задумывался, что мотивировало разрабов в id tech использовать forward render? Все поголовно почти на отложенных сидят, а эти отцы-основатели другой дорогой пошли. Или они самые хитро-умные? Сообщение отредактировал Zagolski - 04.09.2019, 07:59 |
 
|
|
|
|
04.09.2019, 17:23
Сообщение
#4042
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Все поголовно почти на отложенных сидят 1 - не все и не поголовно 2 - про какую версию idTech речь? В idTech 6 у них F+, при чем очень грамотно сделанный. На старте так же была возможность переключиться на deferred, но там ФПС был ниже. PS. Тот же новый Control тоже Hybrid Forward. Мало кто в наше время классический deferred юзает. -------------------- Hello worlds!
|
 
|
|
04.09.2019, 18:35
Сообщение
#4043
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
idTech 6, он родимый. Под Forward я имел в виду современный, т.е. F+, кластерный и т.д. Старый вариант в учет не беру. В любом случае на нем нужно z-prepass делать, а это 2x geometry pass. Ну да, сейчас в основном юзают Tiled Deferred: 1x geometry pass + tiled lighting. Я больше склоняюсь к тому, что на id tech в основном коридорные шутеры лепят, а там особо открытых детализированных пространств нет, возможно их Forward устраивает. Не знаю, все ж тяжко выходит два раза геометрию рисовать, когда ее много. А может Umbra хорошо помогает...
|
 
|
|
04.09.2019, 20:23
Сообщение
#4044
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
на id tech в основном коридорные шутеры лепят, а там особо открытых детализированных пространств нет Вроде F+ сначала на Just Cause обкатали, а там пространства приличные. В любом случае на нем нужно z-prepass делать, а это 2x geometry pass Дык затык то не в геометрии, а в шейдинге. Первый пасс идет с легкими однотипными шейдерами, батчинг на максимум и все дела. Второй проход идет уже без овердроу. Чистые варианты в любом случае в проигрыше. Deferred - огромный удар по bandwidth, лимит на материалы (да, есть способы обходить) + прозрачку один хрен в форварде рисовать. А для этого надо держать еще раз шейдеры для форварда (со всем лайтингом и делами). И тут начинаешь замечать как блистает F+ - вся необходимая инфа удобно в кластерах, минимум овердроу, единый рендер пайплайн для всего. В препасе есть все что нужно для MB и SSR, актуальный HiZ и прочие вкучняшки. Кстати с F+ ты по максимуму развязан в плане контроля VGPR pressure и можешь резать на куски как хочешь. С дефередом ты зажат в этом плане и молишься на scheduler и тот факт что ты все равно texture bound. А вообще был уже длинный срач на эту тему в Твиттере, вроде Петя начал тогда, кучу народ подгреблось из ААА. Не помню чем закончилось. Сообщение отредактировал iOrange - 04.09.2019, 21:16 -------------------- Hello worlds!
|
 
|
|
04.09.2019, 21:41
Сообщение
#4045
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Я в отчаянии Это старый луа, в нем нет поддержки х64. Надо его выкидывать и брать Luajit (2.x) Возьми luajit + luabind из ОГСР, других реальных вариантов нет. Как исправить код xrLua для компиляции под x64? Лог компиляции xrLua Предупреждение 1 warning C4244: инициализация: преобразование "lua_Integer" в "int", возможна потеря данных H:\Sources\xrLua\src\lbaselib.c 215 1 xrLua Предупреждение 2 warning C4244: инициализация: преобразование "lua_Integer" в "int", возможна потеря данных H:\Sources\xrLua\src\lauxlib.c 268 1 xrLua Предупреждение 3 warning C4267: return: преобразование из "size_t" в "int"; возможна потеря данных H:\Sources\xrLua\src\lauxlib.c 308 1 xrLua Предупреждение 4 warning C4267: =: преобразование из "size_t" в "int"; возможна потеря данных H:\Sources\xrLua\src\lauxlib.c 473 1 xrLua Предупреждение 5 warning C4244: =: преобразование "lua_Integer" в "int", возможна потеря данных H:\Sources\xrLua\src\ldblib.c 322 1 xrLua Предупреждение 6 warning C4244: функция: преобразование "__int64" в "int", возможна потеря данных H:\Sources\xrLua\src\lcoco.c 279 1 xrLua Предупреждение 7 warning C4334: <<: результат 32-разрядного смещения неявно преобразуется в 64-разрядное значение (предполагалось 64-разрядное смещение?) H:\Sources\xrLua\src\lgc.c 289 1 xrLua Предупреждение 8 warning C4244: функция: преобразование "lua_Integer" в "long", возможна потеря данных H:\Sources\xrLua\src\liolib.c 428 1 xrLua Ошибка 9 error C1189: #error : "No support for this architecture (yet)" H:\Sources\xrLua\src\ljit_backend.c 36 1 xrLua Предупреждение 10 warning C4244: функция: преобразование "__int64" в "int", возможна потеря данных H:\Sources\xrLua\src\ljit_core.c 110 1 xrLua Ошибка 11 error C1189: #error : "No support for this architecture (yet)" H:\Sources\xrLua\src\ljit_dasm.c 38 1 xrLua Предупреждение 12 warning C4244: функция: преобразование "lua_Integer" в "int", возможна потеря данных H:\Sources\xrLua\src\ljitlib.c 119 1 xrLua Предупреждение 13 warning C4267: =: преобразование из "size_t" в "int"; возможна потеря данных H:\Sources\xrLua\src\ljitlib.c 200 1 xrLua Предупреждение 14 warning C4334: <<: результат 32-разрядного смещения неявно преобразуется в 64-разрядное значение (предполагалось 64-разрядное смещение?) H:\Sources\xrLua\src\ltable.c 320 1 xrLua Предупреждение 15 warning C4334: <<: результат 32-разрядного смещения неявно преобразуется в 64-разрядное значение (предполагалось 64-разрядное смещение?) H:\Sources\xrLua\src\ltable.c 373 1 xrLua Предупреждение 16 warning C4244: =: преобразование "ptrdiff_t" в "int", возможна потеря данных H:\Sources\xrLua\src\lstrlib.c 114 1 xrLua |
 
|
|
04.09.2019, 22:07
Сообщение
#4046
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Убрал такой код из ljit_dasm.c и ljit_backend.c:
Код #if defined(__i386) || defined(__i386__) || defined(_M_IX86) --- #else #error "No support for this architecture (yet)" #endif Теперь компилируется, но чувствую, что это не правильно. Я запутался |
 
|
|
04.09.2019, 22:22
Сообщение
#4047
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
Плохая идея редачить external библиотеку.
|
 
|
|
04.09.2019, 22:56
Сообщение
#4048
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Бладжад, если так все очень плохо, может стоит взять обычный lua, а не luajit?
Ну будут у тебя скрипты медленней выполняться, но можно замутить другие плюшки.. например объекты (один раз скомпилированный скрипт можно юзать несколько раз) Я, честно, не понимаю смысла делать еще 1 форк. И да, luajit x64 поддерживается, только в 2.05 |
 
|
|
05.09.2019, 09:33
Сообщение
#4049
|
|
Мастер Игры Репутация: 248 Группа: Участник Сообщений: 1363 Награды: 4 Регистрация: 08.03.2010 |
Я, честно, не понимаю смысла делать еще 1 форк. Все этим должны переболеть, как корью. И я этим болел Понасгребал солянку из правок двигла, и заметил что чем дальше в код тем толще баги. Потыркал, понял объем работы и сказал ну его нафиг, в одиночку я это не осилю. Но все равно каждый думает что он умнее всех Сообщение отредактировал cjayho - 05.09.2019, 09:33 -------------------- Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack -
------ Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha. |
 
|
|
05.09.2019, 15:48
Сообщение
#4050
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
И тут начинаешь замечать как блистает F+ - вся необходимая инфа удобно в кластерах, минимум овердроу, единый рендер пайплайн для всего. В препасе есть все что нужно для MB и SSR, актуальный HiZ и прочие вкучняшки. Я и сам ярый сторонник форвард и всегда радел за него. У deferred костыль на костыле. Однако странно, что большинство ААА игр сидях на отложиках. idTech тем не менее выделяется, один из немногих. Хотя конечно это извечный спор - какой из них лучше. И все же, при наличии огромных открытых детализированных пространств в игре, да еще и тесселированных, стоит посматривать в сторону деферреда. А вообще стоит другим разрабам с idTech 6 пример брать, действительно грамотный двиг получился. Сообщение отредактировал Zagolski - 05.09.2019, 16:08 |
 
|
|
05.09.2019, 16:47
Сообщение
#4051
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Однако странно, что большинство ААА игр сидях на отложиках Так я же выше писал, что далеко не все )) И много крупных выходящих тайтлов таки гибридные. И все же, при наличии огромных открытых детализированных пространств в игре, да еще и тесселированных, стоит посматривать в сторону деферреда Ну опять же - Just Cause наглядно показал что не обязательно А вообще стоит другим разрабам с idTech 6 пример брать, действительно грамотный двиг получился. Так то оно так, вот только движки от id всегда были строго заточены под всего одну игру. Да, за счет их простоты легко допиливалось напильником под другие игры (но все равно все были коридорными шутерами). А большинство ААА студий пилит движок "на все случаи жизни", что и выливается в .... UE4 -------------------- Hello worlds!
|
 
|
|
05.09.2019, 21:29
Сообщение
#4052
|
|
Опытный Геймер Репутация: 0 Группа: Участник Сообщений: 155 Регистрация: 09.05.2019 |
Короче вырезаем сей всратый luajit и luabind
или юзаем ключи -nojit и -keep_lua И не трахаем себе мозг с этой фигнёй. -------------------- 1920
|
 
|
|
06.09.2019, 02:38
Сообщение
#4053
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
XR_CPU_PIPE.DLL, оххх. Был у меня опыт запуска на этих ключах. Не посоветую остальным.
XR_CPU_PIPE.DLL, оххх. Был у меня опыт запуска на этих ключах. Не посоветую остальным. -------------------- В армии по 01.07.2020. |
 
|
|
06.09.2019, 16:33
Сообщение
#4054
|
|
Опытный Геймер Репутация: 0 Группа: Участник Сообщений: 155 Регистрация: 09.05.2019 |
Цитата оххх. Был у меня опыт запуска на этих ключах. Не посоветую остальным. Да знаю хрень. Но зачем крутить новый луа если старый справлялся. Лучше б сделали многопоточьность. Сообщение отредактировал XR_CPU_PIPE.DLL - 06.09.2019, 16:35 -------------------- 1920
|
 
|
|
06.09.2019, 18:48
Сообщение
#4055
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Но зачем крутить новый луа если старый справлялся Сильно ошибаешься. -------------------- В армии по 01.07.2020. |
 
|
|
06.09.2019, 20:11
Сообщение
#4056
|
|
Опытный Геймер Репутация: 0 Группа: Участник Сообщений: 155 Регистрация: 09.05.2019 |
Да? И в чём же? Аж интересно стало.
-------------------- 1920
|
 
|
|
07.09.2019, 09:10
Сообщение
#4057
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
А никто не думал весь основной скриптовый и наиболее тяжелый функционал перетащить в двиг? А на скриптах мелочь оставить. Вот было бы замечательно, наверное.
|
 
|
|
07.09.2019, 12:57
Сообщение
#4058
|
|
Опытный Геймер Репутация: 0 Группа: Участник Сообщений: 155 Регистрация: 09.05.2019 |
Кто то поделитесь шейдерами dx 10 от сталкер чн 1.5.1.0
-------------------- 1920
|
 
|
|
09.09.2019, 09:41
Сообщение
#4059
|
|
Геймер Репутация: 4 Группа: Участник Сообщений: 108 Награды: 3 Регистрация: 02.02.2016 |
А никто не думал весь основной скриптовый и наиболее тяжелый функционал перетащить в двиг? А на скриптах мелочь оставить. Вот было бы замечательно, наверное. какой именно? Конкретный пример? Кое что я переносил, но это в основном "утилитные" функции. Некоторые вещи специально в скрипты были вынесены для "гибкости". |
 
|
|
09.09.2019, 13:04
Сообщение
#4060
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
К примеру амк-шный алайф, укрытия от аномалий, касательно ТЧ. Да вообще все, что тяжелое. Оставить в скриптах диалоги, да инфопоршни, что с квестовой частью связано. Хотя в оригинальных версиях в скриптах и так мало функционала, я больше про моды толкую.
Или вот простой пример, это встречается повсеместно: Код local obj for i=1,65535 do obj = alife():object(i) --- end Лучше один раз залезть в двиг, провести в нем нужные расчеты и вернуть результат, чем обращаться туда >65k раз. Тут же конкретный батлнек. Сообщение отредактировал Zagolski - 09.09.2019, 13:35 |
 
|
|
Текстовая версия | Сейчас: 10.06.2024, 12:27 |