2022-11-09 05:08:58 +08:00
# YimMenu
2022-10-28 04:46:16 +08:00
![](https://img.shields.io/badge/dynamic/json?color=ffab00& label=Online%20Version& query=%24.game.online& url=https%3A%2F%2Fraw.githubusercontent.com%2FYimMenu%2FYimMenu%2Fmaster%2Fmetadata.json& style=flat-square& labelColor=000000) ![](https://img.shields.io/badge/dynamic/json?color=ffab00& label=Game%20Build& query=%24.game.build& url=https%3A%2F%2Fraw.githubusercontent.com%2FYimMenu%2FYimMenu%2Fmaster%2Fmetadata.json& style=flat-square& labelColor=000000)
2019-06-24 04:00:18 +08:00
A mod menu base for Grand Theft Auto V.
Strictly for educational purposes.
2022-11-09 05:08:58 +08:00
YimMenu is originally based of off [BigBaseV2 ](https://github.com/Pocakking/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 focusses on protecting the user from toxic modders.
2022-01-04 19:47:04 +08:00
## Table of contents
2019-06-24 04:00:18 +08:00
2022-01-04 19:47:04 +08:00
* [How to build ](#how-to-build )
* [Git ](#git )
* [Premake5 ](#premake5 )
* [Cloning and generating project files ](#cloning-and-generating-project-files )
2022-02-02 01:45:44 +08:00
* [Staying Up To Date ](#staying-up-to-date )
2022-01-04 19:47:04 +08:00
* [Project Structure ](#project-structure )
* [Features ](#features )
* [Contributing ](#contributing )
## How to build
Requirements:
2022-11-09 05:08:58 +08:00
* [Git ](#Git )
* [CMake ](#CMake )
2022-01-04 19:47:04 +08:00
If you have both of the above requirements you can skip to [cloning the git repo and generating the project files ](#cloning-and-generating-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.
[Download Link ](https://git-scm.com/download/win )
2022-11-09 05:08:58 +08:00
### CMake
2022-01-04 19:47:04 +08:00
2022-11-09 05:08:58 +08:00
CMake is used to generate our project files, if you haven't used it before we will need to download and install it.
2022-01-04 19:47:04 +08:00
2022-11-09 05:08:58 +08:00
[Download Link ](https://cmake.org/download/ )
2022-01-04 19:47:04 +08:00
### Cloning and generating project files
2022-02-02 01:45:44 +08:00
Clone the repository including submodules:
```bash
2022-11-09 05:08:58 +08:00
git clone https://github.com/YimMenu/YimMenu.git || echo "You don't have git installed, install it from https://git-scm.com/download/win"
2022-02-02 01:45:44 +08:00
```
Go into the directory you just cloned:
```bash
2022-01-04 19:47:04 +08:00
cd YimMenu
2022-02-02 01:45:44 +08:00
```
2022-11-09 05:08:58 +08:00
#### Generate project files:
2022-02-02 01:45:44 +08:00
```bash
2022-11-09 05:08:58 +08:00
mkdir build & & cd build
cmake ..
2022-01-04 19:47:04 +08:00
```
Now, you will be able to open the solution, and simply build it in Visual Studio.
2022-11-09 05:08:58 +08:00
2022-02-02 01:45:44 +08:00
## Staying Up To Date
```bash
2022-11-09 05:08:58 +08:00
git pull https://github.com/YimMenu/YimMenu.git
cd build
cmake ..
2022-02-02 01:45:44 +08:00
```
2022-01-04 19:47:04 +08:00
## Project Structure
2021-05-19 06:55:13 +08:00
2021-11-09 08:43:19 +08:00
- `backend/` all features that should be ran in a loop are in here sorted by category
- `gui/` includes everything related to UI elements
- `hooks/` function hooks
2022-10-30 22:21:12 +08:00
- `native_hooks/` hooks to natives
2021-11-09 08:43:19 +08:00
- `services/` service files to interact and maintain stuff
- `util/` general utility functions to keep code as compact and as much in one place as possible
2021-05-19 06:55:13 +08:00
2021-11-09 08:43:19 +08:00
## Features
2022-01-04 19:47:04 +08:00
Below is an incomplete list of feature that I believe are notable to this "base" or menu.
2021-11-09 08:43:19 +08:00
- Return Native spoofing
- Custom [settings ](BigBaseV2/src/core/globals.hpp ) 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
2022-10-30 22:21:12 +08:00
- Updated natives.hpp from https://nativedb.spyral.dev
2021-11-09 08:43:19 +08:00
- ReClass.NET structures implemented, accessible from a global called g_local_player defined in `common.hpp`
2019-06-24 04:00:18 +08:00
2022-01-04 19:47:04 +08:00
## 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.
2022-01-12 00:50:58 +08:00
Make sure to read the [CONTRIBUTING.md ](CONTRIBUTING.md ) file.