Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
TechStudent10 committed Jul 28, 2024
0 parents commit f03ca57
Show file tree
Hide file tree
Showing 15 changed files with 1,114 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/multi-platform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build Geode Mod

on:
workflow_dispatch:
push:
branches:
- "**"

jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- name: Windows
os: windows-latest

- name: macOS
os: macos-latest

- name: Android32
os: ubuntu-latest
target: Android32

- name: Android64
os: ubuntu-latest
target: Android64

name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}

steps:
- uses: actions/checkout@v4

- name: Build the mod
uses: geode-sdk/build-geode-mod@main
with:
bindings: geode-sdk/bindings
bindings-ref: main
combine: true
target: ${{ matrix.config.target }}

package:
name: Package builds
runs-on: ubuntu-latest
needs: ['build']

steps:
- uses: geode-sdk/build-geode-mod/combine@main
id: build

- uses: actions/upload-artifact@v4
with:
name: Build Output
path: ${{ steps.build.outputs.build-output }}
64 changes: 64 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Macos be like
**/.DS_Store

# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache

# Ignore build folders
**/build
# Ignore platform specific build folders
build-*/

# Workspace files are user-specific
*.sublime-workspace

# ILY vscode
**/.vscode

# Local History for Visual Studio Code
.history/

# clangd
.cache/

# Visual Studio
.vs/

# CLion
.idea/
/cmake-build-*/
26 changes: 26 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
cmake_minimum_required(VERSION 3.21)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
set(CMAKE_CXX_VISIBILITY_PRESET hidden)

project(SettingsPlus VERSION 1.0.0)

add_library(${PROJECT_NAME} SHARED
src/main.cpp
src/SettingsLayer.cpp
# Add any extra C++ source files here
)

if (NOT DEFINED ENV{GEODE_SDK})
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
else()
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
endif()

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

CPMAddPackage("gh:camila314/uibuilder#c662f54")
target_link_libraries(${PROJECT_NAME} UIBuilder)

setup_geode_mod(${PROJECT_NAME})
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Settings+

An enhanced settings experience

<img src="logo.png" width="150" alt="the mod's logo" />

## Build instructions
For more info, see [The Geode docs](https://docs.geode-sdk.org/getting-started/create-mod#build)
```sh
# Assuming you have the Geode CLI set up already
geode build
```

# Credits
* [WylieMaster's GD Docs page on Game Variables](https://wyliemaster.github.io/gddocs/#/resources/client/gamesave/gv)
12 changes: 12 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Settings+

An enhanced options modal for Geometry Dash.

### Features
- Easily selectable categories
- Searching
- Options that aren't available in the base GD settings

HUGE thank you and shoutout to the [GD Docs](https://wyliemaster.github.io/gddocs/#), specifically the page about [game variables](https://wyliemaster.github.io/gddocs/#/resources/client/gamesave/gv). This mod would've been absolute pain to program without these resources.

And a quick thank you to hiimjustin000, for help in reverse engineering.
74 changes: 74 additions & 0 deletions about.md.old
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Template Mod

Edit about.md to change this

- Gameplay
- gv_0010 Flip 2P controls
- gv_0011 Always Limit Controls
- gv_0024 Show Cursor In-Game
- gv_0026 Auto Retry
- gv_0028 Disable Thumbstick
- gv_0040 Show Percent
- gv_0026 Default Mini Icon
- gv_0052 Fast Reset
- gv_0074 Restart Button
- gv_0109 Extra Info (?)
- gv_0113 Flip Plat. Controls
- gv_0126 Decimal Percent
- gv_0130 Orb Labels
- gv_0134 Hide Attempts
- gv_0153 Explode Player on Death
- gv_0163 Quick Keys
- gv_0167 Confirm Exit
- gv_0174 Hide Playtest Text
- Practice
- gv_0027 Auto Checkpoints
- gv_0067 High Start Position Accuracy
- gv_0068 Quick Checkpoint Mode
- gv_0071 Hide Practice Button
- gv_0100 Practice Death Effect
- gv_0135 Hide Attempts in Practice
- Perf
- gv_0014 Disable Explosion Shake
- gv_0023 Smooth Fix
- gv_0042 Increase Max Levels
- gv_0056 Disable Object Alert
- gv_0065 Move Optimization
- gv_0066 High Capacity Mode
- gv_0081 Disable Shake Effect
- gv_0082 Disable High Object Alert
- gv_0093 Increase Local Levels Per Page
- gv_0101 Force Smooth Fix
- gv_0102 Smooth Fix in the Editor
- gv_0108 Auto LDM
- gv_0126 Save Gauntlet Levels
- gv_0128 Lock Cursor In-Game
- gv_0136 Extra LDM
- gv_0140 Disable Orb Scale
- gv_0141 Disable Trigger Orb Scale
- gv_0155 Disable Shader Anti-Aliasing
- Audio
- gv_0010 Load Songs into Memory
- gv_0022 Higher Audio Quality
- gv_0033 Change Song Path
- gv_0018 No Song Limit
- gv_0125 Normal Music in Editor
- gv_0142 Reduce Audio Quality
- gv_0159 Audio Fix 01
- Misc
- gv_0095 Do Not...
- gv_0015 Flip Pause Button
- gv_0061 Switch Spider Teleport Color
- gv_0062 Switch Dash Fire Color
- gv_0096 Switch Wave Trail Color
- gv_0072 Disable Gravity Effect
- gv_0073 New Completed Filter
- gv_0075 Disable Comments
- gv_0076 Disable Account Comments
- gv_0077 Featured Levels Only
- gv_0083 Disable Song Alert
- gv_0084 Manual Level Order
- gv_0090 Autoload Comments
- gv_0094 More Comments Mode
- gv_0099 Show Leaderboard Percent
- gv_0168 Fast Menu
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 1.0.0
- Initial Release
Binary file added logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions mod.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"geode": "3.2.0",
"gd": {
"win": "2.206",
"android": "2.206",
"mac": "2.206",
"ios": "2.206"
},
"id": "techstudent10.settings_plus",
"name": "Settings+",
"version": "v1.0.0",
"developer": "TechStudent10",
"description": "A better Settings experience",
"repository": "https://github.com/TechStudent10/SettingsPlus",
"issues": {
"info": "Please report issues and bugs to the Issues page on GitHub",
"url": "https://github.com/TechStudent10/SettingsPlus/issues"
},
"tags": [
"enhancement",
"interface",
"utility"
]
}
14 changes: 14 additions & 0 deletions script.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Converts the stuff I put in about.md into the macro for the mod

text_input = """- gv_0027 Auto Checkpoints
- gv_0067 High Start Position Accuracy
- gv_0068 Quick Checkpoint Mode
- gv_0071 Hide Practice Button
- gv_0100 Practice Death Effect
- gv_0135 Hide Attempts in Practice"""

for line in text_input.split("\n"):
line = line[2:] # Remove the -
gv = line.split(" ")[0].replace("gv_", "") # Retrive Game Variable
name = line.replace("gv_" + gv + " ", "") # Retrieve Name
print(f"SETTING(\"{name}\", \"{gv}\")")
Loading

0 comments on commit f03ca57

Please sign in to comment.