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

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

@Earth2Space, конечно... Нет:facepalm::dash2: я про него забыл:m1339:, надо будет докинуть дллки, у меня они уже есть пропатченые. Блин! Спасибо за наводку, меня пророй полезно тыкнуть носом.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

В общем, новая ревизия под номером 232.14

https://yadi.sk/d/JPPFqqqWvTiGxg

Почему 232? Оказывается изначально была 232 ревизия взята, тут я немного по путался, т.к. рабочая ревизия 230, а версированая версия именно 232, от макрона.

Скрытый текст

rev232.14
Для ТЧ
;----------------------
Рефакторинг shoc_10006_exe
Добавил возможность задавать частоту монитора консольной командой vid_refresh_rate_hz
;----------------------

Для shoc_10006_xrgame, shoc_10006_xrcore, shoc_10006_exe
адаптировал под компилятор(UASM.exe), линковщик(polink.exe),
а так же утилиты bspatch и patcher заменил на add_code.
Теперь есть возможность изменять адреса релокаций, так же добавляется секция данных.
Теперь с помощью макроса static_str$ можно добавлять строки.
Макрос ALIGN удалён, в место его, для выравнивания процедур, использовать только align_proc
Сделал некоторые правки для нормальной работы ассемблера UASM

Проведён масштабный рефакторинг.
actor_input_fix_pda.asm
console_commands_reg_macro.asm
cuiwindow_reg_macro.asm
game_object_castings.asm
mydll.asm
game_object_fix.asm
level_ns_reg_macros.asm
level_ns_fix.asm
alife_simulator_fix.asm
global_ns_fix.asm
global_ns_fix2.asm

Добавлены структуры.

Доработал турель, фонарик актора светит куда смотрит актор, когда он в турели.
Добавил некоторые макросы нужные для работы UASM
Добавлено:
Можно ли выронить оружие при смерти сталкера.
Фикс для колбека "хит по вертолёту"
оптимизация тупокода(в баллистике)
Толщина трассера индивидуальна для каждого патрона.
блокировать использования оружие НПСом
Колбек на хит, вызывается для всех объектов, требует включения скриптом. obj:set_flag_callback_key(64)--1000000b

Добавлены скриптовые методы:
Для определения разных мутантов.
is_crow()
is_bloodsucker()
is_boar()
is_flesh()
is_pseudodog()
is_burer()
is_chimera()
is_pseudogigant()
is_poltergeist()
is_zombie()
is_fracture()
is_snork()
is_controller()
is_cat()
is_tushkano()
is_dog()
Переопределить параметры оружия в технике.
reload_car_weapon(sect_carwpn, name_bone_fire)
sect_carwpn        - секция оружия в технике
name_bone_fire    - имя кости в модели
получить вектор прицеливания активного оружия, надо для разного скриптового оружия.
get_LastFP()    -- позиция огня
get_LastFP2()    -- позиция огня 2
get_LastFD()    -- направления огня
get_LastSP()    -- позиция гильз
заблокировать оружие НПС
set_weapon_npc_blocked(bool)
get_weapon_npc_blocked()
Переработан метод set_visual_name, теперь для некоторых классов работает более корректно.
Вычислить упреждающую точку.
calc_future_position(velocity_target, res_pos_target)
velocity_target        -- вектор скорости цели
res_pos_target        -- вектор позиции цели
; задать инициатор броска для физической оболочки, т.е. кто кинул камень?
set_initiator_id(id)
get_initiator_id()
В пространство имён level добавлено:
;улучшеная функция трассировки пересечения луча и геометрии.
level.set_raypick_id_pos(id_ignor, pos)                -- вернёт 0
level.test_raypick_flg_dir_dist(flags, dir, dist)    -- вернёт номер елемента
flags        - флаги поиска
pos            - стартовая точка
dir            - направление трассировки
dist        - дистанция трассировки
id_ignor    - ID игнорируемого объекта
;нормаль треугольника геометрии
level.get_static_normal_triangle(element)

Переделана работа колбека на поедание предмета, номер колбека 35.
Добавлено булева которая отключает удаления объекта при поедании: not_delete

Исправил ошибку в actor_input_fix.asm

(с) НаноБот        7.10.2018
----------------------------------------------------------------

 

Изменений много, прежде всего использован ассемблер UASM, линкер polink, и сборщик AddCode.exe, это чисто мой продукт, с новыми возможностями.

Хорошо переработан game_object_fix.asm поэтому некоторые методы могут не работать, а некоторые наоборот заработали. Метод set_visual_name работает с мутантами без проблем, главное что в моделях были одинаковые кости и анимации, с сталкерами работает неплохо, есть но проблемы, анимация начинается заново, при попадании взрывной пули был вылет, так что надо дорабатывать, с вертолётом не работает.

 

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

Вроде всё.

Изменено пользователем НаноБот
  • Спасибо 2
  • Полезно 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

@НаноБот, привет, как бы вытянуть слоты шлема, детектора? Мне слот шлема очень нужен, может подскажешь как оформить батник?:616:

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@UriZzz, Новые слоты в new_engine_slots.asm, но я ещё этот код не трогал, не знаю рабочий ли он. А нормально детектор реализовать, это надо вытягивать из ЧН и ЗП, потом может быть.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

@НаноБот, да дело не в детекторах (я в отличии от большинства начинающих, слюни по зп фичам не раняю), дело в слотах. Код вроде рабочий, по крайней мере я активировал слоты бинокля, фанарика, ножа, проблем не каких ещё не всплыло. Вот пытаюсь добраться до остальных. Активируются они с ключом -DOGSE (так по моему) но кажется я понял как их от туда вытянуть. Всё дело в ifdef OGSE_BUILD, я идиот пытался их передвигать удалять совсем не понимая что это ограда, она состоит из собственно ifdef OGSE_BUILD и endif, вместе они, как я понимаю, изалируют правку ативирующую нужные слоты. Их надо всех стереть но есть один нюанс, в коде встречаются вот такие участки:

Цитата

jz      short no_item4
else
    jz      short no_item7

Если мой мозг правильно работает то одна из этих строчек должна быть стёрта вместе с else, во время патчинга строчка выбирается патчером в зависимости от того с ключом патчится дллка или без. То есть нужно удалить ненужные строчки так что бы no_item шли по порядку и не было повторений:508:, иначе при пропатчивании естественно выскочит ошибка.

Но это всё пока в теории, так сказать шшавэлэния мозгамэ, проверить сие я смогу теперь уж только на следующих выходных.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Парни, знает ли кто метод для определения смещения строковых переменных в конфиге предмета? Пробовал искать перебором с помощью вот такой функции:

for bait = 1, 10000 do
log1(bait)
	set_int_arg0(bait)
local value  = wpn:get_wpn_shared_str()
if value  then
	if value ~= nil then
		log1("Значение = "..value.." Смещение =  "..bait) 
	end
else
	log1("нет значения")
end
end
get_console():execute("flush")

Но функция не отрабатывается и цикл прерывается. А вручную проверять каждый байт - это лет на пять работы. Может быть я функцию не верно составил?

Или может кто уже знает точные значения? По большому счету меня интересуют значения visual, inv_name, hit_type и hit_type_2 в конфиге ножа.

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

@НаноБот, тестировал твою 14ю сборку, правка на полноэкранные загрузочные заставки приводит к вечному чёрному экрану вместо загрузки игры, печально. Активировать ogse слоты получилось, вроде бы, буду тэстить дальше.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@Marafon6540, если судить по названию, get_wpn_shared_str() должен возвращать что-то из класса оружия, вероятно из CWeapon. Я сомневаюсь, что visual и inv_name имеются в классе оружия. Второе, скорее всего, принадлежит инвентарному предмету, т.е. его в другом классе искать нужно. По поводу hit_type я сомневаюсь, что он хранится в классе в виде строки. Скорее всего, сейчас не могу посмотреть, он преобразуется в число, при чтении из конфига. 

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

@dsh, на счет того к какому классу что относится я как-то не задумывался (темнейший лес это для меня). Почти сотню раз загрузившись и меняя вручную параметр bite  в вышеприведенной функции в диапазоне 900-1000 я смог увидеть смещение для строк flame_particles и smoke_particles для wpn_ak74 -

weapons\generic_weapon05
weapons\generic_shoot_00   

Вот и подумалось, что и для остальных можно также определить и другие строки для нужного мне ножа.

Буду благодарен за любую информацию по данному вопросу.

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

@НаноБот, привет, на твоей 15ой ревизии при попытке пропатчить xr_3da и xrcore высвечивается вот это: https://yadi.sk/i/J2NJ6jVWitk1ww , рендеры и xrgame нормально пропатчились.

  • Согласен 1

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

А, я это, переименовал утилиту, add_code на AddCode и забыл подправить некоторые батники. Можно самому открыть блокнотом батник и заменить строчку add_code.exe на AddCode.exe. Мелкий баг, в следующей ревизии исправим.

  • Спасибо 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

@НаноБот, Если я знаю название и нахождение ф-ции (Класс и метод) в исходниках, Вы можете в этом проекте экспортировать эту ф-цию?

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

@НаноБот, поправил - всё работает вот только правка exeшника на растяжку загрузочных заставок на весь экран не работает, при новой игре в место загрузки бесконечный чёрный экран, проклятье!!!:gamer3: мне очень нужна эта правка:mebiro_01:

Придется пока вернуться на 13ую сборку:cray5:

Изменено пользователем UriZzz
  • Согласен 1

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@НаноБот, Подскажите плиз, загрузил последнюю ревизию 15ую.

Нет ли ошибки записи в строке 39 для shoc_10006_xrgame\corrections_list.txt

101562D5h 8 ; убираем лишние действия при выключении уже выключенной инфопорции

Или можно смело пользоваться? Сам пока не делал попытки поюзать.

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

Коллеги, подскажите пожалуйста есть ли способ для ТЧ увеличить хранилище актора - pstor, стандартных 8кб хранилища - явно мало для модов

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

Marafon6540 , благодарю, это полезная вещь, хотя в данном случае я искал в первую очередь движковое изменение, знаю что таковое было реализовано в Prosectors Project, я надеялся что-то подобное есть и в Xray-extensions

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

@gam, парсер утилиты AddCode понимает три формата 16-ных чисел, ассемблер, С, паскаль, соответственно: 0FFFFh, 0xFFFF, $FFFF. Так что это не ошибка.

Ещё хотел сделать правку XR_3DA.exe патча 1.0004, но жёсткий облом, утилита AddCode отказалась работать с этим файлом из-за не стандартных секций, точно так же не работает и утилита маландринуса, так что для 1.0004 правок файла XR_3DA.exe НЕ БУДЕТ.:huh:

  • Сочувствую 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

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

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

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

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

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

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

Войти

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

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

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