Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Редактирование движка
RayTwitty
сообщение 22.01.2016, 17:18
Сообщение #1761


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа



Редактирование собранного движка
Проект X-Ray extensions и его вики
Lua-перехватчик от alpet
xrLuaFix от RvP
xrLuaFix в редакции от Artos
xrLuaFix в редакции от svarog2741
LuaXML библиотека парсинга xml-файлов из скриптов (подключается при помощи функции require, которая есть в xrLuaFix)
NoProtect 1.0006 исполнительные файлы из Steam-версии без защиты
Документация к X-Ray (11.10.2004)
Файл заголовков от отладочного 6 патча
Cut X-Ray
Цель проекта - создание отдельных изменений движка игры с их последующей комбинацией с другими правками.
Авторы: SkyLoader, _призрак_
Для платформ: ТЧ 1.0004 и 1.0006, ЧН 1.5.10, ЗП 1.6.02
Адрес проекта на Google Code: https://code.google.com/p/cut-x-ray-project/
Страница на Moddb: http://www.moddb.com/mods/cut-x-ray-project-soc-cs-cop
Пак 1
1. Исправление вылета "can't find rank" для оружий.

2. Смерть от первого лица.
Видео: https://www.youtube.com/watch?v=c-4dNyvizxY

3. Collide
Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов.
Видео: https://www.youtube.com/watch?v=1xNn04f3djc

4. Круглый прицел.
Возвращен круглый прицел вместо перекрестья, как билдах.

5. Исправление вида от 3-го лица.
Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра.
Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить.
Пак 2
1. Luminosity progress (только ТЧ)
Возвращение шкалы освещения вместо шкалы "заметности" ГГ, как в билдах.

2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП).

3. Руки на руле в машине. (только ТЧ и ЧН)
Видео: https://www.youtube.com/watch?v=nYrnrfGkO7Y

4. Отсутствие распознавания неписей перекрестием:
При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него.

5. Bind_object:
Возможность использовать скрипты в мультиплеере.

6. Из оружия на классе бинокля можно стрелять (только ТЧ)
Пак 3
1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра).

2. Измененная анимация безоружного гг.

3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии)

4. Исправление вылета при использовании предметов из трупов неписей.
В отличии от версии Kolmogor'а, здесь отключено само меню использования.

5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi "Заканчивающиеся болты")
Скачать все паки
Правки от RayTwitty aka Shadows
Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod
Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865
Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project
NO 100 sovetov fix (COP 1.6.02) – убирает надписи "100 советов" с экрана загрузки
Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record
Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия)
Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением
Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density
Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias
No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам
Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near
Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI
Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine - теперь патроны разряжаются в инвентарь
PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png

Скачать все правки
Правки от K.D.
xrPatch v0.8 – патчер для увеличения радиуса прорисовки травы
detail radius+density fix [SOC 1.0006] – добавляет регулировку радиуса отрисовки травы через консольную команду и расширяет диапазон регулировки плотности травы до 0.02
Правки от macron
Исправленный экзешник для SoC 1.0006
Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты)
Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/At9Tw0ueSaDyS
X-Ray extensions portable
Портативная версия расширений движка "X-Ray extensions"
Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02
Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/OLYPbDXWjyEkH
Правки от Kolmogor
Правленный xrGame для SoC 1.0004
Изменения:
1. Добавлена консольная команда fov [5.0, 180.0] - изменяет глобальный FOV камеры.
2. Добавлена консольная команда k_ammo_on_belt [on\off] - включает\выключает использование патронов с пояса.
3. Артефакты работают из рюкзака, а пояс служит контейнером.

Ссылка: http://rusfolder.com/42636653
Правки от Kontro-zzz
Изменение значения hud_fov
Правки фиксированных значений параметра hud_fov - 0.37 либо 0.53, для CS 1.5.10 и для билда 3120.
Должно работать на GOG версии и no DVD.
Редактирование исходников
Скачать все исходники отсюда или с оригинальных постов SoC 1.0007rc1 SoC и CS CoP X-Ray 2
Репозитории

[SoC]
() Alpet & KD / оригинальное репо [Архивная ценность]
() xrDev [Архивная ценность]
() CleanXR [Архивная ценность]
() KRoddin [Архивная ценность][/b]
() Lost Alpha old [Архивная ценность]
() Репозиторий OGSE | Самый актуальный форк (KRoddin) | Версия от Abramcumner с небольшими исправлениями
() 1exx [Архивная ценность]
() Shkiper2012 [Архивная ценность]
() Morrey (dx10) [Архивная ценность]
() OP Engine (Winsor)
() Kondr48 [Архивная ценность]

[CS]
() RedPython [Архивная ценность]
() xrDev [Архивная ценность]
() OpenXRay [Архивная ценность]
() Charsi82 [Архивная ценность]
() Abramcumner | drksnc (MP) [Архивная ценность]
() RainbowZerg [Архивная ценность]

[CoP]
() Forser
() OpenXRay
() CoC | Demosfen | Last Day
() Abramcumner
() Im-Dex [Архивная ценность]
() xrDev [Архивная ценность]
() Tron [Архивная ценность]
() mrmnwar [Архивная ценность]
() Avo [Архивная ценность]
() vincent-t [Архивная ценность] | Старый репозиторий
() Shoкer
() Morrey CS-COP [Архивная ценность]
() Morrey [Архивная ценность]

[2.0]
() Saas
() xrOxy
Компиляторы x64: SoC CS CoP
NDA GSC
Оригинальные версии движков
Могут понадобиться для восстановления оригинальных библиотек.
SoC SoC ENG CS CoP
GOG version [1.0006, 1.5.10, 1.6.02]
Multi-patch version [1.0006, 1.5.10, 1.6.02]
Официальный мультиплеерный (невышедший) патч для SoC 1.0007rc1.
Уроки
Изменение плотности травы и создание патча через IDA Pro
Автор: _призрак_
edited by: RayTwitty aka Shadows

Для редактирования нам понадобится программа IDA Pro.

1. Запускаем IDA Pro.
2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll.
3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density.
4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры:
Код регистрации консольной команды
Код
fld ds:flt_10064400 -- нижнее ограничение равное 0.6
or dword_1007CACC, 8
sub esp, 8
fstp [esp+30h+var_2C]
mov ecx, offset unk_1007CA9C
fld ds:flt_10064380 -- верхнее ограничение равное 0.2
fstp [esp+30h+var_30]
push offset aSs; "ЪЩЩ>"
push offset aR__detail_dens; "r__detail_density"
call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float)
push offset sub_1005E080; void (__cdecl *)()
call _atexit
add esp, 4
Если вы заметили, чтобы трава стала плотней нужно уменьшить параметр, а чтобы травы стало меньше, нужно параметр увеличить
5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта:

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

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

Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать smile.gif

Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась - flt_1006452C и которая имела значение 0.0720999.
Насколько я понял, flt_1006452C - не является названием переменной, это сборка из двух показателей - (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию!
6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара - строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца.
7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное - жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните:
Код
38 43 06 10
10 06 43 38
Похоже, не правда ли? smile.gif
8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!).
9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной.
Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось.
10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) - там все элементарно.
11. Все! Изменения внесены в движок, можно тестировать smile.gif

Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз.
Спасибо и Rolan'у, с которым я очень много беседовал и тоже узнал много чего smile.gif




Сообщение отредактировал RayTwitty - 27.08.2021, 00:15
Перейти в начало страницы
 
242 страниц V  « < 87 88 89 90 91 > »   
Начать новую тему
Ответов
RayTwitty
сообщение 05.03.2016, 22:40
Сообщение #1762


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


SkyLoader, ты не фиксил деформацию оружия при настройке его позиции и ориентации через hud_adjust_mode? В LA вроде бы ничего такого я не нашел, но может быть в дальнейшем где-то правил?



--------------------
Перейти в начало страницы
 
Giperion
сообщение 06.03.2016, 22:57
Сообщение #1763


Геймер
******

Репутация:   19  
Группа: Участник
Сообщений: 105
Награды: 2
Регистрация: 12.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Поскольку чтобы делать pull request'ы в github'е нужно сделать форк проекта (бредовая система, может я хочу всего лишь один файл поменять) я буду тут периодически постить всякие находки по движку. Ну там всякие исправления, или странное использование и т.д. В принципе так даже лучше, ведь OpenXRay - не единственный проект связанный с XRay (мой проект - тому пример).

Сегодняшний экземпляр хоть и не утечка памяти, но тоже не айс.
Файл: FS.cpp
Код
void IReader::r_string(char* dest, u32 tgt_sz)
{
    char* src = (char*)data + Pos;
    u32 sz = advance_term_string();
    R_ASSERT2(sz < (tgt_sz - 1), "Dest string less than needed.");
    R_ASSERT(!IsBadReadPtr((void*)src, sz));

#ifdef _EDITOR
    CopyMemory(dest, src, sz);
#else
    strncpy_s(dest, tgt_sz, src, sz);
#endif
    dest[sz] = 0;
}


IsBadReadPtr - крайне не рекомендуются самим MS:

Цитата
Important This function is obsolete and should not be used. Despite its name, it does not guarantee that the pointer is valid or that the memory pointed to is safe to use. For more information, see Remarks on this page.


И в MSDN человек четко объяснил что лучше не стоит их даже вызывать. Поправьте у себя.

Сообщение отредактировал Giperion - 06.03.2016, 23:05
Перейти в начало страницы
 
SkyLoader
сообщение 06.03.2016, 23:48
Сообщение #1764


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RayTwitty @ 05.03.2016, 22:46) *
SkyLoader, ты не фиксил деформацию оружия при настройке его позиции и ориентации через hud_adjust_mode? В LA вроде бы ничего такого я не нашел, но может быть в дальнейшем где-то правил?


Нет. Можно взять из ЗП, там это переделано. Скорее всего и исправлено.
Перейти в начало страницы
 
RayTwitty
сообщение 15.03.2016, 03:41
Сообщение #1765


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(SkyLoader @ 01.09.2015, 02:07) *
Вот шейдеры: http://rghost.ru/7HzFkKrTX
В архиве две папки: final glows и new glows.
final glows - оригинальные глоу, которые резко обрезались геометрией, теперь обрезаются плавно.
new glows - глоу, которые рисутся поверх геометрии, создавая более реалистичный эффект. Исправлен баг, когда они рисовались поверх худа оружия.

Тест варианта "new glows" -


Все-таки ещё есть что дорабатывать - часть худа оружия все равно просвечивает, а также глоу при определенных условиях резко начинает обрезаться в стене.
Ну и конечно баг с мерцанием глоу через стены.

З.Ы. вариант "final glows" вроде бы нормально работает, правда почему-то, чем больше поверхность глоу показана, тем она прозрачнее.

Сообщение отредактировал RayTwitty - 15.03.2016, 03:46


--------------------
Перейти в начало страницы
 
SkyLoader
сообщение 15.03.2016, 07:33
Сообщение #1766


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RayTwitty @ 15.03.2016, 03:36) *
Все-таки ещё есть что дорабатывать - часть худа оружия все равно просвечивает, а также глоу при определенных условиях резко начинает обрезаться в стене.

Шейдеры сделаны были для ЗП, там оружие не так далеко расположено. Чтобы часть худа не просвечивало, достаточно увеличить:
Цитата
// Must be less than view near
#define DEPTH_EPSILON 1.1h

Резкое обрезание только если вплотную к глоу подлетать. Тут уже ничего не поделаешь. Или глоу через худ просвечивает или нет, но обрезается при приближении к камере. Как вариант, можно сделать мягкость при приближении к камере, чтобы не так заметно было и всё.
Перейти в начало страницы
 
ForserX
сообщение 28.03.2016, 00:07
Сообщение #1767


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Недонаработки по недолаунчеру: https://bitbucket.org/devboxruteam/game-launcher/overview


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
RayTwitty
сообщение 28.03.2016, 22:27
Сообщение #1768


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не знаю насколько тут знают об этой проблеме, но на АМК этому посвящена даже отдельная тема.

Проблема - бьются сейвы, при загрузке таких сейвов - безлоговый вылет. Безлоговый он кстати потому, что раньше все юзали кривые кряки, которые ничего не сохраняли в лог. В стимовском экзешнике стек таки сохранился:
Код
0023:0418C4E2 xrGame.dll
0023:041940D1 xrGame.dll
0023:041FA804 xrGame.dll
но толку мало - поскольку начальные числа адресов постоянно меняются, гадать на кофейной гуще и искать нужные места в либе как-то некомильфо.
Но есть отладочные патчи, например для 1.0007rc1, с этим движком стек уже куда приятнее:
CODE
0023:6868A612 xrGame.dll, CAI_Stalker::agent_manager(), j:\xray_sources\trunk\xray\xr_3da\xrgame\ai\stalker\ai_stalker_impl.h, 20
0023:68A284EE xrGame.dll, CHitMemoryManager::add(), j:\xray_sources\trunk\xray\xr_3da\xrgame\hit_memory_manager.cpp, 165
0023:68A28931 xrGame.dll, CHitMemoryManager::load(), j:\xray_sources\trunk\xray\xr_3da\xrgame\hit_memory_manager.cpp, 350
0023:68A2AA69 xrGame.dll, CMemoryManager::load(), j:\xray_sources\trunk\xray\xr_3da\xrgame\memory_manager.cpp, 353
0023:686C31D4 xrGame.dll, CBaseMonster::load(), j:\xray_sources\trunk\xray\xr_3da\xrgame\ai\monsters\basemonster\base_monster.h, 92
0023:6899160A xrGame.dll, CGameObject::net_Load(), j:\xray_sources\trunk\xray\xr_3da\xrgame\gameobject.cpp, 422
0023:6899229C xrGame.dll, CGameObject::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\gameobject.cpp, 314
0023:6898CC06 xrGame.dll, CPhysicsShellHolder::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\physicsshellholder.cpp, 48
0023:68996F89 xrGame.dll, CEntity::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\entity.cpp, 213
0023:68995DEF xrGame.dll, CEntityAlive::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\entity_alive.cpp, 234
0023:68A0EE7E xrGame.dll, CCustomMonster::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\custommonster.cpp, 641
0023:68A07D9E xrGame.dll, CBaseMonster::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\ai\monsters\basemonster\base_monster_startup.cpp, 169
0023:68AC25DD xrGame.dll, CZombie::net_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\ai\monsters\zombie\zombie.cpp, 131
0023:68AD8675 xrGame.dll, CLevel::g_sv_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\level_network_spawn.cpp, 108
0023:68AD89C7 xrGame.dll, CLevel::cl_Process_Spawn(), j:\xray_sources\trunk\xray\xr_3da\xrgame\level_network_spawn.cpp, 40
0023:689B68C9 xrGame.dll, CLevel::ProcessGameEvents(), j:\xray_sources\trunk\xray\xr_3da\xrgame\level.cpp, 420
0023:689B718B xrGame.dll, CLevel::OnFrame(), j:\xray_sources\trunk\xray\xr_3da\xrgame\level.cpp, 480
0023:013C205E XR_3DA.exe, CRegistrator<pureRender>::Process(), j:\xray_sources\trunk\xray\xr_3da\pure.h, 77
0023:01402E19 XR_3DA.exe, CRenderDevice::FrameMove(), j:\xray_sources\trunk\xray\xr_3da\device.cpp, 359
0023:014032F3 XR_3DA.exe, CRenderDevice::Run(), j:\xray_sources\trunk\xray\xr_3da\device.cpp, 226
0023:0142CB35 XR_3DA.exe, Startup(), j:\xray_sources\trunk\xray\xr_3da\x_ray.cpp, 268
0023:0142D127 XR_3DA.exe, WinMain_impl(), j:\xray_sources\trunk\xray\xr_3da\x_ray.cpp, 685
0023:0142D2A7 XR_3DA.exe, WinMain(), j:\xray_sources\trunk\xray\xr_3da\x_ray.cpp, 745
0023:013DB9CD XR_3DA.exe, __tmainCRTStartup(), f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c, 547
0023:761C33CA kernel32.dll, BaseThreadInitThunk()
0023:77199ED2 ntdll.dll, RtlInitializeExceptionChain()
0023:77199EA5 ntdll.dll, RtlInitializeExceptionChain()
Проверил в ida - первые три вызова соответствуют функциям в 6 патче, значит точно наш клиент.
Код
IC    CAgentManager &CAI_Stalker::agent_manager    () const
{
    return            (Level().seniority_holder().team(g_Team()).squad(g_Squad()).group(g_Group()).agent_manager());
}
валится здесь, при вызове отсюда:
Код
void CHitMemoryManager::add                    (const CHitObject &_hit_object)
...
    if (!object().g_Alive())
        return;

    CHitObject                    hit_object = _hit_object;
    hit_object.m_squad_mask.set    (m_stalker->agent_manager().member().mask(m_stalker),TRUE);
Пока на ум приходит раскрыть вызов
Код
Level().seniority_holder().team(g_Team()).squad(g_Squad()).group(g_Group()).agent_manager()
и посмотреть где конкретно проблема. Кто-нибудь работал с неписями, сквадами и т.д.?

Сообщение отредактировал RayTwitty - 28.03.2016, 22:28


--------------------
Перейти в начало страницы
 
hi_flyer
сообщение 28.03.2016, 22:34
Сообщение #1769


Мастер Игры
************

Репутация:   232  
Группа: Друзья GM
Сообщений: 1299
Награды: 4
Регистрация: 05.03.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


RayTwitty,
Было что-то похожее.
Могу посоветовать попробовать удалить все аномалии с уровня в спавне, (включая костры) и попробовать пройти заново этот уровень.


--------------------
Перейти в начало страницы
 
RayTwitty
сообщение 28.03.2016, 22:59
Сообщение #1770


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


hi_flyer, так тут же проблема с мобами, а не аномалиями.


--------------------
Перейти в начало страницы
 
hi_flyer
сообщение 28.03.2016, 23:07
Сообщение #1771


Мастер Игры
************

Репутация:   232  
Группа: Друзья GM
Сообщений: 1299
Награды: 4
Регистрация: 05.03.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


RayTwitty,
Ну мне помогло. Тоже была проблема в одном единственном месте.
Конкретно удалял аномалии класса ZS_MBALD.





--------------------
Перейти в начало страницы
 
abramcumner
сообщение 28.03.2016, 23:17
Сообщение #1772


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RayTwitty @ 28.03.2016, 22:22) *
Код
IC    CAgentManager &CAI_Stalker::agent_manager    () const
{
    return            (Level().seniority_holder().team(g_Team()).squad(g_Squad()).group(g_Group()).agent_manager());
}

А все-таки что за вылет? Access Violation или assert какой сработал?
С группами, сквадами есть вылет, что мододелы не парятся с группами/скадами в гулагах, в результате все онлайновые нпц оказываются в одной группе. А там не больше 32 человек может быть - дальше маска заканчивается. И что-то там не хорошее случается.
Собери дебажную версию и запусти под отладчиком - есть же сейв, потерпишь чуток лагов до вылета.

А может в хит-мемори просто остался удаленный НПЦ?

Цитата(hi_flyer @ 28.03.2016, 23:02) *
Ну мне помогло. Тоже была проблема в одном единственном месте.
Конкретно удалял аномалии класса ZS_MBALD.

на аномалиях обычно вылеты при неаккуратно сделанном обходе аномалий на рестрикторах. С исходниками обнаруживается на раз.
Перейти в начало страницы
 
RayTwitty
сообщение 29.03.2016, 00:29
Сообщение #1773


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 28.03.2016, 23:12) *
А все-таки что за вылет? Access Violation или assert какой сработал?

Ну я же стек привел, ассертов там никаких нет. Запускал не под студией.

Цитата(abramcumner @ 28.03.2016, 23:12) *
А может в хит-мемори просто остался удаленный НПЦ?

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

В оригинальной игре на Янтаре\Х-16 таких проблем же нет?


--------------------
Перейти в начало страницы
 
abramcumner
сообщение 29.03.2016, 00:32
Сообщение #1774


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RayTwitty @ 29.03.2016, 00:24) *
Ну я же стек привел, ассертов там никаких нет. Запускал не под студией.

А перед стеком что? Вылет-то почему произошел? Не особо важно, просто для полноты картины, так сказать.

Цитата
В оригинальной игре на Янтаре\Х-16 таких проблем же нет?

В оригинальной игре все прописано как надо.

Сообщение отредактировал abramcumner - 29.03.2016, 00:33
Перейти в начало страницы
 
RayTwitty
сообщение 29.03.2016, 00:41
Сообщение #1775


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 29.03.2016, 00:27) *
А перед стеком что?

Ничего, что бы имело отношение к делу:
Раскрывающийся текст
CODE
Клиент: Синхронизация...
* phase time: 5 ms
* phase cmem: 233925 K
* [win32]: free[3035336 K], reserved[83400 K], committed[1075504 K]
* [ D3D ]: textures[422342 K]
* [x-ray]: crt heap[233925 K], process heap[56671 K], game lua[21146 K], engine lua[182 K], render[751 K]
* [x-ray]: economy: strings[5341 K], smem[31479 K]
[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]
[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]
[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]
stack trace:

Для macron
В данном случае что бы пишется раздельно, поскольку между что и бы можно вставить слово, например:
"что имело бы отношение ..."

На всякий случай biggrin.gif


Сообщение отредактировал RayTwitty - 29.03.2016, 00:47


--------------------
Перейти в начало страницы
 
Flammable
сообщение 05.04.2016, 12:38
Сообщение #1776


Опытный Геймер
*******

Репутация:   22  
Группа: Участник
Сообщений: 169
Награды: 2
Регистрация: 19.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


У вас же система багрепортов есть, она и должна показать конечную причину вылета. Правда, я не помню, умеет ли такое тот обрубок, который использовался до BugTrap, который некоторые зачем-то рвутся вырвать из движка с корнями.


--------------------
Перейти в начало страницы
 
ForserX
сообщение 06.04.2016, 22:55
Сообщение #1777


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Тут кто-то когда-то говорил о LuaBind без Boost, ЭМНИП. Можно ссылочку на него.


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
abramcumner
сообщение 07.04.2016, 00:27
Сообщение #1778


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Forser @ 06.04.2016, 22:50) *
Тут кто-то когда-то говорил о LuaBind без Boost, ЭМНИП. Можно ссылочку на него.

https://github.com/decimad/luabind-deboostified
Перейти в начало страницы
 
ForserX
сообщение 07.04.2016, 22:39
Сообщение #1779


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 07.04.2016, 00:22) *
Цитата(Forser @ 06.04.2016, 22:50) *
Тут кто-то когда-то говорил о LuaBind без Boost, ЭМНИП. Можно ссылочку на него.

https://github.com/decimad/luabind-deboostified

Благодарю


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
Winsor
сообщение 13.04.2016, 16:16
Сообщение #1780


Геймер
******

Репутация:   4  
Группа: Участник
Сообщений: 108
Награды: 3
Регистрация: 02.02.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Уважаемые, помогите разобраться...
ТЧ 1.0007 + НС геймдата + debug конфигурация.
Умучили ошибки
[LUA] SCRIPT RUNTIME ERROR
[LUA] 0 : [C] [C](-1) :
[LUA] 1 : [C ] add_precondition
[LUA] 2 : [Lua] ...es\stalker_soch\gamedata\scripts\xr_motivator.script(574) : addCommonPrecondition
[LUA] 3 : [Lua] ...games\stalker_soch\gamedata\scripts\xrs_armor.script(2448) : add_to_binder
[LUA] 4 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_logic.script(544) : assign_storage_and_bind
[LUA] 5 : [Lua] ...games\stalker_soch\gamedata\scripts\xrs_armor.script(2461) : set_scheme
[LUA] 6 : [Lua] d:\games\stalker_soch\gamedata\scripts\xrs_ai.script(56) : enable_schemes
[LUA] 7 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_logic.script(360) : enable_generic_schemes
[LUA] 8 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_logic.script(224) : configure_schemes
[LUA] 9 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_gulag.script(867) : setup_logic
[LUA] 10 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_gulag.script(384) : object_setup_online
[LUA] 11 : [Lua] ...\games\stalker_soch\gamedata\scripts\xr_gulag.script(1212) : setup_gulag_and_logic_on_spawn
[LUA] 12 : [Lua] ...es\stalker_soch\gamedata\scripts\xr_motivator.script(134) :
[LUA] s:\xr_3da\xrgame\condition_state_inline.h(44) : "(I == m_conditions.end()) || ((*I).condition() != condition.condition())

Насколько я понял - в xr_motivator.addCommonPrecondition пытаются добавить евалуатор с condition , id которого уже было добавлено в список conditions ранее. По логике скрипта - эти эвалуаторы должны перекрывать существующие в этом списке, но в коде ни о каком перекрытии (переназначении) речь не идет. Я вообще такого функционала (замещение/перекрытие condition) не нашел в коде... Конечно, можно собрать с undef XRAY_EXCEPTIONS и undef DEBUG - ошибка пропадет, но список conditions будет расти постоянно.
Насколько критично наличие дублей в этом списке и на каком принципе вообще работают эти conditions?
Спасибо за любую информацию!

Перейти в начало страницы
 
ForserX
сообщение 12.05.2016, 17:02
Сообщение #1781


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Опять результаты баловства с IDA:
скриншоты в формате tga(и только) для 6 патча: https://yadi.sk/d/a4_tTqalrfF2s


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 

242 страниц V  « < 87 88 89 90 91 > » 
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.04.2024, 02:37