Actualiser README.md

This commit is contained in:
2026-03-10 17:41:55 +00:00
parent d95bdaa64a
commit fa847300f1

148
README.md
View File

@@ -1,83 +1,93 @@
# Ultra Wide ASI Core injection for Reshade # ReshadePluginsCore
<p align="middle">
<img src="https://img.shields.io/badge/MIT-green?style=for-the-badge" alt="Buy Me A Coffee">
<a href="https://buymeacoffee.com/k4sh44">
<img src="https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black" alt="Buy Me A Coffee">
</a>
<img src="https://img.shields.io/badge/C%2B%2B-00599C?style=for-the-badge&logo=c%2B%2B&logoColor=white" alt="Made with C++">
<a href="https://visualstudio.microsoft.com/">
<img src="https://img.shields.io/badge/Visual_Studio-5C2D91?style=for-the-badge&logo=visual%20studio&logoColor=white">
</a>
<a href="https://www.docker.com//">
<img src="https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white">
</a>
</p>
**Framework modulaire C++ pour injection de comportements et fixes graphiques dans les jeux vidéo**
**Auteur :** Emmanuel AYME
This repository is dedicated on Ultra Wide asi plugins core for Reshade. ---
It's dedicated on injecting assembly code to modify game's behaviour (FOV, aspect ratio and more in games).
They're intended to be used with my other Reshade project addons.
## Building ## 🎯 Présentation
Download this repository. Open the .sln provided. Build the solution for release.
The solution has an x64 folder with Release ini it. .asi files shoud be found there.
An extra dll is necessary to be used with my injection dll plugins. **ReshadePluginsCore** est un framework de plugins C++ permettant dinjecter et de contrôler des comportements dans les jeux vidéo, avec une architecture modulable pour différents moteurs (Unreal Engine 4/5, Unity).
Its name is zydis.dll (assembler/disassembler).
The zydis project can easily be found on github.
You have to build it first in order for my plugins to work.
You will also need zydis core project in addition to zydis.
## Installation Il offre notamment :
Once zydis and my project is built, you can drop zydis.dll next to game's executable. Don't forget to drop also the .dll file corresponding to your game.
Prior to this, you would have built the addon project and dropped the respective .addon file into the game's executable folder. - **Fixes graphiques** : FOV (champde vision), ultra wide, DOF (profondeur de champ), aberrations chromatiques, brouillard, vignettage ...
- **Cheats / outils développeur** : console réactivée, time dilation, stealth mode...
- **Instrumentation runtime** : hooks sécurisés, AOB scans, offset resolution
- **Séparation Core / UI** pour des interfaces modulables via Reshade ou autres overlay
Having done all of this, you can run the game and hit "Home" key when Reshade has successfully hooked game's API (DX10/11/12/Vulkan). Le framework est conçu pour être **générique**, **réutilisable** et **performant**, permettant lintégration rapide de nouveaux jeux ou moteurs.
Check the boxes, adjust sliders and see the effects in real time in game.
## Interesting projects ---
Uncharted LOTC for its cinematics fix.
Wuchang Fallen Feathers for its approach on fixes detours (using VEH debugging).
Cronos: The New Dawn for its implement of Unreal Engine SDK (see code below).
```
// Devs console re-creation
auto start = std::chrono::high_resolution_clock::now(); // Measure the time to renable console
UEngine* Engine = nullptr;
for (int i = 0; i < 100; ++i) { // gives 10 seconds to find UE Engine ## ⚙️ Architecture
std::this_thread::sleep_for(std::chrono::milliseconds(100));
Engine = UEngine::GetEngine();
if (Engine && Engine->ConsoleClass && Engine->GameViewport) ### 1. Core DLL
break;
}
if (!Engine || !Engine->ConsoleClass || !Engine->GameViewport) { Le cœur du projet gère :
logger->error("Console could not be found in engine.");
return;
}
logger->info("Console found in engine");
/* Creates a new UObject of class-type specified by Engine->ConsoleClass */ - **Chargement dynamique des modules**
UObject* NewObject = UGameplayStatics::SpawnObject(Engine->ConsoleClass, Engine->GameViewport); - **Hooks sécurisés (SafetyHookMid)** pour linjection de code au runtime
if (NewObject) - **AOB scans et calculs d'offsets** pour identifier les structures internes du jeu
{ - **Memory patching** pour ajuster le comportement des moteurs graphiques
logger->info("Successfully spawned console object"); - **API C++ exportée** (`SetFixEnabled`, `SetFixesEnabled`, `SetValues`, `GetGameInfos`) pour linteraction avec lUI
// Set the console viewport so that it will be displayed
Engine->GameViewport->ViewportConsole = static_cast<UConsole*>(NewObject);
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed = end - start;
logger->info("Console fully reactivated in {:.3f}s and bound to key Tilde", elapsed.count()); ### 2. Modules principaux
logger->info("------------------ User inputs ------------------");
g_Console_Enabled = true;
}
else {
logger->error("Could not spawn console object");
}
```
## Credits | Module | Description |
This project use the following other projects. |-------------------------|-------------|
[SafetyHook](https://github.com/cursey/safetyhook) | `FOVFixEnabled` | Déverrouille et ajuste le FOV des jeux UE / Unity |
| `UltraWideFixEnabled` | Active la prise en charge des écrans ultrawide |
| `DOFFixEnabled` | Désactive ou ajuste la profondeur de champ |
| `CAFixEnabled` | Désactive laberration chromatique |
| `VignettingFixEnabled` | Supprime ou ajuste le vignettage |
| `FogFixEnabled` | Ajuste ou supprime le brouillard |
| `EnableConsole` | Réactive la console développeur dans UE |
| `EnableCheats` | Applique les cheats `TimeDilation` et `Stealth` |
| `ProcessEvent` | Hook central pour récupérer et manipuler les événements du moteur |
| `Logger` | Suivi en temps réel des modifications et actions appliquées |
| `Autres fonctions` | Besoins spéciques pour fix ou autres |
### 3. Conception
- **Thread-safe** : initialisations atomiques, hooks et variables partagées sécurisées
- **Modulaire** : chaque fix peut être activé/désactivé indépendamment
- **Extensible** : support UE4/UE5, Unity, et potentiellement dautres moteurs via lAPI
- **Build simplifié** : solution Visual Studio avec `.sln` et dossier `Release/x64` prêt à lemploi
---
## 🚀 Fonctionnalités clés
- **Injection runtime** : modification directe des comportements de jeu sans source modifiable
- **Hooks dynamiques** : SafetyHookMid pour attacher du code de manière non intrusive
- **Offset & pattern scanning** : AOB scans batch pour trouver automatiquement les adresses critiques
- **Configuration persistante** : sauvegarde et chargement via fichier `.ini`
- **Instrumentation multi-moteurs** : abstraction pour UE / Unity
---
## 🛠️ Build & Dépendances
1. Cloner le repo `ReshadePluginsCore`
2. Ouvrir la solution `.sln` avec Visual Studio 2022+
3. Compiler en **Release/x64**
4. Déposer les `.dll` générées à côté des exécutables du jeu ciblé
5. Ajouter toute dépendance externe (ex. `zydis.dll` pour linjection/assembly)
---
## 📈 Points forts
- Maîtrise avancée du **C++ moderne**, y compris hooks et instrumentation mémoire
- Capacité à concevoir des **frameworks modulaires** et réutilisables
- Expérience pratique sur **Unreal Engine 4/5** et **Unity**
- Gestion de projet **multi-moteurs et multi-jeux**
- Compétences en **reverse engineering et debugging runtime**
- Documentation claire et orientée utilisateur pour intégration facile
---
## 🔗 Liens et contact
- Buy Me A Coffee : [https://buymeacoffee.com/k4sh44](https://buymeacoffee.com/k4sh44)