Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Creating a Cutscene

Leather128 edited this page Oct 28, 2021 · 1 revision

Creating a Cutscene

Folder Setup

Create a folder named data in your mod's main directory, then create a folder named cutscenes in that folder.

Assets

Videos (only Windows x64 rn, sorry D:)

Create a folder named videos in your mod's main directory, put your video files in here (any format that VLC Media Player can play).

Dialogue

Create a folder named shared in your mod's main directory, then create a folder named cutscenes in that folder.

JSONs

For both types of cutscene, there are templates in the [BASE ASSETS]/data/cutscenes/. You can copy-paste these, and modify them to fit your needs.

Video Cutscene Settings

Video Cutscene Settings

Dialogue Cutscene Settings

When making a dialogue cutscene, there are many settings to choose from, in this section, I show what (most of them) do.

General Dialogue Settings

Settings

dialogueBox is the setting for the file path to the dialogue box spritesheet (PNG and XML)

dialogueBoxSize is the scale of the dialogue box

dialogueBoxFlips is whether the dialogue box whenever it's the right side's turn to talk

dialogueMusic is the path to the music that plays during a cutscene (this path comes from the folders: shared and then music (in shared), so add those into your mod if you plan on adding custom cutscene music).

Section Settings

Each dialogue cutscene has different sections that contain different text, character portraits, etc.

This lists all the settings.

side determines which character is speaking (the one on the left, or right, any other value other than left or right is invalid and may have unexpected glitches / crashes).

showOtherPortrait determines whether or not to show the opposite character portrait to the one that is currently talking (like in Roses, where bf speaks and senpai is still there)

leftPortrait determines all the settings of the character portrait on the left

rightPortrait is the same as leftPortrait but for the right character obviously

has_Hand determines whether a small hand shows up during dialogue

image

(Used in Week 6 Dialogue)

hand_Sprite same settings as leftPortrait and rightPortrait but just is for the small hand instead of a portrait

dialogue determines the style and text of the dialogue

Week 6 Dialogue JSON

(Week 6 Dialogue Styling)

Template Dialogue JSON

(More FNF-Styled Styling)

box_FPS determines the FPS of the current animation the dialogue box is displaying

open_Box determines whether to play the box_Open animation or do nothing

box_Antialiased determines if the dialogue box is antialiased

box_Anim determines the animation name (in XML) that the dialogue box plays when idling

box_Open determines the animation name (in XML) that the dialogue box plays when opening a new section with open_Box set to true

Text Style Settings

This section lists all settings for the dialogue setting in each dialogue section

text determines the actual string text that is displayed (needs \n for line breaks if alphabet is set to true)

sound determines the path of the sound that plays each time a new text character is shown (this path comes from the folders: shared and then sounds (in shared), so add those into your mod if you plan on adding custom cutscene dialogue sounds)

color just sets the color of the text (in hex code)

shadowColor just sets the color of the text shadow (if the text has a shadow) (in hex code)

hasShadow a true or false setting that determines if a text shadow is added to the text

font determines the path to the font that the text uses (with extension, and starting from the fonts folder which you need to add to your mod if you add custom fonts)

size determines the size of the text (unless alphabet is set to true)

box_Offset is an array of two ints ([x,y]) (non-decimal numbers) that is used to offset the text

text_Delay determines the speed at which letters are revealed in the text

shadowOffset is how many pixels the shadow is offset from the regular text

alphabet determines if the text uses the built-in alphabet font for it's text rendering (this disables a lot of things which are: text_Delay, size, hasShadow, shadowColor, color, sound) (although in future, it may not disable this many things, currently it does)

Adding to a song

To add your cutscene into a song, open it up in the charter, open the Song Options tab, and put the name of your cutscene (without .json) here

Cutscene JSON Name