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

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


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

@SkyLoader, я пишу в эту тему, если бы меня интересовал скрипт, то я бы писал в другую. Тут дело не в объявлении в регистраторе, а в том что C_NIVA, каким то образом связана с движком напрямую.

 

Попытаюсь, объяснить по-подробнее:

 

Берём чистую ЗП, там нет C_NIVA в gamedata. Спавним авто с этим классом, без регистрации в скриптах. Вуаля машина готова к применению для ГГ. Стоит изменить класс на, например С_ZAPOR и фиг вам. Вылет. Значит С_NIVA, как и SCRPTCAR распознаётся движком. А как это работает и где эти классы в движке объявлены, вот что меня интересует.

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

andreyholkin.gif

rod_cccp.gif

 

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

Привет двигоправам.

Подскажите, как считается цена предмета при торговле?

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Дефицит - это, я так понял, те коэффициенты, что в ини-файле торговли прописываются, но по какому принципу берутся значения - не могу понять...

Как минимум в 1.0007 TЧ дефицит не считается никак...вернее - он всегда равен 1. при этом с конфигов он может вычитываться. Насколько я понял - была идея реализовать некую динамику в ценообразовании в  торговле. закончилось статическим списком "секция=коэф.дифицита". следующее урезание - и как результат - в торговле - он всегда 1.

 

все формулы в trade2.cpp. 

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

@Winsor, но ведь в файле написано вот такое:

#ifdef 0
  // тут берется дефицит из класса непися CInventoryOwner
#else
  // тут коэффициент равен 1
#endif
Это в четвертом патче. Коэффициент будет 1?

В общем-то, даже с рассчетом дефицита из CInventoryOwner я разобрался. Застрял на другом.

 

С purchase_list не очент понятно... Я так понял, туда заносятся цифры из инишки торговли - коэффициенты покупки/продажи в зависимости от отношения персонажа к ГГ. И они, по идее, должны еще умножаться на числа из секции [trade] в system.ltx. Но где это происходит, я так и не нашел... Либо не там искал.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Некто переделывал торговлю, и следовало бы сначала спросить его, и у него зеленым по белому написано:

// computing deficit_factor

// Karlan: в оригинале дефициты вообще никак не используются, функция так или иначе вернет единицу

Дефициты попросту не доделаны, идею разрабов понять и доделать можно, если хотите. Цена предмета считается из всех остальных факторов, они внезапно работают. Как-бы ответ в стиле хожено-перехожено, но тут действительно так оно и есть :). А покупочный лист тут совсем все просто, мап заполняется из конфига, коэффициенты из systems берутся в другом месте уже. С торговлей два человека вроде плотно копались, возможно стоит спросить их, я тут не сильно компетнтен.

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

Всем доброго времени суток. Пропатчил xrGame.dll при помощи SVN_portable_r232, вот corrections_list. Периодически выкидывает, ругаясь на недостаток памяти, подскажите как исправить данную ситуацию. Может в corrections_list, что-то убрать или добавить? 

* Detected CPU: GenuineIntel P3 family, F6/M12/S3, 2394.00 mhz, 25-clk 'rdtsc'

* CPU Features: RDTSC, MMX, SSE, SSE2
 
Initializing File System...
using fs-ltx fsgame.ltx
--found external arch mp_military_2.xdb0
FS: 32368 files cached, 5008Kb memory used.
Init FileSystem 0.818650 sec
'xrCore' build 3312, Feb 27 2008
 
Initializing Engine...
Executing config-script "user.ltx"...
[e:\s.t.a.l.k.e.r. Тень Чернобыля\saves\user.ltx] successfully loaded.
Starting INPUT device...
Loading DLL: xrRender_R1.dll
Loading DLL: xrGame.dll
! Unable to find Software\GSC Game World\STALKER-SHOC\ in registry
* [win32]: free[4066404 K], reserved[38992 K], committed[88844 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[7357 K], process heap[670 K], game lua[0 K], engine lua[0 K], render[0 K]
* [x-ray]: economy: strings[2079 K], smem[0 K]
Executing config-script "e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx"...
! cant convert dik_name for dik[144], prop=[
[e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
Executing config-script "e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\rspec_default.ltx"...
! Unknown command:  r__wallmark_ttl
! Unknown command:  rs_skeleton_update
[e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\rspec_default.ltx] successfully loaded.
Executing config-script "e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx"...
[e:\s.t.a.l.k.e.r. Тень Чернобыля\gamedata\config\default_controls.ltx] successfully loaded.
[e:\s.t.a.l.k.e.r. Тень Чернобыля\saves\user.ltx] successfully loaded.
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Hardware
SOUND: OpenAL: system  default SndDevice name is Generic Hardware
SOUND: OpenAL: default SndDevice name set to Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default)
2. Generic Software, Spec Version 1.1 (default)
SOUND: OpenAL: SelectBestDevice is Generic Software 1.1
SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software.
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 32773 kb, 3805 lines, 8820 bpl
Starting RENDER device...
* GPU [vendor:1002]-[device:6663]: AMD Radeon R5 M200 / HD 8500M Series
* GPU driver: 8.17.10.1452
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
*     Texture memory: 2922 M
*          DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 1536K
* DIB created: 512K
count of .thm files=508
load time=56 ms
* distortion: used, dev(30),need(14)
* SSample: 1366x768
* SSample: enabled
- r__tf_aniso 4
- r1_tf_mipbias 0.
Starting engine...
stack trace:
 
0023:00BCF736 xrCore.dll, str_container::~str_container()
 
[error][       8]    : Недостаточно памяти для обработки команды.

 

 

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

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

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

andreyholkin.gif

rod_cccp.gif

 

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

@editor46, судя по всему - пытаетесь запустить релизную сборку движка, которая расширенной информации не даст о ошибке.

С данной проблемой сможет помочь отладочная версия. Скорее всего - проблема где то в геймдате, debug сборка даст более расширенную информацию - что именно не так. В Вашей ошибке всего навсего не смогла правильно освободиться память, выделенная для какой то строки.

Ссылка на комментарий
Это в четвертом патче

X-Ray 1.0004 в виде исходников в сеть НЕ сливали. Папка с сорсами якобы 1.0004 на деле является 1.0007 RC1

Изменено пользователем User_X.A.R26
Ссылка на комментарий

Ковыряюсь в исходника ЛА. Подскажите как запустить функцию в отдельном потоке в этом языке програмирования. Надоело искать ответ в гугле! каждый результат скидывает на что-то, совсем не похожее на предыдущий результат. Мой мозг сломался пока пытался собрать их все воедино(((

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

@tatarinrafa, дай "пажаласта" ссылку на исходники и всё там прочее, что имеется к ней. Охота посмотреть, что там есть.

 

 

Ребят, где можно взять исходники X-Ray Лост Альфы?

 

 

Там на гамегуру в шапке чет не совсем то... там нет 3 рендера почемуто в архиве. Вот там кто-то кинул ссылку на полный архив

https://yadi.sk/d/LM_STvXgfz9b6

Здравствуйте! Научите! Как правильно делать "что-то" в отдельном фоновом потоке в C++. Пожалуйста код! К примеру:

 

void moya_Afigenaya_funkciya ()

{

Один цикл выполняется в уже идущем(главном) потоке где к "A" прибавляется 1 сто раз.

Второй цикл, в новом фоновом потоке, прибавляет 1 к "B" двести раз.

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

}

 

 

Нужен полный код именно этого примера, со всеми необходимыми "инклудами", и ничего другого.

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

Кстати подскажите в каком файле искать функцию Render

 

В файле r2_R_sun.cpp есть.

void CRender::render_details ()

{

    Details->Render                    ()    ;

}

 

Не могу понять кем является оператор Details и соответственно где его член структуры Render

 

 

  • Спасибо 2
Ссылка на комментарий
Не могу понять кем является оператор Details и соответственно где его член структуры Render

CDetailManager* Details;

 

 

Кстати подскажите в каком файле искать функцию Render

XRAPI_API IRender_interface* Render = NULL;

в xrAPI.cpp

Вот ещё есть в заголовочном файле  xrAPI.h

class CRender;

    extern ENGINE_API CRender* Render;
Изменено пользователем nikita_nz1986

nikita_nz1986.gif
9JX0t72.jpg
XqgE6.png

Ссылка на комментарий
Вот там кто-то кинул ссылку на полный архив

Этот кто-то - я. И насколько помню, кидал я последнюю ревизию, а не сам Git репозиторий целиком

Изменено пользователем User_X.A.R26
  • Спасибо 1
Ссылка на комментарий

Доброго времени суток двигоправам. Хочу поинтересоваться у вас, чем можно пропатчить xrGame.dll (ТЧ 6-й патч) на анимации спринта ножа, болта,  бинокля и гранат? Этот вариант уже пробовал - слетает погода (мой мод на базе OGSM 0693, и там присутствуют динамические выбросы).

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

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

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

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

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

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

Войти

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

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

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