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

deprecation #247

Merged
merged 20 commits into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 50 additions & 50 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,50 +52,50 @@ jobs:
name: OpenHack-Geode
path: ${{ steps.build.outputs.build-output }}

standalone:
name: Vanilla OpenHack
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Ninja
shell: bash
run: |
curl -L https://github.com/ninja-build/ninja/releases/latest/download/ninja-win.zip -o ninja.zip
7z x ninja.zip -o"$GITHUB_WORKSPACE/ninja"
echo "$GITHUB_WORKSPACE/ninja" >> $GITHUB_PATH

- name: Update LLVM
shell: bash
run: |
curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/LLVM-17.0.6-win64.exe -o llvm-inst.exe
7z x llvm-inst.exe -ollvm bin/clang.exe bin/clang++.exe bin/lld-link.exe bin/llvm-rc.exe bin/*.dll lib/clang/*/include/*
echo "$GITHUB_WORKSPACE/llvm/bin" >> $GITHUB_PATH

- name: Configure CMake and build
id: build
shell: bash
run: |
mkdir -p $HOME/.sccache
export CFLAGS="--target=i686-windows-msvc"
export CXXFLAGS="--target=i686-windows-msvc"
export LDFLAGS="--target=i686-windows-msvc"
cmake -B build -DBUILD_GEODE=OFF -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -G Ninja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
cmake --build build --config ${{env.BUILD_TYPE}}

- name: Save artifacts
uses: actions/upload-artifact@v4
with:
name: OpenHack-Standalone
path: ${{github.workspace}}/bin
# standalone:
# name: Vanilla OpenHack
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: recursive
#
# - name: Install Ninja
# shell: bash
# run: |
# curl -L https://github.com/ninja-build/ninja/releases/latest/download/ninja-win.zip -o ninja.zip
# 7z x ninja.zip -o"$GITHUB_WORKSPACE/ninja"
# echo "$GITHUB_WORKSPACE/ninja" >> $GITHUB_PATH
#
# - name: Update LLVM
# shell: bash
# run: |
# curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/LLVM-17.0.6-win64.exe -o llvm-inst.exe
# 7z x llvm-inst.exe -ollvm bin/clang.exe bin/clang++.exe bin/lld-link.exe bin/llvm-rc.exe bin/*.dll lib/clang/*/include/*
# echo "$GITHUB_WORKSPACE/llvm/bin" >> $GITHUB_PATH
#
# - name: Configure CMake and build
# id: build
# shell: bash
# run: |
# mkdir -p $HOME/.sccache
# export CFLAGS="--target=x86_64-windows-msvc"
# export CXXFLAGS="--target=x86_64-windows-msvc"
# export LDFLAGS="--target=x86_64-windows-msvc"
# cmake -B build -DBUILD_GEODE=OFF -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -G Ninja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
# cmake --build build --config ${{env.BUILD_TYPE}}
#
# - name: Save artifacts
# uses: actions/upload-artifact@v4
# with:
# name: OpenHack-Standalone
# path: ${{github.workspace}}/bin

package:
name: Create Nightly Release
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/lemonade'
needs: ['standalone', 'package-geode']
needs: ['package-geode']

steps:
- name: Download artifacts
Expand All @@ -104,15 +104,15 @@ jobs:
path: ${{ github.workspace }}/bin
merge-multiple: true

- name: Prepare standalone zip
run: |
mkdir -p ${{ github.workspace }}/bin/standalone
cp -r ${{ github.workspace }}/bin/openhack ${{ github.workspace }}/bin/standalone/openhack
cp ${{ github.workspace }}/bin/xinput9_1_0.dll ${{ github.workspace }}/bin/standalone/xinput9_1_0.dll

- name: Package standalone
run: |
7z a -tzip ${{ github.workspace }}/bin/OpenHack-Nightly.zip ${{ github.workspace }}/bin/standalone/*
# - name: Prepare standalone zip
# run: |
# mkdir -p ${{ github.workspace }}/bin/standalone
# cp -r ${{ github.workspace }}/bin/openhack ${{ github.workspace }}/bin/standalone/openhack
# cp ${{ github.workspace }}/bin/xinput1_4.dll ${{ github.workspace }}/bin/standalone/xinput1_4.dll
#
# - name: Package standalone
# run: |
# 7z a -tzip ${{ github.workspace }}/bin/OpenHack-Nightly.zip ${{ github.workspace }}/bin/standalone/*

- name: Get latest release tag
id: get_latest_release
Expand All @@ -133,7 +133,7 @@ jobs:

Changes since the last release: https://github.com/Prevter/OpenHack/compare/${{ steps.get_latest_release.outputs.tag }}...nightly
files: |
${{ github.workspace }}/bin/OpenHack-Nightly.zip
# ${{ github.workspace }}/bin/OpenHack-Nightly.zip
${{ github.workspace }}/bin/prevter.openhack.geode
${{ github.workspace }}/bin/prevter.openhack.pdb
${{ github.workspace }}/bin/xinput9_1_0.pdb
# ${{ github.workspace }}/bin/xinput1_4.pdb
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
[submodule "libs/imgui"]
path = libs/imgui
url = https://github.com/prevter/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
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## v2.4.0
**New**:
* Ported to 2.206 (Geode only)
* Improved "Best Run" calculation
* Tweaked some UI elements
* Added a "Lock First Column" option for the menu
* Added a notice for "Click Between Frames" users
* Performance improvements
* Noclip now has separate settings for each player

**Fixes**:
* Fixed "Auto Hide Triggers" hiding speed portals and checkpoints
* Fixed "Speedhack Audio" compatibility with some mods
* Fixed "Smart StartPos" having issues with some levels

**Labels**:
* Added "Total Attempts" label ({total_attempts})
* Added "Mod version" label ({openhack_ver})
* Added 12-hour clock label ({clock12})
* Added "Mod count" label ({mod_count})

## v2.3.2
* Resolved issue with "Respawn Delay"

Expand Down
28 changes: 24 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.15)
project(
OpenHack
VERSION 2.3.2
VERSION 2.4.0
HOMEPAGE_URL "https://github.com/Prevter/OpenHack"
LANGUAGES C CXX
)
Expand All @@ -17,7 +17,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()

# Create build options
option(BUILD_STANDALONE "Build the standalone version" ON)
option(BUILD_STANDALONE "Build the standalone version" OFF)
option(BUILD_GEODE "Build the Geode version" ON)

# Get the latest abbreviated commit hash of the working branch
Expand Down Expand Up @@ -68,9 +68,24 @@ target_link_libraries(
INTERFACE
external_libs
opengl32
${CMAKE_SOURCE_DIR}/libs/glew/lib/Release/Win32/glew32.lib
)

if (CMAKE_SIZEOF_VOID_P EQUAL 8)
# Windows 64
target_link_libraries(
${PROJECT_NAME}
INTERFACE
${CMAKE_SOURCE_DIR}/libs/glew/lib/Release/x64/glew32.lib
)
else()
# Windows 32
target_link_libraries(
${PROJECT_NAME}
INTERFACE
${CMAKE_SOURCE_DIR}/libs/glew/lib/Release/Win32/glew32.lib
)
endif()

if (PROJECT_IS_TOP_LEVEL)
target_compile_definitions(${PROJECT_NAME} INTERFACE OPENHACK_EXPORT)
endif()
Expand Down Expand Up @@ -124,6 +139,11 @@ endif()
# ========================================
# | Standalone build
# ========================================
if (BUILD_STANDALONE)
message(ERROR "Standalone build is deprecated, please use Geode instead")
return()
endif()

if (NOT BUILD_STANDALONE)
message(STATUS "Standalone build disabled")
return()
Expand Down Expand Up @@ -174,7 +194,7 @@ target_compile_definitions(
set_target_properties(
${PROJECT_NAME}-Standalone
PROPERTIES
OUTPUT_NAME "xinput9_1_0"
OUTPUT_NAME "xinput1_4"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin"
Expand Down
36 changes: 16 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
<!-- Deprecation notice -->
<div align="center">
<h1>Deprecation Notice!</h1>
<p>This repository is no longer maintained. Please consider using
<a href="https://github.com/EclipseMenu/EclipseMenu">Eclipse Menu</a> instead,
which is a more up-to-date and feature-rich mod for Geometry Dash.</p>
<p>Latest Geometry Dash version supported by OpenHack is 2.204.</p>
</div>

<!-- Old README.md content -->
<div align="center">
<a href="https://github.com/prevter/gdopenhack/releases/latest">
<img src="https://img.shields.io/github/v/release/prevter/gdopenhack" alt="Release version">
Expand All @@ -7,15 +17,9 @@
<a href="LICENSE">
<img src="https://img.shields.io/github/license/prevter/gdopenhack" alt="License">
</a>
<a href="https://github.com/prevter/gdopenhack/issues">
<img src="https://img.shields.io/github/issues/prevter/gdopenhack" alt="Issues">
</a>
<a href="https://discord.gg/HaHn7RSJ4Q">
<img src="https://img.shields.io/discord/1195179573122445312?label=discord&logo=discord" alt="Discord">
</a>
<a href="https://www.buymeacoffee.com/prevter">
<img src="https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?logo=buy-me-a-coffee" alt="Buy Me A Coffee">
</a>
</div>
<br>
<div align="center">
Expand All @@ -28,10 +32,6 @@
</p>
</div>

<div align="center">
Supports both <b>Geode</b> and <b>Vanilla</b> Geometry Dash!
</div>

## Table of Contents
- [About](#about)
- [Features](#features)
Expand Down Expand Up @@ -64,7 +64,7 @@ Please visit the [issues](https://github.com/prevter/gdopenhack/issues) page for
- And more!

## Installation
> **Note:** OpenHack is only compatible with Windows and Linux (using Wine). Other operating systems are not supported for now.
> **Note:** OpenHack is only compatible with Windows (also Linux and macOS, if you're using Proton/Wine to run Geometry Dash). Other operating systems are not supported for now.

There are two ways to install OpenHack: using Geode, or manually installing the mod. Each method has its own advantages and disadvantages, so choose the one that best suits your needs.

Expand Down Expand Up @@ -128,15 +128,11 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
## License
Distributed under the MIT License. See [LICENSE](LICENSE) for more information.

## Contact
Join the [Discord server](https://discord.gg/HaHn7RSJ4Q) to get in touch with the developers and other users.

If you want to contact me directly, you can do so via
- Discord: `@prevter`
- Email: `[email protected]`

## Support
If you like the project, consider supporting it by [buying me a coffee](https://www.buymeacoffee.com/prevter) or by contributing to the project. Any support is greatly appreciated and helps me keep motivated to work on the project and add new features!
[//]: # (## Contact)
[//]: # (Join the [Discord server]&#40;https://discord.gg/HaHn7RSJ4Q&#41; to get in touch with the developers and other users.)
[//]: # (If you want to contact me directly, you can do so via)
[//]: # (- Discord: `@prevter`)
[//]: # (- Email: `[email protected]`)

## Acknowledgements
[MegaHack](https://absolllute.com/store/view_mega_hack_pro) by Absolute for design inspiration and ideas.
Expand Down
8 changes: 6 additions & 2 deletions libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,22 @@ target_link_libraries(
)

# Other libraries
add_subdirectory(gd.hpp)
add_subdirectory(json)
add_subdirectory(glfw)
add_subdirectory(discord-rpc)
add_subdirectory(zephyrus)

# Fix debug build
if (CMAKE_BUILD_TYPE STREQUAL "Debug" AND WIN32)
target_compile_definitions(discord-rpc PRIVATE _HAS_ITERATOR_DEBUGGING=0)
target_compile_definitions(Zephyrus PRIVATE _HAS_ITERATOR_DEBUGGING=0)
endif()

# Link all external libraries
target_link_libraries(
external_libs INTERFACE
imgui
glfw
gd.hpp
nlohmann_json::nlohmann_json
discord-rpc
Zephyrus
Expand Down
7 changes: 6 additions & 1 deletion libs/curl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
add_library(libcurl INTERFACE)

target_include_directories(libcurl INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_link_libraries(libcurl INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libcurl.lib)

if (CMAKE_SIZEOF_VOID_P EQUAL 8)
target_link_libraries(libcurl INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/lib/x64/libcurl.lib)
else()
target_link_libraries(libcurl INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/lib/x86/libcurl.lib)
endif()
Binary file added libs/curl/lib/x64/libcurl.lib
Binary file not shown.
File renamed without changes.
1 change: 0 additions & 1 deletion libs/gd.hpp
Submodule gd.hpp deleted from 0b0f3f
Binary file modified libs/glew/lib/Release/x64/glew32.lib
Binary file not shown.
13 changes: 4 additions & 9 deletions mod.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
{
"geode": "2.0.0-beta.26",
"geode": "3.4.0",
"gd": {
"win": "2.204"
"win": "2.206"
},
"version": "v2.3.2",
"version": "v2.4.0",
"id": "prevter.openhack",
"name": "OpenHack",
"developer": "Prevter",
"description": "A collection of hacks for Geometry Dash",
"tags": [
"Universal",
"Gameplay",
"Cheats"
],
"tags": ["universal", "gameplay", "cheats", "bugfix"],
"repository": "https://github.com/Prevter/GDOpenHack",
"issues": {
"info": "Join the Discord server for support",
Expand All @@ -28,7 +24,6 @@
"resources/licenses/*"
]
},
"early-load": true,
"api": {
"include": [
"api/*.hpp"
Expand Down
13 changes: 2 additions & 11 deletions resources/hacks/level.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,8 @@
"title": "Level",
"items": [
{
"type": "toggle",
"title": "Noclip",
"description": "Disables dying.",
"id": "level.noclip",
"opcodes": [
{
"pattern": "6A148BCBFF15",
"mask": "E9@4(8BCBFF15????^8B4C24?64890D00000000595F5E)"
}
],
"cheat": true
"type": "embedded",
"hack": "noclip"
},
{
"type": "embedded",
Expand Down
Loading