Add modcharting features (using FunkinModchart) (#526)
Technically already in the codes but yeah
This commit is contained in:
+2
-1
@@ -79,4 +79,5 @@ _**QOL = Quality of Life**_
|
||||
- Features not found in other editors!
|
||||
- Every single state & substate can be modified via HScript (`data/states/StateName.hx`)
|
||||
- **Instances launched via `lime test windows` will automatically use assets from source.**
|
||||
</details>
|
||||
- Modcharting features powered by [FunkinModchart](https://lib.haxe.org/p/funkin-modchart/).
|
||||
</details>
|
||||
|
||||
@@ -87,4 +87,5 @@ If you don't have a github account please go onto https://codename-engine.com/ a
|
||||
- Credits to the [FlxAnimate](https://github.com/Dot-Stuff/flxanimate) team for the Animate Atlas support
|
||||
- Credits to Smokey555 for the backup Animate Atlas to spritesheet code
|
||||
- Credits to MAJigsaw77 for [hxvlc](https://github.com/MAJigsaw77/hxvlc) (video cutscene/mp4 support) and [hxdiscord_rpc](https://github.com/MAJigsaw77/hxdiscord_rpc) (discord rpc integration)
|
||||
- Credits to [TheoDev](https://github.com/TheoDevelops) for [FunkinModchart](https://lib.haxe.org/p/funkin-modchart/). ***(library used for modcharting features)***
|
||||
</details>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<git name="hscript-improved" url="https://github.com/CodenameCrew/hscript-improved" ref="codename-dev" />
|
||||
<git name="flxanimate" url="https://github.com/CodenameCrew/cne-flxanimate" />
|
||||
<git name="hxdiscord_rpc" url="https://github.com/CodenameCrew/cne-hxdiscord_rpc" skipDeps="true" />
|
||||
<git name="funkin-modchart" url="https://github.com/CodenameCrew/FunkinModchart" skipDeps="true" />
|
||||
<lib name="funkin-modchart" skipDeps="true" />
|
||||
<lib name="hxvlc" version="1.9.3" skipDeps="true" />
|
||||
|
||||
<!-- Documentation and other features -->
|
||||
|
||||
@@ -53,6 +53,13 @@ class Note extends FlxSprite
|
||||
*/
|
||||
public var nextSustain:Note;
|
||||
|
||||
/**
|
||||
* The parent of the sustain.
|
||||
*
|
||||
* If this note is not sustain, this will be null.
|
||||
*/
|
||||
public var sustainParent:Null<Note>;
|
||||
|
||||
/**
|
||||
* Name of the splash.
|
||||
*/
|
||||
@@ -125,6 +132,10 @@ class Note extends FlxSprite
|
||||
for(field in Reflect.fields(noteData)) if(!DEFAULT_FIELDS.contains(field))
|
||||
this.extra.set(field, Reflect.field(noteData, field));
|
||||
|
||||
// work around to set the `sustainParent`
|
||||
if (isSustainNote)
|
||||
sustainParent = prevNote.isSustainNote ? prevNote.sustainParent : prevNote;
|
||||
|
||||
x += 50;
|
||||
// MAKE SURE ITS DEFINITELY OFF SCREEN?
|
||||
y -= 2000;
|
||||
|
||||
@@ -39,6 +39,13 @@ class OptionsMenu extends TreeMenu {
|
||||
state: LanguageOptions
|
||||
},
|
||||
#end
|
||||
#if MODCHARTING_FEATURES
|
||||
{
|
||||
name: 'Modchart Settings >',
|
||||
desc: 'Customize your modcharting experience...',
|
||||
state: ModchartingOptions
|
||||
},
|
||||
#end
|
||||
{
|
||||
name: 'optionsTree.miscellaneous-name',
|
||||
desc: 'optionsTree.miscellaneous-desc',
|
||||
|
||||
@@ -60,4 +60,4 @@ class AdvancedAppearanceOptions extends TreeMenuScreen {
|
||||
private function __changeAntialiasing() {
|
||||
FlxG.game.stage.quality = (FlxG.enableAntialiasing = Options.antialiasing) ? BEST : LOW;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package funkin.options.categories;
|
||||
|
||||
#if MODCHARTING_FEATURES
|
||||
class ModchartingOptions extends TreeMenuScreen {
|
||||
public override function new() {
|
||||
super("Modcharting Options", "Customize your modcharting experience.");
|
||||
add(new NumOption(
|
||||
"Hold Subdivisions",
|
||||
"Subdivides the arrow's hold/sustain tail for smoother visuals, higher values improve quality but can hurt performance",
|
||||
1, // minimum
|
||||
128, // maximum
|
||||
1, // change
|
||||
"modchartingHoldSubdivisions" // save name
|
||||
)); // callback
|
||||
}
|
||||
}
|
||||
#end
|
||||
Reference in New Issue
Block a user