Skip to content

Commit 76e2637

Browse files
committed
Добавил новый параметр shoot_point для ЗП-стволов
Сделано лишь потому, что смещение fire_point.z == -0.5 для некоторых стволов оказалось недостаточным. Теперь это можно настроить индивидуально для каждого оружия. Типа так: ```ini fire_point = 0.0, 0.133, 0.200 shoot_point = 0.0, 0.133, -0.6 ```
1 parent 5abcf0f commit 76e2637

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

ogsr_engine/xrGame/player_hud.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,7 @@ void attachable_hud_item::setup_firedeps(firedeps& fd)
216216
//KRodin придумал костыль. Из-за того, что fire_point расположен сильно впереди ствола, попробуем точку вылета пули считать от позиции fire_point.z == -0.5, т.е. ближе к актору, чтобы нельзя было стрелять сквозь стены.
217217
if (m_measures.useCopFirePoint)
218218
{
219-
const Fvector m_shoot_point_offset{ m_measures.m_fire_point_offset.x, m_measures.m_fire_point_offset.y, -0.5f };
220-
fire_mat.transform_tiny(fd.vLastShootPoint, m_shoot_point_offset);
219+
fire_mat.transform_tiny(fd.vLastShootPoint, m_measures.m_shoot_point_offset);
221220
m_item_transform.transform_tiny(fd.vLastShootPoint);
222221
fd.vLastShootPoint.add(Device.vCameraPosition);
223222
}
@@ -360,6 +359,7 @@ void hud_item_measures::load(const shared_str& sect_name, IKinematics* K)
360359
bone_name = pSettings->r_string(sect_name, "fire_bone");
361360
m_fire_bone = K->LL_BoneID(bone_name);
362361
m_fire_point_offset = pSettings->r_fvector3(sect_name, "fire_point");
362+
m_shoot_point_offset = READ_IF_EXISTS(pSettings, r_fvector3, sect_name, "shoot_point", (Fvector{ m_fire_point_offset.x, m_fire_point_offset.y, -0.5f }));
363363
}
364364
else
365365
m_fire_point_offset.set(0.f, 0.f, 0.f);

ogsr_engine/xrGame/player_hud.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ struct hud_item_measures
7171
Fvector m_fire_point2_offset;
7272
u16 m_shell_bone;
7373
Fvector m_shell_point_offset;
74+
Fvector m_shoot_point_offset{};
7475

7576
Fvector m_hands_attach[2]{}; // pos,rot
7677

ogsr_engine/xr_3da/CustomHUD.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "stdafx.h"
22
#include "CustomHUD.h"
33

4-
Flags32 psHUD_Flags{ HUD_CROSSHAIR | HUD_WEAPON | HUD_DRAW | HUD_INFO | HUD_CROSSHAIR_RT | HUD_WEAPON_RT | HUD_CROSSHAIR_DYNAMIC | HUD_CROSSHAIR_RT2 | HUD_DRAW_RT | HUD_CROSSHAIR_HARD };
4+
Flags32 psHUD_Flags{ HUD_CROSSHAIR | HUD_WEAPON | HUD_DRAW | HUD_INFO | HUD_CROSSHAIR_RT | HUD_WEAPON_RT | HUD_CROSSHAIR_DYNAMIC | HUD_CROSSHAIR_RT2 | HUD_DRAW_RT };
55

66
ENGINE_API CCustomHUD* g_hud = NULL;
77

0 commit comments

Comments
 (0)