Code Monkey home page Code Monkey logo

indicium-supra's Introduction

Indicium-Supra

API-Hooking and rendering framework for DirectX-based games.

Build status Discord Website GitHub followers Twitter Follow

About

Indicium-Supra consists of a self-contained library (DLL) which exposes a minimalistic API for rendering custom content in foreign processes eliminating the need for in-depth knowledge about Direct3D and API-hooking. The most common use-case might be drawing custom overlays on top of your games. The framework takes care about pesky tasks like detecting the DirectX version the game was built for and supports runtime-hooking (no special launcher application required).

Supported DirectX versions

  • DirectX 9.0
  • DirectX 9.0 Extended (Vista+)
  • DirectX 10
  • DirectX 11
  • DirectX 12 (implemented but untested)

How to build

Prerequisites

Samples are currently broken on this branch due to major API redesign!

  • Visual Studio 2019 (Community Edition is just fine)
  • Windows SDK
  • Follow the Vcpkg Quick Start and install the following packages:
    • .\vcpkg install spdlog:x86-windows-static spdlog:x64-windows-static detours:x86-windows-static detours:x64-windows-static
    • For the ImGui sample to build you'll also need:
      • .\vcpkg install imgui:x86-windows-static imgui:x64-windows-static

Building should be pretty straight-forward since the dependencies get installed via Vcpkg. You have multiple choices for getting things done.

Visual Studio

Just open the solution file Indicium-Supra.sln and start the build from there.

The lazy way

Now if you're really in a hurry you can grab pre-built binaries from the buildbot. Boom, done.

How to use

Inject the resulting host library (e.g. Indicium-ImGui.dll) into the target process first using a DLL injection utility of your choice (you can ofc. use mine as well). The following example loads the imgui sample:

.\Injector -i -n hl2.exe Indicium-ImGui.dll

Just make sure your host library doesn't require any external dependencies not present in the process context or you'll get a LoadLibrary failed error.

Diagnostics

The core library logs its progress and potential errors to the file %TEMP%\Indicium-Supra.log.

Demos

The following screenshots show imgui getting rendered in foreign processes using different versions of DirectX.

DirectX 9

Half-Life 2, 32-Bit

Half-Life 2

DirectX 9 Ex

Castlevania: Lords of Shadow, 32-Bit

Castlevania: Lords of Shadow

DirectX 10

Bioshock 2, 32-Bit

Bioshock2_2017-08-10_14-48-38.png

DirectX 11

Ryse: Son of Rome, 64-Bit

Ryse_2017-08-09_21-48-57.png

Road Redemption, 64-Bit

RoadRedemptionEarlyAccess_2017-08-14_14-06-21.png

Sources

indicium-supra's People

Contributors

agrippa1994 avatar dogeamazed avatar dzikoysk avatar nefarius avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.