From e3b84393535c0adb7ab53dccfc5389216b0626f0 Mon Sep 17 00:00:00 2001 From: Alexander German Date: Sun, 15 Apr 2018 17:04:24 +0500 Subject: [PATCH 1/2] Dirty clang fix --- src/hooks/others.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/hooks/others.cpp b/src/hooks/others.cpp index 0cc60648..ded4a9fa 100644 --- a/src/hooks/others.cpp +++ b/src/hooks/others.cpp @@ -1024,8 +1024,13 @@ void LevelInit_hook(void *_this, const char *newmap) gSignatures.GetEngineSignature("55 89 E5 57 31 FF 56 8D B5 ? ? ? ? 53 " "81 EC ? ? ? ? C7 85 ? ? ? ? ? ? ? ?"); static LoadNamedSkys_Fn LoadNamedSkys = LoadNamedSkys_Fn(addr); - LoadNamedSkys(skynum[(int) skybox_changer]); - logging::Info("Loading Skybox..."); + bool succ; +#ifdef __clang__ + asm ("movl %1, %%edi; push skynum[(int) skybox_changer]; call %%edi; mov %%eax, %0; add %%esp, 10h" :"=r"(succ) :"r"(LoadNamedSkys)); +#else + succ = LoadNamedSkys(skynum[(int) skybox_changer]); +#endif + logging::Info("Loaded Skybox: %s" succ ? "true" : "false"); ConVar *holiday = g_ICvar->FindVar("tf_forced_holiday"); if (halloween_mode) holiday->SetValue(2); From d7395d8d3a52fd5c7f71aab35da25466a92fd47b Mon Sep 17 00:00:00 2001 From: Alexander German Date: Sun, 15 Apr 2018 17:29:16 +0500 Subject: [PATCH 2/2] :o: :o: f --- src/hooks/others.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/others.cpp b/src/hooks/others.cpp index ded4a9fa..46816dc7 100644 --- a/src/hooks/others.cpp +++ b/src/hooks/others.cpp @@ -1026,7 +1026,7 @@ void LevelInit_hook(void *_this, const char *newmap) static LoadNamedSkys_Fn LoadNamedSkys = LoadNamedSkys_Fn(addr); bool succ; #ifdef __clang__ - asm ("movl %1, %%edi; push skynum[(int) skybox_changer]; call %%edi; mov %%eax, %0; add %%esp, 10h" :"=r"(succ) :"r"(LoadNamedSkys)); + asm ("movl %1, %%edi; push skynum[(int) skybox_changer]; call %%edi; mov %%eax, %0; add %%esp, 4h" :"=r"(succ) :"r"(LoadNamedSkys)); #else succ = LoadNamedSkys(skynum[(int) skybox_changer]); #endif