.github | ||
scripts | ||
src | ||
.gitignore | ||
BigBaseV2.lnk | ||
CMakeLists.txt | ||
CMakeSettings.json | ||
CONTRIBUTING.md | ||
LICENSE | ||
metadata.json | ||
README.md |
YimMenu
A mod menu base for Grand Theft Auto V. Strictly for educational purposes.
YimMenu is originally based of off BigBaseV2 which was an amazing base at the time but nowadays is a bit dated. So here I am with an up-to-date menu focusing on protecting the user from toxic modders.
Table of contents
How to build
Requirements:
If you have both of the above requirements you can skip to cloning the git repo and generating the project files.
Git
If you haven't installed git on your system go and do so it is REQUIRED for setting up a working build environment.
CMake
CMake is used to generate our project files, if you haven't used it before we will need to download and install it.
Cloning and generating project files
-
Make sure that you have installed Git and CMake.
-
Clone the repository:
git clone https://github.com/YimMenu/YimMenu.git
-
Go into the directory you just cloned:
cd YimMenu
Generate project files
-
On Windows
-
Visual Studio
If you only use Visual Studio and don't want to mess with command lines, Visual Studio has a CMake extension that does all the work.
Make sure it is installed.
Then, just open Visual Studio, open a local folder, and select the
YimMenu
folder that thegit clone
command just created.Let the CMake extension generate the needed files for building, you can follow the progress in the Output tab of Visual Studio.
Then, you can just build by using the Build menu at the top and clicking Build All.
-
-
Other OSs / IDEs
If you use something else, just follow this:
mkdir build cd build cmake ..
Now, you will be able to open the solution, and build it.
Staying Up To Date
Pull the latest changes from this repository.
With a command line it is as easy as:
git pull
CMake should be handling removed / added files automatically without any user input.
If this is not the case for some reason you'll have to redo the steps in the Generate project files section above.
If you are doing custom modifications to the codebase and have a fork you are on your own for staying up to date with upstream (this repository), google stuff like "merge from upstream" and learn how to use Git.
Project Structure
backend/
all features that should be ran in a loop are in here sorted by categorygui/
includes everything related to UI elementshooks/
function hooksnative_hooks/
hooks to nativesservices/
service files to interact and maintain stuffutil/
general utility functions to keep code as compact and as much in one place as possible
Features
Below is an incomplete list of feature that I believe are notable to this "base" or menu.
- Return Native spoofing
- Custom settings with deep compare if changes were made include auto saving
- Clear and well structured source code
- Includes a thread pool to queue tasks that shouldn't block the game thread, very similar to fiber pool
- Updated natives.hpp from https://nativedb.spyral.dev
- ReClass.NET structures implemented, accessible from a global called g_local_player defined in
common.hpp
Contributing
You're free to contribute to YimMenu as long as the feature are useful, non-toxic and do not contain anything money related that might get the menu targetted by Take2.
Make sure to read the CONTRIBUTING.md file.