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

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

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

Подскажите, пожалуйста, для какого UI элемента используются текстуры с окончанием _e, _back, _b?


Отвечаю сам - для InitFrameLine , которые используется для создания Label (InitLabel).

<caption x="100" y="3" width="200" height="25" stretch="1">
            <texture>ui_linetext_e</texture>
            <text r="238" g="153" b="26" font="letterica18" vert_align="c" align="c" complex="1">Каптион интересный</text>
</caption>

Уважаемые, накопилась куча вопросов о файловой системе сталкера и текстурах, размещенных на ней. Опытным путем было выявлено, что игра индексирует список доступных для использования текстур при своем запуске

1) как получить этот список? т.е. как узнать, какие текстуры доступны для, например, InitTexture во время игры?

2) как заставить игру перечитать этот список не перезапуская саму игру?

при большом размере текстуры (тестировалось на 1,2 м/б) первая загрузка такой текстуры происходит 1,5-2 секунды 

3) это мне не повезло с компом или так долго движок их кеширует?

4) все следующие обращения к данной структуре, прописанной в xml происходят очень быстро  - из скрипта InitTexture результат будет такой же или механика отличается?

5) что произойдет с кешем при загрузке 100 таких структур по очереди, например, в баграунд UIStatic?

6) можно ли этот кеш чистить принудительно? 

 

7) есть ли аналог Cursors.WaitCursor в скриптовых функциях (временное отключение реакции на события и вывод чего либо для сигнализации занятости, например, при загрузке большой структуры)? 

 

Благодарю за любую информацию и разъяснения!

Изменено пользователем Winsor
Ссылка на комментарий

@Winsor

Может уже и есть какие-то способы и информация. Тот кто знает больше поправит. А я пока могу сказать следующее :

1. Никак. Стандартных методов нет. Не стандартный - распарсить файлы xml самому с помощью io (нужно расширение Lua от RvP)

2. Никак. Полагаю что только ковырять движок.

3. Напрямую зависит от компа.

4. Деталей не знаю, но время доступа к кешу текстур не будет отличаться.

5. ? Не понял идеи. Зачем? Тем не менее сначала нужно иметь возможность доступа к процессу работы движка с текстурами (см. п.2.).

6. см.п.2.

7. Аналога нет, но думаю скриптово можно организовать.

  • Спасибо 2
  • Полезно 1
Ссылка на комментарий

Справедливости ради, по п3 есть изрядно способов сделать это ну очень небыстрым. Почти независимо от компа.

Ссылка на комментарий

 

 

сделать это ну очень небыстрым
- а какие способы есть сделать это быстрее (кроме пожатия текстуры) средствами движка? 
Ссылка на комментарий

Размеры: 256x256, 512x512, 1024x1024. Впрочем, 512x512 не нужны. Больше - тоже, реально, не нужны (нет таких объектов, где оно надо). 5645x111 - отказать однозначно.

Короткие, вменяемые имена и пути. Без kEE\/\/1-HucKeeЯsk..====+--,,,.|Ks извращений на 300 символов с путями в 100500 уровней вложенности.

Количество файлов на каталог надо на самом деле подбирать. Не совсем понятно, что хуже - 100500 подкаталогов по одному файлу в каждом, или 100500 файлов в одном каталоге, но оба варианта очевидно медленные и печальные.

 

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

Изменено пользователем Dennis_Chikin
  • Спасибо 1
Ссылка на комментарий

Если текстура для интерфейса, то например я урезал качество, т.к. размер явно не то что нужно в этом варианте, 16мбайтную текстуру действительно не мгновенно открывал, а с ощутимыми фризами :). А текстуры которые на модели накладывают, то там 512х512 более чем достаточно, а то некоторые рисуют двухметровые, а потом удивленно пишут о фризах.

Ссылка на комментарий

Полностью описать проблему не смогу, так как обнаружил её не я, а тестер. Вот что он говорит: "Когда поговорю с Кругловым, то он не хочет идти. Просто стоит на месте как вкопанный. Не могу понять, что нужно сделать, чтобы он ожил." В чём может быть проблема? (Да, я знаю, что конкретики мало и инфа довольно размазанная, но это всё что у меня есть)

RafMadMan.gif

Ссылка на комментарий

А логику этому самому Круглову кто писал ? Вот его и спрашивать.

Ссылка на комментарий

@Dennis_Chikin, а то-бишь мне в логику к нему лезть надо? Ладно, посмотрим, что из этого получится.


А какой файл за логику его отвечает?)

RafMadMan.gif

Ссылка на комментарий

@Dennis_Chikin, да хз я, кто ему логику правил. Вроде и не закидывал в своё творение таких модов, ладно, будем думать.

Добавлено Dennis_Chikin,

"Святой Хызр знает я" - так не говорят.

"Святой Хызр знает меня", или "Святой Хызр его знает" - вот так правильно. https://ru.wikipedia.org/wiki/%D0%A5%D0%B8%D0%B4%D1%80

RafMadMan.gif

Ссылка на комментарий

 

 

что нужно сделать, чтобы он ожил

Сейв-лоад рядом с ним пробывал?

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

Ссылка на комментарий

@RafMadMan

Покажи хоть файл gamedata\config\misc\gulag_yantar.ltx

 

Когда поговорю с Кругловым, то он не хочет идти.
Это он в бункере не хочет идти, или уже после выброса?
Ссылка на комментарий

Уважаемые, нет ли у кого более развернутой информации о классах объектов игры и ограничений на их использование, чем здесь

Например, там не написано, что если O_INVBOX заспавнить себе в инвентарь - игра вылетает :)

к сожалению, даже в xray source не смог найти описания.

также очень непонятен параметр nonscript_usable  - есть ли смысл его вообще использовать? и каким образом? и где - в описании предмета, либо в custom_data?

благодарю!

Ссылка на комментарий
Есть ли разница в ниже приведенных способах проверки инфо-порции на то, что она не активна:



if db.actor:dont_has_info("какая-то и\п") then
if not db.actor:has_info("какая-то и\п") then


На мой взгляд - вроде как нет, но ведь не зря же наверное экспортировали две ф-ции ?

Ссылка на комментарий

Приветствую всех! Нужна помощь с конфигом на снайпера, который должен видеть врагов на расстоянии от 10 до 1000 метров и быстро на них реагировать. Я уже давно с этим мучаюсь. Конфиг который сейчас у моих снайперов стоит под спойлером. Буду очень благодарен за помощь. 

vision_danger_section = stalker_antisniper2_vision_danger
vision_free_section = stalker_antisniper2_vision_free

eye_fov = 110
eye_range = 1000
far_plane_factor = 1.0 ; фактор дальности тумана
fog_density_factor = 0.05 ; фактор плотности тумана

[stalker_antisniper2_vision_free]
min_view_distance = 0.01 ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance = 1 ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold = 10.0 ; значение, при достижении суммой которого объект считается видимым
always_visible_distance = 0.8
time_quant = 0.001
decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor = 2.5
luminocity_factor = 0.5 ; фактор освещения (только для Актёра)
transparency_threshold = 0.1 ; 0.25

[stalker_antisniper2_vision_danger]
min_view_distance = 0.01 ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance = 1 ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold = 10.0 ; значение, при достижении суммой которого объект считается видимым
always_visible_distance = 0.8
time_quant = 0.001
decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor = 2.5
luminocity_factor = 0.5 ; фактор освещения (только для Актёра)
transparency_threshold = 0.1 ; 0.25

 

Ссылка на комментарий

 

 

Чтение из конфига. id - секция, description - ключ который читаем.

 

Без ковыряний движка - никак. Альтернативы... поидее будут но не скоро.

ясно спасибо,а может через hex попробовать поискать?
Ссылка на комментарий

Может кто подскажет - на Кордоне в районе моста, там где Кузя стоит, нет случайно запрета на спавн собак? Я их уже и гулагом спавнил, и с помощью амк_спавна, уходят они из этих мест и всё. Тушканы живут без проблем, меняю на собак - уходят. 8699ab6022e39bcd26a3186f421af06225133a21

Вот примерно эти места, видно как собачки дружно сваливают.

Изменено пользователем Хемуль36рус

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

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