[Scummvm-git-logs] scummvm master -> bd58c0702bca96c1630d18e358ecc52920d189e1

athrxx athrxx at scummvm.org
Sun Oct 28 16:11:42 CET 2018


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3ae1d92f17 KYRA: (LOL) - clean up sound map data formatting
05f6cf388b KYRA: (EOB) - minor fix for EOB 1 monster hit chance calculation
bd58c0702b KYRA: (LOL) - fix for ticket #9831 (Lands of Lore: Japanese text is displayed overlapping)


Commit: 3ae1d92f179d7062bb3291eb69748be060a046f3
    https://github.com/scummvm/scummvm/commit/3ae1d92f179d7062bb3291eb69748be060a046f3
Author: athrxx (athrxx at scummvm.org)
Date: 2018-10-28T15:45:55+01:00

Commit Message:
KYRA: (LOL) - clean up sound map data formatting

This is a followup to the fix for bug #10665 (Urbish mines lobster having an invalid sound track number and causing invalid memory access).

Changed paths:
    devtools/create_kyradat/create_kyradat.cpp
    devtools/create_kyradat/resources/lol_dos.h
    devtools/create_kyradat/resources/lol_dos_cd.h
    devtools/create_kyradat/resources/lol_fmtowns.h
    devtools/create_kyradat/resources/lol_pc98.h
    dists/engine-data/kyra.dat
    engines/kyra/lol.h
    engines/kyra/sound_lol.cpp
    engines/kyra/staticres.cpp
    engines/kyra/staticres_lol.cpp


diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index b2461a7..8856112 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -45,7 +45,7 @@
 
 
 enum {
-	kKyraDatVersion = 89
+	kKyraDatVersion = 90
 };
 
 const ExtractFilename extractFilenames[] = {
@@ -607,7 +607,7 @@ const ExtractFilename extractFilenames[] = {
 
 	{ kLoLCharacterDefs, kLoLCharData, true },
 	{ kLoLIngameSfxFiles, kStringList, false },
-	{ kLoLIngameSfxIndex, kRawData, false },
+	{ kLoLIngameSfxIndex, kRawDataBe16, false },
 	{ kLoLMusicTrackMap, kRawData, false },
 	{ kLoLIngameGMSfxIndex, kRawData, false },
 	{ kLoLIngameMT32SfxIndex, kRawData, false },
diff --git a/devtools/create_kyradat/resources/lol_dos.h b/devtools/create_kyradat/resources/lol_dos.h
index 9f7d2e7..c9dae50 100644
--- a/devtools/create_kyradat/resources/lol_dos.h
+++ b/devtools/create_kyradat/resources/lol_dos.h
@@ -249,135 +249,60 @@ static const char *const kLoLIngameSfxFilesDOS[230] = {
 
 static const StringListProvider kLoLIngameSfxFilesDOSProvider = { ARRAYSIZE(kLoLIngameSfxFilesDOS), kLoLIngameSfxFilesDOS };
 
-static const byte kLoLIngameSfxIndexDOS[1000] = {
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x34, 0x00, 0x6F, 0x00, 0x7C, 0x00, 0x00, 0x00,
-	0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
-	0x7F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x73, 0x00,
-	0x35, 0x00, 0x9C, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x80, 0x00, 0x73, 0x00, 0x81, 0x00, 0x73, 0x00,
-	0x82, 0x00, 0x73, 0x00, 0x83, 0x00, 0x73, 0x00,
-	0x84, 0x00, 0x73, 0x00, 0x85, 0x00, 0x73, 0x00,
-	0x86, 0x00, 0x73, 0x00, 0xD7, 0x00, 0x76, 0x00,
-	0x87, 0x00, 0x65, 0x00, 0x38, 0x00, 0x5F, 0x00,
-	0x37, 0x00, 0x5F, 0x00, 0x32, 0x00, 0x0A, 0x00,
-	0x33, 0x00, 0x64, 0x00, 0x39, 0x00, 0x65, 0x00,
-	0x3A, 0x00, 0x0A, 0x00, 0x3B, 0x00, 0x14, 0x00,
-	0x4E, 0x00, 0x65, 0x00, 0x7A, 0x00, 0x64, 0x00,
-	0x7B, 0x00, 0x64, 0x00, 0x88, 0x00, 0x65, 0x00,
-	0x3C, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x64, 0x00,
-	0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x14, 0x00,
-	0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
-	0x40, 0x00, 0x65, 0x00, 0x41, 0x00, 0x00, 0x00,
-	0xC9, 0x00, 0x72, 0x00, 0xCA, 0x00, 0x72, 0x00,
-	0xCB, 0x00, 0x72, 0x00, 0xCC, 0x00, 0x74, 0x00,
-	0xCD, 0x00, 0x74, 0x00, 0xCE, 0x00, 0x74, 0x00,
-	0xCF, 0x00, 0x74, 0x00, 0xD0, 0x00, 0x73, 0x00,
-	0xD1, 0x00, 0x73, 0x00, 0xD2, 0x00, 0x73, 0x00,
-	0xD3, 0x00, 0x73, 0x00, 0xD4, 0x00, 0x72, 0x00,
-	0xD5, 0x00, 0x72, 0x00, 0xD6, 0x00, 0x72, 0x00,
-	0x42, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00,
-	0x44, 0x00, 0x6F, 0x00, 0x45, 0x00, 0x6F, 0x00,
-	0x46, 0x00, 0x6F, 0x00, 0x47, 0x00, 0x6F, 0x00,
-	0x48, 0x00, 0x77, 0x00, 0x49, 0x00, 0x89, 0xFF,
-	0x4F, 0x00, 0x89, 0xFF, 0x50, 0x00, 0x89, 0xFF,
-	0xA0, 0x00, 0x8A, 0xFF, 0xA1, 0x00, 0x89, 0xFF,
-	0xA2, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0xA3, 0x00, 0x89, 0xFF, 0xA4, 0x00, 0x89, 0xFF,
-	0x4A, 0x00, 0x13, 0x00, 0x4B, 0x00, 0x13, 0x00,
-	0x4C, 0x00, 0x32, 0x00, 0x4D, 0x00, 0x32, 0x00,
-	0x5F, 0x00, 0x0A, 0x00, 0x51, 0x00, 0x00, 0x00,
-	0x52, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00,
-	0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
-	0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
-	0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x77, 0x00,
-	0x60, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x6A, 0x00,
-	0x8A, 0x00, 0x6F, 0x00, 0x8B, 0x00, 0x6F, 0x00,
-	0x8C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00,
-	0x5A, 0x00, 0x77, 0x00, 0x5C, 0x00, 0x00, 0x00,
-	0x5B, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x6F, 0x00,
-	0x61, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x62, 0x00, 0x76, 0x00, 0x63, 0x00, 0x3C, 0x00,
-	0x64, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
-	0x66, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
-	0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
-	0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00,
-	0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
-	0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00,
-	0x70, 0x00, 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
-	0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
-	0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
-	0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
-	0x79, 0x00, 0x77, 0x00, 0x90, 0x00, 0x00, 0x00,
-	0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x77, 0x00,
-	0x93, 0x00, 0x1E, 0x00, 0x94, 0x00, 0x89, 0xFF,
-	0x95, 0x00, 0x77, 0x00, 0x96, 0x00, 0x76, 0x00,
-	0x97, 0x00, 0x72, 0x00, 0x98, 0x00, 0x00, 0x00,
-	0x99, 0x00, 0x50, 0x00, 0x9A, 0x00, 0x78, 0x00,
-	0x9B, 0x00, 0x64, 0x00, 0x9C, 0x00, 0x5A, 0x00,
-	0x9D, 0x00, 0x64, 0x00, 0x9E, 0x00, 0x65, 0x00,
-	0x9F, 0x00, 0x66, 0x00, 0xA5, 0x00, 0x89, 0xFF,
-	0xA6, 0x00, 0x89, 0xFF, 0xA7, 0x00, 0x77, 0x00,
-	0xA8, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xA9, 0x00, 0x77, 0x00, 0xAA, 0x00, 0x77, 0x00,
-	0xAB, 0x00, 0x77, 0x00, 0xAC, 0x00, 0x77, 0x00,
-	0xAD, 0x00, 0x77, 0x00, 0xAE, 0x00, 0x77, 0x00,
-	0xAF, 0x00, 0x76, 0x00, 0xB0, 0x00, 0x77, 0x00,
-	0xB1, 0x00, 0x64, 0x00, 0xB2, 0x00, 0x6F, 0x00,
-	0xB3, 0x00, 0x6E, 0x00, 0xB4, 0x00, 0x6E, 0x00,
-	0xB5, 0x00, 0x77, 0x00, 0xB6, 0x00, 0x77, 0x00,
-	0xB7, 0x00, 0x77, 0x00, 0xB8, 0x00, 0x76, 0x00,
-	0xB9, 0x00, 0x77, 0x00, 0xBA, 0x00, 0x77, 0x00,
-	0xBB, 0x00, 0x77, 0x00, 0xBC, 0x00, 0x77, 0x00,
-	0xBD, 0x00, 0x77, 0x00, 0xBE, 0x00, 0x77, 0x00,
-	0xBF, 0x00, 0x77, 0x00, 0xC0, 0x00, 0x76, 0x00,
-	0xC1, 0x00, 0x77, 0x00, 0xC2, 0x00, 0x77, 0x00,
-	0xC3, 0x00, 0x77, 0x00, 0xC4, 0x00, 0x6E, 0x00,
-	0xC5, 0x00, 0x6E, 0x00, 0xC6, 0x00, 0x7D, 0x00,
-	0xC7, 0x00, 0x78, 0x00, 0xC8, 0x00, 0x78, 0x00,
-	0xD8, 0x00, 0x77, 0x00, 0xD9, 0x00, 0x77, 0x00,
-	0xDA, 0x00, 0x77, 0x00, 0xDB, 0x00, 0x77, 0x00,
-	0xDC, 0x00, 0x77, 0x00, 0xDD, 0x00, 0x78, 0x00,
-	0xDE, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xE3, 0x00, 0x77, 0x00, 0xE4, 0x00, 0x77, 0x00,
-	0xE0, 0x00, 0x1E, 0x00, 0xDF, 0x00, 0x77, 0x00,
-	0xE1, 0x00, 0x05, 0x00, 0xE2, 0x00, 0x0A, 0x00,
-	0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x50, 0x00,
-	0x02, 0x00, 0x50, 0x00, 0x03, 0x00, 0x50, 0x00,
-	0x04, 0x00, 0x50, 0x00, 0x05, 0x00, 0x50, 0x00,
-	0x06, 0x00, 0x50, 0x00, 0x07, 0x00, 0x50, 0x00,
-	0x08, 0x00, 0x50, 0x00, 0x09, 0x00, 0x50, 0x00,
-	0x0A, 0x00, 0x50, 0x00, 0x0B, 0x00, 0x50, 0x00,
-	0x0C, 0x00, 0x50, 0x00, 0x0D, 0x00, 0x50, 0x00,
-	0x0E, 0x00, 0x50, 0x00, 0x0F, 0x00, 0x50, 0x00,
-	0x10, 0x00, 0x50, 0x00, 0x11, 0x00, 0x5A, 0x00,
-	0x12, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x5A, 0x00,
-	0x14, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x5A, 0x00,
-	0x16, 0x00, 0x5A, 0x00, 0x17, 0x00, 0x5A, 0x00,
-	0x18, 0x00, 0x5A, 0x00, 0x19, 0x00, 0x5A, 0x00,
-	0x1A, 0x00, 0x5A, 0x00, 0x1B, 0x00, 0x5A, 0x00,
-	0x1C, 0x00, 0x5A, 0x00, 0x1D, 0x00, 0x5A, 0x00,
-	0x1E, 0x00, 0x5A, 0x00, 0x1F, 0x00, 0x5A, 0x00,
-	0x20, 0x00, 0x5A, 0x00, 0x21, 0x00, 0x73, 0x00,
-	0x22, 0x00, 0x73, 0x00, 0x23, 0x00, 0x73, 0x00,
-	0x24, 0x00, 0x73, 0x00, 0x25, 0x00, 0x73, 0x00,
-	0x26, 0x00, 0x73, 0x00, 0x27, 0x00, 0x73, 0x00,
-	0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x73, 0x00,
-	0x2A, 0x00, 0x73, 0x00, 0x2B, 0x00, 0x50, 0x00,
-	0x2C, 0x00, 0x5A, 0x00, 0x2D, 0x00, 0x5A, 0x00,
-	0x2E, 0x00, 0x5A, 0x00, 0x2F, 0x00, 0x5A, 0x00,
-	0x30, 0x00, 0x5A, 0x00, 0x31, 0x00, 0x5A, 0x00
-};
-
-static const ByteProvider kLoLIngameSfxIndexDOSProvider = { ARRAYSIZE(kLoLIngameSfxIndexDOS), kLoLIngameSfxIndexDOS };
+static const uint16 kLoLIngameSfxIndexDOS[500] = {
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0x0034, 0x006f, 0x007c, 0x0000, 0x007d, 0x0000,
+	0x007e, 0x0000, 0x007f, 0x0000, 0x0036, 0x0073, 0x0035, 0xff9c, 0xffff, 0x0000,
+	0x0080, 0x0073, 0x0081, 0x0073, 0x0082, 0x0073, 0x0083, 0x0073, 0x0084, 0x0073,
+	0x0085, 0x0073, 0x0086, 0x0073, 0x00d7, 0x0076, 0x0087, 0x0065, 0x0038, 0x005f,
+	0x0037, 0x005f, 0x0032, 0x000a, 0x0033, 0x0064, 0x0039, 0x0065, 0x003a, 0x000a,
+	0x003b, 0x0014, 0x004e, 0x0065, 0x007a, 0x0064, 0x007b, 0x0064, 0x0088, 0x0065,
+	0x003c, 0x0065, 0x003d, 0x0064, 0x0089, 0x0000, 0x008e, 0x0014, 0x003e, 0x0000,
+	0x003f, 0x0000, 0x0040, 0x0065, 0x0041, 0x0000, 0x00c9, 0x0072, 0x00ca, 0x0072,
+	0x00cb, 0x0072, 0x00cc, 0x0074, 0x00cd, 0x0074, 0x00ce, 0x0074, 0x00cf, 0x0074,
+	0x00d0, 0x0073, 0x00d1, 0x0073, 0x00d2, 0x0073, 0x00d3, 0x0073, 0x00d4, 0x0072,
+	0x00d5, 0x0072, 0x00d6, 0x0072, 0x0042, 0x006f, 0x0043, 0x006f, 0x0044, 0x006f,
+	0x0045, 0x006f, 0x0046, 0x006f, 0x0047, 0x006f, 0x0048, 0x0077, 0x0049, 0xff89,
+	0x004f, 0xff89, 0x0050, 0xff89, 0x00a0, 0xff8a, 0x00a1, 0xff89, 0x00a2, 0xff89,
+	0xffff, 0x0000, 0x00a3, 0xff89, 0x00a4, 0xff89, 0x004a, 0x0013, 0x004b, 0x0013,
+	0x004c, 0x0032, 0x004d, 0x0032, 0x005f, 0x000a, 0x0051, 0x0000, 0x0052, 0x0000,
+	0x008f, 0x0000, 0x0053, 0x0000, 0x0054, 0x0000, 0x0055, 0x0000, 0x0056, 0x0000,
+	0x0057, 0x0000, 0x0058, 0x0077, 0x0060, 0x0000, 0x005d, 0x006a, 0x008a, 0x006f,
+	0x008b, 0x006f, 0x008c, 0x0000, 0x008d, 0x0000, 0x005a, 0x0077, 0x005c, 0x0000,
+	0x005b, 0x0000, 0x005e, 0x006f, 0x0061, 0x0076, 0xffff, 0x0000, 0x0062, 0x0076,
+	0x0063, 0x003c, 0x0064, 0x006d, 0x0065, 0x0000, 0x0066, 0x0000, 0x0067, 0x0000,
+	0x0068, 0x0000, 0x0069, 0x0000, 0x006a, 0x0000, 0x006b, 0x0000, 0x006c, 0x0000,
+	0x006d, 0x0000, 0x006e, 0x0000, 0x006f, 0x0000, 0x0070, 0xff88, 0xffff, 0x0000,
+	0x0071, 0x0000, 0x0072, 0x0000, 0x0073, 0x0074, 0x0074, 0x0000, 0x0075, 0x0000,
+	0x0076, 0x0000, 0x0077, 0x0000, 0x0078, 0x0000, 0x0079, 0x0077, 0x0090, 0x0000,
+	0x0091, 0x0000, 0x0092, 0x0077, 0x0093, 0x001e, 0x0094, 0xff89, 0x0095, 0x0077,
+	0x0096, 0x0076, 0x0097, 0x0072, 0x0098, 0x0000, 0x0099, 0x0050, 0x009a, 0x0078,
+	0x009b, 0x0064, 0x009c, 0x005a, 0x009d, 0x0064, 0x009e, 0x0065, 0x009f, 0x0066,
+	0x00a5, 0xff89, 0x00a6, 0xff89, 0x00a7, 0x0077, 0x00a8, 0x0076, 0xffff, 0x0000,
+	0x00a9, 0x0077, 0x00aa, 0x0077, 0x00ab, 0x0077, 0x00ac, 0x0077, 0x00ad, 0x0077,
+	0x00ae, 0x0077, 0x00af, 0x0076, 0x00b0, 0x0077, 0x00b1, 0x0064, 0x00b2, 0x006f,
+	0x00b3, 0x006e, 0x00b4, 0x006e, 0x00b5, 0x0077, 0x00b6, 0x0077, 0x00b7, 0x0077,
+	0x00b8, 0x0076, 0x00b9, 0x0077, 0x00ba, 0x0077, 0x00bb, 0x0077, 0x00bc, 0x0077,
+	0x00bd, 0x0077, 0x00be, 0x0077, 0x00bf, 0x0077, 0x00c0, 0x0076, 0x00c1, 0x0077,
+	0x00c2, 0x0077, 0x00c3, 0x0077, 0x00c4, 0x006e, 0x00c5, 0x006e, 0x00c6, 0x007d,
+	0x00c7, 0x0078, 0x00c8, 0x0078, 0x00d8, 0x0077, 0x00d9, 0x0077, 0x00da, 0x0077,
+	0x00db, 0x0077, 0x00dc, 0x0077, 0x00dd, 0x0078, 0x00de, 0x0078, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x00e3, 0x0077,
+	0x00e4, 0x0077, 0x00e0, 0x001e, 0x00df, 0x0077, 0x00e1, 0x0005, 0x00e2, 0x000a,
+	0x0000, 0x0050, 0x0001, 0x0050, 0x0002, 0x0050, 0x0003, 0x0050, 0x0004, 0x0050,
+	0x0005, 0x0050, 0x0006, 0x0050, 0x0007, 0x0050, 0x0008, 0x0050, 0x0009, 0x0050,
+	0x000a, 0x0050, 0x000b, 0x0050, 0x000c, 0x0050, 0x000d, 0x0050, 0x000e, 0x0050,
+	0x000f, 0x0050, 0x0010, 0x0050, 0x0011, 0x005a, 0x0012, 0x005a, 0x0013, 0x005a,
+	0x0014, 0x005a, 0x0015, 0x005a, 0x0016, 0x005a, 0x0017, 0x005a, 0x0018, 0x005a,
+	0x0019, 0x005a, 0x001a, 0x005a, 0x001b, 0x005a, 0x001c, 0x005a, 0x001d, 0x005a,
+	0x001e, 0x005a, 0x001f, 0x005a, 0x0020, 0x005a, 0x0021, 0x0073, 0x0022, 0x0073,
+	0x0023, 0x0073, 0x0024, 0x0073, 0x0025, 0x0073, 0x0026, 0x0073, 0x0027, 0x0073,
+	0x0028, 0x0073, 0x0029, 0x0073, 0x002a, 0x0073, 0x002b, 0x0050, 0x002c, 0x005a,
+	0x002d, 0x005a, 0x002e, 0x005a, 0x002f, 0x005a, 0x0030, 0x005a, 0x0031, 0x005a
+};
+
+static const Uint16Provider kLoLIngameSfxIndexDOSProvider = { ARRAYSIZE(kLoLIngameSfxIndexDOS), kLoLIngameSfxIndexDOS };
 
 static const byte kLoLMusicTrackMapDOS[240] = {
 	0x01, 0x61, 0x02, 0x01, 0x61, 0x03, 0x01, 0x61,
diff --git a/devtools/create_kyradat/resources/lol_dos_cd.h b/devtools/create_kyradat/resources/lol_dos_cd.h
index 3482986..71f2c12 100644
--- a/devtools/create_kyradat/resources/lol_dos_cd.h
+++ b/devtools/create_kyradat/resources/lol_dos_cd.h
@@ -297,135 +297,60 @@ static const char *const kLoLIngameSfxFilesDOSCD[230] = {
 
 static const StringListProvider kLoLIngameSfxFilesDOSCDProvider = { ARRAYSIZE(kLoLIngameSfxFilesDOSCD), kLoLIngameSfxFilesDOSCD };
 
-static const byte kLoLIngameSfxIndexDOSCD[1000] = {
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x34, 0x00, 0x6F, 0x00, 0x7C, 0x00, 0x00, 0x00,
-	0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
-	0x7F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x73, 0x00,
-	0x35, 0x00, 0x9C, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x80, 0x00, 0x73, 0x00, 0x81, 0x00, 0x73, 0x00,
-	0x82, 0x00, 0x73, 0x00, 0x83, 0x00, 0x73, 0x00,
-	0x84, 0x00, 0x73, 0x00, 0x85, 0x00, 0x73, 0x00,
-	0x86, 0x00, 0x73, 0x00, 0xD7, 0x00, 0x76, 0x00,
-	0x87, 0x00, 0x65, 0x00, 0x38, 0x00, 0x5F, 0x00,
-	0x37, 0x00, 0x5F, 0x00, 0x32, 0x00, 0x0A, 0x00,
-	0x33, 0x00, 0x64, 0x00, 0x39, 0x00, 0x65, 0x00,
-	0x3A, 0x00, 0x0A, 0x00, 0x3B, 0x00, 0x14, 0x00,
-	0x4E, 0x00, 0x65, 0x00, 0x7A, 0x00, 0x64, 0x00,
-	0x7B, 0x00, 0x64, 0x00, 0x88, 0x00, 0x65, 0x00,
-	0x3C, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x64, 0x00,
-	0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x14, 0x00,
-	0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
-	0x40, 0x00, 0x65, 0x00, 0x41, 0x00, 0x00, 0x00,
-	0xC9, 0x00, 0x72, 0x00, 0xCA, 0x00, 0x72, 0x00,
-	0xCB, 0x00, 0x72, 0x00, 0xCC, 0x00, 0x74, 0x00,
-	0xCD, 0x00, 0x74, 0x00, 0xCE, 0x00, 0x74, 0x00,
-	0xCF, 0x00, 0x74, 0x00, 0xD0, 0x00, 0x73, 0x00,
-	0xD1, 0x00, 0x73, 0x00, 0xD2, 0x00, 0x73, 0x00,
-	0xD3, 0x00, 0x73, 0x00, 0xD4, 0x00, 0x72, 0x00,
-	0xD5, 0x00, 0x72, 0x00, 0xD6, 0x00, 0x72, 0x00,
-	0x42, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00,
-	0x44, 0x00, 0x6F, 0x00, 0x45, 0x00, 0x6F, 0x00,
-	0x46, 0x00, 0x6F, 0x00, 0x47, 0x00, 0x6F, 0x00,
-	0x48, 0x00, 0x77, 0x00, 0x49, 0x00, 0x89, 0xFF,
-	0x4F, 0x00, 0x89, 0xFF, 0x50, 0x00, 0x89, 0xFF,
-	0xA0, 0x00, 0x8A, 0xFF, 0xA1, 0x00, 0x89, 0xFF,
-	0xA2, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0xA3, 0x00, 0x89, 0xFF, 0xA4, 0x00, 0x89, 0xFF,
-	0x4A, 0x00, 0x13, 0x00, 0x4B, 0x00, 0x13, 0x00,
-	0x4C, 0x00, 0x32, 0x00, 0x4D, 0x00, 0x32, 0x00,
-	0x5F, 0x00, 0x0A, 0x00, 0x51, 0x00, 0x00, 0x00,
-	0x52, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00,
-	0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
-	0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
-	0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x77, 0x00,
-	0x60, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x6A, 0x00,
-	0x8A, 0x00, 0x6F, 0x00, 0x8B, 0x00, 0x6F, 0x00,
-	0x8C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00,
-	0x5A, 0x00, 0x77, 0x00, 0x5C, 0x00, 0x00, 0x00,
-	0x5B, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x6F, 0x00,
-	0x61, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x62, 0x00, 0x76, 0x00, 0x63, 0x00, 0x3C, 0x00,
-	0x64, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
-	0x66, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
-	0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
-	0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00,
-	0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
-	0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00,
-	0x70, 0x00, 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
-	0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
-	0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
-	0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
-	0x79, 0x00, 0x77, 0x00, 0x90, 0x00, 0x00, 0x00,
-	0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x77, 0x00,
-	0x93, 0x00, 0x1E, 0x00, 0x94, 0x00, 0x89, 0xFF,
-	0x95, 0x00, 0x77, 0x00, 0x96, 0x00, 0x76, 0x00,
-	0x97, 0x00, 0x72, 0x00, 0x98, 0x00, 0x00, 0x00,
-	0x99, 0x00, 0x50, 0x00, 0x9A, 0x00, 0x78, 0x00,
-	0x9B, 0x00, 0x64, 0x00, 0x9C, 0x00, 0x5A, 0x00,
-	0x9D, 0x00, 0x64, 0x00, 0x9E, 0x00, 0x65, 0x00,
-	0x9F, 0x00, 0x66, 0x00, 0xA5, 0x00, 0x89, 0xFF,
-	0xA6, 0x00, 0x89, 0xFF, 0xA7, 0x00, 0x77, 0x00,
-	0xA8, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xA9, 0x00, 0x77, 0x00, 0xAA, 0x00, 0x77, 0x00,
-	0xAB, 0x00, 0x77, 0x00, 0xAC, 0x00, 0x77, 0x00,
-	0xAD, 0x00, 0x77, 0x00, 0xAE, 0x00, 0x77, 0x00,
-	0xAF, 0x00, 0x76, 0x00, 0xB0, 0x00, 0x77, 0x00,
-	0xB1, 0x00, 0x64, 0x00, 0xB2, 0x00, 0x6F, 0x00,
-	0xB3, 0x00, 0x6E, 0x00, 0xB4, 0x00, 0x6E, 0x00,
-	0xB5, 0x00, 0x77, 0x00, 0xB6, 0x00, 0x77, 0x00,
-	0xB7, 0x00, 0x77, 0x00, 0xB8, 0x00, 0x76, 0x00,
-	0xB9, 0x00, 0x77, 0x00, 0xBA, 0x00, 0x77, 0x00,
-	0xBB, 0x00, 0x77, 0x00, 0xBC, 0x00, 0x77, 0x00,
-	0xBD, 0x00, 0x77, 0x00, 0xBE, 0x00, 0x77, 0x00,
-	0xBF, 0x00, 0x77, 0x00, 0xC0, 0x00, 0x76, 0x00,
-	0xC1, 0x00, 0x77, 0x00, 0xC2, 0x00, 0x77, 0x00,
-	0xC3, 0x00, 0x77, 0x00, 0xC4, 0x00, 0x6E, 0x00,
-	0xC5, 0x00, 0x6E, 0x00, 0xC6, 0x00, 0x7D, 0x00,
-	0xC7, 0x00, 0x78, 0x00, 0xC8, 0x00, 0x78, 0x00,
-	0xD8, 0x00, 0x77, 0x00, 0xD9, 0x00, 0x77, 0x00,
-	0xDA, 0x00, 0x77, 0x00, 0xDB, 0x00, 0x77, 0x00,
-	0xDC, 0x00, 0x77, 0x00, 0xDD, 0x00, 0x78, 0x00,
-	0xDE, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xE3, 0x00, 0x77, 0x00, 0xE4, 0x00, 0x77, 0x00,
-	0xE0, 0x00, 0x1E, 0x00, 0xDF, 0x00, 0x77, 0x00,
-	0xE1, 0x00, 0x05, 0x00, 0xE2, 0x00, 0x0A, 0x00,
-	0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x50, 0x00,
-	0x02, 0x00, 0x50, 0x00, 0x03, 0x00, 0x50, 0x00,
-	0x04, 0x00, 0x50, 0x00, 0x05, 0x00, 0x50, 0x00,
-	0x06, 0x00, 0x50, 0x00, 0x07, 0x00, 0x50, 0x00,
-	0x08, 0x00, 0x50, 0x00, 0x09, 0x00, 0x50, 0x00,
-	0x0A, 0x00, 0x50, 0x00, 0x0B, 0x00, 0x50, 0x00,
-	0x0C, 0x00, 0x50, 0x00, 0x0D, 0x00, 0x50, 0x00,
-	0x0E, 0x00, 0x50, 0x00, 0x0F, 0x00, 0x50, 0x00,
-	0x10, 0x00, 0x50, 0x00, 0x11, 0x00, 0x5A, 0x00,
-	0x12, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x5A, 0x00,
-	0x14, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x5A, 0x00,
-	0x16, 0x00, 0x5A, 0x00, 0x17, 0x00, 0x5A, 0x00,
-	0x18, 0x00, 0x5A, 0x00, 0x19, 0x00, 0x5A, 0x00,
-	0x1A, 0x00, 0x5A, 0x00, 0x1B, 0x00, 0x5A, 0x00,
-	0x1C, 0x00, 0x5A, 0x00, 0x1D, 0x00, 0x5A, 0x00,
-	0x1E, 0x00, 0x5A, 0x00, 0x1F, 0x00, 0x5A, 0x00,
-	0x20, 0x00, 0x5A, 0x00, 0x21, 0x00, 0x73, 0x00,
-	0x22, 0x00, 0x73, 0x00, 0x23, 0x00, 0x73, 0x00,
-	0x24, 0x00, 0x73, 0x00, 0x25, 0x00, 0x73, 0x00,
-	0x26, 0x00, 0x73, 0x00, 0x27, 0x00, 0x73, 0x00,
-	0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x73, 0x00,
-	0x2A, 0x00, 0x73, 0x00, 0x2B, 0x00, 0x50, 0x00,
-	0x2C, 0x00, 0x5A, 0x00, 0x2D, 0x00, 0x5A, 0x00,
-	0x2E, 0x00, 0x5A, 0x00, 0x2F, 0x00, 0x5A, 0x00,
-	0x30, 0x00, 0x5A, 0x00, 0x31, 0x00, 0x5A, 0x00
-};
-
-static const ByteProvider kLoLIngameSfxIndexDOSCDProvider = { ARRAYSIZE(kLoLIngameSfxIndexDOSCD), kLoLIngameSfxIndexDOSCD };
+static const uint16 kLoLIngameSfxIndexDOSCD[500] = {
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0x0034, 0x006f, 0x007c, 0x0000, 0x007d, 0x0000,
+	0x007e, 0x0000, 0x007f, 0x0000, 0x0036, 0x0073, 0x0035, 0xff9c, 0xffff, 0x0000,
+	0x0080, 0x0073, 0x0081, 0x0073, 0x0082, 0x0073, 0x0083, 0x0073, 0x0084, 0x0073,
+	0x0085, 0x0073, 0x0086, 0x0073, 0x00d7, 0x0076, 0x0087, 0x0065, 0x0038, 0x005f,
+	0x0037, 0x005f, 0x0032, 0x000a, 0x0033, 0x0064, 0x0039, 0x0065, 0x003a, 0x000a,
+	0x003b, 0x0014, 0x004e, 0x0065, 0x007a, 0x0064, 0x007b, 0x0064, 0x0088, 0x0065,
+	0x003c, 0x0065, 0x003d, 0x0064, 0x0089, 0x0000, 0x008e, 0x0014, 0x003e, 0x0000,
+	0x003f, 0x0000, 0x0040, 0x0065, 0x0041, 0x0000, 0x00c9, 0x0072, 0x00ca, 0x0072,
+	0x00cb, 0x0072, 0x00cc, 0x0074, 0x00cd, 0x0074, 0x00ce, 0x0074, 0x00cf, 0x0074,
+	0x00d0, 0x0073, 0x00d1, 0x0073, 0x00d2, 0x0073, 0x00d3, 0x0073, 0x00d4, 0x0072,
+	0x00d5, 0x0072, 0x00d6, 0x0072, 0x0042, 0x006f, 0x0043, 0x006f, 0x0044, 0x006f,
+	0x0045, 0x006f, 0x0046, 0x006f, 0x0047, 0x006f, 0x0048, 0x0077, 0x0049, 0xff89,
+	0x004f, 0xff89, 0x0050, 0xff89, 0x00a0, 0xff8a, 0x00a1, 0xff89, 0x00a2, 0xff89,
+	0xffff, 0x0000, 0x00a3, 0xff89, 0x00a4, 0xff89, 0x004a, 0x0013, 0x004b, 0x0013,
+	0x004c, 0x0032, 0x004d, 0x0032, 0x005f, 0x000a, 0x0051, 0x0000, 0x0052, 0x0000,
+	0x008f, 0x0000, 0x0053, 0x0000, 0x0054, 0x0000, 0x0055, 0x0000, 0x0056, 0x0000,
+	0x0057, 0x0000, 0x0058, 0x0077, 0x0060, 0x0000, 0x005d, 0x006a, 0x008a, 0x006f,
+	0x008b, 0x006f, 0x008c, 0x0000, 0x008d, 0x0000, 0x005a, 0x0077, 0x005c, 0x0000,
+	0x005b, 0x0000, 0x005e, 0x006f, 0x0061, 0x0076, 0xffff, 0x0000, 0x0062, 0x0076,
+	0x0063, 0x003c, 0x0064, 0x006d, 0x0065, 0x0000, 0x0066, 0x0000, 0x0067, 0x0000,
+	0x0068, 0x0000, 0x0069, 0x0000, 0x006a, 0x0000, 0x006b, 0x0000, 0x006c, 0x0000,
+	0x006d, 0x0000, 0x006e, 0x0000, 0x006f, 0x0000, 0x0070, 0xff88, 0xffff, 0x0000,
+	0x0071, 0x0000, 0x0072, 0x0000, 0x0073, 0x0074, 0x0074, 0x0000, 0x0075, 0x0000,
+	0x0076, 0x0000, 0x0077, 0x0000, 0x0078, 0x0000, 0x0079, 0x0077, 0x0090, 0x0000,
+	0x0091, 0x0000, 0x0092, 0x0077, 0x0093, 0x001e, 0x0094, 0xff89, 0x0095, 0x0077,
+	0x0096, 0x0076, 0x0097, 0x0072, 0x0098, 0x0000, 0x0099, 0x0050, 0x009a, 0x0078,
+	0x009b, 0x0064, 0x009c, 0x005a, 0x009d, 0x0064, 0x009e, 0x0065, 0x009f, 0x0066,
+	0x00a5, 0xff89, 0x00a6, 0xff89, 0x00a7, 0x0077, 0x00a8, 0x0076, 0xffff, 0x0000,
+	0x00a9, 0x0077, 0x00aa, 0x0077, 0x00ab, 0x0077, 0x00ac, 0x0077, 0x00ad, 0x0077,
+	0x00ae, 0x0077, 0x00af, 0x0076, 0x00b0, 0x0077, 0x00b1, 0x0064, 0x00b2, 0x006f,
+	0x00b3, 0x006e, 0x00b4, 0x006e, 0x00b5, 0x0077, 0x00b6, 0x0077, 0x00b7, 0x0077,
+	0x00b8, 0x0076, 0x00b9, 0x0077, 0x00ba, 0x0077, 0x00bb, 0x0077, 0x00bc, 0x0077,
+	0x00bd, 0x0077, 0x00be, 0x0077, 0x00bf, 0x0077, 0x00c0, 0x0076, 0x00c1, 0x0077,
+	0x00c2, 0x0077, 0x00c3, 0x0077, 0x00c4, 0x006e, 0x00c5, 0x006e, 0x00c6, 0x007d,
+	0x00c7, 0x0078, 0x00c8, 0x0078, 0x00d8, 0x0077, 0x00d9, 0x0077, 0x00da, 0x0077,
+	0x00db, 0x0077, 0x00dc, 0x0077, 0x00dd, 0x0078, 0x00de, 0x0078, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x00e3, 0x0077,
+	0x00e4, 0x0077, 0x00e0, 0x001e, 0x00df, 0x0077, 0x00e1, 0x0005, 0x00e2, 0x000a,
+	0x0000, 0x0050, 0x0001, 0x0050, 0x0002, 0x0050, 0x0003, 0x0050, 0x0004, 0x0050,
+	0x0005, 0x0050, 0x0006, 0x0050, 0x0007, 0x0050, 0x0008, 0x0050, 0x0009, 0x0050,
+	0x000a, 0x0050, 0x000b, 0x0050, 0x000c, 0x0050, 0x000d, 0x0050, 0x000e, 0x0050,
+	0x000f, 0x0050, 0x0010, 0x0050, 0x0011, 0x005a, 0x0012, 0x005a, 0x0013, 0x005a,
+	0x0014, 0x005a, 0x0015, 0x005a, 0x0016, 0x005a, 0x0017, 0x005a, 0x0018, 0x005a,
+	0x0019, 0x005a, 0x001a, 0x005a, 0x001b, 0x005a, 0x001c, 0x005a, 0x001d, 0x005a,
+	0x001e, 0x005a, 0x001f, 0x005a, 0x0020, 0x005a, 0x0021, 0x0073, 0x0022, 0x0073,
+	0x0023, 0x0073, 0x0024, 0x0073, 0x0025, 0x0073, 0x0026, 0x0073, 0x0027, 0x0073,
+	0x0028, 0x0073, 0x0029, 0x0073, 0x002a, 0x0073, 0x002b, 0x0050, 0x002c, 0x005a,
+	0x002d, 0x005a, 0x002e, 0x005a, 0x002f, 0x005a, 0x0030, 0x005a, 0x0031, 0x005a
+};
+
+static const Uint16Provider kLoLIngameSfxIndexDOSCDProvider = { ARRAYSIZE(kLoLIngameSfxIndexDOSCD), kLoLIngameSfxIndexDOSCD };
 
 static const byte kLoLMusicTrackMapDOSCD[240] = {
 	0x01, 0x61, 0x02, 0x01, 0x61, 0x03, 0x01, 0x61,
diff --git a/devtools/create_kyradat/resources/lol_fmtowns.h b/devtools/create_kyradat/resources/lol_fmtowns.h
index 8c9fabf..946c0b2 100644
--- a/devtools/create_kyradat/resources/lol_fmtowns.h
+++ b/devtools/create_kyradat/resources/lol_fmtowns.h
@@ -249,135 +249,60 @@ static const char *const kLoLIngameSfxFilesFMTowns[230] = {
 
 static const StringListProvider kLoLIngameSfxFilesFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxFilesFMTowns), kLoLIngameSfxFilesFMTowns };
 
-static const byte kLoLIngameSfxIndexFMTowns[1000] = {
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x34, 0x00, 0x6F, 0x00, 0x7C, 0x00, 0x00, 0x00,
-	0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
-	0x7F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x73, 0x00,
-	0x35, 0x00, 0x9C, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x80, 0x00, 0x73, 0x00, 0x81, 0x00, 0x73, 0x00,
-	0x82, 0x00, 0x73, 0x00, 0x83, 0x00, 0x73, 0x00,
-	0x84, 0x00, 0x73, 0x00, 0x85, 0x00, 0x73, 0x00,
-	0x86, 0x00, 0x73, 0x00, 0xD7, 0x00, 0x76, 0x00,
-	0x87, 0x00, 0x65, 0x00, 0x38, 0x00, 0x5F, 0x00,
-	0x37, 0x00, 0x5F, 0x00, 0x32, 0x00, 0x0A, 0x00,
-	0x33, 0x00, 0x64, 0x00, 0x39, 0x00, 0x65, 0x00,
-	0x3A, 0x00, 0x0A, 0x00, 0x3B, 0x00, 0x14, 0x00,
-	0x4E, 0x00, 0x65, 0x00, 0x7A, 0x00, 0x64, 0x00,
-	0x7B, 0x00, 0x64, 0x00, 0x88, 0x00, 0x65, 0x00,
-	0x3C, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x64, 0x00,
-	0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x14, 0x00,
-	0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
-	0x40, 0x00, 0x65, 0x00, 0x41, 0x00, 0x00, 0x00,
-	0xC9, 0x00, 0x72, 0x00, 0xCA, 0x00, 0x72, 0x00,
-	0xCB, 0x00, 0x72, 0x00, 0xCC, 0x00, 0x74, 0x00,
-	0xCD, 0x00, 0x74, 0x00, 0xCE, 0x00, 0x74, 0x00,
-	0xCF, 0x00, 0x74, 0x00, 0xD0, 0x00, 0x73, 0x00,
-	0xD1, 0x00, 0x73, 0x00, 0xD2, 0x00, 0x73, 0x00,
-	0xD3, 0x00, 0x73, 0x00, 0xD4, 0x00, 0x72, 0x00,
-	0xD5, 0x00, 0x72, 0x00, 0xD6, 0x00, 0x72, 0x00,
-	0x42, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00,
-	0x44, 0x00, 0x6F, 0x00, 0x45, 0x00, 0x6F, 0x00,
-	0x46, 0x00, 0x6F, 0x00, 0x47, 0x00, 0x6F, 0x00,
-	0x48, 0x00, 0x77, 0x00, 0x49, 0x00, 0x89, 0xFF,
-	0x4F, 0x00, 0x89, 0xFF, 0x50, 0x00, 0x89, 0xFF,
-	0xA0, 0x00, 0x8A, 0xFF, 0xA1, 0x00, 0x89, 0xFF,
-	0xA2, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0xA3, 0x00, 0x89, 0xFF, 0xA4, 0x00, 0x89, 0xFF,
-	0x4A, 0x00, 0x13, 0x00, 0x4B, 0x00, 0x13, 0x00,
-	0x4C, 0x00, 0x32, 0x00, 0x4D, 0x00, 0x32, 0x00,
-	0x5F, 0x00, 0x0A, 0x00, 0x51, 0x00, 0x00, 0x00,
-	0x52, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00,
-	0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
-	0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
-	0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x77, 0x00,
-	0x60, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x6A, 0x00,
-	0x8A, 0x00, 0x6F, 0x00, 0x8B, 0x00, 0x6F, 0x00,
-	0x8C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00,
-	0x5A, 0x00, 0x77, 0x00, 0x5C, 0x00, 0x00, 0x00,
-	0x5B, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x6F, 0x00,
-	0x61, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x62, 0x00, 0x76, 0x00, 0x63, 0x00, 0x3C, 0x00,
-	0x64, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
-	0x66, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
-	0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
-	0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00,
-	0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
-	0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00,
-	0x70, 0x00, 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
-	0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
-	0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
-	0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
-	0x79, 0x00, 0x77, 0x00, 0x90, 0x00, 0x00, 0x00,
-	0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x77, 0x00,
-	0x93, 0x00, 0x1E, 0x00, 0x94, 0x00, 0x89, 0xFF,
-	0x95, 0x00, 0x77, 0x00, 0x96, 0x00, 0x76, 0x00,
-	0x97, 0x00, 0x72, 0x00, 0x98, 0x00, 0x00, 0x00,
-	0x99, 0x00, 0x50, 0x00, 0x9A, 0x00, 0x78, 0x00,
-	0x9B, 0x00, 0x64, 0x00, 0x9C, 0x00, 0x5A, 0x00,
-	0x9D, 0x00, 0x64, 0x00, 0x9E, 0x00, 0x65, 0x00,
-	0x9F, 0x00, 0x66, 0x00, 0xA5, 0x00, 0x89, 0xFF,
-	0xA6, 0x00, 0x89, 0xFF, 0xA7, 0x00, 0x77, 0x00,
-	0xA8, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xA9, 0x00, 0x77, 0x00, 0xAA, 0x00, 0x77, 0x00,
-	0xAB, 0x00, 0x77, 0x00, 0xAC, 0x00, 0x77, 0x00,
-	0xAD, 0x00, 0x77, 0x00, 0xAE, 0x00, 0x77, 0x00,
-	0xAF, 0x00, 0x76, 0x00, 0xB0, 0x00, 0x77, 0x00,
-	0xB1, 0x00, 0x64, 0x00, 0xB2, 0x00, 0x6F, 0x00,
-	0xB3, 0x00, 0x6E, 0x00, 0xB4, 0x00, 0x6E, 0x00,
-	0xB5, 0x00, 0x77, 0x00, 0xB6, 0x00, 0x77, 0x00,
-	0xB7, 0x00, 0x77, 0x00, 0xB8, 0x00, 0x76, 0x00,
-	0xB9, 0x00, 0x77, 0x00, 0xBA, 0x00, 0x77, 0x00,
-	0xBB, 0x00, 0x77, 0x00, 0xBC, 0x00, 0x77, 0x00,
-	0xBD, 0x00, 0x77, 0x00, 0xBE, 0x00, 0x77, 0x00,
-	0xBF, 0x00, 0x77, 0x00, 0xC0, 0x00, 0x76, 0x00,
-	0xC1, 0x00, 0x77, 0x00, 0xC2, 0x00, 0x77, 0x00,
-	0xC3, 0x00, 0x77, 0x00, 0xC4, 0x00, 0x6E, 0x00,
-	0xC5, 0x00, 0x6E, 0x00, 0xC6, 0x00, 0x7D, 0x00,
-	0xC7, 0x00, 0x78, 0x00, 0xC8, 0x00, 0x78, 0x00,
-	0xD8, 0x00, 0x77, 0x00, 0xD9, 0x00, 0x77, 0x00,
-	0xDA, 0x00, 0x77, 0x00, 0xDB, 0x00, 0x77, 0x00,
-	0xDC, 0x00, 0x77, 0x00, 0xDD, 0x00, 0x78, 0x00,
-	0xDE, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xE3, 0x00, 0x77, 0x00, 0xE4, 0x00, 0x77, 0x00,
-	0xE0, 0x00, 0x1E, 0x00, 0xDF, 0x00, 0x77, 0x00,
-	0xE1, 0x00, 0x05, 0x00, 0xE2, 0x00, 0x0A, 0x00,
-	0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x50, 0x00,
-	0x02, 0x00, 0x50, 0x00, 0x03, 0x00, 0x50, 0x00,
-	0x04, 0x00, 0x50, 0x00, 0x05, 0x00, 0x50, 0x00,
-	0x06, 0x00, 0x50, 0x00, 0x07, 0x00, 0x50, 0x00,
-	0x08, 0x00, 0x50, 0x00, 0x09, 0x00, 0x50, 0x00,
-	0x0A, 0x00, 0x50, 0x00, 0x0B, 0x00, 0x50, 0x00,
-	0x0C, 0x00, 0x50, 0x00, 0x0D, 0x00, 0x50, 0x00,
-	0x0E, 0x00, 0x50, 0x00, 0x0F, 0x00, 0x50, 0x00,
-	0x10, 0x00, 0x50, 0x00, 0x11, 0x00, 0x5A, 0x00,
-	0x12, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x5A, 0x00,
-	0x14, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x5A, 0x00,
-	0x16, 0x00, 0x5A, 0x00, 0x17, 0x00, 0x5A, 0x00,
-	0x18, 0x00, 0x5A, 0x00, 0x19, 0x00, 0x5A, 0x00,
-	0x1A, 0x00, 0x5A, 0x00, 0x1B, 0x00, 0x5A, 0x00,
-	0x1C, 0x00, 0x5A, 0x00, 0x1D, 0x00, 0x5A, 0x00,
-	0x1E, 0x00, 0x5A, 0x00, 0x1F, 0x00, 0x5A, 0x00,
-	0x20, 0x00, 0x5A, 0x00, 0x21, 0x00, 0x73, 0x00,
-	0x22, 0x00, 0x73, 0x00, 0x23, 0x00, 0x73, 0x00,
-	0x24, 0x00, 0x73, 0x00, 0x25, 0x00, 0x73, 0x00,
-	0x26, 0x00, 0x73, 0x00, 0x27, 0x00, 0x73, 0x00,
-	0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x73, 0x00,
-	0x2A, 0x00, 0x73, 0x00, 0x2B, 0x00, 0x50, 0x00,
-	0x2C, 0x00, 0x5A, 0x00, 0x2D, 0x00, 0x5A, 0x00,
-	0x2E, 0x00, 0x5A, 0x00, 0x2F, 0x00, 0x5A, 0x00,
-	0x30, 0x00, 0x5A, 0x00, 0x31, 0x00, 0x5A, 0x00
-};
-
-static const ByteProvider kLoLIngameSfxIndexFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxIndexFMTowns), kLoLIngameSfxIndexFMTowns };
+static const uint16 kLoLIngameSfxIndexFMTowns[500] = {
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0x0034, 0x006f, 0x007c, 0x0000, 0x007d, 0x0000,
+	0x007e, 0x0000, 0x007f, 0x0000, 0x0036, 0x0073, 0x0035, 0xff9c, 0xffff, 0x0000,
+	0x0080, 0x0073, 0x0081, 0x0073, 0x0082, 0x0073, 0x0083, 0x0073, 0x0084, 0x0073,
+	0x0085, 0x0073, 0x0086, 0x0073, 0x00d7, 0x0076, 0x0087, 0x0065, 0x0038, 0x005f,
+	0x0037, 0x005f, 0x0032, 0x000a, 0x0033, 0x0064, 0x0039, 0x0065, 0x003a, 0x000a,
+	0x003b, 0x0014, 0x004e, 0x0065, 0x007a, 0x0064, 0x007b, 0x0064, 0x0088, 0x0065,
+	0x003c, 0x0065, 0x003d, 0x0064, 0x0089, 0x0000, 0x008e, 0x0014, 0x003e, 0x0000,
+	0x003f, 0x0000, 0x0040, 0x0065, 0x0041, 0x0000, 0x00c9, 0x0072, 0x00ca, 0x0072,
+	0x00cb, 0x0072, 0x00cc, 0x0074, 0x00cd, 0x0074, 0x00ce, 0x0074, 0x00cf, 0x0074,
+	0x00d0, 0x0073, 0x00d1, 0x0073, 0x00d2, 0x0073, 0x00d3, 0x0073, 0x00d4, 0x0072,
+	0x00d5, 0x0072, 0x00d6, 0x0072, 0x0042, 0x006f, 0x0043, 0x006f, 0x0044, 0x006f,
+	0x0045, 0x006f, 0x0046, 0x006f, 0x0047, 0x006f, 0x0048, 0x0077, 0x0049, 0xff89,
+	0x004f, 0xff89, 0x0050, 0xff89, 0x00a0, 0xff8a, 0x00a1, 0xff89, 0x00a2, 0xff89,
+	0xffff, 0x0000, 0x00a3, 0xff89, 0x00a4, 0xff89, 0x004a, 0x0013, 0x004b, 0x0013,
+	0x004c, 0x0032, 0x004d, 0x0032, 0x005f, 0x000a, 0x0051, 0x0000, 0x0052, 0x0000,
+	0x008f, 0x0000, 0x0053, 0x0000, 0x0054, 0x0000, 0x0055, 0x0000, 0x0056, 0x0000,
+	0x0057, 0x0000, 0x0058, 0x0077, 0x0060, 0x0000, 0x005d, 0x006a, 0x008a, 0x006f,
+	0x008b, 0x006f, 0x008c, 0x0000, 0x008d, 0x0000, 0x005a, 0x0077, 0x005c, 0x0000,
+	0x005b, 0x0000, 0x005e, 0x006f, 0x0061, 0x0076, 0xffff, 0x0000, 0x0062, 0x0076,
+	0x0063, 0x003c, 0x0064, 0x006d, 0x0065, 0x0000, 0x0066, 0x0000, 0x0067, 0x0000,
+	0x0068, 0x0000, 0x0069, 0x0000, 0x006a, 0x0000, 0x006b, 0x0000, 0x006c, 0x0000,
+	0x006d, 0x0000, 0x006e, 0x0000, 0x006f, 0x0000, 0x0070, 0xff88, 0xffff, 0x0000,
+	0x0071, 0x0000, 0x0072, 0x0000, 0x0073, 0x0074, 0x0074, 0x0000, 0x0075, 0x0000,
+	0x0076, 0x0000, 0x0077, 0x0000, 0x0078, 0x0000, 0x0079, 0x0077, 0x0090, 0x0000,
+	0x0091, 0x0000, 0x0092, 0x0077, 0x0093, 0x001e, 0x0094, 0xff89, 0x0095, 0x0077,
+	0x0096, 0x0076, 0x0097, 0x0072, 0x0098, 0x0000, 0x0099, 0x0050, 0x009a, 0x0078,
+	0x009b, 0x0064, 0x009c, 0x005a, 0x009d, 0x0064, 0x009e, 0x0065, 0x009f, 0x0066,
+	0x00a5, 0xff89, 0x00a6, 0xff89, 0x00a7, 0x0077, 0x00a8, 0x0076, 0xffff, 0x0000,
+	0x00a9, 0x0077, 0x00aa, 0x0077, 0x00ab, 0x0077, 0x00ac, 0x0077, 0x00ad, 0x0077,
+	0x00ae, 0x0077, 0x00af, 0x0076, 0x00b0, 0x0077, 0x00b1, 0x0064, 0x00b2, 0x006f,
+	0x00b3, 0x006e, 0x00b4, 0x006e, 0x00b5, 0x0077, 0x00b6, 0x0077, 0x00b7, 0x0077,
+	0x00b8, 0x0076, 0x00b9, 0x0077, 0x00ba, 0x0077, 0x00bb, 0x0077, 0x00bc, 0x0077,
+	0x00bd, 0x0077, 0x00be, 0x0077, 0x00bf, 0x0077, 0x00c0, 0x0076, 0x00c1, 0x0077,
+	0x00c2, 0x0077, 0x00c3, 0x0077, 0x00c4, 0x006e, 0x00c5, 0x006e, 0x00c6, 0x007d,
+	0x00c7, 0x0078, 0x00c8, 0x0078, 0x00d8, 0x0077, 0x00d9, 0x0077, 0x00da, 0x0077,
+	0x00db, 0x0077, 0x00dc, 0x0077, 0x00dd, 0x0078, 0x00de, 0x0078, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x00e3, 0x0077,
+	0x00e4, 0x0077, 0x00e0, 0x001e, 0x00df, 0x0077, 0x00e1, 0x0005, 0x00e2, 0x000a,
+	0x0000, 0x0050, 0x0001, 0x0050, 0x0002, 0x0050, 0x0003, 0x0050, 0x0004, 0x0050,
+	0x0005, 0x0050, 0x0006, 0x0050, 0x0007, 0x0050, 0x0008, 0x0050, 0x0009, 0x0050,
+	0x000a, 0x0050, 0x000b, 0x0050, 0x000c, 0x0050, 0x000d, 0x0050, 0x000e, 0x0050,
+	0x000f, 0x0050, 0x0010, 0x0050, 0x0011, 0x005a, 0x0012, 0x005a, 0x0013, 0x005a,
+	0x0014, 0x005a, 0x0015, 0x005a, 0x0016, 0x005a, 0x0017, 0x005a, 0x0018, 0x005a,
+	0x0019, 0x005a, 0x001a, 0x005a, 0x001b, 0x005a, 0x001c, 0x005a, 0x001d, 0x005a,
+	0x001e, 0x005a, 0x001f, 0x005a, 0x0020, 0x005a, 0x0021, 0x0073, 0x0022, 0x0073,
+	0x0023, 0x0073, 0x0024, 0x0073, 0x0025, 0x0073, 0x0026, 0x0073, 0x0027, 0x0073,
+	0x0028, 0x0073, 0x0029, 0x0073, 0x002a, 0x0073, 0x002b, 0x0050, 0x002c, 0x005a,
+	0x002d, 0x005a, 0x002e, 0x005a, 0x002f, 0x005a, 0x0030, 0x005a, 0x0031, 0x005a
+};
+
+static const Uint16Provider kLoLIngameSfxIndexFMTownsProvider = { ARRAYSIZE(kLoLIngameSfxIndexFMTowns), kLoLIngameSfxIndexFMTowns };
 
 static const SpellProperty kLoLSpellPropertiesFMTowns[10] = {
 	{ 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 },
diff --git a/devtools/create_kyradat/resources/lol_pc98.h b/devtools/create_kyradat/resources/lol_pc98.h
index e62fabe..2e19cf2 100644
--- a/devtools/create_kyradat/resources/lol_pc98.h
+++ b/devtools/create_kyradat/resources/lol_pc98.h
@@ -248,135 +248,60 @@ static const char *const kLoLIngameSfxFilesPC98[229] = {
 
 static const StringListProvider kLoLIngameSfxFilesPC98Provider = { ARRAYSIZE(kLoLIngameSfxFilesPC98), kLoLIngameSfxFilesPC98 };
 
-static const byte kLoLIngameSfxIndexPC98[1000] = {
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x34, 0x00, 0x6F, 0x00, 0x7C, 0x00, 0x00, 0x00,
-	0x7D, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
-	0x7F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x73, 0x00,
-	0x35, 0x00, 0x9C, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x80, 0x00, 0x73, 0x00, 0x81, 0x00, 0x73, 0x00,
-	0x82, 0x00, 0x73, 0x00, 0x83, 0x00, 0x73, 0x00,
-	0x84, 0x00, 0x73, 0x00, 0x85, 0x00, 0x73, 0x00,
-	0x86, 0x00, 0x73, 0x00, 0xD7, 0x00, 0x76, 0x00,
-	0x87, 0x00, 0x65, 0x00, 0x38, 0x00, 0x5F, 0x00,
-	0x37, 0x00, 0x5F, 0x00, 0x32, 0x00, 0x0A, 0x00,
-	0x33, 0x00, 0x64, 0x00, 0x39, 0x00, 0x65, 0x00,
-	0x3A, 0x00, 0x0A, 0x00, 0x3B, 0x00, 0x14, 0x00,
-	0x4E, 0x00, 0x65, 0x00, 0x7A, 0x00, 0x64, 0x00,
-	0x7B, 0x00, 0x64, 0x00, 0x88, 0x00, 0x65, 0x00,
-	0x3C, 0x00, 0x65, 0x00, 0x3D, 0x00, 0x64, 0x00,
-	0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x14, 0x00,
-	0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00,
-	0x40, 0x00, 0x65, 0x00, 0x41, 0x00, 0x00, 0x00,
-	0xC9, 0x00, 0x72, 0x00, 0xCA, 0x00, 0x72, 0x00,
-	0xCB, 0x00, 0x72, 0x00, 0xCC, 0x00, 0x74, 0x00,
-	0xCD, 0x00, 0x74, 0x00, 0xCE, 0x00, 0x74, 0x00,
-	0xCF, 0x00, 0x74, 0x00, 0xD0, 0x00, 0x73, 0x00,
-	0xD1, 0x00, 0x73, 0x00, 0xD2, 0x00, 0x73, 0x00,
-	0xD3, 0x00, 0x73, 0x00, 0xD4, 0x00, 0x72, 0x00,
-	0xD5, 0x00, 0x72, 0x00, 0xD6, 0x00, 0x72, 0x00,
-	0x42, 0x00, 0x6F, 0x00, 0x43, 0x00, 0x6F, 0x00,
-	0x44, 0x00, 0x6F, 0x00, 0x45, 0x00, 0x6F, 0x00,
-	0x46, 0x00, 0x6F, 0x00, 0x47, 0x00, 0x6F, 0x00,
-	0x48, 0x00, 0x77, 0x00, 0x49, 0x00, 0x89, 0xFF,
-	0x4F, 0x00, 0x89, 0xFF, 0x50, 0x00, 0x89, 0xFF,
-	0xA0, 0x00, 0x8A, 0xFF, 0xA1, 0x00, 0x89, 0xFF,
-	0xA2, 0x00, 0x89, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0xA3, 0x00, 0x89, 0xFF, 0xA4, 0x00, 0x89, 0xFF,
-	0x4A, 0x00, 0x13, 0x00, 0x4B, 0x00, 0x13, 0x00,
-	0x4C, 0x00, 0x32, 0x00, 0x4D, 0x00, 0x32, 0x00,
-	0x5F, 0x00, 0x0A, 0x00, 0x51, 0x00, 0x00, 0x00,
-	0x52, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00,
-	0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
-	0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
-	0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x77, 0x00,
-	0x60, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x6A, 0x00,
-	0x8A, 0x00, 0x6F, 0x00, 0x8B, 0x00, 0x6F, 0x00,
-	0x8C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00,
-	0x5A, 0x00, 0x77, 0x00, 0x5C, 0x00, 0x00, 0x00,
-	0x5B, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x6F, 0x00,
-	0x61, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0x62, 0x00, 0x76, 0x00, 0x63, 0x00, 0x3C, 0x00,
-	0x64, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
-	0x66, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
-	0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
-	0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00,
-	0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
-	0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00,
-	0x70, 0x00, 0x88, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
-	0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
-	0x73, 0x00, 0x74, 0x00, 0x74, 0x00, 0x00, 0x00,
-	0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
-	0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
-	0x79, 0x00, 0x77, 0x00, 0x90, 0x00, 0x00, 0x00,
-	0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x77, 0x00,
-	0x93, 0x00, 0x1E, 0x00, 0x94, 0x00, 0x89, 0xFF,
-	0x95, 0x00, 0x77, 0x00, 0x96, 0x00, 0x76, 0x00,
-	0x97, 0x00, 0x72, 0x00, 0x98, 0x00, 0x00, 0x00,
-	0x99, 0x00, 0x50, 0x00, 0x9A, 0x00, 0x78, 0x00,
-	0x9B, 0x00, 0x64, 0x00, 0x9C, 0x00, 0x5A, 0x00,
-	0x9D, 0x00, 0x64, 0x00, 0x9E, 0x00, 0x65, 0x00,
-	0x9F, 0x00, 0x66, 0x00, 0xA5, 0x00, 0x89, 0xFF,
-	0xA6, 0x00, 0x89, 0xFF, 0xA7, 0x00, 0x77, 0x00,
-	0xA8, 0x00, 0x76, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xA9, 0x00, 0x77, 0x00, 0xAA, 0x00, 0x77, 0x00,
-	0xAB, 0x00, 0x77, 0x00, 0xAC, 0x00, 0x77, 0x00,
-	0xAD, 0x00, 0x77, 0x00, 0xAE, 0x00, 0x77, 0x00,
-	0xAF, 0x00, 0x76, 0x00, 0xB0, 0x00, 0x77, 0x00,
-	0xB1, 0x00, 0x64, 0x00, 0xB2, 0x00, 0x6F, 0x00,
-	0xB3, 0x00, 0x6E, 0x00, 0xB4, 0x00, 0x6E, 0x00,
-	0xB5, 0x00, 0x77, 0x00, 0xB6, 0x00, 0x77, 0x00,
-	0xB7, 0x00, 0x77, 0x00, 0xB8, 0x00, 0x76, 0x00,
-	0xB9, 0x00, 0x77, 0x00, 0xBA, 0x00, 0x77, 0x00,
-	0xBB, 0x00, 0x77, 0x00, 0xBC, 0x00, 0x77, 0x00,
-	0xBD, 0x00, 0x77, 0x00, 0xBE, 0x00, 0x77, 0x00,
-	0xBF, 0x00, 0x77, 0x00, 0xC0, 0x00, 0x76, 0x00,
-	0xC1, 0x00, 0x77, 0x00, 0xC2, 0x00, 0x77, 0x00,
-	0xC3, 0x00, 0x77, 0x00, 0xC4, 0x00, 0x6E, 0x00,
-	0xC5, 0x00, 0x6E, 0x00, 0xC6, 0x00, 0x7D, 0x00,
-	0xC7, 0x00, 0x78, 0x00, 0xC8, 0x00, 0x78, 0x00,
-	0xD8, 0x00, 0x77, 0x00, 0xD9, 0x00, 0x77, 0x00,
-	0xDA, 0x00, 0x77, 0x00, 0xDB, 0x00, 0x77, 0x00,
-	0xDC, 0x00, 0x77, 0x00, 0xDD, 0x00, 0x78, 0x00,
-	0xDE, 0x00, 0x78, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-	0xE3, 0x00, 0x77, 0x00, 0xE4, 0x00, 0x77, 0x00,
-	0xE0, 0x00, 0x1E, 0x00, 0xDF, 0x00, 0x77, 0x00,
-	0xE1, 0x00, 0x05, 0x00, 0xE2, 0x00, 0x0A, 0x00,
-	0x00, 0x00, 0x50, 0x00, 0x01, 0x00, 0x50, 0x00,
-	0x02, 0x00, 0x50, 0x00, 0x03, 0x00, 0x50, 0x00,
-	0x04, 0x00, 0x50, 0x00, 0x05, 0x00, 0x50, 0x00,
-	0x06, 0x00, 0x50, 0x00, 0x07, 0x00, 0x50, 0x00,
-	0x08, 0x00, 0x50, 0x00, 0x09, 0x00, 0x50, 0x00,
-	0x0A, 0x00, 0x50, 0x00, 0x0B, 0x00, 0x50, 0x00,
-	0x0C, 0x00, 0x50, 0x00, 0x0D, 0x00, 0x50, 0x00,
-	0x0E, 0x00, 0x50, 0x00, 0x0F, 0x00, 0x50, 0x00,
-	0x10, 0x00, 0x50, 0x00, 0x11, 0x00, 0x5A, 0x00,
-	0x12, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x5A, 0x00,
-	0x14, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x5A, 0x00,
-	0x16, 0x00, 0x5A, 0x00, 0x17, 0x00, 0x5A, 0x00,
-	0x18, 0x00, 0x5A, 0x00, 0x19, 0x00, 0x5A, 0x00,
-	0x1A, 0x00, 0x5A, 0x00, 0x1B, 0x00, 0x5A, 0x00,
-	0x1C, 0x00, 0x5A, 0x00, 0x1D, 0x00, 0x5A, 0x00,
-	0x1E, 0x00, 0x5A, 0x00, 0x1F, 0x00, 0x5A, 0x00,
-	0x20, 0x00, 0x5A, 0x00, 0x21, 0x00, 0x73, 0x00,
-	0x22, 0x00, 0x73, 0x00, 0x23, 0x00, 0x73, 0x00,
-	0x24, 0x00, 0x73, 0x00, 0x25, 0x00, 0x73, 0x00,
-	0x26, 0x00, 0x73, 0x00, 0x27, 0x00, 0x73, 0x00,
-	0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x73, 0x00,
-	0x2A, 0x00, 0x73, 0x00, 0x2B, 0x00, 0x50, 0x00,
-	0x2C, 0x00, 0x5A, 0x00, 0x2D, 0x00, 0x5A, 0x00,
-	0x2E, 0x00, 0x5A, 0x00, 0x2F, 0x00, 0x5A, 0x00,
-	0x30, 0x00, 0x5A, 0x00, 0x31, 0x00, 0x5A, 0x00
-};
-
-static const ByteProvider kLoLIngameSfxIndexPC98Provider = { ARRAYSIZE(kLoLIngameSfxIndexPC98), kLoLIngameSfxIndexPC98 };
+static const uint16 kLoLIngameSfxIndexPC98[500] = {
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0x0034, 0x006f, 0x007c, 0x0000, 0x007d, 0x0000,
+	0x007e, 0x0000, 0x007f, 0x0000, 0x0036, 0x0073, 0x0035, 0xff9c, 0xffff, 0x0000,
+	0x0080, 0x0073, 0x0081, 0x0073, 0x0082, 0x0073, 0x0083, 0x0073, 0x0084, 0x0073,
+	0x0085, 0x0073, 0x0086, 0x0073, 0x00d7, 0x0076, 0x0087, 0x0065, 0x0038, 0x005f,
+	0x0037, 0x005f, 0x0032, 0x000a, 0x0033, 0x0064, 0x0039, 0x0065, 0x003a, 0x000a,
+	0x003b, 0x0014, 0x004e, 0x0065, 0x007a, 0x0064, 0x007b, 0x0064, 0x0088, 0x0065,
+	0x003c, 0x0065, 0x003d, 0x0064, 0x0089, 0x0000, 0x008e, 0x0014, 0x003e, 0x0000,
+	0x003f, 0x0000, 0x0040, 0x0065, 0x0041, 0x0000, 0x00c9, 0x0072, 0x00ca, 0x0072,
+	0x00cb, 0x0072, 0x00cc, 0x0074, 0x00cd, 0x0074, 0x00ce, 0x0074, 0x00cf, 0x0074,
+	0x00d0, 0x0073, 0x00d1, 0x0073, 0x00d2, 0x0073, 0x00d3, 0x0073, 0x00d4, 0x0072,
+	0x00d5, 0x0072, 0x00d6, 0x0072, 0x0042, 0x006f, 0x0043, 0x006f, 0x0044, 0x006f,
+	0x0045, 0x006f, 0x0046, 0x006f, 0x0047, 0x006f, 0x0048, 0x0077, 0x0049, 0xff89,
+	0x004f, 0xff89, 0x0050, 0xff89, 0x00a0, 0xff8a, 0x00a1, 0xff89, 0x00a2, 0xff89,
+	0xffff, 0x0000, 0x00a3, 0xff89, 0x00a4, 0xff89, 0x004a, 0x0013, 0x004b, 0x0013,
+	0x004c, 0x0032, 0x004d, 0x0032, 0x005f, 0x000a, 0x0051, 0x0000, 0x0052, 0x0000,
+	0x008f, 0x0000, 0x0053, 0x0000, 0x0054, 0x0000, 0x0055, 0x0000, 0x0056, 0x0000,
+	0x0057, 0x0000, 0x0058, 0x0077, 0x0060, 0x0000, 0x005d, 0x006a, 0x008a, 0x006f,
+	0x008b, 0x006f, 0x008c, 0x0000, 0x008d, 0x0000, 0x005a, 0x0077, 0x005c, 0x0000,
+	0x005b, 0x0000, 0x005e, 0x006f, 0x0061, 0x0076, 0xffff, 0x0000, 0x0062, 0x0076,
+	0x0063, 0x003c, 0x0064, 0x006d, 0x0065, 0x0000, 0x0066, 0x0000, 0x0067, 0x0000,
+	0x0068, 0x0000, 0x0069, 0x0000, 0x006a, 0x0000, 0x006b, 0x0000, 0x006c, 0x0000,
+	0x006d, 0x0000, 0x006e, 0x0000, 0x006f, 0x0000, 0x0070, 0xff88, 0xffff, 0x0000,
+	0x0071, 0x0000, 0x0072, 0x0000, 0x0073, 0x0074, 0x0074, 0x0000, 0x0075, 0x0000,
+	0x0076, 0x0000, 0x0077, 0x0000, 0x0078, 0x0000, 0x0079, 0x0077, 0x0090, 0x0000,
+	0x0091, 0x0000, 0x0092, 0x0077, 0x0093, 0x001e, 0x0094, 0xff89, 0x0095, 0x0077,
+	0x0096, 0x0076, 0x0097, 0x0072, 0x0098, 0x0000, 0x0099, 0x0050, 0x009a, 0x0078,
+	0x009b, 0x0064, 0x009c, 0x005a, 0x009d, 0x0064, 0x009e, 0x0065, 0x009f, 0x0066,
+	0x00a5, 0xff89, 0x00a6, 0xff89, 0x00a7, 0x0077, 0x00a8, 0x0076, 0xffff, 0x0000,
+	0x00a9, 0x0077, 0x00aa, 0x0077, 0x00ab, 0x0077, 0x00ac, 0x0077, 0x00ad, 0x0077,
+	0x00ae, 0x0077, 0x00af, 0x0076, 0x00b0, 0x0077, 0x00b1, 0x0064, 0x00b2, 0x006f,
+	0x00b3, 0x006e, 0x00b4, 0x006e, 0x00b5, 0x0077, 0x00b6, 0x0077, 0x00b7, 0x0077,
+	0x00b8, 0x0076, 0x00b9, 0x0077, 0x00ba, 0x0077, 0x00bb, 0x0077, 0x00bc, 0x0077,
+	0x00bd, 0x0077, 0x00be, 0x0077, 0x00bf, 0x0077, 0x00c0, 0x0076, 0x00c1, 0x0077,
+	0x00c2, 0x0077, 0x00c3, 0x0077, 0x00c4, 0x006e, 0x00c5, 0x006e, 0x00c6, 0x007d,
+	0x00c7, 0x0078, 0x00c8, 0x0078, 0x00d8, 0x0077, 0x00d9, 0x0077, 0x00da, 0x0077,
+	0x00db, 0x0077, 0x00dc, 0x0077, 0x00dd, 0x0078, 0x00de, 0x0078, 0xffff, 0x0000,
+	0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x00e3, 0x0077,
+	0x00e4, 0x0077, 0x00e0, 0x001e, 0x00df, 0x0077, 0x00e1, 0x0005, 0x00e2, 0x000a,
+	0x0000, 0x0050, 0x0001, 0x0050, 0x0002, 0x0050, 0x0003, 0x0050, 0x0004, 0x0050,
+	0x0005, 0x0050, 0x0006, 0x0050, 0x0007, 0x0050, 0x0008, 0x0050, 0x0009, 0x0050,
+	0x000a, 0x0050, 0x000b, 0x0050, 0x000c, 0x0050, 0x000d, 0x0050, 0x000e, 0x0050,
+	0x000f, 0x0050, 0x0010, 0x0050, 0x0011, 0x005a, 0x0012, 0x005a, 0x0013, 0x005a,
+	0x0014, 0x005a, 0x0015, 0x005a, 0x0016, 0x005a, 0x0017, 0x005a, 0x0018, 0x005a,
+	0x0019, 0x005a, 0x001a, 0x005a, 0x001b, 0x005a, 0x001c, 0x005a, 0x001d, 0x005a,
+	0x001e, 0x005a, 0x001f, 0x005a, 0x0020, 0x005a, 0x0021, 0x0073, 0x0022, 0x0073,
+	0x0023, 0x0073, 0x0024, 0x0073, 0x0025, 0x0073, 0x0026, 0x0073, 0x0027, 0x0073,
+	0x0028, 0x0073, 0x0029, 0x0073, 0x002a, 0x0073, 0x002b, 0x0050, 0x002c, 0x005a,
+	0x002d, 0x005a, 0x002e, 0x005a, 0x002f, 0x005a, 0x0030, 0x005a, 0x0031, 0x005a
+};
+
+static const Uint16Provider kLoLIngameSfxIndexPC98Provider = { ARRAYSIZE(kLoLIngameSfxIndexPC98), kLoLIngameSfxIndexPC98 };
 
 static const SpellProperty kLoLSpellPropertiesPC98[10] = {
 	{ 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 },
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index 81f96e7..8d0c587 100644
Binary files a/dists/engine-data/kyra.dat and b/dists/engine-data/kyra.dat differ
diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h
index 9f952e5..5d9804e 100644
--- a/engines/kyra/lol.h
+++ b/engines/kyra/lol.h
@@ -462,7 +462,7 @@ private:
 	int _ingameSoundListSize;
 
 	const uint8 *_musicTrackMap;
-	const uint16 *_ingameSoundIndex;
+	const int16 *_ingameSoundIndex;
 	int _ingameSoundIndexSize;
 	const uint8 *_ingameGMSoundIndex;
 	int _ingameGMSoundIndexSize;
diff --git a/engines/kyra/sound_lol.cpp b/engines/kyra/sound_lol.cpp
index ec48dc8..5871040 100644
--- a/engines/kyra/sound_lol.cpp
+++ b/engines/kyra/sound_lol.cpp
@@ -161,11 +161,11 @@ void LoLEngine::snd_playSoundEffect(int track, int volume) {
 		return;
 
 	_lastSfxTrack = track;
-	if (track == -1 || track >= (_ingameSoundIndexSize - 500) / 2)
+	if (track == -1 || track >= _ingameSoundIndexSize / 2)
 		return;
 
 	volume &= 0xFF;
-	int16 prIndex = (int16)READ_LE_UINT16(&_ingameSoundIndex[track * 2 + 1]);
+	int16 prIndex = _ingameSoundIndex[track * 2 + 1];
 	uint16 priority = (prIndex > 0) ? (prIndex * volume) >> 8 : -prIndex;
 
 	static const uint8 volTable1[] = { 223, 159, 95, 47, 15, 0 };
@@ -178,7 +178,7 @@ void LoLEngine::snd_playSoundEffect(int track, int volume) {
 		}
 	}
 
-	int16 vocIndex = (int16)READ_LE_UINT16(&_ingameSoundIndex[track * 2]);
+	int16 vocIndex = _ingameSoundIndex[track * 2];
 
 	bool hasVocFile = false;
 	if (vocIndex != -1) {
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index 5a45566..7cb102b 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -39,7 +39,7 @@
 
 namespace Kyra {
 
-#define RESFILE_VERSION 89
+#define RESFILE_VERSION 90
 
 namespace {
 bool checkKyraDat(Common::SeekableReadStream *file) {
diff --git a/engines/kyra/staticres_lol.cpp b/engines/kyra/staticres_lol.cpp
index c40b4a0..e8d2a4c 100644
--- a/engines/kyra/staticres_lol.cpp
+++ b/engines/kyra/staticres_lol.cpp
@@ -255,7 +255,7 @@ void LoLEngine::initStaticResource() {
 	int tempSize;
 	_pakFileList = _staticres->loadStrings(kLoLIngamePakFiles, _pakFileListSize);
 	_charDefaults = _staticres->loadCharData(kLoLCharacterDefs, _charDefaultsSize);
-	_ingameSoundIndex = (const uint16 *)_staticres->loadRawData(kLoLIngameSfxIndex, _ingameSoundIndexSize);
+	_ingameSoundIndex = (const int16 *)_staticres->loadRawDataBe16(kLoLIngameSfxIndex, _ingameSoundIndexSize);
 	_musicTrackMap = _staticres->loadRawData(kLoLMusicTrackMap, tempSize);
 	_ingameGMSoundIndex = _staticres->loadRawData(kLoLIngameGMSfxIndex, _ingameGMSoundIndexSize);
 	_ingameMT32SoundIndex = _staticres->loadRawData(kLoLIngameMT32SfxIndex, _ingameMT32SoundIndexSize);


Commit: 05f6cf388b23e6d14a7f510767018f1dc61bf795
    https://github.com/scummvm/scummvm/commit/05f6cf388b23e6d14a7f510767018f1dc61bf795
Author: athrxx (athrxx at scummvm.org)
Date: 2018-10-28T15:48:42+01:00

Commit Message:
KYRA: (EOB) - minor fix for EOB 1 monster hit chance calculation

Changed paths:
    engines/kyra/darkmoon.h
    engines/kyra/eob.h
    engines/kyra/eobcommon.cpp
    engines/kyra/eobcommon.h
    engines/kyra/staticres_eob.cpp


diff --git a/engines/kyra/darkmoon.h b/engines/kyra/darkmoon.h
index 57eb46e..f23787d 100644
--- a/engines/kyra/darkmoon.h
+++ b/engines/kyra/darkmoon.h
@@ -119,6 +119,10 @@ private:
 
 	const uint8 *_dscDoorType5Offs;
 
+	// Fight
+	static const uint8 _monsterAcHitChanceTbl1[];
+	static const uint8 _monsterAcHitChanceTbl2[];
+
 	// Rest party
 	void restParty_npc();
 	bool restParty_extraAbortCondition();
diff --git a/engines/kyra/eob.h b/engines/kyra/eob.h
index 09b6380..889144b 100644
--- a/engines/kyra/eob.h
+++ b/engines/kyra/eob.h
@@ -96,6 +96,10 @@ private:
 	const uint8 *_doorSwitchShapeEncodeDefs;
 	const uint8 *_doorSwitchCoords;
 
+	// Fight
+	static const uint8 _monsterAcHitChanceTbl1[];
+	static const uint8 _monsterAcHitChanceTbl2[];
+
 	// Magic
 	void turnUndeadAuto();
 	void turnUndeadAutoHit();
diff --git a/engines/kyra/eobcommon.cpp b/engines/kyra/eobcommon.cpp
index 2264d99..b888752 100644
--- a/engines/kyra/eobcommon.cpp
+++ b/engines/kyra/eobcommon.cpp
@@ -66,6 +66,8 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags)
 	_redSplatShape = _greenSplatShape = _deadCharShape = _disabledCharGrid = 0;
 	_blackBoxSmallGrid = _weaponSlotGrid = _blackBoxWideGrid = _lightningColumnShape = 0;
 
+	_monsterAcHitChanceTable1 = _monsterAcHitChanceTable2 = 0;
+	
 	_monsterDustStrings = 0;
 	_enemyMageSpellList = 0;
 	_enemyMageSfx = 0;
@@ -2366,13 +2368,10 @@ int EoBCoreEngine::getDexHitChanceModifier(int charIndex) {
 }
 
 int EoBCoreEngine::getMonsterAcHitChanceModifier(int charIndex, int monsterAc) {
-	static const uint8 mod1[] = { 1, 3, 3, 2 };
-	static const uint8 mod2[] = { 1, 1, 2, 1 };
-
 	int l = _characters[charIndex].level[0] - 1;
 	int cm = _charClassModifier[_characters[charIndex].cClass];
 
-	return (20 - ((l / mod1[cm]) * mod2[cm])) - monsterAc;
+	return (20 - ((l / _monsterAcHitChanceTable1[cm]) * _monsterAcHitChanceTable2[cm])) - monsterAc;
 }
 
 void EoBCoreEngine::explodeMonster(EoBMonsterInPlay *m) {
diff --git a/engines/kyra/eobcommon.h b/engines/kyra/eobcommon.h
index d214da0..157c820 100644
--- a/engines/kyra/eobcommon.h
+++ b/engines/kyra/eobcommon.h
@@ -915,6 +915,8 @@ protected:
 	bool _preventMonsterFlash;
 	int16 _foundMonstersArray[5];
 	int8 _monsterBlockPosArray[6];
+	const uint8 *_monsterAcHitChanceTable1;
+	const uint8 *_monsterAcHitChanceTable2;
 
 	// magic
 	void useMagicBookOrSymbol(int charIndex, int type);
diff --git a/engines/kyra/staticres_eob.cpp b/engines/kyra/staticres_eob.cpp
index aa7adc7..f4897b5 100644
--- a/engines/kyra/staticres_eob.cpp
+++ b/engines/kyra/staticres_eob.cpp
@@ -1109,6 +1109,9 @@ void EoBEngine::initStaticResource() {
 		p->dmgModifierEvade = *ps++;
 	}
 
+	_monsterAcHitChanceTable1 = _monsterAcHitChanceTbl1;
+	_monsterAcHitChanceTable2 = _monsterAcHitChanceTbl2;
+
 	static const char *const errorSlotNoNameString[3] = {
 		" You must specify\r a name for your\r save game!",
 		" Spielstaende mues-\r sen einen Namen\r haben!",
@@ -1212,6 +1215,14 @@ const uint8 EoBEngine::_egaDefaultPalette[] = {
 	0, 5, 3, 2, 10, 14, 12, 6, 4, 11, 9, 1, 0, 8, 7, 15
 };
 
+const uint8 EoBEngine::_monsterAcHitChanceTbl1[] = {
+	3, 2, 1, 3
+};
+
+const uint8 EoBEngine::_monsterAcHitChanceTbl2[] = {
+	2, 1, 1, 1
+};
+
 void DarkMoonEngine::initStaticResource() {
 	int temp;
 	_mainMenuStrings = _staticres->loadStrings(kEoB2MainMenuStrings, temp);
@@ -1262,6 +1273,9 @@ void DarkMoonEngine::initStaticResource() {
 	_wallOfForceDsNumH = _staticres->loadRawData(kEoB2WallOfForceNumH, temp);
 	_wallOfForceShpId = _staticres->loadRawData(kEoB2WallOfForceShpId, temp);
 
+	_monsterAcHitChanceTable1 = _monsterAcHitChanceTbl1;
+	_monsterAcHitChanceTable2 = _monsterAcHitChanceTbl2;
+
 	static const char *const errorSlotNoNameString[3] = {
 		" You must specify\r a name for your\r save game!",
 		" Spielst[nde m]ssen\r einen Namen haben!",
@@ -1364,6 +1378,14 @@ const uint8 DarkMoonEngine::_egaDefaultPalette[] = {
 	0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
 };
 
+const uint8 DarkMoonEngine::_monsterAcHitChanceTbl1[] = {
+	1, 3, 3, 2
+};
+
+const uint8 DarkMoonEngine::_monsterAcHitChanceTbl2[] = {
+	1, 1, 2, 1
+};
+
 #endif // ENABLE_EOB
 
 } // End of namespace Kyra


Commit: bd58c0702bca96c1630d18e358ecc52920d189e1
    https://github.com/scummvm/scummvm/commit/bd58c0702bca96c1630d18e358ecc52920d189e1
Author: athrxx (athrxx at scummvm.org)
Date: 2018-10-28T15:48:48+01:00

Commit Message:
KYRA: (LOL) - fix for ticket #9831 (Lands of Lore: Japanese text is displayed overlapping)

It seems that I broke this after 1.5.0 in 2013 when adding support for the FM-Towns version.

Changed paths:
    engines/kyra/screen.cpp
    engines/kyra/text_rpg.cpp


diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 6076879..584b0e2 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -141,7 +141,7 @@ bool Screen::init() {
 			if (!font)
 				error("Could not load any SJIS font, neither the original nor ScummVM's 'SJIS.FNT'");
 
-			_fonts[FID_SJIS_FNT] = new SJISFont(font, _sjisInvisibleColor, _use16ColorMode, !_use16ColorMode && _vm->game() != GI_LOL, _vm->game() == GI_LOL ? 1 : 0);
+			_fonts[FID_SJIS_FNT] = new SJISFont(font, _sjisInvisibleColor, _use16ColorMode, !_use16ColorMode && _vm->game() != GI_LOL, !_use16ColorMode && _vm->game() == GI_LOL ? 1 : 0);
 		}
 	}
 
diff --git a/engines/kyra/text_rpg.cpp b/engines/kyra/text_rpg.cpp
index 5cd9973..6dea66c 100644
--- a/engines/kyra/text_rpg.cpp
+++ b/engines/kyra/text_rpg.cpp
@@ -148,20 +148,12 @@ void TextDisplayer_rpg::displayText(char *str, ...) {
 		if (_vm->gameFlags().lang == Common::JA_JPN) {
 			uint8 cu = (uint8) c;
 			if (cu >= 0xE0 || (cu > 0x80 && cu < 0xA0)) {
-				if (sjisTextMode) {
-					_currentLine[_numCharsLeft++] = c;
-					_currentLine[_numCharsLeft++] = parseCommand();
-					_currentLine[_numCharsLeft] = '\0';
-				}
-
 				if ((_textDimData[sdx].column + _lineWidth + sjisOffs) > (sd->w << 3))
 					printLine(_currentLine);
 
-				if (!sjisTextMode) {
-					_currentLine[_numCharsLeft++] = c;
-					_currentLine[_numCharsLeft++] = parseCommand();
-					_currentLine[_numCharsLeft] = '\0';
-				}
+				_currentLine[_numCharsLeft++] = c;
+				_currentLine[_numCharsLeft++] = parseCommand();
+				_currentLine[_numCharsLeft] = '\0';
 
 				_lineWidth += sjisOffs;
 				c = parseCommand();





More information about the Scummvm-git-logs mailing list