Skip to content

Commit f03ca57

Browse files
committed
Initial Commit
0 parents  commit f03ca57

File tree

15 files changed

+1114
-0
lines changed

15 files changed

+1114
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Build Geode Mod
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- "**"
8+
9+
jobs:
10+
build:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
config:
15+
- name: Windows
16+
os: windows-latest
17+
18+
- name: macOS
19+
os: macos-latest
20+
21+
- name: Android32
22+
os: ubuntu-latest
23+
target: Android32
24+
25+
- name: Android64
26+
os: ubuntu-latest
27+
target: Android64
28+
29+
name: ${{ matrix.config.name }}
30+
runs-on: ${{ matrix.config.os }}
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
35+
- name: Build the mod
36+
uses: geode-sdk/build-geode-mod@main
37+
with:
38+
bindings: geode-sdk/bindings
39+
bindings-ref: main
40+
combine: true
41+
target: ${{ matrix.config.target }}
42+
43+
package:
44+
name: Package builds
45+
runs-on: ubuntu-latest
46+
needs: ['build']
47+
48+
steps:
49+
- uses: geode-sdk/build-geode-mod/combine@main
50+
id: build
51+
52+
- uses: actions/upload-artifact@v4
53+
with:
54+
name: Build Output
55+
path: ${{ steps.build.outputs.build-output }}

.gitignore

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Prerequisites
2+
*.d
3+
4+
# Compiled Object files
5+
*.slo
6+
*.lo
7+
*.o
8+
*.obj
9+
10+
# Precompiled Headers
11+
*.gch
12+
*.pch
13+
14+
# Compiled Dynamic libraries
15+
*.so
16+
*.dylib
17+
*.dll
18+
19+
# Fortran module files
20+
*.mod
21+
*.smod
22+
23+
# Compiled Static libraries
24+
*.lai
25+
*.la
26+
*.a
27+
*.lib
28+
29+
# Executables
30+
*.exe
31+
*.out
32+
*.app
33+
34+
# Macos be like
35+
**/.DS_Store
36+
37+
# Cache files for Sublime Text
38+
*.tmlanguage.cache
39+
*.tmPreferences.cache
40+
*.stTheme.cache
41+
42+
# Ignore build folders
43+
**/build
44+
# Ignore platform specific build folders
45+
build-*/
46+
47+
# Workspace files are user-specific
48+
*.sublime-workspace
49+
50+
# ILY vscode
51+
**/.vscode
52+
53+
# Local History for Visual Studio Code
54+
.history/
55+
56+
# clangd
57+
.cache/
58+
59+
# Visual Studio
60+
.vs/
61+
62+
# CLion
63+
.idea/
64+
/cmake-build-*/

CMakeLists.txt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
cmake_minimum_required(VERSION 3.21)
2+
set(CMAKE_CXX_STANDARD 20)
3+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
4+
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
5+
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
6+
7+
project(SettingsPlus VERSION 1.0.0)
8+
9+
add_library(${PROJECT_NAME} SHARED
10+
src/main.cpp
11+
src/SettingsLayer.cpp
12+
# Add any extra C++ source files here
13+
)
14+
15+
if (NOT DEFINED ENV{GEODE_SDK})
16+
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
17+
else()
18+
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
19+
endif()
20+
21+
add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)
22+
23+
CPMAddPackage("gh:camila314/uibuilder#c662f54")
24+
target_link_libraries(${PROJECT_NAME} UIBuilder)
25+
26+
setup_geode_mod(${PROJECT_NAME})

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Settings+
2+
3+
An enhanced settings experience
4+
5+
<img src="logo.png" width="150" alt="the mod's logo" />
6+
7+
## Build instructions
8+
For more info, see [The Geode docs](https://docs.geode-sdk.org/getting-started/create-mod#build)
9+
```sh
10+
# Assuming you have the Geode CLI set up already
11+
geode build
12+
```
13+
14+
# Credits
15+
* [WylieMaster's GD Docs page on Game Variables](https://wyliemaster.github.io/gddocs/#/resources/client/gamesave/gv)

about.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Settings+
2+
3+
An enhanced options modal for Geometry Dash.
4+
5+
### Features
6+
- Easily selectable categories
7+
- Searching
8+
- Options that aren't available in the base GD settings
9+
10+
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.
11+
12+
And a quick thank you to hiimjustin000, for help in reverse engineering.

about.md.old

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Template Mod
2+
3+
Edit about.md to change this
4+
5+
- Gameplay
6+
- gv_0010 Flip 2P controls
7+
- gv_0011 Always Limit Controls
8+
- gv_0024 Show Cursor In-Game
9+
- gv_0026 Auto Retry
10+
- gv_0028 Disable Thumbstick
11+
- gv_0040 Show Percent
12+
- gv_0026 Default Mini Icon
13+
- gv_0052 Fast Reset
14+
- gv_0074 Restart Button
15+
- gv_0109 Extra Info (?)
16+
- gv_0113 Flip Plat. Controls
17+
- gv_0126 Decimal Percent
18+
- gv_0130 Orb Labels
19+
- gv_0134 Hide Attempts
20+
- gv_0153 Explode Player on Death
21+
- gv_0163 Quick Keys
22+
- gv_0167 Confirm Exit
23+
- gv_0174 Hide Playtest Text
24+
- Practice
25+
- gv_0027 Auto Checkpoints
26+
- gv_0067 High Start Position Accuracy
27+
- gv_0068 Quick Checkpoint Mode
28+
- gv_0071 Hide Practice Button
29+
- gv_0100 Practice Death Effect
30+
- gv_0135 Hide Attempts in Practice
31+
- Perf
32+
- gv_0014 Disable Explosion Shake
33+
- gv_0023 Smooth Fix
34+
- gv_0042 Increase Max Levels
35+
- gv_0056 Disable Object Alert
36+
- gv_0065 Move Optimization
37+
- gv_0066 High Capacity Mode
38+
- gv_0081 Disable Shake Effect
39+
- gv_0082 Disable High Object Alert
40+
- gv_0093 Increase Local Levels Per Page
41+
- gv_0101 Force Smooth Fix
42+
- gv_0102 Smooth Fix in the Editor
43+
- gv_0108 Auto LDM
44+
- gv_0126 Save Gauntlet Levels
45+
- gv_0128 Lock Cursor In-Game
46+
- gv_0136 Extra LDM
47+
- gv_0140 Disable Orb Scale
48+
- gv_0141 Disable Trigger Orb Scale
49+
- gv_0155 Disable Shader Anti-Aliasing
50+
- Audio
51+
- gv_0010 Load Songs into Memory
52+
- gv_0022 Higher Audio Quality
53+
- gv_0033 Change Song Path
54+
- gv_0018 No Song Limit
55+
- gv_0125 Normal Music in Editor
56+
- gv_0142 Reduce Audio Quality
57+
- gv_0159 Audio Fix 01
58+
- Misc
59+
- gv_0095 Do Not...
60+
- gv_0015 Flip Pause Button
61+
- gv_0061 Switch Spider Teleport Color
62+
- gv_0062 Switch Dash Fire Color
63+
- gv_0096 Switch Wave Trail Color
64+
- gv_0072 Disable Gravity Effect
65+
- gv_0073 New Completed Filter
66+
- gv_0075 Disable Comments
67+
- gv_0076 Disable Account Comments
68+
- gv_0077 Featured Levels Only
69+
- gv_0083 Disable Song Alert
70+
- gv_0084 Manual Level Order
71+
- gv_0090 Autoload Comments
72+
- gv_0094 More Comments Mode
73+
- gv_0099 Show Leaderboard Percent
74+
- gv_0168 Fast Menu

changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# 1.0.0
2+
- Initial Release

logo.png

92.9 KB
Loading

mod.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"geode": "3.2.0",
3+
"gd": {
4+
"win": "2.206",
5+
"android": "2.206",
6+
"mac": "2.206",
7+
"ios": "2.206"
8+
},
9+
"id": "techstudent10.settings_plus",
10+
"name": "Settings+",
11+
"version": "v1.0.0",
12+
"developer": "TechStudent10",
13+
"description": "A better Settings experience",
14+
"repository": "https://github.com/TechStudent10/SettingsPlus",
15+
"issues": {
16+
"info": "Please report issues and bugs to the Issues page on GitHub",
17+
"url": "https://github.com/TechStudent10/SettingsPlus/issues"
18+
},
19+
"tags": [
20+
"enhancement",
21+
"interface",
22+
"utility"
23+
]
24+
}

script.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Converts the stuff I put in about.md into the macro for the mod
2+
3+
text_input = """- gv_0027 Auto Checkpoints
4+
- gv_0067 High Start Position Accuracy
5+
- gv_0068 Quick Checkpoint Mode
6+
- gv_0071 Hide Practice Button
7+
- gv_0100 Practice Death Effect
8+
- gv_0135 Hide Attempts in Practice"""
9+
10+
for line in text_input.split("\n"):
11+
line = line[2:] # Remove the -
12+
gv = line.split(" ")[0].replace("gv_", "") # Retrive Game Variable
13+
name = line.replace("gv_" + gv + " ", "") # Retrieve Name
14+
print(f"SETTING(\"{name}\", \"{gv}\")")

0 commit comments

Comments
 (0)