From 9f0ed19076d341c722aea2b43a6639129b04f9f5 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 11 Feb 2007 02:19:56 +0000 Subject: Add Quietust's patch for improved string redering in Amiga versions of Simon the Sorcerer 1. svn-id: r25481 --- engines/agos/charset.cpp | 263 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 228 insertions(+), 35 deletions(-) (limited to 'engines') diff --git a/engines/agos/charset.cpp b/engines/agos/charset.cpp index 982272447f..f2826e7bf8 100644 --- a/engines/agos/charset.cpp +++ b/engines/agos/charset.cpp @@ -90,9 +90,196 @@ void AGOSEngine::tidyIconArray(uint i) { } } +/* +static const byte simon_ocsFont[] = { + 0x00,0x20,0x20,0x50,0x70,0x88,0x70,0x88,0x20,0x50,0x20,0x50,0x00,0x20,0x20,0x50,0x00,0x20,0x00,0x00,0x05, + 0x00,0x30,0x30,0x48,0x30,0x48,0x60,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05, + 0x00,0x28,0x28,0x54,0x28,0x54,0x7C,0x82,0x28,0x54,0x7C,0x82,0x28,0x54,0x28,0x54,0x00,0x28,0x00,0x00,0x07, + 0x00,0x10,0x10,0x28,0x38,0x44,0x40,0xB8,0x30,0x48,0x08,0x74,0x70,0x88,0x20,0x50,0x00,0x20,0x00,0x00,0x06, + 0x00,0x00,0x00,0x48,0x48,0xB4,0x48,0xB4,0x10,0x68,0x20,0x58,0x48,0xB4,0x48,0xB4,0x00,0x48,0x00,0x00,0x06, + 0x00,0x20,0x20,0x50,0x50,0xA8,0x38,0x44,0x10,0x28,0x38,0x44,0x50,0xAC,0x2C,0x52,0x00,0x2C,0x00,0x00,0x07, + 0x00,0x30,0x30,0x48,0x30,0x48,0x60,0x90,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05, + 0x00,0x28,0x28,0x54,0x28,0x54,0x7C,0x82,0x28,0x54,0x7C,0x82,0x28,0x54,0x28,0x54,0x00,0x28,0x00,0x00,0x07, + 0x00,0x28,0x28,0x54,0x28,0x54,0x7C,0x82,0x28,0x54,0x7C,0x82,0x28,0x54,0x28,0x54,0x00,0x28,0x00,0x00,0x07, + 0x00,0x28,0x28,0x54,0x28,0x54,0x7C,0x82,0x28,0x54,0x7C,0x82,0x28,0x54,0x28,0x54,0x00,0x28,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x48,0x30,0x48,0x60,0x90,0x00,0x60,0x05, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x48,0x30,0x48,0x60,0x90,0x00,0x60,0x05, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x78,0x84,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x06, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x90,0x60,0x90,0x00,0x60,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x90,0x60,0x90,0x00,0x60,0x00,0x00,0x04, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x4C,0xB2,0x54,0xAA,0x64,0x9A,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x20,0x20,0x50,0x60,0x90,0x20,0x50,0x20,0x50,0x20,0x50,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x05, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x5A,0x18,0x24,0x20,0x5C,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x5A,0x18,0x24,0x04,0x5A,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x08,0x08,0x14,0x18,0x24,0x28,0x54,0x48,0xB4,0x7C,0x82,0x08,0x74,0x1C,0x22,0x00,0x1C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x40,0xBC,0x78,0x84,0x04,0x7A,0x04,0x4A,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x18,0x18,0x24,0x20,0x58,0x40,0xB8,0x78,0x84,0x44,0xBA,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x04,0x4A,0x08,0x14,0x10,0x28,0x10,0x28,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xBA,0x38,0x44,0x44,0xBA,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xBA,0x3C,0x42,0x04,0x3A,0x08,0x34,0x30,0x48,0x00,0x30,0x00,0x00,0x07, + 0x00,0x00,0x00,0x60,0x60,0x90,0x60,0x90,0x00,0x60,0x00,0x60,0x60,0x90,0x60,0x90,0x00,0x60,0x00,0x00,0x04, + 0x00,0x00,0x00,0x30,0x30,0x48,0x30,0x48,0x00,0x30,0x00,0x30,0x30,0x48,0x30,0x48,0x60,0x90,0x00,0x60,0x05, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x4A,0x08,0x14,0x10,0x28,0x00,0x10,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x4A,0x08,0x14,0x10,0x28,0x00,0x10,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x4A,0x08,0x14,0x10,0x28,0x00,0x10,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x04,0x4A,0x08,0x14,0x10,0x28,0x00,0x10,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x54,0xAA,0x5C,0xA2,0x5C,0xA2,0x40,0xBC,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xBA,0x7C,0x82,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x78,0x78,0x84,0x24,0x5A,0x24,0x5A,0x38,0x44,0x24,0x5A,0x24,0x5A,0x78,0x84,0x00,0x78,0x00,0x00,0x07, + 0x00,0x18,0x18,0x24,0x24,0x5A,0x40,0xA4,0x40,0xA0,0x40,0xA4,0x24,0x5A,0x18,0x24,0x00,0x18,0x00,0x00,0x07, + 0x00,0x70,0x70,0x88,0x28,0x54,0x24,0x5A,0x24,0x5A,0x24,0x5A,0x28,0x54,0x70,0x88,0x00,0x70,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x24,0x5A,0x20,0x5C,0x38,0x44,0x20,0x5C,0x24,0x5A,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x24,0x5A,0x20,0x5C,0x38,0x44,0x20,0x58,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x07, + 0x00,0x18,0x18,0x24,0x24,0x5A,0x40,0xAC,0x4C,0xB2,0x44,0xAA,0x24,0x5A,0x1C,0x22,0x00,0x1C,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x7C,0x82,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x10,0x6C,0x10,0x28,0x10,0x28,0x10,0x28,0x10,0x6C,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x0C,0x0C,0x12,0x04,0x0A,0x04,0x0A,0x04,0x4A,0x44,0xAA,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x64,0x64,0x9A,0x24,0x5A,0x28,0x54,0x30,0x48,0x28,0x54,0x24,0x5A,0x64,0x9A,0x00,0x64,0x00,0x00,0x07, + 0x00,0x70,0x70,0x88,0x20,0x50,0x20,0x50,0x20,0x50,0x20,0x54,0x24,0x5A,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x6C,0x92,0x54,0xAA,0x54,0xAA,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x64,0x9A,0x54,0xAA,0x4C,0xB2,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x78,0x78,0x84,0x24,0x5A,0x24,0x5A,0x38,0x44,0x20,0x58,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x54,0xAA,0x38,0x44,0x04,0x3A,0x00,0x04,0x07, + 0x00,0x78,0x78,0x84,0x24,0x5A,0x24,0x5A,0x38,0x44,0x24,0x5A,0x24,0x5A,0x64,0x9A,0x00,0x64,0x00,0x00,0x07, + 0x00,0x38,0x38,0x44,0x44,0xBA,0x40,0xBC,0x38,0x44,0x04,0x7A,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x54,0xAA,0x10,0x6C,0x10,0x28,0x10,0x28,0x10,0x28,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x3C,0x42,0x00,0x3C,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x28,0x54,0x28,0x54,0x10,0x28,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x54,0xAA,0x6C,0x92,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x28,0x54,0x10,0x28,0x28,0x54,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x38,0x44,0x10,0x28,0x10,0x28,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x7C,0x7C,0x82,0x44,0xBA,0x08,0x54,0x10,0x28,0x20,0x54,0x44,0xBA,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x44,0x04,0x3A,0x3C,0x42,0x44,0xBA,0x3C,0x42,0x00,0x3C,0x00,0x00,0x07, + 0x00,0x60,0x60,0x90,0x20,0x58,0x28,0x54,0x34,0x4A,0x24,0x5A,0x24,0x5A,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x44,0x44,0xBA,0x40,0xA4,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x0C,0x0C,0x12,0x08,0x34,0x28,0x54,0x58,0xA4,0x48,0xB4,0x48,0xB4,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x44,0x44,0xBA,0x7C,0x82,0x40,0xBC,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x18,0x18,0x24,0x24,0x5A,0x20,0x54,0x70,0x88,0x20,0x50,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x34,0x34,0x4A,0x48,0xB4,0x48,0xB4,0x38,0x44,0x44,0xBA,0x38,0x44,0x00,0x38,0x07, + 0x00,0x60,0x60,0x90,0x20,0x58,0x28,0x54,0x34,0x4A,0x24,0x5A,0x24,0x5A,0x64,0x9A,0x00,0x64,0x00,0x00,0x07, + 0x00,0x20,0x20,0x50,0x00,0x60,0x60,0x90,0x20,0x50,0x20,0x50,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x05, + 0x00,0x04,0x04,0x0A,0x00,0x04,0x04,0x0A,0x04,0x0A,0x04,0x0A,0x04,0x4A,0x44,0xBA,0x38,0x44,0x00,0x38,0x07, + 0x00,0x60,0x60,0x90,0x20,0x54,0x24,0x5A,0x28,0x54,0x30,0x48,0x28,0x54,0x64,0x9A,0x00,0x64,0x00,0x00,0x07, + 0x00,0x60,0x60,0x90,0x20,0x50,0x20,0x50,0x20,0x50,0x20,0x50,0x20,0x50,0x70,0x88,0x00,0x70,0x00,0x00,0x05, + 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0xB4,0x6C,0x92,0x54,0xAA,0x44,0xBA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x78,0x78,0x84,0x44,0xBA,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x44,0x44,0xBA,0x44,0xAA,0x44,0xBA,0x38,0x44,0x00,0x38,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x58,0x58,0xA4,0x24,0x5A,0x24,0x5A,0x38,0x44,0x20,0x58,0x70,0x88,0x00,0x70,0x07, + 0x00,0x00,0x00,0x00,0x00,0x34,0x34,0x4A,0x48,0xB4,0x48,0xB4,0x38,0x44,0x08,0x34,0x1C,0x22,0x00,0x1C,0x07, + 0x00,0x00,0x00,0x00,0x00,0x58,0x58,0xA4,0x24,0x5A,0x24,0x5A,0x20,0x54,0x70,0x88,0x00,0x70,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x42,0x40,0xBC,0x38,0x44,0x04,0x7A,0x78,0x84,0x00,0x78,0x00,0x00,0x07, + 0x00,0x20,0x20,0x50,0x20,0x58,0x78,0x84,0x20,0x58,0x20,0x54,0x24,0x5A,0x18,0x24,0x00,0x18,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0xB4,0x48,0xB4,0x48,0xB4,0x48,0xB4,0x34,0x4A,0x00,0x34,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xAA,0x28,0x54,0x10,0x28,0x00,0x10,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0xAA,0x44,0xBA,0x54,0xAA,0x6C,0x92,0x48,0xB4,0x00,0x48,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0xAA,0x28,0x54,0x10,0x28,0x28,0x54,0x44,0xAA,0x00,0x44,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0xAA,0x44,0xAA,0x44,0xBA,0x38,0x44,0x10,0x68,0x60,0x90,0x00,0x60,0x07, + 0x00,0x00,0x00,0x00,0x00,0x7C,0x7C,0x82,0x48,0xB4,0x10,0x6C,0x24,0x5A,0x7C,0x82,0x00,0x7C,0x00,0x00,0x07 +}; +*/ +static const byte simon_agaFont[] = { + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x20,0x10,0x40,0x88,0x30,0x40,0x00,0x88,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x28,0x00,0x00,0x28,0x54,0x00,0x28,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x28,0x00,0x00,0x54,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x10,0x00,0x00,0x10,0x28,0x08,0x10,0x20,0x44,0x00,0x40,0x00,0xB8,0x30,0x00,0x00,0x48,0x08,0x00,0x00,0x74,0x30,0x00,0x40,0x88,0x20,0x00,0x00,0x50,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x06, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x48,0xB4,0x00,0x48,0x00,0xB4,0x10,0x00,0x00,0x68,0x00,0x20,0x00,0x58,0x00,0x08,0x40,0xB4,0x08,0x40,0x00,0xB4,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00,0x06, + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x10,0x00,0x40,0xA8,0x18,0x20,0x00,0x44,0x10,0x00,0x00,0x28,0x18,0x20,0x00,0x44,0x10,0x00,0x40,0xAC,0x0C,0x20,0x00,0x52,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x28,0x00,0x00,0x28,0x54,0x00,0x28,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x28,0x00,0x00,0x54,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x28,0x00,0x00,0x28,0x54,0x00,0x28,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x28,0x00,0x00,0x54,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x28,0x00,0x00,0x28,0x54,0x00,0x28,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x1C,0x20,0x40,0x82,0x28,0x00,0x00,0x54,0x28,0x00,0x00,0x54,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x05, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x05, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x18,0x20,0x40,0x84,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x38,0x00,0x18,0x20,0x44,0x04,0x00,0x40,0xBA,0x0C,0x00,0x40,0xB2,0x04,0x50,0x00,0xAA,0x44,0x20,0x00,0x9A,0x44,0x00,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x00,0x20,0x40,0x90,0x00,0x20,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x00,0x40,0xBA,0x04,0x00,0x00,0x5A,0x08,0x10,0x00,0x24,0x00,0x20,0x00,0x5C,0x00,0x04,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x08,0x10,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x00,0x00,0x5A,0x00,0x08,0x10,0x24,0x04,0x00,0x00,0x5A,0x04,0x00,0x40,0xBA,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x14,0x08,0x00,0x10,0x24,0x08,0x00,0x20,0x54,0x08,0x40,0x00,0xB4,0x3C,0x40,0x00,0x82,0x08,0x00,0x00,0x74,0x04,0x08,0x10,0x22,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x18,0x60,0x82,0x00,0x40,0x00,0xBC,0x78,0x00,0x00,0x84,0x04,0x00,0x00,0x7A,0x04,0x00,0x00,0x4A,0x04,0x00,0x40,0xBA,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x18,0x08,0x10,0x00,0x24,0x00,0x00,0x20,0x58,0x00,0x40,0x00,0xB8,0x38,0x40,0x00,0x84,0x44,0x00,0x00,0xBA,0x44,0x00,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x00,0x04,0x00,0x4A,0x00,0x00,0x08,0x14,0x00,0x10,0x00,0x28,0x00,0x10,0x00,0x28,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x18,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x40,0x00,0xBA,0x18,0x20,0x00,0x44,0x04,0x00,0x40,0xBA,0x04,0x40,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x18,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x40,0x00,0xBA,0x1C,0x20,0x00,0x42,0x04,0x00,0x00,0x3A,0x00,0x08,0x00,0x34,0x00,0x10,0x20,0x48,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x10,0x20,0x48,0x10,0x20,0x00,0x48,0x20,0x40,0x00,0x90,0x00,0x00,0x00,0x60,0x05, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x40,0x00,0xBA,0x04,0x00,0x00,0x4A,0x08,0x00,0x00,0x14,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x40,0x00,0xBA,0x04,0x00,0x00,0x4A,0x08,0x00,0x00,0x14,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x40,0x00,0xBA,0x04,0x00,0x00,0x4A,0x08,0x00,0x00,0x14,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x40,0x00,0xBA,0x04,0x00,0x00,0x4A,0x08,0x00,0x00,0x14,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x00,0x40,0xBA,0x04,0x40,0x10,0xAA,0x0C,0x50,0x00,0xA2,0x1C,0x40,0x00,0xA2,0x40,0x00,0x00,0xBC,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x08,0x10,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x00,0x40,0xBA,0x0C,0x70,0x00,0x82,0x04,0x40,0x00,0xBA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x78,0x08,0x10,0x60,0x84,0x04,0x00,0x20,0x5A,0x04,0x20,0x00,0x5A,0x28,0x10,0x00,0x44,0x24,0x00,0x00,0x5A,0x24,0x00,0x00,0x5A,0x18,0x20,0x40,0x84,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x24,0x04,0x00,0x20,0x5A,0x00,0x00,0x40,0xA4,0x00,0x00,0x40,0xA0,0x00,0x40,0x00,0xA4,0x24,0x00,0x00,0x5A,0x18,0x00,0x00,0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x70,0x10,0x20,0x40,0x88,0x08,0x20,0x00,0x54,0x04,0x20,0x00,0x5A,0x04,0x20,0x00,0x5A,0x24,0x00,0x00,0x5A,0x28,0x00,0x00,0x54,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x18,0x60,0x82,0x04,0x20,0x00,0x5A,0x00,0x20,0x00,0x5C,0x28,0x10,0x00,0x44,0x20,0x00,0x00,0x5C,0x20,0x04,0x00,0x5A,0x0C,0x30,0x40,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x18,0x60,0x82,0x04,0x20,0x00,0x5A,0x00,0x20,0x00,0x5C,0x28,0x10,0x00,0x44,0x20,0x00,0x00,0x58,0x20,0x00,0x00,0x50,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x24,0x04,0x00,0x20,0x5A,0x00,0x40,0x00,0xAC,0x00,0x44,0x08,0xB2,0x44,0x00,0x00,0xAA,0x24,0x00,0x00,0x5A,0x1C,0x00,0x00,0x22,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x44,0x00,0xAA,0x04,0x40,0x00,0xBA,0x4C,0x30,0x00,0x82,0x44,0x00,0x00,0xBA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x00,0x10,0x00,0x6C,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x6C,0x1C,0x20,0x40,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x0C,0x00,0x04,0x08,0x12,0x00,0x04,0x00,0x0A,0x04,0x00,0x00,0x0A,0x04,0x00,0x00,0x4A,0x04,0x00,0x40,0xAA,0x04,0x40,0x00,0xBA,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x64,0x00,0x24,0x40,0x9A,0x00,0x24,0x00,0x5A,0x20,0x08,0x00,0x54,0x20,0x10,0x00,0x48,0x28,0x00,0x00,0x54,0x24,0x00,0x00,0x5A,0x04,0x20,0x40,0x9A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x70,0x00,0x30,0x40,0x88,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x50,0x20,0x00,0x00,0x54,0x24,0x00,0x00,0x5A,0x1C,0x20,0x40,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x04,0x40,0xAA,0x24,0x40,0x08,0x92,0x04,0x50,0x00,0xAA,0x14,0x40,0x00,0xAA,0x44,0x00,0x00,0xBA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x20,0x44,0x00,0x9A,0x14,0x40,0x00,0xAA,0x0C,0x40,0x00,0xB2,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x18,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x00,0x40,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x78,0x08,0x30,0x40,0x84,0x04,0x20,0x00,0x5A,0x04,0x20,0x00,0x5A,0x28,0x10,0x00,0x44,0x20,0x00,0x00,0x58,0x20,0x00,0x00,0x50,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x08,0x10,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x00,0x40,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xBA,0x44,0x00,0x10,0xAA,0x30,0x08,0x00,0x44,0x04,0x00,0x00,0x3A,0x00,0x00,0x00,0x04,0x07, + 0x00,0x00,0x00,0x78,0x00,0x18,0x60,0x84,0x04,0x20,0x00,0x5A,0x24,0x00,0x00,0x5A,0x28,0x10,0x00,0x44,0x24,0x00,0x00,0x5A,0x24,0x00,0x00,0x5A,0x04,0x20,0x40,0x9A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x38,0x00,0x18,0x20,0x44,0x04,0x00,0x40,0xBA,0x00,0x40,0x00,0xBC,0x08,0x30,0x00,0x44,0x04,0x00,0x00,0x7A,0x04,0x00,0x40,0xBA,0x08,0x30,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x18,0x60,0x82,0x14,0x40,0x00,0xAA,0x10,0x00,0x00,0x6C,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x08,0x10,0x20,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x44,0x00,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xAA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xBA,0x3C,0x00,0x00,0x42,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x04,0x40,0xAA,0x00,0x44,0x00,0xAA,0x04,0x40,0x00,0xAA,0x28,0x00,0x00,0x54,0x28,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x04,0x40,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xBA,0x54,0x00,0x00,0xAA,0x6C,0x00,0x00,0x92,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x04,0x40,0x00,0xAA,0x28,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x08,0x20,0x00,0x54,0x04,0x00,0x40,0xAA,0x04,0x40,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x44,0x04,0x00,0x40,0xAA,0x04,0x40,0x00,0xAA,0x04,0x40,0x00,0xBA,0x38,0x00,0x00,0x44,0x10,0x00,0x00,0x28,0x10,0x00,0x00,0x28,0x08,0x10,0x20,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x04,0x40,0x00,0xBA,0x08,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x20,0x00,0x54,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x28,0x10,0x44,0x04,0x00,0x00,0x3A,0x04,0x08,0x30,0x42,0x04,0x40,0x00,0xBA,0x3C,0x00,0x00,0x42,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x00,0x20,0x00,0x58,0x00,0x28,0x00,0x54,0x04,0x20,0x10,0x4A,0x04,0x20,0x00,0x5A,0x04,0x20,0x00,0x5A,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x00,0x40,0xBA,0x00,0x40,0x00,0xA4,0x04,0x40,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x0C,0x00,0x04,0x08,0x12,0x08,0x00,0x00,0x34,0x08,0x20,0x00,0x54,0x18,0x40,0x00,0xA4,0x08,0x40,0x00,0xB4,0x08,0x40,0x00,0xB4,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x08,0x30,0x44,0x04,0x00,0x40,0xBA,0x3C,0x40,0x00,0x82,0x00,0x40,0x00,0xBC,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x18,0x00,0x08,0x10,0x24,0x04,0x00,0x20,0x5A,0x00,0x20,0x00,0x54,0x10,0x20,0x40,0x88,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x30,0x40,0x00,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x04,0x10,0x20,0x4A,0x08,0x00,0x40,0xB4,0x08,0x40,0x00,0xB4,0x38,0x00,0x00,0x44,0x04,0x00,0x40,0xBA,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x07, + 0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x00,0x20,0x00,0x58,0x20,0x08,0x00,0x54,0x24,0x00,0x10,0x4A,0x24,0x00,0x00,0x5A,0x24,0x00,0x00,0x5A,0x04,0x20,0x40,0x9A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x00,0x00,0x00,0x60,0x00,0x40,0x20,0x90,0x00,0x20,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x0A,0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x0A,0x00,0x04,0x00,0x0A,0x04,0x00,0x00,0x0A,0x04,0x00,0x00,0x4A,0x04,0x00,0x40,0xBA,0x18,0x20,0x00,0x44,0x00,0x00,0x00,0x38,0x07, + 0x00,0x00,0x00,0x60,0x00,0x00,0x60,0x90,0x00,0x20,0x00,0x54,0x20,0x04,0x00,0x5A,0x20,0x00,0x08,0x54,0x20,0x10,0x00,0x48,0x28,0x00,0x00,0x54,0x04,0x20,0x40,0x9A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x60,0x00,0x20,0x40,0x90,0x00,0x20,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x20,0x00,0x00,0x50,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x05, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x48,0xB4,0x24,0x48,0x00,0x92,0x44,0x10,0x00,0xAA,0x44,0x00,0x00,0xBA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x08,0x10,0x60,0x84,0x04,0x00,0x40,0xBA,0x04,0x40,0x00,0xAA,0x44,0x00,0x00,0xAA,0x44,0x00,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x08,0x10,0x20,0x44,0x04,0x00,0x40,0xBA,0x04,0x40,0x00,0xAA,0x44,0x00,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x00,0x08,0x50,0xA4,0x04,0x20,0x00,0x5A,0x24,0x00,0x00,0x5A,0x38,0x00,0x00,0x44,0x20,0x00,0x00,0x58,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x14,0x20,0x4A,0x08,0x40,0x00,0xB4,0x48,0x00,0x00,0xB4,0x38,0x00,0x00,0x44,0x08,0x00,0x00,0x34,0x04,0x08,0x10,0x22,0x00,0x00,0x00,0x1C,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x00,0x08,0x50,0xA4,0x04,0x20,0x00,0x5A,0x24,0x00,0x00,0x5A,0x20,0x00,0x00,0x54,0x10,0x20,0x40,0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x04,0x18,0x20,0x42,0x00,0x40,0x00,0xBC,0x38,0x00,0x00,0x44,0x04,0x00,0x00,0x7A,0x38,0x00,0x40,0x84,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x50,0x00,0x20,0x00,0x58,0x08,0x30,0x40,0x84,0x20,0x00,0x00,0x58,0x20,0x00,0x00,0x54,0x04,0x20,0x00,0x5A,0x08,0x10,0x00,0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0x48,0xB4,0x00,0x48,0x00,0xB4,0x08,0x40,0x00,0xB4,0x48,0x00,0x00,0xB4,0x34,0x00,0x00,0x4A,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x44,0x00,0xAA,0x04,0x40,0x00,0xAA,0x28,0x00,0x00,0x54,0x10,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x44,0x00,0xBA,0x14,0x40,0x00,0xAA,0x2C,0x40,0x00,0x92,0x48,0x00,0x00,0xB4,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x28,0x00,0x54,0x10,0x00,0x00,0x28,0x08,0x20,0x00,0x54,0x04,0x40,0x00,0xAA,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x44,0xAA,0x00,0x44,0x00,0xAA,0x04,0x40,0x00,0xBA,0x38,0x00,0x00,0x44,0x00,0x10,0x00,0x68,0x00,0x20,0x40,0x90,0x00,0x00,0x00,0x60,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x04,0x38,0x40,0x82,0x08,0x40,0x00,0xB4,0x00,0x10,0x00,0x6C,0x04,0x20,0x00,0x5A,0x3C,0x00,0x40,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x07 +}; + void AGOSEngine::renderStringAmiga(uint vga_sprite_id, uint color, uint width, uint height, const char *txt) { VgaPointersEntry *vpe = &_vgaBufferPointers[2]; - byte *src, *dst, *dst_org, chr; + byte *p, *dst, *dst_org, chr; uint count; if (vga_sprite_id >= 100) { @@ -100,26 +287,28 @@ void AGOSEngine::renderStringAmiga(uint vga_sprite_id, uint color, uint width, u vpe++; } - src = dst = vpe->vgaFile2; + dst = vpe->vgaFile2; - count = 499; + count = 2000; if (vga_sprite_id == 1) count *= 2; - src += vga_sprite_id * 8; - dst += READ_BE_UINT32(src); - WRITE_BE_UINT16(dst + 4, height); - WRITE_BE_UINT16(dst + 6, width); + p = dst + vga_sprite_id * 8; + dst += READ_BE_UINT32(p); + WRITE_BE_UINT16(p + 4, height); + WRITE_BE_UINT16(p + 6, width); + + width /= 8; // convert width from pixels to bytes - uint charsize = width/8 * height; + uint charsize = width * height; memset(dst, 0, count); dst_org = dst; int delta = 0; while ((chr = *txt++) != 0) { int tmp = chr; if (chr == 10) { - dst_org += width * 10; - dst = dst_org; + dst += width * 10; + dst_org = dst; delta = 0; } else if ((tmp -= '!') < 0) { delta += 6; @@ -129,32 +318,34 @@ void AGOSEngine::renderStringAmiga(uint vga_sprite_id, uint color, uint width, u dst_org++; } } else { - byte *img = src + chr * 41; - int CTR = img[40]; - int D3 = 8 - delta; - for (int D2 = 9; D2 != 0; D2--) + const byte *img = simon_agaFont + chr * 41; + int img_width = img[40]; + int mdelta = 8 - delta; + byte *cur_dst = dst_org; + for (int row = 0; row < 10; row++) { - byte *cur_dst = dst_org; - for (int D7 = 2; D7 != 0; D7--) + int col = color; + for (int plane = 0; plane < 3; plane++) { - chr = *img >> delta; + chr = img[plane] >> delta; if (chr) { - if (color & 1) *(cur_dst + charsize * 0) |= chr; - if (color & 2) *(cur_dst + charsize * 1) |= chr; - if (color & 4) *(cur_dst + charsize * 2) |= chr; - if (color & 8) *(cur_dst + charsize * 3) |= chr; + if (col & 1) *(cur_dst + charsize * 0) |= chr; + if (col & 2) *(cur_dst + charsize * 1) |= chr; + if (col & 4) *(cur_dst + charsize * 2) |= chr; + if (col & 8) *(cur_dst + charsize * 3) |= chr; } - if ((D3 >= CTR) && (chr = *img++ << (D3))) + chr = img[plane] << mdelta; + if ((mdelta >= img_width) && (chr)) { - if (color & 1) *(cur_dst + charsize * 0) |= chr; - if (color & 2) *(cur_dst + charsize * 1) |= chr; - if (color & 4) *(cur_dst + charsize * 2) |= chr; - if (color & 8) *(cur_dst + charsize * 3) |= chr; + if (col & 1) *(cur_dst + charsize * 0 + 1) |= chr; + if (col & 2) *(cur_dst + charsize * 1 + 1) |= chr; + if (col & 4) *(cur_dst + charsize * 2 + 1) |= chr; + if (col & 8) *(cur_dst + charsize * 3 + 1) |= chr; } - color++; + col++; } - chr = *img >> delta; + chr = img[3] >> delta; if (chr) { *(cur_dst + charsize * 0) |= chr; @@ -162,16 +353,18 @@ void AGOSEngine::renderStringAmiga(uint vga_sprite_id, uint color, uint width, u *(cur_dst + charsize * 2) |= chr; *(cur_dst + charsize * 3) |= chr; } - if ((D3 >= CTR) && (chr = *img++ << (D3))) + chr = img[3] << mdelta; + if ((mdelta >= img_width) && (chr)) { - *(cur_dst + charsize * 0) |= chr; - *(cur_dst + charsize * 1) |= chr; - *(cur_dst + charsize * 2) |= chr; - *(cur_dst + charsize * 3) |= chr; + *(cur_dst + charsize * 0 + 1) |= chr; + *(cur_dst + charsize * 1 + 1) |= chr; + *(cur_dst + charsize * 2 + 1) |= chr; + *(cur_dst + charsize * 3 + 1) |= chr; } - cur_dst += width/8; + cur_dst += width; + img += 4; } - delta += CTR; + delta += img_width - 1; if (delta > 8) { delta -= 8; -- cgit v1.2.3