Skip to content

Instantly share code, notes, and snippets.

@EliteMasterEric
EliteMasterEric / FNFEngines.md
Last active February 18, 2026 22:31
Friday Night Funkin' Game Engine Comparison

List of Friday Night Funkin' Engines:

The base game. Like vanilla ice cream, some people find it bland while, for others, it's their personal favorite. Only version available on Newgrounds (re-uploads of FNF or even mods aren't allowed). The Newgrounds web-only edition (no source code available) includes spritemap animations for cutscenes (the Tricky Mod uses pre-rendered videos), custom keybinds, and note splashes.

One of the original modded engines, developed for the Full Ass Tricky Mod, and later separately maintained. Focused on high-level play, featuring a reworked input system, improved player stats like a results screen hitgraph, and custom keybinds. The most common engine to use in mods (even if it isn't the simplest to mod).

@EliteMasterEric
EliteMasterEric / DetectScreenRecorders.hx
Last active April 23, 2023 20:07
Haxe code to detect screen recording software.
/**
* A list of process names for several popular screen recording programs.
* Add more if you think of any.
*/
static final SCREEN_RECORDERS:Array<String> = [
"obs32.exe", "obs64.exe", "obs.exe",
"xsplit.core.exe", "livehime.exe", "pandatool.exe",
"yymixer.exe", "douyutool.exe", "huomaotool.exe"
];
@EliteMasterEric
EliteMasterEric / CustomState.hxc
Created July 16, 2022 18:56
A script that defines the behavior for a custom scripted FlxState.
import flixel.FlxSprite;
import flixel.FlxG;
import funkin.Paths;
import funkin.MainMenuState;
import funkin.MusicBeatState;
import flixel.tweens.FlxTween;
import flixel.system.FlxSound;
class CustomState extends MusicBeatState
{
@EliteMasterEric
EliteMasterEric / replaceColor.frag
Created July 19, 2022 00:25
Fragment shader (built for Flixel) which replaces a specific color with another.
// A vec4 represents the red, green, blue, alpha of a pixel with values from [0.0, 1.0].
const vec4 MAGENTA = vec4(1.0, 0.0, 1.0, 1.0);
const vec4 GREEN = vec4(0.0, 1.0, 0.0, 1.0);
vec4 doWhatever() {
// This function just returns green, but you could add more complex logic here.
return GREEN;
}
void main() {
@EliteMasterEric
EliteMasterEric / CarCrashMenu.hxc
Created July 31, 2022 23:34
Throw this into a mod folder when the next FNF update comes out.
import flixel.FlxG;
import flixel.system.FlxSound;
import flixel.tweens.FlxEase;
import flixel.tweens.FlxTween;
import funkin.modding.module.Module;
import funkin.Paths;
import funkin.TitleState;
class CarCrashMenu extends Module
{
@EliteMasterEric
EliteMasterEric / CollapsibleDialog.hx
Created October 21, 2022 06:03
A dialog which can collapse with a button, in HaxeUI.
// package;
import haxe.ui.containers.dialogs.Dialog;
class CollapsibleDialog extends Dialog
{
public var dialogMinMaxButton:haxe.ui.components.Image;
var _minimized:Bool = false;
@EliteMasterEric
EliteMasterEric / tweepy_unfollow.py
Created November 3, 2022 04:59
Get a list of all the users who are not your mutuals, and unfollow them. Updated for Twitter API v2.
import time
import tweepy
import sys
# Debug
#import logging
#logging.basicConfig(level=logging.DEBUG)
# Go here and create a Project: https://developer.twitter.com/en/portal/projects-and-apps
# Then go to the Keys and Tokens tab and copy the values below.
package;
import flixel.system.FlxAssets.FlxShader;
import openfl.display.BitmapData;
/**
* Implements the overlay blend mode as a Flixel shader.
*
* @see https://en.wikipedia.org/wiki/Blend_modes#Overlay
* @author EliteMasterEric

Why License?

With no license, code is "All Rights Reserved" and any other application using your code is committing copyright infringement! So you should choose a license for any code you distribute publically.

Licenses will additionally protect the copyright holder from damages, and absolve any liability or unstated warranties related to the copyrighted code.

Copyleft Licenses

  • Generally require any changes to the provided source files to be redistributed.
  • Pros:
    • Encourages contributions to the original project and benefits the open-source community.
  • Prevents massive companies from selling open-source software.

Creative Commons Assets Used:

Graphics:

Sound Effects: