KD87 718 Опубликовано 31 Марта 2011 _Призрак_, снимаю шляпу, как говорится, однако, выглядят блудмарки хуже некуда. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 5 Апреля 2011 _Призрак_, вряд ли это можно обойти малой кровью. Проверку перед вылетом и я могу заткнуть, да вот только все равно же потом вылезет. Проверка с вылетом стоят не просто так. Сейчас хотя бы примерно понятно, в чем дело, а после удаления проверки пойдут вовсе рандомные вылеты. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 7 Апреля 2011 serega-gamer, это не по графике вылет. К нему приводит большая дальность видимости на равнинных локациях (болота - канонический пример). Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 7 Апреля 2011 (изменено) macron, а где брал локи, портированные из ЗП? Спрашиваю, потому что вылет происходит в движке, в методе VertexStream::Lock, очевидно, связанным с вертексами . Возникает вылет из-за переполнения некоего буфера (mSize) Если ты брал портированные локи в мап-паке для ТЧ, то там в процессе портирования было сурово урезано количество вертексов на локациях (раз так в 6). Может, как раз поэтому нет переполнения и вылетов не наблюдается. Добавлено через 1 мин.: Gektor, А что за возможности звукового движка такие? И в ТЧ можно настроить звук, с помощью sound_env, например. Изменено 7 Апреля 2011 пользователем KD87 Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 8 Апреля 2011 Gektor, sound_occlusion для материала - это параметр отражения звука, а не глушения. Соответственно, для глушения звука надо ставить зоны sound_env в LE. Флаг воллмарков надо ставить в материале (Shader Editor -> Material). Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 13 Апреля 2011 SibireaStalker, To enable motion blur in STALKER, you first need to add the -mblur switch to your STALKER launch icon. Это еще со времен ТЧ известно. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 14 Апреля 2011 SibireaStalker, да можно и батник, если с ним удобно. А вообще Cyclone правильно написал, добавь -mblur в свойствах ярлыка. Еще нюанс - это только включение возможности включения блюра, так сказать) Сам блюр потом еще надо настраивать в консоли вот такой командой: r2_mblur. Принимает значения от 0 (выкл) до 1 (на максимум). Экспериментируй. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 19 Апреля 2011 SibireaStalker, user.ltx удали. По логу видно же, что не может оттуда что-то прочитать. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 19 Апреля 2011 Erwin Rommel, 001B:0040B289 xrEngine.exe, CCC_LoadCFG_custom::operator=() Это говорит о том, что еще не применил Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 28 Апреля 2011 SibireaStalker, таких шейдеров нет, потому что это не шейдеры . Если по-русски, то в логе написано: "неправильный синтаксис параметра r2_aa_break. Правильный синтаксис: три флоат-значения в интервале [0.000000e+000,0.000000e+000,0.000000e+000]-[1.000000e+000,1.000000e+000,1.000000e+000]". Блокнот в руки - редактируй user.ltx, переделывай проблемные параметры. Или удаляй вовсе. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 19 Мая 2011 -StalkMen-, pdb - отладочная информация для бинарников. Если не ковыряешься с декомпиляцией - выкинь из головы. Это не имеет отношения к ресурсам игры. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 29 Июля 2011 SkyLoader, _Призрак_, в CScriptBinder::set_object() есть проверка на сингловый тип игры. Надо не на нуль там заменять, а убрать проверку. На билде 2947 выглядит вот так: .text:1006F91F call ?IsGameTypeSingle@@YA_NXZ; IsGameTypeSingle(void) .text:1006F924 test al, al .text:1006F926 jz short loc_1006F92F Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 29 Июля 2011 SkyLoader, билд 2947 - это фактически билд финалки. Для какого патча ты пытаешься что-то поменять? Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 29 Июля 2011 (изменено) SkyLoader, скажи, а зачем пытаться перенести найденное в билдах 18xx в финалку? тебе недостаточно билдов 29xx с _отладочной информацией_? Как бы то ни было, я нашел нужную тебе функцию в dll от четвертого патча: .text:1012B4B0 sub_1012B4B0 proc near ; DATA XREF: sub_10134FE0+F2Bo .text:1012B4B0 .text:1012B4B0 arg_0 = dword ptr 4 .text:1012B4B0 .text:1012B4B0 push esi .text:1012B4B1 mov esi, ecx .text:1012B4B3 push edi .text:1012B4B4 mov edi, [esi+4] .text:1012B4B7 test edi, edi .text:1012B4B9 jz short loc_1012B4C0 .text:1012B4BB call sub_101CA330 .text:1012B4C0 .text:1012B4C0 loc_1012B4C0: ; CODE XREF: sub_1012B4B0+9j .text:1012B4C0 mov eax, ds:?g_pGamePersistent@@3PAVIGame_Persistent@@A; IGame_Persistent * g_pGamePersistent .text:1012B4C5 mov ecx, [eax] .text:1012B4C7 mov eax, [ecx+424h] .text:1012B4CD cmp eax, 1 .text:1012B4D0 mov esi, [esi+4] .text:1012B4D3 jz short loc_1012B4D9 .text:1012B4D5 test eax, eax .text:1012B4D7 jnz short loc_1012B4E3 .text:1012B4D9 .text:1012B4D9 loc_1012B4D9: ; CODE XREF: sub_1012B4B0+23j .text:1012B4D9 mov edx, [esp+8+arg_0] .text:1012B4DD mov [esi+114h], edx .text:1012B4E3 .text:1012B4E3 loc_1012B4E3: ; CODE XREF: sub_1012B4B0+27j .text:1012B4E3 pop edi .text:1012B4E4 pop esi .text:1012B4E5 retn 4 .text:1012B4E5 sub_1012B4B0 endp На всякий случай - то же самое в псевдокоде: int __thiscall sub_1012B4B0(int this, int a2) { int v2; // esi@1 int result; // eax@3 int v4; // esi@3 v2 = this; if ( *(_DWORD *)(this + 4) ) sub_101CA330(); result = *((_DWORD *)g_pGamePersistent + 265); v4 = *(_DWORD *)(v2 + 4); if ( result == 1 || !result ) *(_DWORD *)(v4 + 276) = a2; return result; } Чуешь, что надо менять? проверка на тип игры тут: .text:1012B4CD cmp eax, 1 Для общей информации приведу перечисление для game_id: enum s_gameid { GAME_ANY => 0; GAME_SINGLE => 0x01; GAME_DEATHMATCH => 0x02; GAME_CTF => 0x03; GAME_ASSAULT => 0x04; GAME_CS => 0x05; GAME_TEAMDEATHMATCH => 0x06; GAME_ARTEFACTHUNT => 0x07; GAME_LASTSTANDING => 0x64; GAME_DUMMY => 0xFF; } Изменено 29 Июля 2011 пользователем KD87 Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 30 Июля 2011 SkyLoader, а чего там искать? имена всех экспортированных функций есть в функциях script_register_... Выполняешь поиск по нужному имени, дальше дело техники. Если отладочной информации нет и нужное имя не находится, можно взять ближайший билд с оной и с умом сравнивать - обычно удается найти то, что нужно (в этом случае так и сделал). Это в данном конкретном случае. В общем случае, конечно, сложнее - когда я составлял список версий спавна по билдам, искал вообще по битовым маскам, применяемым в CAE_Abstract::Spawn_read(). В общем, свой подход каждый раз. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 30 Июля 2011 malandrinus, мне, например, нужны были форматы спавна для universal_acdc. Больше незачем Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 31 Июля 2011 (изменено) _Призрак_, ну не только я так выражаюсь. pdb - контейнер для отладочной информации, разработанный Microsoft. А отладочная информация - это не столько имена функций, сколько их прототипы, указания типов и прочая радость. Конкретный набор данных определяется ключами при компиляции приложения (вроде как). В билдах 29xx отладочных данных настолько богато, что можно восстановить прототипы функций, структуры, перечисления, пользовательские типы, шаблоны. Местами даже имена переменных есть. Думаю, удастся восстановить даже классы - если попотеть. SkyLoader, нет. А почему должно быть? CSE_Abstract::Spawn_read() - начальная часть чтения секции из all.spawn. По прочитанному s_name_replace определяется серверный класс объекта, и дальше запускается соответствующий метод STATE_Read. Кстати, правильно CSE_Abstract::Spawn_read(), это я опечатался. Изменено 31 Июля 2011 пользователем KD87 Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 30 Октября 2011 702, через скрипты - однозначно нет. Можно попробовать поковырять скриптовые шейдеры (gamedata/shaders/). Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 18 Ноября 2011 dark_stalker, это в общем-то консольный параметр r__wallmark_ttl, он есть даже в ТЧ. Определяет, как долго остаются воллмарки, кажется. А зачем ковырять движок ради размера травы? Его можно изменить и в build.details. Xiani как-то даже делал парсер для этого. Поделиться этим сообщением Ссылка на сообщение
KD87 718 Опубликовано 19 Ноября 2011 dark_stalker, естественно. Запусти игру, подойди к дереву и ударь по нему ножом. Увидишь свои воллмарки. Поделиться этим сообщением Ссылка на сообщение