Changes

Jump to navigation Jump to search
Created page with "← Index '''Work in progress.''' This page explains how the files associated with the Movie Theater, what each of them do, and how they are formatted...."
← [[Modding:Index|Index]]

'''Work in progress.'''

This page explains how the files associated with the [[Movie Theater]], what each of them do, and how they are formatted. This is an advanced guide for mod developers.

== Movie data ==
<samp>Data/Movies.xnb</samp> contains the data for all movies, including their names, descriptions, genre tags, scenes, and dialogue and narration spoken within the film. For reference, below is the raw data of "The Brave Little Sapling":

{{collapse|Data|content=<syntaxhighlight lang="json">
{
"spring_movie_0": {
"ID": null,
"SheetIndex": 0,
"Title": "The Brave Little Sapling",
"Description": "An animated family comedy about a little sprout on a magical adventure to become a tree!",
"Tags": [
"family",
"comedy"
],
"Scenes": [
{
"Image": 0,
"Music": "sweet",
"Sound": "",
"MessageDelay": 1000,
"Script": "",
"Text": "The Brave Little Sapling",
"Shake": false,
"ResponsePoint": null,
"ID": "spring0_0"
},
{
"Image": 1,
"Music": "",
"Sound": "",
"MessageDelay": 500,
"Script": "",
"Text": "The brave little sapling is leaving his home. He hesitates for a moment and turns around, knowing he won't be back for a long time...",
"Shake": false,
"ResponsePoint": null,
"ID": "spring0_1"
},
{
"Image": 6,
"Music": "",
"Sound": "",
"MessageDelay": 500,
"Script": "/playSound dustMeep/pause 200/playSound dustMeep/pause 300/playSound dustMeep/pause 100/playSound dustMeep/pause 200/playSound dustMeep",
"Text": "The other saplings of his grove are gathered at the edge of town, excitedly waving their twigs goodbye...!",
"Shake": false,
"ResponsePoint": "sprout_leave",
"ID": "spring0_2"
},
{
"Image": 2,
"Music": "rain",
"Sound": "",
"MessageDelay": 500,
"Script": "",
"Text": "Oh no! Out of nowhere, it starts raining...! The little sapling goes into a sprint as thunderclouds loom overhead...",
"Shake": false,
"ResponsePoint": "",
"ID": "spring0_3"
},
{
"Image": 3,
"Music": "",
"Sound": "thunder",
"MessageDelay": 1000,
"Script": "",
"Text": "Fearing for his life, and demoralized by the relentless downpour, the brave little sapling begins to lose hope...",
"Shake": false,
"ResponsePoint": "",
"ID": "spring0_4"
},
{
"Image": 4,
"Music": "echos",
"Sound": "",
"MessageDelay": 500,
"Script": "",
"Text": "...But what's this...? The sapling feels a tingling on the top of his head... ",
"Shake": false,
"ResponsePoint": null,
"ID": "spring0_5"
},
{
"Image": 5,
"Music": "",
"Sound": "",
"MessageDelay": 500,
"Script": "/playSound coin/pause 1000/message \"Perhaps a little rain was what it needed to begin its journey into becoming a tree!\"",
"Text": "",
"Shake": false,
"ResponsePoint": "",
"ID": "spring0_6"
},
{
"Image": 7,
"Music": "",
"Sound": "",
"MessageDelay": 2000,
"Script": "",
"Text": "Farewell, little buddy!",
"Shake": false,
"ResponsePoint": null,
"ID": "spring0_7"
}
]
},
...
}
</syntaxhighlight>}}

===Format===
Each movie's specific entry begins with an identifier of the form <samp>{{t|season}}_movie_{{t|number}}</samp>, where {{t|season}} is the season in which it will be screened, and {{t|number}} is either 0 or 1. The movie theater will alternate between screening the #0 movie and #1 movie in the given season each year.

The main block of movie data contains the following:

{| class="wikitable"
|-
! key format
! description
|-
| <samp>ID</samp>
| Always null. Purpose unknown.
|-
| <samp>SheetIndex</samp>
| Determines where the game looks for the movie's scene sprites within <samp>LooseSprites\Movies.xnb</samp>.
|-
| <samp>Title</samp>
| The title of the film.
|-
| <samp>Description</samp>
| The description of the film, seen when interacting with its poster outside of the theater.
|-
| <samp>Tags</samp>
| A list of genres that apply to the movie, used to calculate an NPC's reaction to a movie. Can be any arbitrary string; the ones currently used in the game are: <samp>family</samp>, <samp>comedy</samp>, <samp>horror</samp>, <samp>art</samp>, <samp>action</samp>, <samp>sci-fi</samp>, <samp>classic</samp>, <samp>romance</samp>, and <samp>documentary</samp>.
|-
| <samp>Scenes</samp>
| A list of data blocks for the film's scenes. (See below.)
|}

====Scenes====
The <samp>Scenes</samp> is a list of blocks, each corresponding to a specific scene in the movie. The blocks are listed in chronological order, and the data of each one is as follows:

{| class="wikitable"
|-
! key format
! description
|-
| <samp>Image</samp>
| Which image to show within the sequence of the movie's sprites in <samp>LooseSprites\Movies.xnb</samp>.
|-
| <samp>Music</samp>
| The music track to play during the scene. Can be left blank.
|-
| <samp>Sound</samp>
| The sound effect to play during the scene. Can be left blank.
|-
| <samp>MessageDelay</samp>
| How long to hold the scene before displaying any text.
|-
| <samp>Script</samp>
| Used for special visual/auditory effects. Written in the same format as [[Modding:Event_data#Event_scripts]].
|-
| <samp>Text</samp>
| The dialogue/narration of the scene.
|-
| <samp>Shake</samp>
| A boolean value which, if true, adds screen-shake.
|-
| <samp>ResponsePoint</samp>
| If specified, an NPC's reaction data can reference the scene by this name in order to have a specific, timed reaction to it.
|-
| <samp>ID</samp>
| An ID for the scene in the format of <samp>{{t|season}}{{t|number}}_{{t|index}}</samp>. {{t|season}} and {{t|number}} are identical to those values in the ID of the movie itself. {{t|index}} is, counting from 0, what number scene this is in the movie.
|}

== Movie reactions ==

== Concession data ==

== Concession reactions ==
118

edits

Navigation menu