_GLOBAL__sub_I_g_CurrentViewOrigin
0x00097470 · 415 bytes · unknown
Decompiled
undefined (0 params)
void _GLOBAL__sub_I_g_CurrentViewOrigin(void)
{
undefined4 uVar1;
undefined4 uVar2;
undefined4 uVar3;
undefined4 *puVar4;
undefined4 *puVar5;
undefined4 *puVar6;
undefined4 *puVar7;
undefined4 *puVar8;
uVar3 = DAT_004024d0;
uVar2 = DAT_004024cc;
uVar1 = vec3_origin;
UNSPECIFIED_LOGGING_COLOR._0_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._1_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._2_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._3_1_ = 0;
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;
g_CurrentViewOrigin._0_4_ = 0;
g_CurrentViewOrigin._4_4_ = 0;
g_CurrentViewOrigin._8_4_ = 0;
g_CurrentViewForward._0_4_ = 0x3f800000;
g_CurrentViewForward._4_4_ = 0;
g_CurrentViewForward._8_4_ = 0;
g_CurrentViewRight._0_4_ = 0;
g_CurrentViewRight._4_4_ = 0xbf800000;
g_CurrentViewRight._8_4_ = 0;
g_CurrentViewUp._0_4_ = 0;
g_CurrentViewUp._4_4_ = 0;
g_CurrentViewUp._8_4_ = 0x3f800000;
puVar4 = &g_MainViewOrigin;
puVar6 = &g_MainViewRight;
puVar7 = &g_MainViewUp;
puVar8 = &g_MainViewForward;
do {
*puVar4 = uVar1;
puVar5 = puVar4 + 3;
puVar4[1] = uVar2;
puVar4[2] = uVar3;
*puVar8 = 0x3f800000;
puVar8[1] = 0;
puVar8[2] = 0;
*puVar6 = 0;
puVar6[1] = 0xbf800000;
puVar6[2] = 0;
*puVar7 = 0;
puVar7[1] = 0;
puVar7[2] = 0x3f800000;
puVar4 = puVar5;
puVar6 = puVar6 + 3;
puVar7 = puVar7 + 3;
puVar8 = puVar8 + 3;
} while (puVar5 != (undefined4 *)g_CurrentViewUp);
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
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.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
⚠ 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.