Skip to content

InfiniteExt is a customizable DLL Hook for Halo Infinite for interacting with the built-in HavokScript VM and tag system.

License

Notifications You must be signed in to change notification settings

Surasia/InfiniteExt

Repository files navigation

InfiniteExt

InfiniteExt is a customizable DLL Hook for Halo Infinite for interacting with the built-in HavokScript VM and tag system. This project is built on top of Blamify's Gatekeeper, with functionality updated for the latest build of Halo Infinite.

Features/To-Do

  • Hooking HavokScript
  • Hooks to Game Functions
  • Lua File Loading
  • Tag Editing/Viewing
  • Built-in Memory Editor
  • ImGui Integration
  • Forge Hidden Category Enabler
  • Game Engine Hooks

Tip

PRs and Feature requests are appreciated!

Installation

InfiniteExt requires Easy Anti Cheat to be disabled, which can be achieved by moving the contents of the /game folder into the main installation directory, overriding the existing HaloInfinite.exe which acts only as an Easy Anti Cheat loader.

  • Steam: {path to SteamLibrary}/steamapps/common/Halo Infinite/game -> {path to SteamLibrary}/steamapps/common/Halo Infinite
  • Microsoft Store: {path to XboxGames}/Halo Infinite/Content/game -> {path to XboxGames}/Halo Infinite/Content/

For hooking InfiniteExt to Halo Infinite, the USER32 DLL has to be replaced with InfiniteExt. In a Hex editor of your choice, open the HaloInfinite.exe executable, search for USER32.DLL and replace with InfExt.DLL.

Important

Replace the User32 DLL inside the main HaloInfinite.exe, the one you moved from /game. This file should be around 80-90MBs depending on version.

Building

This project can be built using Visual Studio 2022 (vc143) with vcpkg installed. To install vcpkg, follow these instructions.. Previous versions of Visual Studio haven not been tested.

Note

The current project is not cross-platform compatible due to a multitude of Microsoft-specific extensions of C++ being used. Usage on Linux using Wine has not been tested.

Usage

Console

InfiniteExt's ImGui interface contains a command line that is directly integrated into the built-in HavokScript VM of Halo Infinite. Here, you can run regular lua functions in addition to the custom C bindings which you can find a list for here.

Debug Menu

The debug menu contains multiple toggles for:

  • Enabling the Forge hidden category
  • Enabling the debug watermark
  • Disabling HUD
  • Disabling kill volumes

Tag Editor

InfiniteExt provides a tag window that allows you to load and view tags. Simply press the "Load Tags" button and the list will populate with tags sorted by their class. Currently, except for CMSW (CoatingSwatch) files, the list view only provides metadata for tags. For CMSW files however, you can click the "Edit Tag" button, which will open up a seperate window that will allow you to edit every property of the tag.

Keybindings:

  • Home: Reload Graphics Hook
  • Insert: Show/Hide UI
  • End: Hook/Unhook ImGui/DX12

Licenses/Dependencies

About

InfiniteExt is a customizable DLL Hook for Halo Infinite for interacting with the built-in HavokScript VM and tag system.

Topics

Resources

License

Stars

Watchers

Forks

Languages