Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактирование движка
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97
1_A
Forser, хз у меня на х64 по 200-400 фпс, предела совершенства - нет tongue.gif
ForserX
virus_ua, у меня она 15 ФПС выдавала, когда ещё в декабре того года собирал.

P.S. Пожалейте мой ПК. Он на статике выше 80 не выжимает.
Shoкer
Цитата(Xottab_DUTY @ 31.08.2017, 03:09) *
Ты, помнится, где-то спрашивал расширение, которое сворачивало бы все диффы на гитхабе, чтобы удобнее было. Нашёл что-нибудь?


Честно говоря смутно помню что я там тогда спрашивал. У меня вроде только это и это стоит.

Цитата
Я также заметил что такой код стал приводить к вылету:
local pos = vector2():set(123, 456);
tostring(pos);

Тут я поспешил - в оригинальной игре тоже вылетает. У вектора нет функции преобразования к строке.

Цитата
Причина вылета в этой строчке ui_sleep_dialog.script:74:
pos.x = self.sleep_static:GetWndPos().x+self.sleep_static:GetWidth(), что равносильно pos.x = 321 + 40 --// 361


Тыц
Посмотрел более детально, проблема конкретно в комбинации self.sleep_static:GetWndPos().x = 123.456
Глянул как функция GetWndPos() экспортируется из движка (код экспорта в OpenXRay и в оригинале одинаков):

Код
IC const Fvector2& GetWndPos() const { return m_wndPos; }
...
const Fvector2* get_wnd_pos(CUIWindow* w) { return &w->GetWndPos(); }
...
.def("GetWndPos", &get_wnd_pos)


Меня смущает что функция get_wnd_pos возвращает указатель прямо на оригинальный объект.
То-есть (в моём понимании) делая в Lua

Код
self.sleep_static:GetWndPos().x = ...

Мы фактически меняем оригинальное значение.

Собственно где то тут видимо и кроется ошибка. Возможно LuaBind должен сам склонировать объект и вернуть в скрипты его копию, а вместо этого он возвращает оригинал ...
К сожалению пока слабовато понимаю где под капотом LuaBind-а всё это дело обрабатывается ...

Конкретно этот вылет фиксит переделка функции get_wnd_pos в:

Код
const Fvector2 get_wnd_pos(CUIWindow* w) { return w->GetWndPos(); }


Но это не панацея - нужно универсальное решение подо все подобные случаи. dry.gif

SkyLoader
Цитата(Shoкer @ 25.08.2017, 01:16) *
Всё что непосредственно по "двойному рендеру" - https://github.com/ShokerStlk/xray-16-SWM/c...83b6891f53cb2d7

Честно говоря, так и не понял, зачем так извращаться. Почему бы просто не делать рендер сначала в текстуру прицела, а потом в итоговый комбайн? Да, надо писать полноценную отрисовку сцены для текстуры. Да, будет отрисовка сцены два раза за кадр, но сильно заметно это не должно быть. Однако, в итоге мы не получаем багов вроде тех, что есть с HDR, и не будет того чередования отрисовки то в текстуру прицела, то в комбайн. Плюс для некоторых прицелов можно вообще делать рендер в прицел параллельно, как это сделано, например, в Insurgency.
Shoкer
Цитата(SkyLoader @ 01.09.2017, 00:56) *
Честно говоря, так и не понял, зачем так извращаться. Почему бы просто не делать рендер сначала в текстуру прицела, а потом в итоговый комбайн?


Когда это писалось я не совсем хорошо понимал как рендер вообще работает, впрочем и сейчас не особо понимаю - так что могу нести бред. laugh.gif

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

И я всё равно не понимаю как бы это помогло избежать баг с HDR, если номер кадра (Device.dwFrame) на оба вызова был-бы один и тот-же, и в лучшем случае у нас было-бы общее значение HDR для обоих кадров.
Код
gpu_id = (Device.dwFrame - 1) % HW.Caps.iGPUNum;

Не говоря о куче других мест где Device.dwFrame тоже используется в вычислениях.
SkyLoader
Shoкer, да, или дублировать код или рефакторить. Много, зато правильно и без багов smile.gif
Для текстуры прицела по хорошему должен быть свой phase_combine(), который не трогает HDR в принципе (а также желательно без постпроцессинга всякого вроде блума и прочего), ведь это не итоговая картинка, а мы будем её только накладывать на модель. А Device.dwFrame в данном случае один и тот же, просто HDR трогается только при комбайне основной картинки.
Zagolski
У меня есть идея основные кадры выводить без пропуска, т.е. в нормальном режиме, но также как и сейчас рендерить каждый третий кадр без худа и с другим fov, но параллельно с одним из основных, ну и тут же выводить его в прицел. Как раз сейчас этим занимаюсь.
По идее производительности жрать будет столько же, но фпс может быть выше из-за нормального функционирования вертикалки. Ну и не будет пропусков кадров. Да и в кадре для прицела можно будет качество графики снизить, чтобы еще меньше ресурсов жрало. А 1:1 параллельно рендерить - слишком по ресурсам накладно, фпс как минимум вдвое упадет во время прицеливания.
SkyLoader
Zagolski, как я уже написал выше, параллельный рендеринг в текстуру прицела подойдет только для некоторых прицелов, но не для всех. Для прицелов большой кратности будет сильно заметно, как будет отставать картинка, особенно, когда попытаешься быстро прицелиться во врага. В том же Insurgency по прицелу небольшой кратности с таким рендерингом уже было понятно, что есть небольшое отставание, по крайней мере на моём ПеКа. А на больших кратностях, думаю, такое прицеливание будет вызывать дискомфорт. В той игре на больших кратностях как раз и нет параллельного рендеринга, или может я не заметил. На хороших ПК наверняка это отставание заметно и не будет, но на слабых скорее всего будет.
Ты еще предлагаешь каждый третий кадр рендерить, это тем более вызовет отставание картинки. Рендерить с пониженной графикой тоже считаю плохой идеей.
Насчет падения фпс вдвое не согласен. Если не делать поспроцессинг для текстуры прицела, а только отрисовать сцену, то это не должно сильно влиять на фпс. Постпроцессинг нынче в модах жрет не мало.

UPD: Насчет отставания картинки, такое будет, если не делать синхронизацию потоков. Если сделать синхронизацию, то может и нормально будет. Только рендерить надо 1:1.
K.D.
Цитата(Shoкer @ 01.09.2017, 01:47) *
У вектора нет функции преобразования к строке.

Можно перегрузить оператор __tostring. Это специальный псевдооператор для преобразования объекта в строку. В манах к луабинду все очень четко описано.
Проще, однако, скрипт поправить.
AndreySol
Цитата(-StalkMen- @ 31.08.2017, 23:33) *
AndreySol,
Хм, вроде не в новом классе дело, ругается же вообще на game_cl_ArtefactHunt.
Вообще странно, зачем вызвался его "конструктор серверного класса". Отладчик в руки и вперёд.

Нашел на amk-team такое описание вылета:
Цитата
Expression : fatal error
Function : CObjectItemSingle<class CUIGameAHunt,1>::server_object
File : e:\stalker\patch_1_0004\xr_3da\xrgame\object_item_single_inline.h
Line : 54
Description : <no expression>
Arguments : Cannot instantiate server object, because server class is not declared!
Причина:
Переводчик даёт вполне адекватное определение. Но на самом деле вылет происходит по причине неопределённого состояния объекта, когда ему установлены оба флага для разрешения перехода в онлайн и оффлайн одновременно.
А разве наличие обоих флажков не допускается ? Я чет думал, что это просто означает возможность "автоматически" переключать объект по он-лайн радиусу. Вот теперь не знаю что думать: то ли описание вылета - фигня, то ли искать этот объект неопределенного состояния ?

P.S. Вспомнил, недавно чистил системную папку "Документы", прибрал и все, что там было от Сталкера(у меня проект настроен в fsgame на локальную папку). Может в этом причина ?
aka_sektor
Цитата(Forser @ 31.08.2017, 22:27) *

x64 Edition. 55-75 FPS. Годно.

Редактор погоды? Интересно. smile.gif

Помнится, RayTwitty хвалился, что у него тоже есть ingame редактор. Тоже так выглядит?
ForserX
Цитата(aka_sektor @ 01.09.2017, 20:59) *
Редактор погоды? Интересно.

Ничего интересного, по сути. Стандартный редактор, только на x64 с исправленным исключением.
Shoкer
Цитата(aka_sektor @ 01.09.2017, 20:59) *
Редактор погоды? Интересно. smile.gif


Так то это родной ЧН-овский движковый редактор погоды. Именно он обязан исчезновению погоды из СДК.

Цитата(SkyLoader @ 01.09.2017, 10:54) *
Насчет падения фпс вдвое не согласен. Если не делать поспроцессинг для текстуры прицела, а только отрисовать сцену, то это не должно сильно влиять на фпс. Постпроцессинг нынче в модах жрет не мало.


Дык соль же в том что постпроцессинг (АО, сан-шафты, ...) как раз делать надо. Нам ведь в прицеле нужна картинка экранного качества, а не промежуточный продукт для шейдеров. Тут максимум сглаживание убрать и DOF, и то сомнительно.

Кстати может ты, или кто либо, знаешь - насколько реализуемо динамически менять разрешение экрана на каждый кадр? Допустим рендерить каждый второй кадр в два раза меньшем разрешении.
Я так понимаю это просто так не сделать, ведь даже в оригинале каждое изменение разрешения ведёт за собой вызов vid_restart в консоли.
SkyLoader
Цитата(Shoкer @ 01.09.2017, 21:18) *
Дык соль же в том что постпроцессинг (АО, сан-шафты, ...) как раз делать надо.

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

Цитата(Shoкer @ 01.09.2017, 21:18) *
Кстати может ты, или кто либо, знаешь - насколько реализуемо динамически менять разрешение экрана на каждый кадр? Допустим рендерить каждый второй кадр в два раза меньшем разрешении.

Как я понял, ты хочешь делать полноценный рендер сцены и освещение в текстуры меньшего разрешения для прицела. Может есть какие-то другие варианты, но я пока вижу вариант с дублированием текстур для G-буфера с вдвое меньшим разрешением. Например:
Код
u32        w=Device.dwWidth, h=Device.dwHeight;
// оригинал, для итоговой картинки
rt_Position.create            (r2_RT_P,        w,h,D3DFMT_A16B16G16R16F);
rt_Normal.create            (r2_RT_N,        w,h,D3DFMT_A16B16G16R16F);
rt_Color.create            (r2_RT_albedo,    w,h,D3DFMT_A8R8G8B8        );
// для прицела (размер/2)
rt_Position_temp.create            (r2_RT_P_temp,        w/2,h/2,D3DFMT_A16B16G16R16F);
rt_Normal_temp.create            (r2_RT_N_temp,        w/2,h/2,D3DFMT_A16B16G16R16F);
rt_Color_temp.create            (r2_RT_albedo_temp,    w/2,h/2,D3DFMT_A8R8G8B8        );

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

А в phase_scene_begin() и других местах начать использовать соответствующие кадру RT:
Код
if (bIsScopeFrame)
u_setrt        (rt_Position_temp,    rt_Normal_temp,    rt_Color_temp,        HW.pBaseZB); // для прицела
else
u_setrt        (rt_Position,    rt_Normal,    rt_Color,        HW.pBaseZB);  // для итоговой картинки


Получится, что дополнительные текстуры будут висеть в памяти, хоть и разрешение у них вдвое меньше. Скорее всего есть варианты проще и оптимизированнее, но это надо спрашивать K.D. и тех, кто лучше в этом разбирается smile.gif

На самом деле пока есть открытый вопрос: если делать последовательный рендеринг сначала в текстуру прицела, а потом в итоговую картинку, то как быть с вещами вроде ХОМов, которые рендерятся параллельно? Рендерить два раза для прицела и готовой картинки? Или же рендерить один раз? Делать какую-то синхронизацию для этого? Как быть с рендером детейлов, которые тоже идут параллельно.

Цитата(aka_sektor @ 01.09.2017, 20:59) *
Помнится, RayTwitty хвалился, что у него тоже есть ingame редактор.

Там скриптовый, насколько я знаю.
K.D.
Цитата(SkyLoader @ 02.09.2017, 00:43) *
Цитата(Shoкer @ 01.09.2017, 21:18)
Кстати может ты, или кто либо, знаешь - насколько реализуемо динамически менять разрешение экрана на каждый кадр? Допустим рендерить каждый второй кадр в два раза меньшем разрешении.
Как я понял, ты хочешь делать полноценный рендер сцены и освещение в текстуры меньшего разрешения для прицела. Может есть какие-то другие варианты, но я пока вижу вариант с дублированием текстур для G-буфера с вдвое меньшим разрешением.

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

Другое дело, что (на мой взгляд!), вы все с этими прицелами не туда смотрите. Зум в сталкере (да и не только там) делается уменьшением field of view камеры. Что это означает с точки зрения рендера? Во-первых, меняется фрустум камеры, соответственно, изменяется граф сцены (читай, набор видимых из камеры объектов). Во-вторых, меняются все эффекты, активно работающие перспективным преобразованием (солнечное освещение как базовый пример). Т.е. технически все остальное точно такое же. Отсюда логичный вывод - не надо отдельно картинку для прицела рисовать. Нужно теоретически: а) иметь два графа сцены и б) два набора матриц для эффектов (для приближения в прицеле и для окружающей картинки). Все, дальше во время рендера можно в шейдер просто нужные матрицы для объекта передавать, а для screen space шейдеров какую-нибудь маску применять или там через стенсил рисовать в два прохода.
Конечно, два раза граф сцены строить накладно. Можно просто флажок "приближения" ввести для объектов графа и выставлять его, если объект виден в прицел. Проблемой останутся только объекты, которых и так, и так видать, но их немного будет и тут уж можно и на овердро пойти.
BoBaH_671
Цитата(Forser @ 31.08.2017, 22:27) *
Возможно, пишу не совсем по теме, но более подходящего места не вижу, да и цитата в принципе из этой же темы.
Собственно, как запускается этот редактор? Я ставил дебаг версию движка от Shoker с редактором погоды, но та не работала ни с ключом editor, ни без него.

В этот не запускается тоже. Просто ничего не происходит. Я что-то не так делаю явно. Покажите. smile.gif

Xottab_DUTY
BoBaH_671, должны лежать в папке с остальными dll-ками и xrEngine.exe два файла: editor.dll и editor_controls.dll и запуск через ключ -editor
Если OpenXRay, то там dll-ки называются чуть-чуть по-другому: xrWeatherEditor.dll и xrSdkControls.dll, ключ тот же.

Может у тебя просто дефиса не хватало в ключе запуска? biggrin.gif Ну.. Что увидел в сообщении)
Если не из-за этого, то не знаю даже smile.gif
BoBaH_671
Дефис был. Я просто название ключа написал сюда. Спс за инфу. Проверю.
Zagolski
DockPanelSkin.dll
Flobbster.Windows.Forms.PropertyGrid.dll
WeifenLuo.WinFormsUI.Docking.dll

А эти разве не нужны для редактора погоды? Не?
serg101188
Всем привет
Кто сможет потскозать мне такая ситуация решил перекинут оружия из за в тч движковое рендер сделал понимает сдк 07 ну то есть ogf загружает из за анимаций 16 бит
Перекинул весь weapons huditem... Ну короче оружейку загружаются игру все нормально едет сталкера держат оружия а вот когда сам достаешь оружия не видно но стреляет покороче нету худа рук тоесть модели кто потскажит чо ещё не доделал или чота не правильно сделал если надо исходники посмотреть могу скинуть

Извеняюсь правописания писал с телефона тот все перековыркал

Я понимаю, что у нас тут за грамматику особо не судят, но, серьёзно, надо писать так, чтоб смысл хотя бы бы понятен с 1-2-го прочтения. Отмазка, что ты пишешь с телефона - так себе. Я тут с телефона 70% времени отвечаю и корректирую посты. [ForserX]
BoBaH_671
Сейчас проверил наличие файлов editor.dll и editor_controls.dll. На месте они. Так в чём проблема-то?
Делал как у Shoker'а:


И не говорите мне про кавычки, они при сохранении исчезают. smile.gif

Цитата(Zagolski @ 02.09.2017, 09:11) *
DockPanelSkin.dll
Flobbster.Windows.Forms.PropertyGrid.dll
WeifenLuo.WinFormsUI.Docking.dll

А эти разве не нужны для редактора погоды? Не?

Все они есть в архиве. Не пашет.

Форест, отзовись. Может, ты знаешь? smile.gif
ForserX
Цитата(BoBaH_671 @ 02.09.2017, 09:55) *
Форест

Я уже понял, что мой ник на кириллице единицы правильно пишут. В соседней теме выкладывал свою сборку. x64 release с поддержкой редакторов. Возьми оттуда.
Цитата
S.T.A.L.K.E.R. COP 1.6.02.f x64 rev.502
* BugFix ver
запуск

Кидаем в бинарники в папку bins64 или же вы можете назвать её по своему, главное чтоб не конфликтовали с оригинальными бинарниками. Ставить геймдату из ссылки выше. Открываем bins64 и даблклик по xrEngine.exe. PROFIT.

Требуются Visual C++ Redistributable for Visual Studio 2017 x64.
aka_sektor
Цитата(Shoкer @ 01.09.2017, 21:18) *
родной ЧН-овский движковый редактор погоды

Я что-то пропустил? С каких пор он вшит в движок?

Цитата(SkyLoader @ 01.09.2017, 23:43) *
Там скриптовый, насколько я знаю.

Т.е. меню не в окне, а в самой игре GUI?

Цитата(BoBaH_671 @ 02.09.2017, 09:55) *
они при сохранении исчезают

Почему не через .bat-ник?
ForserX
Цитата(aka_sektor @ 02.09.2017, 12:00) *
Я что-то пропустил? С каких пор он вшит в движок?

C 2014.
aka_sektor
Цитата(Forser @ 02.09.2017, 12:05) *
C 2014.

Я так понимаю, в релизе, с 10 патчем его не было.
Это в исходниках нашли. Так?
Выходит и работает он только в движке который из них собран.
ForserX
Цитата(aka_sektor @ 02.09.2017, 12:09) *
Это в исходниках нашли. Так?
Выходит и работает он только в движке который из них собран.

По дефолту, он для релизной сборки вообще отключен. Only Mixed/Debug. Но, засунуть его туда не составляет проблем.
И работает он только в новособранных движках.
BoBaH_671
Цитата(Forser @ 02.09.2017, 11:52) *
Я уже понял, что мой ник на кириллице единицы правильно пишут.

Да я ж по приколу, чё ты, а? tongue.gif
Цитата(Forser @ 02.09.2017, 11:52) *
В соседней теме выкладывал свою сборку. x64 release с поддержкой редакторов. Возьми оттуда.

Спасибо. Сейчас заценим.
ForserX
Цитата(BoBaH_671 @ 02.09.2017, 13:00) *
Да я ж по приколу, чё ты, а?

Да мне всё равно, по сути. Главное, чтоб я сам понял, когда по мне обращаются.
AndreySol
Такое от чего может происходить:
кусок лога вылета
....
count of .thm files=6294
load time=27600 ms
* NULLRT supported
* ...and used
* HWDST/PCF supported and used
- r__tf_aniso 12
- r2_tf_mipbias 0.
stack trace:

0023:56C1764C xrLUA.dll, luabind::detail::class_rep::add_base_class(), f:\xray2013\xr_src\xrlua\luabind\class_rep.cpp, 899
0023:56C18161 xrLUA.dll, luabind::detail::create_class::stage2(), f:\xray2013\xr_src\xrlua\luabind\create_class.cpp, 90
0023:56BFCD77 xrLUA.dll, luaJIT_run(), f:\xray2013\xr_src\xrlua\src\ljit_core.c, 117
0023:56BF4715 xrLUA.dll, luaD_precall(), f:\xray2013\xr_src\xrlua\src\ldo.c, 282
0023:56BF49B0 xrLUA.dll, luaD_call(), f:\xray2013\xr_src\xrlua\src\ldo.c, 380
0023:56BE9E32 xrLUA.dll, f_call(), f:\xray2013\xr_src\xrlua\src\lapi.c, 821
0023:56BF468C xrLUA.dll, luaD_rawrunprotected(), f:\xray2013\xr_src\xrlua\src\ldo.c, 120
0023:56BF48D5 xrLUA.dll, luaD_pcall(), f:\xray2013\xr_src\xrlua\src\ldo.c, 463
0023:56BE9E02 xrLUA.dll, lua_pcall(), f:\xray2013\xr_src\xrlua\src\lapi.c, 842
0023:778D4C44 xrGame.dll, CScriptStorage::do_file(), f:\xray2013\xr_src\xr_3da\xrgame\script_storage.cpp, 386
0023:778D37DD xrGame.dll, CScriptEngine::process_file_if_exists(), f:\xray2013\xr_src\xr_3da\xrgame\script_engine.cpp, 261
0023:778D4097 xrGame.dll, CScriptEngine::function_object(), f:\xray2013\xr_src\xr_3da\xrgame\script_engine.cpp, 319
0023:7799BA09 xrGame.dll, CObjectFactory::register_script_class(), f:\xray2013\xr_src\xr_3da\xrgame\object_factory_script.cpp, 25
0023:7775E125 xrGame.dll, luabind::detail::returns<void>::call<CObjectFactory,CObjectFactory,luabind::detail::null_type,char const *,char const *,char const *,char const *>(), f:\xray2013\xr_src\sdk\luabind\luabind\luabind\detail\call.hpp, 288
0023:7775E010 xrGame.dll, boost::detail::function::function_obj_invoker1<luabind::detail::mem_fn_callback<void (__thiscall CObjectFactory::*)(char const *,char const *,char const *,char const *),CObjectFactory,luabind::detail::null_type>,int,lua_State *>::invoke(), f:\xray2013\xr_src\sdk\boost_1_30_0\boost\function\function_template.hpp, 117
0023:56BE2A4F xrLUA.dll, luabind::detail::overload_rep::call(), f:\xray2013\xr_src\sdk\luabind\luabind\luabind\detail\overload_rep_impl.hpp, 35
0023:56C15811 xrLUA.dll, luabind::detail::class_rep::function_dispatcher(), f:\xray2013\xr_src\xrlua\luabind\class_rep.cpp, 752
0023:56BFCD77 xrLUA.dll, luaJIT_run(), f:\xray2013\xr_src\xrlua\src\ljit_core.c, 117
0023:56BF4715 xrLUA.dll, luaD_precall(), f:\xray2013\xr_src\xrlua\src\ldo.c, 282
0023:56BFCD77 xrLUA.dll, luaJIT_run(), f:\xray2013\xr_src\xrlua\src\ljit_core.c, 117
0023:56BF4715 xrLUA.dll, luaD_precall(), f:\xray2013\xr_src\xrlua\src\ldo.c, 282
0023:56BF49B0 xrLUA.dll, luaD_call(), f:\xray2013\xr_src\xrlua\src\ldo.c, 380
0023:56BE9E32 xrLUA.dll, f_call(), f:\xray2013\xr_src\xrlua\src\lapi.c, 821
0023:56BF468C xrLUA.dll, luaD_rawrunprotected(), f:\xray2013\xr_src\xrlua\src\ldo.c, 120
0023:56BF48D5 xrLUA.dll, luaD_pcall(), f:\xray2013\xr_src\xrlua\src\ldo.c, 463
0023:56C1ACBA xrLUA.dll, luabind::detail::pcall(), f:\xray2013\xr_src\xrlua\luabind\pcall.cpp, 41
0023:777185CC xrGame.dll, luabind::detail::proxy_functor_void_caller<boost::tuples::tuple<CObjectFactory * const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boo
st::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tu
ples::null_type,boost::tuples::null_type,boost::tuples::null_type> >::~proxy_functor_void_caller<boost::tuples::tuple<CObjectFactory * const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boo
st::tuples::null_ty(), f:\xray2013\xr_src\sdk\luabind\luabind\luabind\functor.hpp, 284
0023:778D3648 xrGame.dll, CScriptEngine::register_script_classes(), f:\xray2013\xr_src\xr_3da\xrgame\script_engine.cpp, 305
0023:778D3FDD xrGame.dll, CScriptEngine::init(), f:\xray2013\xr_src\xr_3da\xrgame\script_engine.cpp, 185
0023:778D8057 xrGame.dll, CAI_Space::init(), f:\xray2013\xr_src\xr_3da\xrgame\ai_space.cpp, 71
0023:7763554E xrGame.dll, ai(), f:\xray2013\xr_src\xr_3da\xrgame\ai_space_inline.h, 93
0023:776F608D xrGame.dll, object_factory(), f:\xray2013\xr_src\xr_3da\xrgame\object_factory_inline.h, 20
0023:77995E79 xrGame.dll, xrFactory_Create(), f:\xray2013\xr_src\xr_3da\xrgame\xrgame.cpp, 30
0023:0126DCE6 XR_3DA.exe, Startup(), f:\xray2013\xr_src\xr_3da\x_ray.cpp, 252
0023:0126D980 XR_3DA.exe, WinMain_impl(), f:\xray2013\xr_src\xr_3da\x_ray.cpp, 683
0023:0126D68A XR_3DA.exe, WinMain(), f:\xray2013\xr_src\xr_3da\x_ray.cpp, 743
0023:0126A6F1 XR_3DA.exe, __tmainCRTStartup(), f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c, 618
0023:765B33AA kernel32.dll
0023:76F09F72 ntdll.dll
0023:76F09F45 ntdll.dll
1_A
а баг треп х64 вообще работает вне АМД (просто версия как написано )

Цитата
[-x64] - 64 bit version for AMD-64 platform has '-x64' suffix. x86 version doesn't have this suffix.


На моем интеле чет не пашет, сама длл прогружается вроде как, но заветное окошко не появляется. как выход забить на багтреп или подключать х86 ?
ForserX
virus_ua, х86 dll несовместимы с х64. И да, снова будешь его отстаивать в споре со мной или выкинешь его наконец?
1_A
Forser, ок предложи альтернативу для принятия на сервер инфы о крешах.
ForserX
virus_ua, не подскажу про то, что сам не использую.
Xottab_DUTY
virus_ua, кроссплатформенные Breakpad или Crashpad прямиком из Chromium. Для Crashpad нужны исходники Chromium, либо библиотека mini_chromium.

Для сборки Breakpad и Crashpad используется система GYP, которая может генерировать нормальные (как-будто ты их сам настраивал в студии) файлы проектов для Visual Studio. По крайней мере, я видел файлы GYP в обоих проектах.

Breakpad - Windows, Linux, Max, Solaris и др.. Первая система для собирания и отправки падений.
Crashpad - Windows, Mac, ~Android (WIP).. Новая система сделанная в 2015 из-за изменений в Mac и портированная на Windows. В планах порт на Linux и другие ОС..

Думаю, для Windows-only сталкера проще приделать Crashpad... Там это... Файлов исходников меньше biggrin.gif

Надо только разобраться как оно устроено и прикрутить..
1_A
Xottab_DUTY, та мне кажется перебор такое сувать в х-рей laugh.gif , хотя в процессе googling наткнулся еще на это с "онлайн ГУИ" но оно не бесплатное .
на @mail слать логи о вылетах в 2к17 это перебор. в Баг трепе есть под веб скрипт, но это кошмар.



Вообще в багтреп release 3 папки под Server (что предоставляет автор) - BugTrapServer[exe], BugTrapWebServer( ^), JBugTrapServer (?).
exe na серваке не запустишь, а винду как server юзать не практично, меня вполне устраивает деф формат пакованого лога [save + dump + log]. Крч, буду чето думать. А выкинуть - всегда проще простого.

Forser, не защищаю багтреп но воспроизводить каждый раз баг или вылет это юзелес.
Tron
у меня breakpad был(клиентская часть). Притом собрана была именно минимальная сборка под винду
AndreySol
Пару вопросов по движковой структуре SHit.
Hit.h:
SHit (float Power, Fvector &dir, CObject *who, u16 element, Fvector p_in_object_space, float impulse, ALife::EHitType hit_type, float ap = 0.0f, bool AimBullet=false);
Hit.cpp:
SHit::SHit(float aPower, Fvector &adir, CObject *awho, u16 aelement, Fvector ap_in_bone_space, float aimpulse, ALife::EHitType ahit_type, float aAP, bool AimBullet)
Названия аргументов в объявлении не совпадают с названиями в реализации. Я всегда думал, что должно совпадать ?

u16 element - косточка, по которой пришелся хит ? Не могу найти, где перечислены все возможные косточки, подскажите.


Класс CEntityCondition как я понимаю используется и для актера и для мобов. А как в этом классе определиться - "кто мы сейчас". Т.е., к примеру в ф-ции этого класса ConditionHit определить, для кого она сработала - для актера или не актера ?
serg101188
https://www.gameru.net/forum/index.php?s=&a...t&p=1622500
некто не может помочь
Diesel
Цитата(serg101188 @ 04.09.2017, 14:10) *
некто не может помочь

Цитата(serg101188 @ 02.09.2017, 11:31) *
Извеняюсь правописания писал с телефона тот все перековыркал

Капетс, я сперва подумал - это Яндекс переводчик. Да нет, программа так не переводит.
ForserX
AndreySol, а ты в курсе, что можно в cpp названия вообще не указывать, аля:
Код
void DontNeedTheArgumentsButILeaveThemForCompatibilityWithOldCode(int, int*, float)
{
...
}


andreyholkin, ну, не стоило отдельный пост делать ради этого.

serg101188, друг мой, давай в следующий раз по-разборчивей.
1_A
Tron, ну минимизировать все это дело - стоит скорее в последнюю часть.
Xottab_DUTY, вообще спасибо за наводку нашел пару статеек example, вообще забавно ведь в деф дебаге (настройках) bag_trap x-ray, даже нет лимита на отправку лога, что ли? можно ведь завалить так логами laugh.gif
serg101188
Цитата(serg101188 @ 02.09.2017, 12:31) *
Всем привет
Кто сможет потскозать мне такая ситуация решил перекинут оружия из за в тч движковое рендер сделал понимает сдк 07 ну то есть ogf загружает из за анимаций 16 бит
Перекинул весь weapons huditem... Ну короче оружейку загружаются игру все нормально едет сталкера держат оружия а вот когда сам достаешь оружия не видно но стреляет покороче нету худа рук тоесть модели кто потскажит чо ещё не доделал или чота не правильно сделал если надо исходники посмотреть могу скинуть

Извеняюсь правописания писал с телефона тот все перековыркал

Я понимаю, что у нас тут за грамматику особо не судят, но, серьёзно, надо писать так, чтоб смысл хотя бы бы понятен с 1-2-го прочтения. Отмазка, что ты пишешь с телефона - так себе. Я тут с телефона 70% времени отвечаю и корректирую посты. [ForserX]


проста писал с телефона и не смотрел на правописания на примере из зп в тч.. а он написал из за в тч

вот пример что получилось


самого худа оружия нет.. а вот сталкера держат оружия
AndreySol
Цитата(Forser @ 04.09.2017, 15:48) *
что можно в cpp названия вообще не указывать

Это видимо только в объявлении, а в реализации - как тогда аргументы внутри самой ф-ции использовать ?
ForserX
AndreySol, ты зря на название функции не глянул.
Цитата
DontNeedTheArgumentsButILeaveThemForCompatibilityWithOldCode
AndreySol
Тут вот нашел такое в движке - в CEntityCondition::ConditionHit обработка хита:
Код
    float hit_power_org = pHDS->damage();
    float hit_power = hit_power_org;
    hit_power = HitOutfitEffect(hit_power, pHDS->hit_type, pHDS->boneID, pHDS->ap);
далее:
Код
float CEntityCondition::HitOutfitEffect(float hit_power, ALife::EHitType hit_type, s16 element, float AP)
{
....
    pOutfit->Hit(hit_power, hit_type);
....
}
далее в:
Код
CCustomOutfit::Hit(float hit_power, ALife::EHitType hit_type)
{
    hit_power *= m_HitTypeK[hit_type];
    ChangeCondition(-hit_power);
}
Если я ничего не проглядел, то получается, что при получении к примеру телепатического(ну и радиационного до кучи) хита, происходит износ броника ?
Молния в вакууме
Цитата(virus_ua @ 04.09.2017, 06:05) *
exe na серваке не запустишь, а винду как server юзать не практично

Запускай jar значит, он кроссплатформенный laugh.gif
ForserX
AndreySol, вроде да.
Tron
Цитата(virus_ua @ 04.09.2017, 14:56) *
Tron, ну минимизировать все это дело - стоит скорее в последнюю часть.

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

Папочка crashreport
s
i
Может залью отдельно на гитхаб. Версия старая уже - год 2014
jamakasi
Цитата(virus_ua @ 04.09.2017, 14:56) *
вообще забавно ведь в деф дебаге (настройках) bag_trap x-ray, даже нет лимита на отправку лога, что ли? можно ведь завалить так логами laugh.gif

Как правило сервак через fail2ban даст бан на пару минут и на сервере при приходе нового бага идет проверка небыло ли подобного и если был то ему просто ставится +1 и добавляется служебная инфа типа ос\проц\гпу и т.д.
Diesel
Цитата(serg101188 @ 04.09.2017, 17:06) *
самого худа оружия нет.. а вот сталкера держат оружия

Сталкера держат в руках мировую модель оружия, а ГГ если в камере Худа (1го вида), то держит худ-оружие. Это разные модели.
Когда ГГ в худе выкидывает оружие из из рук на землю, оружие превращается в мировую модель.
Не понял, причём тут исходники (если исходники битые, то у тебя все худ-оружие исчезнет). Ты случайно камеры ГГ не правил?

Может у тебя худ рук за камерой - смотри настройки конфигов оружия.

В режиме Худ выстрел идёт из центра экрана, а не из оружия. Если камеру поправить, то ГГ может пристрелить сам себя.

Я делал эксперимент в режиме худ, проявлял модель ГГ, скрывая худ-рук.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.