-
Notifications
You must be signed in to change notification settings - Fork 37
Fonts
Every font used in-game is saved in the Fonts
directory. Each font is represented by two files:
- The
.png
file contains each letter's appearance. - The
.yml
file contains each letter's width in pixels
0: 2
1: 2
2: 3
3: 2
4: 5
5: 9
6: 7
7: 2
8: 3
etc, etc...
-
0.png
is the main font -
1.png
is the Mr. Saturn font -
2.png
is the flyover/coffee break font -
3.png
is used in the HP/PP name cards -
4.png
is used at the tops of certain windows (for example, the windows in battle display character names) -
credits.png
is used in the end credits (it doesn't have a.yml
file because it's monospace)
You may notice that there are 32 blank characters at the end of each font (excluding the credits font). This is because CoilSnake has expanded the fonts for you; you now have access to 32 more characters than EarthBound originally supported in each font. This feature should prove invaluable to you if you are writing the text of your hack in a language with more letters than in the English alphabet.
Since CoilSnake doesn't know what kind of letters or symbols you're going to be using these new characters for, you'll have to use them in CCScript and CoilSnake by specifying their hexidecimal values. The new characters go from 0xB0
to 0xCF
. To use these special values in your text, simply put them between brackets like a control code.
For example, let's say you want your new game's main character to be composed of the first five of the 32 extra letters. In dont_care_names.yml
, you would specify his default name like this:
0:
Name 1: [B0][B1][B2][B3][B4]
Name 2: Alec
Name 3: Roger
Name 4: Will
Name 5: Brian
Name 6: Tyler
Name 7: Lane
In CCScript, you could write his name out like this:
test_npc:
"@Oh, hello [B0][B1][B2][B3][B4]!" end
When printing text, EarthBound does not naturally put a space between letters, instead this space is part of each letter itself. So if you want a custom character to display right when printed out without getting smushed against other letters, make the width 1 pixel more than the character is actually wide. So if your new character is 6 pixels wide, you would put 7
into widths.yml.
By default, the only way for custom characters to be used is in the Don't Care names and in ccscript. If you want players to be able to choose these characters themselves when naming the party or the player, you can use the Extended Naming Screen Character Table created by PhoenixBound & ShadowOne333 to modify the naming keyboard.
- 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