A modding SDK for Hitman 3

Overview

ZHM Mod SDK

A modding SDK and mod loader for HITMAN 3.

build status

Description

This is a community-made modding SDK and mod loader for HITMAN 3. Its purpose is to allow users to easily download and use mods, and make the creation of more complex runtime mods easier for developers.

Right now it's at a very early stage, with only a few aspects of the engine exposed, but the plan is to further extend it to support basic entity, AI, and item manipulation.

Usage (mod loader & mods)

  1. Download the latest version of the mod loader and the mods by going here, and downloading mod-loader-RelWithDebInfo.zip and mods-RelWithDebInfo.zip. These zip files contain the mod loader and a few mods respectively.

  2. Extract the contents of the mod-loader-RelWithDebInfo.zip archive to <drive>:\Path\To\HITMAN3\Retail, where <drive>:\Path\To\HITMAN3 is the path to your Hitman 3 installation directory. This will be at C:\Program Files\EpicGames\HITMAN3 by default. Make sure that you extract the files in the Retail folder and not the root HITMAN3 folder.

  3. Create a new folder called mods inside the Retail folder you extracted the mod loader to.

  4. Extract the .dll files for the mods you want to use from the mods-RelWithDebInfo.zip archive to the mods folder you created in the previous step. You can find a description of what each mod does below.

  5. Run the game like you normally would.

  6. ...

  7. Profit?

Sample mods

There are a few sample mods included in this repository that can be used either as reference or for regular gameplay.

Mod name Description
NoPause Prevents the game from automatically pausing after losing focus (eg. when alt-tabbing or minimizing).
SkipIntro Skips the intro sequence and starts the game directly at the main menu.
WakingUpNpcs Makes pacified NPCs wake up after a random interval between 4 and 8 minutes.

Contributing

TODO

Usage (for developers)

TODO

Comments
  • Steam version is unsupported (black screen on startup, no UI)

    Steam version is unsupported (black screen on startup, no UI)

    After unpacking the mod loader to the retail folder and mods to the mods folder, the game shows black screen when i try to run it. Im playing on 3.100 steam version.

    bug 
    opened by skoki2 9
  • Fix RPC Pushes

    Fix RPC Pushes

    Apparently {} is needed after discord::Activity activity ... just shows how much I know about C++ 😅

    Also implemented execution of Discord callbacks via OnDraw3D calls, just to make things proper.

    opened by mike-koch 4
  • [FreeCam]

    [FreeCam] "Keeps camera still while you control 47" doesn't work

    About what it says on the tin; there's no way to move 47 while the free camera is enabled. The readme says Left Bumper is assigned to this but it doesn't do anything as far as I can tell. I tried to dig through some files but I'm out of my depth haha. If it's relatively easy to modify, it'd also be awesome to have a KBM binding or the ability to toggle/hold.

    This tool is awesome though, I've been looking for a nice H3 freecam. Thanks!

    opened by nick21500 4
  • No dialog appear when game is opened

    No dialog appear when game is opened

    When the game opens, you'll see a dialog asking you which mods you'd like to use. Select them and press OK. You might need to restart your game for some of them to work.

    I followed all the instructions but there was no dialog when I opened the game.

    duplicate 
    opened by E-Lian 3
  • Discord Rich Presence doesn't work

    Discord Rich Presence doesn't work

    I have downloaded the 'mods' and 'mods-loader' folders and placed them accordingly. The other mods are being detected correctly. Additionally, I have downloaded the DLL file (discord_game_sdk.dll) into my Retail folder but still, it's not working, Am I doing something wrong? @OrfeasZ

    opened by prixster 3
  • Npcs in containers

    Npcs in containers

    Passified npcs put into containers will pop out after their time to wake up and will stand infront of the container and not move but can still react to suspicious actions.

    bug 
    opened by geicorules 2
  • Some Questions

    Some Questions

    Sorry if this is the wrong place I didn't see a forum to ask these questions. I understand this is new so there isn't much explanation on some of the mods

    1. CertPinBypass : Does this mod do anything at the moment? Is the intention that we could make a fake spoofed IoI server so we could play offline but let the game think we are online and level up etc?

    2. As for the mod loader does it currently only support the mods listed here? Do the mods require dll. Will this allow for downloading of mods off of nexus and placing them here in a folder and the mod loader does the job of putting them in the proper place?

    Sorry I am not a modder but am very interested in where this project is going. It would be ideal if we could play this game offline and still unlock items and be able to see our SA icon and even getting a rating even if it wasn't published to the leaderboards. Besides the leaderboards are already plagued with cheaters so they aren't of actual use.

    Once again sorry in advance if this isn't where this should go and keep up the good work its thanks to people like you that games like this can live on past when the devs decide to support it.

    question 
    opened by geicorules 2
  • Gave ZString typecasts to std::string_view and std::string

    Gave ZString typecasts to std::string_view and std::string

    Not sure if this is needed, but I wrote it to make it easier when I needed to store a ZString as a std::string so that I could use functions from the string library

    opened by andrewpratt64 2
  • Please Update the SDK for Hitman III

    Please Update the SDK for Hitman III

    The mod hasn't worked since patch 3.110.0 I've installed it properly, and it used work before that patch, but now the only thing pressing the tilde key does is bring up the cursor, which implies that certain aspects of the SDK still work, but the menu to turn any options on, or using any hotkeys does absolutely nothing. I've labelled this as a new issue hopefully to get your attention, I don't know if you plan on maintaining this mod anymore, but please if this could be updated when Hitman III gets its "freelancer mode" update, as that'll bring a lot of players, myself included, back to the game, and I want to record some cinematics that are only possible with your SDK camera mod.

    opened by AyoFixtheSDK 1
  • Broken controls after restarting without exiting FreeCam

    Broken controls after restarting without exiting FreeCam

    Using a controller. When entering FreeCam, the game is still running, so I will sometimes pause the game, resulting in the usual pause menu but still allowing me to adjust the camera. If I then restart the level, some of the game controls are broken until I enter free cam and exit again.

    Ideally FreeCam should automatically restore the controls when the level is restarted.

    bug 
    opened by Deji69 1
  • AdvancedRating access violation when minimizing window

    AdvancedRating access violation when minimizing window

    ImGui::TableNextRow -> AdvancedRating::OnDrawUI -> ModSDK::OnDrawUI

    00007ff8`19380ba0 48895c2408      mov     qword ptr [rsp+8],rbx
    00007ff8`19380ba5 57              push    rdi
    00007ff8`19380ba6 4883ec30        sub     rsp,30h
    00007ff8`19380baa 488b0557b31700  mov     rax,qword ptr [advancedrating!GImGui (00007ff8`194fbf08)]
    00007ff8`19380bb1 8bf9            mov     edi,ecx
    00007ff8`19380bb3 0f29742420      movaps  xmmword ptr [rsp+20h],xmm6
    00007ff8`19380bb8 0f28f1          movaps  xmm6,xmm1
    00007ff8`19380bbb 488b98e81f0000  mov     rbx,qword ptr [rax+1FE8h]
    00007ff8`19380bc2 80bb4902000000  cmp     byte ptr [rbx+249h],0 ds:00000000`00000249=??
    

    last line is the access violation, rbx is null rax is 66ef40 66ef40+1fe8 = nullptr

    // [Public] Starts into the first cell of a new row
    void ImGui::TableNextRow(ImGuiTableRowFlags row_flags, float row_min_height)
    {
        ImGuiContext& g = *GImGui;
        ImGuiTable* table = g.CurrentTable;
    
        if (!table->IsLayoutLocked)
            TableUpdateLayout(table);
        if (table->IsInsideRow)
            TableEndRow(table);
    

    I'm guessing it's testing IsLayoutLocked but table is null, because the g.CurrentTable variable is null. Not sure why that would happen on minimization but that's all I've got

    bug 
    opened by keyboardsmoke 1
  • FreeCam - First-Time controls popup configuration

    FreeCam - First-Time controls popup configuration

    FreeCam now pops up with on-screen controls dialog on first use. For those familiar with the controls, this is just an extra thing to close. It also stays open after leaving free cam mode. Configuration to disable this behaviour would be appreciated.

    enhancement 
    opened by Deji69 0
  • Adjustable controls in FreeCam?

    Adjustable controls in FreeCam?

    Using a controller, I find the control layout for FreeCam to be very awkward to use when compared to nVidia Ansel. It would be great to be able to customise the controls, including making raise/lower camera bound to triggers rather than a more difficult combination of inputs.

    enhancement 
    opened by Deji69 2
Releases(v1.7.0-rc.0)
Owner
Orfeas Zafeiris
Orfeas Zafeiris
This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound C++ samples from the legacy DirectX SDK updated to build using the Windows 10 SDK and the Microsoft.DXSDK.D3DX NuGet package

DirectX SDK Legacy Samples This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound samples that originally shipped in the legac

Chuck Walbourn 44 Jan 2, 2023
Enabling services on your device 81 Jan 6, 2023
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

Welcome! The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design

Microsoft 7.2k Dec 30, 2022
Good Game, Peace Out Rollback Network SDK

(日本語ドキュメントはこちら) What's GGPO? Traditional techniques account for network transmission time by adding delay to a players input, resulting in a sluggish,

Tony Cannon 2.7k Dec 29, 2022
grey sdk

grey是龙游天下公司的产品"汉末霸业"的一个附属产品。开始是为了解决产品的扩展性,自由度,热更新,视频流播放,用户DIY,3d扩展,人工智能等功能而开发。后来把这些功能集成整理后,从而形成了一个完整的应用级解决方案。 grey是一套应用开发解决方案,使用类似c++的语言(cplus)进行开发。 让

grey-platform 51 Jun 18, 2022
MCUXpresso SDK

Overview MCUXpresso SDK is a comprehensive software enablement package designed to simplify and accelerate application development with Arm® Cortex®-M

NXP Micro 204 Dec 31, 2022
Tuya IoTOS Embeded SDK WiFi & BLE for BK7231T

Tuya IoTOS Embedded Wi-Fi and BLE SDK for BK7231T 中文版 | English Overview Developed independently by Tuya Smart, Tuya IoTOS is the world's only IoT ope

Tuya 35 Dec 5, 2022
C++ Kite Connect API library / SDK

Kite Connect API C++ client Overview Dependencies Getting dependencies Linux Others & uWS v0.14 Building & installation Examples REST API Ticker Docum

Zerodha Technology 27 Dec 30, 2022
Android and iOS SDK to display maps and geodata of swisstopo. Owner: simonroesch, Deputy: gjn

Open Swiss Maps SDK Android and iOS SDK to display maps and geodata of swisstopo Free map layers and geo data by swisstopo in your app Offer your mobi

geo.admin.ch 22 Jan 4, 2023
Firmware and SDK for the ER-301

ER-301 Sound Computer Table of Contents Introduction Emulator Compiling the emulator Running the emulator Configuring the emulator Installing packages

Orthogonal Devices 109 Dec 14, 2022
Tuya MCU SDK Arduino Library is developed based on the Tuya Wi-Fi general integration solution

Tuya MCU SDK Arduino Library is developed based on the Tuya Wi-Fi general integration solution. The device's MCU is connected to a Wi-Fi module through a serial port to implement a network connection. The development is based on general firmware, which supports the adaptative 9600 and115200 baud rate

Tuya 85 Dec 28, 2022
Teamspeak FriendSystem Plugin written in C/C++ (Teamspeak SDK)

Teamspeak-FriendSystem Teamspeak FriendSystem Plugin written in C/C++ (Teamspeak SDK) Install it into AppData / Roaming / Ts3Client / plugins Its only

null 2 Sep 24, 2021
Minecraft Windows 10 Bedrock SDK (1.17.30)

MCBE SDK Minecraft Windows 10 Bedrock SDK (1.17.30) Simple usage: cmake_minimum_required(VERSION 3.20) project(DummieProj VERSION 0.1.0) SET(CMAKE_CX

null 21 Oct 15, 2022
A cross-platform SDK enabling developers to integrate real-time chat technology into their projects

4Players ODIN SDK ODIN is a cross-platform software development kit (SDK) that enables developers to integrate real-time chat technology into multipla

4Players 6 Dec 2, 2022
macOS 12.0 Monterey SDK for Mach engine

macOS 12.0 Monterey SDK for Mach Engine This repository contains native system binary files required to build Mach Engine for macOS, from any host OS.

Hexops 5 Sep 8, 2022
This repository provides a C++ client SDK for Unleash that meets the Unleash Client Specifications.

Unleash Client SDK for C++ This repository provides a C++ client SDK for Unleash that meets the Unleash Client Specifications. Features The below tabl

Antonio Ruiz 4 Jan 30, 2022
A modding SDK that allows you to interact with a modified version of Cocos 2DX v2.2.3 utilized by Geometry Dash

What is CappuccinoSDK CappucinoSDK is a modding utility that allows you to interact with a modified version of the game engine Cocos-2DX v2.2.3, which

null 18 Oct 29, 2022
A geometry dash modding sdk that contains cocos2d headers

Adrikikicp-SDK GD SDK that i use for my mods What is the meaning of SDK???? SDK is Software Development Kit. This is a GD modding sdk that i use for m

adrikikicp el programador 10 Feb 16, 2022
First open-source Geometry Dash cross-platform Modding SDK

BoolkaSDK First open-source Geometry Dash cross-platform Modding SDK Requirements CMake 3.21 Android NDK r23 LLVM x86 Java and ApkTool Building Open C

null 7 Nov 20, 2022
MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library is a C software library that is widely regarded by developers as the gold standard open source SDK for elliptic curve cryptography (ECC).

MIRACL What is MIRACL? Multiprecision Integer and Rational Arithmetic Cryptographic Library – the MIRACL Crypto SDK – is a C software library that is

MIRACL 527 Jan 7, 2023