From 497cc9c9b4996f8bb3e024e6a03d9cd7af09bb46 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 14 May 2015 16:53:22 -0700 Subject: [PATCH] Hit camera. --- addons/vehicledamage/XEH_preInit.sqf | 2 +- extensions/common/directx/d3d_display.cpp | 9 ++++++--- extensions/tests/longrod_dxtk_test.txt | 8 ++++++-- extensions/vd/debug/penetration_display.cpp | 8 ++++---- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/addons/vehicledamage/XEH_preInit.sqf b/addons/vehicledamage/XEH_preInit.sqf index d89dd6ea46..fe50e1bcaf 100644 --- a/addons/vehicledamage/XEH_preInit.sqf +++ b/addons/vehicledamage/XEH_preInit.sqf @@ -17,7 +17,7 @@ GVAR(debug_log) = []; #endif #ifdef DEBUG_EXTENSION_DYNLOAD // This value is used for debug loading of the extension with dynload -GVAR(extensionLibrary) = "z\ace\extensions\build\vd\Debug\ace_vd.dll"; +GVAR(extensionLibrary) = "z\ace\extensions\build\vd\Debug\ace_vd_Debug.dll"; #endif // Extension dispatch events diff --git a/extensions/common/directx/d3d_display.cpp b/extensions/common/directx/d3d_display.cpp index f388feaa06..e068f475df 100644 --- a/extensions/common/directx/d3d_display.cpp +++ b/extensions/common/directx/d3d_display.cpp @@ -284,8 +284,7 @@ namespace ace { _pImmediateContext->ClearRenderTargetView(_pRenderTargetView, Colors::MidnightBlue); _pImmediateContext->ClearDepthStencilView(_pDepthStencilView, D3D11_CLEAR_DEPTH, 1.0f, 0); - - update_camera(); + step(); _pSwapChain->Present(0, 0); @@ -390,6 +389,9 @@ namespace ace { break; } } + + update_camera(); + } else if (raw->header.dwType == RIM_TYPEMOUSE) { RAWMOUSE mouseCurrState = raw->data.mouse; @@ -405,8 +407,9 @@ namespace ace { _camera.camYaw += mouseCurrState.lLastX * 0.005f; _camera.camPitch += mouseCurrState.lLastY * 0.005f; _last_mouse_state = mouseCurrState; - } + update_camera(); + } } delete[] lpb; diff --git a/extensions/tests/longrod_dxtk_test.txt b/extensions/tests/longrod_dxtk_test.txt index 40ff7c5d7e..77b7bce50f 100644 --- a/extensions/tests/longrod_dxtk_test.txt +++ b/extensions/tests/longrod_dxtk_test.txt @@ -1,7 +1,11 @@ #c:\arma\arma3\addons\armor_f_epb.pbo C:\dev\ace3\extensions\tests\longrod_dxtk_test.txt init: debug_render: +register_vehicle:\A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, 0, 4050.18;3802.55;5.075 register_vehicle:\A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, 1, 4046.21;3902.56;5.075 #set_animation_state:1,damageHide, 0, Wheel_kolL1, 0, Wheel_koloL1, 0, Wheel_podkoloL1, 1, Wheel_kolP1, 0, Wheel_koloP1, 0, Wheel_podkoloP1, 1, Wheel_kolL2, 0, Wheel_kolP2, 0, Wheel_koloL2, 0, Wheel_koloL3, 0, Wheel_koloL4, 0, Wheel_koloL5, 0, Wheel_koloL6, 0, Wheel_koloL7, 0, Wheel_koloP2, 0, Wheel_koloP3, 0, Wheel_koloP4, 0, Wheel_koloP5, 0, Wheel_koloP6, 0, Wheel_koloP7, 0, Wheel_podkoloL2, 1, Wheel_podkoloL3, 1, Wheel_podkoloL4, 1, Wheel_podkoloL5, 0, Wheel_podkoloL6, 0, Wheel_podkoloP2, 1, Wheel_podkoloP3, 1, Wheel_podkoloP4, 1, Wheel_podkoloP5, 0, Wheel_podkoloP6, 1, podkoloL1_hide_damage, 0, podkoloL2_hide_damage, 0, podkoloL3_hide_damage, 0, podkoloL4_hide_damage, 0, podkoloL5_hide_damage, 0, podkoloL6_hide_damage, 0, podkoloL7_hide_damage, 0, podkoloL8_hide_damage, 0, podkoloP1_hide_damage, 0, podkoloP2_hide_damage, 0, podkoloP3_hide_damage, 0, podkoloP4_hide_damage, 0, podkoloP5_hide_damage, 0, podkoloP6_hide_damage, 0, podkoloP7_hide_damage, 0, podkoloP8_hide_damage, 0, damageVez, 0, MainTurret, -3, MainGun, 0, Recoil, 0, ObsTurret, -0, ObsGun, 0, MainGunOptics, 0, Wheel_podkoloP7, 0, Wheel_podkoloL7, 0, HatchDriver, 0, HatchCommander, 0, HatchGunner, 0, damageVezVelitele, 0, poklop_commander_damage, 0, poklop_gunner_damage, 0, poklop_driver_damage, 0, zaslehROT_HMG, 101, zaslehROT_coax, 16, cannon_muzzle_flash, 0, zaslehROT_cannon, 956, HideHull, 1, HideTurret, 1, LockMuzzle, 0 -#hit:1,1,2,3,4,5,6,7,8,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,11,1,1,1,1,1,1 -set_vehicle_state:1,0;-20;0,0;0;0,0;0;0 \ No newline at end of file +#set_vehicle_state:1,0;-20;0,0;0;0,0;0;0 +hit:1, \A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, BALLS, 0.984803;0.173649;-0.00285841, 0.0029445;-0.000238176;0.999996, 2, Sh_120mm_APFSDS_Tracer_Yellow, 65, 27, 0, 0, 0, -113.705;1739.65;-16.2768, -4.0415;-2.1792;-1.48682, -0.0652189;0.99783;-0.0090309, 0.173648;-0.984808;-0.000745866, 2.17163;-2.84473;-1.37076, -113.705;1739.65;-16.2768 +hit:1, \A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, BALLS, 0.984803;0.173649;-0.00285841, 0.0029445;-0.000238176;0.999996, 2, Sh_120mm_APFSDS_Tracer_Yellow, 65, 27, 0, 0, 0, -116.629;1649.67;-22.7955, -4.0415;-2.1792;-1.48682, -0.0652189;0.99783;-0.0090309, 0.173648;-0.984808;-0.000745866, 1.20923;-2.74414;-1.38434, -116.629;1649.67;-22.7955 +hit:1, \A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, BALLS, 0.984803;0.173649;-0.00285841, 0.0029445;-0.000238176;0.999996, 2, Sh_120mm_APFSDS_Tracer_Yellow, 65, 27, 0, 0, 0, -111.44;1515.54;-18.5295, -4.0415;-2.1792;-1.48682, -0.0652189;0.99783;-0.0090309, 0.173648;-0.984808;-0.000746472, -1.08325;-2.51172;-1.41356, -111.44;1515.54;-18.5295 +hit:1, \A3\Armor_F_EPB\MBT_03\MBT_03_cannon_F.p3d, BALLS, 0.984803;0.173649;-0.00285841, 0.0029445;-0.000238176;0.999996, 2, Sh_120mm_APFSDS_Tracer_Yellow, 65, 27, 0, 0, 0, -90.7305;1382.51;-21.8112, -4.0415;-2.1792;-1.48682, -0.0652189;0.99783;-0.0090309, 0.173648;-0.984808;-0.000745866, -2.08447;-2.40234;-1.42964, -90.7305;1382.51;-21.8112 \ No newline at end of file diff --git a/extensions/vd/debug/penetration_display.cpp b/extensions/vd/debug/penetration_display.cpp index 8f7ea84cb5..8bdb94380b 100644 --- a/extensions/vd/debug/penetration_display.cpp +++ b/extensions/vd/debug/penetration_display.cpp @@ -26,7 +26,7 @@ namespace ace { btVector3 vectorFrom(5, 20, 0); btVector3 vectorTo = _vehicle->second->bt_object->getWorldTransform().getOrigin(); - btVector3 direction = vectorTo - vectorFrom; + btVector3 direction = vectorFrom - vectorTo; XMVECTORF32 eyePos = { vectorFrom.x(), vectorFrom.y(), vectorFrom.z() }; XMVECTORF32 eyeDir = { direction.x(), direction.y(), direction.z() }; @@ -123,12 +123,12 @@ namespace ace { DrawObject(_active_vehicle->fire_lod, *_Batch, *_active_vehicle->object, Colors::Gray); } if (_active_hits.size() > 0) { - DrawHits(0, *_Batch, Colors::Red); + DrawHits(0, *_Batch, Colors::Yellow); for (auto & hit : _active_hits) { std::vector> collisions; - _active_vehicle->surface_raycast(hit->impactposition, hit->impactvelocity, collisions); - DrawCollisions(collisions, *_Batch, Colors::Purple); + //_active_vehicle->surface_raycast(hit->impactposition, hit->impactvelocity, collisions); + //DrawCollisions(collisions, *_Batch, Colors::Purple); } }