Skip to content
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
6 changes: 2 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: CI

on:
pull_request:
types:
- opened
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -66,8 +64,8 @@ jobs:
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # Dotnet 4.0.2
with:
dotnet-version: 10.0.x

cache: true
- name: Restore dependencies
run: dotnet restore
run: dotnet restore --locked-mode
- name: Format
run: dotnet format --verify-no-changes Rhythia.csproj
40 changes: 22 additions & 18 deletions Rhythia.csproj
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
<Project Sdk="Godot.NET.Sdk/4.6.2">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net10.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
<LangVersion>preview</LangVersion>
</PropertyGroup>
<ItemGroup>
<None Include=".editorconfig" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DiscordRichPresence" Version="1.6.1.70" />
<PackageReference Include="Godot.NET.Sdk" Version="4.5.0" />
<PackageReference Include="Semver" Version="3.0.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
<PackageReference Include="Tomlyn" Version="0.20.0" />
<PackageReference Include="Updatum" Version="1.3.2" />
</ItemGroup>
</Project>
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net10.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
<LangVersion>preview</LangVersion>
</PropertyGroup>
<ItemGroup>
<None Include=".editorconfig" />
</ItemGroup>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DiscordRichPresence" Version="1.6.1.70" />
<PackageReference Include="Godot.NET.Sdk" Version="4.5.0" />
<PackageReference Include="Semver" Version="3.0.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
<PackageReference Include="Tomlyn" Version="0.20.0" />
<PackageReference Include="Updatum" Version="1.3.2" />
</ItemGroup>
</Project>

19 changes: 0 additions & 19 deletions Rhythia.sln

This file was deleted.

8 changes: 8 additions & 0 deletions Rhythia.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Solution>
<Configurations>
<BuildType Name="Debug" />
<BuildType Name="ExportDebug" />
<BuildType Name="ExportRelease" />
</Configurations>
<Project Path="Rhythia.csproj" />
</Solution>
118 changes: 118 additions & 0 deletions packages.lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{
"version": 1,
"dependencies": {
"net10.0": {
"DiscordRichPresence": {
"type": "Direct",
"requested": "[1.6.1.70, )",
"resolved": "1.6.1.70",
"contentHash": "yho1fdhbsedICHdfHe/Tu3IX6a5oj4fiPFL0keZStlsh7T/FrdjcwZZ7C1uC2HUvcXbFh+VEJvcbo1W66QtkUg==",
"dependencies": {
"Newtonsoft.Json": "13.0.1"
}
},
"Godot.NET.Sdk": {
"type": "Direct",
"requested": "[4.5.0, )",
"resolved": "4.5.0",
"contentHash": "PYPVsaq5knx4qj2dbvdnnHE7qva9Of1ALM1Y3EuiBEV/9ZmNeApE/J/eobI7WNbc6OZ/SKRLiPgglw59QbSj9w=="
},
"Godot.SourceGenerators": {
"type": "Direct",
"requested": "[4.6.2, )",
"resolved": "4.6.2",
"contentHash": "CqSn9E38CqCvHARIpZXzYw/KkDKkrGjCYjRrKq3kTAIsDGOOZ/W9wiVnfbvmTpER7gbbrFKAd6WA201ELBynQw=="
},
"GodotSharp": {
"type": "Direct",
"requested": "[4.6.2, )",
"resolved": "4.6.2",
"contentHash": "yWYaxRtawrYOQ6TZqKovkw6IN3jNWLTjfrL+pvoGdprvGT7LOYdBCwy0OU7rSfzTn48Rr4IuyuZoSuC0Cp2JeA=="
},
"GodotSharpEditor": {
"type": "Direct",
"requested": "[4.6.2, )",
"resolved": "4.6.2",
"contentHash": "WbxolK7BIzSl7d8jhTQQSwZ7JEf+6RHeaZWa6aw7f/qXsN/hXzFSgQvpKxGrLo0icQlowjvF0NomnYO5owMG7w==",
"dependencies": {
"GodotSharp": "4.6.2"
}
},
"Semver": {
"type": "Direct",
"requested": "[3.0.0, )",
"resolved": "3.0.0",
"contentHash": "9jZCicsVgTebqkAujRWtC9J1A5EQVlu0TVKHcgoCuv345ve5DYf4D1MjhKEnQjdRZo6x/vdv6QQrYFs7ilGzLA==",
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.1"
}
},
"sqlite-net-pcl": {
"type": "Direct",
"requested": "[1.9.172, )",
"resolved": "1.9.172",
"contentHash": "go533+huyvg5bOMmCpX+DyvLrcVRiEBIpqEiDHgXRijWIBBNkWnyMr/w+5ZzrUArKY+4ApucsbBnFtP3QITrJg==",
"dependencies": {
"SQLitePCLRaw.bundle_green": "2.1.2"
}
},
"Tomlyn": {
"type": "Direct",
"requested": "[0.20.0, )",
"resolved": "0.20.0",
"contentHash": "Z8TmFcz6oeULVSVGDvbF1h+gnCoy/6NbWrlsQg9f2i+lzqXtUoU4+2RJIm8/s/14uSu0OqTv6JcSngTw3tlkTQ=="
},
"Updatum": {
"type": "Direct",
"requested": "[1.3.2, )",
"resolved": "1.3.2",
"contentHash": "P10SUrVLzZ0u2X9sYLsAzIDpK73HuXyu6saUWWgoWM+hL2gbHXId6/APwd1Lwz59q/sKPhaZzMRZqDtgcOxbow==",
"dependencies": {
"Octokit": "14.0.0"
}
},
"Microsoft.Extensions.Primitives": {
"type": "Transitive",
"resolved": "5.0.1",
"contentHash": "5WPSmL4YeP7eW+Vc8XZ4DwjYWBAiSwDV9Hm63JJWcz1Ie3Xjv4KuJXzgCstj48LkLfVCYa7mLcx7y+q6yqVvtw=="
},
"Newtonsoft.Json": {
"type": "Transitive",
"resolved": "13.0.1",
"contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A=="
},
"Octokit": {
"type": "Transitive",
"resolved": "14.0.0",
"contentHash": "jGOuTH1l+TCpJH+fwYOp7USzHDuGfN1jKbLz3J2COwyn+wL08eynvpnM6rY2qkzIEXum3PN2p2QkP3BW/p9Qcw=="
},
"SQLitePCLRaw.bundle_green": {
"type": "Transitive",
"resolved": "2.1.2",
"contentHash": "e2FRX87YHoSer+tLFX9P/povHLK0uH7UcdimHRPnfTSam+NZChVVXjBxe1MYnyBGlwX5dSs5sTlDg/yZBM7iVw==",
"dependencies": {
"SQLitePCLRaw.lib.e_sqlite3": "2.1.2",
"SQLitePCLRaw.provider.e_sqlite3": "2.1.2"
}
},
"SQLitePCLRaw.core": {
"type": "Transitive",
"resolved": "2.1.2",
"contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g=="
},
"SQLitePCLRaw.lib.e_sqlite3": {
"type": "Transitive",
"resolved": "2.1.2",
"contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg=="
},
"SQLitePCLRaw.provider.e_sqlite3": {
"type": "Transitive",
"resolved": "2.1.2",
"contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==",
"dependencies": {
"SQLitePCLRaw.core": "2.1.2"
}
}
}
}
}
4 changes: 2 additions & 2 deletions scripts/FileInitializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ public override void _Ready()
objExporter = new Node();
AddChild(objExporter);
objExporter.SetScript(script);

// Temporary for 0.1.2 as the mesh's faces were fixed
if (File.Exists($"{Constants.USER_FOLDER}/meshes/squircle.obj"))
{
File.Delete($"{Constants.USER_FOLDER}/meshes/squircle.obj");
}

deepCopy();
}

Expand Down
2 changes: 1 addition & 1 deletion scripts/map/Map.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public Note[] TryParseNotes()
return [];
}
}

private Texture2D getCover()
{
string path = $"{MapUtil.MapsCacheFolder}/{Name}";
Expand Down
6 changes: 3 additions & 3 deletions scripts/scenes/LegacyRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -918,15 +918,15 @@ public override void _Process(double delta)
{
return;
}

if (isPauseRampActive())
{
updatePauseStateEachFrame(delta);
}
else if (CurrentAttempt.Progress > 0 && CurrentAttempt.Progress < MapLength && !CurrentAttempt.Stopped)
{
double audioDelay = CurrentAttempt.Progress - 1000 * (SoundManager.Song.GetPlaybackPosition() + AudioServer.GetTimeSinceLastMix());

if (Math.Abs(audioDelay / CurrentAttempt.Speed) > Math.Max(40, delta))
{
SoundManager.Song.PitchScale = (float)Math.Clamp(CurrentAttempt.Speed + audioDelay / 1000, Math.Max(0.01, CurrentAttempt.Speed - 0.5), CurrentAttempt.Speed + 0.5);
Expand Down Expand Up @@ -1635,7 +1635,7 @@ private static void updatePauseStateEachFrame(double delta)
pauseHoldTime += (float)delta;
pauseState = Math.Max(0, pauseState - (float)(delta / pauseHoldDuration));
pauseHudControl.SetProgress(Math.Clamp(1f - pauseState, 0f, 1f));

if (CurrentAttempt.Map.AudioBuffer != null && musicStarted && SoundManager.Song.Playing && getTargetMusicVolumeDb() > float.NegativeInfinity)
{
SoundManager.Song.VolumeDb = Mathf.Lerp(getTargetMusicVolumeDb() - 60, getTargetMusicVolumeDb(), 1 - pauseState);
Expand Down
2 changes: 1 addition & 1 deletion scripts/skinning/SkinManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ private static Shader loadShader(string skinPath)
private static ArrayMesh loadMesh(string path)
{
bool exists = ResourceLoader.Exists(path) || Godot.FileAccess.FileExists(path);

return exists ? Util.Misc.OBJParser.Call("load_obj", path).As<ArrayMesh>() : GD.Load<ArrayMesh>("res://user/meshes/squircle.obj");
}

Expand Down
64 changes: 32 additions & 32 deletions scripts/spaces/Tunnel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,36 @@ namespace Spaces;

public partial class Tunnel : BaseSpace
{
private SettingsProfile settings;
private StandardMaterial3D tileMaterial;
private StandardMaterial3D ringMaterialA;
private StandardMaterial3D ringMaterialB;
private Node3D rings;
private const float ring_loop_end = 52.5f;

public override void _Ready()
{
base._Ready();
settings = SettingsManager.Instance.Settings;
rings = GetNode<Node3D>("Rings");
tileMaterial = (GetNode<MeshInstance3D>("Road").Mesh as PlaneMesh).Material as StandardMaterial3D;
ringMaterialA = (rings.GetChild<MeshInstance3D>(0).Mesh as PlaneMesh).Material as StandardMaterial3D;
ringMaterialB = (rings.GetChild<MeshInstance3D>(1).Mesh as PlaneMesh).Material as StandardMaterial3D;
}

public override void _Process(double delta)
{
base._Process(delta);
// Ring movement
rings.Position = Vector3.Back * (float)(Time.GetTicksMsec() / 1000f * settings.ApproachRate / 2) % ring_loop_end;
// Hit FX
tileMaterial.AlbedoColor = NoteHitColor;
ringMaterialA.AlbedoColor = NoteHitColor;
ringMaterialB.AlbedoColor = NoteHitColor;
}
private SettingsProfile settings;
private StandardMaterial3D tileMaterial;
private StandardMaterial3D ringMaterialA;
private StandardMaterial3D ringMaterialB;
private Node3D rings;

private const float ring_loop_end = 52.5f;

public override void _Ready()
{
base._Ready();

settings = SettingsManager.Instance.Settings;
rings = GetNode<Node3D>("Rings");

tileMaterial = (GetNode<MeshInstance3D>("Road").Mesh as PlaneMesh).Material as StandardMaterial3D;
ringMaterialA = (rings.GetChild<MeshInstance3D>(0).Mesh as PlaneMesh).Material as StandardMaterial3D;
ringMaterialB = (rings.GetChild<MeshInstance3D>(1).Mesh as PlaneMesh).Material as StandardMaterial3D;
}

public override void _Process(double delta)
{
base._Process(delta);

// Ring movement
rings.Position = Vector3.Back * (float)(Time.GetTicksMsec() / 1000f * settings.ApproachRate / 2) % ring_loop_end;

// Hit FX
tileMaterial.AlbedoColor = NoteHitColor;
ringMaterialA.AlbedoColor = NoteHitColor;
ringMaterialB.AlbedoColor = NoteHitColor;
}
}
Loading