diff options
| author | navewindre <boneyaard@gmail.com> | 2018-09-25 21:14:25 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2018-09-25 21:14:25 +0200 |
| commit | 85434a853957ae5315594f72561dd1a745549727 (patch) | |
| tree | 7617f0f92f118bfa7a00349855c792e90ad18fa4 | |
| parent | b7375a7582db7ba2ee8a4dacfab226a3fd8fc514 (diff) | |
a
| -rw-r--r-- | internal_rewrite/csm_shadows.cpp | 10 | ||||
| -rw-r--r-- | internal_rewrite/factory.hpp | 2 | ||||
| -rw-r--r-- | internal_rewrite/hooks.cpp | 2 | ||||
| -rw-r--r-- | internal_rewrite/hooks.hpp | 1 | ||||
| -rw-r--r-- | internal_rewrite/interface.cpp | 3 | ||||
| -rw-r--r-- | internal_rewrite/interface.hpp | 1 | ||||
| -rw-r--r-- | internal_rewrite/internal_rewrite.vcxproj | 1 | ||||
| -rw-r--r-- | internal_rewrite/internal_rewrite.vcxproj.filters | 3 | ||||
| -rw-r--r-- | internal_rewrite/settings.hpp | 1 | ||||
| -rw-r--r-- | internal_rewrite/ui.h | 1 |
10 files changed, 23 insertions, 2 deletions
diff --git a/internal_rewrite/csm_shadows.cpp b/internal_rewrite/csm_shadows.cpp new file mode 100644 index 0000000..b0aa5ed --- /dev/null +++ b/internal_rewrite/csm_shadows.cpp @@ -0,0 +1,10 @@ +#include "hooks.hpp"
+
+int __fastcall hooks::cl_csm_shadows_get_int( void* ecx_, void* edx_ ) {
+ static auto old_fn = g_csgo.m_csm_shadows->get_old_function< decltype( &cl_csm_shadows_get_int ) >( 13 );
+
+ if( g_settings.visuals.no_cascade_shadows )
+ return 0;
+
+ return old_fn( ecx_, edx_ );
+}
\ No newline at end of file diff --git a/internal_rewrite/factory.hpp b/internal_rewrite/factory.hpp index c81c79b..d197951 100644 --- a/internal_rewrite/factory.hpp +++ b/internal_rewrite/factory.hpp @@ -11,7 +11,7 @@ //IFACE_DLLMAIN - interfaces are passed through dllmain and below code doesnt need to be ran
#ifndef _DEBUG
//#define IFACE_DLLMAIN
-#define HEADER_MODULE
+//#define HEADER_MODULE
#endif
#ifdef IFACE_DLLMAIN
diff --git a/internal_rewrite/hooks.cpp b/internal_rewrite/hooks.cpp index 94d2cdb..3aedcb1 100644 --- a/internal_rewrite/hooks.cpp +++ b/internal_rewrite/hooks.cpp @@ -66,7 +66,7 @@ bool hooks::commit( factory::c_csgo* instance ) { instance->m_debug_show_spread->hook( 13, &hooks::debug_show_spread_get_int ); instance->m_netshowfragments->hook( 13, &hooks::net_showfragments_get_int ); - + instance->m_csm_shadows->hook( 13, &hooks::cl_csm_shadows_get_int ); paint_traverse_o = d->create_hook( &hooks::paint_traverse, instance->m_panel->get_old_function< void* >( 41 ) ); create_move_o = d->create_hook( &hooks::create_move, instance->m_clientmode->get_old_function< void* >( 24 ) ); diff --git a/internal_rewrite/hooks.hpp b/internal_rewrite/hooks.hpp index 3815c15..8911453 100644 --- a/internal_rewrite/hooks.hpp +++ b/internal_rewrite/hooks.hpp @@ -99,6 +99,7 @@ namespace hooks void __fastcall play_sound( void* ecx_, void* edx_, const char* name ); extern decltype( &play_sound ) play_sound_o; + int __fastcall cl_csm_shadows_get_int( void* ecx_, void* edx_ ); int __fastcall debug_show_spread_get_int( void* ecx_, void* edx_ ); int __fastcall net_showfragments_get_int( void* ecx_, void* edx_ ); diff --git a/internal_rewrite/interface.cpp b/internal_rewrite/interface.cpp index fb01dd9..e424c0f 100644 --- a/internal_rewrite/interface.cpp +++ b/internal_rewrite/interface.cpp @@ -120,6 +120,9 @@ bool factory::create_interfaces( c_csgo* instance, header_t* header ) { uintptr_t net_showfragments = ( uintptr_t )( instance->m_cvar( )->FindVar( xors( "net_showfragments" ) ) );
instance->create( &instance->m_netshowfragments, net_showfragments );
+ uintptr_t cl_csm_shadows = ( uintptr_t )( instance->m_cvar( )->FindVar( xors( "cl_csm_shadows" ) ) );
+ instance->create( &instance->m_csm_shadows, cl_csm_shadows );
+
instance->listeners.bullet_impact.init( );
instance->listeners.player_hurt.init( );
instance->listeners.round_start.init( );
diff --git a/internal_rewrite/interface.hpp b/internal_rewrite/interface.hpp index 9879a4a..332971a 100644 --- a/internal_rewrite/interface.hpp +++ b/internal_rewrite/interface.hpp @@ -99,6 +99,7 @@ public: c_interface_base< cvar_t > m_debug_show_spread;
c_interface_base< cvar_t > m_interpolate;
c_interface_base< cvar_t > m_netshowfragments;
+ c_interface_base< cvar_t > m_csm_shadows;
c_interface_base< ISteamClient > m_steam_client;
c_interface_base< ISteamFriends > m_steam_friends;
c_interface_base< IViewRenderBeams > m_beams;
diff --git a/internal_rewrite/internal_rewrite.vcxproj b/internal_rewrite/internal_rewrite.vcxproj index a094bd0..09cd40c 100644 --- a/internal_rewrite/internal_rewrite.vcxproj +++ b/internal_rewrite/internal_rewrite.vcxproj @@ -387,6 +387,7 @@ <ClCompile Include="chams.cpp" />
<ClCompile Include="console.cpp" />
<ClCompile Include="context.cpp" />
+ <ClCompile Include="csm_shadows.cpp" />
<ClCompile Include="c_base_player.cpp" />
<ClCompile Include="c_base_weapon.cpp" />
<ClCompile Include="d3d.cpp" />
diff --git a/internal_rewrite/internal_rewrite.vcxproj.filters b/internal_rewrite/internal_rewrite.vcxproj.filters index f8816fc..977cc39 100644 --- a/internal_rewrite/internal_rewrite.vcxproj.filters +++ b/internal_rewrite/internal_rewrite.vcxproj.filters @@ -262,6 +262,9 @@ <ClCompile Include="hde32.cpp">
<Filter>hooks\hookers</Filter>
</ClCompile>
+ <ClCompile Include="csm_shadows.cpp">
+ <Filter>hooks</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="factory.hpp">
diff --git a/internal_rewrite/settings.hpp b/internal_rewrite/settings.hpp index cf4f506..d8cc15e 100644 --- a/internal_rewrite/settings.hpp +++ b/internal_rewrite/settings.hpp @@ -346,6 +346,7 @@ namespace data con_var< bool > world_modulate{ &holder_, fnv( "visuals_world_modulate" ), false };
con_var< bool > night_mode{ &holder_, fnv( "visuals_night_mode" ), false };
con_var< bool > transparent_props{ &holder_, fnv( "visuals_transparent_props" ), false };
+ con_var< bool > no_cascade_shadows{ &holder_, fnv( "visuals_no_cascade_shadows" ), false };
con_var< bool > recoil_crosshair{ &holder_, fnv( "misc_recoil_crosshair" ), false };
con_var< bool > autowall_crosshair{ &holder_, fnv( "visual_recoil_crosshair" ), false };
diff --git a/internal_rewrite/ui.h b/internal_rewrite/ui.h index 36d2f7d..3df7e23 100644 --- a/internal_rewrite/ui.h +++ b/internal_rewrite/ui.h @@ -639,6 +639,7 @@ namespace ui removals_form->add_item( std::make_shared< ui::c_checkbox >( 0, 0, xors( "no smoke" ), &g_settings.misc.no_smoke ) );
removals_form->add_item( std::make_shared< ui::c_checkbox >( 0, 0, xors( "transparent viewmodel" ), &g_settings.misc.transparent_vm ) );
removals_form->add_item( std::make_shared< ui::c_checkbox >( 0, 0, xors( "no post processing" ), &g_settings.misc.disable_post_process ) );
+ removals_form->add_item( std::make_shared< ui::c_checkbox >( 0, 0, xors( "no cascade shadows" ), &g_settings.visuals.no_cascade_shadows ) );
}
left_column->add_item( world_form );
|
