Skip to content
This repository was archived by the owner on Oct 7, 2024. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
Setup project files, make it buildable.
  • Loading branch information
Prevter committed Feb 7, 2024
0 parents commit 34607cc
Show file tree
Hide file tree
Showing 57 changed files with 35,056 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.vscode/
.vs/
.idea/
bin/
build/
15 changes: 15 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[submodule "libs/imgui"]
path = libs/imgui
url = https://github.com/ocornut/imgui
[submodule "libs/gd.hpp"]
path = libs/gd.hpp
url = https://github.com/prevter/gd.hpp
[submodule "libs/minhook"]
path = libs/minhook
url = https://github.com/TsudaKageyu/minhook
[submodule "libs/glfw"]
path = libs/glfw
url = https://github.com/glfw/glfw
[submodule "libs/spdlog"]
path = libs/spdlog
url = https://github.com/gabime/spdlog
21 changes: 21 additions & 0 deletions ABOUT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# OpenHack
A free and open source collection of hacks for Geometry Dash version 2.2.

## About
OpenHack is a free and open source collection of hacks for Geometry Dash version 2.2. It is designed to be easy to use and highly customizable, with a wide range of features to enhance the game experience.

Please visit the [issues](https://github.com/prevter/gdopenhack/issues) page for known issues and planned features (and feel free to leave your own suggestions).

## Features
- 70+ hacks (including noclip, speedhack, etc.)
- Customizable menu with animations
- StartPos Switcher
- Keybinds
- Discord RPC

## Links
- [Discord server](https://discord.gg/HaHn7RSJ4Q)
- [GitHub repository](https://github.com/Prevter/GDOpenHack)

## License
OpenHack is licensed under the [MIT License](https://github.com/prevter/gdopenhack/blob/main/LICENSE).
68 changes: 68 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
## v2.0.0
* Full project rewrite for better stability

## v1.6.1
* Fixed some issues with Discord RPC
* Fixed "StartPos Switcher" crashes
* Fixed "Practice Mode" shortcut crash
* Fixed color settings not saving

## v1.6.0
* First Geode release
* Added Shortcuts
* Improved "Stack Windows"
* Added 15 new hacks
* Various bug fixes

# Pre-geode updates

## v1.5.0
* Added "StartPos Switcher"
* Added "Auto Pickup Coins"
* Fixes to keybinds

## v1.4.0
* Added keybinds
* Changes to the "Stack Windows"
* Fixed menu not opening after switching Fullscreen/Borderless mode
* Some bug fixes

## v1.3.0
* Added 13 new hacks
* Added "Discord RPC"
* "Music Unlocker" also unlocks Practice Mode music
* Added descriptions (tooltips) for hacks
* Fixes to old hacks

## v1.2.1
* Added "Auto Safe Mode"
* Added DLL loader
* Added "Enable Menu Buttons" hack
* Code refactoring

## v1.2.0
* Added autoupdater
* Added 2.204 version support
* Small fixes and improvements

## v1.1.1
* Fixed a crash when minimizing/maximizing the game
* Fixed some hooks
* Improved "NoClip" hack
* Restored all hacks to work with 2.202/2.203
* Small GUI improvements
* Added "Display" window to change FPS and toggle VSync

## v1.1.0
* Added support for Geometry Dash 2.202
* Added search bar
* Added pattern scanner for better compatibility

## v1.0.1
* Added snow effect in the main menu
* Fixed random crashes
* Added new hacks
* Fixed UI code

## v1.0.0
* Initial release
138 changes: 138 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
cmake_minimum_required(VERSION 3.15)
project(
OpenHack
VERSION 2.0.0
HOMEPAGE_URL "https://github.com/Prevter/GDOpenHack"
LANGUAGES C CXX
)

# Set the C++ standard to C++20
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)

# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND git log -1 --format=%h
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
OUTPUT_VARIABLE GIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)

# Set the default build type to RelWithDebInfo
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build" FORCE)
endif()

# Configure the project version
configure_file(
${CMAKE_CURRENT_LIST_DIR}/cmake/version.h.in
${CMAKE_BINARY_DIR}/version.h
)

# ========================================
# | Shared files
# ========================================
file(
GLOB_RECURSE SHARED_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/src/shared/*.cpp
${CMAKE_CURRENT_LIST_DIR}/src/shared/*.hpp
)

add_library(
${PROJECT_NAME}
INTERFACE
"${CMAKE_BINARY_DIR}/version.h"
)

add_subdirectory(libs)

target_include_directories(
${PROJECT_NAME}
INTERFACE
${CMAKE_BINARY_DIR}
libs/glew/include
)

target_link_libraries(
${PROJECT_NAME}
INTERFACE
external_libs
glfw
opengl32
${CMAKE_SOURCE_DIR}/libs/glew/lib/Release/Win32/glew32.lib
)

# ========================================
# | Geode build
# ========================================
if (NOT DEFINED ENV{GEODE_SDK})
message(STATUS "Geode SDK not found, skipping Geode build")
else()
message(STATUS "Found Geode: $ENV{GEODE_SDK}")

file(
GLOB_RECURSE GEODE_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/src/geode/*.cpp
${CMAKE_CURRENT_LIST_DIR}/src/geode/*.hpp
)

add_library(
${PROJECT_NAME}-Geode
SHARED
${SHARED_SOURCE_FILES}
${GEODE_SOURCE_FILES}
)

add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)

target_link_libraries(
${PROJECT_NAME}-Geode
${PROJECT_NAME}
)

setup_geode_mod(${PROJECT_NAME}-Geode)
endif()

# ========================================
# | Standalone build
# ========================================
file(
GLOB_RECURSE STANDALONE_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/src/standalone/*.cpp
${CMAKE_CURRENT_LIST_DIR}/src/standalone/*.hpp
${CMAKE_CURRENT_LIST_DIR}/src/standalone/*.def
)

add_library(
${PROJECT_NAME}-Standalone
SHARED
${SHARED_SOURCE_FILES}
${STANDALONE_SOURCE_FILES}
)

add_subdirectory(libs/minhook)
add_subdirectory(libs/glfw)
add_subdirectory(libs/spdlog)

target_include_directories(
${PROJECT_NAME}-Standalone
PRIVATE
libs/glew/include
)

target_link_libraries(
${PROJECT_NAME}-Standalone
${PROJECT_NAME}
minhook
spdlog::spdlog
)

set_target_properties(
${PROJECT_NAME}-Standalone
PROPERTIES
OUTPUT_NAME "xinput9_1_0"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
)
33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Contributing to OpenHack

Thank you for your interest in contributing to OpenHack! We welcome contributions from the community to help improve the project.

## Getting Started

To get started with contributing, please follow these steps:

1. Fork the repository on GitHub.
2. Clone your forked repository to your local machine.
3. Create a new branch for your changes.
4. Make your desired changes to the codebase.
5. Test your changes thoroughly.
6. Commit your changes with descriptive commit messages.
7. Push your changes to your forked repository.
8. Submit a pull request to the main repository.

## Code Style

We follow a specific code style in this project to maintain consistency. Please make sure to adhere to the following guidelines:

- Use "C/C++" extension for VSCode with default settings for formatting your code (run "Format Document" on all changed files to be sure).
- Write clear and concise comments to explain your code.

## Issue Tracker

If you encounter any issues or have suggestions for improvements, please check the issue tracker on GitHub before creating a new issue. If the issue already exists, feel free to add any additional information or comments.

## Contact

If you have any questions or need further assistance, please reach out to `prevter` on Discord.

We appreciate your contributions and look forward to working with you!
9 changes: 9 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
The MIT License (MIT)

Copyright © 2024 Prevter

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading

0 comments on commit 34607cc

Please sign in to comment.