summaryrefslogtreecommitdiff
path: root/internal_rewrite/hooks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'internal_rewrite/hooks.cpp')
-rw-r--r--internal_rewrite/hooks.cpp82
1 files changed, 55 insertions, 27 deletions
diff --git a/internal_rewrite/hooks.cpp b/internal_rewrite/hooks.cpp
index a02537a..34ba24b 100644
--- a/internal_rewrite/hooks.cpp
+++ b/internal_rewrite/hooks.cpp
@@ -2,6 +2,36 @@
#include "interface.hpp"
#include "detours.h"
+//god i'm so cool
+namespace hooks {
+ decltype( &paint_traverse ) paint_traverse_o;
+ decltype( &create_move ) create_move_o;
+ decltype( &frame_stage_notify ) fsn_o;
+ decltype( &suppress_lists ) suppress_lists_o;
+ decltype( &draw_small_entities ) draw_small_entities_o;
+ decltype( &begin_lock ) begin_lock_o;
+ decltype( &end_lock ) end_lock_o;
+ decltype( &simulate ) simulate_o;
+ decltype( &run_command ) run_command_o;
+ decltype( &override_mouse_input ) override_mouse_input_o;
+ decltype( &draw_model_execute ) draw_model_execute_o;
+ decltype( &scene_end ) scene_end_o;
+ decltype( &get_viewmodel_fov ) get_viewmodel_fov_o;
+ decltype( &get_screen_size ) get_screen_size_o;
+ decltype( &override_view ) override_view_o;
+ decltype( &shut_down ) shut_down_o;
+ decltype( &lock_cursor ) lock_cursor_o;
+ decltype( &is_connected ) is_connected_o;
+ decltype( &in_prediction ) in_prediction_o;
+ decltype( &update_clientside_animation ) update_clientside_animation_o;
+ decltype( &material_system ) material_system_o;
+ decltype( &fire_event_clientside ) fire_event_clientside_o;
+ decltype( &send_datagram ) send_datagram_o;
+ decltype( &do_post_screen_space_effects ) do_post_screen_space_effects_o;
+ decltype( &on_screen_size_changed ) on_screen_size_changed_o;
+ decltype( &play_sound ) play_sound_o;
+ decltype( &convar_getint ) convar_getint_o;
+}
hooks::c_netvar_proxy hooks::lby_proxy;
hooks::c_netvar_proxy hooks::last_shot_proxy;
@@ -30,35 +60,33 @@ bool hooks::commit( factory::c_csgo* instance ) {
//instance->m_engine->hook( 93, &hooks::is_hltv_proxy );
//instance->m_engine->hook( 90, &hooks::is_paused );
//instance->m_engine->hook( 27, &hooks::is_connected );
- instance->m_panel->hook( 41, &hooks::paint_traverse );
- instance->m_clientmode->hook( 24, &hooks::create_move );
- instance->m_clientmode->hook( 23, &hooks::override_mouse_input );
- instance->m_clientmode->hook( 35, &hooks::get_viewmodel_fov );
- instance->m_clientmode->hook( 44, &hooks::do_post_screen_space_effects );
- instance->m_clientmode->hook( 18, &hooks::override_view );
- instance->m_surface->hook( 67, &hooks::lock_cursor );
- //instance->m_input->hook( 3, &hooks::hl_create_move );
- //instance->m_chl->hook( 36, &hooks::frame_stage_notify );
- //instance->m_chl->hook( 10, &hooks::hud_process_input );
- instance->m_prediction->hook( 19, &hooks::run_command );
- instance->m_prediction->hook( 14, &hooks::in_prediction );
- instance->m_model_render->hook( 21, &hooks::draw_model_execute );
- instance->m_render_view->hook( 9, &hooks::scene_end );
- instance->m_surface->hook( 44, &hooks::get_screen_size );
- instance->m_surface->hook( 116, &hooks::on_screen_size_changed );
- instance->m_surface->hook( 82, &hooks::play_sound );
- //instance->m_engine_sound->hook( 6, &hooks::emit_sound );
+
instance->m_debug_show_spread->hook( 13, &hooks::debug_show_spread_get_int );
- instance->m_interpolate->hook( 13, &hooks::cl_interpolate_get_int );
- //instance->m_event_mgr->hook( 9, &hooks::fire_event_clientside );
- instance->m_mat_system->hook( 21, &hooks::material_system );
- instance->m_partition->hook( 16, &hooks::suppress_lists );
- instance->m_clientleaf->hook( 39, &hooks::draw_small_entities );
- instance->m_engine_vgui->hook( 39, &hooks::simulate );
- instance->m_mdl_cache->hook( 33, &hooks::begin_lock );
- instance->m_mdl_cache->hook( 34, &hooks::end_lock );
instance->m_netshowfragments->hook( 13, &hooks::net_showfragments_get_int );
- //instance->m_trace->hook( 5, &hooks::trace_ray );
+
+
+ paint_traverse_o = d->create_hook( &hooks::paint_traverse, instance->m_panel->get_old_function< void* >( 42 ) );
+ create_move_o = d->create_hook( &hooks::create_move, instance->m_clientmode->get_old_function< void* >( 24 ) );
+ override_mouse_input_o = d->create_hook( &hooks::override_mouse_input, instance->m_clientmode->get_old_function< void* >( 23 ) );
+ get_viewmodel_fov_o = d->create_hook( &hooks::get_viewmodel_fov, instance->m_clientmode->get_old_function< void* >( 35 ) );
+ do_post_screen_space_effects_o = d->create_hook( &hooks::do_post_screen_space_effects, instance->m_clientmode->get_old_function< void* >( 44 ) );
+ override_view_o = d->create_hook( &hooks::override_view, instance->m_clientmode->get_old_function< void* >( 18 ) );
+ lock_cursor_o = d->create_hook( &hooks::lock_cursor, instance->m_surface->get_old_function< void* >( 67 ) );
+ run_command_o = d->create_hook( &hooks::run_command, instance->m_prediction->get_old_function< void* >( 19 ) );
+ in_prediction_o = d->create_hook( &hooks::in_prediction, instance->m_prediction->get_old_function< void* >( 14 ) );
+ draw_model_execute_o = d->create_hook( &hooks::draw_model_execute, instance->m_model_render->get_old_function< void* >( 21 ) );
+ scene_end_o = d->create_hook( &hooks::scene_end, instance->m_render_view->get_old_function< void* >( 9 ) );
+ get_screen_size_o = d->create_hook( &hooks::get_screen_size, instance->m_surface->get_old_function< void* >( 44 ) );
+ on_screen_size_changed_o = d->create_hook( &hooks::on_screen_size_changed, instance->m_surface->get_old_function< void* >( 116 ) );
+ play_sound_o = d->create_hook( &hooks::play_sound, instance->m_surface->get_old_function< void* >( 82 ) );
+ material_system_o = d->create_hook( &hooks::material_system, instance->m_mat_system->get_old_function< void* >( 21 ) );
+ suppress_lists_o = d->create_hook( &hooks::suppress_lists, instance->m_partition->get_old_function< void* >( 16 ) );
+ draw_small_entities_o = d->create_hook( &hooks::draw_small_entities, instance->m_clientleaf->get_old_function< void* >( 39 ) );
+ simulate_o = d->create_hook( &hooks::simulate, instance->m_engine_vgui->get_old_function< void* >( 39 ) );
+ begin_lock_o = d->create_hook( &hooks::begin_lock, instance->m_mdl_cache->get_old_function< void* >( 33 ) );
+ end_lock_o = d->create_hook( &hooks::end_lock, instance->m_mdl_cache->get_old_function< void* >( 34 ) );
+
+ d->enable( );
return true;
}