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))
 
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 @@
+
+
+
+ {% 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'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ 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%;
-
-}