IPB

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

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

>

Редактирование движка

 
 RayTwitty
сообщение 22.01.2016, 17:18
Сообщение #2641


Доктор Игровых Наук
*******************

Группа: Участник
Сообщений: 3670
Регистрация: 24.09.2010
Пользователь №: 14086




Редактирование собранного движка
Проект 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. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта:

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

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

Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать (IMG:style_emoticons/default/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
Похоже, не правда ли? (IMG:style_emoticons/default/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. Все! Изменения внесены в движок, можно тестировать (IMG:style_emoticons/default/smile.gif)

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




Сообщение отредактировал RayTwitty - 21.03.2019, 17:16
Перейти в начало страницы
 
 
 
Ответов
 ForserX
сообщение 21.08.2017, 16:30
Сообщение #2642


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



Так, обсуждение репозиториев в прошлый раз закончилось таким результатом:
Цитата
[SoC]
() Alpet & KD [Архивная ценность]
() xrDev [Архивная ценность]
() CleanXR [Архивная ценность]
() KRoddin
() Lost Alpha old [Архивная ценность]

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

[CoP]
() Im-Dex
() Forser
() OpenXRay
() xrDev [Архивная ценность]
() CoC
() Tron [Архивная ценность]
() Abramcumner
() mrmnwar
() Avo [Архивная ценность]
() vincent-t Старый репозиторий

[2.0]
() Saas

Есть у кого что добавить?

Сообщение отредактировал Forser - 21.08.2017, 16:40
Перейти в начало страницы
 
 
 Карлан
сообщение 22.08.2017, 13:34
Сообщение #2643


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

Группа: Участник
Сообщений: 102
Регистрация: 21.09.2014
Пользователь №: 21045



Цитата(Zagolski @ 06.08.2017, 17:57) *
Но чтоб тормоза убрать все переделывать не нужно. Начать советую с ui_base.cpp, UIStaticItem.cpp и UICustomItem.cpp, и главное - переписать под базу класс CUIStatic. После этого все полетит.

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

Цитата(Forser @ 21.08.2017, 17:30) *
Есть у кого что добавить?

на тч точно побольше живых репозиториев, чем вот один, можно на гитхабе поискать.
Перейти в начало страницы
 
 
 ForserX
сообщение 22.08.2017, 17:05
Сообщение #2644


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



Цитата(Карлан @ 22.08.2017, 13:34) *
на тч точно побольше живых репозиториев, чем вот один, можно на гитхабе поискать.

Всё, что нашёл.
Перейти в начало страницы
 
 
 Shoкer
сообщение 25.08.2017, 00:32
Сообщение #2645


Кандидат Игровых Наук
******************

Группа: Участник
Сообщений: 3441
Регистрация: 27.07.2009
Пользователь №: 11447



Цитата(Winsor @ 03.05.2017, 12:23) *
Уважаемые знающие, столкнулся с багом (который говорят присутствовал еще с оригинала ТЧ) - при одевании на ствол глушителя и прицела - иногда текстура либо глушителя либо прицела может не вырисовываться на худе. при этом флаги аддонов выставляются правильно. лечится повторно снятием/одеванием, например, прицела. Сталкивался ли кто либо с таким багом и как боролись?


Если это ещё актуально, то проблема вроде как возникает когда к одной кости модели привязана геометрия с разными текстурами (несколько материалов на одну кость).

В таком случае начинает тупить в движке проверка на видимость кости (LL_GetBoneVisible() в ЗП) - она возвращает неверные результаты, из-за чего кость не скрывается при одевании аддона.

Не знаю где именно это правится в ТЧ, но в ЗП это можно (кажется) поправить в функции player_hud.cpp - void attachable_hud_item::set_bone_visible()

Надо убрать проверку видимости кости if(bVisibleNow!=bVisibility) и тогда всё вроде-бы работает.

Перейти в начало страницы
 
 
 TIGER_VLAD
сообщение 25.08.2017, 01:11
Сообщение #2646


Опытный Игрок
****

Группа: Участник
Сообщений: 54
Регистрация: 26.07.2015
Пользователь №: 22186



Цитата(Shoкer @ 25.08.2017, 00:32) *
проблема вроде как возникает когда к одной кости модели привязана геометрия с разными текстурами (несколько материалов на одну кость).

Да все верно. Если например прицел состоит из двух текстур, то при одевании аддона, текстуры будут загружаться поочередно. Сейчас как раз переношу револьвер из Метро на ТЧ - такая же ситуация. Прицел состоит из трех групп, каждая группа использует свою текстуру. Можно просто склеить все текстуры в одну и поправить развертку и все хорошо работает.

Сообщение отредактировал TIGER_VLAD - 25.08.2017, 01:15
Перейти в начало страницы
 
 
 Shoкer
сообщение 25.08.2017, 01:16
Сообщение #2647


Кандидат Игровых Наук
******************

Группа: Участник
Сообщений: 3441
Регистрация: 27.07.2009
Пользователь №: 11447



Цитата(Zagolski @ 21.07.2017, 12:24) *
Вопросом этим занялся капитально, но не хватает знаний в этой области. Например, по какому принципу реализован подобный прицел у Sin! и Shoker. У кого-то есть какие идеи на этот счет?


Sin! уже всё расписал.

Всё что непосредственно по "двойному рендеру" - https://github.com/ShokerStlk/xray-16-SWM/c...83b6891f53cb2d7 (у меня чудесный английски)

+ Нужны правки Sin!-а по воронам, иначе будут глюки с их телепортацией - https://github.com/ShokerStlk/xray-16-SWM/c...d093e8c297414d7

И черновые шейдеры (для примера) здесь - https://www.dropbox.com/s/31onsxhx6a57xzo/3...haders.rar?dl=0
Шейдеры для своей работы используют новые переменные, экспортированные из движка, но они нужны только чтобы делать "красивые" прицелы с плавными переходами и прочим.

Цитата(Xottab_DUTY @ 18.08.2017, 17:40) *
K.D., при обновлении LuaBind скорее всего столкнёшься с проблемой, с которой столкнулся OpenXRay. Вкратце, если раньше, на старом 0.7, не синтаксические ошибки в скриптах приводили к тому, что отваливался сам кривой скрипт, то у нас из-за скрипт начал валить весь движок... ...Исправить проблему можно исправив скрипты, но совместимости с оригинальным ЗП не будет. Для совместимости надо копать луабинд...


По моему я там ещё тогда все проблемные места поправил и залил. Там, разве что, возможно парочка функций из движка криво экспортируется, но по логу вылета это легко понять и исправить. С оригинальными скриптами новый Luabind работает, просто он по умолчанию не умеет неявно приводить строки к числам (или наоборот) из-за чего некоторые родные скрипты вылетали. Это тоже правил - https://github.com/OpenXRay/luabind-deboost...4cd2e7578b08510
Перейти в начало страницы
 
 
 AndreySol
сообщение 25.08.2017, 15:24
Сообщение #2648


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

Группа: Участник
Сообщений: 141
Регистрация: 16.02.2014
Пользователь №: 19339



В классе CInventory в ф-ции Slot поставил вывод сообщений в лог:
Код
bool CInventory::Slot(PIItem pIItem, bool bNotActivate)
{
    VERIFY(pIItem);
Msg("CInventory::Slot: before if(!CanPutInSlot(pIItem)) %s - %s[%d]", this->m_pOwner->Name(), *pIItem->object().cName(), pIItem->object().ID());

    if(!CanPutInSlot(pIItem))
    {
        if(m_slots[pIItem->GetSlot()].m_pIItem == pIItem && !bNotActivate )
            Activate(pIItem->GetSlot());

        return false;
    }
Msg("CInventory::Slot: after if(!CanPutInSlot(pIItem)) %s - %s[%d]", this->m_pOwner->Name(), *pIItem->object().cName(), pIItem->object().ID());
..........
При перемещении в слот к примеру броника, в логе следующее:
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
CInventory::Slot: after if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
т.е. получается что ф-ция вызывается 2 раза для перемещаемого предмета. Зачем ? Кто нибудь пытался разобраться почему происходит два вызова ф-ции ?

Сообщение отредактировал AndreySol - 25.08.2017, 15:25
Перейти в начало страницы
 
 
 ForserX
сообщение 25.08.2017, 16:49
Сообщение #2649


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



Цитата(AndreySol @ 25.08.2017, 15:24) *
При перемещении в слот к примеру броника, в логе следующее:
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
CInventory::Slot: after if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Меченый - scientific_outfit1162[1162]
т.е. получается что ф-ция вызывается 2 раза для перемещаемого предмета. Зачем ? Кто нибудь пытался разобраться почему происходит два вызова ф-ции ?

Прогони через дебаггер да посмотри.
Перейти в начало страницы
 
 
 RayTwitty
сообщение 25.08.2017, 17:39
Сообщение #2650


Доктор Игровых Наук
*******************

Группа: Участник
Сообщений: 3670
Регистрация: 24.09.2010
Пользователь №: 14086



Цитата(AndreySol @ 25.08.2017, 15:24) *
т.е. получается что ф-ция вызывается 2 раза для перемещаемого предмета

Стрелок, лучше б не лез ты туда (с) (IMG:style_emoticons/default/z_lol1.gif)

Там такая задница с этими событиями, я когда разбирал - около недели потратил. Особенно весело с аттачментами.
Перейти в начало страницы
 
 
 aka_sektor
сообщение 25.08.2017, 17:52
Сообщение #2651


Заслуженный Мастер Игры
*************

Группа: Участник
Сообщений: 1563
Регистрация: 04.04.2013
Из: Беларусь
Пользователь №: 16432



Цитата(RayTwitty @ 25.08.2017, 17:39) *
Стрелок, лучше б не лез ты туда (с)

https://coub.com/view/ut1df
Перейти в начало страницы
 
 
 ForserX
сообщение 25.08.2017, 17:59
Сообщение #2652


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



Цитата(RayTwitty @ 25.08.2017, 17:39) *
Там такая задница с этими событиями

Угу. Но вообще, пускай он глянет. Оно ему ещё пригодится.
Перейти в начало страницы
 
 
 AndreySol
сообщение 25.08.2017, 17:59
Сообщение #2653


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

Группа: Участник
Сообщений: 141
Регистрация: 16.02.2014
Пользователь №: 19339



Цитата(RayTwitty @ 25.08.2017, 18:39) *
Особенно весело с аттачментами.

Это про то, что под спойлером ?
кусочек лога
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]
CInventory::Slot: before if(!CanPutInSlot(pIItem)) Волк - wpn_ak74u0177[177]


Цитата
я когда разбирал - около недели потратил

Ну а результат ? Переделали в более вменяемое, или оставили как было ?

Сообщение отредактировал AndreySol - 25.08.2017, 18:02
Перейти в начало страницы
 
 
 mortan
сообщение 25.08.2017, 20:08
Сообщение #2654


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

Группа: Участник
Сообщений: 130
Регистрация: 28.06.2016
Из: Воронеж
Пользователь №: 24726



AndreySol, начнёшь переделывать - сломаешь ещё что-нибудь, и так по кругу пока весь двиг не перелопатишь)
Перейти в начало страницы
 
 
 ForserX
сообщение 25.08.2017, 20:44
Сообщение #2655


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



mortan, да правда? (IMG:style_emoticons/default/biggrin.gif)
Перейти в начало страницы
 
 
 RayTwitty
сообщение 25.08.2017, 23:26
Сообщение #2656


Доктор Игровых Наук
*******************

Группа: Участник
Сообщений: 3670
Регистрация: 24.09.2010
Пользователь №: 14086



Цитата(AndreySol @ 25.08.2017, 17:59) *
Ну а результат ? Переделали в более вменяемое, или оставили как было ?

Архитектуру не менял - в рамках внедрения другой фичи, поправил косяки существующей архитектуры и все.
Перейти в начало страницы
 
 
 1_A
сообщение 26.08.2017, 12:49
Сообщение #2657


Продвинутый геймер
********

Группа: Участник
Сообщений: 323
Регистрация: 13.12.2011
Пользователь №: 14571



Собрал x64 движек, оно работает.

(IMG:https://images.gameru.net/image/direct/3c3dcc60c6.jpg)

Сообщение отредактировал virus_ua - 26.08.2017, 12:49
Перейти в начало страницы
 
 
 ForserX
сообщение 26.08.2017, 14:25
Сообщение #2658


Продвинутый геймер
********

Группа: Модератор
Сообщений: 437
Регистрация: 19.07.2015
Из: Москва
Пользователь №: 22151



virus_ua, наивный.
Перейти в начало страницы
 
 
 1_A
сообщение 26.08.2017, 14:41
Сообщение #2659


Продвинутый геймер
********

Группа: Участник
Сообщений: 323
Регистрация: 13.12.2011
Пользователь №: 14571



Forser, теперь вылетов еще больше (IMG:style_emoticons/default/biggrin.gif)
А вообще запускается и то хорошо.

Сообщение отредактировал virus_ua - 26.08.2017, 14:41
Перейти в начало страницы
 
 
 Xottab_DUTY
сообщение 26.08.2017, 15:53
Сообщение #2660


Продвинутый геймер
********

Группа: Участник
Сообщений: 224
Регистрация: 09.03.2013
Пользователь №: 16090



Цитата(Shoкer @ 25.08.2017, 03:16) *
Цитата(Xottab_DUTY @ 18.08.2017, 17:40) *
K.D., при обновлении LuaBind скорее всего столкнёшься с проблемой, с которой столкнулся OpenXRay. Вкратце, если раньше, на старом 0.7, не синтаксические ошибки в скриптах приводили к тому, что отваливался сам кривой скрипт, то у нас из-за скрипт начал валить весь движок... ...Исправить проблему можно исправив скрипты, но совместимости с оригинальным ЗП не будет. Для совместимости надо копать луабинд...

По моему я там ещё тогда все проблемные места поправил и залил. Там, разве что, возможно парочка функций из движка криво экспортируется, но по логу вылета это легко понять и исправить. С оригинальными скриптами новый Luabind работает, просто он по умолчанию не умеет неявно приводить строки к числам (или наоборот) из-за чего некоторые родные скрипты вылетали. Это тоже правил - https://github.com/OpenXRay/luabind-deboost...4cd2e7578b08510

Хм.. Ну, надо будет тогда ещё раз проверить, когда студия обновится или когда я её откачу до предыдущего обновления. На новом обновлении xrAICore не собирается..
Я просто луабинд тестировал на одном единственном скрипте, который даже править-то, не пытался (IMG:style_emoticons/default/biggrin.gif) Это ui_sleep_dialog, может быть в нём проблема, и надо всё-таки попробовать поправить его.
Спойлер
Луабинду не нравилась 38-я строка: self.sleep_mb:self:SetAutoDelete(true)
Она у нас появилась после исправлений Revo Lucas. Возможно, что правки для CoC, у которого старый луабинд, немножечко не подошли для нового луабинда.


Сообщение отредактировал Xottab_DUTY - 26.08.2017, 15:56
Перейти в начало страницы
 
 
 abramcumner
сообщение 26.08.2017, 16:01
Сообщение #2661


Доктор Игровых Наук
*******************

Группа: Участник
Сообщений: 3876
Регистрация: 27.04.2011
Из: Россия
Пользователь №: 14366



Цитата(Xottab_DUTY @ 26.08.2017, 15:53) *
self.sleep_mb:self:SetAutoDelete(true)

Это явная ошибка. self: в середине не нужен. Скопипастили лишнего.

Сообщение отредактировал abramcumner - 26.08.2017, 16:04
Перейти в начало страницы
 
 
 
 

 
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 

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