From ce61ba92fa48c487d8f257eece95d054e71562f5 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Wed, 7 Apr 2021 20:48:11 +0200 Subject: [PATCH 01/15] Update README.md --- README.md | 189 ++++++++++++------------------------------------------ 1 file changed, 40 insertions(+), 149 deletions(-) diff --git a/README.md b/README.md index 5a01629..e84062a 100644 --- a/README.md +++ b/README.md @@ -1,165 +1,56 @@ -![KadeEngineLogo](https://user-images.githubusercontent.com/26305836/110529589-4b4eb600-80ce-11eb-9c44-e899118b0bf0.png) +![Kade Engine logo](https://user-images.githubusercontent.com/26305836/110529589-4b4eb600-80ce-11eb-9c44-e899118b0bf0.png) +[![AppVeyor](https://img.shields.io/appveyor/build/KadeDev/Kade-Engine-Windows?label=windows%20build)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) [![AppVeyor](https://img.shields.io/appveyor/build/KadeDev/Kade-Engine-Linux?label=linux%20build)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts) [![Discord](https://img.shields.io/discord/808039740464300104?label=discord)](https://discord.gg/MG6GQFh52U) [![GitHub issues](https://img.shields.io/github/issues/KadeDev/Kade-Engine)](https://github.com/KadeDev/Kade-Engine/issues) [![GitHub pull requests](https://img.shields.io/github/issues-pr/KadeDev/Kade-Engine)](https://github.com/KadeDev/Kade-Engine/pulls) []() []() -**Download the latest release [here](https://github.com/KadeDev/Kade-Engine/releases/latest)** +![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/KadeDev/Kade-Engine/latest) ![GitHub repo size](https://img.shields.io/github/repo-size/KadeDev/Kade-Engine) ![Lines of code](https://img.shields.io/tokei/lines/github/KadeDev/Kade-Engine) ![Supported platforms](https://img.shields.io/badge/supported%20platforms-windows%2C%20linux%2C%20html5-blue) ![GitHub all releases](https://img.shields.io/github/downloads/KadeDev/Kade-Engine/total) ![GitHub](https://img.shields.io/github/license/KadeDev/Kade-Engine) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/KadeDev/Kade-Engine?include_prereleases&label=latest%20version) -![image](https://user-images.githubusercontent.com/26305836/110532077-3c1d3780-80d1-11eb-8348-0e63d5c0f4f1.png) +# Friday Night Funkin': Kade Engine +## Friday Night Funkin' +**Friday Night Funkin'** is a rhythm game originally made for Ludum Dare 47 "Stuck In a Loop". -![image](https://user-images.githubusercontent.com/26305836/110532103-450e0900-80d1-11eb-857e-d8ea1a1b8d7e.png) +Links: **[itch.io page](https://ninja-muffin24.itch.io/funkin) ⋅ [Newgrounds](https://www.newgrounds.com/portal/view/770371) ⋅ [source code on GitHub](https://github.com/ninjamuffin99/Funkin)** +> Uh oh! Your tryin to kiss ur hot girlfriend, but her MEAN and EVIL dad is trying to KILL you! He's an ex-rockstar, the only way to get to his heart? The power of music... -![image](https://user-images.githubusercontent.com/26305836/110532136-51926180-80d1-11eb-838f-1b4a1e49e1bd.png) +## Kade Engine +**Kade Engine** is a mod for Friday Night Funkin', including a full engine rework, replays, and more. -![image](https://user-images.githubusercontent.com/26305836/110532204-63740480-80d1-11eb-9641-bf5a641e6d77.png) +Links: **[GameBanana mod page](https://gamebanana.com/gamefiles/16761) ⋅ [play in browser](https://funkin.puyo.xyz) ⋅ [latest stable release](https://github.com/KadeDev/Kade-Engine/releases/latest) ⋅ [latest development build (windows)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) ⋅ [latest development build (linux)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts)** +**Please note**: as of right now, linux CI has not been set up yet (the "latest developemnt build (linux)" link does not work). you can download a linux build [here](https://ci.appveyor.com/project/daniel11420/kade-engine-linux/build/artifacts) (temporary link) -# Friday Night Funkin Kade Engine +**REMEMBER**: This is a **mod**. This is not the vanilla game and should be treated as a **modification**. This is not and probably will never be official, so don't get confused. -This is the repository for Friday Night Funkin' Kade Engine, a game originally made for Ludum Dare 47 "Stuck In a Loop". And a completely reworked engine. +# Screenshots ([skip](#Features)) -### Links to the original game -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 +TODO: Finish this section (add gameplay gif?) -### Links to Kade Engine -Mod Page: https://gamebanana.com/gamefiles/16761 +![Free Play selection screen](https://i.imgur.com/LR0eWIC.png) +![enter image description here](https://i.imgur.com/LBXW9C1.png) -Latest GitHub release: https://github.com/KadeDev/Kade-Engine/releases/latest +# Features -AppVeyor CI (Automatic builds of the latest commit): -- Windows: [AppVeyor Project](https://ci.appveyor.com/project/KadeDev/kade-engine-windows) | [Artifacts (downloads)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) + - **New Input System** + - An improved input system, similar to Quaver or Etterna, with less delays, less dropped inputs and other improvements. + - **More information during gameplay** + - While you're playing, we show you information about how you're doing, such as your accuracy, combo break count, notes per second, and your grade/rating. + - **Better key layouts** + - Instead of being forced to use WASD and the arrow keys, now you can play with DFJK! + - **Replays** (in beta) + - Have you ever gotten a crazy score but didn't record? The replay system solves that: it automatically saves a "replay" of your gameplay every time you complete a song, which you can play back inside of the game. + - Replays just store information about what you're doing, they don't actually record the screen -- so they take up way less space on your disk than videos. + - **Audio offset** + - If your headphones are delayed, you can set an offset in the options menu to line the game up with the delay and play with synced audio like intended. -- Linux: [AppVeyor Project](https://ci.appveyor.com/project/KadeDev/kade-engine-linux) | [Artifacts (downloads)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts) - -## What is Kade Engine? +# Credits +### Friday Night Funkin' + - [ninjamuffin99](https://twitter.com/ninja_muffin99) - Programming + - [PhantomArcade3K](https://twitter.com/phantomarcade3k) and [Evilsk8r](https://twitter.com/evilsk8r) - Art + - [Kawai Sprite](https://twitter.com/kawaisprite) - Music -Kade Engine is an engine rework of the OG games engine. Simply put, we give you some great new features while also giving you the latest GitHub features. +This game was made with love to Newgrounds and its community. Extra love to Tom Fulp. +### Kade Engine +- [KadeDeveloper](https://twitter.com/KadeDeveloper) - Maintainer and lead programmer +- [The contributors](https://github.com/KadeDev/Kade-Engine/graphs/contributors) -## Features +# Other pages + - [BUILDING.md](https://github.com/KadeDev/Kade-Engine/blob/master/BUILDING.md) - How to compile/build the game -The features that Kade Engine implements are: -- New Input System - -*Hate the old engine because your inputs are delayed? Are inputs being dropped? Well with this input system, inputs rarely get dropped! If you wanna see an example of what it feels like, play any 4k rhythm game like Quaver or Etterna!* - -- Accuracy Mod - -*We've modified the accuracy mod to create an amazing accuracy display, which shows your accuracy and misses. While giving you a basic ranking on how you are currently playing.* - -- FPS Increase - -*We always love more FPS, and this is what you'll get. We've increased the FPS cap to 120.* - -- DFJK Support - -*As standard 4k practice, the default keybinds for many rhythm games are DFJK. We've allowed you to swap from WASD to DFJK in the options menu now.* - -- Replays - -*Ever wanted to show your friend a crazy score? Well, the replay system lets you do that without recording videos!* - -**please note the replay system is in beta, and is not 100% accurate YET* - -- Offset - -*Do your headphones have an audio delay? Well, you can set a note offset in the options menu!* - -- Latest FNF Github Features - -*Have you ever seen a feature shown in the GitHub repo, and you don't know how to build the game? Well, features from there get ported into here, and then we can add them into this mod and build it for you!* - -**HUGE NOTICE** - -This is a **MOD**. This is not Vanilla and should be treated as a **MODIFICATION**. This will probably never be official, so don't get confused. - -## Credits / shoutouts - -- [ninjamuffin99](https://twitter.com/ninja_muffin99) - Programmer -- [PhantomArcade3K](https://twitter.com/phantomarcade3k) and [Evilsk8r](https://twitter.com/evilsk8r) - Art -- [Kawaisprite](https://twitter.com/kawaisprite) - Musician - -This game was made with love to Newgrounds and it's 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/friday-night-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](https://haxe.org/download/version/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](https://haxeflixel.com/documentation/install-haxeflixel/) after downloading Haxe - -Other installations you'd need is 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 polymod. To do this, you need to do a few things first. -1. Download [git-scm](https://git-scm.com/downloads). 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` in terminal/command-prompt after your git program is installed. - -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. - -**As of version 1.3**, you also need Discord RPC to compile the game, get it by using the following command: -- Use `haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc` 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 highscores 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 - -```haxe -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](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 executible 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) -* C++ Profiling tools -* C++ CMake tools for windows -* C++ ATL for v142 build tools (x86 & x64) -* C++ MFC for v142 build tools (x86 & x64) -* C++/CLI support for v142 build tools (14.21) -* C++ Modules for v142 build tools (x64/x86) -* Clang Compiler for Windows -* Windows 10 SDK (10.0.17134.0) -* Windows 10 SDK (10.0.16299.0) -* MSVC v141 - VS 2017 C++ x64/x86 build tools -* MSVC v140 - VS 2015 C++ build tools (v14.00) - -This will install about 22GB of crap, but 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 - -- [Command line basics](https://ninjamuffin99.newgrounds.com/news/post/1090480) From 43e87699e5e94e3f14b6737a37a45bf1ff79ce59 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Wed, 7 Apr 2021 20:48:24 +0200 Subject: [PATCH 02/15] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e84062a..550cab8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ ![Kade Engine logo](https://user-images.githubusercontent.com/26305836/110529589-4b4eb600-80ce-11eb-9c44-e899118b0bf0.png) + [![AppVeyor](https://img.shields.io/appveyor/build/KadeDev/Kade-Engine-Windows?label=windows%20build)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) [![AppVeyor](https://img.shields.io/appveyor/build/KadeDev/Kade-Engine-Linux?label=linux%20build)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts) [![Discord](https://img.shields.io/discord/808039740464300104?label=discord)](https://discord.gg/MG6GQFh52U) [![GitHub issues](https://img.shields.io/github/issues/KadeDev/Kade-Engine)](https://github.com/KadeDev/Kade-Engine/issues) [![GitHub pull requests](https://img.shields.io/github/issues-pr/KadeDev/Kade-Engine)](https://github.com/KadeDev/Kade-Engine/pulls) []() []() ![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/KadeDev/Kade-Engine/latest) ![GitHub repo size](https://img.shields.io/github/repo-size/KadeDev/Kade-Engine) ![Lines of code](https://img.shields.io/tokei/lines/github/KadeDev/Kade-Engine) ![Supported platforms](https://img.shields.io/badge/supported%20platforms-windows%2C%20linux%2C%20html5-blue) ![GitHub all releases](https://img.shields.io/github/downloads/KadeDev/Kade-Engine/total) ![GitHub](https://img.shields.io/github/license/KadeDev/Kade-Engine) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/KadeDev/Kade-Engine?include_prereleases&label=latest%20version) From ae8dc93f6bf96ae7d469b37272513ce4c0d6c671 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Wed, 7 Apr 2021 20:50:12 +0200 Subject: [PATCH 03/15] Add files via upload --- BUILDING.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 BUILDING.md diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000..620debc --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,60 @@ +# Building Friday Night Funkin': Kade Engine + +**Please note**: these instructions are for compiling/building the game. If you just want to play Kade Engine, **play in your browser or download a build instead**: **[play in browser](https://funkin.puyo.xyz) ⋅ [latest stable release](https://github.com/KadeDev/Kade-Engine/releases/latest) ⋅ [latest development build (windows)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) ⋅ [latest development build (linux)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts)**. If you want to build the game yourself, continue reading. + +**Also note**: you should be familiar with the commandline. If not, read this [quick guide by ninjamuffin](https://ninjamuffin99.newgrounds.com/news/post/1090480). + +**Also also note**: To build for *Windows*, you need to be on *Windows*. To build for *Linux*, you need to be on *Linux*. You can build for html5/browsers on any platform. + +## Dependencies + 1. [Install Haxe 4.1.5](https://haxe.org/download/version/4.1.5/). You should use 4.1.5 instead of the latest version because the latest version has some problems with Friday Night Funkin': Kade Engine. + 2. After installing Haxe, [Install HaxeFlixel](https://haxeflixel.com/documentation/install-haxeflixel/). + 3. Install `git`. + - Windows: install from the [git-scm](https://git-scm.com/downloads) website. + - Linux: install the `git` package: `sudo apt install git` (ubuntu), `sudo pacman -S git` (arch), etc... (you probably already have it) + 4. Install and set up the necessary libraries: + - `haxelib install lime 7.9.0` + - `haxelib install openfl` + - `haxelib install flixel` + - `haxelib run lime setup` + - `haxelib run lime setup flixel` + - `haxelib install flixel-tools` + - `haxelib run flixel-tools setup` + - `haxelib install flixel-addons` + - `haxelib install flixel-ui` + - `haxelib install hscript` + - `haxelib install newgrounds` + - `haxelib git faxe https://github.com/uhrobots/faxe` + - `haxelib git polymod https://github.com/larsiusprime/polymod.git` + - `haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc` +### Windows-only dependencies (only for building *to* Windows. Building html5 on Windows does not require this) +If you are planning to build for Windows, you also need to install **Visual Studio Code 2019**. While installing it, *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) +- C++ Profiling tools +- C++ CMake tools for windows +- C++ ATL for v142 build tools (x86 & x64) +- C++ MFC for v142 build tools (x86 & x64) +- C++/CLI support for v142 build tools (14.21) +- C++ Modules for v142 build tools (x64/x86) +- Clang Compiler for Windows +- Windows 10 SDK (10.0.17134.0) +- Windows 10 SDK (10.0.16299.0) +- MSVC v141 - VS 2017 C++ x64/x86 build tools +- MSVC v140 - VS 2015 C++ build tools (v14.00) + +This will install about 22 GB of crap, but is necessary to build for Windows. + +## Cloning the repository +Since you already installed `git` in a previous step, we'll use it to clone the repository. +1. `cd` to where you want to store the source code (i.e. `C:\Users\username\Desktop` or `~/Desktop`) +2. `git clone https://github.com/KadeDev/Kade-Engine.git` +3. `cd` into the source code: `cd Kade-Engine` +4. (optional) If you want to build a specific version of Kade Engine, you can use `git checkout` to switch to it (i.e. `git checkout 1.4-KE`) (remember that versions 1.4 and older cannot build to Linux or HTML5) + - You should **not** do this if you are planning to contribute, as you should always be developing on the latest version. +## Building +Finally, we are ready to build. + +- Run `lime build `, replacing `` with the platform you want to build to (`windows`, `linux`, `html5`) (i.e. `lime build windows`) +- The build will be in `Kade-Engine/export//bin`, with `` being the target you built to in the previous step. (i.e. `Kade-Engine/export/windows/bin`) + - Only the `bin` folder is necessary to run the game. The other ones in `export/` are not. From ab9db5182d17a2b011e1cf279519f073cdee975e Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Thu, 8 Apr 2021 09:58:47 +0200 Subject: [PATCH 04/15] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 550cab8..4daecf7 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,10 @@ Links: **[GameBanana mod page](https://gamebanana.com/gamefiles/16761) ⋅ [play TODO: Finish this section (add gameplay gif?) +![funkingiftest480p30](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) + ![Free Play selection screen](https://i.imgur.com/LR0eWIC.png) + ![enter image description here](https://i.imgur.com/LBXW9C1.png) # Features From 62755a6c088ca581142968ffc6b78ed98a5188f2 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Thu, 8 Apr 2021 10:07:33 +0200 Subject: [PATCH 05/15] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4daecf7..3e31ac1 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ Links: **[GameBanana mod page](https://gamebanana.com/gamefiles/16761) ⋅ [play TODO: Finish this section (add gameplay gif?) -![funkingiftest480p30](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) +![Tutorial (Hard)](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) ![Milf (Hard)](https://user-images.githubusercontent.com/15311104/113990845-2c208100-9852-11eb-8e6d-f1c9e8439871.gif) + ![Free Play selection screen](https://i.imgur.com/LR0eWIC.png) From 1c8f9953ccf36ea1d8a4310d03c1bbae87724e89 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Thu, 8 Apr 2021 10:27:58 +0200 Subject: [PATCH 06/15] Update README.md --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3e31ac1..f4515df 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,17 @@ Links: **[GameBanana mod page](https://gamebanana.com/gamefiles/16761) ⋅ [play TODO: Finish this section (add gameplay gif?) -![Tutorial (Hard)](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) ![Milf (Hard)](https://user-images.githubusercontent.com/15311104/113990845-2c208100-9852-11eb-8e6d-f1c9e8439871.gif) +![Tutorial (Hard) on Downscroll](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) ![Milf (Hard) on Downscroll](https://user-images.githubusercontent.com/15311104/113990845-2c208100-9852-11eb-8e6d-f1c9e8439871.gif) +![Roses (Hard) on Upscroll](https://user-images.githubusercontent.com/15311104/113993573-e31dfc00-9854-11eb-82ae-1f29dc8a0b04.png) + +![Milf (Hard) on Downscroll](https://user-images.githubusercontent.com/15311104/113991654-f4660900-9852-11eb-8c3d-f3927571f19b.png) + +![He malding](https://user-images.githubusercontent.com/15311104/113993693-02b52480-9855-11eb-9975-eb8a7a1be8d1.png) ![Free Play selection screen](https://i.imgur.com/LR0eWIC.png) -![enter image description here](https://i.imgur.com/LBXW9C1.png) +![Options Menu](https://i.imgur.com/LBXW9C1.png) # Features From 89a21ae10fd74c2eeb123a43c5cff5923a5e1159 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Thu, 8 Apr 2021 10:28:37 +0200 Subject: [PATCH 07/15] I may be stupid, but I'm dumb --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index f4515df..d911b31 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,6 @@ Links: **[GameBanana mod page](https://gamebanana.com/gamefiles/16761) ⋅ [play # Screenshots ([skip](#Features)) -TODO: Finish this section (add gameplay gif?) - ![Tutorial (Hard) on Downscroll](https://user-images.githubusercontent.com/15311104/113989685-fa5aea80-9850-11eb-9180-f5819a774c79.gif) ![Milf (Hard) on Downscroll](https://user-images.githubusercontent.com/15311104/113990845-2c208100-9852-11eb-8e6d-f1c9e8439871.gif) ![Roses (Hard) on Upscroll](https://user-images.githubusercontent.com/15311104/113993573-e31dfc00-9854-11eb-82ae-1f29dc8a0b04.png) From 1f19502df70e14d0f3e9860e8a045a8da24e6af7 Mon Sep 17 00:00:00 2001 From: daniel11420 <15311104+daniel11420@users.noreply.github.com> Date: Thu, 8 Apr 2021 10:32:44 +0200 Subject: [PATCH 08/15] Update BUILDING.md --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 620debc..7c26efc 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -1,6 +1,6 @@ # Building Friday Night Funkin': Kade Engine -**Please note**: these instructions are for compiling/building the game. If you just want to play Kade Engine, **play in your browser or download a build instead**: **[play in browser](https://funkin.puyo.xyz) ⋅ [latest stable release](https://github.com/KadeDev/Kade-Engine/releases/latest) ⋅ [latest development build (windows)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) ⋅ [latest development build (linux)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts)**. If you want to build the game yourself, continue reading. +**Please note**: these instructions are for compiling/building the game. If you just want to play Kade Engine, **play in your browser or download a build instead**: **[play in browser](https://funkin.puyo.xyz) ⋅ [latest stable release](https://github.com/KadeDev/Kade-Engine/releases/latest) ⋅ [latest development build (windows)](https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts) ⋅ [latest development build (linux)](https://ci.appveyor.com/project/daniel11420/kade-engine-linux/build/artifacts)**. If you want to build the game yourself, continue reading. **Also note**: you should be familiar with the commandline. If not, read this [quick guide by ninjamuffin](https://ninjamuffin99.newgrounds.com/news/post/1090480). From 1d8f0828daea21ac41bd2b29408fef2b00a70db8 Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:19:37 -0700 Subject: [PATCH 09/15] accuracy toggle and offset removal --- source/KadeEngineData.hx | 3 +++ source/Options.hx | 20 ++++++++++++++++++++ source/OptionsMenu.hx | 9 +++++---- source/PlayState.hx | 14 ++++++++++++-- 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/source/KadeEngineData.hx b/source/KadeEngineData.hx index 8229c19..c29c866 100644 --- a/source/KadeEngineData.hx +++ b/source/KadeEngineData.hx @@ -54,6 +54,9 @@ class KadeEngineData if (FlxG.save.data.frames == null) FlxG.save.data.frames = 10; + if (FlxG.save.data.accuracyMod == null) + FlxG.save.data.accuracyMod = 1; + Conductor.recalculateTimings(); (cast (Lib.current.getChildAt(0), Main)).setFPSCap(FlxG.save.data.fpsCap); diff --git a/source/Options.hx b/source/Options.hx index 85dd530..9b48523 100644 --- a/source/Options.hx +++ b/source/Options.hx @@ -396,6 +396,26 @@ class ReplayOption extends Option } } +class AccuracyDOption extends Option +{ + public function new(desc:String) + { + super(); + description = desc; + } + + public override function press():Bool + { + FlxG.save.data.accuracyMod = cast (!FlxG.save.data.accuracyMod, Int); + return false; + } + + private override function updateDisplay():String + { + return "Accuracy Mode: " + (FlxG.save.data.accuracyMod == 0 ? "Accurate" : "Complex"); + } +} + class CustomizeGameplay extends Option { public function new(desc:String) diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index 600a960..d027e81 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -23,23 +23,24 @@ class OptionsMenu extends MusicBeatState new OptionCatagory("Gameplay", [ new DFJKOption(controls), new Judgement("Customize your Hit Timings (LEFT or RIGHT)"), - #if !html + #if !desktop new FPSCapOption("Cap your FPS (Left for -10, Right for +10. SHIFT to go faster)"), #end new ScrollSpeedOption("Change your scroll speed (Left for -0.1, right for +0.1. If its at 1, it will be chart dependent)"), - new OffsetMenu("Get a note offset based off of your inputs!"), + new AccuracyDOption("Change how accuracy is calculated. (Accurate = Simple, Complex = Milisecond Based)"), + // new OffsetMenu("Get a note offset based off of your inputs!"), new CustomizeGameplay("Drag'n'Drop Gameplay Modules around to your preference") ]), new OptionCatagory("Appearence", [ new SongPositionOption("Show the songs current position (as a bar)"), new DownscrollOption("Change the layout of the strumline."), - #if !html + #if !desktop new RainbowFPSOption("Make the FPS Counter Rainbow (Only works with the FPS Counter toggeled on)"), #end new AccuracyOption("Display accuracy information."), new NPSDisplayOption("Shows your current Notes Per Second.") ]), - #if !mobile + #if !desktop new OptionCatagory("Misc", [ new FPSOption("Toggle the FPS Counter"), diff --git a/source/PlayState.hx b/source/PlayState.hx index aa54b97..a61b55c 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -2176,7 +2176,8 @@ class PlayState extends MusicBeatState var rating:FlxSprite = new FlxSprite(); var score:Float = 350; - totalNotesHit += wife; + if (FlxG.save.data.accuracyMod == 1) + totalNotesHit += wife; var daRating = daNote.rating; @@ -2189,12 +2190,16 @@ class PlayState extends MusicBeatState health -= 0.2; ss = false; shits++; + if (FlxG.save.data.accuracyMod == 0) + totalNotesHit--; case 'bad': daRating = 'bad'; score = 0; health -= 0.06; ss = false; bads++; + if (FlxG.save.data.accuracyMod == 0) + totalNotesHit += 0.25; case 'good': daRating = 'good'; score = 200; @@ -2202,9 +2207,13 @@ class PlayState extends MusicBeatState goods++; if (health < 2) health += 0.04; + if (FlxG.save.data.accuracyMod == 0) + totalNotesHit += 0.50; case 'sick': if (health < 2) health += 0.1; + if (FlxG.save.data.accuracyMod == 0) + totalNotesHit += 1; sicks++; } @@ -2817,7 +2826,8 @@ class PlayState extends MusicBeatState var noteDiff:Float = Math.abs(daNote.strumTime - Conductor.songPosition); var wife:Float = EtternaFunctions.wife3(noteDiff, FlxG.save.data.etternaMode ? 1 : 1.7); - totalNotesHit += wife; + if (FlxG.save.data.accuracyMod == 1) + totalNotesHit += wife; songScore -= 10; From 99cc6a3320720b2db4dc4c4663337a975f3b48ad Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:20:02 -0700 Subject: [PATCH 10/15] version crap --- source/MainMenuState.hx | 2 +- version.downloadMe | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index 0351715..85294aa 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -36,7 +36,7 @@ class MainMenuState extends MusicBeatState var newGaming2:FlxText; var newInput:Bool = true; - public static var nightly:String = "-Nightly2"; + public static var nightly:String = ""; public static var kadeEngineVer:String = "1.4.1" + nightly; public static var gameVer:String = "0.2.7.1"; diff --git a/version.downloadMe b/version.downloadMe index 840ca8c..13175fd 100644 --- a/version.downloadMe +++ b/version.downloadMe @@ -1 +1 @@ -1.4 \ No newline at end of file +1.4.1 \ No newline at end of file From 27d5050ea243c5af53d866d1a7566b07f1f51139 Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:21:45 -0700 Subject: [PATCH 11/15] other way around lol --- source/OptionsMenu.hx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index d027e81..90d698e 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -23,7 +23,7 @@ class OptionsMenu extends MusicBeatState new OptionCatagory("Gameplay", [ new DFJKOption(controls), new Judgement("Customize your Hit Timings (LEFT or RIGHT)"), - #if !desktop + #if desktop new FPSCapOption("Cap your FPS (Left for -10, Right for +10. SHIFT to go faster)"), #end new ScrollSpeedOption("Change your scroll speed (Left for -0.1, right for +0.1. If its at 1, it will be chart dependent)"), @@ -34,13 +34,13 @@ class OptionsMenu extends MusicBeatState new OptionCatagory("Appearence", [ new SongPositionOption("Show the songs current position (as a bar)"), new DownscrollOption("Change the layout of the strumline."), - #if !desktop + #if desktop new RainbowFPSOption("Make the FPS Counter Rainbow (Only works with the FPS Counter toggeled on)"), #end new AccuracyOption("Display accuracy information."), new NPSDisplayOption("Shows your current Notes Per Second.") ]), - #if !desktop + #if desktop new OptionCatagory("Misc", [ new FPSOption("Toggle the FPS Counter"), From f83d71cc93ad06e1ad5e40c8477806a7d0b5a80b Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:23:33 -0700 Subject: [PATCH 12/15] offset stuff --- source/OptionsMenu.hx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index 90d698e..dfab92d 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -153,7 +153,7 @@ class OptionsMenu extends MusicBeatState else if (controls.LEFT_P) FlxG.save.data.offset -= 0.1; - versionShit.text = "Offset (Left, Right, Shift to go faster): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; + versionShit.text = "Offset (Left, Right): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; } } else @@ -164,10 +164,13 @@ class OptionsMenu extends MusicBeatState if (FlxG.keys.pressed.LEFT) FlxG.save.data.offset-= 0.01; - versionShit.text = "Offset (Left, Right, Shift to go faster): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; + versionShit.text = "Offset (Left, Right): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; } + if (controls.RESET) + FlxG.save.data.offset = 0; + if (controls.ACCEPT) { if (isCat) From d7549a1478e10a7cd81f5224d41b86d8f5f90190 Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:29:33 -0700 Subject: [PATCH 13/15] visual fixes --- source/Options.hx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/Options.hx b/source/Options.hx index 9b48523..0ce8df0 100644 --- a/source/Options.hx +++ b/source/Options.hx @@ -406,8 +406,9 @@ class AccuracyDOption extends Option public override function press():Bool { - FlxG.save.data.accuracyMod = cast (!FlxG.save.data.accuracyMod, Int); - return false; + FlxG.save.data.accuracyMod = FlxG.save.data.accuracyMod == 1 ? 0 : 1; + display = updateDisplay(); + return true; } private override function updateDisplay():String From 7d892e41efefcddc893c7b1b1bcb728f222f32d4 Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:29:44 -0700 Subject: [PATCH 14/15] visual fixes x2 --- source/MainMenuState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index 85294aa..c6c5be0 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -60,7 +60,7 @@ class MainMenuState extends MusicBeatState var bg:FlxSprite = new FlxSprite(-80).loadGraphic(Paths.image('menuBG')); bg.scrollFactor.x = 0; - bg.scrollFactor.y = 0.18; + bg.scrollFactor.y = 0.15; bg.setGraphicSize(Std.int(bg.width * 1.1)); bg.updateHitbox(); bg.screenCenter(); From f626edc7ad133286381d7848e1b5e1c2f7cea644 Mon Sep 17 00:00:00 2001 From: KadeDev Date: Fri, 9 Apr 2021 22:51:07 -0700 Subject: [PATCH 15/15] commit --- source/OptionsMenu.hx | 37 +++++++++++++++++++++++-------------- source/PlayState.hx | 6 +++--- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index dfab92d..59f9365 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -143,28 +143,37 @@ class OptionsMenu extends MusicBeatState } else { + if (FlxG.keys.pressed.SHIFT) - if (FlxG.keys.pressed.RIGHT) - FlxG.save.data.offset += 1; - else if (FlxG.keys.pressed.LEFT) - FlxG.save.data.offset -= 1; - else if (controls.RIGHT_P) + { + if (FlxG.keys.justPressed.RIGHT) FlxG.save.data.offset += 0.1; - else if (controls.LEFT_P) + else if (FlxG.keys.justPressed.LEFT) + FlxG.save.data.offset -= 0.1; + } + else if (FlxG.keys.pressed.RIGHT) + FlxG.save.data.offset += 0.1; + else if (FlxG.keys.pressed.LEFT) FlxG.save.data.offset -= 0.1; - versionShit.text = "Offset (Left, Right): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; + versionShit.text = "Offset (Left, Right, Shift for slow): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; } } else { - if (FlxG.keys.pressed.RIGHT) - FlxG.save.data.offset+= 0.01; - - if (FlxG.keys.pressed.LEFT) - FlxG.save.data.offset-= 0.01; + if (FlxG.keys.pressed.SHIFT) + { + if (FlxG.keys.justPressed.RIGHT) + FlxG.save.data.offset += 0.1; + else if (FlxG.keys.justPressed.LEFT) + FlxG.save.data.offset -= 0.1; + } + else if (FlxG.keys.pressed.RIGHT) + FlxG.save.data.offset += 0.1; + else if (FlxG.keys.pressed.LEFT) + FlxG.save.data.offset -= 0.1; - versionShit.text = "Offset (Left, Right): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; + versionShit.text = "Offset (Left, Right, Shift for slow): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; } @@ -222,7 +231,7 @@ class OptionsMenu extends MusicBeatState currentDescription = currentSelectedCat.getOptions()[curSelected].getDescription(); else currentDescription = "Please select a catagory"; - versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset + " - Description - " + currentDescription; + versionShit.text = "Offset (Left, Right, Shift for slow): " + truncateFloat(FlxG.save.data.offset,2) + " - Description - " + currentDescription; // selector.y = (70 * curSelected) + 30; diff --git a/source/PlayState.hx b/source/PlayState.hx index a61b55c..7bd4879 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -2191,7 +2191,7 @@ class PlayState extends MusicBeatState ss = false; shits++; if (FlxG.save.data.accuracyMod == 0) - totalNotesHit--; + totalNotesHit += 0.25; case 'bad': daRating = 'bad'; score = 0; @@ -2199,7 +2199,7 @@ class PlayState extends MusicBeatState ss = false; bads++; if (FlxG.save.data.accuracyMod == 0) - totalNotesHit += 0.25; + totalNotesHit += 0.50; case 'good': daRating = 'good'; score = 200; @@ -2208,7 +2208,7 @@ class PlayState extends MusicBeatState if (health < 2) health += 0.04; if (FlxG.save.data.accuracyMod == 0) - totalNotesHit += 0.50; + totalNotesHit += 0.75; case 'sick': if (health < 2) health += 0.1;