yeahhhh merge pr #428

This commit is contained in:
daniel11420 2021-05-12 09:42:26 +02:00
commit a4a55c54ab
17 changed files with 241 additions and 212 deletions

View File

@ -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.

View File

@ -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)

View File

@ -1 +0,0 @@
funkin.me

7
docs/_config.yml Normal file
View File

@ -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/"

View File

@ -0,0 +1,34 @@
<style>
.headerlink {
background-color: #555;
color: white;
float: none;
border: none;
border-style: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
font-size: 17px;
}
.headerlink:hover {
background-color: #777;
color: white;
}
hr {
height: 2px !important;
color: #555 !important;
background-color: #555 !important;
}
</style>
<center>
<p id="HtmlIsTheWorstThingIHaveEverUsed">
<a class="headerlink" href="{{site.url}}changelogs/">Changelogs</a>
<a class="headerlink" href="{{site.url}}building">Building</a>
<a class="headerlink" href="{{site.url}}modchart">Modcharts</a>
<a class="headerlink" href="{{site.url}}guides">Guides</a>
<br>&nbsp;
<hr>
</p>
</center>

View File

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{page.title}} - Kade Engine</title>
{% seo %}
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="{{ site.url }}">{{ site.title | default: site.github.repository_name }}</a></h1>
{% if site.logo %}
<img src="{{site.logo | relative_url}}" alt="Logo" />
{% endif %}
<p>{{ site.description | default: site.github.project_tagline }}</p>
{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}
{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}
{% if site.show_downloads %}
<p>
<small>Source code</small>
<ul class="downloads">
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
</ul>
</p>
<p>
<small>Binaries</small><br>
<a href="https://github.com/KadeDev/Kade-Engine/releases/latest">Download the <b>Latest release</b></a><br>
<a href="https://ci.appveyor.com/project/KadeDev/kade-engine-windows/build/artifacts">Download a <b>Windows</b> development build</a><br>
<a href="https://ci.appveyor.com/project/KadeDev/kade-engine-linux/build/artifacts">Download a <b>Linux</b> development build</a><br>
<a href="https://funkin.puyo.xyz/nightly/">Play in your <b>Web Browser</b></a>
</p>
{% endif %}
</header>
<section id="content">
{% include header.html %}
{% if page.url == "/" %}
<!-- yay i'm NOT stupid -->
{% else %}
{{ content }}
{% endif %}
</section>
<footer>
{% if site.github.is_project_page %}
<p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p>
{% endif %}
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
{% if page.url == "/" %}
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script>
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
xmlHttp.send( null );
return xmlHttp.responseText;
}
document.getElementById('content').innerHTML = document.getElementById('content').innerHTML + marked(httpGet("{{ site.replace_index_with }}"));
</script>
{% endif %}
{% if site.google_analytics %}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>

View File

@ -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 <target>`, replacing `<target>` with the platform you want to build to (`windows`, `linux`, `html5`) (i.e. `lime build windows`)
- The build will be in `Kade-Engine/export/<target>/bin`, with `<target>` 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/<target>` are not.
- Only the `bin` folder is necessary to run the game. The other ones in `export/<target>` are not.

View File

@ -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).

View File

@ -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

4
docs/changelogs/index.md Normal file
View File

@ -0,0 +1,4 @@
# Changelogs
- [Latest](latest) (Contains changes that are not in a release yet)
- [1.4.2 and before](changelog-pre)

35
docs/changelogs/latest.md Normal file
View File

@ -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

3
docs/guides/index.md Normal file
View File

@ -0,0 +1,3 @@
# Guides
There aren't any guides yet. But when there are, they'll be listed here.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 KiB

View File

@ -1,60 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<!--
@brandybuizel
@ninja_muffin2.4
-->
<!--Let's get meta bois-->
<head>
<meta charset="utf-8">
<title>Friday Night Funkin'</title>
<meta name="description" content="A dope ass rhythm game">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="styles.css" rel="stylesheet" type="text/css">
<!-- <link href="website/mm.ico" rel="icon" type="image/x-icon"> -->
<link rel="shortcut icon" type="image/png" href="../art/icon.png" />
</head>
<body>
<!--Header-->
<header>
</header>
<marquee width="1920" scrollamount="2" scrolldelay="10" truespeed="truespeed">Friday Night Funkin</marquee>
<!--Hot tortilla wrap-->
<div id="wrapper">
<h1>Friday Night Funkin' - Rhythm game extraordinaire</h1>
<div id="coolervidwrapper">
<div class='videoWrapper'>
<iframe width="560" height="349" src="https://www.youtube.com/embed/HMNKUo3CCpU" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</div>
</div>
<div class="coolBox hovertext" id="twitter">
<p class="description">Friday Night Funkin' is a dope ass rhythm game.</p>
<p class='description'>It is made by <a href="https://twitter.com/ninja_muffin99">ninjamuffin99 (programmer)</a>, <a
href="https://twitter.com/PhantomArcade3K">PhantomArcade (animator)</a>, <a
href="https://twitter.com/evilsk8r">evilsk8r (artist)</a>,
and <a href="https://twitter.com/kawaisprite">Kawaisprite (musician)</a> originally for Ludum Dare 47.</p>
</div>
<div class="linktext hovertext" id="ng">
<a href="https://www.newgrounds.com/portal/view/770371">Play demo on Newgrounds</a>
</div>
<div class='linktext hovertext' id="itch">
<a href="https://ninja-muffin24.itch.io/funkin">Support the game on Itch.io</a>
</div>
</div>
</body>
</html>

3
docs/index.md Normal file
View File

@ -0,0 +1,3 @@
# Readme
Index is automatically replaced with README by the layout. So, this file does nothing.

View File

@ -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/<song>/`, so the Lua file containing your scripts should be located at exactly `assets/data/<song>/modchart.lua`. (replace <song> 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()

View File

@ -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%;
}