Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/danielkrupinski/Osiris in…
Browse files Browse the repository at this point in the history
…to dev
  • Loading branch information
nkxingxh committed Oct 4, 2023
2 parents 5988b90 + a20c93a commit ec751e1
Show file tree
Hide file tree
Showing 84 changed files with 1,309 additions and 332 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/clang-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ jobs:
- name: install dependencies
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev libfreetype-dev
- name: configure
run: CXX=clang++-14 cmake -D CMAKE_BUILD_TYPE=${{ matrix.configuration }} -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -D CMAKE_DISABLE_PRECOMPILE_HEADERS=1 -B build
run: CXX=clang++-14 cmake -Werror=dev -D CMAKE_BUILD_TYPE=${{ matrix.configuration }} -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -D CMAKE_DISABLE_PRECOMPILE_HEADERS=1 -B build
- name: run clang-tidy
run: run-clang-tidy-14 Source/ -p build/
2 changes: 1 addition & 1 deletion .github/workflows/iwyu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: install
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev libfreetype-dev
- name: configure
run: cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -B build
run: cmake -Werror=dev -D CMAKE_BUILD_TYPE=Release -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -B build
- name: include what you use
uses: danielkrupinski/include-what-you-use-action@master
with:
Expand Down
17 changes: 10 additions & 7 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}
runs-on: ubuntu-22.04
strategy:
matrix:
os: [ubuntu-22.04]
compiler: [g++-11, g++-12, g++-13, clang++-13, clang++-14, clang++-15, clang++-16]
compiler: [g++-11, g++-12, g++-13, clang++-13, clang++-14, clang++-15, clang++-16, clang++-17]
configuration: [Debug, Release]
steps:
- uses: actions/checkout@v3
Expand All @@ -29,13 +28,17 @@ jobs:
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 16
- name: install clang++-17
if: matrix.compiler == 'clang++-17'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: install dependencies
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev libfreetype-dev
- name: configure
run: CXX=${{ matrix.compiler }} cmake -D CMAKE_BUILD_TYPE=${{ matrix.configuration }} -D BUILD_TESTS=1 -B build
run: CXX=${{ matrix.compiler }} cmake -Werror=dev -D CMAKE_BUILD_TYPE=${{ matrix.configuration }} -D BUILD_TESTS=1 -B build
- name: build
run: cmake --build build -j $(nproc --all)
- name: run unit tests
run: |
cd build
ctest --output-on-failure --schedule-random -j $(nproc --all)
run: ctest --test-dir build --output-on-failure --schedule-random -j $(nproc --all)
6 changes: 3 additions & 3 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ jobs:
if: matrix.toolset == 'ClangCL'
run: echo "toolset=-T ${{ matrix.toolset }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: configure
run: cmake -D BUILD_TESTS=1 -A ${{ matrix.arch }} ${{ env.toolset }} -B build
run: cmake -Werror=dev -D BUILD_TESTS=1 -A ${{ matrix.arch }} ${{ env.toolset }} -B build
- name: build
run: cmake --build build --config ${{ matrix.configuration }}
- name: Run unit tests
run: cd build && ctest --output-on-failure --schedule-random -j $env:NUMBER_OF_PROCESSORS
- name: run unit tests
run: ctest --test-dir build --output-on-failure --schedule-random -j $env:NUMBER_OF_PROCESSORS
44 changes: 22 additions & 22 deletions Source/BytePatterns/LinuxClientPatternFinder.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ struct LinuxClientPatternFinder {

[[nodiscard]] ReturnAddress scopeDust() const noexcept
{
return finder("41 FF 51 70 43 8D 14 3E"_pat).add(4).asReturnAddress();
return finder("41 FF 51 70 43 8D 14 3E"_pat).add(4).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress scopeArc() const noexcept
{
return finder("49 8B 3C 24 8B B3 ? ? ? ? 48 8B 07 FF 90 ? ? ? ? 49 8B 3C 24 66 0F EF E4"_pat).asReturnAddress();
return finder("49 8B 3C 24 8B B3 ? ? ? ? 48 8B 07 FF 90 ? ? ? ? 49 8B 3C 24 66 0F EF E4"_pat).as<ReturnAddress>();
}

[[nodiscard]] float* vignette() const noexcept
Expand All @@ -55,7 +55,7 @@ struct LinuxClientPatternFinder {

[[nodiscard]] ReturnAddress cameraThink() const noexcept
{
return finder("0F 1F 80 ? ? ? ? 85 C0 75 5C"_pat).add(6).asReturnAddress();
return finder("0F 1F 80 ? ? ? ? 85 C0 75 5C"_pat).add(6).as<ReturnAddress>();
}

[[nodiscard]] csgo::KeyValuesFindKey keyValuesFindKey() const noexcept
Expand All @@ -70,7 +70,7 @@ struct LinuxClientPatternFinder {

[[nodiscard]] std::uintptr_t keyValuesFromString() const noexcept
{
return finder("E8 ? ? ? ? 48 89 DF 48 89 45 E0"_pat).add(1).abs().get();
return finder("E8 ? ? ? ? 48 89 DF 48 89 45 E0"_pat).add(1).abs().as<std::uintptr_t>();
}

[[nodiscard]] csgo::GlowObjectManager* glowObjectManager() const noexcept
Expand All @@ -85,92 +85,92 @@ struct LinuxClientPatternFinder {

[[nodiscard]] ReturnAddress demoOrHLTV() const noexcept
{
return finder("84 C0 75 0A 48 8D 05"_pat).asReturnAddress();
return finder("84 C0 75 0A 48 8D 05"_pat).as<ReturnAddress>();
}

[[nodiscard]] std::uintptr_t money() const noexcept
{
return finder("84 C0 75 C6 B8 ? ? ? ? EB D9"_pat).get();
return finder("84 C0 75 C6 B8 ? ? ? ? EB D9"_pat).as<std::uintptr_t>();
}

[[nodiscard]] ReturnAddress insertIntoTree() const noexcept
{
return finder("41 FF 52 30 89 85"_pat).add(4).asReturnAddress();
return finder("41 FF 52 30 89 85"_pat).add(4).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress demoFileEndReached() const noexcept
{
return finder("48 85 C0 74 76 80 78 10 00"_pat).asReturnAddress();
return finder("48 85 C0 74 76 80 78 10 00"_pat).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setStickerToolSlotGetArgAsNumber() const noexcept
{
return finder("F2 44 0F 2C E8 45 85 ED"_pat, OffsetHint{ 11247132 }).asReturnAddress();
return finder("F2 44 0F 2C E8 45 85 ED"_pat, OffsetHint{ 11247132 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress wearItemStickerGetArgAsString() const noexcept
{
return finder("49 8B 47 18 BA"_pat, OffsetHint{ 11225783 }).add(-131).asReturnAddress();
return finder("49 8B 47 18 BA"_pat, OffsetHint{ 11225783 }).add(-131).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setNameToolStringGetArgAsString() const noexcept
{
return finder("BA ? ? ? ? 4C 89 F6 48 89 C7 49 89 C4"_pat, OffsetHint{ 11252637 }).asReturnAddress();
return finder("BA ? ? ? ? 4C 89 F6 48 89 C7 49 89 C4"_pat, OffsetHint{ 11252637 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress clearCustomNameGetArgAsString() const noexcept
{
return finder("48 85 C0 74 E5 48 89 C7 E8 ? ? ? ? 49 89 C4"_pat, OffsetHint{ 11247366 }).asReturnAddress();
return finder("48 85 C0 74 E5 48 89 C7 E8 ? ? ? ? 49 89 C4"_pat, OffsetHint{ 11247366 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress deleteItemGetArgAsString() const noexcept
{
return finder("48 85 C0 74 DE 48 89 C7 E8 ? ? ? ? 48 89 C3 E8 ? ? ? ? 48 89 DE"_pat, OffsetHint{ 11248886 }).asReturnAddress();
return finder("48 85 C0 74 DE 48 89 C7 E8 ? ? ? ? 48 89 C3 E8 ? ? ? ? 48 89 DE"_pat, OffsetHint{ 11248886 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setStatTrakSwapToolItemsGetArgAsString() const noexcept
{
return finder("74 84 4C 89 EE 4C 89 F7 E8 ? ? ? ? 48 85 C0"_pat, OffsetHint{ 11246916 }).add(-86).asReturnAddress();
return finder("74 84 4C 89 EE 4C 89 F7 E8 ? ? ? ? 48 85 C0"_pat, OffsetHint{ 11246916 }).add(-86).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress acknowledgeNewItemByItemIDGetArgAsString() const noexcept
{
return finder("48 85 C0 74 DE 48 89 C7 E8 ? ? ? ? 4C 89 EF 48 89 C6 E8 ? ? ? ? 4C 89 E6 48 89 DF 0F B6 D0"_pat, OffsetHint{ 11221963 }).asReturnAddress();
return finder("48 85 C0 74 DE 48 89 C7 E8 ? ? ? ? 4C 89 EF 48 89 C6 E8 ? ? ? ? 4C 89 E6 48 89 DF 0F B6 D0"_pat, OffsetHint{ 11221963 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setItemAttributeValueAsyncGetArgAsString() const noexcept
{
return finder("FF 50 38 48 85 C0 74 C2"_pat, OffsetHint{ 11228494 }).add(3).asReturnAddress();
return finder("FF 50 38 48 85 C0 74 C2"_pat, OffsetHint{ 11228494 }).add(3).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setMyPredictionUsingItemIdGetNumArgs() const noexcept
{
return finder("83 F8 01 89 85 ? ? ? ? 7E 1A"_pat, OffsetHint{ 11613975 }).asReturnAddress();
return finder("83 F8 01 89 85 ? ? ? ? 7E 1A"_pat, OffsetHint{ 11613975 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress getMyPredictionTeamIDGetArgAsString() const noexcept
{
return finder("48 85 C0 48 89 C7 74 C2 E8 ? ? ? ? 41 BF"_pat, OffsetHint{ 11606770 }).add(-20).asReturnAddress();
return finder("48 85 C0 48 89 C7 74 C2 E8 ? ? ? ? 41 BF"_pat, OffsetHint{ 11606770 }).add(-20).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setInventorySortAndFiltersGetArgAsString() const noexcept
{
return finder("49 89 C5 E9 ? ? ? ? 0F 1F 44 00 00 BA"_pat, OffsetHint{ 11312157 }).asReturnAddress();
return finder("49 89 C5 E9 ? ? ? ? 0F 1F 44 00 00 BA"_pat, OffsetHint{ 11312157 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress getInventoryCountSetResultInt() const noexcept
{
return finder("48 8B 08 48 89 DE 48 89 C7 41 8B 96 38 02"_pat, OffsetHint{ 11404345 }).add(19).asReturnAddress();
return finder("48 8B 08 48 89 DE 48 89 C7 41 8B 96 38 02"_pat, OffsetHint{ 11404345 }).add(19).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress performItemCasketTransactionGetArgAsString() const noexcept
{
return finder("48 85 C0 0F 84 ? ? ? ? 48 89 C7 E8 ? ? ? ? F2 0F 10 85"_pat, OffsetHint{ 11300702 }).asReturnAddress();
return finder("48 85 C0 0F 84 ? ? ? ? 48 89 C7 E8 ? ? ? ? F2 0F 10 85"_pat, OffsetHint{ 11300702 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress useToolGetArgAsString() const noexcept
{
return finder("48 85 C0 74 DA 48 89 C7 E8 ? ? ? ? BA"_pat, OffsetHint{ 11246382 }).asReturnAddress();
return finder("48 85 C0 74 DA 48 89 C7 E8 ? ? ? ? BA"_pat, OffsetHint{ 11246382 }).as<ReturnAddress>();
}

[[nodiscard]] csgo::SetDynamicAttributeValue setDynamicAttributeValue() const noexcept
Expand Down
52 changes: 26 additions & 26 deletions Source/BytePatterns/WindowsClientPatternFinder.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ struct WindowsClientPatternFinder {

[[nodiscard]] ReturnAddress scopeDust() const noexcept
{
return finder("FF 50 3C 8B 4C 24 20"_pat).add(3).asReturnAddress();
return finder("FF 50 3C 8B 4C 24 20"_pat).add(3).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress scopeArc() const noexcept
{
return finder("8B 0D ? ? ? ? FF B7 ? ? ? ? 8B 01 FF 90 ? ? ? ? 8B 7C 24 1C"_pat).asReturnAddress();
return finder("8B 0D ? ? ? ? FF B7 ? ? ? ? 8B 01 FF 90 ? ? ? ? 8B 7C 24 1C"_pat).as<ReturnAddress>();
}

[[nodiscard]] float* vignette() const noexcept
Expand All @@ -60,7 +60,7 @@ struct WindowsClientPatternFinder {

[[nodiscard]] ReturnAddress cameraThink() const noexcept
{
return finder("85 C0 75 30 38 87"_pat).asReturnAddress();
return finder("85 C0 75 30 38 87"_pat).as<ReturnAddress>();
}

[[nodiscard]] csgo::KeyValuesFindKey keyValuesFindKey() const noexcept
Expand All @@ -75,7 +75,7 @@ struct WindowsClientPatternFinder {

[[nodiscard]] std::uintptr_t keyValuesFromString() const noexcept
{
return finder("E8 ? ? ? ? 83 C4 04 89 45 D8"_pat).add(1).abs().get();
return finder("E8 ? ? ? ? 83 C4 04 89 45 D8"_pat).add(1).abs().as<std::uintptr_t>();
}

[[nodiscard]] csgo::GlowObjectManager* glowObjectManager() const noexcept
Expand All @@ -95,92 +95,92 @@ struct WindowsClientPatternFinder {

[[nodiscard]] ReturnAddress demoOrHLTV() const noexcept
{
return finder("84 C0 75 09 38 05"_pat).asReturnAddress();
return finder("84 C0 75 09 38 05"_pat).as<ReturnAddress>();
}

[[nodiscard]] std::uintptr_t money() const noexcept
{
return finder("84 C0 75 0C 5B"_pat).get();
return finder("84 C0 75 0C 5B"_pat).as<std::uintptr_t>();
}

[[nodiscard]] ReturnAddress insertIntoTree() const noexcept
{
return finder("56 52 FF 50 18"_pat).add(5).asReturnAddress();
return finder("56 52 FF 50 18"_pat).add(5).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress demoFileEndReached() const noexcept
{
return finder("8B C8 85 C9 74 1F 80 79 10"_pat).asReturnAddress();
return finder("8B C8 85 C9 74 1F 80 79 10"_pat).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setStickerToolSlotGetArgAsNumber() const noexcept
{
return finder("FF D2 DD 5C 24 10 F2 0F 2C 7C 24"_pat, OffsetHint{ 6120862 }).add(2).asReturnAddress();
return finder("FF D2 DD 5C 24 10 F2 0F 2C 7C 24"_pat, OffsetHint{ 6120862 }).add(2).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress wearItemStickerGetArgAsString() const noexcept
{
return finder("DD 5C 24 18 F2 0F 2C 7C 24 ? 85 FF"_pat, OffsetHint{ 6095215 }).add(-80).asReturnAddress();
return finder("DD 5C 24 18 F2 0F 2C 7C 24 ? 85 FF"_pat, OffsetHint{ 6095215 }).add(-80).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setNameToolStringGetArgAsString() const noexcept
{
return finder("8B F8 C6 45 08 ? 33 C0"_pat, OffsetHint{ 6121111 }).asReturnAddress();
return finder("8B F8 C6 45 08 ? 33 C0"_pat, OffsetHint{ 6121111 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress clearCustomNameGetArgAsString() const noexcept
{
return finder("FF 50 1C 8B F0 85 F6 74 21"_pat, OffsetHint{ 6121269 }).add(3).asReturnAddress();
return finder("FF 50 1C 8B F0 85 F6 74 21"_pat, OffsetHint{ 6121269 }).add(3).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress deleteItemGetArgAsString() const noexcept
{
return finder("85 C0 74 22 51"_pat, OffsetHint{ 6122298 }).asReturnAddress();
return finder("85 C0 74 22 51"_pat, OffsetHint{ 6122298 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setStatTrakSwapToolItemsGetArgAsString() const noexcept
{
return finder("85 C0 74 7E 8B C8 E8 ? ? ? ? 8B 37"_pat, OffsetHint{ 6120623 }).asReturnAddress();
return finder("85 C0 74 7E 8B C8 E8 ? ? ? ? 8B 37"_pat, OffsetHint{ 6120623 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress acknowledgeNewItemByItemIDGetArgAsString() const noexcept
{
return finder("85 C0 74 33 8B C8 E8 ? ? ? ? B9"_pat, OffsetHint{ 6092121 }).asReturnAddress();
return finder("85 C0 74 33 8B C8 E8 ? ? ? ? B9"_pat, OffsetHint{ 6092121 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setItemAttributeValueAsyncGetArgAsString() const noexcept
{
return finder("8B D8 83 C4 08 85 DB 0F 84 ? ? ? ? 8B 16 8B CE 57"_pat, OffsetHint{ 6098822 }).add(-22).asReturnAddress();
return finder("8B D8 83 C4 08 85 DB 0F 84 ? ? ? ? 8B 16 8B CE 57"_pat, OffsetHint{ 6098822 }).add(-22).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setMyPredictionUsingItemIdGetNumArgs() const noexcept
{
return finder("8B F0 89 74 24 2C 83 FE 01"_pat, OffsetHint{ 6702914 }).asReturnAddress();
return finder("8B F0 89 74 24 2C 83 FE 01"_pat, OffsetHint{ 6702914 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress getMyPredictionTeamIDGetArgAsString() const noexcept
{
return finder("85 C0 0F 84 ? ? ? ? 57 8B C8 E8 ? ? ? ? BF ? ? ? ? 89 45 E8"_pat, OffsetHint{ 6699829 }).add(-20).asReturnAddress();
return finder("85 C0 0F 84 ? ? ? ? 57 8B C8 E8 ? ? ? ? BF ? ? ? ? 89 45 E8"_pat, OffsetHint{ 6699829 }).add(-20).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress setInventorySortAndFiltersGetArgAsString() const noexcept
{
return finder("80 7D FF ? 8B F8 74 27"_pat, OffsetHint{ 6088445 }).asReturnAddress();
return finder("80 7D FF ? 8B F8 74 27"_pat, OffsetHint{ 6088445 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress getInventoryCountSetResultInt() const noexcept
{
return finder("B9 ? ? ? ? E8 ? ? ? ? B9 ? ? ? ? E8 ? ? ? ? C2 08"_pat, OffsetHint{ 6092048 }).add(-10).asReturnAddress();
return finder("B9 ? ? ? ? E8 ? ? ? ? B9 ? ? ? ? E8 ? ? ? ? C2 08"_pat, OffsetHint{ 6092048 }).add(-10).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress performItemCasketTransactionGetArgAsString() const noexcept
{
return finder("85 C0 0F 84 ? ? ? ? 8B C8 E8 ? ? ? ? 52 50 E8 ? ? ? ? 83 C4 08 89 44 24 0C 85 C0 0F 84 ? ? ? ? F2 0F 2C 44 24"_pat, OffsetHint{ 6098213 }).asReturnAddress();
return finder("85 C0 0F 84 ? ? ? ? 8B C8 E8 ? ? ? ? 52 50 E8 ? ? ? ? 83 C4 08 89 44 24 0C 85 C0 0F 84 ? ? ? ? F2 0F 2C 44 24"_pat, OffsetHint{ 6098213 }).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress useToolGetArgAsString() const noexcept
{
return finder("85 C0 0F 84 ? ? ? ? 8B C8 E8 ? ? ? ? 8B 37"_pat, OffsetHint{ 6118723 }).asReturnAddress();
return finder("85 C0 0F 84 ? ? ? ? 8B C8 E8 ? ? ? ? 8B 37"_pat, OffsetHint{ 6118723 }).as<ReturnAddress>();
}

[[nodiscard]] csgo::SetDynamicAttributeValue setDynamicAttributeValue() const noexcept
Expand Down Expand Up @@ -280,7 +280,7 @@ struct WindowsClientPatternFinder {

[[nodiscard]] std::uintptr_t traceToExit() const noexcept
{
return finder("55 8B EC 83 EC 4C F3 0F 10 75"_pat).get();
return finder("55 8B EC 83 EC 4C F3 0F 10 75"_pat).as<std::uintptr_t>();
}

[[nodiscard]] csgo::ViewRender* viewRender() const noexcept
Expand All @@ -290,7 +290,7 @@ struct WindowsClientPatternFinder {

[[nodiscard]] std::uintptr_t drawScreenEffectMaterial() const noexcept
{
return finder("E8 ? ? ? ? 83 C4 0C 8D 4D F8"_pat).add(1).abs().get();
return finder("E8 ? ? ? ? 83 C4 0C 8D 4D F8"_pat).add(1).abs().as<std::uintptr_t>();
}

[[nodiscard]] csgo::EquipWearable equipWearable() const noexcept
Expand Down Expand Up @@ -355,12 +355,12 @@ struct WindowsClientPatternFinder {

[[nodiscard]] ReturnAddress keyValuesAlloc() const noexcept
{
return finder("E8 ? ? ? ? 83 C4 08 84 C0 75 10"_pat).add(1).abs().add(0x3E).asReturnAddress();
return finder("E8 ? ? ? ? 83 C4 08 84 C0 75 10"_pat).add(1).abs().add(0x3E).as<ReturnAddress>();
}

[[nodiscard]] ReturnAddress shouldDrawFog() const noexcept
{
return finder("E8 ? ? ? ? 8B 0D ? ? ? ? 0F B6 D0"_pat).add(1).abs().add(82).asReturnAddress();
return finder("E8 ? ? ? ? 8B 0D ? ? ? ? 0F B6 D0"_pat).add(1).abs().add(82).as<ReturnAddress>();
}

private:
Expand Down
2 changes: 1 addition & 1 deletion Source/BytePatterns/WindowsEnginePatternFinder.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ struct WindowsEnginePatternFinder {

[[nodiscard]] ReturnAddress keyValuesAlloc() const noexcept
{
return finder("E8 ? ? ? ? 83 C4 08 84 C0 75 10 FF 75 0C"_pat).add(1).abs().add(0x4A).asReturnAddress();
return finder("E8 ? ? ? ? 83 C4 08 84 C0 75 10 FF 75 0C"_pat).add(1).abs().add(0x4A).as<ReturnAddress>();
}

private:
Expand Down
Loading

0 comments on commit ec751e1

Please sign in to comment.