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.2, 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
- Start by downloading the source folder from this repo and dragging it into your current fnf source folder you want to add it to.
- Now you only need to make a few small additions to get everything working,
- In PlayState.hx:
import modcharting.ModchartFuncs;
import modcharting.NoteMovement;
import modcharting.PlayfieldRenderer;
class PlayState extends MusicBeatState
{
//init variable for renderer
public var playfieldRenderer:PlayfieldRenderer;
override public function create()
{
//Add this before camfollow stuff
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.SustainMesh = null;
public var z:Float = 0;
- In Project.xml:
<define name="PSYCH" />
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.