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

Expropriator

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

@ed_rez, я партиклы то новые использую. Посмотри в шапке в погоде. Может дело в этом. И еще я сейчас буду тестировать новую gamemtl.xr - вернее свою старую. Дождь то через крышу не должен идти.

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, опять полетело.


 

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

stack trace:

0023:04CAC7DE xrGame.dll, CScriptGameObject::bone_position(), x:\scs_source_code_ogsm\clearsky\engine\xrgame\script_game_object.cpp, 303
0023:04CCA75B xrGame.dll, luabind::detail::returns<_vector3<float> >::call<CScriptGameObject,CScriptGameObject,luabind::detail::null_type,char const *>(), x:\scs_source_code_ogsm\clearsky\sdk\include\luabind\detail\call.hpp, 207
0023:04CD0895 xrGame.dll, boost::detail::function::function_obj_invoker1<luabind::detail::mem_fn_callback<_vector3<float> (__thiscall CScriptGameObject::*)(char const *)const ,CScriptGameObject,luabind::detail::null_type>,int,lua_State *>::invoke(), x:\scs_source_code_ogsm\clearsky\sdk\include\boost\function\function_template.hpp, 117
0023:006472EB luabind.beta7-devel.rc4.dll, luabind::detail::overload_rep::call()
0023:007E2D93 lua.JIT.1.1.4.dll, luaopen_io()
 
[error][      87]    : Параметр задан неверно.

 

 

Сейчас глянем, что это такое.

 

CScriptGameObject::bone_position(), x:\scs_source_code_ogsm\clearsky\engine\xrgame\script_game_object.cpp, 303

 

Что у меня за двигатель?


 

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

 

Fvector    CScriptGameObject::bone_position    (LPCSTR bone_name) const
{
    u16                    bone_id;
    if (xr_strlen(bone_name))
        bone_id            = smart_cast<IKinematics*>(object().Visual())->LL_BoneID(bone_name);
    else
        bone_id            = smart_cast<IKinematics*>(object().Visual())->LL_GetBoneRoot();

    Fmatrix                matrix;
    matrix.mul_43        (object().XFORM(),smart_cast<IKinematics*>(object().Visual())->LL_GetBoneInstance(bone_id).mTransform);
    return                (matrix.c);
}

 

 

И что это значит?

 

    matrix.mul_43        (object().XFORM(),smart_cast<IKinematics*>(object().Visual())->LL_GetBoneInstance(bone_id).mTransform);

 

Короче, у меня походу динамика не переваривается из мода.

 

Вылет случайный.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

Мысли вслух о вылете выше:

 

\clearsky\engine\Layers\xrRender\SkeletonCustom.h

    ICF Fmatrix&                LL_GetTransform        (u16 bone_id)        {    return LL_GetBoneInstance(bone_id).mTransform;  

 

Рендер скелетов ЧН бажит в рендере ЗП? 

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, судя по коду, то это чисто скриптовая фигня

.def("bone_position",                &CScriptGameObject::bone_position)

 

Авторы указали группу: // object handler

 

Эта приблуда для движка ни чего особа то и не грузит, это типа как четвёртая позиция камеры для авто, не более.

 

Возможно это даже из конфига прилетает багом, спросить бы шарящих - да нет уже никого.

 

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, корабли. авто.

Для сцен:

Можно аэроплан на базе вертолёта найти. Можно и танк даже,  с анимационными гусеницами, сделать.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, ed_rez сказал:

@Expropriator

а получится такие огромные локации скомпилировать?

Компилятор может много, предел лишь в железе.

 

2 часа назад, ed_rez сказал:

@Expropriator

И как быть со стелсом в ЧН, я не знаю на сколько реализуемо?

О я откуда знаю. Что такое стелз? Типа сзади засадить...:570:

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, "Смерть шпиёнам" уже есть. Нужен просто геймлей, типа сталкера. Например партизанский отряд - выживачь короче.

 

Я в отпуск ухожу на всё лето. Буду теперь на сайте не скоро.

 

Обновил шапку:

3. Установить фикс N4 с заменой файлов (фикс содержит предыдущие правки).

4. Установить патч движка (луна - автор cjayho + отключения вылета по d3d11+ черный экран баг-фикс + правильный свет фонаря.).

 

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez

 

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

Search "bone_position" (53 hits in 18 files)
  F:\xrCompress\gamedata\scripts\watcher_act.script (1 hits)
    Line 147:  function correct_position(gi,npc) if IsStalker(gi) then local diff=gi:bone_position("bip01_head"):sub(level.vertex_position(gi:level_vertex_id())) local len=diff:magnitude() local diffp=vector():set(diff.z,0,-diff.x):mul(0.5) diff:add(diffp) return npc:vertex_in_direction(gi:level_vertex_id(),diff,len) else return gi:level_vertex_id() end end
  F:\xrCompress\gamedata\scripts\lua_help.script (1 hits)
    Line 7565:     function bone_position(string) const;
  F:\xrCompress\gamedata\scripts\ph_camera.script (2 hits)
    Line 153:     local actor_pos = utils.vector_copy_by_val(actor:bone_position("bip01_head"))
    Line 154:     local lense_pos = utils.vector_copy_by_val(self.object:bone_position("bone_light"))
  F:\xrCompress\gamedata\scripts\xr_kamp.script (4 hits)
    Line 350:         local diff=gi:bone_position(bone):sub(level.vertex_position(self.a.dest_lvid))    --(gi:position())
    Line 354:             self.a.dest_lvid = npc:accessible_nearest(gi:bone_position(bone),vector())
    Line 523:     local dir=self.object:bone_position("bip01_l_hand"):sub(gi:bone_position(self.bone))
    Line 523:     local dir=self.object:bone_position("bip01_l_hand"):sub(gi:bone_position(self.bone))
  F:\xrCompress\gamedata\scripts\xr_corpse_detection.script (6 hits)
    Line 474:     local dist = npc_pos:distance_to(is_mutant and target:bone_position(monster_parts_cut_bones[target:clsid()] or "bip01_spine") or target:center())
    Line 535:         local look_pos = self.a.is_corpse and target:bone_position(monster_parts_cut_bones[target:clsid()] or "bip01_spine1") or target:center()
    Line 536:         npc:set_sight(look.direction,vector():sub(vector():set(0,0.35,0):add(look_pos),npc:bone_position(self.torso_look==true and "bip01_neck" or "bip01_spine")),self.torso_look==true)
    Line 860:     local pos = target:bone_position(bone)
    Line 869:     hi.direction = knife and vector():sub(pos,npc:bone_position("bip01_neck")) or vector():sub(npc:bone_position("bip01_neck"),pos)
    Line 869:     hi.direction = knife and vector():sub(pos,npc:bone_position("bip01_neck")) or vector():sub(npc:bone_position("bip01_neck"),pos)
  F:\xrCompress\gamedata\scripts\bind_car.script (5 hits)
    Line 463:         local dist = self.object:bone_position(bone):distance_to(actor_pos)
    Line 465:             local blw = self.object:bone_position("back_left_wheel")
    Line 466:             local flw = self.object:bone_position("front_left_wheel")
    Line 467:             local brw = self.object:bone_position("back_right_wheel")
    Line 468:             local frw = self.object:bone_position("front_right_wheel")
  F:\xrCompress\gamedata\scripts\rx_gl.script (3 hits)
    Line 252:         self.launch_pos = npc:bone_position("bip01_head"):add(npc:direction():div(3))
    Line 466:                 local launch_pos = npc:bone_position("bip01_head"):add(npc:direction():div(3))
    Line 1055:     fpm.c = npc:bone_position("bip01_r_finger01")
  F:\xrCompress\gamedata\scripts\rx_utils.script (2 hits)
    Line 707:         return npc:bone_position("neck_r")
    Line 709:         return npc:bone_position(bone or get_fire_bone(npc:section(),"torso"))
  F:\xrCompress\gamedata\scripts\rx_knife.script (5 hits)
    Line 87:         return trg:bone_position("bip01_pelvis").y+0.2 > trg:bone_position("bip01_head").y
    Line 87:         return trg:bone_position("bip01_pelvis").y+0.2 > trg:bone_position("bip01_head").y
    Line 93:     return cls_id == clsid.zombie_s and trg:bone_position("bip01_pelvis").y+0.2 > trg:bone_position("bip01_head").y
    Line 93:     return cls_id == clsid.zombie_s and trg:bone_position("bip01_pelvis").y+0.2 > trg:bone_position("bip01_head").y
    Line 348:                 if rx_utils.safe_bone_pos(target,"bip01_neck"):distance_to(npc:bone_position("bip01_neck")) < 1.5 then
  F:\xrCompress\gamedata\scripts\ph_car.script (4 hits)
    Line 1200:     self.prev_pos=obj:bone_position("bip01_spine1")
    Line 1203:   local curpos=obj:bone_position("bip01_spine1")
    Line 1205:   local delta=obj:bone_position("bip01_spine1"):sub(self.prev_pos)
    Line 1229:         local pos=self.object:bone_position("mashine_gun_fire_point")
  F:\xrCompress\gamedata\scripts\xr_help_wounded.script (3 hits)
    Line 190:         local look_pos = patient:bone_position("bip01_spine1")
    Line 255:         npc:drop_item_and_teleport(item,npc:bone_position("bip01_r_hand"))
    Line 265:             local obj = alife():create(self.medkit,npc:bone_position("bip01_r_hand"),npc:level_vertex_id(),npc:game_vertex_id())
  F:\xrCompress\gamedata\scripts\rx_bandage.script (2 hits)
    Line 296:             npc:drop_item_and_teleport(ban,npc:bone_position("bip01_r_hand"))
    Line 302:             local obj = alife():create(self.st.medkit,npc:bone_position("bip01_r_hand"),npc:level_vertex_id(),npc:game_vertex_id())
  F:\xrCompress\gamedata\scripts\rx_facer.script (5 hits)
    Line 45:     local tpos = wounded and target:bone_position("bip01_spine") or target:position()
    Line 150:     npc:set_sight(look.fire_point,target:bone_position(rx_utils.get_fire_bone(target:section(),"head")))
    Line 162:         local spos,tpos = npc:bone_position("bip01_neck"),rx_utils.safe_bone_pos(target,"bip01_neck")
    Line 214:             hi.direction = target:bone_position(bone):sub(npc:bone_position("bip01_neck"))
    Line 214:             hi.direction = target:bone_position(bone):sub(npc:bone_position("bip01_neck"))
  F:\xrCompress\gamedata\scripts\rx_kill_wounded.script (4 hits)
    Line 208:     npc:set_sight(look.direction,vector():sub(enemy:bone_position("bip01_neck"),npc:bone_position("bip01_neck")),true)
    Line 208:     npc:set_sight(look.direction,vector():sub(enemy:bone_position("bip01_neck"),npc:bone_position("bip01_neck")),true)
    Line 341:     hi.direction = target:bone_position("bip01_neck"):sub(npc:bone_position("bip01_neck"))
    Line 341:     hi.direction = target:bone_position("bip01_neck"):sub(npc:bone_position("bip01_neck"))
  F:\xrCompress\gamedata\scripts\rx_combat.script (2 hits)
    Line 142:         local fire_point = rx_utils.safe_bone_pos(target,"bip01_neck")    --     target:center()    rx_utils.safe_bone_pos(target,"bip01_neck")    target:bone_position(rx_utils.get_fire_bone(target:section()))
    Line 144:         npc:set_sight(look.direction,fire_point:sub(npc:bone_position("bip01_neck")))
  F:\xrCompress\gamedata\scripts\rx_ff.script (1 hits)
    Line 189:     local npc_pos = npc:bone_position("bip01_l_finger02")
  F:\xrCompress\gamedata\scripts\stc_strelok_health_manager.script (1 hits)
    Line 135:             local position = obj:bone_position("bip01_head")
  F:\xrCompress\gamedata\scripts\ogsm_particles.script (2 hits)
    Line 37:             pos = self.obj:bone_position(self.bone)
    Line 68:                 pos = self.obj:bone_position(self.bone)

 

 

Если этот вылет будет повторятся, то придётся логику выкидывать. Найти причину, ни как не возможно.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, еще я думаю, что во время багов с летающими трупами, после загрузки сохранения, кости улетают за пределы аи-сетки и поэтому происходит такой баг, так нпс не успевает среагировать (типа только что была кость и улетела мгновенно куда то) Раз у тебя такого не было, значит это исключение.

 

По идее, это нужно оговаривать в скриптах. Тогда такого бага не будет.

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

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@Murarius, мы тут движок делаем 1.5.11 (пытаемся). Название у темы будет стабильное SCS 1.5.11. Зачем плодить много тем. Сами сборки - это побочный эффект.

Тестируем, короче STALKER CLEAR SKY - это и есть абривеатура SCS.

  • Согласен 1

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, делку партиклов нужно смотреть в движке. У меня нет такого бага. Это видяха тупит твоя. Или я в коде, чего накосячил.

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, dx10.1? А я не знаю, чем отличается 0 и 1. Знаю одно, что библиотеки там dxsdk 2010 года. Буфер dx10.

Мыло в рендере, так как в оригинале ЧН мыло.

Движок постепенно отточим, в плане качества. Я же не писал коды ЗП и ЧН, потому и не шарю во многом. Знания придут постепенно.

 

r3_use_dx10_1 on - dx10.1

r3_use_dx10_1 off - dx10.0

 

 

@ed_rez, проверь баги, которые были на скринах у тебя.

1. Проверь это:

r3_use_dx10_1 on - dx10.1

r3_use_dx10_1 off - dx10.0

 

2. Выключи солнечные лучи.

3. Поменяй погоду на оригинал.

4.И еще, как то надо проверить текстуры:

textures\lights

textures\fx

textures\pfx

8 часов назад, ed_rez сказал:

Почему фальшивый?

Потому что в ЗП шейдерах один препроцессор на dx10, а в ЧН их два.

Шейдера у нас из ЗП, соотвественно препроцессоры не активируют ничего.

Получается у нас один по факту рендер dx10, такой же как в ЗП примерно.

Изменено пользователем Expropriator
  • Спасибо 1

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
48 минут назад, ed_rez сказал:

прошлый вариант был более детализирован,

В OGSM текстуры материалов были новые, не оригинальные.

Можно взять их в эту сборку. Но вес архива вырастит на много.

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez
 

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

 

bcacc5d5cdb87b250f85bef5d900137d1fadf234

ad28b1ffda67f8ef06600f97f9e70e791fadf234

ac8622fdbf7adef268f5abc1aa4ed7f91fadf234

3e5a79f7990c2dd805f816cbddb509041fadf234

9ea69d08cdeda4889a522bae31840e441fadf234

30d58aa03be5450bbf841ae0923ce5041fadf234

25b2c4f4320073cdfc1293b545b57e351fadf234

d048826b090fe1d58d9602c3180943e71fadf234

c79d696c0958a88b153eeaf609630c711fadf234

87a3b06b56a03434bfde395a6e7a25171fadf234

6816747f17dce551b2a7dfd6b2fb56621fadf234

 

 

Что там хорошего? Там вижу прям косяки, особенно в детальных текстурах. Дизайнерски не фонтан. Есть текстуры прям раздражают. Есть дереья ИВЫ - уже утомили.

 

Установка по быстрому такая: Кидаешь в gamedata папку level и текстуры (кроме UI). Остальное не надо, пока не вылетит из-за шейдера нового, где нибудь на другой локации.

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

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, кстати OGSM текстуры многое правят.
 

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

 

d973b8a2f76403b82a12f6c82504d4761fadf234

2e62e5c87cdf6eb37969b1425fc718d31fadf234

 

 

Осталось игру пробежать, для отлавливания бага.

 

 

  • Нравится 1

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, немного потестировал пак локаций, к сожалению только Болота. Есть претензия крупнее, чем текстуры, там очень плохая оптимизация самого уровня.

Есть две вещи, которые можно от туда взять - это траву и тектстуры террейнов.

andreyholkin.gif

rod_cccp.gif

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

×
×
  • Создать...