Skip to content

Commit

Permalink
chart my friend
Browse files Browse the repository at this point in the history
  • Loading branch information
iamteles committed Oct 2, 2024
1 parent b6519f4 commit 1dcd828
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 0 deletions.
37 changes: 37 additions & 0 deletions docs/basics/events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
label: Events
description: "FNF: Doido Engine Documentation"
order: -2
---

# Events

![](https://doidoteam.github.io/img/events.png){width=800}

FNF: Doido Engine's Event JSONs work in a similar way to Psych Engine's, but there are a few differences. Here's a small guide of them.

### Note on JSONs

On FNF: Doido Engine, Events have their own JSON file, and thus will not be saved on the main chart JSON.

## Values

Each event can have up to 3 values, which are detailed on a case by case basis. The number stepper chooses which slot you are currently on and you can see a list of the events on each slot from the icons to the right of the Event Note.

You can also use the `Clear this Slot` and `Clear all Slots` buttons to clear the values and selected events of a single or every slot.

## Adding Custom Events

![](https://doidoteam.github.io/img/possibleevents.png){width=800}

To create custom events, you simply need to add the Event to the `onEventHit()` function in PlayState. Then, to use these events, you will also need to add them to the `possibleEvents` array in the ChartingState class.

### Event Icon

While an icon isn't required for an event, it helps you with knowing which events are on different slots. To add a custom icon, simply add the icon to `images/notes/events/`.

^NOTE: Icons are named in lowercase with underscores `_` replacing spaces.^

### Preloading Events

Some events might need preloading. To do this, add your preloading code to the `preloadEvents()` function in PlayState and it will be run for every event of the type in the `create()` function.
71 changes: 71 additions & 0 deletions docs/editors/chart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
label: Chart Editor
description: "FNF: Doido Engine Documentation"
---

# Chart Editor

![](https://doidoteam.github.io/img/chart.png){width=800}

FNF: Doido Engine also features an improved Chart Editor. Most of its features are the same as the legacy 0.2.7 charter so we wont get into as much detail, but there are still a couple of features to note.

## The Grid

![](https://doidoteam.github.io/img/grid.png){width=400}

The grid is the main part of the Chart Edior and where you place notes. Nothing much has changed but there are a set of things that are different.

### Controls

- `Left Mouse Click` on a note that's placed to select the note. You can then change its length and type!
- `Right Mouse Click` on a note to delete it.
- `Scroll Wheel`, `W` or `S` to move the grid bar
- Hold `SHIFT` to move the grid bar faster
- `A`, `D` or `Scroll Wheel` (WHILE HOLDING `CTRL`) to move between sections
- `R` to reload the current section
- `Left` and `Right` arrows to change grid snapping
- `Z` and `X` to change grid zoom
- `SHIFT` + `R` to return to the start of the song
- `SPACE` to play/pause the song
- `ESC` to test chart
- `ENTER` to play chart

## Editor Settings

Here's what a handfull of buttons in the Chart Editor do!

### Song

- `Mute Inst` and `Voices` mute the Instrumental and Vocal tracks
- `BF` and `Dad Hitsounds` enable hitsounds whenever notes are hit by the Player or the Opponent
- `Old Timer` changes the timer style. If enabled the current time will be displayed in seconds, as opposed to minutes
- `Clear Events`, `Notes` and `Song` clear the notes in the desired track. `Clear Song` will clear both the Events and Notes.
- `Controls` displays a list of available controls

### Section

- `Copy last` and `Clear Section` copy or clear the desired sections
- The `Notes?` and `Events?` decide wether the notes or the events are the ones to get copied, cleared, etc...
- `Swap Section` switches the notes between the Player and the Opponent
- `Duet Section` copies the notes from the Player to the Opponent and vice-versa
- `Invert Dad` and `BF Side` swap the notes for each side (Ex. `Left` will become `Right`, `Up` will become `Down`, etc...)

### Note

- `Note Length` changes the length of the sustain of the selected note. (Also `Q` and `E`)
- `Note Type` opens the Chooser for the Note Type
- `Convert Note Types` lets you mass change the note types of the current section. The dropdown is able to select between `Dad Notes` and `BF Notes`.

## Events

For events, please check its own page!

[!ref](/basics/events/)

## AutoSaving

![](https://doidoteam.github.io/img/autosave.png){width=800}

If you ever crash or exit the game without saving your chart, you can load it by using the "AutoSaved Charts Station". By opening this SubState from the Chart Editor, you will be able to load one of 5 previously edited charts. THe game auto saves every 5 minutes, as well as every time you press play or clear a chart!


0 comments on commit 1dcd828

Please sign in to comment.