From 37749ebb04a9193f5c26a19aa047d35b8ba15dab Mon Sep 17 00:00:00 2001 From: YesseYesseY Date: Fri, 11 Apr 2025 22:36:19 +0200 Subject: [PATCH 1/2] Fix 19.01 pickups --- .gitignore | 1 + Project Reboot 3.0/finder.h | 5 ++++- build-linux.sh | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100755 build-linux.sh diff --git a/.gitignore b/.gitignore index 8cbf4b7..f85566a 100644 --- a/.gitignore +++ b/.gitignore @@ -385,3 +385,4 @@ Project Reboot 3.0/x64/Release/Project Reboot 3.0.iobj *.tlog *.ifc *.pdb +Build/ diff --git a/Project Reboot 3.0/finder.h b/Project Reboot 3.0/finder.h index 8daa206..ccda74f 100644 --- a/Project Reboot 3.0/finder.h +++ b/Project Reboot 3.0/finder.h @@ -819,6 +819,9 @@ static inline uint64 FindCompletePickupAnimation() { auto addr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 55 57 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 48 8B B9", false).Get(); // 19.10; + if (!addr) + addr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 55 57 41 54 48 8D AC 24 ? ? ? ? 48 81 EC A0 01 00 00", false).Get(); // 19.01 + if (!addr) addr = Memcury::Scanner::FindPattern("48 8B C4 48 89 58 10 48 89 70 18 48 89 78 20 55 41 54 41 55 41 56 41 57 48 8D A8 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 48 8B B9 ? ? ? ? 45 33 E4 48 8B D9 48 85 FF 74 0F").Get(); // 20.40 @@ -1885,4 +1888,4 @@ static inline uint64 FindClearAbility() return Memcury::Scanner::FindPattern("48 8B C4 48 89 58 08 48 89 68 10 48 89 70 18 48 89 78 20 41 56 48 83 EC 20 80 89 ? ? ? ? ? 48 8B F2 44 8B 89 ? ? ? ? 33 D2 48 8B").Get(); return 0; -} \ No newline at end of file +} diff --git a/build-linux.sh b/build-linux.sh new file mode 100755 index 0000000..663ac18 --- /dev/null +++ b/build-linux.sh @@ -0,0 +1,6 @@ +#!/usr/bin/bash + +# To run this you need to setup msvc for wine https://github.com/mstorsjo/msvc-wine +# I haven't setup the .clangd file yet so it's gonna be a pain to program in if you're using clangd tho + +msbuild "./Project Reboot 3.0/Project Reboot 3.0.vcxproj" /p:configuration=Release /p:platform=x64 /p:OutDir=../Build From 23f215cc0cc83c256944fdcd074eaba40677f768 Mon Sep 17 00:00:00 2001 From: YesseYesseY Date: Fri, 11 Apr 2025 23:40:08 +0200 Subject: [PATCH 2/2] clangd :) --- .clangd | 29 +++++++++++++++++++++++++++++ Project Reboot 3.0/Actor.h | 4 ++-- Project Reboot 3.0/Pawn.h | 4 ++-- Project Reboot 3.0/Set.h | 5 +++-- 4 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 .clangd diff --git a/.clangd b/.clangd new file mode 100644 index 0000000..207d7ff --- /dev/null +++ b/.clangd @@ -0,0 +1,29 @@ +# NOTE: replace /home/yes with your home folder, it won't recognize ~ as the home folder +# I also have no idea what most flags after Wno-prgma-pack does. i kinda just built it in visual studio then copied flags + +CompileFlags: + Compiler: clang-cl + Add: + - "-I/home/yes/msvc/Windows Kits/10/Include/10.0.22621.0/um" + - "-I/home/yes/msvc/Windows Kits/10/Include/10.0.22621.0/shared" + - "-I/home/yes/msvc/Windows Kits/10/Include/10.0.22621.0/ucrt" + - "-I/home/yes/msvc/Windows Kits/10/Include/10.0.22621.0/winrt" + - "-I/home/yes/msvc/Windows Kits/10/Include/10.0.22621.0/km" + - "-I/home/yes/msvc/VC/Tools/MSVC/14.43.34808/atlmfc/include/" + - "-I/home/yes/msvc/VC/Tools/MSVC/14.43.34808/include/" + - "-I../vendor" + - "/std:c++latest" + - "-ferror-limit=0" + - "-Wno-pragma-pack" + - "/permissive-" + - "/EHsc" + - "/MT" + - "/GS" + - "/Gy" + - "Gm-" + - "/D _UNICODE" + - "/D UNICODE" + - "/fp:precise" + - "/Zc:wchar_t" + - "/Zc:forScope" + - "/Zc:inline" diff --git a/Project Reboot 3.0/Actor.h b/Project Reboot 3.0/Actor.h index fceac71..04912ec 100644 --- a/Project Reboot 3.0/Actor.h +++ b/Project Reboot 3.0/Actor.h @@ -53,7 +53,7 @@ public: float& GetMinNetUpdateFrequency(); const AActor* GetNetOwner() const; void GetActorEyesViewPoint(FVector* OutLocation, FRotator* OutRotation) const; - AActor* GetClosestActor(UClass* ActorClass, float DistMax, std::function AdditionalCheck = [&](AActor*) { return true; }); + AActor* GetClosestActor(UClass* ActorClass, float DistMax, std::function AdditionalCheck = [](AActor*) { return true; }); bool IsRelevancyOwnerFor(const AActor* ReplicatedActor, const AActor* ActorOwner, const AActor* ConnectionActor) const { @@ -68,4 +68,4 @@ public: } static class UClass* StaticClass(); -}; \ No newline at end of file +}; diff --git a/Project Reboot 3.0/Pawn.h b/Project Reboot 3.0/Pawn.h index 0a10f6b..a19c50e 100644 --- a/Project Reboot 3.0/Pawn.h +++ b/Project Reboot 3.0/Pawn.h @@ -1,7 +1,7 @@ #pragma once #include "Actor.h" -#include "TSubClassOf.h" +#include "TSubclassOf.h" class APawn : public AActor { @@ -23,4 +23,4 @@ public: static auto AIControllerClassOffset = GetOffset("AIControllerClass"); return Get>(AIControllerClassOffset); } -}; \ No newline at end of file +}; diff --git a/Project Reboot 3.0/Set.h b/Project Reboot 3.0/Set.h index f400dd8..9521e62 100644 --- a/Project Reboot 3.0/Set.h +++ b/Project Reboot 3.0/Set.h @@ -36,7 +36,8 @@ template class TSet { private: - friend TSparseArray; + template + friend class TSparseArray; public: typedef TSetElement ElementType; @@ -217,4 +218,4 @@ public: mutable TInlineAllocator<1>::ForElementType Hash; mutable int32 HashSize; -}; */ \ No newline at end of file +}; */