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

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


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

1 минуту назад, Romann сказал:

Ну и зачем нужны руки ЧН? Ведь достаточно оружейных паков ЗП, в ЗП вполнее нормальные руки, да и самому анимировать на ЗПшных руках приятнее.

 

Ну так что в ЧН, что в ЗП одни и те же руки и анимации.

Ссылка на комментарий
В ‎31‎.‎07‎.‎2017 в 00:31, KD87 сказал:

А xrCPU_Pipe даже в ТЧ движок не юзает, неудивительно, что все нормально работает после замены ))

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

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

Всем известный mp_ranks.ltx с его проблемой в размере файла. С позиции доступности исходников, как правильно исправить - снятие ограничения на размер файла или что-то еще? Подскажите, кто в курсе...

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

@UnLoaded , в xrgame\ui\restrictions.cpp поменяй в функции get_rank

int res = -1;

на 

int res = 0;

и закомментируй ниже строку с R_ASSERT3.

Изменено пользователем Charsi
  • Полезно 4
Ссылка на комментарий

@Charsi Спасибо.

Но все-же, для общего развития, если можно:

 - в чем вообще суть ограничения на размер этого конфига ? Или причина сбоя не в размере файла была ?

 - от правки, предложенной Вами выше, какой эффект будет - не нужно вообще добавлять новые стволы в mp_ranks.ltx, или что-то другое ? 

Ссылка на комментарий
9 часов назад, macron сказал:

Всякие фиксы для движка ТЧ 1.0006

 

  Показать


xrGame_clear.cmd - чистит консоль/лог от лишних записей.

xrRender_R1_R2_dlights_clip_change.cmd
На статичном освещении увеличиваем возможную дальность исчезновения света от динамических источников до 300 метров (r1_dlights_clip 150 -> r1_dlights_clip 300). Потом в игре для максимальной дальности ввести команду r1_dlights_clip 300. Внимание: сажает fps.

xrRender_R1_shadows_fixx.cmd
На статичном освещении исправляем исчезновение тени в присяде.
Увеличиваем дальность появления/исчезновения теней от динамических объектов. Теперь тени исчезают плавно.

xrRender_R2_no_mask.cmd
На динамическом освещении отключаем использование маски террейна.

xrRender_R2_restore_mask.cmd
На динамическом освещении включаем использование маски террейна, как по умолчанию.
 

 

 

Извиняюсь за возможно глупый вопрос, а эти правки подойдут на версию движка 1.0006 SVN_portable_r230 отсюда:

http://www.amk-team.ru/forum/topic/10538-x-ray-extensions/?page=47#comment-970716

?

 

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

@UnLoaded, размер строки в любых ini файлах не может быть больше 4 килобайт, потому что в CInifile::Load буферы для работы со строками определены как string4096.

Новые секции оружия можно не добавлять, но для них ранг будет установлен в 0.

  • Полезно 2
Ссылка на комментарий

НПС подберёт оружие с более высоким рангом, если для него есть патроны, оно имеет такую же кондицию и ef_weapon_type как и активное.

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

Уважаемые... Наверное, многие сталкивались с необходимостью изменить аи-сетку. Собственно при работе с уже существующим спавном - помогает universal_acdc -update. А что делать со скриптовым create()? Вариант - переснимать координаты - не подходит, ибо когда таких объектов 100 - это еще реально. А вот когда 9000 - это жестоко. Кто нибудь пытался облегчить решение этой проблемы со стороны движка?

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

Уважаемые, можно ли где то найти исходники vertex.exe , который идет в комплекте с universal_acdc? в ридми написано что использовались исходники xray_re, но в самом xray_re я такой утилиты не нашел.

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

Хочу вот сделать, чтоб в xml-описаниях заданий можно было указывать для тега <object_story_id> не только строковый сет из game_story_ids.ltx, но и просто числовое значение. Нашел в движке ф-цию, которая обрабатывает считаное парсером из тега значение:

ALife::_STORY_ID story_id(LPCSTR story_id)
{
    int res = (object_cast<int>(luabind::object(luabind::get_globals(ai().script_engine().lua())["story_ids"])[story_id]));
    return ALife::_STORY_ID(res);
}

Понятно, что достаточно просто проверить аргумент ф-ции "story_id" на то, что он уже готовое число. Подскажите, как ? Просто не знаю, что из движковых средств для этого имеется.

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

1) Если у Вас компилятор поддерживает c++11 (например VS2015) - можно воспользоваться функцией std::stoi. Причем данная функция гарантированно генерирует исключение при некорректной строке ввода и Вы можете перехватить это исключение и работать далее с входящей строкой как с "нечисло".

2) Если нет поддержки c++11 - используйте функцию strtol, вторым параметром в которую передается "контрольная строка", через которую можно проверить , удалось ли преобразование или нет. Вот небольшой пример

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

bool parseLong(const char *str, long *val)
{
    char *temp;
    bool rc = true;
    errno = 0;
    *val = strtol(str, &temp, 0);
    if (temp == str || *temp != '\0' || ((*val == LONG_MIN || *val == LONG_MAX) && errno == ERANGE))
        rc = false;
    return rc;
}

 

3) или же Вы можете воспользоваться банальной проверкой - вся ли входящая строка является числом.например функцией std::isdigit в цикле по символьно по story_id , либо string::find_first_not_of, либо если у Вас с++11 all_of.

 

p.s. Функция atoi чрезвычайно не рекомендуема к использованию в с++.

 

  • Спасибо 2
Ссылка на комментарий

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

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

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

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

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

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

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

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

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

Войти

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

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

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