Редактирование движка |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт 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
|
 
|
|
29.01.2016, 13:40
Сообщение
#1641
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
|
 
|
|
|
|
29.01.2016, 13:54
Сообщение
#1642
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
Ещё осенью нашёл данный код в исходниках СДК ЧН/ЗП
Погода в сдк в чн/зп, однако, была просто заккоментирована CODE /* // append weathers CEnvironment::EnvsMapIt _I=g_pGamePersistent->Environment().WeatherCycles.begin(); CEnvironment::EnvsMapIt _E=g_pGamePersistent->Environment().WeatherCycles.end(); for (; _I!=_E; _I++){ mi = xr_new<TMenuItem>((TComponent*)0); mi->Caption = *_I->first; mi->OnClick = miWeatherClick; mi->RadioItem = true; miWeather->Add (mi); } */ -------------------- no more running
|
 
|
|
29.01.2016, 13:57
Сообщение
#1643
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
sergy172, чтобы соответствовало реальности. И делают "чтобы красиво разваливалось" потому что физика сильно упрощена во всем. Нет учета центра тежести, соответсветно ускорение свободного падения поэтому упрощено, упрощены столкновения тел. Чтобы все это компенсировать (считай сколько не учитывается суммарно) прибавляют к константам примерно раза в 2 от реальных. Скажем чтобы сделать красивое падение регдола надо учесть импульс точки попадания, вес каждой конечности и ее центр массы, учесть вектор движения и скорость каждой конечности до включения регдола. Далее учесть ограничители углов каждой кости скелета, учесть среду в которой находится регдол(плотность воздуха, движение воздуха). И это только малая часть от необходимого. А теперь выкинь большую часть для разгрузки цп и прикинь на сколько конечный расчет изменится и на сколько примерно нужно домножить конечные коэфициенты изза погрешностей сведенных к золотой середине в этой формуле.
|
 
|
|
29.01.2016, 14:38
Сообщение
#1644
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
m_gravity = 19.6200008 .... Я думал у нас 9.81 гравитация... (ODE) Это уже сто лет известно. Цитата [wpn_rpg7_missile]:identity_immunities
... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Свойства CustomRocket ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; engine_present = true ;присутствует ли в ракете двигатель engine_work_time = 3000 ;время работы двигателя (в милисекундах) engine_impulse = 300 engine_impulse_up = 133,906 ;137.34 ;137.34 = 2*9.81*7 - значение этого параметра (который является некой подъемной силой, вопреки названию), ;при котором ракета массой 7кг не опускается под дейсвием ;гравитации. 2*9.81=19.62 - ускорение свободного падения в мире сталкеров ;при меньших значениях ракета будет опускаться, при больших подниматься lights_enabled = true ;свет вокруг ракеты, во время полета trail_light_color = 0.6,0.5,0.3 trail_light_range = 15.0 engine_particles = weapons\rpg_trail_00 ;fly_particles = weapons\rpg_trail_01 force_explode_time = 30000; msec |
 
|
|
29.01.2016, 15:57
Сообщение
#1645
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
У кого нибудь получилось полноценно вернуть раскачку оружия (для ТЧ)? В принципе и движковую и анимационную сделали. Движковую можно взять или ЛА, только ее следует инвертировать, чтобы раскачивалась как в билдах. Анимационную сейчас скриптами сделать можно. Но это надо пилить все анимации к оружиям. А каким образом? Разве в седьмой патч переноcили функцию для проигрывания анимации худа из скрипта?) P.S. по поводу анимаций idle_moving на ТЧ. В моде РУК ХУД 3 во всех моделях при переносе с ЗП специально оставили на будущее) -------------------- |
 
|
|
29.01.2016, 17:16
Сообщение
#1646
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
всё очень плохо
|
 
|
|
29.01.2016, 18:14
Сообщение
#1647
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Код [29.01.16 18:14:54.359] WARNING: CLocatorAPI::check_for_file not found file d:\games\stalker\shadow_of_chernobyl\gamedata\shaders\r2\deffer_base_bump_d_db-hq.ps in files list (size = 28642) [29.01.16 18:14:54.359] [29.01.16 18:14:54.359] FATAL ERROR [29.01.16 18:14:54.359] [29.01.16 18:14:54.359] [error]Expression : R [29.01.16 18:14:54.359] [error]Function : CResourceManager::_CreatePS [29.01.16 18:14:54.359] [error]File : ResourceManager_Resources.cpp [29.01.16 18:14:54.359] [error]Line : 273 [29.01.16 18:14:54.359] [error]Description : d:\games\stalker\shadow_of_chernobyl\gamedata\shaders\r2\deffer_base_bump_d_db-hq.ps В 193 ревизии, видимо, не хватает файлов. =) Сообщение отредактировал Vampir35 - 29.01.2016, 18:32 -------------------- |
 
|
|
29.01.2016, 18:35
Сообщение
#1648
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
А этот параметр можно в конфиг вывести, поиграться? ph_gravity в консоли. Нет учета центра тежести, соответсветно ускорение свободного падения поэтому упрощено, упрощены столкновения тел. Вообще-то есть У каждой косточки можно настраивать этот самый центр тяжести. А у ODE есть какие то константы равные настоящим, что бы можно было перенастроить всё так что бы оно не "красиво разваливалось" а что бы полностью соответствовало реальности? Есть. Открываешь конфиги + 65535 моделей и настраиваешь каждую кость = реальная физика. -------------------- |
 
|
|
29.01.2016, 18:42
Сообщение
#1649
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
|
 
|
|
29.01.2016, 18:50
Сообщение
#1650
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Всеравно будет недостаточно но однозначна лучше чем в оригинале сделано Да уже давно сделали, вроде ещё в 2007. Должно гуглиться по "реальный регдол для сталкер ТЧ". Сергий опять как с луны упал. -------------------- |
 
|
|
29.01.2016, 18:54
Сообщение
#1651
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
В движке с репозитория только у меня с вертикальными слотами какие-то чудеса творятся? Суть бага в том, что вся иконка корежится, растягивается, если только оружие не занимает одну клетку...
-------------------- |
 
|
|
30.01.2016, 21:18
Сообщение
#1652
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
ТЧ x64
Ставить поверх 1.0006 патча. Потом запустить, и играть) Отпишитесь о багах x64 которые найдёте. Ну и о крашах с логом и ситуацией при которой краш будет. |
 
|
|
30.01.2016, 22:32
Сообщение
#1653
|
|
Новичок Репутация: 2 Группа: Участник Сообщений: 10 Регистрация: 30.01.2016 |
У кого игра не запустится и выйдет окошко с отсутствием файла VCRUNTIME140.dll, необходимо будет скачать
В целом, фризит жутко, особенно в начале. Запускал на статике. Насчет пистолетов, анимацию у заклинившего ПБ на остальные пистолеты сделать и нормально будет. Сообщение отредактировал ANDrevenge - 30.01.2016, 22:59 |
 
|
|
30.01.2016, 23:04
Сообщение
#1654
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
У кого игра не запустится и выйдет окошко с отсутствием файла VCRUNTIME140.dll, необходимо будет скачать В целом, фризит жутко, особенно в начале. Запускал на статике. Насчет пистолетов, анимацию у заклинившего ПБ на остальные пистолеты сделать и нормально будет. клинит из-за физики. Она нормально материалы не может найти. По этому через кусты проходить не можешь. Скоро пофиксим. Это так, для пробежки демка. Могут ещё быть вылеты из-за звука, по этому играть с -nosound лучше) |
 
|
|
30.01.2016, 23:20
Сообщение
#1655
|
|
Новичок Репутация: 2 Группа: Участник Сообщений: 10 Регистрация: 30.01.2016 |
Цитата вылеты из-за звука Пока нет. Прошел первый квест, отстрел бандитов и освобождение Шустрого. Звук бывает начинает немного миксовать, будто "жует пластинку". Пристрелил псину, после чего та улетела в стену и началось: И безлоговый вылет при переходе на свалку. Сэйв не крашится, можно загрузиться с него. Сообщение отредактировал ANDrevenge - 31.01.2016, 00:11 |
 
|
|
31.01.2016, 02:40
Сообщение
#1656
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
В ЧН исходниках есть какой-то cs\engine\xrEngine\xrSASH.cpp, который повидимому давал юзать конфиг SASH.ltx, вроде для графических настроек, и видимо применялся в бенчмарке. Или я пишу бред ?
Тогда для чего он был нужен? -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
31.01.2016, 10:05
Сообщение
#1657
|
|
Новичок Репутация: 2 Группа: Участник Сообщений: 10 Регистрация: 30.01.2016 |
Nummer,
добавь файл в свою сборку expression : wave&&wave->length() Function : CSoundRender_Source::LoadWave File : SoundRender_Source_loader.cpp Line : 65 Description : Can't open wave file: Arguments : c:\games\s.t.a.l.k.e.r\gamedata\sounds\weapons\wpn_aks74\aks74_draw.ogg Когда оптимизированную версию представишь? Это невозможно тестировать. Вылет при переходе на Агропром. expression : fatal error Function : CScriptEngine::lua_error File : script_engine.cpp Line : 90 Description : <no expression> Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\task_manager.script:476: attempt to index local 'sel_task' (a nil value) stack traceback: Сообщение отредактировал ANDrevenge - 31.01.2016, 10:32 |
 
|
|
31.01.2016, 12:29
Сообщение
#1658
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
Nummer, добавь файл в свою сборку expression : wave&&wave->length() Function : CSoundRender_Source::LoadWave File : SoundRender_Source_loader.cpp Line : 65 Description : Can't open wave file: Arguments : c:\games\s.t.a.l.k.e.r\gamedata\sounds\weapons\wpn_aks74\aks74_draw.ogg Когда оптимизированную версию представишь? Это невозможно тестировать. Вылет при переходе на Агропром. expression : fatal error Function : CScriptEngine::lua_error File : script_engine.cpp Line : 90 Description : <no expression> Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\task_manager.script:476: attempt to index local 'sel_task' (a nil value) stack traceback: Уже правлю. Сейчас откатился обратно на x86, и листаю коммиты свои. Смотрю где я мог накосячить с оптимизацией. Про ошибки LUA знаю, ибо прикрутили обычный LUA. Он работает медленней, но зато под x64 собирается. Потом LuaJIT прикрутим новый. Думаю к 8 числу ближе будет стабильный x64) |
 
|
|
31.01.2016, 13:56
Сообщение
#1659
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Цитата try_call_luafunc теперь может возвращать строковой результат для функции из скриптов. Соответственно колбек on_load_title может использоваться для выдачи произвольного текста на любом этапе загрузки (например, случайный совет как в ЗП). Смотрю в исходники и никак не пойму - откуда и как вызывать это? -------------------- |
 
|
|
02.02.2016, 04:14
Сообщение
#1660
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Уже правлю. Сейчас откатился обратно на x86, и листаю коммиты свои. Смотрю где я мог накосячить с оптимизацией. Про ошибки LUA знаю, ибо прикрутили обычный LUA. Он работает медленней, но зато под x64 собирается. Потом LuaJIT прикрутим новый. Думаю к 8 числу ближе будет стабильный x64) там не в этом косяк,я тебе уже это говорил |
 
|
|
Текстовая версия | Сейчас: 23.05.2024, 14:35 |