Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 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
3 changes: 2 additions & 1 deletion FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,5 @@ In the future (when the engine won't be a WIP anymore) we're gonna also publish
- 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>
1 change: 1 addition & 0 deletions libs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<git name="flxanimate" url="https://github.com/CodenameCrew/cne-flxanimate" />
<git name="hxdiscord_rpc" url="https://github.com/CodenameCrew/cne-hxdiscord_rpc" />
<lib name="hxvlc" version="1.9.3" skipDeps="true" />
<lib name="funkin-modchart" />

<!-- Documentation and other features -->
<git name="away3d" url="https://github.com/CodenameCrew/away3d" />
Expand Down
11 changes: 11 additions & 0 deletions project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<!-- Comment this out to disable dark mode windows -->
<define name="DARK_MODE_WINDOW"/>

<!-- Comment this out to disable modcharting features -->
<define name="MODCHARTING_FEATURES"/>

<haxedef name="VIDEO_CUTSCENES" if="VIDEO_CUTSCENES" />
<haxedef name="UPDATE_CHECKING" if="UPDATE_CHECKING" />
<haxedef name="DISCORD_RPC" if="DISCORD_RPC" />
Expand Down Expand Up @@ -182,6 +185,14 @@

<!-- _________________________________ Additional stuff _______________________________ -->

<section if="MODCHARTING_FEATURES">
<haxedef name="FM_ENGINE" value="CODENAME"/>
<haxedef name="FM_ENGINE_VERSION" value="1.0"/>

<haxelib name="funkin-modchart" />
<haxeflag name="--macro" value="modchart.core.macros.Macro.includeFiles()"/>
</section>

<section if="COMPILE_ALL_CLASSES">
<haxeflag name="-dce" value="no" />
<haxeflag name="--macro" value="funkin.backend.system.macros.Macros.addAdditionalClasses()" />
Expand Down
3 changes: 3 additions & 0 deletions source/funkin/options/Options.hx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ class Options
public static var songOffset:Float = 0;
public static var framerate:Int = 120;
public static var gpuOnlyBitmaps:Bool = #if (mac || web) false #else true #end; // causes issues on mac and web
#if MODCHARTING_FEATURES
public static var hold_subs:Int = 4;
#end

public static var lastLoadedMod:String = null;

Expand Down
7 changes: 7 additions & 0 deletions source/funkin/options/OptionsMenu.hx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ class OptionsMenu extends TreeMenu {
desc: 'Change Appearance options such as Flashing menus...',
state: AppearanceOptions
},
#if MODCHARTING_FEATURES
{
name: 'Modchart Settings >',
desc: 'Customize your modcharting experience...',
state: ModchartingOptions
},
#end
{
name: 'Miscellaneous >',
desc: 'Use this menu to reset save data or engine settings.',
Expand Down
2 changes: 1 addition & 1 deletion source/funkin/options/categories/AppearanceOptions.hx
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,4 @@ class AppearanceOptions extends OptionsScreen {
else
FlxG.updateFramerate = FlxG.drawFramerate = Std.int(change);
}
}
}
17 changes: 17 additions & 0 deletions source/funkin/options/categories/ModchartingOptions.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package funkin.options.categories;

#if MODCHARTING_FEATURES
class ModchartingOptions extends OptionsScreen {
public override function new() {
super("Modcharting Options", "Customize your modcharting experience.");
add(new NumOption(
"Hold Subdivisions",
"Softens the tail/hold/sustain of the arrows by subdividing it, giving them greater quality. By higher the subdivisions number is, performance will be affected.",
1, // minimum
128, // maximum
1, // change
"hold_subs" // save name
)); // callback
}
}
#end