Message Data (.MSD) File Format

From Ōkami Speedrun Wiki
Revision as of 00:07, 7 August 2025 by Heinermann (talk | contribs) (→‎Control Codes: more)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Note: This page pertains to Reverse Engineering of Okami File Formats.

The following article is currently a Work In Progress and will have more details soon.


Message data. Contains strings accessed by an index.

Format

Offset Type Size Description
0x00 uint32_t 4 Number of entries.
0x04 int64_t[numEntries] 8 * numEntries String offsets.

Immediately followed by the string data. Each character in a string is represented as a uint16_t.

Control Codes

Control codes have their highest bit set (0x8000).

High byte of control code is the type; low byte is number of arguments including the code itself (so always at least 1).

Control Code Additional Parameters Description
8001 0 End dialogue
8103 2 Set speaker 1 (first arg category string i.e. 'hm', second arg id string '01')
8203 2 Set speaker 2
8303 2 Unknown
8903 2 Unknown
8A01 0 Unknown
8E01 0 Unknown
9302 0 Unknown
9401 0 Unknown
9502 1 Item name. If arg is -1 it is set by the context, otherwise it is the item ID.
9804 3 Unknown (first arg category string i.e. 'hm', second arg id string '01')
A001 0 New line
A101 0 Clear
A301 0 Wait for button input
A402 1 Wait? Arg is amount to wait.
A901 0 Long duration wait.
AA01 0 Unknown
AC02 1 Set dialogue type. 1 = Story. 2 = Conversation.
AD02 1 Unknown
B002 1 Unknown
B203 2 Unknown
B301 0 Black text (reset colour)
B602 1 Set text colour. 1 = red.
B902 1 Button action graphic
BA02 1 Unknown
BB01 0 Unknown
C103 2 Unknown
D201 0 Issun dialogue background (green)
D302 1 Unknown (camera change?)
D404 3 Unknown
DA03 2 Unknown
DD01 0 Unknown
DE01 0 Unknown
E403 2 crsignal (??)

Characters

Character mappings are found in etc/core_20.bin index 3 (MessCore.DDS).

Note: The Japanese character documentation is incomplete.

Hex Code English French German Japanese
0000
0001 . . .
0002 , , ,
0003 ? ? ?
0004 ! ! ! ?
0005 ( ( ( !
0006 ) ) )
0007 * * *
0008 / / /
0009 " " "
000A ' ' ' (
000B [ [ [ )
000C ] ] ]
000D 0 0 0
000E 1 1 1
000F 2 2 2
0010 3 3 3 ®
0011 4 4 4 0
0012 5 5 5 1
0013 6 6 6 2
0014 7 7 7 3
0015 8 8 8 4
0016 9 9 9 5
0017 A A A 6
0018 B B B 7
0019 C C C 8
001A D D D 9
001B E E E
001C F F F
001D G G G
001E H H H
001F I I I
0020 J J J
0021 K K K
0022 L L L
0023 M M M
0024 N N N
0025 O O O
0026 P P P
0027 Q Q Q
0028 R R R
0029 S S S
002A T T T
002B U U U
002C V V V
002D W W W
002E X X X
002F Y Y Y
0030 Z Z Z
0031 a a a
0032 b b b
0033 c c c
0034 d d d
0035 e e e
0036 f f f
0037 g g g
0038 h h h
0039 i i i
003A j j j
003B k k k
003C l l l
003D m m m
003E n n n
003F o o o
0040 p p p
0041 q q q
0042 r r r
0043 s s s
0044 t t t
0045 u u u
0046 v v v
0047 w w w
0048 x x x
0049 y y y
004A z z z
004B × × ×
004C , , ,
004D ƒ ƒ ƒ
004E
004F
0050
0051
0052 ^ ^ ^
0053
0054 Š Š Š
0055 < < <
0056 Œ Œ Œ
0057 × × ×
0058
0059
005A
005B
005C
005D
005E
005F ~ ~ ~
0060
0061 š š š
0062 > > >
0063 œ œ œ
0064 × × ×
0065 Ÿ Ÿ Ÿ
0066 ¡ ¡ ¡
0067 ¢ ¢ ¢
0068 £ £ £
0069 ¤ ¤ ¤
006A ¥ ¥ ¥
006B
006C § § §
006D ¨ ¨ ¨
006E © © ©
006F ª ª ª
0070 « « «
0071 ¬ ¬ ¬
0072
0073 ® ® ®
0074
0075 ° ° °
0076 ± ± ±
0077 ² ² ²
0078 ³ ³ ³
0079 ´ ´ ´
007A µ µ µ
007B
007C . . .
007D ¸ ¸ ¸
007E ¹ ¹ ¹
007F
0080 » » »
0081 ¼ ¼ ¼
0082 ½ ½ ½
0083 ¾ ¾ ¾
0084 ¿ ¿ ¿
0085 À À À
0086 Á Á Á
0087 Â Â Â
0088 Ã Ã Ã
0089 Ä Ä Ä
008A Å Å Å
008B Æ Æ Æ
008C Ç Ç Ç
008D È È È
008E É É É
008F Ê Ê Ê
0090 Ë Ë Ë
0091 Ì Ì Ì
0092 Í Í Í
0093 Î Î Î
0094 Ï Ï Ï
0095 Ð Ð Ð
0096 Ñ Ñ Ñ
0097 Ò Ò Ò
0098 Õ Õ Õ
0099 Ô Ô Ô
009A Ó Ó Ó
009B Ö Ö Ö
009C
009D Ø Ø Ø
009E Ù Ù Ù
009F Ú Ú Ú
00A0 Û Û Û
00A1 Ü Ü Ü
00A2 Ý Ý Ý
00A3 Þ Þ Þ
00A4 ß ß ß
00A5 à à à
00A6 á á á
00A7 â â â
00A8 á á á
00A9 ä ä ä
00AA å å å
00AB æ æ æ
00AC ç ç ç
00AD è è è
00AE é é é
00AF ê ê ê
00B0 ë ë ë
00B1 ì ì ì
00B2 í í í
00B3 î î î
00B4 ï ï ï
00B5 ð ð ð
00B6 ñ ñ ñ
00B7 ò ò ò
00B8 ó ó ó
00B9 ô ô ô
00BA õ õ õ
00BB ö ö ö
00BC ÷ ÷ ÷
00BD ø ø ø
00BE ù ù ù
00BF ú ú ú
00C0 û û û
00C1 ü ü ü
00C2 ý ý ý
00C3 þ þ þ
00C4 ÿ ÿ ÿ
00C5 + + +
00C6 - - -
00C7
00C8
00C9
00CA : :
00CB :
00CC _ _
00CD _ :
00CE :
00CF ~
00D0
00D1 :
00D2 N/A N/A
00D3 N/A N/A
00D4 N/A N/A
00D5 N/A N/A
00D6 N/A N/A
00D7 N/A N/A
00D8 N/A N/A
00D9 N/A N/A
00DA N/A N/A
00DB N/A N/A
00DC N/A N/A
00DD N/A N/A
00DE N/A N/A
00DF N/A N/A
00E0 N/A N/A

Additional Japanese Characters

Note: The Japanese character documentation is incomplete.

Hex Code Japanese
00E1
00E2
00E3
00E4
00E5
00E6
00E7
00E8
00E9
00EA
00EB
00EC
00ED
00EE
00EF
00F0
00F1
00F2
00F3
00F4
00F5
00F6
00F7
00F8
00F9
00FA
00FB
00FC
00FD
00FE
00FF
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
010A
010B
010C
010D
010E
010F
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
011A
011B
011C
011D
011E
011F
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
012A
012B
012C
012D
012E
012F
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
013A
013B
013C
013D
013E
013F
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
014A
014B
014C
014D
014E
014F
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
015A
015B
015C
015D
015E
015F
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
016A
016B
016C
016D
016E
016F
0170
0171
0172
0173
0174
0175
0176
0177
0178
0179
017A
017B
017C
017D
017E
017F
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189
018A
018B
018C
018D
018E
018F
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
019A
019B
019C
019D
019E
019F
01A0
01A1
01A2
01A3
01A4
01A5
01A6
01A7
01A8
01A9
01AA
01AB
01AC
01AD
01AE
01AF
01B0
01B1
01B2
01B3
01B4
01B5
01B6
01B7
01B8
01B9
01BA
01BB
01BC
01BD
01BE
01BF
01C0
01C1
01C2
01C3
01C4
01C5
01C6
01C7
01C8
01C9
01CA
01CB
01CC
01CD
01CE
01CF
01D0
01D1
01D2
01D3
01D4
01D5
01D6
01D7
01D8
01D9
01DA
01DB
01DC
01DD
01DE
01DF
01E0
01E1
01E2
01E3
01E4
01E5
01E6
01E7
01E8
01E9
01EA
01EB
01EC
01ED
01EE
01EF
01F0
01F1
01F2
01F3
01F4
01F5
01F6
01F7
01F8
01F9
01FA
01FB
01FC
01FD
01FE
01FF
0200
0201
0202
0203
0204
0205
0206
0207
0208
0209
020A
020B
020C
020D
020E
020F
0210
0211
0212
0213
0214
0215
0216
0217
0218
0219
021A
021B
021C 1
021D
021E
021F I
0220 D
0221 0
0222 5
0223
0224
0225
0226
0227
0228
0229
022A
022B
022C
022D
022E
022F
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
023A
023B
023C
023D
023E
023F
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
024A
024B
024C
024D
024E
024F
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
025A
025B
025C
025D
025E
025F
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
026A
026B
026C
026D
026E
026F
0270
0271
0272
0273
0274
0275
0276
0277
0278
0279
027A
027B
027C
027D
027E
027F
0280
0281
0282
0283
0284
0285
0286
0287
0288
0289
028A
028B
028C
028D
028E
028F
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299
029A
029B
029C
029D
029E
029F
02A0
02A1
02A2
02A3
02A4
02A5
02A6
02A7
02A8
02A9
02AA
02AB
02AC
02AD
02AE
02AF
02B0
02B1
02B2
02B3
02B4
02B5
02B6
02B7
02B8
02B9
02BA
02BB
02BC
02BD
02BE
02BF
02C0
02C1
02C2
02C3
02C4
02C5
02C6
02C7
02C8
02C9
02CA
02CB
02CC
02CD
02CE
02CF
02D0
02D1 S
02D2 T
02D3 A
02D4 R
02D5
02D6
02D7 P
02D8 l
02D9 a
02DA y
02DB t
02DC i
02DD o
02DE n
02DF E
02E0 e
02E1
02E2 3
02E3
02E4
02E5
02E6
02E7
02E8
02E9
02EA
02EB
02EC
02ED
02EE
02EF
02F0
02F1
02F2 M
02F3 _
02F4 0
02F5 2
02F6 Y
02F7 (
02F8 J
02F9 )
02FA 4
02FB 6
02FC 7
02FD 8
02FE 9
02FF
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
030A
030B
030C
030D
030E
030F
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
031A
031B
031C
031D
031E :
031F
0320
0321
0322 x
0323 p
0324
0325
0326
0327
0328 .
0329 H
032A z
032B
032C
032D
032E
032F
0330
0331
0332 /
0333
0334
0335
0336
0337
0338
0339
033A
033B
033C
033D
033E
033F
0340
0341 B
0342 C
0343 F
0344 G
0345 K
0346 L
0347 N
0348 Q
0349 U
034A V
034B W
034C X
034D Z
034E b
034F c
0350 d
0351 f
0352 g
0353 h
0354 j
0355 k
0356 m
0357 q
0358 r
0359 s
035A u
035B v
035C w
035D ,
035E
035F
0360
0361
0362
0363
0364
0365