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

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

Кто может поподробнее объяснить про алгоритм работы правки рендера, добавляющей бамп для детальных текстур. Там реально будет юзаться bump и bump#? (и требуются ли какие-то правки в textures.ltx?) Или это лишь имитация бампа? (вроде записи в буфер обесцвеченной детальной текстуры и потом в определенной пропорции подмешиванием к составляющей S.normal.z - высоте бампа? кажется, так делал в своих шейдерах, cjayho)

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

поподробнее объяснить про алгоритм работы правки рендера, добавляющей бамп для детальных текстур.

Ну, вряд ли ты хочешь именно про алгоритм узнать. Детальный бамп настоящий, не имитация. Сделан по образцу ЧН/ЗП. Пользоваться правкой так: берешь шейдеры детального бампа от ЧН/ЗП, адаптируешь под ТЧ. Ну и включаешь эффект консольной командой. Вроде все.

Готовые шейдеры можно взять из архива, который в свое время мы с Deathdoor выкладывали.

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

@KD87, о каком конкретно архиве идет речь? Можно ссылочку.

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

Ревизия 237.

https://yadi.sk/d/Q9Uzdz-fmWAwR

Только для ЗП.


Проведён масштабный рефакторинг. Более полное использование макросов. Исправлены различные ошибки в работе оружия. Существенная переделка по сравнению с прежними ревизиями.
Добавлены методы:
set_air_resistance -- задать сопротивление воздуха.
get_air_res_linear -- получить линейное сопротивление.
get_air_res_angular -- получить сопротивление вращению.
Добавлены колбеки на нажатие и отпускание клавиш.
Для объекта CWeaponRPG7, CWeaponRG6 добавлена возможность вести автоогонь.
Для CWeaponRPG7 можно задавать размер магазина более 1.
Исправил блокировку перезарядки, ранее работала только для класса CWeaponMagazinedWGrenade, теперь работает для всех классов CWeaponMagazined и наследников.
При отсоединении подствольного гранатомёта, граната разряжается и в основном режиме (в оригинале не разряжалась).
Добавлена возможность использования осветительных ракет, при not_explosive = true ракета не взрывается от контакта с геометрией и так же не взрывается от самоликвидатора, просто удаляется.
Для класса CWeaponRG6, CWeaponMagazinedWGrenade работает прицеливание в объекты.
Фикс вылета если не указали для класса CWeaponMagazined параметр fire_modes.
Фикс изменение размера магазина у CWeaponMagazinedWGrenade после апгрейда.
Исправлен метод:
void set_hud_obj_bone_visible(string, bool)
Метод bool get_hud_obj_bone_visible(string) удалён за ненадобностью.
 

(с) НаноБот 22.12.2015 г.

 

Наконец-то от рефакторил как следует, код стал более читабельный и лучше переносится на Си пляс пляс. Сам то, я, с Си вряд-ли буду связываться, мне проще работать ассемблером.

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

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

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

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

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

virtual int GetCurrentFireMode() { return m_bHasDifferentFireModes ? m_aFireModes[m_iCurFireMode] : 1; };

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

Так же можно вырезать и класс CWeaponRG6, и научить класс CWeaponMagazined стрелять гранатами, это надо что бы различное оружие (БМ16) могло стрелять осветительными ракетами и не только. Скриптовые классы оставить как есть. А освободившиеся классы переделать например в класс CWeaponPZRK.

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

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

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

Я тут прикинул, и понял что не которые классы оружия можно спокойно вырезать

Не некоторые, а все.

Ибо это не оружие, а один сплошной костыль (ибо больше полусотни багов, это ни в какие ворота).

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

 

 

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

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

звучит как некоторое преувеличение

На самом деле, их там даже больше - я ещё не смотрел в сторону перехода онлайн\оффлайн - там и половины из того что должно, не сохраняется. А между сохранениями... Возьми дробовик, заряди разными патронами, сохранись, загрузись - все патроны одного типа. Или без сохранений - возьми РГ-6, заряди, разряди и стреляй дальше. А если его ещё заклинить (сломать), так вообще получится автоматический гранатомет. А багов со стейтами сколько, а со звуками\анимациями...

 

З.Ы.

622706d67f.png

класс РПГ я даже не смотрел ещё, там наверно тоже весело.

Изменено пользователем RayTwitty
Добавлено Malandrinus,

Ты назвал три бага. На полсотни не тянет =) Ну а со схемой я полностью согласен. Более того, как выше говорил, я бы вообще создал всего один высоко конфигурируемый класс, который бы включал и бинокль с ножом как подварианты.

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

Да во обще то слишком много классов перегружает систему, по этому лишние классы лучше удалить (исходниках). А насчёт кучи ошибок конечно преувеличения, но есть ряд глюков, RayTwitty упомянул некоторые. Я ещё заметил, когда закрываешь диалог или инвентарь и нажимаешь кнопку ЛКМ одновременно, то бывает оружие начинает стрелять не прерывно, пока патроны не закончится, там есть флаг, который если установлен, то оружие начинает стрелять вне зависимости от нажатой кнопки "огонь". Лечить пока не пытался, т.к. такое бывает и с реальным оружием, шептало затвор не фиксирует.

 

класс РПГ я даже не смотрел ещё, там наверно тоже весело.

Иногда и РПГ глючит если конфиг не совсем правильно настроен.

 

Или без сохранений - возьми РГ-6, заряди, разряди и стреляй дальше.

Я это вылечил, при разрядке все ракеты удаляются, только движок выводит в лог предупреждение о ошибке, странно. Может не тем методом удаляю.

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

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

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

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

Ты назвал три бага. На полсотни не тянет =)

Тебе все 50 назвать? :D

 

Более того, как выше говорил, я бы вообще создал всего один высоко конфигурируемый класс, который бы включал и бинокль с ножом как подварианты.

О создании единого класса для всего оружия не только ты высказывался :) Один из моих знакомых, насколько я знаю уже реализовал это на ЗП.
Ссылка на комментарий
Тебе все 50 назвать? :D

Ну-у, назвался груздем... =)

 

Один из моих знакомых, насколько я знаю уже реализовал это на ЗП.

 

А кто и в каком проекте?

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

А кто и в каком проекте?

http://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1505261

SWM, оружейка.

 

Ну-у, назвался груздем... =)

Завтра соберу по коммитам и выложу. Изменено пользователем RayTwitty
Добавлено Malandrinus,

А ну так неинтересно. Они же не сообщают ничего про детали. Там даже не очевидно, пересобирают они из исходников или используют правки.

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

Не могу не согласиться по поводу классов оружия.

РГ6 и РПГ7 явно сделаны по принципу "стреляет и ладно". рг6 в руках НПС вообще приводит к зависанию его планнера и всех окружающих заодно.

  • Полезно 1
Ссылка на комментарий
я модернизировал метод GetCurrentFireMode 
virtual int GetCurrentFireMode() { return m_bHasDifferentFireModes ? m_aFireModes[m_iCurFireMode] : 1; }; 
И если в конфиге нет параметра fire_modes то оружия стреляет чисто одиночными и не отображается размер очереди, и на классе CWeaponMagazined.

 

Это меня вдохновило. Вырезал из движка CWeaponCustomPistol и CWeaponPistol. Но, как ты выразился:

 

И если в конфиге нет параметра fire_modes то оружия стреляет чисто одиночными

- не получается. Идут не одиночные, а очередь. Нужно всё же в каждый конфиг вписывать параметр fire_modes = 1, или же опять я чего-то начудил в коде...

 

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

 

 

или же опять я чего-то начудил в коде...

Ближе к истине. Там все в порядке.

 

Поддержу всех отписавшихся, сам пока стащил все в CWeaponMagazined, Malandrinus верно указал, что оружейные классы суть бритва Оккама. Дело оно не сложное, но муторное, я редактирую только когда что-то действительно нужно. Я скажу что тут не вопрос сложности, а вопрос свободного времени и желания, сделать можно все.

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

Читая тему  GUNSLINGER mod [s.T.A.L.K.E.R. CoP]   мне пришла гениальная мысля, как научить правильно стрелять двухстволку дуплетом, назначаем родительский класс CWeaponMagazined, в место CWeaponCustomPistol, короче заставляем двухстволку стрелять очередями, и устанавливаем fire_modes = 1, 2. Теперь можно на дуплет переключаться 0 и 9. Это ещё говорит о том, что промежуточный класс CWeaponCustomPistol (непосредственно его не один скриптовый класс не наследует) очень вредный, ограничивает возможности движка. Но всё же удалять все классы наверно не надо, класс добавляется лишь тогда, когда не обходим добавить новый метод, например для РПГ7, это обновления видимости кости гранаты.

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

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

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

 

 

Теперь можно на дуплет переключаться 0 и 9.
По моему, проще два раза быстро нажать "огонь", чем постоянно переключаться между режимами. Даже банальный бой с четырьмя кабанами требует неоднократной смены режима (раненый кабан - без дуплета, не раненый - дуплет). Этот режим хорош с одиночным сильным мутантом (когда требуется 5-10 выстрелов), но если мутант не один, да ещё и "микс" из них, то проще без этого переключения режимов, ИМХО. 
  • Согласен 1

 

 

 

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

Outfater, выбирай, дуплет ПКМ(уже реализован) или переключением 0 и 9. Игрок разберётся как ему удобней, два раза нажать спуск или один, главное что бы можно было переключать.

ЗЫ

И ещё, можно для дуплета отключить отдачу (preffered_fire_mode = 2), т.е. картечь от двух выстрелов летит в кучу, а если два раза быстро стрелять, то от второго выстрела картечь выше цели улетает. Так что даже не спорь.

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

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

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

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

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

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

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

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

Войти

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

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

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