Слияние feat/viewmodel: посадка вьюмоделей и встроенный weapon_pistol
Из ветки feat/viewmodel (32aad74):
- встроенный SWEP weapon_pistol (Slot 1, ClipSize 18, одиночный
PrimaryAttack, HUD 17/18) — регистрируется только если в ассетах нет
своего lua/weapons/weapon_pistol.lua (оригинал приоритетнее);
- посадка вьюмодели по модели: таблица right/up/distance/scale/angles
(w_pistol, v_pistol, c_smg1); ключ — ось ствола: у w_pistol это +Y,
у v_pistol/c_smg1 — +X; общий view_yaw=-90 ломал флечетган;
- движок: ModelInstance.scale, set_model_instance_scale,
play_model_animation_oriented / move_model_instance_oriented;
ViewModelFOV пересчитывается в масштаб, поля SWEP (ViewModelOffset/
Angles/Scale) перекрывают таблицу;
- слот 1 возвращает пистолет после флечетгана/кулаков, 0 скрывает
вьюмодель (c_arms без геометрии); тест slot_keys_match_gmod.
Проверено: 28 сьютов зелёные; кадры всех трёх моделей (ближе_near=0,
ствол вперёд), HUD пистолета, переключения.