L L4D2node

_GLOBAL__sub_I_cl_clock_correction

0x000940a0 · 719 bytes · unknown

Decompiled

undefined (0 params)

void _GLOBAL__sub_I_cl_clock_correction(void)

{
  vec2_origin._0_4_ = 0;
  vec2_origin._4_4_ = 0;
  vec2_invalid._0_4_ = 0x7f7fffff;
  vec2_invalid._4_4_ = 0x7f7fffff;
  vec4_origin._0_4_ = 0;
  vec4_origin._4_4_ = 0;
  vec4_origin._8_4_ = 0;
  vec4_origin._12_4_ = 0;
  vec4_invalid._0_4_ = 0x7f7fffff;
  vec4_invalid._4_4_ = 0x7f7fffff;
  vec4_invalid._8_4_ = 0x7f7fffff;
  vec4_invalid._12_4_ = 0x7f7fffff;
  UNSPECIFIED_LOGGING_COLOR._0_1_ = 0;
  UNSPECIFIED_LOGGING_COLOR._1_1_ = 0;
  UNSPECIFIED_LOGGING_COLOR._2_1_ = 0;
  UNSPECIFIED_LOGGING_COLOR._3_1_ = 0;
  ConVar::ConVar((ConVar *)cl_clock_correction,"cl_clock_correction","1",0x4000,
                 "Enable/disable clock correction on the client.");
  __cxa_atexit(ConVar::~ConVar,cl_clock_correction,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clockdrift_max_ms,"cl_clockdrift_max_ms","150",0x4000,
                 "Maximum number of milliseconds the clock is allowed to drift before the client snaps its clock to the server\'s."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clockdrift_max_ms,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clockdrift_max_ms_threadmode,"cl_clockdrift_max_ms_threadmode","0",
                 0x4000,
                 "Maximum number of milliseconds the clock is allowed to drift before the client snaps its clock to the server\'s."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clockdrift_max_ms_threadmode,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clock_showdebuginfo,"cl_clock_showdebuginfo","0",0x4000,
                 "Show debugging info about the clock drift. ");
  __cxa_atexit(ConVar::~ConVar,cl_clock_showdebuginfo,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clock_correction_force_server_tick,
                 "cl_clock_correction_force_server_tick","999",0x4000,
                 "Force clock correction to match the server tick + this offset (-999 disables it)."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clock_correction_force_server_tick,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clock_correction_adjustment_max_amount,
                 "cl_clock_correction_adjustment_max_amount","200",0x4000,
                 "Sets the maximum number of milliseconds per second it is allowed to correct the client clock. It will only correct this amount if the difference between the client and server clock is equal to or larger than cl_clock_correction_adjustment_max_offset."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clock_correction_adjustment_max_amount,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clock_correction_adjustment_min_offset,
                 "cl_clock_correction_adjustment_min_offset","10",0x4000,
                 "If the clock offset is less than this amount (in milliseconds), then no clock correction is applied."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clock_correction_adjustment_min_offset,&__dso_handle);
  ConVar::ConVar((ConVar *)cl_clock_correction_adjustment_max_offset,
                 "cl_clock_correction_adjustment_max_offset","90",0x4000,
                 "As the clock offset goes from cl_clock_correction_adjustment_min_offset to this value (in milliseconds), it moves towards applying cl_clock_correction_adjustment_max_amount of adjustment. That way, the response is small when the offset is small."
                );
  __cxa_atexit(ConVar::~ConVar,cl_clock_correction_adjustment_max_offset,&__dso_handle);
  return;
}

SourceMod gamedata

paste into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

Just a Signatures{} block, ready to drop into a gamedata file. Wire it up in your plugin however you like - SDKCall, DHooks, raw memory ops, or anything else.



        
        

⚠ This function has no mangled symbol — it may be internal/static. The Linux gamedata field uses @-prefix symbol resolution which requires an exported mangled name. You'll need a Linux byte signature for this one (extract via extract_signature.java).


          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)