Skip to content

Commit 9a4b316

Browse files
committed
2.0.0. Read the CHANGELOG.md lol! (too much stuff)
1 parent 805fc85 commit 9a4b316

35 files changed

+2308
-1625
lines changed

ABOUT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ A Geometry Dash Level Roulette.
77
- Normal List (regular levels ranging from Easy to Extreme Demon)
88
- Demon List
99
- Challenge List
10+
- GD List
1011
- Skip levels you can't beat
1112
- Auto pause after reaching the goal percentage (can be disabled)
1213

@@ -20,4 +21,8 @@ After reaching/surpassing the goal percentage in a round of roulette, the game w
2021

2122
If a level is too hard, you can click on the Skip button, which will subtract 1 skip from your skips. You can set the number of skips you are allowed to use during a round of roulette in the roulette's settings (accessible from the info icon in the roulette while not playing it, or from the Geode mod settings).
2223

24+
You can select which list you would like to play levels from by clicking the info icon in the roulette while not playing it.
25+
You can currently select 1 of 4 options: Normal List, Demon List, Challenge List, GD List.
26+
Info about these lists can be found by clicking the corresponding info icon next to the list's button.
27+
2328
And that's pretty much it! Have fun rouletting!

CHANGELOG.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,77 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8+
## [2.0.0] - 2024-03-01
9+
10+
GD-Roulette commit everything at once challenge (mildly possible)
11+
12+
Notable changes:
13+
14+
- MacOS support
15+
- GD Lists option
16+
- Ability to pause when in a round of roulette
17+
- Bugs & crashes
18+
19+
### Added
20+
21+
- rtrp library, that parses Geometry Dash's server responses, made by yours truly
22+
- MacOS support
23+
- `RLDemonSelectLayer`, a layer that lets you select a demon difficulty (appears when clicking the demon plus button)
24+
- `IntegerInputInfo::show_arrows` bool
25+
- `RLDifficultyNode`, a custom node that's basically `GJDifficultySprite` but better IMO
26+
- `ListFetcher::level_pair_t`, an `std::pair` of a LevelObject and a CreatorObject
27+
- `ListFetcher::getRandomGDListLevel`
28+
- `ListFetcher::GJ_SECRET`, `ListFetcher::GJ_LEVELS_URL`, `ListFetcher::GJ_LISTS_URL`, `ListFetcher::GJ_LEN_QUERY`, `ListFetcher::DEMONLIST_URL`, `ListFetcher::CHALLENGELIST_URL`, `ListFetcher::m_cDemonDiffToFilter`, `ListFetcher::m_cachedGDListID`, `ListFetcher::m_cachedGDListLevelIDs`, `ListFetcher::getDifficultyQuery(GJDifficulty)`
29+
- `RWDI_MODE` macro when compiling in RelWithDebInfo
30+
- GD Lists as a list option
31+
- Info icons to list checkboxes in `RLRouletteInfoLayer`
32+
- Visual indicator of selected list (except GD List)
33+
- Node IDs to RLRouletteInfoLayer
34+
- Node IDs to RLRouletteLayer
35+
- Ability to Pause or Quit when closing RLRouletteLayer
36+
- `RLRouletteLayer::getDifficultyButton`, `RLRouletteLayer::setDifficultyButtonColor`
37+
- JSON arrays are checked on launch in `RouletteManager`'s ctor
38+
- `RouletteManager::isPaused`, `RouletteManager::gdListID`, `RouletteManager::previousDifficulty`, `RouletteManager::previousDemonDifficulty`, `RouletteManager::getDifficultyFromSaveContainer()`
39+
- `rl::constants` namespace
40+
- `rl::utils::createLevelFromResponse()`, `rl::utils::getCreatorFromLevelResponse()`, `rl::utils::getDifficultyFromResponse()`
41+
- Geode 2.0.0-beta.21 support
42+
43+
### Changed
44+
45+
- Rely on Geometry Dash's servers instead of GDBrowser's API (this was long overdue)
46+
- Renamed `BaseCustomLayer` to `BaseCustomAlertLayer`
47+
- Prefixed all custom layers/nodes with `RL`
48+
- Renamed `ConfirmationAlertInfo::onYes` to `RLConfirmationAlertInfo::onBtn1`
49+
- Renamed `ConfirmationAlertInfo::onNo` to `RLConfirmationAlertInfo::onBtn2`
50+
- Renamed `RLRouletteLayer::onDifficultyChosen` to `RLRouletteLayer::onDifficultyButton`
51+
- Renamed `roulette` namespace to `rl`
52+
- Pass `ConfirmationAlertInfo` into the `create` method instead of `setup`
53+
- `IntegerInputInfo::starting_value` is now an `std::optional<int>`
54+
- rouletteButton `CreatorLayer`'s CCMenu is now positioned based on the window's size
55+
- All `as` back to `static_cast`s because yes
56+
- Renamed `ListFetcher::normalListMaxPage` to `ListFetcher::m_cNormalListMaxPage`
57+
- Updated `ListFetcher::m_cNormalListMaxPage`
58+
- All `ListFetcher`'s methods take a `ListFetcher::level_pair_t` instead of a `matjson::Value`
59+
- `ListFetcher::getRandomNormalListLevel` is passed a GJDifficulty instead of an int
60+
- How `RLRouletteLayer::onDifficultyButton` handles stuff
61+
- `RLRouletteLayer::getRandomListLevel` is passed a GJDifficulty instead of an int
62+
- How coins are positioned in `RLRouletteLayer` (they're now based on the difficulty node's position)
63+
- Some info about the info icons in ABOUT.md
64+
65+
### Fixed
66+
67+
- Made the rouletteButton a bit better code-wise (still sucks)
68+
- Potential crash when modifying `LevelInfoLayer` of a platformer level
69+
- Potential crash when modifying `PauseLayer` of a platformer level
70+
- Invalid page when searching for a level in `ListFetcher::getRandomNormalListLevel`
71+
- Dev macro (RWDI_MODE)
72+
- Demon plus button visible in Demon List and Challenge List modes
73+
- Weird static variable swap stuff in `RLConfirmationAlertLayer` and `RLIntegerInputLayer`
74+
- Odd way of resetting all `CCMenuItemToggler`s after being toggled
75+
- Clicking the level's name/creator/id not copying it to the clipboard
76+
- Potential crash if `RLRouletteLayer::m_level` is empty (highly situational)
77+
- Geode invalid tags
78+
879
## [1.6.2] - 2024-02-09
980

1081
### Fixed

CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)
3030

3131
setup_geode_mod(${PROJECT_NAME} EXTERNALS geode.node-ids:1.3.0)
3232

33+
# Get needed modules
34+
include(cmake/git.cmake)
35+
36+
message("Getting modules\n")
37+
include(cmake/rtrp.cmake)
38+
39+
target_include_directories(${PROJECT_NAME} PRIVATE ${RTRP_SOURCE_DIR}/include)
40+
41+
target_link_libraries(${PROJECT_NAME} RTRP)
42+
3343
# Warnings as errors
3444
set_property(TARGET ${PROJECT_NAME} PROPERTY COMPILE_WARNING_AS_ERROR ON)
3545

@@ -38,3 +48,4 @@ add_compile_definitions(
3848
"NOMINMAX"
3949
"WIN32_LEAN_AND_MEAN"
4050
)
51+
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:RelWithDebInfo>:RWDI_MODE>)

cmake/git.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
find_package(Git)
2+
3+
if(Git_FOUND)
4+
message("Git found: ${GIT_EXECUTABLE}")
5+
endif()

cmake/rtrp.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include(FetchContent)
2+
3+
FetchContent_Declare(
4+
RTRP
5+
GIT_REPOSITORY https://github.com/SpaghettDev/RTRP.git
6+
GIT_TAG 6e838a4fc5069f9c240dccd52ba7d86b6114f0e6
7+
GIT_PROGRESS TRUE
8+
)
9+
message("Fetching RTRP")
10+
FetchContent_MakeAvailable(RTRP)

mod.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
{
2-
"geode": "2.0.0-beta.16",
2+
"geode": "2.0.0-beta.21",
33
"gd": {
44
"win": "2.204",
5-
"android": "2.205"
5+
"android": "2.205",
6+
"mac": "2.200"
67
},
7-
"version": "v1.6.2",
8+
"version": "v2.0.0",
89
"id": "spaghettdev.gd-roulette",
910
"name": "GD-Roulette",
1011
"developer": "SpaghettDev",
@@ -27,7 +28,7 @@
2728
}
2829
],
2930
"tags": [
30-
"level", "roulette"
31+
"Interface", "Online"
3132
],
3233
"settings": {
3334
"max-skips": {

src/custom_layers/ConfirmationLayer.hpp

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/custom_layers/IntegerInputLayer.cpp

Lines changed: 0 additions & 153 deletions
This file was deleted.

0 commit comments

Comments
 (0)