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

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


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

4. Редактировать ехе и dll Notepadom++ - извините ребята но это дикость, а потом вы еще удивляетесь почему у вас ничего не работает и глючит.

Не знаю как другие, я только поиском пользуюсь в нотепад++, чтоб узнать, есть ли в .dll-ках то, что меня интересует. Редактировать не пытаюсь - просто потому, что не умею

Серый Волк, обсуждалось уже тыщу раз - забинтить хотя бы скриптово на Х-рэе можно только клавишу Таb. Для быстрых ячеек ещё хуже, ибо клавиши от F5, F6 и далее не прописаны в хrГейме (?). Поэтому смысла ковырять ячейки только в игре нет.

А клавиши мышки (3-я и 4-я) прописаны в xrGame? я, например, ставлю на быстрые слоты эти две клавиши и F1, F2. К тому же в самой игре, в меню "ОПЦИИ" можно изменить "забиндивание" быстрых клавиш на любые другие по желанию.

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

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

 

Добавлено через 30 мин.:

Кстати тема то о редактированнии движка . Вот у меня вопрос в чн игра запускалась через xrEnge а зп через stalker-cop внимание вопрос: почему так я сделал аналог этого файла через бат но различий не заметил вот и хочу узнать что в пысовском файле зашито ? Может ограничения какие ?

 

Добавлено через 6 мин.:

Попробовал ножу прописать слот от детектора и словил вылет где ссылается на xrGame и пишет что там нет модуля.

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

48celt48, по-моему, вылет словил потому, что оба предмета спавнятся у ГГ автоматически при запуске игры, а два предмета в одном слоте не помещаются - будет вылет с примерным логом "нет свободного места".

 

 

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

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

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

Вот вы все в слоты пихаете, а не пробовали банально на худ все выкинуть?

Волк а чтобы ты хотел уметь редактировать?

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

sabir, я знаю, что немного показывает, но мне в нём поиском удобней пользоваться чем в hex workshop.

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

Ну раз Вы сможете подсказать, то:

1. В hex workshop открыл xrGame: какое значение имеют блоки "00" (которые в правом окне редактора отображаются в виде точек), что они означают, и что-нибудь значит количество этих блоков между другими блоками, с различными обозначениями - "ненулевыми" (в правом окне - с различным текстом и параметрами) ?

2. Но это может быть даже по части конфигов, вчера мозг почти сломал, не могу найти каким образом лут типа [booster] привязан к быстрым ячейкам, ведь только этого типа лут может быть помещён в ячейки быстрого доступа. С поясом проще, там прописано - "belt = true", а здесь... ?

3. Да снизайдут ко мне всемогущие, но в ковырялке никто так и не ответил - может здесь повезёт больше: в каком файле задаются координаты расположения на текустуре наименований кнопок действия, которые в ui_st_keybinding.xml написаны ?

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

Пока отвечу на второй вопрос - если хочешь чтобы в быстрые ячейки совалось что на душу ляжет, то размер иконок желаемого должен быть точно таким как тех иконок предметов которые туда впихиваются изначально. Это для затравки. Извини отвечу на все вопросы - болею просто.

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

sabir, про размер иконок я уже знаю, но пока ещё не боролся с вылетом (это если лут большего размера пытаешься засуть в ячейку). по краейней мере в СГМ 1.7 - вылетает. Меня больше на остальные вопросы интересуют.

Строгое предупреждение от администратора n6260
Не дублируем вылеты по темам. Ты уж определись после каких твоих действий вылетает.

 

Поясню после каких действий, и почему ещё и в этой теме:

 

Изменения вносились в xrGame.dll путём редактирования программой Hex Workshop v.4.2 в правом (текстовом) окне. Размер файла (и количества символов) соблюдён, засчёт уменьшения блоков "00" в левом окне - соответственно им "точек" в правом. Ниже приведу скрины: оригинал / изменённый. В actor_menu.xml созданы конфиги (для каждого исправления есть свой блок) для внесённых изменений в xrGame.dll.

 

Попытка визуализировать слот "НОЖА", можно это и так назвать...

оригинальный файл:

gSrY2jIKYL.jpg

изменённый:

XUV9Xva4LS.jpg

 

При запуске игры после этих изменений, загрузка проходит примерно на 95% и ловлю такой вылет:

* phase time: 1480 ms

* phase cmem: 365699 K

* phase time: 224 ms

* phase cmem: 373087 K

compiling shader detail

compiling shader detail_wave

compiling shader detail_still

* [DETAILS] VertexConsts(256), Batch(61)

* [DETAILS] 10126 v(20), 5368 p

* [DETAILS] Batch(61), VB(197K), IB(31K)

* phase time: 88 ms

* phase cmem: 373087 K

* Loading HOM: d:\ИГРЫ - МУЛЬТИ - ФИЛЬМЫ\И Г Р Ы\С.Т.А.Л.К.Е.Р. Зов Припяти - sigerous mod cop 1.3\gamedata\levels\zaton\level.hom

* phase time: 87 ms

* phase cmem: 373438 K

* phase time: 11 ms

* phase cmem: 373438 K

* phase time: 10 ms

* phase cmem: 373438 K

* t-report - base: 709, 204499 K

* t-report - lmap: 26, 26627 K

* WARNING: player not logged in

 

FATAL ERROR

 

[error]Expression : xml_doc.NavigateToNode(path,index)

[error]Function : CUIXmlInit::InitTextWnd

[error]File : D:\prog_repository\sources\trunk\xrGame\ui\UIXmlInit.cpp

[error]Line : 207

[error]Description : XML node not found

[error]Argument 0 :

[error]Argument 1 : ui\actor_menu.xml

 

 

 

Есть ли варианты довести до ума то что я натворил ?

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

Ты где-то не вставил собственно параметры ножа. Объясняю:

Когда ты вставляешь во 2 слот оружие то оно появляется по заданным координатам в инвентаре. Допустим пусть это будут координаты wpn2 в файле ui\actor_menu.xml

А ты сделал визуальный слот 0. Но ты не прописал какие координаты брать для ножа! То есть нужно найти в дллке где получаются координаты оружия и добавить туда координаты для ножа!

Поэтому и [error]Argument 0 : (ничего) а аргумент 2 равен [error]Argument 1 : ui\actor_menu.xml

 

З.Ы. Удивлен что тема дает толк

Изменено пользователем _Призрак_

Freedom

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

_Призрак_, в файле ui\actor_menu.xml я прописал координаты слота куда Нож должен быть помещён, также прописал координаты подсветки слота и шкалы износа.

ЗЫ: если б знать как они обозначаются в dll, эти координаты...

Ссылка на комментарий
З.Ы. Удивлен что тема дает толк

Обсуждения такого рода вполне уместны в ковырялке для соответствующей версии. История повторяется. Создана тема с узкоспециальным назначением, причём по этому самому назначению её никто не использует (и не будет использовать). В лучшем случае тема уйдёт по списку вниз, и о ней благополучно забудут. В худшем - получится ещё одна микроковырялка. И зачем! У форума, к примеру, есть неприятная особенность "отписывать" рассылки от тем, где долго никто не пишет. Да и следить гораздо лучше за тремя темами, а не за десятком.

 

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

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

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

 

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

Попробую я по назначению поиспользовать.

 

Задачка такая - избавиться от необходимости прописывать оружие в mp_ranks, точнее от вылета cannot find rank.

Идея в общем-то на словах несложная - если игра не находит оружие ни в одном ранге в avaliable_items, насильно приравнять этот ненайденный ранг нулю, пока не успела начаться процедура вылета.

 

Скачал дизассемблер, разобрал xr_game.dll, нашел это место, примерно представляю, что, где и на что править. Что не представляю - метод тыка никто не отменял. По идее надо дописать что-то вроде mov x,0 ,главное, понять, где именно.

 

Но как там дописать строку или поменять оператор - хоть убей не понимаю. И как потом все это безобразие запаковать назад в dll и полюбоваться на непредсказуемые последствия?

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Kirag, поделись ссылкой на скачанный дизассемблер, пожалуйста.

 

Ковыряясь в xrGame, нашёл интересную строчку: UIDragDropListEx.cpp.CUIDragDropListEx::CreateDragItem...i!=itm..CUICellContainer::FindSimilar

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

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

А Диалог по ПДА? :)

Ребята, у меня есть Hex Workshop 4.2. Что им можно простенького сделать? Можно прицел бинокля поставить и оружию?

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

Rolan, просил передать, что:

Всем привет!Ох,хочу сказать спасибо тому модератору,который меня забанил.В тот момент когда я узнал что пошел париться в баньку,по мне можно было составлять словарь ругательных слов.Рядом сидел мой друг и печалился,когда он услышал мои высказывания чуть не здох от ржача.Огромное вам спасибо!(Пишу на полном серьёзе.)

Отвёчу на некоторые вопросы:

Sabir написал-Сам движок нам не будет доступен никогда, ну если только кто-нибудь из нас миллионер и не купит у разработчиков.

Вот тут с тобой я не согласен,при декомпиляции xrGame(CoP) , декомпилировался не полностью,а в конце написал

"#error "There were 60 decompilation failure(s) on 40997 function(s)" вот,можно тогда попробовать декомпильнуть всю папку bin , потому что я так понял + подсказали он ругается на функцию,которая ссылается на исходник другого файла.

Серый Волк-бросай ты это бестолковое дело нотеподом по dll-кам шастать, качай любой Hex-редактор.

Призрак-У меня такая же проблема, ответ на неё прост,сначала ответь на мой вопрос: как регистрируются ui файлы в сталкере?

Gedro-ну поидее реально,но если надёшь нужную функцию и перепишешь её под то,что нужно.

Unnamed Black Wolf - тут знаешь не свосем функция,если точно объяснить тот тут целая лекция будет.Короче приставка Ех обозначает много\до упора вот как используется оператива в сталкере.

 

Ну думаю всё.Огромное спасибо тем,кто мне + поставил,такое ощущение что из-за жалости.Но ничего до 26 октября протерпеть соталось.

Как выйду из бани поделюсь исходниками.

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

sabir, обещал всё по полочкам разложить, возможно забыл...

Ну да ладно, новый вопрос, хотя и на старые ответов пока не получил:

1. что означают в "Hex" знаки : %d (25 64) , %s (25 73) , [%s] (5B 25 73 5D) ?

 

 

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

Похоже на сишную спецификацию преобразования. %d - целое, %s - строка.

пример использования http://khpi-iip.mipk.kharkiv.edu/library/pgm/kr/c_7.html 7.3 и 7.4

 

 

Intel Centrino Mobile (Dual-core) T2700 2,328 GHz, Intel GMA 945GM, 2x1024 MB DDR2-667, WD Scorpio 1200BEVS

Microsoft Windows 7 Professional N + Novell Linux 11.2 (OpenSUSE) Dual boot

S.T.A.L.K.E.R. SHOC 1.0004 + AMK 1.4.1 + NS3 + NLC3 + Arsenal + Arsenal beta +New weapons

 

Опытный американский дробовик XM1014 =O

Хозяйке на заметку: Не спешите выбрасывать чеку от использованной гранаты Ф-1 или РГД-5 - с её помощью можно легко и удобно прикрепить игрушечного пингвинчика к своему рюкзаку. © not me

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

Я смог декомпилировать ту функцию что правил Колмогор в своей дллке в который увеличено плотность травы и еще что-то. Поэтому вопрос к тем кто знает графику игры. Нету ли в этих параметрах чего нибудь вкусненького?

r__geometry_lod

r__detail_density -это плотность травы, так?

r__tf_aniso

r1_ssa_lod_a

r1_ssa_lod_b

r1_lmodel_lerp

r1_tf_mipbias

r1_dlights

r1_dlights_clip

r1_pps_u

r1_pps_v

r1_dlights_clip

r1_glows_per_frame

r2_ssa_lod_a

r2_ssa_lod_b

r2_tf_mipbias

r2em

r2_tonemap

r2_tonemap_middlegray

r2_tonemap_adaptation

r2_tonemap_lowlum

r2_tonemap_amount

r2_ls_bloom_kernel_scale

r2_ls_bloom_kernel_g

r2_ls_bloom_kernel_b

r2_ls_bloom_threshold

r2_ls_bloom_speed

r2_ls_bloom_fast

r2_ls_dsm_kernel

r2_ls_psm_kernel

r2_ls_ssm_kernel

r2_ls_squality

r2_zfill

r2_zfill_depth

r2_allow_r1_lights

r2_gloss_factor

r2_sun

r2_sun_details

r2_sun_focus

r2_sun_tsm

r2_sun_tsm_proj

r2_sun_tsm_bias

r2_sun_near

r2_sun_near_border

r2_sun_depth_far_scale

r2_sun_depth_far_bias

r2_sun_depth_near_scale

r2_sun_depth_near_bias

r2_sun_lumscale

r2_sun_lumscale_hemi

r2_sun_lumscale_amb

r2_aa

r2_aa_kernel

r2_mblur

r2_gi

r2_gi_clip

r2_gi_depth

r2_gi_photons

r2_gi_refl

r2_wait_sleep

r2_ls_depth_scale

r2_ls_depth_bias

r2_parallax_h

r2_slight_fade

r2_aa_break

r2_aa_weight

 

 

Кстати если кто нить хочет посмотреть - вот как эта функция выглядит в оригинале

 

int __cdecl sub_10001610()

{

int v4; // [sp+50Ch] [bp-18h]@133

int v5; // [sp+50Ch] [bp-18h]@135

int v6; // [sp+510h] [bp-14h]@133

int v7; // [sp+510h] [bp-14h]@135

int v8; // [sp+514h] [bp-10h]@133

int v9; // [sp+514h] [bp-10h]@135

int v10; // [sp+518h] [bp-Ch]@133

int v11; // [sp+518h] [bp-Ch]@135

int v12; // [sp+51Ch] [bp-8h]@133

int v13; // [sp+51Ch] [bp-8h]@135

int v14; // [sp+520h] [bp-4h]@133

int v15; // [sp+520h] [bp-4h]@135

 

if ( !(dword_10063320 & 1) )

{

dword_10063320 |= 1u;

CCC_Token__CCC_Token(&dword_10062CD4, "_preset", &unk_10053144, &off_10053148);

dword_10062CD4 = (int)&off_10048C80;

atexit(sub_10047D50);

}

CConsole__AddCommand(Console, &dword_10062CD4);

if ( !(dword_10063320 & 2) )

{

dword_10063320 |= 2u;

dword_10062CEC = (int)"screenshot";

byte_10062CF0 = 1;

LOBYTE(word_10062CF1) = 1;

word_10062CF1 = (unsigned __int8)word_10062CF1;

dword_10062CE8 = (int)&off_10048C68;

atexit(sub_10047D40);

}

CConsole__AddCommand(Console, &dword_10062CE8);

if ( !(dword_10063320 & 4) )

{

dword_10063320 |= 4u;

CCC_Float__CCC_Float(&unk_10063308, "r__geometry_lod", &flt_100531B4, 0.1000000014901161, 1.200000047683716);

atexit(sub_10047D30);

}

CConsole__AddCommand(Console, &unk_10063308);

if ( !(dword_10063320 & 8) )

{

dword_10063320 |= 8u;

CCC_Float__CCC_Float(&unk_100632F0, "r__detail_density", "ЪЩЩ>", 0.01999999955296516, 0.6000000238418579);// hh

//

atexit(sub_10047D20);

}

CConsole__AddCommand(Console, &unk_100632F0);

if ( !(dword_10063320 & 0x10) )

{

dword_10063320 |= 0x10u;

CCC_Integer__CCC_Integer(&dword_10062D0C, "r__tf_aniso", &unk_100531C4, 1, 16);

dword_10062D0C = (int)&off_10048C20;

atexit(sub_10047D10);

}

CConsole__AddCommand(Console, &dword_10062D0C);

if ( !(dword_10063320 & 0x20) )

{

dword_10063320 |= 0x20u;

CCC_Float__CCC_Float(&unk_100632D8, "r1_ssa_lod_a", &dword_100531C8, 16.0, LODWORD(flt_100531C0));

atexit(sub_10047D00);

}

CConsole__AddCommand(Console, &unk_100632D8);

if ( !(dword_10063320 & 0x40) )

{

dword_10063320 |= 0x40u;

CCC_Float__CCC_Float(&unk_100632C0, "r1_ssa_lod_b", &dword_100531CC, 16.0, LODWORD(flt_100531B0));

atexit(sub_10047CF0);

}

CConsole__AddCommand(Console, &unk_100632C0);

if ( !(dword_10063320 & 0x80) )

{

dword_10063320 |= 0x80u;

CCC_Float__CCC_Float(&unk_100632A8, "r1_lmodel_lerp", "=¦¦=", 0.0, 0.3330000042915344);

atexit(sub_10047CE0);

}

CConsole__AddCommand(Console, &unk_100632A8);

if ( !(dword_10063320 & 0x100) )

{

dword_10063320 |= 0x100u;

CCC_Float__CCC_Float(&dword_10063290, "r1_tf_mipbias", &unk_10054210, -3.0, 0.5);

dword_10063290 = (int)&off_10048C38;

atexit(sub_10047CD0);

}

CConsole__AddCommand(Console, &dword_10063290);

if ( !(dword_10063320 & 0x200) )

{

dword_10063320 |= 0x200u;

CCC_Mask__CCC_Mask(&unk_1006327C, "r1_dlights", &byte_100531D0, 1);

atexit(sub_10047CC0);

}

CConsole__AddCommand(Console, &unk_1006327C);

if ( !(dword_10063320 & 0x400) )

{

dword_10063320 |= 0x400u;

CCC_Float__CCC_Float(&unk_10063264, "r1_dlights_clip", &asc_100531D4[4], *(_DWORD *)&aSs[4], 150.0);

atexit(sub_10047CB0);

}

CConsole__AddCommand(Console, &unk_10063264);

if ( !(dword_10063320 & 0x800) )

{

dword_10063320 |= 0x800u;

CCC_Float__CCC_Float(&unk_1006324C, "r1_pps_u", &dword_10054214, -1.0, 1.0);

atexit(sub_10047CA0);

}

CConsole__AddCommand(Console, &unk_1006324C);

if ( !(dword_10063320 & 0x1000) )

{

dword_10063320 |= 0x1000u;

CCC_Float__CCC_Float(&unk_10063234, "r1_pps_v", &dword_10054218, -1.0, 1.0);

atexit(sub_10047C90);

}

CConsole__AddCommand(Console, &unk_10063234);

if ( !(dword_10063320 & 0x2000) )

{

dword_10063320 |= 0x2000u;

CCC_Float__CCC_Float(&unk_1006321C, "r1_dlights_clip", &asc_100531D4[4], *(_DWORD *)&aSs[4], 150.0);

atexit(sub_10047C80);

}

CConsole__AddCommand(Console, &unk_1006321C);

if ( !(dword_10063320 & 0x4000) )

{

dword_10063320 |= 0x4000u;

CCC_Integer__CCC_Integer(&unk_10063204, "r1_glows_per_frame", &dword_100531DC, 2, 32);

atexit(sub_10047C70);

}

CConsole__AddCommand(Console, &unk_10063204);

if ( !(dword_10063320 & 0x8000) )

{

dword_10063320 |= 0x8000u;

CCC_Float__CCC_Float(&unk_100631EC, "r2_ssa_lod_a", &unk_100531E0, 16.0, LODWORD(flt_100531C0));

atexit(sub_10047C60);

}

CConsole__AddCommand(Console, &unk_100631EC);

if ( !(dword_10063320 & 0x10000) )

{

dword_10063320 |= 0x10000u;

CCC_Float__CCC_Float(&unk_100631D4, "r2_ssa_lod_b", &unk_100531E4, 32.0, LODWORD(flt_100531B0));

atexit(sub_10047C50);

}

CConsole__AddCommand(Console, &unk_100631D4);

if ( !(dword_10063320 & 0x20000) )

{

dword_10063320 |= 0x20000u;

CCC_Float__CCC_Float(&dword_100631BC, "r2_tf_mipbias", &unk_1005421C, -0.5, 0.5);

dword_100631BC = (int)&off_10048C38;

atexit(sub_10047C40);

}

CConsole__AddCommand(Console, &dword_100631BC);

if ( !(dword_10063320 & 0x40000) )

{

dword_10063320 |= 0x40000u;

CCC_Float__CCC_Float(&dword_10062CF4, "r2em", &dword_10054224, 0.0, 4.0);

__asm { xorps xmm0, xmm0 }

dword_10062CF4 = (int)&off_10048C50;

__asm { movss dword_10054224, xmm0 }

atexit(sub_10047C30);

}

CConsole__AddCommand(Console, &dword_10062CF4);

if ( !(dword_10063320 & 0x80000) )

{

dword_10063320 |= 0x80000u;

CCC_Mask__CCC_Mask(&unk_100631A8, "r2_tonemap", &dword_100531E8, 16);

atexit(sub_10047C20);

}

CConsole__AddCommand(Console, &unk_100631A8);

if ( !(dword_10063320 & 0x100000) )

{

dword_10063320 |= 0x100000u;

CCC_Float__CCC_Float(&unk_10063190, "r2_tonemap_middlegray", &aG[4], 0.0, 2.0);

atexit(sub_10047C10);

}

CConsole__AddCommand(Console, &unk_10063190);

if ( !(dword_10063320 & 0x200000) )

{

dword_10063320 |= 0x200000u;

CCC_Float__CCC_Float(&unk_10063178, "r2_tonemap_adaptation", &aA_0[2], 0.009999999776482582, *(_DWORD *)&aSs[4]);

atexit(sub_10047C00);

}

CConsole__AddCommand(Console, &unk_10063178);

if ( !(dword_10063320 & 0x400000) )

{

dword_10063320 |= 0x400000u;

CCC_Float__CCC_Float(&unk_10063160, "r2_tonemap_lowlum", &unk_100531F8, LODWORD(flt_100531A4), 1.0);

atexit(sub_10047BF0);

}

CConsole__AddCommand(Console, &unk_10063160);

if ( !(dword_10063320 & 0x800000) )

{

dword_10063320 |= 0x800000u;

CCC_Float__CCC_Float(&unk_10063148, "r2_tonemap_amount", &unk_100531FC, 0.0, 1.0);

atexit(sub_10047BE0);

}

CConsole__AddCommand(Console, &unk_10063148);

if ( !(dword_10063320 & 0x1000000) )

{

dword_10063320 |= 0x1000000u;

CCC_Float__CCC_Float(&unk_10063130, "r2_ls_bloom_kernel_scale", &aA_1[2], 0.5, 2.0);

atexit(sub_10047BD0);

}

CConsole__AddCommand(Console, &unk_10063130);

if ( !(dword_10063320 & 0x2000000) )

{

dword_10063320 |= 0x2000000u;

CCC_Float__CCC_Float(&unk_10063118, "r2_ls_bloom_kernel_g", "33S@333?", 1.0, 7.0);

atexit(sub_10047BC0);

}

CConsole__AddCommand(Console, &unk_10063118);

if ( !(dword_10063320 & 0x4000000) )

{

dword_10063320 |= 0x4000000u;

CCC_Float__CCC_Float(&unk_10063100, "r2_ls_bloom_kernel_b", &a33s[4], 0.009999999776482582, 1.0);

atexit(sub_10047BB0);

}

CConsole__AddCommand(Console, &unk_10063100);

if ( !(dword_10063320 & 0x8000000) )

{

dword_10063320 |= 0x8000000u;

CCC_Float__CCC_Float(&unk_100630E8, "r2_ls_bloom_threshold", "ЪЩЩ>=¦L?=¦¦=", 0.0, 1.0);

atexit(sub_10047BA0);

}

CConsole__AddCommand(Console, &unk_100630E8);

if ( !(dword_10063320 & 0x10000000) )

{

dword_10063320 |= 0x10000000u;

CCC_Float__CCC_Float(&unk_100630D0, "r2_ls_bloom_speed", &a33s[8], 0.0, 100.0);

atexit(sub_10047B90);

}

CConsole__AddCommand(Console, &unk_100630D0);

if ( !(dword_10063320 & 0x20000000) )

{

dword_10063320 |= 0x20000000u;

CCC_Mask__CCC_Mask(&unk_100630BC, "r2_ls_bloom_fast", &dword_100531E8, 128);

atexit(sub_10047B80);

}

CConsole__AddCommand(Console, &unk_100630BC);

if ( !(dword_10063320 & 0x40000000) )

{

dword_10063320 |= 0x40000000u;

CCC_Float__CCC_Float(&unk_100630A4, "r2_ls_dsm_kernel", &unk_10053210, 0.1000000014901161, 3.0);

atexit(sub_10047B70);

}

CConsole__AddCommand(Console, &unk_100630A4);

if ( !(dword_10063320 & 0x80000000) )

{

dword_10063320 |= 0x80000000u;

CCC_Float__CCC_Float(&unk_1006308C, "r2_ls_psm_kernel", &unk_10053214, 0.1000000014901161, 3.0);

atexit(sub_10047B60);

}

CConsole__AddCommand(Console, &unk_1006308C);

if ( !(dword_10063088 & 1) )

{

dword_10063088 |= 1u;

CCC_Float__CCC_Float(&unk_10063070, "r2_ls_ssm_kernel", &unk_10053218, 0.1000000014901161, 3.0);

atexit(sub_10047B50);

}

CConsole__AddCommand(Console, &unk_10063070);

if ( !(dword_10063088 & 2) )

{

dword_10063088 |= 2u;

CCC_Float__CCC_Float(&unk_10063058, "r2_ls_squality", &unk_10053254, 0.5, 1.0);

atexit(sub_10047B40);

}

CConsole__AddCommand(Console, &unk_10063058);

if ( !(dword_10063088 & 4) )

{

dword_10063088 |= 4u;

CCC_Mask__CCC_Mask(&unk_10063044, "r2_zfill", &dword_100531E8, 512);

atexit(sub_10047B30);

}

CConsole__AddCommand(Console, &unk_10063044);

if ( !(dword_10063088 & 8) )

{

dword_10063088 |= 8u;

CCC_Float__CCC_Float(&unk_1006302C, "r2_zfill_depth", "=¦¦=", 0.001000000047497451, 0.5);

atexit(sub_10047B20);

}

CConsole__AddCommand(Console, &unk_1006302C);

if ( !(dword_10063088 & 0x10) )

{

dword_10063088 |= 0x10u;

CCC_Mask__CCC_Mask(&unk_10063018, "r2_allow_r1_lights", &dword_100531E8, 1024);

atexit(sub_10047B10);

}

CConsole__AddCommand(Console, &unk_10063018);

if ( !(dword_10063088 & 0x20) )

{

dword_10063088 |= 0x20u;

CCC_Float__CCC_Float(&unk_10063000, "r2_gloss_factor", &unk_10053294, 0.0, *(_DWORD *)&aSs[4]);

atexit(sub_10047B00);

}

CConsole__AddCommand(Console, &unk_10063000);

if ( !(dword_10063088 & 0x40) )

{

dword_10063088 |= 0x40u;

CCC_Mask__CCC_Mask(&unk_10062FEC, "r2_sun", &dword_100531E8, 1);

atexit(sub_10047AF0);

}

CConsole__AddCommand(Console, &unk_10062FEC);

if ( !(dword_10063088 & 0x80) )

{

dword_10063088 |= 0x80u;

CCC_Mask__CCC_Mask(&unk_10062FD8, "r2_sun_details", &dword_100531E8, 8);

atexit(sub_10047AE0);

}

CConsole__AddCommand(Console, &unk_10062FD8);

if ( !(dword_10063088 & 0x100) )

{

dword_10063088 |= 0x100u;

CCC_Mask__CCC_Mask(&unk_10062FC4, "r2_sun_focus", &dword_100531E8, 2);

atexit(sub_10047AD0);

}

CConsole__AddCommand(Console, &unk_10062FC4);

if ( !(dword_10063088 & 0x200) )

{

dword_10063088 |= 0x200u;

CCC_Mask__CCC_Mask(&unk_10062FB0, "r2_sun_tsm", &dword_100531E8, 4);

atexit(sub_10047AC0);

}

CConsole__AddCommand(Console, &unk_10062FB0);

if ( !(dword_10063088 & 0x400) )

{

dword_10063088 |= 0x400u;

CCC_Float__CCC_Float(&unk_10062F98, "r2_sun_tsm_proj", "ьQ8>=¦L-", 0.001000000047497451, 0.800000011920929);

atexit(sub_10047AB0);

}

CConsole__AddCommand(Console, &unk_10062F98);

if ( !(dword_10063088 & 0x800) )

{

dword_10063088 |= 0x800u;

CCC_Float__CCC_Float(&unk_10062F80, "r2_sun_tsm_bias", &aQ8L[4], -0.5, 0.5);

atexit(sub_10047AA0);

}

CConsole__AddCommand(Console, &unk_10062F80);

if ( !(dword_10063088 & 0x1000) )

{

dword_10063088 |= 0x1000u;

CCC_Float__CCC_Float(&unk_10062F68, "r2_sun_near", &aQ8L[8], 1.0, 50.0);

atexit(sub_10047A90);

}

CConsole__AddCommand(Console, &unk_10062F68);

if ( !(dword_10063088 & 0x2000) )

{

dword_10063088 |= 0x2000u;

CCC_Float__CCC_Float(&unk_10062F50, "r2_sun_near_border", &unk_10053264, 0.5, 1.0);

atexit(sub_10047A80);

}

CConsole__AddCommand(Console, &unk_10062F50);

if ( !(dword_10063088 & 0x4000) )

{

dword_10063088 |= 0x4000u;

CCC_Float__CCC_Float(&unk_10062F38, "r2_sun_depth_far_scale", &unk_10053268, 0.5, LODWORD(flt_1005319C));

atexit(sub_10047A70);

}

CConsole__AddCommand(Console, &unk_10062F38);

if ( !(dword_10063088 & 0x8000) )

{

dword_10063088 |= 0x8000u;

CCC_Float__CCC_Float(&unk_10062F20, "r2_sun_depth_far_bias", &unk_10054220, -0.5, 0.5);

atexit(sub_10047A60);

}

CConsole__AddCommand(Console, &unk_10062F20);

if ( !(dword_10063088 & 0x10000) )

{

dword_10063088 |= 0x10000u;

CCC_Float__CCC_Float(&unk_10062F08, "r2_sun_depth_near_scale", &unk_1005326C, 0.5, LODWORD(flt_1005319C));

atexit(sub_10047A50);

}

CConsole__AddCommand(Console, &unk_10062F08);

if ( !(dword_10063088 & 0x20000) )

{

dword_10063088 |= 0x20000u;

CCC_Float__CCC_Float(&unk_10062EF0, "r2_sun_depth_near_bias", "м+'¬", -0.5, 0.5);

atexit(sub_10047A40);

}

CConsole__AddCommand(Console, &unk_10062EF0);

if ( !(dword_10063088 & 0x40000) )

{

dword_10063088 |= 0x40000u;

CCC_Float__CCC_Float(&unk_10062ED8, "r2_sun_lumscale", &aM[4], -1.0, 3.0);

atexit(sub_10047A30);

}

CConsole__AddCommand(Console, &unk_10062ED8);

if ( !(dword_10063088 & 0x80000) )

{

dword_10063088 |= 0x80000u;

CCC_Float__CCC_Float(&unk_10062EC0, "r2_sun_lumscale_hemi", &aA_[2], 0.0, 3.0);

atexit(sub_10047A20);

}

CConsole__AddCommand(Console, &unk_10062EC0);

if ( !(dword_10063088 & 0x100000) )

{

dword_10063088 |= 0x100000u;

CCC_Float__CCC_Float(&unk_10062EA8, "r2_sun_lumscale_amb", &aA__0[2], 0.0, 3.0);

atexit(sub_10047A10);

}

CConsole__AddCommand(Console, &unk_10062EA8);

if ( !(dword_10063088 & 0x200000) )

{

dword_10063088 |= 0x200000u;

CCC_Mask__CCC_Mask(&unk_10062E94, "r2_aa", &dword_100531E8, 32);

atexit(sub_10047A00);

}

CConsole__AddCommand(Console, &unk_10062E94);

if ( !(dword_10063088 & 0x400000) )

{

dword_10063088 |= 0x400000u;

CCC_Float__CCC_Float(&unk_10062E7C, "r2_aa_kernel", &unk_10053238, 0.300000011920929, 0.699999988079071);

atexit(sub_100479F0);

}

CConsole__AddCommand(Console, &unk_10062E7C);

if ( !(dword_10063088 & 0x800000) )

{

dword_10063088 |= 0x800000u;

CCC_Float__CCC_Float(&unk_10062E64, "r2_mblur", &unk_1005323C, 0.0, 1.0);

atexit(sub_100479E0);

}

CConsole__AddCommand(Console, &unk_10062E64);

if ( !(dword_10063088 & 0x1000000) )

{

dword_10063088 |= 0x1000000u;

CCC_Mask__CCC_Mask(&unk_10062E50, "r2_gi", &dword_100531E8, 64);

atexit(sub_100479D0);

}

CConsole__AddCommand(Console, &unk_10062E50);

if ( !(dword_10063088 & 0x2000000) )

{

dword_10063088 |= 0x2000000u;

CCC_Float__CCC_Float(&unk_10062E38, "r2_gi_clip", &unk_1005329C, 0.000009999999747378752, 0.1000000014901161);

atexit(sub_100479C0);

}

CConsole__AddCommand(Console, &unk_10062E38);

if ( !(dword_10063088 & 0x4000000) )

{

dword_10063088 |= 0x4000000u;

CCC_Integer__CCC_Integer(&unk_10062E20, "r2_gi_depth", &unk_10053240, 1, 5);

atexit(sub_100479B0);

}

CConsole__AddCommand(Console, &unk_10062E20);

if ( !(dword_10063088 & 0x8000000) )

{

dword_10063088 |= 0x8000000u;

CCC_Integer__CCC_Integer(&unk_10062E08, "r2_gi_photons", &unk_10053244, 8, 256);

atexit(sub_100479A0);

}

CConsole__AddCommand(Console, &unk_10062E08);

if ( !(dword_10063088 & 0x10000000) )

{

dword_10063088 |= 0x10000000u;

CCC_Float__CCC_Float(&unk_10062DF0, "r2_gi_refl", "fff?T", 0.001000000047497451, 0.9900000095367432);

atexit(sub_10047990);

}

CConsole__AddCommand(Console, &unk_10062DF0);

if ( !(dword_10063088 & 0x20000000) )

{

dword_10063088 |= 0x20000000u;

CCC_Integer__CCC_Integer(&unk_10062DD8, "r2_wait_sleep", &unk_10054228, 0, 1);

atexit(sub_10047980);

}

CConsole__AddCommand(Console, &unk_10062DD8);

if ( !(dword_10063088 & 0x40000000) )

{

dword_10063088 |= 0x40000000u;

CCC_Float__CCC_Float(&unk_10062DC0, "r2_ls_depth_scale", &aFff_t[4], 0.5, LODWORD(flt_1005319C));

atexit(sub_10047970);

}

CConsole__AddCommand(Console, &unk_10062DC0);

if ( !(dword_10063088 & 0x80000000) )

{

dword_10063088 |= 0x80000000u;

CCC_Float__CCC_Float(&unk_10062DA8, "r2_ls_depth_bias", &unk_10053250, -0.5, 0.5);

atexit(sub_10047960);

}

CConsole__AddCommand(Console, &unk_10062DA8);

if ( !(dword_10062DA4 & 1) )

{

dword_10062DA4 |= 1u;

CCC_Float__CCC_Float(&unk_10062D8C, "r2_parallax_h", "\n+г<", 0.0, 0.5);

atexit(sub_10047950);

}

CConsole__AddCommand(Console, &unk_10062D8C);

if ( !(dword_10062DA4 & 2) )

{

dword_10062DA4 |= 2u;

CCC_Float__CCC_Float(&unk_10062D74, "r2_slight_fade", &unk_10053290, 0.01999999955296516, 2.0);

atexit(sub_10047940);

}

CConsole__AddCommand(Console, &unk_10062D74);

__asm

{

xorps xmm0, xmm0

movss [esp+28h+var_C], xmm0

movss [esp+28h+var_8], xmm0

movss [esp+28h+var_4], xmm0

movss xmm0, ds:dword_10048E14

movss [esp+28h+var_18], xmm0

movss [esp+28h+var_14], xmm0

movss [esp+28h+var_10], xmm0

}

if ( !(dword_10062DA4 & 4) )

{

dword_10062DA4 |= 4u;

CCC_Vector3__CCC_Vector3(&unk_10062D4C, "r2_aa_break", &aSsL_[4], v10, v12, v14, v4, v6, v8);

atexit(sub_10047930);

}

CConsole__AddCommand(Console, &unk_10062D4C);

__asm

{

xorps xmm0, xmm0

movss [esp+28h+var_C], xmm0

movss [esp+28h+var_8], xmm0

movss [esp+28h+var_4], xmm0

movss xmm0, ds:dword_10048E14

movss [esp+28h+var_18], xmm0

movss [esp+28h+var_14], xmm0

movss [esp+28h+var_10], xmm0

}

if ( !(dword_10062DA4 & 8) )

{

dword_10062DA4 |= 8u;

CCC_Vector3__CCC_Vector3(&unk_10062D24, "r2_aa_weight", &unk_1005322C, v11, v13, v15, v5, v7, v9);

atexit(sub_10047920);

}

return CConsole__AddCommand(Console, &unk_10062D24);

}

 

 

Большое спасибо Колмогору которого я 2 день мучаю своими дурацкими вопросами :)

Серый Волк

Я спросил у колмогора в чем может проблема твоего вылета. Вот что он ответил

Kolmogor (23:58:44 14/10/2010)

ну серый волк все строчки попереставлял, а в коде адреса не поменял - вот и вылетает

Изменено пользователем _Призрак_

Freedom

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

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

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

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

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

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

Войти

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

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

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