Skip to content

Commit 59e64ee

Browse files
authored
Merge pull request #82 from neogeek/feature/godot-cpp-plugin
[feat] Godot GDExtension Plugin
2 parents 79f2a0f + 92abf82 commit 59e64ee

28 files changed

+1439
-56
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "GodotPlugin/godot-cpp"]
2+
path = GodotPlugin/godot-cpp
3+
url = https://github.com/godotengine/godot-cpp.git

Documentation/API/Common/InverseLerp.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Common.InverseLerp`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -31,3 +31,14 @@ int main()
3131
return 0;
3232
}
3333
```
34+
35+
##### GDScript
36+
37+
```gdscript
38+
extends Node
39+
40+
func _ready() -> void:
41+
var value = rhythm_game_utilities.inverse_lerp(0, 10, 5)
42+
43+
print(value) # 0.5
44+
```

Documentation/API/Common/Lerp.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Common.Lerp`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -31,3 +31,14 @@ int main()
3131
return 0;
3232
}
3333
```
34+
35+
##### GDScript
36+
37+
```gdscript
38+
extends Node
39+
40+
func _ready() -> void:
41+
var value = rhythm_game_utilities.lerp(0, 10, 0.5)
42+
43+
print(value) # 5
44+
```

Documentation/API/Parsers/ParseBpmFromChartSection.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseBpmFromChartSection`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -39,3 +39,19 @@ int main()
3939
return 0;
4040
}
4141
```
42+
43+
##### GDScript
44+
45+
```gdscript
46+
extends Node
47+
48+
func _ready() -> void:
49+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
50+
var content = file.get_as_text()
51+
52+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
53+
54+
var bpm = rhythm_game_utilities.parse_bpm_from_chart_section(sections["SyncTrack"])
55+
56+
print(bpm)
57+
```

Documentation/API/Parsers/ParseLyricsFromChartSection.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseLyricsFromChartSection`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -39,3 +39,19 @@ int main()
3939
return 0;
4040
}
4141
```
42+
43+
##### GDScript
44+
45+
```gdscript
46+
extends Node
47+
48+
func _ready() -> void:
49+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
50+
var content = file.get_as_text()
51+
52+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
53+
54+
var lyrics = rhythm_game_utilities.parse_lyrics_from_chart_section(sections["Events"])
55+
56+
print(lyrics)
57+
```

Documentation/API/Parsers/ParseMetaDataFromChartSection.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseMetaDataFromChartSection`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -43,3 +43,19 @@ int main()
4343
return 0;
4444
}
4545
```
46+
47+
##### GDScript
48+
49+
```gdscript
50+
extends Node
51+
52+
func _ready() -> void:
53+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
54+
var content = file.get_as_text()
55+
56+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
57+
58+
var meta_data = rhythm_game_utilities.parse_meta_data_from_chart_section(sections["Song"])
59+
60+
print(meta_data)
61+
```

Documentation/API/Parsers/ParseNotesFromChartSection.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseNotesFromChartSection`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -47,3 +47,19 @@ int main()
4747
return 0;
4848
}
4949
```
50+
51+
##### GDScript
52+
53+
```gdscript
54+
extends Node
55+
56+
func _ready() -> void:
57+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
58+
var content = file.get_as_text()
59+
60+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
61+
62+
var notes = rhythm_game_utilities.parse_notes_from_chart_section(sections["ExpertSingle"])
63+
64+
print(notes)
65+
```

Documentation/API/Parsers/ParseSectionsFromChart.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseSectionsFromChart`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -34,3 +34,17 @@ int main()
3434
return 0;
3535
}
3636
```
37+
38+
##### GDScript
39+
40+
```gdscript
41+
extends Node
42+
43+
func _ready() -> void:
44+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
45+
var content = file.get_as_text()
46+
47+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
48+
49+
print(sections)
50+
```

Documentation/API/Parsers/ParseTimeSignaturesFromChartSection.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Parsers.ParseTimeSignaturesFromChartSection`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -39,3 +39,19 @@ int main()
3939
return 0;
4040
}
4141
```
42+
43+
##### GDScript
44+
45+
```gdscript
46+
extends Node
47+
48+
func _ready() -> void:
49+
var file = FileAccess.open("res://song.txt", FileAccess.READ)
50+
var content = file.get_as_text()
51+
52+
var sections = rhythm_game_utilities.parse_sections_from_chart(content)
53+
54+
var time_signatures = rhythm_game_utilities.parse_time_signatures_from_chart_section(sections["SyncTrack"])
55+
56+
print(time_signatures)
57+
```

Documentation/API/Utilities/CalculateAccuracyRatio.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#### `Utilities.CalculateAccuracyRatio`
22

3-
> Languages: `C#` `C++`
3+
> Languages: `C#` `C++` `GDScript`
44
55
##### C#
66

@@ -51,3 +51,22 @@ int main()
5151
return 0;
5252
}
5353
```
54+
55+
##### GDScript
56+
57+
```gdscript
58+
extends Node
59+
60+
func _ready() -> void:
61+
var seconds = 2
62+
var resolution = 192
63+
var position_delta = 50
64+
65+
var bpm_changes = { 0: 120000 }
66+
67+
var current_position = rhythm_game_utilities.convert_seconds_to_ticks(seconds, resolution, bpm_changes)
68+
69+
var value = rhythm_game_utilities.calculate_accuracy_ratio(750, current_position, position_delta)
70+
71+
print(round(value * 100) / 100.0) # 0.64
72+
```

0 commit comments

Comments
 (0)