/YimMenu

YimMenu, a GTA V menu oriented at protecting from crashes (not all currently) and improving the overall experience.

Primary LanguageC++GNU General Public License v2.0GPL-2.0

YimMenu made possible by BigBaseV2

A mod menu base for Grand Theft Auto V. Strictly for educational purposes.

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.

Download Link

Premake5

Premake5 is used to generate our project files, if you haven't used it before we will need to download and add it to our System Path.

Download Link

Cloning and generating project files

Clone the repository including submodules:

git clone https://github.com/YimMenu/YimMenu.git --recursive || echo "You don't have git installed, install it from https://git-scm.com/download/win"

Go into the directory you just cloned:

cd YimMenu

Generate project files:

GenerateProjects.bat

Now, you will be able to open the solution, and simply build it in Visual Studio.

Staying Up To Date

Pull the latest changes from Github:

git pull && git submodule update

Make sure your Visual Studio is closed and regenerate project files:

GenerateProjects.bat

Project Structure

  • api/ contains some basic example of how I'd make REST api calls
  • 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
  • native_hooks/ hooks to natives, currently not implemented
  • 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

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.pieceof.art/natives
  • Includes basic code samples to interact with an api
  • 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.