Text Format

From CloudModding MM Wiki
Jump to: navigation, search

This page contains information useful for editing text spoken by NPCs, signs, etc. The Japanese version uses Shift JIS encoding.

Overview

Text that appears in textboxes is stored within message_data_static files.

Region Language Textbank Files VRom
(E) Debug English nes_message_data_static 00AB0000
German ger_message_data_static 00B1A000
French fra_message_data_static 00B8F000
Spanish esp_message_data_static 00C01000
(U) 1.0 English nes_message_data_static 00AD1000
(J) 1.0 Japanese jpn_message_data_static 00AF9000
(J) 1.1 Japanese jpn_message_data_static 00AF9000
(U) GCN English nes_message_data_static 00AE0000
(J) GCN Japanese jpn_message_data_static 00ADF000
(E) GCN English nes_message_data_static 00AB4000
German ger_message_data_static 00B1E000
French fra_message_data_static 00B93000
Spanish esp_message_data_static 00C05000

Since the English and Japanese versions of Majora's Mask are separate (unlike Ocarina of Time), there is only ever one font in any version. It's generally referred to (by us) as nes_font_static.

Note that credits text have their own message data and message pointers, but they have yet to be listed here.

Message Entry Table

The message entry table breaks down the message_data_static files into dialogs.

Version File Offset VRom
(E) Debug 0045 [English] 0 00C71000
0046 [German] 0 00C7A000
0047 [French] 0 00C83000
0048 [Spanish] 0 00C8C000
(U) 1.0 code 1210D8 00C5D0D8
(J) 1.0 code 11A398 00C79398
(J) 1.1 code ? 00C79668
(E) 1.0 ? ? ?
(E) 1.1 ? ? ?
(U) Kiosk code ? ?
(U) GCN code ? 00C6A648
(J) GCN code ? 00C64668
(E) GCN 0045 [English] 0 00C75000
0046 [German] 0 00C7E000
0047 [French] 0 00C87000
0048 [Spanish] 0 00C90000

The American and Japanese releases use the following format:

xxxx 0000 08 yyyyyy
xxxx = Message number
yyyyyy = Offset of message relative to message_data_static

Notebook Messages List

Notebook Message List
Version In File Offset VROM Address
JP 1.0 Code 0x12458C 0xC8358C
JP 1.1  ???  ???  ???
US Code 0x12B9AC 0xC679AC
EU 1.0  ???  ???  ???
EU 1.1  ???  ???  ???
Debug Code 0x15BEF0 0xDF0EF0

Certain messages of type 6 (see below) are rendered differently if they're messages inside the notebook. How the game decides this alternate rendering appears to be with a list in the code file (see table, right). This list is simply a series of 16-bit text ID numbers, ending with null bytes. Every notebook message box appears to be listed, and all listed IDs are for notebook messages (at least in debug).

The list is sorted into two groups: first the "character bios", and then message boxes for specific deeds you accomplish, with no separator between the two groups. It's currently unknown if type 6 is required for the listed message boxes.

Message Header

The header of a message specifies where the text will be displayed, what text box to use and what icon to display. Its format is:

0x yy zz pppp qqqq FFFF FFFF

(The Japanese version seems to use a 12-byte header, instead of 11-byte, seemingly consisting of an extra 0xFF character).

Where:
x = Text box type
y = Text box y position
z = Icon to display
p = Message number to jump to when current message finishes
q = Number of rupees an item costs

Text box types

0 = Standard text box
1 = Signpost (wooden) background
2 = Blue text box, faint
3 = Ocarina input
4 = None
5 = None, uses black as standard font color
6 = Standard text box
7 = None
8 = Blue text box
9 = Red text box
A = None
B = None, text appears at the top of the screen
C = None
D = Notebook background, uses black as standard font color
E = None
F = Red text box

Y position values

Yet to be determined, most values do not affect its position.

Icon values

00 = Nothing
01 = Green rupee
02 = Blue rupee
03 = White rupee
04 = Red rupee
05 = Purple rupee
06 = White rupee
07 = Orange rupee
08 = Wallet 1
09 = Wallet 2
0A = Heart
0B = Heart
0C = Heart piece
0D = Heart container
0E = Magic jar (small)
0F = Magic jar (large)
10 = Heart
11 = Stray Fairy
12 = Heart
13 = Heart
14 = Bombs
15 = Bombs
16 = Bombs
17 = Bombs
18 = Bombs
19 = Deku stick
1A = Bombchu
1B = Bomb bag
1C = Big bomb bag
1D = Bigger bomb bag
1E = Hero's bow
1F = Hero's bow
20 = Hero's bow
21 = Hero's bow
22 = Quiver
23 = Quiver (silver)
24 = Quiver (gold)
25 = Fire arrow
26 = Ice arrow
27 = Light arrow
28 = Deku nut
29 = Deku nut
2A = Deku nut
2B = Nothing
2C = Nothing
2D = Nothing
2E = Nothing
2F = Nothing
30 = Nothing
31 = Nothing
32 = Hero's shield
33 = Mirror shield
34 = Powder keg
35 = Magic beans
36 = Pictograph box
37 = Kokiri sword
38 = Razor sword
39 = Gilded sword
3A = Fierce Deity's sword
3B = Great Fairy's sword
3C = Small key
3D = Boss key
3E = Dungeon map
3F = Compass
40 = Powder keg
41 = Hookshot
42 = Lens of Truth
43 = Pictograph box
44 = Fishing rod
45 = Nothing
46 = Nothing
47 = Nothing
48 = Nothing
49 = Nothing
4A = Nothing
4B = Nothing
4C = Ocarina of Time
4D = Nothing
4E = Nothing
4F = Nothing
50 = Notebook
51 = Nothing
52 = Golden Skulltula
53 = Nothing
54 = Nothing
55 = Odolwa mask
56 = Goht mask
57 = Gyorg mask
58 = Twinmold mask
59 = Red potion
5A = Empty bottle
5B = Red potion
5C = Green potion
5D = Blue potion
5E = Fairy in a bottle
5F = Deku princess in a bottle
60 = Milk
61 = Milk (half full)
62 = Fish in a bottle
63 = Bug in a bottle
64 = Blue fire in a bottle
65 = Poe in a bottle
66 = Big Poe in a bottle
67 = Spring water
68 = Hot spring water
69 = Zora egg in a bottle
6A = Gold dust in a bottle
6B = Mushroom in a bottle
6C = Nothing
6D = Nothing
6E = Seahorse in a bottle
6F = Chateau Romani
70 = Eel in a bottle
71 = Nothing
72 = Nothing
73 = Nothing
74 = Nothing
75 = Nothing
76 = Nothing
77 = Nothing
78 = Deku mask
79 = Goron mask
7A = Zora mask
7B = Fierce Deity mask
7C = Mask of truth
7D = Kafei's mask
7E = All-night mask
7F = Bunny hood
80 = Keaton mask
81 = Garo mask
82 = Romani mask
83 = Circus leader's mask
84 = Postman's hat
85 = Couple's mask
86 = Great Fairy's mask
87 = Gibdo mask
88 = Don Gero's mask
89 = Kamaro's mask
8A = Captain's hat
8B = Stone mask
8C = Bremen mask
8D = Blast mask
8E = Mask of scents
8F = Giant's mask
90 = Nothing
91 = Chateau Romani
92 = Milk
93 = Gold dust in a bottle
94 = Eel in a bottle
95 = Seahorse in a bottle
96 = Moon's tear
97 = Title deed
98 = Green title deed
99 = Red title deed
9A = Blue title deed
9B = Nothing
9C = Nothing
9D = Nothing
9E = Nothing
9F = Nothing
A0 = Room key
A1 = Letter to mama
A2 = Nothing
A3 = Nothing
A4 = Nothing
A5 = Nothing
A6 = Nothing
A7 = Nothing
A8 = Nothing
A9 = Nothing
AA = Letter to Kafei
AB = Pendant of memories
AC = Nothing
AD = Nothing
AE = Nothing
AF = Nothing
B0 = Nothing
B1 = Nothing
B2 = Nothing
B3 = Map
B4 = Map
B5 = Map
B6 = Map
B7 = Map
B8 = Map
B9 = Map
BA = Nothing
BB = Nothing
BC = Nothing
BD = Nothing
BE = Nothing
BF = Nothing
C0 = Nothing
C1 = Nothing
C2 = Nothing
C3 = Nothing
C4 = Nothing
C5 = Nothing
C6 = Nothing
C7 = Nothing
C8 = Nothing
C9 = Nothing
CA = Nothing
CB = Nothing
CC = Nothing
CD = Nothing
CE = Nothing
CF = Nothing
D0 = Nothing
D1 = Nothing
D2 = Nothing
D3 = Nothing
D4 = Nothing
D5 = Nothing
D6 = Nothing
D7 = Nothing
D8 = Small black line
D9 = Small black line
DA = Small black line
DB = Small black line
DC = Anju
DD = Kafei
DE = Curiosity shop man
DF = Bomb shop lady
E0 = Romani
E1 = Cremia
E2 = Mayor
E3 = Madame Aroma
E4 = Toto
E5 = Gorman
E6 = Postman
E7 = Rosa sisters
E8 = Hand
E9 = Anju's grandmother
EA = Kamaro
EB = Grog
EC = Gorman brothers
ED = Shiro
EE = Guru-Guru
EF = Bombers
F0 = Exclamation mark
F1 = Nothing
F2 = Nothing
F3 = Nothing
F4 = Nothing
F5 = Nothing
F6 = Nothing
F7 = Nothing
F8 = Nothing
F9 = Nothing
FA = Nothing
FB = Nothing
FC = Nothing
FD = Nothing
FE = No icon (doesn't act as if an icon is there, used for most messages)
FF = Nothing

Text Format

Note that only Japanese text has its own codes and values; other languages share a common set.

Code JP Code Description
00 2000 Use "standard" text color. Usually white, though in certain cases (e.g. notebook updates) can be black.
01 2001 Color the following text Red.
02 2002 Color the following text Green.
03 2003 Color the following text Blue.
04 2004 Color the following text Yellow.
05 2005 Color the following text Light Blue.
06 2006 Color the following text Pink.
07 2007 Color the following text Silver.
08 2008 Color the following text Orange.
09  ???? (unused) crashes the game
0A xx 001F 00xx Print xx spaces.
0B 0310 Print number of hits required in Witch Archery to win a reward.
0C 021C Print number of Fairies caught in this dungeon. JP adds "人目".
0D 021D Print number of Gold Skulltulas collected in this house. JP adds "匹".
0E  ???? (unused) '0'
0F  ???? (unused) '0'
10 0009 Box Break

More robust than 12/000B? Used when four lines of text have been printed, but can technically be used anywhere.

11 000A Newline
12 000B Box Break

Used when three lines of text have been printed, usually preceded by a 13/000C character.

13 000C Resets cursor position to the start of the current line.

Used as a filler when there are fewer than four lines of text. Usually preceded by a newline when two lines of text have been printed.

14  ???? (unused) Functions as a blank line by moving all text on that line off to the side of the screen. Crashy.
15 0240 Makes text unskippable (triangle box), does not play sound.
16 0100 Print the player's name.
17 0101 Enable instantaneous text.
18 0102 Disable instantaneous text.
19 0103 Makes text unskippable (triangle box), plays "text finished" sound when used.
1A 0104 Keep message box opened; no reaction to buttons. Used in shop item descriptions.
1B xx xx 0110 xxxx Wait time xxxx, then print remaining text.
1C xx xx 0111 xxxx Holds text on the screen for xxxx amount of time, player can move character, ends text automatically.
1D xx xx 0112 xxxx Stalls for xxxx amount of time, then ends text automatically.
1E xx xx 0120 xxxx Play sound effect xxxx.
1F xx xx 0128 xxxx Pauses text flow for xx xx amount of time.
20 0020 Space. Listed here because JP seems to use a nonstandard encoding?
 ?? 0135 Used, but unknown. Seems to be unique to JP (IDs 29480000, 33300000).
 ?? 037E Used, but unknown. Seems to be unique to JP 1.0 and 1.1 (ID 08CA0000).
BC  ???? (unused) crashes the game (outputs 's'?)
BD  ???? (unused) crashes the game (outputs 'h'?)
BE  ???? (unused) crashes the game (outputs 'o'?)
BF 0500 End Marker
C0 0200 (unused) prints a broken character
C1 0201 Draws "failed song" X on the screen and vertically-centers text / pushes text out.
C2 0202 Initialize a two-choice selection.
C3 0203 Initialize a three-choice selection.
C4 0204 Print the Postman minigame result time.
C5 0205 (unused) timer value
C6 0206 (unused) timer value
C7 0207 (unused) Print time before the Moon crushes Clock Town during fight with Skull Kid.
C8 0208 Print the Deku Flower minigame result score.
C9 0209 (unused) timer value
CA 020A (unused) timer value
CB 020B Print the Shooting Gallery minigame result score.
CC 020C Display Rupee prompt for withdrawing/depositing.
CD 020D Print the number of Rupees entered or bet.
CE 020E Print the total Rupees in bank or won by betting.
CF 020F Print the time remaining in hours and minutes.
D0 0220 Display Rupee prompt for betting.
D1 0221 Display Bombers' Code prompt
D2 0222 Prompt for an item; delays closing the text box.
D3 0223 (unused) unknown
D4 0224 Print the Song of Soaring destination.
D5 0225 Display the Lottery Number prompt.
D6 0226 (unused) Prints "123456", with each number's color indicative of the Spider House mask code.
D7 0227 Print the number of fairies remaining in Woodfall.
D8 0228 Print the number of fairies remaining in Snowhead.
D9 0229 Print the number of fairies remaining in Great Bay.
DA 022A Print the number of fairies remaining in Ikana.
DB 022B Print the Witch Archery minigame result score.
DC 022C Print the winning Lottery Numbers.
DD 022D Print the player's Lottery Numbers.
DE 022E Print the worth of the item in Rupees. (default: 51)
DF 022F Print the Bombers' Code.
E0 0230 End conversation. Used exclusively for NPCs. Usually followed by a BF/0500 command.
E1 0231 Print the color of the first mask to hit in Oceanside Spider House.
E2 0232 …color of the second mask.
E3 0233 …color of the third mask.
E4 0234 …color of the fourth mask.
E5 0235 …color of the fifth mask.
E6 0236 …color of the sixth mask.
E7 0237 Print the time remaining in hours.
E8 0238 Print time until the next morning in hours and minutes.
E9  ???? (unused) prints a broken character and a large gap
EA  ???? (unused) prints a broken character
EB  ???? (unused) prints a broken character
EC  ???? (unused) prints a broken character
ED  ???? (unused) prints a broken character
EF  ???? (unused) prints a broken character
F0  ???? (unused) Print the total Rupees in bank.
F1  ???? (unused) prints 0
F2  ???? (unused) prints 0
F3  ???? (unused) prints 0"10'
F4  ???? (unused) prints :0"00'
F5  ???? (unused) Prints a highscore(?) in 00"00' format. (sram offset: 0xEF2)
F6 0306 Print the Octorok Archery highscore.
F7  ???? (unused) prints 00'00"00
F8  ???? (unused?) prints price of Magic Beans
F9 0309 Print the Epona Balloon Archery highscore.
 ?? 0307 Also seems to print the Epona Balloon Archery highscore. Exclusive to JP?
FA 030A Print the Deku Flower minigame highscore of Day 1.
FB 030B Print the Deku Flower minigame highscore of Day 2.
FC 030C Print the Deku Flower minigame highscore of Day 3.
FD  ???? (unused) prints a broken character
FE  ???? (unused) unknown
FF  ???? (unused) unknown

Special Characters

Code JP Code Character
7F n/a °
80 n/a À
81 n/a Á
82 n/a Â
83 n/a Ä
84 n/a Ç
85 n/a È
86 n/a É
87 n/a Ê
88 n/a Ë
89 n/a Ì
8A n/a Í
8B n/a Î
8C n/a Ï
8D n/a Ñ
8E n/a Ò
8F n/a Ó
90 n/a Ô
91 n/a Ö
92 n/a Ù
93 n/a Ú
94 n/a Û
95 n/a Ü
96 n/a ß
97 n/a à
98 n/a á
99 n/a â
9A n/a ä
9B n/a ç
9C n/a è
9D n/a é
9E n/a ê
9F n/a ë
A0 n/a ì
A1 n/a í
A2 n/a î
A3 n/a ï
A4 n/a ñ
A5 n/a ò
A6 n/a ó
A7 n/a ô
A8 n/a ö
A9 n/a ù
AA n/a ú
AB n/a û
AC n/a ü
AD n/a ¡
AE n/a ¿
AF n/a ª
B0 839F [A] Button Icon.
B1 83A0 [B] Button Icon.
B2 83A1 [C] Button Icon.
B3 83A2 [L] Button Icon.
B4 83A3 [R] Button Icon.
B5 83A4 [Z] Button Icon.
B6 83A5 [C Up] Button Icon.
B7 83A6 [C Down] Button Icon.
B8 83A7 [C Left] Button Icon.
B9 83A8 [C Right] Button Icon.
BA 83A9 Triangle: ▼.
BB 83AA [Control Stick] Icon.
 ?? 83AB [D-Pad] Icon. Unused.

Used Sound Effects

Credit for this list goes to DerrikeG

Id Description
28D8 "No better than usual" dog bark
3880 Brief deku scrub squeak
3881 Alert deku scrub squeak
290B Dog growl
2913 Dog whine
2925 Tael's tinging sound
2935 Tael's depressed sound
3882 Deku scrub exhale sound
388B Business scrub severing sound
398B Business scrub squeak 1
39A7 Business scrub squeak 2
3A75 Skull Kid's giggle 1
3A79 Skull Kid's giggle 2
3A7B Skull Kid's grunt
3AD2 Deku Scrub squeak
4853 Lottery winning sound
6845 Tael's scared tinging sound
6850 Tael's happy sound
6903? Jim's "heh" sound
6905 Bomber "ah!" sound
690A Anju's Grandmother laughing
690C Anju's Grandmother's curious sound
690D Madame Aroma's hrumph
692A Honey's cooing 1
692B Female happy giggle
692C Honey's cooing 2
6938 Stray Fairy squeak
6947 Observatory guy's extended laughter
6949 Observatory guy's curious groan
694F Mutoh's hiss
6950 Toto's groan
6951 Item shop guy's greeting
6952 Item shop guy's laughing
6956 Twin Jugglers' laugh 1
6957 Twin Jugglers' laugh 2
6958 Mayor's thinking sound
695F Darling's laugh
6969 Worker's bleh sound
696A Worker's groan sound
696E Viscen's ahh sound
696F Postman's "yah" sound
6970 Darling's giggle 1
6971 Darling's giggle 2
6979 Tingle's surprised sound
697A Tingle's laugh
697B Tingle's happy sound
697C Tingle's Kooloo-Limpah!
697D Happy mask salesman's giggle
697E Happy mask salesman's quick laugh
697F Happy mask salesman's laugh
6980 Gorman's bah! sound

Credits

DeathBasket - First draft of information.
DerrikeG - Additional text IDs, sound IDs.