This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
YimMenu/README.md

3.3 KiB

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:

script.bat

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

Staying Up To Date

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

script.bat

Project Structure

  • 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
  • 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.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.