docs: rework README and added wiki (#1151)

This commit is contained in:
Andreas Maerten 2023-06-05 22:19:49 +02:00 committed by GitHub
parent 28707968a7
commit a8750a30fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,88 +11,22 @@ So here I am with an up-to-date menu focusing on protecting the user from toxic
## Table of contents
* [How to build](#how-to-build)
* [Curl](#curl)
* [Git](#git)
* [CMake](#CMake)
* [Cloning and generating project files](#cloning-and-generating-project-files)
* [Make your own flavour of YimMenu](#make-your-own-flavour-of-yimmenu)
* [Staying Up To Date](#staying-up-to-date)
* [Project Structure](#project-structure)
* [Features](#features)
* [Contributing](#contributing)
## How to build
## How to compile YimMenu
Requirements:
Read the [SETUP](https://github.com/YimMenu/YimMenu/wiki/Setup-your-PC-for-YimMenu-Development) guide.
* [Git](#git)
* [CMake](#cmake)
## Make your own flavour of YimMenu
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).
Fork YimMenu and git clone that repository instead of https://github.com/YimMenu/YimMenu.git
### Curl
Curl should be already installed on your computer, but if you are having issues with building the project, you will need to download and install
it.
[Download Link](https://curl.se/download.html)
### Git
If you haven't installed git on your system go and do so as it is **REQUIRED** for setting up a working build environment.
[Download Link](https://git-scm.com/download/win)
### CMake
CMake is used to generate our project files, if you haven't used it before you will need to download and install it.
[Download Link](https://cmake.org/download/)
### Cloning and generating project files
- Make sure that you have installed Git and CMake.
- Clone the repository:
```bash
git clone https://github.com/YimMenu/YimMenu.git
```
- Go into the directory you just cloned:
```bash
cd YimMenu
```
#### Generate project files
> **Note**
> You will have cd build and cmake again if you add any files or you will get an error when building.
- Windows Only
- 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](https://learn.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-170#installation).
Then, just open Visual Studio, open a local folder, and select the `YimMenu` folder that the `git 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 or prefer using the console on Windows, just follow this:
```bash
mkdir build
cd build
cmake ..
```
Now, you will be able to open the solution, and build it.
Click the below link to make your own fork of YimMenu:
https://github.com/YimMenu/YimMenu/fork
## Staying Up To Date
@ -106,7 +40,7 @@ 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](#generate-project-files) section above.
If this is not the case for some reason you'll have to redo the steps in the [Making changes to the source code section of the SETUP](https://github.com/YimMenu/YimMenu/wiki/Setup-your-PC-for-YimMenu-Development#making-changes-to-the-source-code).
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.
@ -119,17 +53,6 @@ If you are doing custom modifications to the codebase and have a fork you are on
- `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](src/core/globals.hpp) with deep compare if changes were made, including 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 features are useful, not overly toxic and do not contain anything money related that might get the menu targeted by Take2.