GitPedia
Folleach

Folleach/GeometryDashAPI

API for Geometry Dash

30 Releases
Latest: 1y ago
add platformer level lengthv0.2.29Latest
FolleachFolleach·1y ago·August 24, 2024
GitHub

**Full Changelog**: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.28...v0.2.29

Data Bug Fix v0.2.28
FolleachFolleach·2y ago·May 8, 2024
GitHub

📋 Changes

  • Fix bug with invalid xml characters
  • Optimize file loads
MacOS supportv0.2.27
FolleachFolleach·2y ago·January 14, 2024
GitHub

📋 What's Changed

  • adding macos support to save files by @delynith in https://github.com/Folleach/GeometryDashAPI/pull/33
  • Thanks @BotAntony for testing this feature

New Contributors

  • @delynith made their first contribution in https://github.com/Folleach/GeometryDashAPI/pull/33
  • Full Changelog: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.26...v0.2.27
Bugfix: KeyNotFound in LevelCreatorModelv0.2.26
FolleachFolleach·2y ago·January 12, 2024
GitHub

**Full Changelog**: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.25...v0.2.26

Hsv properties for IBlockv0.2.25
FolleachFolleach·2y ago·December 30, 2023
GitHub

Closes #35 #### Usage ```cs level.Blocks.Add(new Block(216) { PositionX = 30, PositionY = 30, Hsv = new Hsv() { Brightness = 0.5f, DeltaBrightness = true }, AdditionalHsv = new Hsv() { Hue = 120, Saturation = 0.5f } }); // Pay attention: block with id 1887 has only detail color, but hsv isn't additional // AdditionalHsv used for detail color only when both color (base and detail) are present in the block level.Blocks.Add(new Block(1887) { PositionX = 60, PositionY = 30, Hsv = new Hsv() { Hue = 60 } }); ``` **Full Changelog**: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.24...v0.2.25

Fixes for sfx/song triggersv0.2.24
FolleachFolleach·2y ago·December 26, 2023
GitHub

📋 What's Changed

  • Add missing properties to SfxTrigger by @ascpixi in https://github.com/Folleach/GeometryDashAPI/pull/32

New Contributors

  • @ascpixi made their first contribution in https://github.com/Folleach/GeometryDashAPI/pull/32
  • Full Changelog: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.23...v0.2.24
Add more triggers for song controlv0.2.23
FolleachFolleach·2y ago·December 25, 2023
GitHub

📋 Changes

  • Song Trigger
  • Edit Music Trigger
  • Edit Sfx Trigger
Add SfxTrigger from 2.2!v0.2.22
FolleachFolleach·2y ago·December 20, 2023
GitHub

The library version turned out to be symbolic! The first trigger from Geometry Dash `2.2` and the library version is `v0.2.22` ```cs level.Blocks.Add(new SfxTrigger() { PositionX = 30, PositionY = 30, Pitch = 2, Speed = -3 }); ``` ![image](https://github.com/Folleach/GeometryDashAPI/assets/32067915/2a51d0fa-b047-4990-9dfd-7a59bf968d67)

Add Level Durationv0.2.21
FolleachFolleach·2y ago·October 21, 2023
GitHub

# Measuring level duration Now you can get the duration of the level in TimeSpan from the `level.Duration` property. See more in #30

More settings in GameManagerv0.2.20
FolleachFolleach·2y ago·October 7, 2023
GitHub

📋 Changes

  • A lot of settings in game manager
  • Improve data loading speed
  • `SongEffectVolume` -> `SfxVolume`
Some improvementsv0.2.19
FolleachFolleach·2y ago·October 2, 2023
GitHub

📋 Changes

  • `ModeratorType` as an enum
  • `LocalLevels` now is `IReadOnlyCollection`
Fix bug in serialization: protected propertiesv0.2.18
FolleachFolleach·2y ago·September 30, 2023
GitHub

TypeDescriptor could not find protected properties. Because of this ignored them

Add hex for color & naming fixesv0.2.17
FolleachFolleach·2y ago·September 21, 2023
GitHub

# Hex colors Now you can create add a color like this ```cs level.AddColor(new Color(11) { Rgb = RgbColor.FromHex("#ffa500") // orange }); ``` And convert color to the hex too ```cs foreach (var color in level.Colors) Console.WriteLine(RgbColor.ToHex(color.Rgb)); ```` # Naming fixes `UserPreview.Starts` rename to `UserPreview.Stars` `Account.Starts` rename to `Starts.Stars` This is my mistake, they meant the **stars** initially, not the starts

Improvment for your testsv0.2.16
FolleachFolleach·2y ago·September 16, 2023
GitHub

I've added `IGameClient` for `GameClient`. This is necessary so that you can write tests, like this ```cs public static class TestExtensions { private static readonly ObjectSerializer serializer = new(); public static Task<ServerResponse<T>> AsSuccessResponse<T>(this T value) where T : IGameObject { var data = serializer.Encode(value).ToString(); return Task.FromResult(new ServerResponse<T>(HttpStatusCode.OK, data)); } } public class Tests { public void MyFavoriteTest() { var gameClient = A.Fake<IGameClient>(); A.CallTo(() => gameClient.LoginAsync("test", "123")).Returns(new LoginResponse() { AccountId = 111, UserId = 333 }.AsSuccessResponse()); } } ``` `A.Fake` it is FakeItEasy library, see [documentation](https://fakeiteasy.github.io/docs/7.4.0/quickstart/) if you are interested

In game messages for GameClientv0.2.15
FolleachFolleach·2y ago·September 3, 2023
GitHub

📋 Changes

  • [SendMessageAsync](https://github.com/Folleach/GeometryDashAPI/wiki/Network#send-message)
  • [GetMessagesAsync](https://github.com/Folleach/GeometryDashAPI/wiki/Network#get-messages)
  • [ReadMessageAsync](https://github.com/Folleach/GeometryDashAPI/wiki/Network#read-message-content)
bugfix on .net framework 4.8v0.2.14
FolleachFolleach·2y ago·August 9, 2023
GitHub

learn more in #25

Fixes for compability with .net 4.8v0.2.13-alphaPre-release
FolleachFolleach·2y ago·August 7, 2023
GitHub
Add difficulties to level reponsev0.2.12
FolleachFolleach·3y ago·June 5, 2023
GitHub
use async in file streamv0.2.11
FolleachFolleach·3y ago·June 3, 2023
GitHub
Added netstandard 2.0 againv0.2.10
FolleachFolleach·3y ago·June 3, 2023
GitHub
Fix a bug when you try Login to accountv0.2.9
FolleachFolleach·3y ago·June 3, 2023
GitHub

**Full Changelog**: https://github.com/Folleach/GeometryDashAPI/compare/v0.2.8...v0.2.9

Performance & Attentivenessv0.2.8
FolleachFolleach·3y ago·June 1, 2023
GitHub

📦 Rewritten the serializer

  • Now the sterilizer is customizable and faster
  • You can create arrays, custom types, and fill them with meta information, such as the default value or order
  • This also fix oldest bug with concurrent access #12
  • Speed up 3x
  • For example, here are 10 iterations of loading the "True Values of Life" level, created by @Relayx
  • | Iteration | Load time in `v0.2` | Load time in `v0.1` |
  • | --- | --- | --- |
  • | 0 | 00:00:02.8696667 | 00:00:07.5174898 |
  • + 10 more

Added a bunch of triggers

  • Thanks @flightlex
  • He added triggers such as
  • Alpha trigger
  • Animate trigger
  • Collision trigger
  • Color trigger
  • Count trigger
  • PickUp trigger
  • + 4 more

Added a guidlines in the level

  • ```cs
  • foreach (var guideline in level.Options.Guidelines)
  • Console.WriteLine($"{guideline.Color} in {guideline.Timestamp}");
  • ```
  • Also thanks @flightlex
  • See its contribute in https://github.com/Folleach/GeometryDashAPI/pull/20

🐛 Fixed known bugs

  • For stability, we can say thank @Pawday
  • His fixes can be found in https://github.com/Folleach/GeometryDashAPI/pull/17

📦 Stored data...

  • Saves can now be created from the library from scratch
  • ```cs
  • var manager = GameManager.CreateNew();
  • manager.Save();
  • var local = LocalLevels.CreateNew();
  • local.Save();
  • ```
  • Closed by #18

📦 On the way to resources

  • Now it is possible to open official levels
  • ```cs
  • var resources = new GameResources(@"C:\Program Files\Steam\Apps\GeometryDash\Resources");
  • var level = await resources.GetLevelAsync(OfficialLevel.Jumper);
  • ```
  • On request #3

📦 Icon

  • Also thanks FaxeL for the library icon
  • <img src="https://github.com/Folleach/GeometryDashAPI/blob/93730095a9602181524fa104ef35f5b1d1e5d831/Images/logo.png" width="260px" />
Release Candidate for 0.2v0.2.7-alphaPre-release
FolleachFolleach·3y ago·June 1, 2023
GitHub
Network and Savesv0.2.6-alphaPre-release
FolleachFolleach·3y ago·May 25, 2023
GitHub

Improve network error handling; `Plist` is now more safer and runs entirely on XDocument; Async methods for Save/Load game data ```cs var local = await LocalLevels.LoadFileAsync(); await local.SaveAsync(); ```

work in progress: new triggers (fix 3)v0.2.5-alphaPre-release
FolleachFolleach·3y ago·May 23, 2023
GitHub
work in progress: new triggers (fix 2)v0.2.4-alphaPre-release
FolleachFolleach·3y ago·May 23, 2023
GitHub
work in progress: new triggers (fix)v0.2.3-alphaPre-release
FolleachFolleach·3y ago·May 23, 2023
GitHub
work in progress: new triggersv0.2.2-alphaPre-release
FolleachFolleach·3y ago·May 23, 2023
GitHub
Some fixes in alpha versionv0.2.1-alphaPre-release
FolleachFolleach·3y ago·May 4, 2023
GitHub

Levels are now saved correctly

Try to create alpha releasev0.2.0-alphaPre-release
FolleachFolleach·3y ago·May 1, 2023
GitHub