diff --git a/Modding.md b/Modding.md deleted file mode 100644 index 4b52fd8..0000000 --- a/Modding.md +++ /dev/null @@ -1,13 +0,0 @@ -# RIGHT NOW THE MODS FOLDER DOES NOT WORK ENTIRELY JUST YET!!! -## THIS IS WORK IN PROGRESS!!! - -# QUICK AND DIRTY MOD GUIDE - -With the 0.2.6 update, I added a bit of a slightly nicer mod support backend. - -It's POLYMOD, which is made by Lars Doucet: https://github.com/larsiusprime/polymod - -You may have noticed that there's a new folder in the assets. MODS. Within it you will see 2 files. modList.txt, and a folder called introMod. -modList.txt will load any folder into the game. Put the folder you want to load into a new line in modList.txt, and reboot the game. - -Now you may be wondering, what do I put in the folder? Well later down it'll get a bit more complicated, especially as I'll make the IN-GAME mod loader nicer. \ No newline at end of file diff --git a/README.md b/README.md index 9782894..2c9cf17 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,13 @@ Links: **[itch.io page](https://ninja-muffin24.itch.io/funkin) ⋅ [Newgrounds]( ## Kade Engine **Kade Engine** is a mod for Friday Night Funkin', including a full engine rework, replays, and more. -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 (macOS)](https://ci.appveyor.com/project/KadeDev/kade-engine-macos/build/artifacts)** ⋅ **[latest development build (linux)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts)** +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 (macOS)](https://ci.appveyor.com/project/KadeDev/kade-engine-macos/build/artifacts) ⋅ [latest development build (linux)](https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts)** **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. +## Documentation +Documentation for Kade Engine is available [here](https://KadeDev.github.io/Kade-Engine/). + # Screenshots ([skip](#features)) ![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) diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 3d0ec4d..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -funkin.me \ No newline at end of file diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..ecfe66a --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,7 @@ +theme: jekyll-theme-minimal +title: "Kade Engine" +description: "Kade Engine is a mod for Friday Night Funkin', including a full engine rework, replays, and more." +show_downloads: true +replace_index_with: "https://cors-thing.puyo.workers.dev/master/" +logo: "https://github.com/KadeDev/Kade-Engine/raw/master/KadeEngineLogo.png" +url: "https://KadeDev.github.io/Kade-Engine/" diff --git a/docs/_includes/header.html b/docs/_includes/header.html new file mode 100644 index 0000000..b5765cd --- /dev/null +++ b/docs/_includes/header.html @@ -0,0 +1,34 @@ + +
+

+ Changelogs + Building + Modcharts + Guides +
  +


+

+
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 0000000..d46a7c9 --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,93 @@ + + + + + + + {{page.title}} - Kade Engine + +{% seo %} + + + + +
+
+

{{ site.title | default: site.github.repository_name }}

+ + {% if site.logo %} + Logo + {% endif %} + +

{{ site.description | default: site.github.project_tagline }}

+ + {% if site.github.is_project_page %} +

View the Project on GitHub {{ site.github.repository_nwo }}

+ {% endif %} + + {% if site.github.is_user_page %} +

View My GitHub Profile

+ {% endif %} + + {% if site.show_downloads %} +

+ Source code +

+

+

+ Binaries
+ Download the Latest release
+ Download a Windows development build
+ Download a Linux development build
+ Play in your Web Browser +

+ {% endif %} +
+
+ {% include header.html %} + {% if page.url == "/" %} + + {% else %} + {{ content }} + {% endif %} + +
+ +
+ + {% if page.url == "/" %} + + + {% endif %} + {% if site.google_analytics %} + + {% endif %} + + diff --git a/BUILDING.md b/docs/building.md similarity index 95% rename from BUILDING.md rename to docs/building.md index 554e3d1..f21c961 100644 --- a/BUILDING.md +++ b/docs/building.md @@ -28,6 +28,7 @@ - `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 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 @@ -57,10 +58,11 @@ Since you already installed `git` in a previous step, we'll use it to clone the 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. +- 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. +- Only the `bin` folder is necessary to run the game. The other ones in `export/` are not. diff --git a/CHANGELOG.md b/docs/changelogs/changelog-pre.md similarity index 98% rename from CHANGELOG.md rename to docs/changelogs/changelog-pre.md index 859ccc3..83b611c 100644 --- a/CHANGELOG.md +++ b/docs/changelogs/changelog-pre.md @@ -1,5 +1,5 @@ -# Changelog -All notable changes will be documented in this file. +# Changelog for 1.4.2 and before +Changelogs from before the current changelog system existed. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). diff --git a/docs/changelogs/changelog-template.md b/docs/changelogs/changelog-template.md new file mode 100644 index 0000000..d819fd9 --- /dev/null +++ b/docs/changelogs/changelog-template.md @@ -0,0 +1,20 @@ +# Latest changelog/Changelog for 1.0.0 + +### Additions +- New thing without issue +- [#1](https://github.com/KadeDev/Kade-Engine/issues/1): New thing with issue +- [#1](https://github.com/KadeDev/Kade-Engine/issues/1) ([PR #1](https://github.com/KadeDev/Kade-Engine/pulls/1)): New thing with issue and pull request + +### Changes +- Use same templates as additions +- Changes also includes stuff getting removed (as that happens less often so include it with changes) + +### Bugfixes +- Use same templates as additions +- This is for when bugs get fixed. This should, like, always have an issue link, always + +## Links +[GitHub Release](https://github.com/KadeDev/Kade-Engine/releases/tag/1.4.2) · [Last Windows CI build]() · [Last macOS CI build]() · [Last Linux CI build]() + +// Only include links section after it is no longer "latest changelog" +// "Last x CI build" links should link to a specific build, the last one for the version diff --git a/docs/changelogs/index.md b/docs/changelogs/index.md new file mode 100644 index 0000000..30d502f --- /dev/null +++ b/docs/changelogs/index.md @@ -0,0 +1,4 @@ +# Changelogs + +- [Latest](latest) (Contains changes that are not in a release yet) +- [1.4.2 and before](changelog-pre) diff --git a/docs/changelogs/latest.md b/docs/changelogs/latest.md new file mode 100644 index 0000000..e53039d --- /dev/null +++ b/docs/changelogs/latest.md @@ -0,0 +1,35 @@ +# Latest changelog + +### Additions +- [PR #307](https://github.com/KadeDev/Kade-Engine/pulls/307): Fix freeplay lag, add freeplay background changes, and add icons updating in charting state +- Updated to Week 7 input with anti mash +- Added toggle for ghost tapping +- [PR #328](https://github.com/KadeDev/Kade-Engine/pulls/328) and [PR #331](https://github.com/KadeDev/Kade-Engine/pulls/331): Distractions toggle +- [PR #341](https://github.com/KadeDev/Kade-Engine/pull/341): Update heads in realtime in charting state +- [PR #362](https://github.com/KadeDev/Kade-Engine/pull/362): Officially support macOS (and add macOS requirements to docs) +- Set up macOS CI builds +- [PR #373](https://github.com/KadeDev/Kade-Engine/pull/373): Add tweens to modcharts +- [PR #367](https://github.com/KadeDev/Kade-Engine/pull/367): Add labels to charting state +- [PR #374](https://github.com/KadeDev/Kade-Engine/pull/374): Add more icon sizes +- [PR #385](https://github.com/KadeDev/Kade-Engine/pull/385): Autoplay +- [#353](https://github.com/KadeDev/Kade-Engine/issues/353) ([PR #400](https://github.com/KadeDev/Kade-Engine/pulls/400)): Clap assist for syncing charts +- [PR #413](https://github.com/KadeDev/Kade-Engine/pulls/413): Option to disable flashing lights in menus +- [PR #428](https://github.com/KadeDev/Kade-Engine/pulls/428): Move documentation to GitHub Pages + new changelog system +- [PR #431](https://github.com/KadeDev/Kade-Engine/pull/431): Add Max NPS counter + +### Changes +- Tutorial is now a modchart instead of being hardcoded +- [PR #332](https://github.com/KadeDev/Kade-Engine/pull/332): Move the beatbox in Fresh to the vocal track +- [PR #334](https://github.com/KadeDev/Kade-Engine/pull/334) Unhardcode GF Version, stages, and noteskins and make them loaded from chart +- [PR #291](https://github.com/KadeDev/Kade-Engine/pull/291): Make it so you can compile with 4.0.x + +### Bugfixes +- [PR #289](https://github.com/KadeDev/Kade-Engine/pulls/289): Player 2 now plays idle animation properly when camera zooms in +- [PR #314](https://github.com/KadeDev/Kade-Engine/pulls/314): Fix note trails +- [PR #330](https://github.com/KadeDev/Kade-Engine/pull/330): Fix spelling errors in options +- [#329](https://github.com/KadeDev/Kade-Engine/issues/329) ([PR #341](https://github.com/KadeDev/Kade-Engine/pull/341)): Fix crash when changing characters in charting state on web +- [PR #341](https://github.com/KadeDev/Kade-Engine/pull/341): Fix html5 crash (when building), fix layering issues in charting state, fix charting state crashes in html5 +- [PR #376](https://github.com/KadeDev/Kade-Engine/pull/376): Fix must hit sections +- [#368](https://github.com/KadeDev/Kade-Engine/issues/368) ([PR #392](https://github.com/KadeDev/Kade-Engine/pull/392)): Fix enemy idle animations not playing before first note +- [PR #399](https://github.com/KadeDev/Kade-Engine/pulls/399): Fix downscroll typo +- [PR #431](https://github.com/KadeDev/Kade-Engine/pull/431): Fix NPS counter diff --git a/docs/guides/index.md b/docs/guides/index.md new file mode 100644 index 0000000..e9bfe72 --- /dev/null +++ b/docs/guides/index.md @@ -0,0 +1,3 @@ +# Guides + +There aren't any guides yet. But when there are, they'll be listed here. diff --git a/docs/img/skin-funkin-cardbordtoast.jpg b/docs/img/skin-funkin-cardbordtoast.jpg deleted file mode 100644 index dd0e96e..0000000 Binary files a/docs/img/skin-funkin-cardbordtoast.jpg and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 11137c6..0000000 --- a/docs/index.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - Friday Night Funkin' - - - - - - - - - -
-
- - - Friday Night Funkin - -
-

Friday Night Funkin' - Rhythm game extraordinaire

- - -
-
- -
-
- - -
-

Friday Night Funkin' is a dope ass rhythm game.

-

It is made by ninjamuffin99 (programmer), PhantomArcade (animator), evilsk8r (artist), - and Kawaisprite (musician) originally for Ludum Dare 47.

-
- - - - - -
- - \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3fa1626 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +# Readme + +Index is automatically replaced with README by the layout. So, this file does nothing. diff --git a/ModCharts.md b/docs/modchart.md similarity index 87% rename from ModCharts.md rename to docs/modchart.md index 4f9f40e..a8bdfbe 100644 --- a/ModCharts.md +++ b/docs/modchart.md @@ -1,16 +1,12 @@ -# Kade Engine Lua Mod Chart Documentation +# Lua Modcharts In the 1.4.2 release of Kade Engine, we introduced Mod Charts. Mod Charts are a way of changing gameplay without hard coded values. This is achieved by using the Lua Scripting language to create script files that run during runtime. -All files **are located in** `assets/data/song/` +Song data is located in `assets/data//`, so the Lua file containing your scripts should be located at exactly `assets/data//modchart.lua`. (replace with the name of the song. for example, `assets/data/milf/` for milf) -Modchart Lua File should be in `assets/data/song/modchart.lua` **exactly** +If the file doesn't exist, Lua code won't be ran. -Lua code will only be ran if that file exists. - - - -### Examples +## Examples Full Example @@ -22,10 +18,10 @@ end function update (elapsed) -- example https://twitter.com/KadeDeveloper/status/1382178179184422918 local currentBeat = (songPos / 1000)*(bpm/60) - for i=0,7 do - setActorX(_G['defaultStrum'..i..'X'] + 32 * math.sin((currentBeat + i*0.25) * math.pi), i) - setActorY(_G['defaultStrum'..i..'Y'] + 32 * math.cos((currentBeat + i*0.25) * math.pi), i) - end + for i=0,7 do + setActorX(_G['defaultStrum'..i..'X'] + 32 * math.sin((currentBeat + i*0.25) * math.pi), i) + setActorY(_G['defaultStrum'..i..'Y'] + 32 * math.cos((currentBeat + i*0.25) * math.pi), i) + end end function beatHit (beat) @@ -43,9 +39,9 @@ Spinning Receptor Example ```lua function update (elapsed) - for i=0,7 do - setActorAngle(getActorAngle(i) + 15, i) - end + for i=0,7 do + setActorAngle(getActorAngle(i) + 15, i) + end end ``` @@ -68,11 +64,11 @@ function update (elapsed) setActorY(_G['defaultStrum'..i..'Y'] + 32 * math.cos((currentBeat + i*0.25) * math.pi), i) end else - for i=0,7 do - setActorX(_G['defaultStrum'..i..'X'],i) - setActorY(_G['defaultStrum'..i..'Y'],i) - end - end + for i=0,7 do + setActorX(_G['defaultStrum'..i..'X'],i) + setActorY(_G['defaultStrum'..i..'Y'],i) + end + end end ``` @@ -90,23 +86,23 @@ end Looping through all of the rendered notes ```lua - for i = 0, getRenderedNotes() do -- sets all of the rendered notes to 0 0 on the x and y axsis - setRenderedNotePos(0,0,i) - end +for i = 0, getRenderedNotes() do -- sets all of the rendered notes to 0 0 on the x and y axsis + setRenderedNotePos(0,0,i) +end ``` Centering BF's Side ```lua - function setDefault(id) - _G['defaultStrum'..id..'X'] = getActorX(id) - end +function setDefault(id) + _G['defaultStrum'..id..'X'] = getActorX(id) +end - -- put this somewhere in a function +-- put this somewhere in a function - for i = 4, 7 do -- go to the center - tweenPosXAngle(i, _G['defaultStrum'..i..'X'] - 275,getActorAngle(i) + 360, 0.6, 'setDefault') - end +for i = 4, 7 do -- go to the center + tweenPosXAngle(i, _G['defaultStrum'..i..'X'] - 275,getActorAngle(i) + 360, 0.6, 'setDefault') +end ``` @@ -116,10 +112,10 @@ Current calls to functions include, | Name | Arguments | Description | | :-----: | :------------: | :----------------------------------------------------------: | -| start | Song Name | Get's called when the song starts | -| update | Elapsed frames | Get's called every frame (after the song starts) | -| stepHit | Current Step | Get's called when ever a step hits (steps are in between beats, aka 4 steps are in a beat) | -| beatHit | Current Beat | Get's called when ever a beat hits | +| start | Song Name | Gets called when the song starts | +| update | Elapsed frames | Gets called every frame (after the song starts) | +| stepHit | Current Step | Gets called when ever a step hits (steps are in between beats, aka 4 steps are in a beat) | +| beatHit | Current Beat | Gets called when ever a beat hits | @@ -175,13 +171,13 @@ These premade id's are the following: Creates a sprite out of the specified image, returns the id you gave it. -*Note: Sprite Path is normally the FILE NAME so if you have a file name of Image it'll go to assets/data/songName/Image.png so don't include the extension* +*Note: Sprite Path is normally the FILE NAME so if your file is named `Image` it'll go to assets/data/songName/Image.png so don't include the extension* ### Hud/Camera ##### setHudPosition(int x, int y) -Set's the game hud's position in space. +Sets the game hud's position in space. ##### getHudX() diff --git a/docs/styles.css b/docs/styles.css deleted file mode 100644 index 5ee1062..0000000 --- a/docs/styles.css +++ /dev/null @@ -1,97 +0,0 @@ -.coolBox { - background: #1a1a1aCC; - margin: 40px 4vw; - padding: 25px; - font-size: 120%; - border-radius: 10px; -} - -#wrapper -{ - padding: 20px; - margin: auto; -} - -marquee { - margin: auto; - text-align: center; - display: inline-block; -} - -h1 { - text-align: center; -} - -body { - background-image: url('img/skin-funkin-cardbordtoast.jpg'); - background-repeat: no-repeat; - background-attachment: fixed; - background-size: cover; - color:white; - background-color: #000; - font-family: Arial, Helvetica, sans-serif; - -} - -a { color:inherit; - text-decoration: none;} - - -.hovertext a{ - color:white; - text-shadow: 0px 0px #00000077; - transition: color 1s, text-shadow 1s; -} - -.hovertext a:hover -{ - text-shadow: 2px 2px #00000077; - color: #ffb50e; -} - -.linktext { - text-align: center; - display:block; - font-size: 130%; - padding-bottom: 10px; -} - -.linktext a { - font-weight: bold; -} - -.linktext a:hover { - border-radius: 5px; -} - -#itch a:hover -{ - color: #fa5c5c; -} -#twitter a:hover -{ - color: #00acee; -} - - -#coolervidwrapper { - padding-left: min(12em, 75%); - padding-right: min(12em, 75%); - min-width: 30%; -} - -.videoWrapper { - position: relative; - padding-bottom: 56.25%; /* 16:9 */ - height: 0; - - max-block-size: 1400px; -} -.videoWrapper iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - -}