static const char *const k2SeqplayPakFilesDOS[3] = {
	"INTROGEN.PAK",
	"INTROVOC.PAK",
	"VOC.PAK"
};

static const StringListProvider k2SeqplayPakFilesDOSProvider = { ARRAYSIZE(k2SeqplayPakFilesDOS), k2SeqplayPakFilesDOS };

static const char *const k2SeqplaySfxFilesDOS[33] = {
	"intro1",
	"intro2",
	"intro3",
	"intro4",
	"intro5",
	"intro6",
	"intro7",
	"intro8",
	"intro9",
	"intro10",
	"intro11",
	"intro12",
	"glow",
	"asong",
	"crowcaw",
	"eyerub2",
	"pluck3",
	"rodnreel",
	"frog1",
	"scavmov2",
	"lambmom3",
	"lambkid1",
	"thunder2",
	"thunder3",
	"wind6",
	"h2odrop2",
	"gasleak",
	"polgulp1",
	"hndslap1",
	"burp1",
	"scream1",
	"theend",
	""
};

static const StringListProvider k2SeqplaySfxFilesDOSProvider = { ARRAYSIZE(k2SeqplaySfxFilesDOS), k2SeqplaySfxFilesDOS };

static const char *const k2SeqplayIntroTracksDOS[2] = {
	"k2intro",
	"k2intro"
};

static const StringListProvider k2SeqplayIntroTracksDOSProvider = { ARRAYSIZE(k2SeqplayIntroTracksDOS), k2SeqplayIntroTracksDOS };

static const char *const k2SeqplayFinaleTracksDOS[2] = {
	"k2finale",
	"k2finale"
};

static const StringListProvider k2SeqplayFinaleTracksDOSProvider = { ARRAYSIZE(k2SeqplayFinaleTracksDOS), k2SeqplayFinaleTracksDOS };

static const HoFSequence k2SeqplaySeqDataDOSSeq[16] = {
	{ 0x0002, "", "virgin.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0064, 0, 0, 0x001E },
	{ 0x0001, "westwood.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0012, 0x0006, 0, 0, 0x00A0 },
	{ 0x0001, "title.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001A, 0x0006, 0, 0, 0x000A },
	{ 0x0002, "", "over.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0E10, 0, 0, 0x001E },
	{ 0x0002, "", "library.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0E10, 0, 0, 0x001E },
	{ 0x0002, "", "hand.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0E10, 0, 0, 0x005A },
	{ 0x0001, "point.wsa", "", 4, 8, 0xFFFF, 0xFFFF, 0x0000, 0x0026, 0x0007, 0, 0, 0x00C8 },
	{ 0x0001, "zanfaun.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0033, 0x0010, 0, 0, 0x00F0 },
	{ 0x0001, "funters.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001B, 0x000C, 0, 0, 0x001E },
	{ 0x0001, "ferb.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001B, 0x0010, 0, 0, 0x001E },
	{ 0x0001, "fish.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0038, 0x000C, 0, 0, 0x001E },
	{ 0x0001, "fheep.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x000B, 0x000C, 0, 0, 0x001E },
	{ 0x0001, "farmer.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0016, 0x000C, 0, 0, 0x0064 },
	{ 0x0001, "fuards.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0018, 0x000E, 0, 0, 0x001E },
	{ 0x0001, "firates.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0025, 0x000C, 0, 0, 0x001E },
	{ 0x0001, "frash.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x000C, 0x000A, 0, 0, 0x0154 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl7[18] = {
	{  0, 10 },
	{  1, 10 },
	{  2, 10 },
	{  3, 10 },
	{  4, 10 },
	{  5, 10 },
	{  6, 10 },
	{  7, 10 },
	{  8, 10 },
	{  9, 10 },
	{  8, 10 },
	{  7, 10 },
	{  6, 10 },
	{  5, 40 },
	{  4, 10 },
	{  3, 10 },
	{  2, 10 },
	{  1, 10 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl10[17] = {
	{  0,  6 },
	{  1,  6 },
	{  2,  6 },
	{  3,  6 },
	{  4,  6 },
	{  5,  6 },
	{  6,  6 },
	{  7,  6 },
	{  8,  6 },
	{  9,  6 },
	{ 10,  6 },
	{ 11,  6 },
	{ 11, 12 },
	{ 12, 12 },
	{ 13, 12 },
	{ 12, 12 },
	{ 11, 12 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl11[9] = {
	{  0,  6 },
	{  1,  6 },
	{  2,  6 },
	{  3,  6 },
	{  4,  6 },
	{  3,  6 },
	{  4,  6 },
	{  5, 64 },
	{  5,  6 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl12[16] = {
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 },
	{  0,  6 },
	{  1,  6 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl13[5] = {
	{  0,  6 },
	{  1,  6 },
	{  2,  6 },
	{  1,  6 },
	{  0,  1 }
};

static const FrameControl k2SeqplaySeqDataDOSSeqNestedControl14[8] = {
	{  0,  6 },
	{  1,  6 },
	{  2,  6 },
	{  3,  6 },
	{  4,  6 },
	{  3,  6 },
	{  2,  6 },
	{  1,  6 }
};

static const HoFNestedSequence k2SeqplaySeqDataDOSSeqNested[15] = {
	{ 0x000C, "figgle.wsa", 0, 3, 60, 0, 0, 0, NULL, 0, 0 },
	{ 0x0008, "over1.wsa", 0, 10, 10, 0, 0, 0, NULL, 0, 0 },
	{ 0x0008, "over2.wsa", 0, 11, 9, 0, 0, 0, NULL, 0, 0 },
	{ 0x0008, "forest.wsa", 0, 22, 6, 0, 0, 0, NULL, 1, 3 },
	{ 0x0008, "dragon.wsa", 0, 11, 6, 0, 0, 0, NULL, 2, 0 },
	{ 0x0002, "darm.wsa", 0, 19, 9, 0, 0, 0, NULL, 4, 0 },
	{ 0x0002, "library.wsa", 0, 33, 9, 0, 0, 0, NULL, 4, 0 },
	{ 0x002A, "library.wsa", 0, 18, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl7), k2SeqplaySeqDataDOSSeqNestedControl7, 0, 0 },
	{ 0x000A, "marco.wsa", 0, 37, 9, 0, 0, 0, NULL, 4, 0 },
	{ 0x0002, "hand1a.wsa", 0, 34, 9, 0, 0, 0, NULL, 0, 0 },
	{ 0x002A, "hand1b.wsa", 0, 16, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl10), k2SeqplaySeqDataDOSSeqNestedControl10, 0, 0 },
	{ 0x002A, "hand1c.wsa", 0, 9, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl11), k2SeqplaySeqDataDOSSeqNestedControl11, 0, 0 },
	{ 0x002C, "hand2.wsa", 0, 2, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl12), k2SeqplaySeqDataDOSSeqNestedControl12, 5, 0 },
	{ 0x002C, "hand3.wsa", 0, 4, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl13), k2SeqplaySeqDataDOSSeqNestedControl13, 5, 0 },
	{ 0x002C, "hand4.wsa", 0, 8, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNestedControl14), k2SeqplaySeqDataDOSSeqNestedControl14, 5, 0 }
};

static const HoFSequenceProvider k2SeqplaySeqDataDOSProvider = { ARRAYSIZE(k2SeqplaySeqDataDOSSeq), k2SeqplaySeqDataDOSSeq, ARRAYSIZE(k2SeqplaySeqDataDOSSeqNested), k2SeqplaySeqDataDOSSeqNested };

static const char *const k2IngamePakFilesDOS[108] = {
	"MISC_EMC.PAK",
	"VOC.PAK",
	"MISC_CPS.PAK",
	"OTHER.PAK",
	"COST1_SH.PAK",
	"COST2_SH.PAK",
	"COST3_SH.PAK",
	"COST4_SH.PAK",
	"COST5_SH.PAK",
	"COST6_SH.PAK",
	"COST7_SH.PAK",
	"COST8_SH.PAK",
	"COST9_SH.PAK",
	"DRIVERS.PAK",
	"CAULDRON.PAK",
	"AUDIO.PAK",
	"ALLEY.PAK",
	"ALTAR.PAK",
	"ANCHOR.PAK",
	"BRIDGE.PAK",
	"CELLAR.PAK",
	"CLEARNG.PAK",
	"CLIFF.PAK",
	"CLOSE.PAK",
	"CRICKET.PAK",
	"CROC.PAK",
	"DINOA.PAK",
	"DINOB.PAK",
	"DINOC.PAK",
	"DINOD.PAK",
	"DOCK.PAK",
	"DOOR.PAK",
	"FALL.PAK",
	"FATE.PAK",
	"FERRY.PAK",
	"FIGHT.PAK",
	"FISHER.PAK",
	"FLOAT.PAK",
	"FLYTRAP.PAK",
	"FOOT.PAK",
	"GARDEN.PAK",
	"GEARS.PAK",
	"GNARL.PAK",
	"HANOI.PAK",
	"HOLE.PAK",
	"INCAVE.PAK",
	"INGATE.PAK",
	"INHERB.PAK",
	"INHOME.PAK",
	"INJAIL.PAK",
	"INSHOP.PAK",
	"INSTORE.PAK",
	"ISLE.PAK",
	"JUNGLE.PAK",
	"MARKHME.PAK",
	"MEADOW.PAK",
	"MYSTRM.PAK",
	"NEST.PAK",
	"ONBOAT.PAK",
	"OUTCAVE.PAK",
	"OUTFARM.PAK",
	"OUTGATE.PAK",
	"OUTHERB.PAK",
	"OUTHOME.PAK",
	"PHONE_A.PAK",
	"PHONE_B.PAK",
	"PHONE_C.PAK",
	"PHONE_D.PAK",
	"QUICK.PAK",
	"RAINA.PAK",
	"RAINB.PAK",
	"RAT.PAK",
	"ROAD.PAK",
	"ROPE.PAK",
	"SCORCH.PAK",
	"SKULL.PAK",
	"SKY.PAK",
	"STATION.PAK",
	"STREET.PAK",
	"SULFUR.PAK",
	"TAVERN.PAK",
	"TIMBER.PAK",
	"TRAM.PAK",
	"TREE.PAK",
	"VOLC_A.PAK",
	"VOLC_B.PAK",
	"VOLC_C.PAK",
	"VOLC_D.PAK",
	"VOLC_E.PAK",
	"VOLC_F.PAK",
	"VOLC_G.PAK",
	"VOLC_H.PAK",
	"VOLC_I.PAK",
	"VOLC_J.PAK",
	"VOLC_K.PAK",
	"VOLC_L.PAK",
	"VOLC_M.PAK",
	"VOLC_N.PAK",
	"VOLC_O.PAK",
	"VOLC_P.PAK",
	"VOLCANO.PAK",
	"WHARF.PAK",
	"WHEEL.PAK",
	"GEARS2.PAK",
	"GEARS3.PAK",
	"OUTCAVE2.PAK",
	"INJAIL2.PAK",
	"TREE2.PAK"
};

static const StringListProvider k2IngamePakFilesDOSProvider = { ARRAYSIZE(k2IngamePakFilesDOS), k2IngamePakFilesDOS };

static const char *const k2IngameSfxFilesDOS[178] = {
	"ALCHEMY2",
	"BIGSLAM",
	"BITE1",
	"BLINK1",
	"BOING1",
	"BUBBLE1",
	"BUBBLE2",
	"BURP1",
	"BUTTON6",
	"CAULDRN2",
	"CHEST",
	"CLOTHES1",
	"CROCLAF4",
	"CRY1",
	"CRY2",
	"DOORMTCL",
	"DOORMTOP",
	"DOORWDCL",
	"DOORWDOP",
	"DRUM1",
	"DRUM2",
	"DRUM3",
	"DRUM4",
	"DRUM5",
	"DRUM6",
	"DRUM7",
	"EYERUB2",
	"FALL1",
	"FALL3",
	"FNGRSNAP",
	"FORMSPL1",
	"FROG1",
	"FROGMIX2",
	"GASLEAK",
	"GLOWY1",
	"GOOD3",
	"GOOD5",
	"GROWTWIG",
	"H2ODROP2",
	"H2OPLANT",
	"HACHUCKD",
	"HAYFALL2",
	"HAYSRCH4",
	"ICECUBE",
	"KEYOPEN",
	"LAMBKID1",
	"LAMBMOM3",
	"LAUGH1",
	"LAUGH3",
	"LAUGH4",
	"LIZLISP",
	"MAKESPL1",
	"MSTDOOM1",
	"ORCMOVE",
	"PLUCK3",
	"POLGULP1",
	"PORTCUL",
	"POURH20",
	"RIP2",
	"RODNREEL",
	"ROWBOAT1",
	"RUCKUS1",
	"SCAVMOV2",
	"SCRATCH1",
	"SNAKSPEL",
	"SNEEZE1",
	"SNIFF1",
	"SNOREIN3",
	"SNOROUT",
	"SPLASH1",
	"SQUEAK1",
	"SQUEAK2",
	"SQUEAK3",
	"SQUISH1",
	"SQUISH2",
	"STEAM",
	"STEAM3",
	"STRETCH1",
	"SWING",
	"TREZA1",
	"TURNPAG2",
	"TWIGSNAP",
	"UGH1",
	"WHEEL4",
	"WINGS1",
	"YAWN1",
	"ZOOM5",
	"FILBOTL",
	"H2OPOUR1",
	"JAILDOR1",
	"JAILLOK1",
	"CASHREG1",
	"SWISH1",
	"TURNBOAT",
	"CLAPPING",
	"CRUNCH1",
	"WHEEL6",
	"LITEMAG",
	"SHELDOWN",
	"SHELSLID",
	"ZOW2",
	"ZANLOOP1",
	"SCREECH2",
	"PANTING",
	"TREX1",
	"TREX5",
	"TREX3",
	"QUAKE",
	"WRINGH2O",
	"SPLAT2",
	"OCEAN1",
	"SPLAT3",
	"CROCLAF5",
	"FALL5",
	"ZCMON2",
	"ZWAIT3",
	"ZNO2",
	"CROCLAF7",
	"CRICKET1",
	"FIREBRTH",
	"COW2",
	"SAP2",
	"PMTLHI",
	"FROGSIGH",
	"CRICEND",
	"CRY3",
	"CRY4",
	"SHROOM1",
	"DRIP1",
	"SWIM4",
	"CUCKOO2",
	"PUNCH1",
	"SNORT3",
	"STAMPER2",
	"WALLFALL",
	"WOODFAL1",
	"SPRAY1",
	"OHNO1",
	"YAHOO1",
	"YIPEE1",
	"WIND1",
	"WIND3",
	"WIND6",
	"BLOWUP2",
	"BOATLOP2",
	"ZGIGGL1",
	"ZCOUGH1",
	"CRUSH",
	"ALARM3",
	"APPLEAT",
	"BABYCRY1",
	"BABYLAF1",
	"BABYLIK1",
	"GEARMX3",
	"GLASBRK2",
	"HANDKIL1",
	"HNDSLAP1",
	"ICEPICK1",
	"KISS3",
	"LOLIFAL1",
	"PAGEBURN",
	"PRTYHORN",
	"SCREAM1",
	"SPARKHIT",
	"SPRING2",
	"ZANLAND1",
	"BIGBOW",
	"BOWFORM",
	"BULBHIT",
	"EYELITE",
	"ROOFBOW",
	"FBIGFOT1",
	"BIGFOOT4",
	"DORSTNCL",
	"CROWCAW",
	"THUNDER2",
	"THUNDER3",
	"TOILET"
};

static const StringListProvider k2IngameSfxFilesDOSProvider = { ARRAYSIZE(k2IngameSfxFilesDOS), k2IngameSfxFilesDOS };

static const byte k2IngameSfxIndexDOS[856] = {
	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,
	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00,
	0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
	0x47, 0x00, 0x05, 0x00, 0x22, 0x00, 0x00, 0x00,
	0x1F, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00,
	0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
	0x36, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00,
	0x3F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
	0x45, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00,
	0x7B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00,
	0x3C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00,
	0x4E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
	0x04, 0x00, 0x00, 0x00, 0x43, 0x00, 0x04, 0x00,
	0x56, 0x00, 0x00, 0x00, 0x40, 0x00, 0x05, 0x00,
	0x40, 0x00, 0x05, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0x64, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00,
	0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
	0x37, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00,
	0x1D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
	0x49, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
	0x0A, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00,
	0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
	0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00,
	0x53, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
	0x0C, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00,
	0x21, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00,
	0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
	0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00,
	0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
	0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
	0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
	0x19, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
	0x1A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
	0x77, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00,
	0x55, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
	0x2A, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00,
	0x2D, 0x00, 0x00, 0x00, 0x27, 0x00, 0x05, 0x00,
	0x25, 0x00, 0x00, 0x00, 0x46, 0x00, 0x05, 0x00,
	0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
	0x34, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
	0x4F, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
	0x0F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
	0x0A, 0x00, 0x00, 0x00, 0x78, 0x00, 0x06, 0x00,
	0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
	0x33, 0x00, 0x06, 0x00, 0x3A, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0x1E, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00,
	0x23, 0x00, 0x05, 0x00, 0x24, 0x00, 0x05, 0x00,
	0x3E, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00,
	0x48, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00,
	0x63, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0x7A, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00,
	0x5B, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00,
	0x10, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00,
	0x5D, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00,
	0x57, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00,
	0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
	0x61, 0x00, 0x05, 0x00, 0x58, 0x00, 0x00, 0x00,
	0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0x65, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00,
	0x67, 0x00, 0x00, 0x00, 0x68, 0x00, 0x05, 0x00,
	0x69, 0x00, 0x05, 0x00, 0x6A, 0x00, 0x05, 0x00,
	0x01, 0x00, 0x05, 0x00, 0x6B, 0x00, 0x00, 0x00,
	0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00,
	0x90, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
	0x6F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00,
	0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
	0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00,
	0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00,
	0x7F, 0x00, 0x06, 0x00, 0x7D, 0x00, 0x00, 0x00,
	0x7E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00,
	0x80, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
	0xFF, 0xFF, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00,
	0x84, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00,
	0x82, 0x00, 0x05, 0x00, 0x86, 0x00, 0x00, 0x00,
	0x88, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
	0x8A, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00,
	0x87, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00,
	0x8D, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00,
	0x8F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
	0x91, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00,
	0x93, 0x00, 0x05, 0x00, 0x94, 0x00, 0x00, 0x00,
	0x5F, 0x00, 0x00, 0x00, 0x96, 0x00, 0x05, 0x00,
	0x97, 0x00, 0x00, 0x00, 0x98, 0x00, 0x04, 0x00,
	0x99, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00,
	0x9B, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00,
	0x9D, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00,
	0x9F, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00,
	0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00,
	0xA3, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00,
	0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00,
	0xA7, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00,
	0xA9, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00,
	0xAB, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00,
	0xAD, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x05, 0x00,
	0xAF, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00,
	0xB1, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
};

static const ByteProvider k2IngameSfxIndexDOSProvider = { ARRAYSIZE(k2IngameSfxIndexDOS), k2IngameSfxIndexDOS };

static const char *const k2IngameTracksDOS[15] = {
	"K2TEST1",
	"K2TEST2",
	"K2TEST3",
	"K2TEST4",
	"K2TEST5",
	"K2TEST6",
	"K2TEST7",
	"K2TEST8",
	"K2TEST9",
	"K2TEST10",
	"K2TEST11",
	"K2TEST12",
	"K2TEST13",
	"K2TEST14",
	"K2TEST15"
};

static const StringListProvider k2IngameTracksDOSProvider = { ARRAYSIZE(k2IngameTracksDOS), k2IngameTracksDOS };

static const byte k2IngameTalkObjIndexDOS[120] = {
	0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65,
	0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00,
	0x18, 0x00, 0x26, 0x00, 0x41, 0x00, 0x00, 0x00,
	0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00,
	0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00,
	0x09, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x12, 0x00,
	0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x2A, 0x00,
	0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00,
	0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00,
	0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00,
	0x23, 0x00, 0x24, 0x00, 0x30, 0x00, 0x35, 0x00,
	0x36, 0x00, 0x37, 0x00, 0x39, 0x00, 0x3A, 0x00,
	0x3B, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00,
	0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00,
	0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00
};

static const ByteProvider k2IngameTalkObjIndexDOSProvider = { ARRAYSIZE(k2IngameTalkObjIndexDOS), k2IngameTalkObjIndexDOS };

static const FrameControl k2IngameShapeAnimDataDOS0FrameControl[12] = {
	{ 0x0006, 0x00F0 },
	{ 0x002A, 0x000E },
	{ 0x002B, 0x000E },
	{ 0x002C, 0x000E },
	{ 0x0006, 0x000E },
	{ 0x002A, 0x000E },
	{ 0x002B, 0x000E },
	{ 0x002C, 0x000E },
	{ 0x0006, 0x000E },
	{ 0x002A, 0x000E },
	{ 0x002B, 0x000E },
	{ 0x002C, 0x000E }
};

static const FrameControl k2IngameShapeAnimDataDOS1FrameControl[6] = {
	{ 0x0002, 0x012C },
	{ 0x002D, 0x012C },
	{ 0x002E, 0x012C },
	{ 0x002F, 0x012C },
	{ 0x002E, 0x012C },
	{ 0x002D, 0x012C }
};

static const FrameControl k2IngameShapeAnimDataDOS2FrameControl[6] = {
	{ 0x000B, 0x0258 },
	{ 0x0030, 0x0005 },
	{ 0x0031, 0x0005 },
	{ 0x0032, 0x0005 },
	{ 0x0031, 0x0005 },
	{ 0x0030, 0x0005 }
};

static const FrameControl k2IngameShapeAnimDataDOS3FrameControl[4] = {
	{ 0x001C, 0x0014 },
	{ 0x004E, 0x0014 },
	{ 0x004F, 0x0014 },
	{ 0x0050, 0x0014 }
};

static const FrameControl k2IngameShapeAnimDataDOS4FrameControl[4] = {
	{ 0x0017, 0x0007 },
	{ 0x0051, 0x0007 },
	{ 0x0052, 0x0007 },
	{ 0x0053, 0x0007 }
};

static const FrameControl k2IngameShapeAnimDataDOS5FrameControl[4] = {
	{ 0x0016, 0x0014 },
	{ 0x0054, 0x0014 },
	{ 0x0055, 0x0014 },
	{ 0x0056, 0x0014 }
};

static const FrameControl k2IngameShapeAnimDataDOS6FrameControl[4] = {
	{ 0x003A, 0x003C },
	{ 0x0057, 0x003C },
	{ 0x0058, 0x003C },
	{ 0x0059, 0x003C }
};

static const FrameControl k2IngameShapeAnimDataDOS7FrameControl[4] = {
	{ 0x001A, 0x0032 },
	{ 0x005A, 0x0032 },
	{ 0x005B, 0x0032 },
	{ 0x005C, 0x0032 }
};

static const FrameControl k2IngameShapeAnimDataDOS8FrameControl[4] = {
	{ 0x006D, 0x000C },
	{ 0x006E, 0x000C },
	{ 0x006F, 0x000C },
	{ 0x0070, 0x000C }
};

static const FrameControl k2IngameShapeAnimDataDOS9FrameControl[4] = {
	{ 0x0079, 0x0008 },
	{ 0x007A, 0x0008 },
	{ 0x007B, 0x0008 },
	{ 0x007C, 0x0008 }
};

static const FrameControl k2IngameShapeAnimDataDOS10FrameControl[4] = {
	{ 0x007E, 0x0008 },
	{ 0x007F, 0x0008 },
	{ 0x0080, 0x0008 },
	{ 0x0081, 0x0008 }
};

static const FrameControl k2IngameShapeAnimDataDOS11FrameControl[6] = {
	{ 0x0091, 0x01A4 },
	{ 0x0092, 0x0004 },
	{ 0x0093, 0x0004 },
	{ 0x0094, 0x0004 },
	{ 0x0093, 0x0004 },
	{ 0x0092, 0x0004 }
};

static const FrameControl k2IngameShapeAnimDataDOS12FrameControl[4] = {
	{ 0x0095, 0x0006 },
	{ 0x0096, 0x0006 },
	{ 0x0097, 0x0006 },
	{ 0x0098, 0x0006 }
};

static const FrameControl k2IngameShapeAnimDataDOS13FrameControl[4] = {
	{ 0x0099, 0x002D },
	{ 0x009A, 0x002D },
	{ 0x009B, 0x002D },
	{ 0x009C, 0x002D }
};

static const ItemAnimDefinition k2IngameShapeAnimDataDOS[14] = {
	{   6, 12, k2IngameShapeAnimDataDOS0FrameControl },
	{   2,  6, k2IngameShapeAnimDataDOS1FrameControl },
	{  11,  6, k2IngameShapeAnimDataDOS2FrameControl },
	{  28,  4, k2IngameShapeAnimDataDOS3FrameControl },
	{  23,  4, k2IngameShapeAnimDataDOS4FrameControl },
	{  22,  4, k2IngameShapeAnimDataDOS5FrameControl },
	{  58,  4, k2IngameShapeAnimDataDOS6FrameControl },
	{  26,  4, k2IngameShapeAnimDataDOS7FrameControl },
	{ 109,  4, k2IngameShapeAnimDataDOS8FrameControl },
	{ 121,  4, k2IngameShapeAnimDataDOS9FrameControl },
	{ 126,  4, k2IngameShapeAnimDataDOS10FrameControl },
	{ 145,  6, k2IngameShapeAnimDataDOS11FrameControl },
	{ 149,  4, k2IngameShapeAnimDataDOS12FrameControl },
	{ 153,  4, k2IngameShapeAnimDataDOS13FrameControl }
};

static const ItemAnimDefinitionProvider k2IngameShapeAnimDataDOSProvider = { ARRAYSIZE(k2IngameShapeAnimDataDOS), k2IngameShapeAnimDataDOS };