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

X-Ray extensions


Malandrinus

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

А можно подробнее узнать о правках? Например об этих

0x10221D75 12 ; блокирование кривого движкового переключения гранат

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

Изменено пользователем Shadows
  • Нравится 1

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


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

 

 

После сборки xrGame.dll 1.0004 патча

 

 

Чо я не так сделал?

 

 

Версии игры, поддерживаемые на данный момент: ТЧ (патч 1.0006) xrGame+xrRender_R2

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


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

Заметил несколько багов, хотелось бы понять, у одного ли меня они возникли.

 

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

%5BIMG%5Dhttp://f15.i-fotki.info/thumb/73913f73e3282b2982e11f79098b0269b0c2a1168241521.jpg

Часть меша с шейдером самосвечения (models\selflight) не светится.

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

Могу предположить, что косяк где-то в правке восстановления солнца.

3) Ещё стал ловить некоторые непонятные баги с источниками света, например метод bone_position для объекта hanging_lamp стал почему-то возвращать просто позицию объекта, а не позицию кости.

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

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


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

По первому багу - проверил на оригинале (без правок движка), такая же фигня. Значит дело не в правках.

А вот, что касается второго и третьего бага, в оригинале всё нормально. Погода меняется, положение кости лампочки получаю корректно.

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


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

А если попробовать отключить освещение данной поверхности? Чтобы оно вообще никак не освещалась, а только самосветилась. Ибо эта "шняга" видна всегда со стороны солнца.
 

 

 

на статичных selflight-объектах с настройками

Еще можно было легко заметить подобный баг у фар машины.

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


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

@Malandrinus, проверялось на лампочке с визуалом (physics\light\new_light\light_sharnir_1), сама модель не правилась.

 

Лампочка в катакомбах Агропрома, в начале локации

local se_obj = alife():object("light_sharnir_1_0000")
local obj = level.object_by_id(se_obj.id)
if obj then
local pos1 = obj:bone_position("bone_lamp")
local pos2 = obj:bone_position("bone_omni")
log1("pos1 = "..pos1.x..", "..pos1.y..", "..pos1.z)
log1("pos2 = "..pos2.x..", "..pos2.y..", "..pos2.z)
end
Возвращает рандомную (!) позицию для обоих костей (у обоих костей одна и та же позиция о_О ).

 

 

Вообщем пока непонятно, что это за глюки.

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


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

IMHO на будущее рекомендовал бы обновить всю SVN-конструкцию/батники/тулзы/инструкции

Там трабл в том, что на свн нельзя хранить некоторые файлы, например ml.exe. Типа "копираст" получается.

 

То есть, например, существование сбойного sun_details_fix.asm

До сих пор не поправили?? Там же просто имя метки в двух местах поменять. K.D., я же месяца два назад тебе про эту шнягу говорил в аське?..

 

З.Ы. macron, ветку ogse_0693 действительно нет смысла ложить в сборку - там правки спецом для ogse.dll, а без этого бинарника игра не будет работать с этими правками.

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

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


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

Проверьте, работают ли методы db.actor:who_hit_name() и db.actor:who_hit_section_name(). У меня почему-то постоянно возвращают nil.

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


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

Обновка для ТЧ 1.0006:

1. Переделана врезка в класс CUIStatic, добавлены методы:

void SetTextComplexMode(bool) - включить или выключить режим complex mode

void AdjustWidthToText(void) - подогнать ширину окна под текст

void AdjustHeightToText(void) - подогнать высоту окна под текст

void SetVTextAlign(uint) - установить центрирование текста по вертикали (0 - вверху, 1 - посередине, 2 - внизу)

void SetTextPos(float, float) - установить положение текста (x, y)

2. В класс CUIWindow добавлены методы:

float GetCursorX(void) - получить положение курсора мыши по x

float GetCursorY(void) - получить положение курсора мыши по y

3. Исправлено название xml-атрибута adjust_width_to_text (переименовано из adjust_weigth_to_text)

4. Исправлен метод получения текущей скорости спринта ГГ: float get_sprint_factor(void)

5. Для всех объектов класса CHudItem добавлены методы чтения и установки строковых параметров в памяти:

string get_hud_shared_str(void) - получить значение

int set_hud_shared_str(string, int) - установить значение по заданному смещению

6. Для ГГ добавлен метод восстановления предыдущего значения fov: void restore_camera_fov(void)

7. Исправлен вылет при использовании (съедании) предмета из трупа или ящика

 

Также добавлены макросы для регистрации функций:

1. Для класса game_object: bool fun(string)

2, Для CUI-классов: void cui_func(int), void cui_func(uint), void cui_func(bool), void cui_func(float), void cui_func(float, float), int cui_func(void)

  • Нравится 4

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


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

@Malandrinus, вообще, я думаю стоит реорганизовать вики - разделить всё описание по разделам: SoC 1.0006 / CS 1.5.10 / CoP 1.6.02. Далее описывать новые методы таким образом - например в пространство level добавили:

void xxx(void) - описание этого метода

Или, добавлены консольные команды:

xxx[диапазон значений] - описание команды

и т.п.

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

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


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

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

Ну это, имхо, меньшее из зол. Тем более, для ЧН/ЗП там правок пересчитать по пальцам можно. Зато другим, кто например ковыряет под ЗП, не придется скроллить кучу текста и высматривать, что добавлено для их платформы, Изменено пользователем Shadows

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


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

Обновил для ТЧ 1.0006.
[soC_10006_xrGame]
1. Отключен отладочный вывод информации при: перемотке времени, хите по проектору, манипуляциями с аддонами оружия, при закрытии окна разговора, при и после создания объекта, при использовании некоторых lua-методов
2. Включены правки, убирающие сообщения "sv destroy object", "sv ownership id_parent id_entity", "sv reject. id_parent id_entity" из консоли
3. Из лога убраны сообщения "!SV:ge_destroy: [%d] not found on server"

[soC_10006_XR_3DA]
1. Из лога убраны сообщения "cl setDestroy [%d][%d]"

[soC_10006_xrCore]
1. Сообщение о недостающей текстуре теперь будет окрашено в красный цвет

  • Нравится 1

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


Ссылка на сообщение
@macron, актуально будет, пока не перенесут все ништяки из ХЕ в 7 патч. Потом же, не будет смысла сидеть на 6.

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


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

По поводу колбеков клавиатуры и мыши в проекте для ТЧ и в частности метода set_extensions_flags.

 

Благодаря сырцам провел раскопки и выяснил, что при загрузке следующего сейва (при первой загрузке все ОК), вызывается одновременно IR_OnKeyboardRelease и IR_OnKeyboardHold, в которые передается клавиша открытия\закрытия консоли. Причем на самом деле она не была нажата физически.

 

А не вылетает при первой загрузке лишь потому, что в биндере актора на net_spawn стоит вызов level.enable_input(), который блокирует дальнейшее выполнение кода и в частности колбеков.

 

Так что для лечения, надо либо перед вызовом колбека в движке поставить проверку на наличие актора, либо в биндере на net_destroy вызвать level.disable_input().

Изменено пользователем Shadows
  • Нравится 1

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


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

@Malandrinus, так про то и разговор)) Просто можно было обойтись и без дополнительных методов, вбив например проверку на g_Actor перед вызовом колбеков.

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

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


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

@Malandrinus, не, в net_destroy актора g_Actor обнуляется, так что все нормально. Тем более я уже протестировал многократно.

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


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

 

 


У всех local speed = db.actor:get_sprint_factor() вовращает 0

В последней ревизии я это фиксил.

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


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

Хоть сейчас это уже не так актуально, но всё же...

Залил новую ревизию для Xray-Extensions (ТЧ 6 патч):

1. Восстановлены консольные команды:

cam_fov [55.0, 90.0] - FOV камеры ГГ

hud_fov [0.0, 1.0] - дистанция от камеры до худа оружия

ph_timefactor [0.0, 10.0] - время просчета физики

ph_gravity [0.0, 100.0] - гравитация (изменение работает только при перезагрузке игры)

g_god [on/off] - режим бога

g_unlimitedammo [on/off] - режим бесконечных боеприпасов

2. Отключены консольные команды мода OGSE

3. Дефолтное значение чувствительности мыши в меню установлено на аналогичное патчу 1.0007

4. Значения для правки инерции худа приведены в дефолтное состояние

  • Нравится 2
  • Полезно 1

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


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

Залил ешё для ТЧ:

1. Исправлена работа статика биографии во вкладке ПДА "Ранги"

2. Из окна описания ножа убраны прогресс-бары, предназначенные для стрелкового оружия

3. Исправлена выдача инфопоршней в окне ПДА между вкладками "Задания" и "Карта" (по умолчанию отключено)

4. Добавлена выдача инфопоршней при переключении между описанием задания и картой во вкладке "Задания" (по умолчанию отключено)

5. Добавлен ряд скриптовых методов для проверки типа объекта: bool is_hanging_lamp(), bool is_knife(), bool is_binoculars(), bool is_weapon_pistol(), bool is_weapon_shotgun()

6. Для объекта CTorch добавлен метод переключения ПНВ: switch_night_vision(bool)

7. Отключены по умолчанию правки "сетка под броней в инвентаре" и "инверсия колеса мыши"

8. Включена правка по вызову скриптового колбека set_level_dest_vertex

  • Спасибо 1
  • Нравится 1
  • Полезно 1

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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