-
Notifications
You must be signed in to change notification settings - Fork 37
Tutorial: Cast Credits
The Cast sequence text is stored into the ROM as a compressed graphic, located in the data bank 21DA35-21E6E6. Thankfully though, thanks to recent features in CoilSnake 4.0, you can now easily edit the Cast sequence without having to deal with all the compressed graphics stuff!
Although, there's one part of the Cast sequence that is nor encapsulated as a compressed graphic, and that is the text for Paula's mom, Paula's dad and Poo's master.
These are taken into account in the dynamic_names.yml
, so how do we translate the remaining three names in the Cast credits for Paula's mom, Paula's dad and Poo's master?
Well, let's start!
The Dynamic Names (as they were labelled) are the three particular instances in the Cast Credits where the names themselves are not taken from a compressed graphic, but rather as direct text from the game's data.
The three names that depend on this are Paula's mom
, Paula's dad
and Poo's master
.
Thanks to some ASM trickery, we are able to format these three names in whatever order we want.
To begin with, first we need to figure out if the language you are translating the game to uses the name first for genitive forms. For example, English does the following:
- "Paula's mom"
While other languages, like Spanish, have the Paula name AFTER:
- "Mamá de Paula"
To edit these three, we need to focus our attention to the dynamic_names.yml
file inside the Cast
folder.
Once opened, you will notice the three previously mentioned entries with two settings.
Entry:
mode: none/suffix/prefix
text: Your text
Let's explain each one:
- Entry: Simple as that, this specifies which text will be replaced. This should NOT be modified
- mode:
none
,suffix
orprefix
. This setting establishes whether or not the text will use Paula or Poo's name in it (none
), or if the name of the character will appear first or after your custom text. - text: Self explanatory. Your own text goes here.
The original game has the following:
Paula's dad:
mode: suffix
text: '''s dad'
Paula's mom:
mode: suffix
text: '''s mom'
Poo's master:
mode: suffix
text: '''s Master'
As you can see, it doesn't include neither Paula's nor Poo's name in there. That's because those names are taken from the game's RAM, and only the 's dad
and the rest are taken as plain text.
So, to make full us of the mode
setting, let's explain what each option for it does, alongside a clear example using Paula's dad
as the base for each mode:
-
suffix
: Using thesuffix
setting will make it so that Paula/Poo's name appears first, or in other words, before your text. So it will appear in game like "Paula (your text)" or "Poo (your text)". The original game uses this for all three, so that it can print "Paula" and "Poo" first, and then the's dad
after. Original EarthBound prints the text with Paula's dad with Paula's name being printed first as asuffix
, and then the rest of the text:
Paula's dad:
mode: suffix
text: ''s dad'
-
prefix
: Using theprefix
setting will make it so that Paula/Poo's name appears last, or in other words, after your text. In-game it will appear like "(Your text) Paula" or "(Your text) Poo". This is useful for certain languages that tend to place certain things last in a sentence. In Spanish, the genitive form requires the name to go last in the sentence. In this case, theprefix
form will be of great help:
Paula's dad:
mode: prefix
text: 'Pap[B0] de '
(Don't forget to leave a space so that Paula's name doesn't start immediately after the last letter you write)
-
none
: This will make it so that neither Paula's/Poo's name appears on the text when the Cast appears, meaning only the text you write intext
will show up, nothing else. Let's say you don't want to include Paula's name anywhere in there, or you want to give her dad a proper name, then you use thenone
setting:
Paula's dad:
mode: none
text: Paul Jones
The Miscellaneous and Main Name graphics for the Cast sequence can be found inside the MiscGraphic.png
and NameGraphic.png
images inside the Cast
folder.
For the Miscellaneous grapgics image, you will find the CAST
text, the CAST text underline and also the special mr. saturn
letters with the Saturn font. These two are the only special graphics that are used for the Cast sequence, everything else uses the main NameGraphic.png
.
Both Misc and Name graphic images have the names as sprite text, and these are segmented into 16x16 tiles as shown below:
The size of each tile is really important, as this is what will give us the correct value to input once we are modifying the graphic entries YML. It's recommended to use a software like "Graphics Gale", choosing it's 16x16 tile grid viewer to visualize this easily.
As long as you keep this in mind, you can edit the .png images at will. Add whatever text you want to, and you can expand or shorten the original images in horizontal size as you wish as well. Just make sure that you have a good way to see the 16x16 tiles and where each name starts (at which tile too). Also, keep in mind that at the moment you can't add new entries to the Cast sequence, at least not that we know of (yet).
With all that in mind, we can jump to the important part:
Now that you know how to modify the Dynamic names, and you also know how to add your custom names to the .png images, it's time to learn how to add them so they display in-game properly.
Inside the graphics_entries.yml
, we have all of the Cast entries in the following format:
number:
begin: #
misc: false/true
size: #
Let's explain what each one does:
-
number:
Numbered entry of the Cast text, following theNameGraphics.png
image order from left to right. -
begin:
Numerical value. Determines the tile in which the sprite/text for the corresponding entry will begin. The very first 16x16 tile numbering begins with 0. -
misc:
false
ortrue
. This setting determines whether the image used will be the one from the NameGraphics.png (false) or the MiscGraphics.png (true). -
size:
Numerical value. Determines the size in 16x16 tiles of the current entry.
We'll take the previously posted image as a reference for the example:
Using Graphics Gale 16x16 grid options, we can visualize exactly how many tiles in space each entry takes. In this image, we have the "CAST" and its underline taking two 16x16 tiles each, while the name "Picky Minch" takes exactly four 16x16 tiles.
For "Picky Minch", we know that:
- "Picky Minch" is Entry #0, since it's the first name in the NameGraphics.png image.
- Begins at the starting tile of the image, which is tile #0
- Located inside the NameGraphics.png (false)
- Takes four 16x16 tiles wide inside NameGraphics.png
With that, we can easily changed its entry inside the YML file:
0:
begin: 0
misc: false
size: 4
With that, we just setup Picky Minch's name in our game properly!
Just take into consideration that, for the next numbered entry, the "begin" value will be the sum of begin+size
of the current one. For example, for Lardna Minch, her entry will use a begin
value of 4, since Picky Minch's size was 4 tiles. Next entry's beginning will depend on the size of its previous entry, and so on.
Now for the Cast image, which uses MiscGraphics.png, the setup is fairly similar to the previous once, except for the miscellaneous graphics, those are limited to entries 44 (CAST), 45 (____) and 46 (mr. saturn). For the word CAST, we know it's begins in the starting tile of the image, takes two 16x16 tiles of space, and it's inside the MiscGraphics.png image, so it's entry will be:
44:
begin: 0
misc: true
size: 2
The key setting here is changing the misc
flag from false
to true
, so CoilSnake knows to use the MiscGraphics instead of the NameGraphics for this entry.
Are you using CoilSnake 3.33 or below? See this page: Cast Credits (3.X)
- Overworld Sprites
- Battle Backgrounds
- Battle Sprites
- Title Screen
- Window Graphics
- Logos
- Fonts
- Animations
- Swirls
- EB Project Editor
- Tile Data
- Tile Editor
- Collision Data
- Adding Map Palettes
- Map Editor
- Doors
- Warp Styles
- Enemy Placement
- Hotspots