Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

@_Val_, в том то и дело, что эти параметры находятся вне кастом даты, где и хранится логика нпс\мобов. Что и вызывает мои сомнения. А на просто заспавненные по левелу in и out ресты мобы не реагируют, проходя насквозь.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Я тут задумался чем в каком формате лучше паковать свои проекты стандартный .db, юзая обновленную народными умельцами версию ПЫСовского xrCompress или конветер Бардака, создающий .xdb архивы. (тоже улучшенный. Набрел в инете на страницу проекта на гитхабе, кажется, уже точно не помню)

 

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

Второй же, позволяет давать любые названия архивам (удобно, можно четко разбить проект. Например: anims.xdb1 configs.xdb2, meshes.xdb3 и т.д.). Плюс, все это добро хранится не в коренном каталоге игры, а в подпапке mods. Тут надо сказать, что юзание распакованной геймдаты, становиться невозможным. (во всяком случае, по моим тестам) Что, скорее минус. Насчет наличия сжатия, правда, не знаю.

Кроме этих различий, другой инфы у меня нет. Проясните, кто в теме.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@macron, хорошо, касательно выбора метода паковки вопрос решен. Спасибо.

А по поводу смешивания, меня не столько волнуют имена архивов (хотя, переименовать бы хотелось), сколько то, что я хочу избежать их нахождения в одной папке с архивами оригинальной игры. Есть способ заставить игру читать их из нескольких мест? Например, из той же папки mods?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
Не очень понятен смысл, когда можно переименовать файлы, тем самым выделить их... Чисто теоретически вопрос конечно интересен.

Я имею в виду, что хорошо бы разделять архивы игры и архивы наработок модмейкеров по разным папкам (тем более, что подходящая папка уже есть - mods), т.к. не считаю удобным их общее месторасположение (текущая версия ОГСЕ, как пример). Порой возникает путаница при распаковке. Тем более, что по именам архивов не ясно их содержимое (почему и хочу их переименовать). Может мне нужны только звуки. Такое разделение присутствует во многих играх. Архивы разрабов в одном месте, архивы модмейкеров в другом. Считаю, что и Сталкере стоит придерживаться этой концепции. А распакованную геймдату использовать только во время разработки\отладки. Закончил - упаковал. С .xdb такое возможно. Но вот .db... 

 

З.Ы. И немного хотелок. Была бы утилита автообновления, которую можно было бы встраивать в инсталяторы, для сравнения архивов и их перезаписи на ходу. Это позволило бы при обновлении наработок не плодить новые, а переписывать старые, путем добавления\удаления из них тех или иных файлов. 

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
В ОГСЕ это реализовано на должном уровне и очень себе удобно. Так что все реально. 

Вот только, насколько я знаю, эта утилита обновления (если она есть вообще) добавляет новые архивы каждым патчем. А не перезаписывает старые. О чем я и говорил.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@ed_rez, раз ты утверждаешь, что у папки mods наивысший приоритет, значит помещать туда свои архивы не только удобно, но и выгодно, в плане производительности. Ведь, по идее этот приоритет должен влиять на порядок загрузки в ее пользу? Да и потом, Сталкер такая старая игра, что очень сложно сейчас найти комп который испытывал бы серьезные проблемы с загрузками\подзагрузками. Хотя тут есть фактор разработчика и того как он занимается оптимизацией своего детища. Ну и конечно, все было бы гораздо удобнее, будь возможность назвать .db архивы любыми именами, а не только фиксированным и обезличивающим gamedata.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, сливать свои наработки с ПЫСовскими файлами, (пусть не самый удобный, на мой взгляд) тоже вариант.  Жаль, что нет перепакованной версии ТЧ с вычищенным мусором. Если в конфигах и скриптах (последних таки не мало) он особо не влияет на размер архивов, то вот текстур, оставшихся с билдов, хватает. Хотя, с ними я могу управиться. Благо, моя текстурная сборка, заместит почти все файлы. Оставшиеся можно просто докинуть перед упаковкой.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, в педантичности, я возможно "первый парень на селе".  :D  Ну кто еще станет, полностью перерабатывать те же локации из ЧН\ЗП, по пути, практически полностью избавляя их от дублирующихся под другими именами текстур. Огромная экономия места. И отсутствие того самого мусора.

 

 

 

Существуют скрипты, которые выделяют файлы, которые используются, к примеру, локации, модели...

Вот только где все это богатство? Найдется ли безумец, готовый почистить ориг. игру от хлама? Я то готов помочь, в меру своих сил и знаний. По крайней мере, по части текстур

  • Нравится 1

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

Какой наболее оптимальный размер .db архивов? (опять же для среднестатистического компа с 4гб ОЗУ) По моим прикидкам, либо 512, либо 1024мб.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, тогда, с учетом того сколько лет прошло после выхода игры, гигабайтные архивы должны быть наиболее оптимальными.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
В теории, еще можно пытаться править движок (xrCore.dll), чтобы вместо xdb поддерживал db, чтобы жать с компрессией.

Вот это примерно то о чем я говорил. Вот только я уверен, никто за это не возьмется.

 

В движке (xrgame.dll) еще предусмотрена переменная $downloads$, но там вообще ХЗ что за форматы нужны.

В главном меню, в мультиплеерном разделе, ПЫС делали кнопку проверки доступности новых патчей (правда не помню, чтобы она работала). Думаю, что эта папка как-раз для их загрузки напрямую с серверов ПЫС. И мне кажется, их формат был бы как-раз .xdb. Во всяком случае, в ЧН и ЗП так.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Firewind, изменением коэффициентов иммунитетов же. Смотри в creatures, что в конфигах.

 

Никто случаем не знает, может есть способ вернуть полноценную работоспособность команде demo_record? Уж очень порой нужно сохранить траекторию полета камеры.

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@Silver Raven, может device().cam_pos под апдейт какой и в лог позицию?...

 

Сомневаюсь. А сработает ли. Да и как воспроизвести потом? На Агропроме ПЫСы же как-то замутили облет локации камерой. Хотя, возможно, эта функция была доступна в каких-нибудь старых билдах.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@Fagot., если все было так просто, наверное я бы не спрашивал здесь. demo_record (во всяком случае в релизной версии) работает только как инструмент для "облета" локаций и создания миникарты для ПДА. Функция записи там не работает (как и в других частях серии). Файлик создается, но всегда пустой, 0кб.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@_Val_, Да там больше и нечего расписывать. Каких либо доп. опций, кроме снятия скринов для миникарт локаций команда demo_record не несет.

 

 

@Fagot., собственно, вот что будет если попробовать записать демку и тут же ее проиграть:

 

 

~ demo_record 1
~ demo_play 1
*** Playing demo: d:\games\s.t.a.l.k.e.r. - trilogy\shoc\userdata\savedgames\1.xrdemo
* [DEMO] FPS: average[1.965356], min[340282346638528860000000000000000000000.000000], max[-340282346638528860000000000000000000000.000000], middle[-1.#IND00]
stack trace:

0023:0044C5C1 XR_3DA.exe, CCameraManager::Update()

 

 

 

Это все на как на чистом ТЧ (с шестым патчем. возможно работает только на четвертом?), так и с X-Ray extensions, последней версии. На ЧН и ЗП, если мне память не изменяет, эта функция тоже "кастрирована".

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@CiBrAiKeR, вобще-то Quality - регулирует "силу" компрессии звука, а не его громкость. А то какие свойства звучания\громкости на расстоянии выставлять своим звукам, ты можешь узнать из этой таблички: http://stalkerin.gameru.net/wiki/index.php?title=Sound_Editor_-_OGG_комментирование Там же приведен и весь список доступных параметров. (кач-во, мин. дистанция, макс. дистанция звучания, дистанция звучания для НПС, общая громкость и тип звука)

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@CiBrAiKeR, тем более, у тебя не должно было возникнуть каких-либо проблем (при условии, что ты верно понял все описанное в статье). Min Dist - имнимальная дистанция на которой слышно звук. Max Dist - соответственно, максимальная. Настраиваешь, сохраняешь, слушаешь в игре. Не нравится, меняешь соотношение этих значений (так звук будет затихать более резко или более плавно). И совет на будущее: как показала практика СДК не лучший выбор, ибо порой он рандомно портит некоторые звуки, добавляя в конце щелчки. Лучше использовать утилиту SAVandT. (ссылка есть у нас на форуме)

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

@Hadzirim Hajad, если нужно передать множество одинаковых предметов, то это функция может выглядеть как-то так (пример из НС):

-- Забираем предметы
function chasti_mutantov_peredal(first_speaker, second_speaker)
relocate.out_item_namber("mutant_dog_tail",3)
end


-- А эту функцию лепим в новом скрипте
function out_item_namber(itm_section,need_number)
  reloc_params.itm_section=itm_section
  reloc_params.itm_cnt=need_number
  reloc_params.itm_cnt_found=0
  db.actor:iterate_inventory(checkout_items_count,db.actor)
  reloc_params.itm_cnt_found=0
  if reloc_params.itm_cnt_found<=reloc_params.itm_cnt then
   db.actor:iterate_inventory(out_items_count,db.actor)
  end
  news_manager.relocate_item(db.actor, "out", itm_section)
  reloc_params={}
end
  • Полезно 1

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

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

 

Собственно, зачем мне все это: моя новая версия пакета текстур, со сторонними шейдерами очень нехило грузит систему (оговорюсь сразу, что текстуры сохранены по всем правилам. все с разрешением равным степени двойки, с мип-мапами и бампами, прогнанными через сдк). По-сему, пришла мне в голову мысль запилить нечто вроде бенчмарка, дабы народ мог не только фпс-ами хвастаться, но и знать на какие настройки графики на их системе стоит рассчитывать. Выбрал для этого сложный, по меркам игры левел - "Рыжий лес" из ЧН. В будущем, возможно, добавится еще и Припять.

 

Остаются только вопросы реализации идеи:

 

Демку полета камеры думаю запускать через такую вот функцию:

function start_red_forest_benchmark(xrdemo) 
      if xrdemo ~= nil then 
       get_console():execute("demo_play red_forest_benchmark"..xrdemo) 
   end 
end 

На работоспособность не проверял. Но по идее, должна работать.

 

Хотелось бы перенести сам файлик демки из папки с сейвами в другое место и вызывать его оттуда. Кто знает, возможно ли это?

 

Ну и последнее: в конце воспроизведения демки в лог выводятся статистика по фпс. Чем и как бы ее перехватить, для вывода на худ в отдельном окне?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Почему-то объект (рупор) с прикрученной логикой, не реагирует на получение хита:

[logic]
active = ph_sound@biohazard_alarm
on_hit = hit

[hit]
on_info = %+lab_x7_alarm_siren_off%

[ph_sound@biohazard_alarm]
snd = lab_x7_biohazard_alarm
looped = true
on_info = {+lab_x7_ventilation_system_turned_on} nil
on_info2 = {+lab_x7_alarm_siren_off} nil 

У него три кости: основная - link и rupor, korpus.


upd. Разобрался. Просто забыл сменить профиль объекта с physic_object на physic_destroyable_object.


Собрал в Максе дверь. Засунул ее в Милку, добавил и привязал кости (link, door, lock). Импортировал в игру. Крашится на синхронизации, лог ничего понятного не дает:

* [x-ray]: economy: strings[4413 K], smem[92564 K]
stack trace:
0023:01C6000E xrCore.dll
0023:01B2CE47 xrCore.dll, xrDebug::fail()
0023:05A918C6 xrGame.dll
0023:05A91812 xrGame.dll
0023:05A91812 xrGame.dll
0023:05A90A05 xrGame.dll

Что может быть не так?

Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Поделиться этим сообщением


Ссылка на сообщение

AMK-Team.ru

×
×
  • Создать...