Just a thing I made to make modcharting easier, should be easy to add to most engines. Still very WIP and not everything is supported yet!
- Base Game (not tested)
- Psych Engine (working 0.6.3, includes lua functions)
- Leather Engine (working 0.4.2)
- Kade Engine (not tested)
- Yoshi Engine (not tested)
- Forever Engine Legacy (not tested)
- FPS Plus (not tested)
- Original FNF Team - they made the game
- NotITG - Inspiration (made me love modcharts lol)
- OpenITG - Math used for some modifiers
You need the most recent version of HaxeFlixel for it to work. (5.2.1 as of writing)
- Install the haxelib by typing
haxelib git fnf-modcharting-tools https://github.com/TheZoroForce240/FNF-Modcharting-Tools
in the console - Now you only need to make a few small additions to get everything working,
- In MusicBeatState.hx:
class MusicBeatState extends modcharting.ModchartMusicBeatState
{
- In PlayState.hx:
import modcharting.ModchartFuncs;
import modcharting.NoteMovement;
import modcharting.PlayfieldRenderer;
override public function create()
{
//Add this before camfollow stuff and after strumLineNotes and notes have been made
playfieldRenderer = new PlayfieldRenderer(strumLineNotes, notes, this);
playfieldRenderer.cameras = [camHUD];
add(playfieldRenderer);
add(grpNoteSplashes); /*place splashes in front (add this if the engine has splashes).
If you have added this: remove(or something) the add(grpNoteSplashes); which is by default below the add(strumLineNotes);*/
// (at the bottom of create())
ModchartFuncs.loadLuaFunctions(); //add this if you want lua functions in scripts
//being used in psych engine as an example
callOnLuas('onCreatePost', []);
super.create();
public function startCountdown():Void
{
generateStaticArrows(0);
generateStaticArrows(1);
//add after generating strums
NoteMovement.getDefaultStrumPos(this);
- In Note.hx:
class Note extends FlxSprite
{
//add these 2 variables for the renderer
public var mesh:modcharting.SustainStrip = null;
public var z:Float = 0;
- In Project.xml:
<!--Set this to the engine you're using!-->
<define name="PSYCH" />
<haxelib name="fnf-modcharting-tools" />
You need to define which engine you're using to fix compiling issues, or it would default to base game settings (downscroll won't work etc). Available ones: PSYCH, KADE, LEATHER, FOREVER_LEGACY, YOSHI, FPSPLUS
- Now if your game compiles successfully then you should be all good to go.