From fa847300f16522298fac85c6c06426422fe387ec Mon Sep 17 00:00:00 2001 From: k4sh44 Date: Tue, 10 Mar 2026 17:41:55 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 148 +++++++++++++++++++++++++++++------------------------- 1 file changed, 79 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index 0964acb..c7f5ba2 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,93 @@ -# Ultra Wide ASI Core injection for Reshade -

- Buy Me A Coffee - - Buy Me A Coffee - - Made with C++ - - - - - - -

+# ReshadePluginsCore +**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 -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. +## 🎯 PrĂ©sentation -An extra dll is necessary to be used with my injection dll plugins. -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. +**ReshadePluginsCore** est un framework de plugins C++ permettant d’injecter et de contrĂŽler des comportements dans les jeux vidĂ©o, avec une architecture modulable pour diffĂ©rents moteurs (Unreal Engine 4/5, Unity). -## Installation -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. +Il offre notamment : -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). -Check the boxes, adjust sliders and see the effects in real time in game. +Le framework est conçu pour ĂȘtre **gĂ©nĂ©rique**, **rĂ©utilisable** et **performant**, permettant l’intĂ©gration rapide de nouveaux jeux ou moteurs. -## 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 - std::this_thread::sleep_for(std::chrono::milliseconds(100)); - Engine = UEngine::GetEngine(); +## ⚙ Architecture - if (Engine && Engine->ConsoleClass && Engine->GameViewport) - break; -} +### 1. Core DLL -if (!Engine || !Engine->ConsoleClass || !Engine->GameViewport) { - logger->error("Console could not be found in engine."); - return; -} -logger->info("Console found in engine"); +Le cƓur du projet gĂšre : -/* Creates a new UObject of class-type specified by Engine->ConsoleClass */ -UObject* NewObject = UGameplayStatics::SpawnObject(Engine->ConsoleClass, Engine->GameViewport); -if (NewObject) -{ - logger->info("Successfully spawned console object"); - // Set the console viewport so that it will be displayed - Engine->GameViewport->ViewportConsole = static_cast(NewObject); - auto end = std::chrono::high_resolution_clock::now(); - std::chrono::duration elapsed = end - start; +- **Chargement dynamique des modules** +- **Hooks sĂ©curisĂ©s (SafetyHookMid)** pour l’injection de code au runtime +- **AOB scans et calculs d'offsets** pour identifier les structures internes du jeu +- **Memory patching** pour ajuster le comportement des moteurs graphiques +- **API C++ exportĂ©e** (`SetFixEnabled`, `SetFixesEnabled`, `SetValues`, `GetGameInfos`) pour l’interaction avec l’UI - logger->info("Console fully reactivated in {:.3f}s and bound to key Tilde", elapsed.count()); - logger->info("------------------ User inputs ------------------"); - g_Console_Enabled = true; -} -else { - logger->error("Could not spawn console object"); -} -``` +### 2. Modules principaux -## Credits -This project use the following other projects. -[SafetyHook](https://github.com/cursey/safetyhook) +| Module | Description | +|-------------------------|-------------| +| `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 l’aberration 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 d’autres moteurs via l’API +- **Build simplifiĂ©** : solution Visual Studio avec `.sln` et dossier `Release/x64` prĂȘt Ă  l’emploi + +--- + +## 🚀 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 l’injection/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) \ No newline at end of file