-
Notifications
You must be signed in to change notification settings - Fork 56
Creating a Cutscene
Create a folder named data in your mod's main directory, then create a folder named cutscenes in that folder.
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).
Create a folder named shared in your mod's main directory, then create a folder named cutscenes in that folder.
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.

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

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

(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 Styling)

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