/FNF-Sonic.EXE-Restored-Classic-Edition

sonic.exe restored but better

Primary LanguageHaxeApache License 2.0Apache-2.0

FNF Zoro Engine

this engine is dead lol dont use it

This is a mod for Friday Night Funkin, and mainly adds more features to the base game, for easier modding. I mainly use this engine to test ideas and mess around with code, but you can still make mods with this of course!

This was originally called the Extra Keys Engine, i changed it to avoid confusion, didnt wanna name it after myself but whatever lol

WARNING: this mod is still pretty early in development

Probably only works on desktop rn

Some Features

  • Better Input + rebindable keys
  • Downscroll
  • Middlescroll
  • Crazy note customization with an interactable menu (plan to make this more in depth soon)
  • 1-9 Key Support
  • a bunch of note types already set up
  • Note specfic speed + velocity changes
  • Custom song, character and stage support (no compiling required!)
  • A lot of randomizaton options (i love randomization lol)
  • New difficulty system which is based on the chart files (freeplay only)
  • Local multiplayer support
  • Changing mania mid song (now seperate for each player!)
  • Support for unlimited amount of strums/players
  • Support for extra characters
  • Copy and paste to clipboard support in Chart editor + more advanced charting features
  • Hscript Modchart support (almost anything is possible)
  • Modchart modifier system for easy modcharting
  • WIP Stage Editor (each piece still has to manaully be done)
  • Song Speed Multiplier with ability to change mid song
  • Extra Difficulty - ALT - these charts have extra keys, good for practice!

Planned Features

  • Editors for most things
  • probably some other stuff as well i forgot

Credits

  • TheZoroForce240 - coding for this mod + any extra assets
  • 7salad3salad - Week 5 extra key charts
  • srPerez - made original extra keys code + arrow designs

Friday Night Funkin

This is the repository for Friday Night Funkin, a game originally made for Ludum Dare 47 "Stuck In a Loop".

Play the Ludum Dare prototype here: https://ninja-muffin24.itch.io/friday-night-funkin Play the Newgrounds one here: https://www.newgrounds.com/portal/view/770371 Support the project on the itch.io page: https://ninja-muffin24.itch.io/funkin

IF YOU MAKE A MOD AND DISTRIBUTE A MODIFIED / RECOMPILED VERSION, YOU MUST OPEN SOURCE YOUR MOD AS WELL

Credits / shoutouts

This game was made with love to Newgrounds and its community. Extra love to Tom Fulp.

Build instructions

THESE INSTRUCTIONS ARE FOR COMPILING THE GAME'S SOURCE CODE!!!

IF YOU WANT TO JUST DOWNLOAD AND INSTALL AND PLAY THE GAME NORMALLY, GO TO ITCH.IO TO DOWNLOAD THE GAME FOR PC, MAC, AND LINUX!!

https://ninja-muffin24.itch.io/funkin

IF YOU WANT TO COMPILE THE GAME YOURSELF, CONTINUE READING!!!

Installing the Required Programs

First, you need to install Haxe and HaxeFlixel. I'm too lazy to write and keep updated with that setup (which is pretty simple).

  1. Install Haxe 4.1.5 (Download 4.1.5 instead of 4.2.0 because 4.2.0 is broken and is not working with gits properly...)
  2. Install HaxeFlixel after downloading Haxe

Other installations you'd need are the additional libraries, a fully updated list will be in Project.xml in the project root. Currently, these are all of the things you need to install:

flixel
flixel-addons
flixel-ui
hscript
newgrounds

So for each of those type haxelib install [library] so shit like haxelib install newgrounds

You'll also need to install a couple things that involve Gits. To do this, you need to do a few things first.

  1. Download git-scm. Works for Windows, Mac, and Linux, just select your build.
  2. Follow instructions to install the application properly.
  3. Run haxelib git polymod https://github.com/larsiusprime/polymod.git to install Polymod.
  4. Run haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc to install Discord RPC.

You should have everything ready for compiling the game! Follow the guide below to continue!

At the moment, you can optionally fix the transition bug in songs with zoomed-out cameras.

  • Run haxelib git flixel-addons https://github.com/HaxeFlixel/flixel-addons in the terminal/command-prompt.

Ignored files

I gitignore the API keys for the game so that no one can nab them and post fake high scores on the leaderboards. But because of that the game doesn't compile without it.

Just make a file in /source and call it APIStuff.hx, and copy & paste this into it

package;

class APIStuff
{
	public static var API:String = "";
	public static var EncKey:String = "";
}

and you should be good to go there.

Compiling game

Once you have all those installed, it's pretty easy to compile the game. You just need to run 'lime test html5 -debug' in the root of the project to build and run the HTML5 version. (command prompt navigation guide can be found here: https://ninjamuffin99.newgrounds.com/news/post/1090480) To run it from your desktop (Windows, Mac, Linux) it can be a bit more involved. For Linux, you only need to open a terminal in the project directory and run 'lime test linux -debug' and then run the executable file in export/release/linux/bin. For Windows, you need to install Visual Studio Community 2019. While installing VSC, don't click on any of the options to install workloads. Instead, go to the individual components tab and choose the following:

  • MSVC v142 - VS 2019 C++ x64/x86 build tools
  • Windows SDK (10.0.17763.0)

Once that is done you can open up a command line in the project's directory and run lime test windows -debug. Once that command finishes (it takes forever even on a higher end PC), you can run FNF from the .exe file under export\release\windows\bin As for Mac, 'lime test mac -debug' should work, if not the internet surely has a guide on how to compile Haxe stuff for Mac.

Additional guides