https://github.com/matcool/gd-mod-example
cmake
https://github.com/matcool/gd-mod-example
example geometry-dash mod template
Last synced: 9 months ago
JSON representation
cmake
- Host: GitHub
- URL: https://github.com/matcool/gd-mod-example
- Owner: matcool
- License: mit
- Created: 2021-03-04T15:06:56.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-16T17:07:53.000Z (over 3 years ago)
- Last Synced: 2025-03-26T13:45:43.357Z (10 months ago)
- Topics: example, geometry-dash, mod, template
- Language: C++
- Homepage:
- Size: 58.6 KB
- Stars: 37
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gd-mod-example
Basic Geometry Dash mod example meant for beginners, or as a template for people who want to use CMake + MinHook + gd.h + cocos2d.
For a simpler and easier to setup/use template check out [gd-mod-cpm-template](https://github.com/matcool/gd-mod-cpm-template)
## Usage
Clone the repo and make sure to use the `--recursive` option. If you dont have git you can download a zip of the repo in releases.
Make sure to change the project name on the `CMakeLists.txt` file
```cmake
set(PROJECT_NAME template-project) # change this
```
To build this project you'll need CMake, which you can download [here](https://cmake.org/download/), and a C++ compiler, such as MSVC, which you can get with Visual Studio
**Make sure you're building in 32 bit mode**, as gd (atleast the windows version) is 32 bit, meaning your dll has to be too.
All the source files contain a lot of comments which you should definitely read if you're just starting out :) (i recommend starting from [dllmain.cpp](https://github.com/matcool/gd-mod-example/blob/master/src/dllmain.cpp))
### Manual setup
You can compile this project entirely in the terminal, as long as you have CMake and MSVC already
1. Clone
```bash
git clone --recursive https://github.com/matcool/gd-mod-example my-awesome-mod
cd my-awesome-mod
```
2. Configure (you only need to do this when editing the cmake file, or adding new cpp files)
``` bash
cmake -B build -A win32
```
3. Build
```bash
# config can also be RelWithDebInfo or MinSizeRel
# however avoid using Debug as that breaks gd.h ;)
cmake --build build --config Release
```
## Resources
- [Ghidra](https://ghidra-sre.org/) - A free reverse engineering tool, which is almost mandatory for GD modding
- [GD Programming](https://discord.gg/jEwtDBK) - A discord server where you can ask a lot of questions :D
- [function address dump](https://github.com/matcool/re-scripts/blob/main/func_dump.txt) - A big list of function addresses for windows
- [gd-addresses](https://github.com/spookybear0/gd-addresses/) - A list of publicly known function offsets
- [Cheat Engine](https://cheatengine.org/) - An awesome tool that lets you find values in memory, explore memory in a hex view and debug functions.
- [x32dbg](https://x64dbg.com/) - An advanced debugger