diff options
| author | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
| commit | 3d412a4b30a9f7c7f51ea6562e694315948bd3da (patch) | |
| tree | 26d67dfd1f3e5fd12903ad13e85d0cb8bcf8f21c /cheat/gmod/autowall.hpp | |
| parent | e4729e4393d90271a3814c7a79950a660c48325a (diff) | |
cleaned up
in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever.
i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64
Diffstat (limited to 'cheat/gmod/autowall.hpp')
| -rw-r--r-- | cheat/gmod/autowall.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/cheat/gmod/autowall.hpp b/cheat/gmod/autowall.hpp new file mode 100644 index 0000000..dfddbcc --- /dev/null +++ b/cheat/gmod/autowall.hpp @@ -0,0 +1,34 @@ +#pragma once
+#include "sdk.hpp"
+#include "pattern.hpp"
+#include "interface.hpp"
+
+struct fire_bullet_data_t {
+ vec3_t src;
+ CGameTrace enter_trace;
+ vec3_t direction;
+ CTraceFilter filter;
+ float trace_length;
+ float trace_length_remaining;
+ float length_to_end;
+ float current_damage;
+ int penetrate_count;
+};
+
+namespace features
+{
+ class c_autowall {
+ private:
+ bool is_armored( c_base_player* entity, int armor_value, int hitgroup );
+ void scale_damage( c_base_player* entity, int hitgroup, float weapon_armor_ratio, float& damage );
+ void trace_line( const vec3_t& abs_start, const vec3_t& abs_end, unsigned mask, void* ignore, CGameTrace* trace );
+ bool is_breakable( IClientEntity* ent );
+
+ bool trace_to_exit( vec3_t start, vec3_t& dir, vec3_t& out_end, CGameTrace& tr, CGameTrace* exit_trace );
+
+ public:
+ bool handle_bullet_penetration( weapon_info_t* wpn_data, fire_bullet_data_t& data );
+ bool fire_bullet( c_base_player* shooter, c_base_player* target, weapon_info_t* wep_data, fire_bullet_data_t& data, bool ent_check = true, bool scale_damage = true );
+ float run( c_base_player* shooter, c_base_player* target, const vec3_t& end, bool ent_check = true );
+ };
+}
\ No newline at end of file |
