diff options
author | Marisa-Chan | 2014-06-13 21:43:04 +0700 |
---|---|---|
committer | Marisa-Chan | 2014-06-13 21:43:04 +0700 |
commit | 45589950c0fb1a449351e6a00ef10d42290d8bae (patch) | |
tree | 44e4eedcb7e69d5fc386155b000ed038af07251d /devtools | |
parent | 48360645dcd5f8fddb135b6e31ae5cae4be8d77f (diff) | |
parent | 5c005ad3a3f1df0bc968c85c1cf0fc48e36ab0b2 (diff) | |
download | scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.tar.gz scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.tar.bz2 scummvm-rg350-45589950c0fb1a449351e6a00ef10d42290d8bae.zip |
Merge remote-tracking branch 'upstream/master' into zvision
Conflicts:
engines/zvision/animation/rlf_animation.cpp
engines/zvision/animation_control.h
engines/zvision/core/console.cpp
engines/zvision/core/events.cpp
engines/zvision/cursors/cursor.cpp
engines/zvision/cursors/cursor_manager.cpp
engines/zvision/cursors/cursor_manager.h
engines/zvision/fonts/truetype_font.cpp
engines/zvision/graphics/render_manager.cpp
engines/zvision/graphics/render_manager.h
engines/zvision/inventory/inventory_manager.h
engines/zvision/inventory_manager.h
engines/zvision/meta_animation.h
engines/zvision/module.mk
engines/zvision/scripting/actions.cpp
engines/zvision/scripting/control.h
engines/zvision/scripting/controls/animation_control.cpp
engines/zvision/scripting/controls/animation_control.h
engines/zvision/scripting/controls/input_control.cpp
engines/zvision/scripting/controls/lever_control.cpp
engines/zvision/scripting/controls/timer_node.cpp
engines/zvision/scripting/controls/timer_node.h
engines/zvision/scripting/puzzle.h
engines/zvision/scripting/scr_file_handling.cpp
engines/zvision/scripting/script_manager.cpp
engines/zvision/scripting/script_manager.h
engines/zvision/sidefx.cpp
engines/zvision/sound/zork_raw.cpp
engines/zvision/sound/zork_raw.h
engines/zvision/video/video.cpp
engines/zvision/video/zork_avi_decoder.h
engines/zvision/zvision.cpp
engines/zvision/zvision.h
Diffstat (limited to 'devtools')
159 files changed, 55439 insertions, 8889 deletions
diff --git a/devtools/convbdf.cpp b/devtools/convbdf.cpp index 69728eb9fd..21c8af8234 100644 --- a/devtools/convbdf.cpp +++ b/devtools/convbdf.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_drascula/create_drascula.cpp b/devtools/create_drascula/create_drascula.cpp index 20b60ab05f..2ed7e4fb4c 100644 --- a/devtools/create_drascula/create_drascula.cpp +++ b/devtools/create_drascula/create_drascula.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_drascula/create_drascula.h b/devtools/create_drascula/create_drascula.h index 754050c172..82abdceacb 100644 --- a/devtools/create_drascula/create_drascula.h +++ b/devtools/create_drascula/create_drascula.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_drascula/staticdata.h b/devtools/create_drascula/staticdata.h index e0e4f9da10..7cafe58703 100644 --- a/devtools/create_drascula/staticdata.h +++ b/devtools/create_drascula/staticdata.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/create_hugo.cpp b/devtools/create_hugo/create_hugo.cpp index 63b57f9c8f..780f85278d 100644 --- a/devtools/create_hugo/create_hugo.cpp +++ b/devtools/create_hugo/create_hugo.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/create_hugo.h b/devtools/create_hugo/create_hugo.h index e176dbb195..4f759feba6 100644 --- a/devtools/create_hugo/create_hugo.h +++ b/devtools/create_hugo/create_hugo.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticdata.h b/devtools/create_hugo/staticdata.h index 0ead2109d0..6e9c614943 100644 --- a/devtools/create_hugo/staticdata.h +++ b/devtools/create_hugo/staticdata.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticdisplay.h b/devtools/create_hugo/staticdisplay.h index 99d155dc13..0b5c10786c 100644 --- a/devtools/create_hugo/staticdisplay.h +++ b/devtools/create_hugo/staticdisplay.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticengine.h b/devtools/create_hugo/staticengine.h index 0091182c3c..7a45b23f8d 100644 --- a/devtools/create_hugo/staticengine.h +++ b/devtools/create_hugo/staticengine.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticfont.h b/devtools/create_hugo/staticfont.h index 9fa87d194a..f474f5be51 100644 --- a/devtools/create_hugo/staticfont.h +++ b/devtools/create_hugo/staticfont.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticintro.h b/devtools/create_hugo/staticintro.h index d9880b707c..fbf727c2a1 100644 --- a/devtools/create_hugo/staticintro.h +++ b/devtools/create_hugo/staticintro.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticmouse.h b/devtools/create_hugo/staticmouse.h index b4d784210b..e51e9f54a0 100644 --- a/devtools/create_hugo/staticmouse.h +++ b/devtools/create_hugo/staticmouse.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticparser.h b/devtools/create_hugo/staticparser.h index a2e28c1790..857dd3e960 100644 --- a/devtools/create_hugo/staticparser.h +++ b/devtools/create_hugo/staticparser.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_hugo/staticutil.h b/devtools/create_hugo/staticutil.h index 9003788ec9..ac2a824315 100644 --- a/devtools/create_hugo/staticutil.h +++ b/devtools/create_hugo/staticutil.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp index 01cde620e7..7da7bd4ef0 100644 --- a/devtools/create_kyradat/create_kyradat.cpp +++ b/devtools/create_kyradat/create_kyradat.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -30,24 +30,22 @@ #endif // main #include "create_kyradat.h" +#include "resources.h" +#include "types.h" -#include "search.h" #include "pak.h" -#include "tables.h" -#include "extract.h" - #include "md5.h" #include "common/language.h" #include "common/platform.h" +#include <vector> #include <string> -#include <map> #include <algorithm> -#include <map> + enum { - kKyraDatVersion = 84 + kKyraDatVersion = 85 }; const ExtractFilename extractFilenames[] = { @@ -55,647 +53,647 @@ const ExtractFilename extractFilenames[] = { { kIdMap, -1, true }, // INTRO / OUTRO sequences - { k1ForestSeq, kTypeForestSeqData, false }, - { k1KallakWritingSeq, kTypeRawData, false }, - { k1KyrandiaLogoSeq, kTypeRawData, false }, - { k1KallakMalcolmSeq, kTypeRawData, false }, - { k1MalcolmTreeSeq, kTypeRawData, false }, - { k1WestwoodLogoSeq, kTypeRawData, false }, - { k1Demo1Seq, kTypeRawData, false }, - { k1Demo2Seq, kTypeRawData, false }, - { k1Demo3Seq, kTypeRawData, false }, - { k1Demo4Seq, kTypeRawData, false }, - { k1OutroReunionSeq, kTypeRawData, false }, + { k1ForestSeq, kRawData, false }, + { k1KallakWritingSeq, kRawData, false }, + { k1KyrandiaLogoSeq, kRawData, false }, + { k1KallakMalcolmSeq, kRawData, false }, + { k1MalcolmTreeSeq, kRawData, false }, + { k1WestwoodLogoSeq, kRawData, false }, + { k1Demo1Seq, kRawData, false }, + { k1Demo2Seq, kRawData, false }, + { k1Demo3Seq, kRawData, false }, + { k1Demo4Seq, kRawData, false }, + { k1OutroReunionSeq, kRawData, false }, // INTRO / OUTRO strings - { k1IntroCPSStrings, kTypeStringList, false }, - { k1IntroCOLStrings, kTypeStringList, false }, - { k1IntroWSAStrings, kTypeStringList, false }, - { k1IntroStrings, kTypeStringList, true }, - { k1OutroHomeString, kTypeStringList, true }, + { k1IntroCPSStrings, kStringList, false }, + { k1IntroCOLStrings, kStringList, false }, + { k1IntroWSAStrings, kStringList, false }, + { k1IntroStrings, kStringList, true }, + { k1OutroHomeString, kStringList, true }, // INGAME strings - { k1ItemNames, kTypeStringList, true }, - { k1TakenStrings, kTypeStringList, true }, - { k1PlacedStrings, kTypeStringList, true }, - { k1DroppedStrings, kTypeStringList, true }, - { k1NoDropStrings, kTypeStringList, true }, - { k1PutDownString, kTypeStringList, true }, - { k1WaitAmuletString, kTypeStringList, true }, - { k1BlackJewelString, kTypeStringList, true }, - { k1PoisonGoneString, kTypeStringList, true }, - { k1HealingTipString, kTypeStringList, true }, - { k1ThePoisonStrings, kTypeStringList, true }, - { k1FluteStrings, kTypeStringList, true }, - { k1WispJewelStrings, kTypeStringList, true }, - { k1MagicJewelStrings, kTypeStringList, true }, - { k1FlaskFullString, kTypeStringList, true }, - { k1FullFlaskString, kTypeStringList, true }, - { k1VeryCleverString, kTypeStringList, true }, - { k1NewGameString, kTypeStringList, true }, + { k1ItemNames, kStringList, true }, + { k1TakenStrings, kStringList, true }, + { k1PlacedStrings, kStringList, true }, + { k1DroppedStrings, kStringList, true }, + { k1NoDropStrings, kStringList, true }, + { k1PutDownString, kStringList, true }, + { k1WaitAmuletString, kStringList, true }, + { k1BlackJewelString, kStringList, true }, + { k1PoisonGoneString, kStringList, true }, + { k1HealingTipString, kStringList, true }, + { k1ThePoisonStrings, kStringList, true }, + { k1FluteStrings, kStringList, true }, + { k1WispJewelStrings, kStringList, true }, + { k1MagicJewelStrings, kStringList, true }, + { k1FlaskFullString, kStringList, true }, + { k1FullFlaskString, kStringList, true }, + { k1VeryCleverString, kStringList, true }, + { k1NewGameString, kStringList, true }, // GUI strings table - { k1GUIStrings, kTypeStringList, true }, - { k1ConfigStrings, kTypeStringList, true }, + { k1GUIStrings, kStringList, true }, + { k1ConfigStrings, kStringList, true }, // ROOM table/filenames - { k1RoomList, kTypeRoomList, false }, - { k1RoomFilenames, kTypeStringList, false }, + { k1RoomList, kRoomList, false }, + { k1RoomFilenames, kStringList, false }, // SHAPE tables - { k1DefaultShapes, kTypeShapeList, false }, - { k1Healing1Shapes, kTypeShapeList, false }, - { k1Healing2Shapes, kTypeShapeList, false }, - { k1PoisonDeathShapes, kTypeShapeList, false }, - { k1FluteShapes, kTypeShapeList, false }, - { k1Winter1Shapes, kTypeShapeList, false }, - { k1Winter2Shapes, kTypeShapeList, false }, - { k1Winter3Shapes, kTypeShapeList, false }, - { k1DrinkShapes, kTypeShapeList, false }, - { k1WispShapes, kTypeShapeList, false }, - { k1MagicAnimShapes, kTypeShapeList, false }, - { k1BranStoneShapes, kTypeShapeList, false }, + { k1DefaultShapes, kShapeList, false }, + { k1Healing1Shapes, kShapeList, false }, + { k1Healing2Shapes, kShapeList, false }, + { k1PoisonDeathShapes, kShapeList, false }, + { k1FluteShapes, kShapeList, false }, + { k1Winter1Shapes, kShapeList, false }, + { k1Winter2Shapes, kShapeList, false }, + { k1Winter3Shapes, kShapeList, false }, + { k1DrinkShapes, kShapeList, false }, + { k1WispShapes, kShapeList, false }, + { k1MagicAnimShapes, kShapeList, false }, + { k1BranStoneShapes, kShapeList, false }, // IMAGE filename table - { k1CharacterImageFilenames, kTypeStringList, false }, + { k1CharacterImageFilenames, kStringList, false }, // AUDIO filename table - { k1AudioTracks, kTypeStringList, false }, - { k1AudioTracks2, kTypeStringList, false }, - { k1AudioTracksIntro, kTypeStringList, false }, + { k1AudioTracks, kStringList, false }, + { k1AudioTracks2, kStringList, false }, + { k1AudioTracksIntro, kStringList, false }, // AMULET anim - { k1AmuleteAnimSeq, kTypeRawData, false }, + { k1AmuleteAnimSeq, kRawData, false }, // PALETTE table - { k1SpecialPalette1, kTypeRawData, false }, - { k1SpecialPalette2, kTypeRawData, false }, - { k1SpecialPalette3, kTypeRawData, false }, - { k1SpecialPalette4, kTypeRawData, false }, - { k1SpecialPalette5, kTypeRawData, false }, - { k1SpecialPalette6, kTypeRawData, false }, - { k1SpecialPalette7, kTypeRawData, false }, - { k1SpecialPalette8, kTypeRawData, false }, - { k1SpecialPalette9, kTypeRawData, false }, - { k1SpecialPalette10, kTypeRawData, false }, - { k1SpecialPalette11, kTypeRawData, false }, - { k1SpecialPalette12, kTypeRawData, false }, - { k1SpecialPalette13, kTypeRawData, false }, - { k1SpecialPalette14, kTypeRawData, false }, - { k1SpecialPalette15, kTypeRawData, false }, - { k1SpecialPalette16, kTypeRawData, false }, - { k1SpecialPalette17, kTypeRawData, false }, - { k1SpecialPalette18, kTypeRawData, false }, - { k1SpecialPalette19, kTypeRawData, false }, - { k1SpecialPalette20, kTypeRawData, false }, - { k1SpecialPalette21, kTypeRawData, false }, - { k1SpecialPalette22, kTypeRawData, false }, - { k1SpecialPalette23, kTypeRawData, false }, - { k1SpecialPalette24, kTypeRawData, false }, - { k1SpecialPalette25, kTypeRawData, false }, - { k1SpecialPalette26, kTypeRawData, false }, - { k1SpecialPalette27, kTypeRawData, false }, - { k1SpecialPalette28, kTypeRawData, false }, - { k1SpecialPalette29, kTypeRawData, false }, - { k1SpecialPalette30, kTypeRawData, false }, - { k1SpecialPalette31, kTypeRawData, false }, - { k1SpecialPalette32, kTypeRawData, false }, - { k1SpecialPalette33, kTypeRawData, false }, + { k1SpecialPalette1, kRawData, false }, + { k1SpecialPalette2, kRawData, false }, + { k1SpecialPalette3, kRawData, false }, + { k1SpecialPalette4, kRawData, false }, + { k1SpecialPalette5, kRawData, false }, + { k1SpecialPalette6, kRawData, false }, + { k1SpecialPalette7, kRawData, false }, + { k1SpecialPalette8, kRawData, false }, + { k1SpecialPalette9, kRawData, false }, + { k1SpecialPalette10, kRawData, false }, + { k1SpecialPalette11, kRawData, false }, + { k1SpecialPalette12, kRawData, false }, + { k1SpecialPalette13, kRawData, false }, + { k1SpecialPalette14, kRawData, false }, + { k1SpecialPalette15, kRawData, false }, + { k1SpecialPalette16, kRawData, false }, + { k1SpecialPalette17, kRawData, false }, + { k1SpecialPalette18, kRawData, false }, + { k1SpecialPalette19, kRawData, false }, + { k1SpecialPalette20, kRawData, false }, + { k1SpecialPalette21, kRawData, false }, + { k1SpecialPalette22, kRawData, false }, + { k1SpecialPalette23, kRawData, false }, + { k1SpecialPalette24, kRawData, false }, + { k1SpecialPalette25, kRawData, false }, + { k1SpecialPalette26, kRawData, false }, + { k1SpecialPalette27, kRawData, false }, + { k1SpecialPalette28, kRawData, false }, + { k1SpecialPalette29, kRawData, false }, + { k1SpecialPalette30, kRawData, false }, + { k1SpecialPalette31, kRawData, false }, + { k1SpecialPalette32, kRawData, false }, + { k1SpecialPalette33, kRawData, false }, // CREDITS (used in FM-TOWNS and AMIGA) - { k1CreditsStrings, kTypeRawData, true }, + { k1CreditsStrings, kRawData, true }, // FM-TOWNS specific - { k1TownsMusicFadeTable, k3TypeRaw16to8, false }, - { k1TownsSFXwdTable, kTypeTownsWDSfxTable, false }, - { k1TownsSFXbtTable, kTypeRawData, false }, - { k1TownsCDATable, kTypeRawData, false }, + { k1TownsMusicFadeTable, kRawData, false }, + { k1TownsSFXwdTable, kRawData, false }, + { k1TownsSFXbtTable, kRawData, false }, + { k1TownsCDATable, kRawData, false }, // PC98 specific - { k1PC98StoryStrings, kTypeStringList, true }, - { k1PC98IntroSfx, kTypeRawData, false }, + { k1PC98StoryStrings, kStringList, true }, + { k1PC98IntroSfx, kRawData, false }, // AMIGA specific - { k1AmigaIntroSFXTable, kTypeAmigaSfxTable, false }, - { k1AmigaGameSFXTable, kTypeAmigaSfxTable, false }, + { k1AmigaIntroSFXTable, kAmigaSfxTable, false }, + { k1AmigaGameSFXTable, kAmigaSfxTable, false }, // HAND OF FATE // Sequence Player - { k2SeqplayPakFiles, kTypeStringList, false }, - { k2SeqplayCredits, kTypeRawData, false }, - { k2SeqplayCreditsSpecial, kTypeStringList, false }, - { k2SeqplayStrings, kTypeStringList, true }, - { k2SeqplaySfxFiles, k2TypeSoundList, false }, - { k2SeqplayTlkFiles, k2TypeLangSoundList, true }, - { k2SeqplaySeqData, k2TypeSeqData, false }, - { k2SeqplayIntroTracks, kTypeStringList, false }, - { k2SeqplayFinaleTracks, kTypeStringList, false }, - { k2SeqplayIntroCDA, kTypeRawData, false }, - { k2SeqplayFinaleCDA, kTypeRawData, false }, - { k2SeqplayShapeAnimData, k2TypeShpDataV1, false }, + { k2SeqplayPakFiles, kStringList, false }, + { k2SeqplayCredits, kRawData, false }, + { k2SeqplayCreditsSpecial, kStringList, false }, + { k2SeqplayStrings, kStringList, true }, + { k2SeqplaySfxFiles, kStringList, false }, + { k2SeqplayTlkFiles, kStringList, true }, + { k2SeqplaySeqData, k2SeqData, false }, + { k2SeqplayIntroTracks, kStringList, false }, + { k2SeqplayFinaleTracks, kStringList, false }, + { k2SeqplayIntroCDA, kRawData, false }, + { k2SeqplayFinaleCDA, kRawData, false }, + { k2SeqplayShapeAnimData, k2SeqItemAnimData, false }, // Ingame - { k2IngamePakFiles, kTypeStringList, false }, - { k2IngameSfxFiles, k2TypeSize10StringList, false }, - { k2IngameSfxIndex, kTypeRawData, false }, - { k2IngameTracks, kTypeStringList, false }, - { k2IngameCDA, kTypeRawData, false }, - { k2IngameTalkObjIndex, kTypeRawData, false }, - { k2IngameTimJpStrings, kTypeStringList, false }, - { k2IngameShapeAnimData, k2TypeShpDataV2, false }, - { k2IngameTlkDemoStrings, kTypeStringList, true }, + { k2IngamePakFiles, kStringList, false }, + { k2IngameSfxFiles, kStringList, false }, + { k2IngameSfxIndex, kRawData, false }, + { k2IngameTracks, kStringList, false }, + { k2IngameCDA, kRawData, false }, + { k2IngameTalkObjIndex, kRawData, false }, + { k2IngameTimJpStrings, kStringList, false }, + { k2IngameShapeAnimData, k2ItemAnimDefinition, false }, + { k2IngameTlkDemoStrings, kStringList, true }, // MALCOLM'S REVENGE - { k3MainMenuStrings, kTypeStringList, false }, - { k3MusicFiles, k2TypeSoundList, false }, - { k3ScoreTable, kTypeRawData, false }, - { k3SfxFiles, k2TypeSfxList, false }, - { k3SfxMap, k3TypeRaw16to8, false }, - { k3ItemAnimData, k3TypeShpData, false }, - { k3ItemMagicTable, k3TypeRaw16to8, false }, - { k3ItemStringMap, kTypeRawData, false }, + { k3MainMenuStrings, kStringList, false }, + { k3MusicFiles, kStringList, false }, + { k3ScoreTable, kRawData, false }, + { k3SfxFiles, kStringList, false }, + { k3SfxMap, kRawData, false }, + { k3ItemAnimData, k2ItemAnimDefinition, false }, + { k3ItemMagicTable, kRawData, false }, + { k3ItemStringMap, kRawData, false }, // EYE OF THE BEHOLDER COMMON - { kEoBBaseChargenStrings1, kTypeStringList, true }, - { kEoBBaseChargenStrings2, kTypeStringList, true }, - { kEoBBaseChargenStartLevels, kTypeRawData, false }, - { kEoBBaseChargenStatStrings, kTypeStringList, true}, - { kEoBBaseChargenRaceSexStrings, kTypeStringList, true }, - { kEoBBaseChargenClassStrings, kTypeStringList, true }, - { kEoBBaseChargenAlignmentStrings, kTypeStringList, true }, - { kEoBBaseChargenEnterGameStrings, kTypeStringList, true }, - { kEoBBaseChargenClassMinStats, k3TypeRaw16to8, false }, - { kEoBBaseChargenRaceMinStats, k3TypeRaw16to8, false }, - { kEoBBaseChargenRaceMaxStats, kLoLTypeRaw16, false }, - - { kEoBBaseSaveThrowTable1, kTypeRawData, false }, - { kEoBBaseSaveThrowTable2, kTypeRawData, false }, - { kEoBBaseSaveThrowTable3, kTypeRawData, false }, - { kEoBBaseSaveThrowTable4, kTypeRawData, false }, - { kEoBBaseSaveThrwLvlIndex, kTypeRawData, false }, - { kEoBBaseSaveThrwModDiv, kTypeRawData, false }, - { kEoBBaseSaveThrwModExt, kTypeRawData, false }, - - { kEoBBasePryDoorStrings, kTypeStringList, true }, - { kEoBBaseWarningStrings, kTypeStringList, true }, - - { kEoBBaseItemSuffixStringsRings, kTypeStringList, true }, - { kEoBBaseItemSuffixStringsPotions, kTypeStringList, true }, - { kEoBBaseItemSuffixStringsWands, kTypeStringList, true }, - - { kEoBBaseRipItemStrings, kTypeStringList, true }, - { kEoBBaseCursedString, kTypeStringList, true }, - { kEoBBaseEnchantedString, kTypeStringList, false }, - { kEoBBaseMagicObjectStrings, kTypeStringList, true }, - { kEoBBaseMagicObject5String, kTypeStringList, true }, - { kEoBBasePatternSuffix, kTypeStringList, true }, - { kEoBBasePatternGrFix1, kTypeStringList, true }, - { kEoBBasePatternGrFix2, kTypeStringList, true }, - { kEoBBaseValidateArmorString, kTypeStringList, true }, - { kEoBBaseValidateCursedString, kTypeStringList, true }, - { kEoBBaseValidateNoDropString, kTypeStringList, true }, - { kEoBBasePotionStrings, kTypeStringList, true }, - { kEoBBaseWandString, kTypeStringList, true }, - { kEoBBaseItemMisuseStrings, kTypeStringList, true }, - - { kEoBBaseTakenStrings, kTypeStringList, true }, - { kEoBBasePotionEffectStrings, kTypeStringList, true }, - - { kEoBBaseYesNoStrings, kTypeStringList, true }, - { kRpgCommonMoreStrings, kTypeStringList, true }, - { kEoBBaseNpcMaxStrings, kTypeStringList, true }, - { kEoBBaseOkStrings, kTypeStringList, true }, - { kEoBBaseNpcJoinStrings, kTypeStringList, true }, - { kEoBBaseCancelStrings, kTypeStringList, true }, - { kEoBBaseAbortStrings, kTypeStringList, true }, - - { kEoBBaseMenuStringsMain, kTypeStringList, true }, - { kEoBBaseMenuStringsSaveLoad, kTypeStringList, true }, - { kEoBBaseMenuStringsOnOff, kTypeStringList, true }, - { kEoBBaseMenuStringsSpells, kTypeStringList, true }, - { kEoBBaseMenuStringsRest, kTypeStringList, true }, - { kEoBBaseMenuStringsDrop, kTypeStringList, true }, - { kEoBBaseMenuStringsExit, kTypeStringList, true }, - { kEoBBaseMenuStringsStarve, kTypeStringList, true }, - { kEoBBaseMenuStringsScribe, kTypeStringList, true }, - { kEoBBaseMenuStringsDrop2, kTypeStringList, true }, - { kEoBBaseMenuStringsHead, kTypeStringList, true }, - { kEoBBaseMenuStringsPoison, kTypeStringList, true }, - { kEoBBaseMenuStringsMgc, kTypeStringList, true }, - { kEoBBaseMenuStringsPrefs, kTypeStringList, true }, - { kEoBBaseMenuStringsRest2, kTypeStringList, true }, - { kEoBBaseMenuStringsRest3, kTypeStringList, true }, - { kEoBBaseMenuStringsRest4, kTypeStringList, true }, - { kEoBBaseMenuStringsDefeat, kTypeStringList, true }, - { kEoBBaseMenuStringsTransfer, kTypeStringList, true }, - { kEoBBaseMenuStringsSpec, kTypeStringList, true }, - { kEoBBaseMenuStringsSpellNo, kTypeStringList, false }, - { kEoBBaseMenuYesNoStrings, kTypeStringList, true }, - - { kEoBBaseSpellLevelsMage, kTypeRawData, false }, - { kEoBBaseSpellLevelsCleric, kTypeRawData, false }, - { kEoBBaseNumSpellsCleric, kTypeRawData, false }, - { kEoBBaseNumSpellsWisAdj, kTypeRawData, false }, - { kEoBBaseNumSpellsPal, kTypeRawData, false }, - { kEoBBaseNumSpellsMage, kTypeRawData, false }, - - { kEoBBaseCharGuiStringsHp, kTypeStringList, true }, - { kEoBBaseCharGuiStringsWp1, kTypeStringList, true }, - { kEoBBaseCharGuiStringsWp2, kTypeStringList, true }, - { kEoBBaseCharGuiStringsWr, kTypeStringList, true }, - { kEoBBaseCharGuiStringsSt1, kTypeStringList, true }, - { kEoBBaseCharGuiStringsSt2, kTypeStringList, true }, - { kEoBBaseCharGuiStringsIn, kTypeStringList, true }, - - { kEoBBaseCharStatusStrings7, kTypeStringList, true }, - { kEoBBaseCharStatusStrings81, kTypeStringList, true }, - { kEoBBaseCharStatusStrings82, kTypeStringList, true }, - { kEoBBaseCharStatusStrings9, kTypeStringList, true }, - { kEoBBaseCharStatusStrings12, kTypeStringList, true }, - { kEoBBaseCharStatusStrings131, kTypeStringList, true }, - { kEoBBaseCharStatusStrings132, kTypeStringList, true }, - - { kEoBBaseLevelGainStrings, kTypeStringList, true }, - { kEoBBaseExperienceTable0, kLoLTypeRaw32, false }, - { kEoBBaseExperienceTable1, kLoLTypeRaw32, false }, - { kEoBBaseExperienceTable2, kLoLTypeRaw32, false }, - { kEoBBaseExperienceTable3, kLoLTypeRaw32, false }, - { kEoBBaseExperienceTable4, kLoLTypeRaw32, false }, - - { kEoBBaseWllFlagPreset, kTypeRawData, false }, - { kEoBBaseDscShapeCoords, kLoLTypeRaw16, false }, - { kEoBBaseDscDoorScaleOffs, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult1, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult2, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult3, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult4, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult5, kTypeRawData, false }, - { kEoBBaseDscDoorScaleMult6, kTypeRawData, false }, - { kEoBBaseDscDoorType5Offs, kTypeRawData, false }, - { kEoBBaseDscDoorXE, kTypeRawData, false }, - { kEoBBaseDscDoorY1, kTypeRawData, false }, - { kEoBBaseDscDoorY3, kTypeRawData, false }, - { kEoBBaseDscDoorY4, kTypeRawData, false }, - { kEoBBaseDscDoorY5, kTypeRawData, false }, - { kEoBBaseDscDoorY6, kTypeRawData, false }, - { kEoBBaseDscDoorY7, kTypeRawData, false }, - { kEoBBaseDscDoorCoordsExt, kLoLTypeRaw16, false }, - - { kEoBBaseDscItemPosIndex, kTypeRawData, false }, - { kEoBBaseDscItemShpX, kLoLTypeRaw16, false }, - { kEoBBaseDscItemPosUnk, kTypeRawData, false }, - { kEoBBaseDscItemTileIndex, kTypeRawData, false }, - { kEoBBaseDscItemShapeMap, kTypeRawData, false }, - { kEoBBaseDscTelptrShpCoords, kTypeRawData, false }, - - { kEoBBasePortalSeqData, kTypeRawData, false }, - { kEoBBaseManDef, kTypeRawData, true }, - { kEoBBaseManWord, kTypeStringList, true }, - { kEoBBaseManPrompt, kTypeStringList, true }, - - { kEoBBaseDscMonsterFrmOffsTbl1, kTypeRawData, false }, - { kEoBBaseDscMonsterFrmOffsTbl2, kTypeRawData, false }, - - { kEoBBaseInvSlotX, kLoLTypeRaw16, false }, - { kEoBBaseInvSlotY, kTypeRawData, false }, - { kEoBBaseSlotValidationFlags, kLoLTypeRaw16, false }, - - { kEoBBaseProjectileWeaponTypes, kTypeRawData, false }, - { kEoBBaseWandTypes, kTypeRawData, false }, - - { kEoBBaseDrawObjPosIndex, kTypeRawData, false }, - { kEoBBaseFlightObjFlipIndex, kTypeRawData, false }, - { kEoBBaseFlightObjShpMap, kTypeRawData, false }, - { kEoBBaseFlightObjSclIndex, kTypeRawData, false }, - - { kEoBBaseBookNumbers, kTypeStringList, true }, - { kEoBBaseMageSpellsList, kTypeStringList, true }, - { kEoBBaseClericSpellsList, kTypeStringList, true }, - { kEoBBaseSpellNames, kTypeStringList, true }, - - { kEoBBaseMagicStrings1, kTypeStringList, true }, - { kEoBBaseMagicStrings2, kTypeStringList, true }, - { kEoBBaseMagicStrings3, kTypeStringList, true }, - { kEoBBaseMagicStrings4, kTypeStringList, true }, - { kEoBBaseMagicStrings6, kTypeStringList, true }, - { kEoBBaseMagicStrings7, kTypeStringList, true }, - { kEoBBaseMagicStrings8, kTypeStringList, true }, - - { kEoBBaseExpObjectTlMode, kTypeRawData, false }, - { kEoBBaseExpObjectTblIndex, kTypeRawData, false }, - { kEoBBaseExpObjectShpStart, kTypeRawData, false }, - { kEoBBaseExpObjectTbl1, kTypeRawData, false }, - { kEoBBaseExpObjectTbl2, kTypeRawData, false }, - { kEoBBaseExpObjectTbl3, kTypeRawData, false }, - { kEoBBaseExpObjectY, k3TypeRaw16to8, false }, - - { kEoBBaseSparkDefSteps, kTypeRawData, false }, - { kEoBBaseSparkDefSubSteps, kTypeRawData, false }, - { kEoBBaseSparkDefShift, kTypeRawData, false }, - { kEoBBaseSparkDefAdd, kTypeRawData, false }, - { kEoBBaseSparkDefX, k3TypeRaw16to8, false }, - { kEoBBaseSparkDefY, kTypeRawData, false }, - { kEoBBaseSparkOfFlags1, kLoLTypeRaw32, false }, - { kEoBBaseSparkOfFlags2, kLoLTypeRaw32, false }, - { kEoBBaseSparkOfShift, kTypeRawData, false }, - { kEoBBaseSparkOfX, kTypeRawData, false }, - { kEoBBaseSparkOfY, kTypeRawData, false }, - { kEoBBaseSpellProperties, kTypeRawData, false }, - { kEoBBaseMagicFlightProps, kTypeRawData, false }, - { kEoBBaseTurnUndeadEffect, kTypeRawData, false }, - { kEoBBaseBurningHandsDest, kTypeRawData, false }, - { kEoBBaseConeOfColdDest1, kTypeRawData, false }, - { kEoBBaseConeOfColdDest2, kTypeRawData, false }, - { kEoBBaseConeOfColdDest3, kTypeRawData, false }, - { kEoBBaseConeOfColdDest4, kTypeRawData, false }, - { kEoBBaseConeOfColdGfxTbl, k3TypeRaw16to8, false }, + { kEoBBaseChargenStrings1, kStringList, true }, + { kEoBBaseChargenStrings2, kStringList, true }, + { kEoBBaseChargenStartLevels, kRawData, false }, + { kEoBBaseChargenStatStrings, kStringList, true}, + { kEoBBaseChargenRaceSexStrings, kStringList, true }, + { kEoBBaseChargenClassStrings, kStringList, true }, + { kEoBBaseChargenAlignmentStrings, kStringList, true }, + { kEoBBaseChargenEnterGameStrings, kStringList, true }, + { kEoBBaseChargenClassMinStats, kRawData, false }, + { kEoBBaseChargenRaceMinStats, kRawData, false }, + { kEoBBaseChargenRaceMaxStats, kRawDataBe16, false }, + + { kEoBBaseSaveThrowTable1, kRawData, false }, + { kEoBBaseSaveThrowTable2, kRawData, false }, + { kEoBBaseSaveThrowTable3, kRawData, false }, + { kEoBBaseSaveThrowTable4, kRawData, false }, + { kEoBBaseSaveThrwLvlIndex, kRawData, false }, + { kEoBBaseSaveThrwModDiv, kRawData, false }, + { kEoBBaseSaveThrwModExt, kRawData, false }, + + { kEoBBasePryDoorStrings, kStringList, true }, + { kEoBBaseWarningStrings, kStringList, true }, + + { kEoBBaseItemSuffixStringsRings, kStringList, true }, + { kEoBBaseItemSuffixStringsPotions, kStringList, true }, + { kEoBBaseItemSuffixStringsWands, kStringList, true }, + + { kEoBBaseRipItemStrings, kStringList, true }, + { kEoBBaseCursedString, kStringList, true }, + { kEoBBaseEnchantedString, kStringList, false }, + { kEoBBaseMagicObjectStrings, kStringList, true }, + { kEoBBaseMagicObjectString5, kStringList, true }, + { kEoBBasePatternSuffix, kStringList, true }, + { kEoBBasePatternGrFix1, kStringList, true }, + { kEoBBasePatternGrFix2, kStringList, true }, + { kEoBBaseValidateArmorString, kStringList, true }, + { kEoBBaseValidateCursedString, kStringList, true }, + { kEoBBaseValidateNoDropString, kStringList, true }, + { kEoBBasePotionStrings, kStringList, true }, + { kEoBBaseWandStrings, kStringList, true }, + { kEoBBaseItemMisuseStrings, kStringList, true }, + + { kEoBBaseTakenStrings, kStringList, true }, + { kEoBBasePotionEffectStrings, kStringList, true }, + + { kEoBBaseYesNoStrings, kStringList, true }, + { kRpgCommonMoreStrings, kStringList, true }, + { kEoBBaseNpcMaxStrings, kStringList, true }, + { kEoBBaseOkStrings, kStringList, true }, + { kEoBBaseNpcJoinStrings, kStringList, true }, + { kEoBBaseCancelStrings, kStringList, true }, + { kEoBBaseAbortStrings, kStringList, true }, + + { kEoBBaseMenuStringsMain, kStringList, true }, + { kEoBBaseMenuStringsSaveLoad, kStringList, true }, + { kEoBBaseMenuStringsOnOff, kStringList, true }, + { kEoBBaseMenuStringsSpells, kStringList, true }, + { kEoBBaseMenuStringsRest, kStringList, true }, + { kEoBBaseMenuStringsDrop, kStringList, true }, + { kEoBBaseMenuStringsExit, kStringList, true }, + { kEoBBaseMenuStringsStarve, kStringList, true }, + { kEoBBaseMenuStringsScribe, kStringList, true }, + { kEoBBaseMenuStringsDrop2, kStringList, true }, + { kEoBBaseMenuStringsHead, kStringList, true }, + { kEoBBaseMenuStringsPoison, kStringList, true }, + { kEoBBaseMenuStringsMgc, kStringList, true }, + { kEoBBaseMenuStringsPrefs, kStringList, true }, + { kEoBBaseMenuStringsRest2, kStringList, true }, + { kEoBBaseMenuStringsRest3, kStringList, true }, + { kEoBBaseMenuStringsRest4, kStringList, true }, + { kEoBBaseMenuStringsDefeat, kStringList, true }, + { kEoBBaseMenuStringsTransfer, kStringList, true }, + { kEoBBaseMenuStringsSpec, kStringList, true }, + { kEoBBaseMenuStringsSpellNo, kStringList, false }, + { kEoBBaseMenuYesNoStrings, kStringList, true }, + + { kEoBBaseSpellLevelsMage, kRawData, false }, + { kEoBBaseSpellLevelsCleric, kRawData, false }, + { kEoBBaseNumSpellsCleric, kRawData, false }, + { kEoBBaseNumSpellsWisAdj, kRawData, false }, + { kEoBBaseNumSpellsPal, kRawData, false }, + { kEoBBaseNumSpellsMage, kRawData, false }, + + { kEoBBaseCharGuiStringsHp, kStringList, true }, + { kEoBBaseCharGuiStringsWp1, kStringList, true }, + { kEoBBaseCharGuiStringsWp2, kStringList, true }, + { kEoBBaseCharGuiStringsWr, kStringList, true }, + { kEoBBaseCharGuiStringsSt1, kStringList, true }, + { kEoBBaseCharGuiStringsSt2, kStringList, true }, + { kEoBBaseCharGuiStringsIn, kStringList, true }, + + { kEoBBaseCharStatusStrings7, kStringList, true }, + { kEoBBaseCharStatusStrings81, kStringList, true }, + { kEoBBaseCharStatusStrings82, kStringList, true }, + { kEoBBaseCharStatusStrings9, kStringList, true }, + { kEoBBaseCharStatusStrings12, kStringList, true }, + { kEoBBaseCharStatusStrings131, kStringList, true }, + { kEoBBaseCharStatusStrings132, kStringList, true }, + + { kEoBBaseLevelGainStrings, kStringList, true }, + { kEoBBaseExperienceTable0, kRawDataBe32, false }, + { kEoBBaseExperienceTable1, kRawDataBe32, false }, + { kEoBBaseExperienceTable2, kRawDataBe32, false }, + { kEoBBaseExperienceTable3, kRawDataBe32, false }, + { kEoBBaseExperienceTable4, kRawDataBe32, false }, + + { kEoBBaseWllFlagPreset, kRawData, false }, + { kEoBBaseDscShapeCoords, kRawDataBe16, false }, + { kEoBBaseDscDoorScaleOffs, kRawData, false }, + { kEoBBaseDscDoorScaleMult1, kRawData, false }, + { kEoBBaseDscDoorScaleMult2, kRawData, false }, + { kEoBBaseDscDoorScaleMult3, kRawData, false }, + { kEoBBaseDscDoorScaleMult4, kRawData, false }, + { kEoBBaseDscDoorScaleMult5, kRawData, false }, + { kEoBBaseDscDoorScaleMult6, kRawData, false }, + { kEoBBaseDscDoorType5Offs, kRawData, false }, + { kEoBBaseDscDoorXE, kRawData, false }, + { kEoBBaseDscDoorY1, kRawData, false }, + { kEoBBaseDscDoorY3, kRawData, false }, + { kEoBBaseDscDoorY4, kRawData, false }, + { kEoBBaseDscDoorY5, kRawData, false }, + { kEoBBaseDscDoorY6, kRawData, false }, + { kEoBBaseDscDoorY7, kRawData, false }, + { kEoBBaseDscDoorCoordsExt, kRawDataBe16, false }, + + { kEoBBaseDscItemPosIndex, kRawData, false }, + { kEoBBaseDscItemShpX, kRawDataBe16, false }, + { kEoBBaseDscItemScaleIndex, kRawData, false }, + { kEoBBaseDscItemTileIndex, kRawData, false }, + { kEoBBaseDscItemShapeMap, kRawData, false }, + { kEoBBaseDscTelptrShpCoords, kRawData, false }, + + { kEoBBasePortalSeqData, kRawData, false }, + { kEoBBaseManDef, kRawData, true }, + { kEoBBaseManWord, kStringList, true }, + { kEoBBaseManPrompt, kStringList, true }, + + { kEoBBaseDscMonsterFrmOffsTbl1, kRawData, false }, + { kEoBBaseDscMonsterFrmOffsTbl2, kRawData, false }, + + { kEoBBaseInvSlotX, kRawDataBe16, false }, + { kEoBBaseInvSlotY, kRawData, false }, + { kEoBBaseSlotValidationFlags, kRawDataBe16, false }, + + { kEoBBaseProjectileWeaponTypes, kRawData, false }, + { kEoBBaseWandTypes, kRawData, false }, + + { kEoBBaseDrawObjPosIndex, kRawData, false }, + { kEoBBaseFlightObjFlipIndex, kRawData, false }, + { kEoBBaseFlightObjShpMap, kRawData, false }, + { kEoBBaseFlightObjSclIndex, kRawData, false }, + + { kEoBBaseBookNumbers, kStringList, true }, + { kEoBBaseMageSpellsList, kStringList, true }, + { kEoBBaseClericSpellsList, kStringList, true }, + { kEoBBaseSpellNames, kStringList, true }, + + { kEoBBaseMagicStrings1, kStringList, true }, + { kEoBBaseMagicStrings2, kStringList, true }, + { kEoBBaseMagicStrings3, kStringList, true }, + { kEoBBaseMagicStrings4, kStringList, true }, + { kEoBBaseMagicStrings6, kStringList, true }, + { kEoBBaseMagicStrings7, kStringList, true }, + { kEoBBaseMagicStrings8, kStringList, true }, + + { kEoBBaseExpObjectTlMode, kRawData, false }, + { kEoBBaseExpObjectTblIndex, kRawData, false }, + { kEoBBaseExpObjectShpStart, kRawData, false }, + { kEoBBaseExpObjectTbl1, kRawData, false }, + { kEoBBaseExpObjectTbl2, kRawData, false }, + { kEoBBaseExpObjectTbl3, kRawData, false }, + { kEoBBaseExpObjectY, kRawData, false }, + + { kEoBBaseSparkDefSteps, kRawData, false }, + { kEoBBaseSparkDefSubSteps, kRawData, false }, + { kEoBBaseSparkDefShift, kRawData, false }, + { kEoBBaseSparkDefAdd, kRawData, false }, + { kEoBBaseSparkDefX, kRawData, false }, + { kEoBBaseSparkDefY, kRawData, false }, + { kEoBBaseSparkOfFlags1, kRawDataBe32, false }, + { kEoBBaseSparkOfFlags2, kRawDataBe32, false }, + { kEoBBaseSparkOfShift, kRawData, false }, + { kEoBBaseSparkOfX, kRawData, false }, + { kEoBBaseSparkOfY, kRawData, false }, + { kEoBBaseSpellProperties, kRawData, false }, + { kEoBBaseMagicFlightProps, kRawData, false }, + { kEoBBaseTurnUndeadEffect, kRawData, false }, + { kEoBBaseBurningHandsDest, kRawData, false }, + { kEoBBaseConeOfColdDest1, kRawData, false }, + { kEoBBaseConeOfColdDest2, kRawData, false }, + { kEoBBaseConeOfColdDest3, kRawData, false }, + { kEoBBaseConeOfColdDest4, kRawData, false }, + { kEoBBaseConeOfColdGfxTbl, kRawData, false }, // EYE OF THE BEHOLDER I - { kEoB1MainMenuStrings, kTypeStringList, true }, - { kEoB1BonusStrings, kTypeStringList, true }, - - { kEoB1IntroFilesOpening, kTypeStringList, false }, - { kEoB1IntroFilesTower, kTypeStringList, false }, - { kEoB1IntroFilesOrb, kTypeStringList, false }, - { kEoB1IntroFilesWdEntry, kTypeStringList, false }, - { kEoB1IntroFilesKing, kTypeStringList, false }, - { kEoB1IntroFilesHands, kTypeStringList, false }, - { kEoB1IntroFilesWdExit, kTypeStringList, false }, - { kEoB1IntroFilesTunnel, kTypeStringList, false }, - { kEoB1IntroOpeningFrmDelay, k3TypeRaw16to8, false }, - { kEoB1IntroWdEncodeX, kTypeRawData, false }, - { kEoB1IntroWdEncodeY, kTypeRawData, false }, - { kEoB1IntroWdEncodeWH, kTypeRawData, false }, - { kEoB1IntroWdDsX, kLoLTypeRaw16, false }, - { kEoB1IntroWdDsY, kTypeRawData, false }, - { kEoB1IntroTvlX1, kTypeRawData, false }, - { kEoB1IntroTvlY1, kTypeRawData, false }, - { kEoB1IntroTvlX2, kTypeRawData, false }, - { kEoB1IntroTvlY2, kTypeRawData, false }, - { kEoB1IntroTvlW, kTypeRawData, false }, - { kEoB1IntroTvlH, kTypeRawData, false }, - - { kEoB1DoorShapeDefs, kTypeRawData, false }, - { kEoB1DoorSwitchShapeDefs, kTypeRawData, false }, - { kEoB1DoorSwitchCoords, kTypeRawData, false }, - { kEoB1MonsterProperties, kTypeRawData, false }, - { kEoB1EnemyMageSpellList, kTypeRawData, false }, - { kEoB1EnemyMageSfx, kTypeRawData, false }, - { kEoB1BeholderSpellList, kTypeRawData, false }, - { kEoB1BeholderSfx, kTypeRawData, false }, - { kEoB1TurnUndeadString, kTypeStringList, true }, - - { kEoB1CgaMappingDefault, kTypeRawData, false }, - { kEoB1CgaMappingAlt, kTypeRawData, false }, - { kEoB1CgaMappingInv, kTypeRawData, false }, - { kEoB1CgaMappingItemsL, kTypeRawData, false }, - { kEoB1CgaMappingItemsS, kTypeRawData, false }, - { kEoB1CgaMappingThrown, kTypeRawData, false }, - { kEoB1CgaMappingIcons, kTypeRawData, false }, - { kEoB1CgaMappingDeco, kTypeRawData, false }, - { kEoB1CgaLevelMappingIndex, kTypeRawData, false }, - { kEoB1CgaMappingLevel0, kTypeRawData, false }, - { kEoB1CgaMappingLevel1, kTypeRawData, false }, - { kEoB1CgaMappingLevel2, kTypeRawData, false }, - { kEoB1CgaMappingLevel3, kTypeRawData, false }, - { kEoB1CgaMappingLevel4, kTypeRawData, false }, - - { kEoB1NpcShpData, kTypeRawData, false }, - { kEoB1NpcSubShpIndex1, kTypeRawData, false }, - { kEoB1NpcSubShpIndex2, kTypeRawData, false }, - { kEoB1NpcSubShpY, kTypeRawData, false }, - { kEoB1Npc0Strings, kTypeStringList, true }, - { kEoB1Npc11Strings, kTypeStringList, true }, - { kEoB1Npc12Strings, kTypeStringList, true }, - { kEoB1Npc21Strings, kTypeStringList, true }, - { kEoB1Npc22Strings, kTypeStringList, true }, - { kEoB1Npc31Strings, kTypeStringList, true }, - { kEoB1Npc32Strings, kTypeStringList, true }, - { kEoB1Npc4Strings, kTypeStringList, true }, - { kEoB1Npc5Strings, kTypeStringList, true }, - { kEoB1Npc6Strings, kTypeStringList, true }, - { kEoB1Npc7Strings, kTypeStringList, true }, + { kEoB1MainMenuStrings, kStringList, true }, + { kEoB1BonusStrings, kStringList, true }, + + { kEoB1IntroFilesOpening, kStringList, false }, + { kEoB1IntroFilesTower, kStringList, false }, + { kEoB1IntroFilesOrb, kStringList, false }, + { kEoB1IntroFilesWdEntry, kStringList, false }, + { kEoB1IntroFilesKing, kStringList, false }, + { kEoB1IntroFilesHands, kStringList, false }, + { kEoB1IntroFilesWdExit, kStringList, false }, + { kEoB1IntroFilesTunnel, kStringList, false }, + { kEoB1IntroOpeningFrmDelay, kRawData, false }, + { kEoB1IntroWdEncodeX, kRawData, false }, + { kEoB1IntroWdEncodeY, kRawData, false }, + { kEoB1IntroWdEncodeWH, kRawData, false }, + { kEoB1IntroWdDsX, kRawDataBe16, false }, + { kEoB1IntroWdDsY, kRawData, false }, + { kEoB1IntroTvlX1, kRawData, false }, + { kEoB1IntroTvlY1, kRawData, false }, + { kEoB1IntroTvlX2, kRawData, false }, + { kEoB1IntroTvlY2, kRawData, false }, + { kEoB1IntroTvlW, kRawData, false }, + { kEoB1IntroTvlH, kRawData, false }, + + { kEoB1DoorShapeDefs, kRawData, false }, + { kEoB1DoorSwitchShapeDefs, kRawData, false }, + { kEoB1DoorSwitchCoords, kRawData, false }, + { kEoB1MonsterProperties, kRawData, false }, + { kEoB1EnemyMageSpellList, kRawData, false }, + { kEoB1EnemyMageSfx, kRawData, false }, + { kEoB1BeholderSpellList, kRawData, false }, + { kEoB1BeholderSfx, kRawData, false }, + { kEoB1TurnUndeadString, kStringList, true }, + + { kEoB1CgaMappingDefault, kRawData, false }, + { kEoB1CgaMappingAlt, kRawData, false }, + { kEoB1CgaMappingInv, kRawData, false }, + { kEoB1CgaMappingItemsL, kRawData, false }, + { kEoB1CgaMappingItemsS, kRawData, false }, + { kEoB1CgaMappingThrown, kRawData, false }, + { kEoB1CgaMappingIcons, kRawData, false }, + { kEoB1CgaMappingDeco, kRawData, false }, + { kEoB1CgaLevelMappingIndex, kRawData, false }, + { kEoB1CgaMappingLevel0, kRawData, false }, + { kEoB1CgaMappingLevel1, kRawData, false }, + { kEoB1CgaMappingLevel2, kRawData, false }, + { kEoB1CgaMappingLevel3, kRawData, false }, + { kEoB1CgaMappingLevel4, kRawData, false }, + + { kEoB1NpcShpData, kRawData, false }, + { kEoB1NpcSubShpIndex1, kRawData, false }, + { kEoB1NpcSubShpIndex2, kRawData, false }, + { kEoB1NpcSubShpY, kRawData, false }, + { kEoB1Npc0Strings, kStringList, true }, + { kEoB1Npc11Strings, kStringList, true }, + { kEoB1Npc12Strings, kStringList, true }, + { kEoB1Npc21Strings, kStringList, true }, + { kEoB1Npc22Strings, kStringList, true }, + { kEoB1Npc31Strings, kStringList, true }, + { kEoB1Npc32Strings, kStringList, true }, + { kEoB1Npc4Strings, kStringList, true }, + { kEoB1Npc5Strings, kStringList, true }, + { kEoB1Npc6Strings, kStringList, true }, + { kEoB1Npc7Strings, kStringList, true }, // EYE OF THE BEHOLDER II - { kEoB2MainMenuStrings, kTypeStringList, true }, - - { kEoB2TransferPortraitFrames, kLoLTypeRaw16, false }, - { kEoB2TransferConvertTable, kTypeRawData, false }, - { kEoB2TransferItemTable, kTypeRawData, false }, - { kEoB2TransferExpTable, kLoLTypeRaw32, false }, - { kEoB2TransferStrings1, kTypeStringList, true }, - { kEoB2TransferStrings2, kTypeStringList, true }, - { kEoB2TransferLabels, kTypeStringList, true }, - - { kEoB2IntroStrings, k2TypeSfxList, true }, - { kEoB2IntroCPSFiles, kTypeStringList, true }, - { kEob2IntroAnimData00, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData01, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData02, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData03, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData04, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData05, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData06, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData07, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData08, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData09, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData10, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData11, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData12, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData13, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData14, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData15, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData16, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData17, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData18, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData19, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData20, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData21, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData22, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData23, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData24, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData25, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData26, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData27, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData28, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData29, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData30, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData31, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData32, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData33, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData34, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData35, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData36, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData37, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData38, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData39, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData40, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData41, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData42, kEoB2TypeSeqData, false }, - { kEob2IntroAnimData43, kEoB2TypeSeqData, false }, - { kEoB2IntroShapes00, kEoB2TypeShapeData, false }, - { kEoB2IntroShapes01, kEoB2TypeShapeData, false }, - { kEoB2IntroShapes04, kEoB2TypeShapeData, false }, - { kEoB2IntroShapes07, kEoB2TypeShapeData, false }, - - { kEoB2FinaleStrings, k2TypeSfxList, true }, - { kEoB2CreditsData, kTypeRawData, true }, - { kEoB2FinaleCPSFiles, kTypeStringList, true }, - { kEob2FinaleAnimData00, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData01, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData02, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData03, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData04, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData05, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData06, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData07, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData08, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData09, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData10, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData11, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData12, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData13, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData14, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData15, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData16, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData17, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData18, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData19, kEoB2TypeSeqData, false }, - { kEob2FinaleAnimData20, kEoB2TypeSeqData, false }, - { kEoB2FinaleShapes00, kEoB2TypeShapeData, false }, - { kEoB2FinaleShapes03, kEoB2TypeShapeData, false }, - { kEoB2FinaleShapes07, kEoB2TypeShapeData, false }, - { kEoB2FinaleShapes09, kEoB2TypeShapeData, false }, - { kEoB2FinaleShapes10, kEoB2TypeShapeData, false }, - { kEoB2NpcShapeData, kTypeRawData, false }, - { kEoBBaseClassModifierFlags, kTypeRawData, false }, - { kEoBBaseMonsterStepTable01, kTypeRawData, false }, - { kEoBBaseMonsterStepTable02, kTypeRawData, false }, - { kEoBBaseMonsterStepTable1, kTypeRawData, false }, - { kEoBBaseMonsterStepTable2, k3TypeRaw16to8, false }, - { kEoBBaseMonsterStepTable3, k3TypeRaw16to8, false }, - { kEoBBaseMonsterCloseAttPosTable1, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttPosTable21, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttPosTable22, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttUnkTable, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttChkTable1, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttChkTable2, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttDstTable1, kTypeRawData, false }, - { kEoBBaseMonsterCloseAttDstTable2, kTypeRawData, false }, - { kEoBBaseMonsterProximityTable, kTypeRawData, false }, - { kEoBBaseFindBlockMonstersTable, kTypeRawData, false }, - { kEoBBaseMonsterDirChangeTable, kTypeRawData, false }, - { kEoBBaseMonsterDistAttStrings, kTypeStringList, true }, - { kEoBBaseEncodeMonsterDefs, kLoLTypeRaw16, false }, - { kEoBBaseNpcPresets, kEoBTypeNpcData, false }, - { kEoB2Npc1Strings, kTypeStringList, true }, - { kEoB2Npc2Strings, kTypeStringList, true }, - { kEoB2MonsterDustStrings, kTypeStringList, true }, - { kEoB2DreamSteps, kTypeRawData, false }, - { kEoB2KheldranStrings, kTypeStringList, true }, - { kEoB2HornStrings, kTypeStringList, true }, - { kEoB2HornSounds, kTypeRawData, false }, - { kEoB2WallOfForceDsX, kLoLTypeRaw16, false }, - { kEoB2WallOfForceDsY, kTypeRawData, false }, - { kEoB2WallOfForceNumW, kTypeRawData, false }, - { kEoB2WallOfForceNumH, kTypeRawData, false }, - { kEoB2WallOfForceShpId, kTypeRawData, false }, + { kEoB2MainMenuStrings, kStringList, true }, + + { kEoB2TransferPortraitFrames, kRawDataBe16, false }, + { kEoB2TransferConvertTable, kRawData, false }, + { kEoB2TransferItemTable, kRawData, false }, + { kEoB2TransferExpTable, kRawDataBe32, false }, + { kEoB2TransferStrings1, kStringList, true }, + { kEoB2TransferStrings2, kStringList, true }, + { kEoB2TransferLabels, kStringList, true }, + + { kEoB2IntroStrings, kStringList, true }, + { kEoB2IntroCPSFiles, kStringList, true }, + { kEoB2IntroAnimData00, kEoB2SequenceData, false }, + { kEoB2IntroAnimData01, kEoB2SequenceData, false }, + { kEoB2IntroAnimData02, kEoB2SequenceData, false }, + { kEoB2IntroAnimData03, kEoB2SequenceData, false }, + { kEoB2IntroAnimData04, kEoB2SequenceData, false }, + { kEoB2IntroAnimData05, kEoB2SequenceData, false }, + { kEoB2IntroAnimData06, kEoB2SequenceData, false }, + { kEoB2IntroAnimData07, kEoB2SequenceData, false }, + { kEoB2IntroAnimData08, kEoB2SequenceData, false }, + { kEoB2IntroAnimData09, kEoB2SequenceData, false }, + { kEoB2IntroAnimData10, kEoB2SequenceData, false }, + { kEoB2IntroAnimData11, kEoB2SequenceData, false }, + { kEoB2IntroAnimData12, kEoB2SequenceData, false }, + { kEoB2IntroAnimData13, kEoB2SequenceData, false }, + { kEoB2IntroAnimData14, kEoB2SequenceData, false }, + { kEoB2IntroAnimData15, kEoB2SequenceData, false }, + { kEoB2IntroAnimData16, kEoB2SequenceData, false }, + { kEoB2IntroAnimData17, kEoB2SequenceData, false }, + { kEoB2IntroAnimData18, kEoB2SequenceData, false }, + { kEoB2IntroAnimData19, kEoB2SequenceData, false }, + { kEoB2IntroAnimData20, kEoB2SequenceData, false }, + { kEoB2IntroAnimData21, kEoB2SequenceData, false }, + { kEoB2IntroAnimData22, kEoB2SequenceData, false }, + { kEoB2IntroAnimData23, kEoB2SequenceData, false }, + { kEoB2IntroAnimData24, kEoB2SequenceData, false }, + { kEoB2IntroAnimData25, kEoB2SequenceData, false }, + { kEoB2IntroAnimData26, kEoB2SequenceData, false }, + { kEoB2IntroAnimData27, kEoB2SequenceData, false }, + { kEoB2IntroAnimData28, kEoB2SequenceData, false }, + { kEoB2IntroAnimData29, kEoB2SequenceData, false }, + { kEoB2IntroAnimData30, kEoB2SequenceData, false }, + { kEoB2IntroAnimData31, kEoB2SequenceData, false }, + { kEoB2IntroAnimData32, kEoB2SequenceData, false }, + { kEoB2IntroAnimData33, kEoB2SequenceData, false }, + { kEoB2IntroAnimData34, kEoB2SequenceData, false }, + { kEoB2IntroAnimData35, kEoB2SequenceData, false }, + { kEoB2IntroAnimData36, kEoB2SequenceData, false }, + { kEoB2IntroAnimData37, kEoB2SequenceData, false }, + { kEoB2IntroAnimData38, kEoB2SequenceData, false }, + { kEoB2IntroAnimData39, kEoB2SequenceData, false }, + { kEoB2IntroAnimData40, kEoB2SequenceData, false }, + { kEoB2IntroAnimData41, kEoB2SequenceData, false }, + { kEoB2IntroAnimData42, kEoB2SequenceData, false }, + { kEoB2IntroAnimData43, kEoB2SequenceData, false }, + { kEoB2IntroShapes00, kEoB2ShapeData, false }, + { kEoB2IntroShapes01, kEoB2ShapeData, false }, + { kEoB2IntroShapes04, kEoB2ShapeData, false }, + { kEoB2IntroShapes07, kEoB2ShapeData, false }, + + { kEoB2FinaleStrings, kStringList, true }, + { kEoB2CreditsData, kRawData, true }, + { kEoB2FinaleCPSFiles, kStringList, true }, + { kEoB2FinaleAnimData00, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData01, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData02, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData03, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData04, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData05, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData06, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData07, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData08, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData09, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData10, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData11, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData12, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData13, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData14, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData15, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData16, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData17, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData18, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData19, kEoB2SequenceData, false }, + { kEoB2FinaleAnimData20, kEoB2SequenceData, false }, + { kEoB2FinaleShapes00, kEoB2ShapeData, false }, + { kEoB2FinaleShapes03, kEoB2ShapeData, false }, + { kEoB2FinaleShapes07, kEoB2ShapeData, false }, + { kEoB2FinaleShapes09, kEoB2ShapeData, false }, + { kEoB2FinaleShapes10, kEoB2ShapeData, false }, + { kEoB2NpcShapeData, kRawData, false }, + { kEoBBaseClassModifierFlags, kRawData, false }, + { kEoBBaseMonsterStepTable01, kRawData, false }, + { kEoBBaseMonsterStepTable02, kRawData, false }, + { kEoBBaseMonsterStepTable1, kRawData, false }, + { kEoBBaseMonsterStepTable2, kRawData, false }, + { kEoBBaseMonsterStepTable3, kRawData, false }, + { kEoBBaseMonsterCloseAttPosTable1, kRawData, false }, + { kEoBBaseMonsterCloseAttPosTable21, kRawData, false }, + { kEoBBaseMonsterCloseAttPosTable22, kRawData, false }, + { kEoBBaseMonsterCloseAttUnkTable, kRawData, false }, + { kEoBBaseMonsterCloseAttChkTable1, kRawData, false }, + { kEoBBaseMonsterCloseAttChkTable2, kRawData, false }, + { kEoBBaseMonsterCloseAttDstTable1, kRawData, false }, + { kEoBBaseMonsterCloseAttDstTable2, kRawData, false }, + { kEoBBaseMonsterProximityTable, kRawData, false }, + { kEoBBaseFindBlockMonstersTable, kRawData, false }, + { kEoBBaseMonsterDirChangeTable, kRawData, false }, + { kEoBBaseMonsterDistAttStrings, kStringList, true }, + { kEoBBaseEncodeMonsterDefs, kRawDataBe16, false }, + { kEoBBaseNpcPresets, kEoBNpcData, false }, + { kEoB2Npc1Strings, kStringList, true }, + { kEoB2Npc2Strings, kStringList, true }, + { kEoB2MonsterDustStrings, kStringList, true }, + { kEoB2DreamSteps, kRawData, false }, + { kEoB2KheldranStrings, kStringList, true }, + { kEoB2HornStrings, kStringList, true }, + { kEoB2HornSounds, kRawData, false }, + { kEoB2WallOfForceDsX, kRawDataBe16, false }, + { kEoB2WallOfForceDsY, kRawData, false }, + { kEoB2WallOfForceNumW, kRawData, false }, + { kEoB2WallOfForceNumH, kRawData, false }, + { kEoB2WallOfForceShpId, kRawData, false }, // LANDS OF LORE // Ingame - { kLoLIngamePakFiles, k2TypeSfxList, false }, - - { kLoLCharacterDefs, kLoLTypeCharData, true }, - { kLoLIngameSfxFiles, k2TypeSfxList, false }, - { kLoLIngameSfxIndex, kTypeRawData, false }, - { kLoLMusicTrackMap, kTypeRawData, false }, - { kLoLIngameGMSfxIndex, kTypeRawData, false }, - { kLoLIngameMT32SfxIndex, kTypeRawData, false }, - { kLoLIngamePcSpkSfxIndex, kTypeRawData, false }, - { kLoLSpellProperties, kLoLTypeSpellData, false }, - { kLoLGameShapeMap, kTypeRawData, false }, - { kLoLSceneItemOffs, kTypeRawData, false }, - { kLoLCharInvIndex, k3TypeRaw16to8, false }, - { kLoLCharInvDefs, kTypeRawData, false }, - { kLoLCharDefsMan, kLoLTypeRaw16, false }, - { kLoLCharDefsWoman, kLoLTypeRaw16, false }, - { kLoLCharDefsKieran, kLoLTypeRaw16, false }, - { kLoLCharDefsAkshel, kLoLTypeRaw16, false }, - { kLoLExpRequirements, kLoLTypeRaw32, false }, - { kLoLMonsterModifiers1, kLoLTypeRaw16, false }, - { kLoLMonsterModifiers2, kLoLTypeRaw16, false }, - { kLoLMonsterModifiers3, kLoLTypeRaw16, false }, - { kLoLMonsterModifiers4, kLoLTypeRaw16, false }, - { kLoLMonsterShiftOffsets, kTypeRawData, false }, - { kLoLMonsterDirFlags, kTypeRawData, false }, - { kLoLMonsterScaleY, kTypeRawData, false }, - { kLoLMonsterScaleX, kTypeRawData, false }, - { kLoLMonsterScaleWH, kLoLTypeRaw16, false }, - { kLoLFlyingObjectShp, kLoLTypeFlightShpData, false }, - { kLoLInventoryDesc, kLoLTypeRaw16, false }, - { kLoLLevelShpList, k2TypeSfxList, false }, - { kLoLLevelDatList, k2TypeSfxList, false }, - { kLoLCompassDefs, kLoLTypeCompassData, false }, - { kLoLItemPrices, kLoLTypeRaw16, false }, - { kLoLStashSetup, kTypeRawData, false }, - - { kLoLDscWalls, kTypeRawData, false }, - { kRpgCommonDscShapeIndex, kTypeRawData, false }, - { kLoLDscOvlMap, kTypeRawData, false }, - { kLoLDscScaleWidthData, kLoLTypeRaw16, false }, - { kLoLDscScaleHeightData, kLoLTypeRaw16, false }, - { kRpgCommonDscX, kLoLTypeRaw16, false }, - { kLoLDscY, kTypeRawData, false }, - { kRpgCommonDscTileIndex, kTypeRawData, false }, - { kRpgCommonDscUnk2, kTypeRawData, false }, - { kRpgCommonDscDoorShapeIndex, kTypeRawData, false }, - { kRpgCommonDscDimData1, kTypeRawData, false }, - { kRpgCommonDscDimData2, kTypeRawData, false }, - { kRpgCommonDscBlockMap, kTypeRawData, false }, - { kRpgCommonDscDimMap, kTypeRawData, false }, - { kLoLDscDoorScale, kLoLTypeRaw16, false }, - { kLoLDscOvlIndex, k3TypeRaw16to8, false }, - { kRpgCommonDscBlockIndex, kTypeRawData, false }, - { kLoLDscDoor4, kLoLTypeRaw16, false }, - { kRpgCommonDscDoorY2, kTypeRawData, false }, - { kRpgCommonDscDoorFrameY1, kTypeRawData, false }, - { kRpgCommonDscDoorFrameY2, kTypeRawData, false }, - { kRpgCommonDscDoorFrameIndex1, kTypeRawData, false }, - { kRpgCommonDscDoorFrameIndex2, kTypeRawData, false }, - { kLoLDscDoorX, kLoLTypeRaw16, false }, - { kLoLDscDoorY, kLoLTypeRaw16, false }, - - { kLoLScrollXTop, k3TypeRaw16to8, false }, - { kLoLScrollYTop, k3TypeRaw16to8, false }, - { kLoLScrollXBottom, k3TypeRaw16to8, false }, - { kLoLScrollYBottom, k3TypeRaw16to8, false }, - - { kLoLButtonDefs, kLoLTypeButtonDef, false }, - { kLoLButtonList1, k3TypeRaw16to8, false }, - { kLoLButtonList2, k3TypeRaw16to8, false }, - { kLoLButtonList3, k3TypeRaw16to8, false }, - { kLoLButtonList4, k3TypeRaw16to8, false }, - { kLoLButtonList5, k3TypeRaw16to8, false }, - { kLoLButtonList6, k3TypeRaw16to8, false }, - { kLoLButtonList7, k3TypeRaw16to8, false }, - { kLoLButtonList8, k3TypeRaw16to8, false }, - - { kLoLLegendData, kTypeRawData, false }, - { kLoLMapCursorOvl, kTypeRawData, false }, - { kLoLMapStringId, kLoLTypeRaw16, false }, - - { kLoLSpellbookAnim, k3TypeRaw16to8, false }, - { kLoLSpellbookCoords, k3TypeRaw16to8, false }, - { kLoLHealShapeFrames, kTypeRawData, false }, - { kLoLLightningDefs, kTypeRawData, false }, - { kLoLFireballCoords, kLoLTypeRaw16, false }, - - { kLoLCredits, kTypeRawData, false }, - - { kLoLHistory, kTypeRawData, false }, + { kLoLIngamePakFiles, kStringList, false }, + + { kLoLCharacterDefs, kLoLCharData, true }, + { kLoLIngameSfxFiles, kStringList, false }, + { kLoLIngameSfxIndex, kRawData, false }, + { kLoLMusicTrackMap, kRawData, false }, + { kLoLIngameGMSfxIndex, kRawData, false }, + { kLoLIngameMT32SfxIndex, kRawData, false }, + { kLoLIngamePcSpkSfxIndex, kRawData, false }, + { kLoLSpellProperties, kLoLSpellData, false }, + { kLoLGameShapeMap, kRawData, false }, + { kLoLSceneItemOffs, kRawData, false }, + { kLoLCharInvIndex, kRawData, false }, + { kLoLCharInvDefs, kRawData, false }, + { kLoLCharDefsMan, kRawDataBe16, false }, + { kLoLCharDefsWoman, kRawDataBe16, false }, + { kLoLCharDefsKieran, kRawDataBe16, false }, + { kLoLCharDefsAkshel, kRawDataBe16, false }, + { kLoLExpRequirements, kRawDataBe32, false }, + { kLoLMonsterModifiers1, kRawDataBe16, false }, + { kLoLMonsterModifiers2, kRawDataBe16, false }, + { kLoLMonsterModifiers3, kRawDataBe16, false }, + { kLoLMonsterModifiers4, kRawDataBe16, false }, + { kLoLMonsterShiftOffsets, kRawData, false }, + { kLoLMonsterDirFlags, kRawData, false }, + { kLoLMonsterScaleY, kRawData, false }, + { kLoLMonsterScaleX, kRawData, false }, + { kLoLMonsterScaleWH, kRawDataBe16, false }, + { kLoLFlyingObjectShp, kLoLFlightShpData, false }, + { kLoLInventoryDesc, kRawDataBe16, false }, + { kLoLLevelShpList, kStringList, false }, + { kLoLLevelDatList, kStringList, false }, + { kLoLCompassDefs, kLoLCompassData, false }, + { kLoLItemPrices, kRawDataBe16, false }, + { kLoLStashSetup, kRawData, false }, + + { kLoLDscWalls, kRawData, false }, + { kRpgCommonDscShapeIndex, kRawData, false }, + { kLoLDscOvlMap, kRawData, false }, + { kLoLDscScaleWidthData, kRawDataBe16, false }, + { kLoLDscScaleHeightData, kRawDataBe16, false }, + { kRpgCommonDscX, kRawDataBe16, false }, + { kLoLBaseDscY, kRawData, false }, + { kRpgCommonDscTileIndex, kRawData, false }, + { kRpgCommonDscUnk2, kRawData, false }, + { kRpgCommonDscDoorShapeIndex, kRawData, false }, + { kRpgCommonDscDimData1, kRawData, false }, + { kRpgCommonDscDimData2, kRawData, false }, + { kRpgCommonDscBlockMap, kRawData, false }, + { kRpgCommonDscDimMap, kRawData, false }, + { kLoLDscDoorScale, kRawDataBe16, false }, + { kLoLDscOvlIndex, kRawData, false }, + { kRpgCommonDscBlockIndex, kRawData, false }, + { kLoLDscDoor4, kRawDataBe16, false }, + { kRpgCommonDscDoorY2, kRawData, false }, + { kRpgCommonDscDoorFrameY1, kRawData, false }, + { kRpgCommonDscDoorFrameY2, kRawData, false }, + { kRpgCommonDscDoorFrameIndex1, kRawData, false }, + { kRpgCommonDscDoorFrameIndex2, kRawData, false }, + { kLoLDscDoorX, kRawDataBe16, false }, + { kLoLDscDoorY, kRawDataBe16, false }, + + { kLoLScrollXTop, kRawData, false }, + { kLoLScrollYTop, kRawData, false }, + { kLoLScrollXBottom, kRawData, false }, + { kLoLScrollYBottom, kRawData, false }, + + { kLoLButtonDefs, kLoLButtonData, false }, + { kLoLButtonList1, kRawData, false }, + { kLoLButtonList2, kRawData, false }, + { kLoLButtonList3, kRawData, false }, + { kLoLButtonList4, kRawData, false }, + { kLoLButtonList5, kRawData, false }, + { kLoLButtonList6, kRawData, false }, + { kLoLButtonList7, kRawData, false }, + { kLoLButtonList8, kRawData, false }, + + { kLoLLegendData, kRawData, false }, + { kLoLMapCursorOvl, kRawData, false }, + { kLoLMapStringId, kRawDataBe16, false }, + + { kLoLSpellbookAnim, kRawData, false }, + { kLoLSpellbookCoords, kRawData, false }, + { kLoLHealShapeFrames, kRawData, false }, + { kLoLLightningDefs, kRawData, false }, + { kLoLFireballCoords, kRawDataBe16, false }, + + { kLoLCredits, kRawData, false }, + + { kLoLHistory, kRawData, false }, { -1, 0, 0 } }; @@ -775,256 +773,86 @@ byte getSpecialID(int special) { // filename processing -uint32 getFilename(const ExtractInformation *info, const int id) { +uint32 getFilename(int game, int plat, int spec, int lang, const ExtractFilename *fDesc) { + // GAME, PLATFORM, SPECIAL, ID, LANG + return ((getGameID(game) & 0xF) << 24) | + ((getPlatformID(plat) & 0xF) << 20) | + ((getSpecialID(spec) & 0xF) << 16) | + ((fDesc->id & 0xFFF) << 4) | + ((getLanguageID(fDesc->langSpecific ? lang : UNK_LANG) & 0xF) << 0); +} + +uint32 getFilename(const Game *g, const int id) { const ExtractFilename *fDesc = getFilenameDesc(id); if (!fDesc) return 0; - // GAME, PLATFORM, SPECIAL, ID, LANG - return ((getGameID(info->game) & 0xF) << 24) | - ((getPlatformID(info->platform) & 0xF) << 20) | - ((getSpecialID(info->special) & 0xF) << 16) | - ((id & 0xFFF) << 4) | - ((getLanguageID(fDesc->langSpecific ? info->lang : UNK_LANG) & 0xF) << 0); -} - -// TODO: Get rid of this -bool getFilename(char *dstFilename, const ExtractInformation *info, const int id) { - sprintf(dstFilename, "%08X", getFilename(info, id)); - return true; + return getFilename(g->game, g->platform, g->special, g->lang, fDesc); } -// index generation - -typedef uint16 GameDef; - -GameDef createGameDef(const ExtractInformation *eI) { - return ((getGameID(eI->game) & 0xF) << 12) | - ((getPlatformID(eI->platform) & 0xF) << 8) | - ((getSpecialID(eI->special) & 0xF) << 4) | - ((getLanguageID(eI->lang) & 0xF) << 0); +uint32 getFilename(const ResourceProvider *provider, const ExtractFilename *fDesc) { + return getFilename(provider->game, provider->platform, provider->special, provider->language, fDesc); } -struct Index { - Index() : version(0), includedGames(0), gameList() {} - - uint32 version; - uint32 includedGames; - - typedef std::list<GameDef> GameList; - GameList gameList; -}; - -Index parseIndex(const uint8 *data, uint32 size) { - Index result; - - if (size < 8) - return result; - - result.version = READ_BE_UINT32(data); data += 4; - result.includedGames = READ_BE_UINT32(data); data += 4; - - if (result.includedGames * 2 + 8 != size) { - result.version = result.includedGames = 0; - return result; - } - - for (uint32 i = 0; i < result.includedGames; ++i) { - GameDef game = READ_BE_UINT16(data); data += 2; - result.gameList.push_back(game); - } - - return result; -} - -bool updateIndex(PAKFile &out, const ExtractInformation *eI) { - uint32 size = 0; - const uint8 *data = out.getFileData("INDEX", &size); - - Index index; - if (data) - index = parseIndex(data, size); - - GameDef gameDef = createGameDef(eI); - if (index.version == kKyraDatVersion) { - if (std::find(index.gameList.begin(), index.gameList.end(), gameDef) == index.gameList.end()) { - ++index.includedGames; - index.gameList.push_back(gameDef); - } else { - // Already included in the game list, thus we do not need any further processing here. - return true; - } - } else { - index.version = kKyraDatVersion; - index.includedGames = 1; - index.gameList.push_back(gameDef); - } - - const uint32 indexBufferSize = 8 + index.includedGames * 2; - uint8 *indexBuffer = new uint8[indexBufferSize]; - assert(indexBuffer); - uint8 *dst = indexBuffer; - WRITE_BE_UINT32(dst, index.version); dst += 4; - WRITE_BE_UINT32(dst, index.includedGames); dst += 4; - for (Index::GameList::const_iterator i = index.gameList.begin(); i != index.gameList.end(); ++i) { - WRITE_BE_UINT16(dst, *i); dst += 2; - } - - out.removeFile("INDEX"); - if (!out.addFile("INDEX", indexBuffer, indexBufferSize)) { - fprintf(stderr, "ERROR: couldn't update kyra.dat INDEX\n"); - delete[] indexBuffer; - return false; - } - +bool getFilename(char *dstFilename, const Game *g, const int id) { + sprintf(dstFilename, "%08X", getFilename(g, id)); return true; } -bool checkIndex(PAKFile &file) { - uint32 size = 0; - const uint8 *data = file.getFileData("INDEX", &size); - if (!data) - return false; - - Index index = parseIndex(data, size); +// index generation - if (index.version != kKyraDatVersion) - return false; - if (index.includedGames * 2 + 8 != size) - return false; +typedef uint16 GameDef; - return true; +GameDef createGameDef(const Game *g) { + return ((getGameID(g->game) & 0xF) << 12) | + ((getPlatformID(g->platform) & 0xF) << 8) | + ((getSpecialID(g->special) & 0xF) << 4) | + ((getLanguageID(g->lang) & 0xF) << 0); + return 0; } // main processing void printHelp(const char *f) { printf("Usage:\n"); - printf("%s output inputfiles ...\n", f); + printf("%s output\n", f); } -bool process(PAKFile &out, const Game *g, const byte *data, const uint32 size); -const Game *findGame(const byte *buffer, const uint32 size); - -typedef std::map<std::string, std::string> MD5Map; -MD5Map createMD5Sums(int files, const char * const *filenames); - -struct File { - File() : data(0), size(0) {} - File(uint8 *d, uint32 s) : data(d), size(s) {} - - uint8 *data; - uint32 size; -}; -typedef std::map<const Game *, File> GameMap; -GameMap createGameMap(const MD5Map &map); +void outputAllResources(PAKFile &out); +void outputAllGames(PAKFile &out, std::vector<GameDef> &games); int main(int argc, char *argv[]) { - if (argc < 3) { + if (argc != 2) { printHelp(argv[0]); return -1; } - // Special case for developer mode of this tool: - // With "--create filename offset size" the tool will output - // a search entry for the specifed data in the specified file. - if (!strcmp(argv[1], "--create")) { - if (argc < 5) { - printf("Developer usage: %s --create input_file hex_offset hex_size\n", argv[0]); - return -1; - } - - uint32 offset, size; - sscanf(argv[3], "%x", &offset); - sscanf(argv[4], "%x", &size); - - FILE *input = fopen(argv[2], "rb"); - if (!input) - error("Couldn't open file '%s'", argv[2]); - - byte *buffer = new byte[size]; - fseek(input, offset, SEEK_SET); - if (fread(buffer, 1, size, input) != size) { - delete[] buffer; - error("Couldn't read from file '%s'", argv[2]); - } - - fclose(input); - - SearchData d = SearchCreator::create(buffer, size); - delete[] buffer; - - printf("{ 0x%.08X, 0x%.08X, { {", d.size, d.byteSum); - for (int j = 0; j < 16; ++j) { - printf(" 0x%.2X", d.hash.digest[j]); - if (j != 15) - printf(","); - else - printf(" } } }\n"); - } - - return 0; - } - PAKFile out; - out.loadFile(argv[1], false); - // When the output file is no valid kyra.dat file, we will delete - // all the output. - if (!checkIndex(out)) - out.clearFile(); + // First step: Write out all resources. + outputAllResources(out); - MD5Map inputFiles = createMD5Sums(argc - 2, &argv[2]); + // Second step: Write all game version information + std::vector<GameDef> games; + outputAllGames(out, games); - GameMap games = createGameMap(inputFiles); - - // Check for unused input files - MD5Map unusedFiles = inputFiles; - for (GameMap::const_iterator i = games.begin(); i != games.end(); ++i) { - unusedFiles.erase(i->first->md5[0]); - if (i->first->md5[1]) - unusedFiles.erase(i->first->md5[1]); + // Third step: Write index file + byte *const indexBuffer = new byte[8 + 2 * games.size()]; + byte *dst = indexBuffer; + WRITE_BE_UINT32(dst, kKyraDatVersion); dst += 4; + WRITE_BE_UINT32(dst, games.size()); dst += 4; + for (std::vector<GameDef>::const_iterator i = games.begin(), end = games.end(); i != end; ++i) { + WRITE_BE_UINT16(dst, *i); dst += 2; } - - for (MD5Map::const_iterator i = unusedFiles.begin(); i != unusedFiles.end(); ++i) - printf("Input file '%s' with md5 sum '%s' is not known.\n", i->second.c_str(), i->first.c_str()); - - unusedFiles.clear(); - - // Short circuit, in case no games are found. - if (games.empty()) { - printf("No games found. Exiting prematurely\n"); - return -1; + if (!out.addFile("INDEX", indexBuffer, 8 + 2 * games.size())) { + error("couldn't write INDEX file"); } - // Process all games found - for (GameMap::const_iterator i = games.begin(); i != games.end(); ++i) { - MD5Map::const_iterator f1 = inputFiles.find(i->first->md5[0]); - MD5Map::const_iterator f2 = inputFiles.end(); - if (i->first->md5[1]) - f2 = inputFiles.find(i->first->md5[1]); - - if (f2 != inputFiles.end()) - printf("Processing files '%s' and '%s'...\n", f1->second.c_str(), f2->second.c_str()); - else - printf("Processing file '%s'...\n", f1->second.c_str()); - - if (!process(out, i->first, i->second.data, i->second.size)) - printf("FAILED\n"); - else - printf("OK\n"); + if (!out.saveFile(argv[1])) { + error("couldn't save changes to '%s'", argv[1]); } - // Free up memory - for (GameMap::iterator i = games.begin(); i != games.end(); ++i) - delete[] i->second.data; - games.clear(); - inputFiles.clear(); - - if (!out.saveFile(argv[1])) - error("couldn't save changes to '%s'", argv[1]); - uint8 digest[16]; if (!md5_file(argv[1], digest, 0)) error("couldn't calc. md5 for file '%s'", argv[1]); @@ -1038,1309 +866,46 @@ int main(int argc, char *argv[]) { return 0; } -MD5Map createMD5Sums(int files, const char * const *filenames) { - MD5Map result; - - while (files--) { - const char *inputFile = *filenames++; - FILE *input = fopen(inputFile, "rb"); - - uint32 size = fileSize(input); - fseek(input, 0, SEEK_SET); - - byte *buffer = new uint8[size]; - assert(buffer); - - if (fread(buffer, 1, size, input) != size) { - warning("couldn't read from file '%s', skipping it", inputFile); - delete[] buffer; - fclose(input); - continue; - } - fclose(input); - - md5_context ctx; - uint8 digest[16]; - char md5Str[33]; - - md5_starts(&ctx); - md5_update(&ctx, buffer, size); - md5_finish(&ctx, digest); - - for (int j = 0; j < 16; ++j) - sprintf(md5Str + j*2, "%02x", (int)digest[j]); +void outputAllResources(PAKFile &out) { + char filename[128]; + for (const ResourceProvider *resource = obtainResourceProviders(); + resource->id != kMaxResIDs; ++resource) { + const ExtractFilename *desc = getFilenameDesc(resource->id); - delete[] buffer; + snprintf(filename, sizeof(filename), "%08X", getFilename(resource, desc)); - result[md5Str] = inputFile; + writeResource(out, filename, (ResTypes)desc->type, resource->provider); } - - return result; } -GameMap createGameMap(const MD5Map &map) { - GameMap result; - - for (const Game * const *g = gameDescs; *g != 0; ++g) { - for (const Game *sub = *g; sub->game != -1; ++sub) { - MD5Map::const_iterator file1 = map.find(sub->md5[0]); - if (file1 == map.end()) - continue; +bool createIDMap(PAKFile &out, const Game *g, const int *needList); - MD5Map::const_iterator file2 = map.end(); - if (sub->md5[1] != 0) { - file2 = map.find(sub->md5[1]); - if (file2 == map.end()) - continue; +void outputAllGames(PAKFile &out, std::vector<GameDef> &games) { + for (const Game *const *descs = gameDescs; + *descs; ++descs) { + for (const Game *game = *descs; + game->game != -1; ++game) { + const GameDef gameDef = createGameDef(game); + if (!createIDMap(out, game, getNeedList(game))) { + error("Could not create ID map for game %04X", gameDef); } - - FILE *f1 = fopen(file1->second.c_str(), "rb"); - FILE *f2 = 0; - - if (file2 != map.end()) - f2 = fopen(file2->second.c_str(), "rb"); - - uint32 file1Size = fileSize(f1); - uint32 file2Size = 0; - if (f2) - file2Size = fileSize(f2); - - uint8 *buffer = new uint8[file1Size + file2Size]; - assert(buffer); - - fread(buffer, 1, file1Size, f1); - if (f2) - fread(buffer + file1Size, 1, file2Size, f2); - - fclose(f1); - if (f2) - fclose(f2); - - result[sub] = File(buffer, file1Size + file2Size); + games.push_back(gameDef); } } - - return result; -} - -const char *getIdString(const int id) { - switch (id) { - case k1ForestSeq: - return "k1ForestSeq"; - case k1KallakWritingSeq: - return "k1KallakWritingSeq"; - case k1KyrandiaLogoSeq: - return "k1KyrandiaLogoSeq"; - case k1KallakMalcolmSeq: - return "k1KallakMalcolmSeq"; - case k1MalcolmTreeSeq: - return "k1MalcolmTreeSeq"; - case k1WestwoodLogoSeq: - return "k1WestwoodLogoSeq"; - case k1Demo1Seq: - return "k1Demo1Seq"; - case k1Demo2Seq: - return "k1Demo2Seq"; - case k1Demo3Seq: - return "k1Demo3Seq"; - case k1Demo4Seq: - return "k1Demo4Seq"; - case k1AmuleteAnimSeq: - return "k1AmuleteAnimSeq"; - case k1OutroReunionSeq: - return "k1OutroReunionSeq"; - case k1IntroCPSStrings: - return "k1IntroCPSStrings"; - case k1IntroCOLStrings: - return "k1IntroCOLStrings"; - case k1IntroWSAStrings: - return "k1IntroWSAStrings"; - case k1IntroStrings: - return "k1IntroStrings"; - case k1OutroHomeString: - return "k1OutroHomeString"; - case k1RoomFilenames: - return "k1RoomFilenames"; - case k1RoomList: - return "k1RoomList"; - case k1CharacterImageFilenames: - return "k1CharacterImageFilenames"; - case k1AudioTracks: - return "k1AudioTracks"; - case k1AudioTracks2: - return "k1AudioTracks2"; - case k1AudioTracksIntro: - return "k1AudioTracksIntro"; - case k1ItemNames: - return "k1ItemNames"; - case k1TakenStrings: - return "k1TakenStrings"; - case k1PlacedStrings: - return "k1PlacedStrings"; - case k1DroppedStrings: - return "k1DroppedStrings"; - case k1NoDropStrings: - return "k1NoDropStrings"; - case k1PutDownString: - return "k1PutDownString"; - case k1WaitAmuletString: - return "k1WaitAmuletString"; - case k1BlackJewelString: - return "k1BlackJewelString"; - case k1PoisonGoneString: - return "k1PoisonGoneString"; - case k1HealingTipString: - return "k1HealingTipString"; - case k1WispJewelStrings: - return "k1WispJewelStrings"; - case k1MagicJewelStrings: - return "k1MagicJewelStrings"; - case k1ThePoisonStrings: - return "k1ThePoisonStrings"; - case k1FluteStrings: - return "k1FluteStrings"; - case k1FlaskFullString: - return "k1FlaskFullString"; - case k1FullFlaskString: - return "k1FullFlaskString"; - case k1VeryCleverString: - return "k1VeryCleverString"; - case k1NewGameString: - return "k1NewGameString"; - case k1DefaultShapes: - return "k1DefaultShapes"; - case k1Healing1Shapes: - return "k1Healing1Shapes"; - case k1Healing2Shapes: - return "k1Healing2Shapes"; - case k1PoisonDeathShapes: - return "k1PoisonDeathShapes"; - case k1FluteShapes: - return "k1FluteShapes"; - case k1Winter1Shapes: - return "k1Winter1Shapes"; - case k1Winter2Shapes: - return "k1Winter2Shapes"; - case k1Winter3Shapes: - return "k1Winter3Shapes"; - case k1DrinkShapes: - return "k1DrinkShapes"; - case k1WispShapes: - return "k1WispShapes"; - case k1MagicAnimShapes: - return "k1MagicAnimShapes"; - case k1BranStoneShapes: - return "k1BranStoneShapes"; - case k1SpecialPalette1: - return "k1SpecialPalette1"; - case k1SpecialPalette2: - return "k1SpecialPalette2"; - case k1SpecialPalette3: - return "k1SpecialPalette3"; - case k1SpecialPalette4: - return "k1SpecialPalette4"; - case k1SpecialPalette5: - return "k1SpecialPalette5"; - case k1SpecialPalette6: - return "k1SpecialPalette6"; - case k1SpecialPalette7: - return "k1SpecialPalette7"; - case k1SpecialPalette8: - return "k1SpecialPalette8"; - case k1SpecialPalette9: - return "k1SpecialPalette9"; - case k1SpecialPalette10: - return "k1SpecialPalette10"; - case k1SpecialPalette11: - return "k1SpecialPalette11"; - case k1SpecialPalette12: - return "k1SpecialPalette12"; - case k1SpecialPalette13: - return "k1SpecialPalette13"; - case k1SpecialPalette14: - return "k1SpecialPalette14"; - case k1SpecialPalette15: - return "k1SpecialPalette15"; - case k1SpecialPalette16: - return "k1SpecialPalette16"; - case k1SpecialPalette17: - return "k1SpecialPalette17"; - case k1SpecialPalette18: - return "k1SpecialPalette18"; - case k1SpecialPalette19: - return "k1SpecialPalette19"; - case k1SpecialPalette20: - return "k1SpecialPalette20"; - case k1SpecialPalette21: - return "k1SpecialPalette21"; - case k1SpecialPalette22: - return "k1SpecialPalette22"; - case k1SpecialPalette23: - return "k1SpecialPalette23"; - case k1SpecialPalette24: - return "k1SpecialPalette24"; - case k1SpecialPalette25: - return "k1SpecialPalette25"; - case k1SpecialPalette26: - return "k1SpecialPalette26"; - case k1SpecialPalette27: - return "k1SpecialPalette27"; - case k1SpecialPalette28: - return "k1SpecialPalette28"; - case k1SpecialPalette29: - return "k1SpecialPalette29"; - case k1SpecialPalette30: - return "k1SpecialPalette30"; - case k1SpecialPalette31: - return "k1SpecialPalette31"; - case k1SpecialPalette32: - return "k1SpecialPalette32"; - case k1SpecialPalette33: - return "k1SpecialPalette33"; - case k1GUIStrings: - return "k1GUIStrings"; - case k1ConfigStrings: - return "k1ConfigStrings"; - case k1TownsMusicFadeTable: - return "k1TownsMusicFadeTable"; - case k1TownsSFXwdTable: - return "k1TownsSFXwdTable"; - case k1TownsSFXbtTable: - return "k1TownsSFXbtTable"; - case k1TownsCDATable: - return "k1TownsCDATable"; - case k1PC98StoryStrings: - return "k1PC98StoryStrings"; - case k1PC98IntroSfx: - return "k1PC98IntroSfx"; - case k1CreditsStrings: - return "k1CreditsStrings"; - case k1AmigaIntroSFXTable: - return "k1AmigaIntroSFXTable"; - case k1AmigaGameSFXTable: - return "k1AmigaGameSFXTable"; - case k2SeqplayPakFiles: - return "k2SeqplayPakFiles"; - case k2SeqplayStrings: - return "k2SeqplayStrings"; - case k2SeqplaySfxFiles: - return "k2SeqplaySfxFiles"; - case k2SeqplayTlkFiles: - return "k2SeqplayTlkFiles"; - case k2SeqplaySeqData: - return "k2SeqplaySeqData"; - case k2SeqplayCredits: - return "k2SeqplayCredits"; - case k2SeqplayCreditsSpecial: - return "k2SeqplayCreditsSpecial"; - case k2SeqplayIntroTracks: - return "k2SeqplayIntroTracks"; - case k2SeqplayFinaleTracks: - return "k2SeqplayFinaleTracks"; - case k2SeqplayIntroCDA: - return "k2SeqplayIntroCDA"; - case k2SeqplayFinaleCDA: - return "k2SeqplayFinaleCDA"; - case k2SeqplayShapeAnimData: - return "k2SeqplayShapeAnimData"; - case k2IngamePakFiles: - return "k2IngamePakFiles"; - case k2IngameSfxFiles: - return "k2IngameSfxFiles"; - case k2IngameSfxIndex: - return "k2IngameSfxIndex"; - case k2IngameTracks: - return "k2IngameTracks"; - case k2IngameCDA: - return "k2IngameCDA"; - case k2IngameTalkObjIndex: - return "k2IngameTalkObjIndex"; - case k2IngameTimJpStrings: - return "k2IngameTimJpStrings"; - case k2IngameShapeAnimData: - return "k2IngameShapeAnimData"; - case k2IngameTlkDemoStrings: - return "k2IngameTlkDemoStrings"; - case k3MainMenuStrings: - return "k3MainMenuStrings"; - case k3MusicFiles: - return "k3MusicFiles"; - case k3ScoreTable: - return "k3ScoreTable"; - case k3SfxFiles: - return "k3SfxFiles"; - case k3SfxMap: - return "k3SfxMap"; - case k3ItemAnimData: - return "k3ItemAnimData"; - case k3ItemMagicTable: - return "k3ItemMagicTable"; - case k3ItemStringMap: - return "k3ItemStringMap"; - case kEoBBaseChargenStrings1: - return "kEoBBaseChargenStrings1"; - case kEoBBaseChargenStrings2: - return "kEoBBaseChargenStrings2"; - case kEoBBaseChargenStartLevels: - return "kEoBBaseChargenStartLevels"; - case kEoBBaseChargenStatStrings: - return "kEoBBaseChargenStatStrings"; - case kEoBBaseChargenRaceSexStrings: - return "kEoBBaseChargenRaceSexStrings"; - case kEoBBaseChargenClassStrings: - return "kEoBBaseChargenClassStrings"; - case kEoBBaseChargenAlignmentStrings: - return "kEoBBaseChargenAlignmentStrings"; - case kEoBBaseChargenEnterGameStrings: - return "kEoBBaseChargenEnterGameStrings"; - case kEoBBaseChargenClassMinStats: - return "kEoBBaseChargenClassMinStats"; - case kEoBBaseChargenRaceMinStats: - return "kEoBBaseChargenRaceMinStats"; - case kEoBBaseChargenRaceMaxStats: - return "kEoBBaseChargenRaceMaxStats"; - case kEoBBaseSaveThrowTable1: - return "kEoBBaseSaveThrowTable1"; - case kEoBBaseSaveThrowTable2: - return "kEoBBaseSaveThrowTable2"; - case kEoBBaseSaveThrowTable3: - return "kEoBBaseSaveThrowTable3"; - case kEoBBaseSaveThrowTable4: - return "kEoBBaseSaveThrowTable4"; - case kEoBBaseSaveThrwLvlIndex: - return "kEoBBaseSaveThrwLvlIndex"; - case kEoBBaseSaveThrwModDiv: - return "kEoBBaseSaveThrwModDiv"; - case kEoBBaseSaveThrwModExt: - return "kEoBBaseSaveThrwModExt"; - case kEoBBasePryDoorStrings: - return "kEoBBasePryDoorStrings"; - case kEoBBaseWarningStrings: - return "kEoBBaseWarningStrings"; - case kEoBBaseItemSuffixStringsRings: - return "kEoBBaseItemSuffixStringsRings"; - case kEoBBaseItemSuffixStringsPotions: - return "kEoBBaseItemSuffixStringsPotions"; - case kEoBBaseItemSuffixStringsWands: - return "kEoBBaseItemSuffixStringsWands"; - case kEoBBaseRipItemStrings: - return "kEoBBaseRipItemStrings"; - case kEoBBaseCursedString: - return "kEoBBaseCursedString"; - case kEoBBaseEnchantedString: - return "kEoBBaseEnchantedString"; - case kEoBBaseMagicObjectStrings: - return "kEoBBaseMagicObjectStrings"; - case kEoBBaseMagicObject5String: - return "kEoBBaseMagicObject5String"; - case kEoBBasePatternSuffix: - return "kEoBBasePatternSuffix"; - case kEoBBasePatternGrFix1: - return "kEoBBasePatternGrFix1"; - case kEoBBasePatternGrFix2: - return "kEoBBasePatternGrFix2"; - case kEoBBaseValidateArmorString: - return "kEoBBaseValidateArmorString"; - case kEoBBaseValidateCursedString: - return "kEoBBaseValidateCursedString"; - case kEoBBaseValidateNoDropString: - return "kEoBBaseValidateNoDropString"; - case kEoBBasePotionStrings: - return "kEoBBasePotionStrings"; - case kEoBBaseWandString: - return "kEoBBaseWandString"; - case kEoBBaseItemMisuseStrings: - return "kEoBBaseItemMisuseStrings"; - case kEoBBaseTakenStrings: - return "kEoBBaseTakenStrings"; - case kEoBBasePotionEffectStrings: - return "kEoBBasePotionEffectStrings"; - case kEoBBaseYesNoStrings: - return "kEoBBaseYesNoStrings"; - case kRpgCommonMoreStrings: - return "kRpgCommonMoreStrings"; - case kEoBBaseNpcMaxStrings: - return "kEoBBaseNpcMaxStrings"; - case kEoBBaseOkStrings: - return "kEoBBaseOkStrings"; - case kEoBBaseNpcJoinStrings: - return "kEoBBaseNpcJoinStrings"; - case kEoBBaseCancelStrings: - return "kEoBBaseCancelStrings"; - case kEoBBaseAbortStrings: - return "kEoBBaseAbortStrings"; - case kEoBBaseMenuStringsMain: - return "kEoBBaseMenuStringsMain"; - case kEoBBaseMenuStringsSaveLoad: - return "kEoBBaseMenuStringsSaveLoad"; - case kEoBBaseMenuStringsOnOff: - return "kEoBBaseMenuStringsOnOff"; - case kEoBBaseMenuStringsSpells: - return "kEoBBaseMenuStringsSpells"; - case kEoBBaseMenuStringsRest: - return "kEoBBaseMenuStringsRest"; - case kEoBBaseMenuStringsDrop: - return "kEoBBaseMenuStringsDrop"; - case kEoBBaseMenuStringsExit: - return "kEoBBaseMenuStringsExit"; - case kEoBBaseMenuStringsStarve: - return "kEoBBaseMenuStringsStarve"; - case kEoBBaseMenuStringsScribe: - return "kEoBBaseMenuStringsScribe"; - case kEoBBaseMenuStringsDrop2: - return "kEoBBaseMenuStringsDrop2"; - case kEoBBaseMenuStringsHead: - return "kEoBBaseMenuStringsHead"; - case kEoBBaseMenuStringsPoison: - return "kEoBBaseMenuStringsPoison"; - case kEoBBaseMenuStringsMgc: - return "kEoBBaseMenuStringsMgc"; - case kEoBBaseMenuStringsPrefs: - return "kEoBBaseMenuStringsPrefs"; - case kEoBBaseMenuStringsRest2: - return "kEoBBaseMenuStringsRest2"; - case kEoBBaseMenuStringsRest3: - return "kEoBBaseMenuStringsRest3"; - case kEoBBaseMenuStringsRest4: - return "kEoBBaseMenuStringsRest4"; - case kEoBBaseMenuStringsDefeat: - return "kEoBBaseMenuStringsDefeat"; - case kEoBBaseMenuStringsTransfer: - return "kEoBBaseMenuStringsTransfer"; - case kEoBBaseMenuStringsSpec: - return "kEoBBaseMenuStringsSpec"; - case kEoBBaseMenuStringsSpellNo: - return "kEoBBaseMenuStringsSpellNo"; - case kEoBBaseMenuYesNoStrings: - return "kEoBBaseMenuYesNoStrings"; - case kEoBBaseSpellLevelsMage: - return "kEoBBaseSpellLevelsMage"; - case kEoBBaseSpellLevelsCleric: - return "kEoBBaseSpellLevelsCleric"; - case kEoBBaseNumSpellsCleric: - return "kEoBBaseNumSpellsCleric"; - case kEoBBaseNumSpellsWisAdj: - return "kEoBBaseNumSpellsWisAdj"; - case kEoBBaseNumSpellsPal: - return "kEoBBaseNumSpellsPal"; - case kEoBBaseNumSpellsMage: - return "kEoBBaseNumSpellsMage"; - case kEoBBaseCharGuiStringsHp: - return "kEoBBaseCharGuiStringsHp"; - case kEoBBaseCharGuiStringsWp1: - return "kEoBBaseCharGuiStringsWp1"; - case kEoBBaseCharGuiStringsWp2: - return "kEoBBaseCharGuiStringsWp2"; - case kEoBBaseCharGuiStringsWr: - return "kEoBBaseCharGuiStringsWr"; - case kEoBBaseCharGuiStringsSt1: - return "kEoBBaseCharGuiStringsSt1"; - case kEoBBaseCharGuiStringsSt2: - return "kEoBBaseCharGuiStringsSt2"; - case kEoBBaseCharGuiStringsIn: - return "kEoBBaseCharGuiStringsIn"; - case kEoBBaseCharStatusStrings7: - return "kEoBBaseCharStatusStrings7"; - case kEoBBaseCharStatusStrings81: - return "kEoBBaseCharStatusStrings81"; - case kEoBBaseCharStatusStrings82: - return "kEoBBaseCharStatusStrings82"; - case kEoBBaseCharStatusStrings9: - return "kEoBBaseCharStatusStrings9"; - case kEoBBaseCharStatusStrings12: - return "kEoBBaseCharStatusStrings12"; - case kEoBBaseCharStatusStrings131: - return "kEoBBaseCharStatusStrings131"; - case kEoBBaseCharStatusStrings132: - return "kEoBBaseCharStatusStrings132"; - case kEoBBaseLevelGainStrings: - return "kEoBBaseLevelGainStrings"; - case kEoBBaseExperienceTable0: - return "kEoBBaseExperienceTable0"; - case kEoBBaseExperienceTable1: - return "kEoBBaseExperienceTable1"; - case kEoBBaseExperienceTable2: - return "kEoBBaseExperienceTable2"; - case kEoBBaseExperienceTable3: - return "kEoBBaseExperienceTable3"; - case kEoBBaseExperienceTable4: - return "kEoBBaseExperienceTable4"; - case kEoBBaseWllFlagPreset: - return "kEoBBaseWllFlagPreset"; - case kEoBBaseDscShapeCoords: - return "kEoBBaseDscShapeCoords"; - case kEoBBaseDscDoorScaleOffs: - return "kEoBBaseDscDoorScaleOffs"; - case kEoBBaseDscDoorScaleMult1: - return "kEoBBaseDscDoorScaleMult1"; - case kEoBBaseDscDoorScaleMult2: - return "kEoBBaseDscDoorScaleMult2"; - case kEoBBaseDscDoorScaleMult3: - return "kEoBBaseDscDoorScaleMult3"; - case kEoBBaseDscDoorScaleMult4: - return "kEoBBaseDscDoorScaleMult4"; - case kEoBBaseDscDoorScaleMult5: - return "kEoBBaseDscDoorScaleMult5"; - case kEoBBaseDscDoorScaleMult6: - return "kEoBBaseDscDoorScaleMult6"; - case kEoBBaseDscDoorType5Offs: - return "kEoBBaseDscDoorType5Offs"; - case kEoBBaseDscDoorXE: - return "kEoBBaseDscDoorXE"; - case kEoBBaseDscDoorY1: - return "kEoBBaseDscDoorY1"; - case kEoBBaseDscDoorY3: - return "kEoBBaseDscDoorY3"; - case kEoBBaseDscDoorY4: - return "kEoBBaseDscDoorY4"; - case kEoBBaseDscDoorY5: - return "kEoBBaseDscDoorY5"; - case kEoBBaseDscDoorY6: - return "kEoBBaseDscDoorY6"; - case kEoBBaseDscDoorY7: - return "kEoBBaseDscDoorY7"; - case kEoBBaseDscDoorCoordsExt: - return "kEoBBaseDscDoorCoordsExt"; - case kEoBBaseDscItemPosIndex: - return "kEoBBaseDscItemPosIndex"; - case kEoBBaseDscItemShpX: - return "kEoBBaseDscItemShpX"; - case kEoBBaseDscItemPosUnk: - return "kEoBBaseDscItemPosUnk"; - case kEoBBaseDscItemTileIndex: - return "kEoBBaseDscItemTileIndex"; - case kEoBBaseDscItemShapeMap: - return "kEoBBaseDscItemShapeMap"; - case kEoBBaseDscMonsterFrmOffsTbl1: - return "kEoBBaseDscMonsterFrmOffsTbl1"; - case kEoBBaseDscMonsterFrmOffsTbl2: - return "kEoBBaseDscMonsterFrmOffsTbl2"; - case kEoBBaseInvSlotX: - return "kEoBBaseInvSlotX"; - case kEoBBaseInvSlotY: - return "kEoBBaseInvSlotY"; - case kEoBBaseSlotValidationFlags: - return "kEoBBaseSlotValidationFlags"; - case kEoBBaseProjectileWeaponTypes: - return "kEoBBaseProjectileWeaponTypes"; - case kEoBBaseWandTypes: - return "kEoBBaseWandTypes"; - case kEoBBaseDrawObjPosIndex: - return "kEoBBaseDrawObjPosIndex"; - case kEoBBaseFlightObjFlipIndex: - return "kEoBBaseFlightObjFlipIndex"; - case kEoBBaseFlightObjShpMap: - return "kEoBBaseFlightObjShpMap"; - case kEoBBaseFlightObjSclIndex: - return "kEoBBaseFlightObjSclIndex"; - case kEoBBaseDscTelptrShpCoords: - return "kEoBBaseDscTelptrShpCoords"; - case kEoBBasePortalSeqData: - return "kEoBBasePortalSeqData"; - case kEoBBaseManDef: - return "kEoBBaseManDef"; - case kEoBBaseManWord: - return "kEoBBaseManWord"; - case kEoBBaseManPrompt: - return "kEoBBaseManPrompt"; - case kEoBBaseBookNumbers: - return "kEoBBaseBookNumbers"; - case kEoBBaseMageSpellsList: - return "kEoBBaseMageSpellsList"; - case kEoBBaseClericSpellsList: - return "kEoBBaseClericSpellsList"; - case kEoBBaseSpellNames: - return "kEoBBaseSpellNames"; - - case kEoBBaseMagicStrings1: - return "kEoBBaseMagicStrings1"; - case kEoBBaseMagicStrings2: - return "kEoBBaseMagicStrings2"; - case kEoBBaseMagicStrings3: - return "kEoBBaseMagicStrings3"; - case kEoBBaseMagicStrings4: - return "kEoBBaseMagicStrings4"; - case kEoBBaseMagicStrings6: - return "kEoBBaseMagicStrings6"; - case kEoBBaseMagicStrings7: - return "kEoBBaseMagicStrings7"; - case kEoBBaseMagicStrings8: - return "kEoBBaseMagicStrings8"; - case kEoBBaseExpObjectTlMode: - return "kEoBBaseExpObjectTlMode"; - case kEoBBaseExpObjectTblIndex: - return "kEoBBaseExpObjectTblIndex"; - case kEoBBaseExpObjectShpStart: - return "kEoBBaseExpObjectShpStart"; - case kEoBBaseExpObjectTbl1: - return "kEoBBaseExpObjectTbl1"; - case kEoBBaseExpObjectTbl2: - return "kEoBBaseExpObjectTbl2"; - case kEoBBaseExpObjectTbl3: - return "kEoBBaseExpObjectTbl3"; - case kEoBBaseExpObjectY: - return "kEoBBaseExpObjectY"; - case kEoBBaseSparkDefSteps: - return "kEoBBaseSparkDefSteps"; - case kEoBBaseSparkDefSubSteps: - return "kEoBBaseSparkDefSubSteps"; - case kEoBBaseSparkDefShift: - return "kEoBBaseSparkDefShift"; - case kEoBBaseSparkDefAdd: - return "kEoBBaseSparkDefAdd"; - case kEoBBaseSparkDefX: - return "kEoBBaseSparkDefX"; - case kEoBBaseSparkDefY: - return "kEoBBaseSparkDefY"; - case kEoBBaseSparkOfFlags1: - return "kEoBBaseSparkOfFlags1"; - case kEoBBaseSparkOfFlags2: - return "kEoBBaseSparkOfFlags2"; - case kEoBBaseSparkOfShift: - return "kEoBBaseSparkOfShift"; - case kEoBBaseSparkOfX: - return "kEoBBaseSparkOfX"; - case kEoBBaseSparkOfY: - return "kEoBBaseSparkOfY"; - case kEoBBaseSpellProperties: - return "kEoBBaseSpellProperties"; - case kEoBBaseMagicFlightProps: - return "kEoBBaseMagicFlightProps"; - case kEoBBaseTurnUndeadEffect: - return "kEoBBaseTurnUndeadEffect"; - case kEoBBaseBurningHandsDest: - return "kEoBBaseBurningHandsDest"; - case kEoBBaseConeOfColdDest1: - return "kEoBBaseConeOfColdDest1"; - case kEoBBaseConeOfColdDest2: - return "kEoBBaseConeOfColdDest2"; - case kEoBBaseConeOfColdDest3: - return "kEoBBaseConeOfColdDest3"; - case kEoBBaseConeOfColdDest4: - return "kEoBBaseConeOfColdDest4"; - case kEoBBaseConeOfColdGfxTbl: - return "kEoBBaseConeOfColdGfxTbl"; - case kEoB1MainMenuStrings: - return "kEoB1MainMenuStrings"; - case kEoB1BonusStrings: - return "kEoB1BonusStrings"; - case kEoB1IntroFilesOpening: - return "kEoB1IntroFilesOpening"; - case kEoB1IntroFilesTower: - return "kEoB1IntroFilesTower"; - case kEoB1IntroFilesOrb: - return "kEoB1IntroFilesOrb"; - case kEoB1IntroFilesWdEntry: - return "kEoB1IntroFilesWdEntry"; - case kEoB1IntroFilesKing: - return "kEoB1IntroFilesKing"; - case kEoB1IntroFilesHands: - return "kEoB1IntroFilesHands"; - case kEoB1IntroFilesWdExit: - return "kEoB1IntroFilesWdExit"; - case kEoB1IntroFilesTunnel: - return "kEoB1IntroFilesTunnel"; - case kEoB1IntroOpeningFrmDelay: - return "kEoB1IntroOpeningFrmDelay"; - case kEoB1IntroWdEncodeX: - return "kEoB1IntroWdEncodeX"; - case kEoB1IntroWdEncodeY: - return "kEoB1IntroWdEncodeY"; - case kEoB1IntroWdEncodeWH: - return "kEoB1IntroWdEncodeWH"; - case kEoB1IntroWdDsX: - return "kEoB1IntroWdDsX"; - case kEoB1IntroWdDsY: - return "kEoB1IntroWdDsY"; - case kEoB1IntroTvlX1: - return "kEoB1IntroTvlX1"; - case kEoB1IntroTvlY1: - return "kEoB1IntroTvlY1"; - case kEoB1IntroTvlX2: - return "kEoB1IntroTvlX2"; - case kEoB1IntroTvlY2: - return "kEoB1IntroTvlY2"; - case kEoB1IntroTvlW: - return "kEoB1IntroTvlW"; - case kEoB1IntroTvlH: - return "kEoB1IntroTvlH"; - case kEoB1DoorShapeDefs: - return "kEoB1DoorShapeDefs"; - case kEoB1DoorSwitchCoords: - return "kEoB1DoorSwitchCoords"; - case kEoB1MonsterProperties: - return "kEoB1MonsterProperties"; - case kEoB1EnemyMageSpellList: - return "kEoB1EnemyMageSpellList"; - case kEoB1EnemyMageSfx: - return "kEoB1EnemyMageSfx"; - case kEoB1BeholderSpellList: - return "kEoB1BeholderSpellList"; - case kEoB1BeholderSfx: - return "kEoB1BeholderSfx"; - case kEoB1TurnUndeadString: - return "kEoB1TurnUndeadString"; - case kEoB1CgaMappingDefault: - return "kEoB1CgaMappingDefault"; - case kEoB1CgaMappingAlt: - return "kEoB1CgaMappingAlt"; - case kEoB1CgaMappingInv: - return "kEoB1CgaMappingInv"; - case kEoB1CgaMappingItemsL: - return "kEoB1CgaMappingItemsL"; - case kEoB1CgaMappingItemsS: - return "kEoB1CgaMappingItemsS"; - case kEoB1CgaMappingThrown: - return "kEoB1CgaMappingThrown"; - case kEoB1CgaMappingIcons: - return "kEoB1CgaMappingIcons"; - case kEoB1CgaMappingDeco: - return "kEoB1CgaMappingDeco"; - case kEoB1CgaLevelMappingIndex: - return "kEoB1CgaLevelMappingIndex"; - case kEoB1CgaMappingLevel0: - return "kEoB1CgaMappingLevel0"; - case kEoB1CgaMappingLevel1: - return "kEoB1CgaMappingLevel1"; - case kEoB1CgaMappingLevel2: - return "kEoB1CgaMappingLevel2"; - case kEoB1CgaMappingLevel3: - return "kEoB1CgaMappingLevel3"; - case kEoB1CgaMappingLevel4: - return "kEoB1CgaMappingLevel4"; - case kEoB1NpcShpData: - return "kEoB1NpcShpData"; - case kEoB1NpcSubShpIndex1: - return "kEoB1NpcSubShpIndex1"; - case kEoB1NpcSubShpIndex2: - return "kEoB1NpcSubShpIndex2"; - case kEoB1NpcSubShpY: - return "kEoB1NpcSubShpY"; - case kEoB1Npc0Strings: - return "kEoB1Npc0Strings"; - case kEoB1Npc11Strings: - return "kEoB1Npc11Strings"; - case kEoB1Npc12Strings: - return "kEoB1Npc12Strings"; - case kEoB1Npc21Strings: - return "kEoB1Npc21Strings"; - case kEoB1Npc22Strings: - return "kEoB1Npc22Strings"; - case kEoB1Npc31Strings: - return "kEoB1Npc31Strings"; - case kEoB1Npc32Strings: - return "kEoB1Npc32Strings"; - case kEoB1Npc4Strings: - return "kEoB1Npc4Strings"; - case kEoB1Npc5Strings: - return "kEoB1Npc5Strings"; - case kEoB1Npc6Strings: - return "kEoB1Npc6Strings"; - case kEoB1Npc7Strings: - return "kEoB1Npc7Strings"; - case kEoB2MainMenuStrings: - return "kEoB2MainMenuStrings"; - case kEoB2TransferPortraitFrames: - return "kEoB2TransferPortraitFrames"; - case kEoB2TransferConvertTable: - return "kEoB2TransferConvertTable"; - case kEoB2TransferItemTable: - return "kEoB2TransferItemTable"; - case kEoB2TransferExpTable: - return "kEoB2TransferExpTable"; - case kEoB2TransferStrings1: - return "kEoB2TransferStrings1"; - case kEoB2TransferStrings2: - return "kEoB2TransferStrings2"; - case kEoB2TransferLabels: - return "kEoB2TransferLabels"; - case kEoB2IntroStrings: - return "kEoB2IntroStrings"; - case kEoB2IntroCPSFiles: - return "kEoB2IntroCPSFiles"; - case kEob2IntroAnimData00: - return "kEob2IntroAnimData00"; - case kEob2IntroAnimData01: - return "kEob2IntroAnimData01"; - case kEob2IntroAnimData02: - return "kEob2IntroAnimData02"; - case kEob2IntroAnimData03: - return "kEob2IntroAnimData03"; - case kEob2IntroAnimData04: - return "kEob2IntroAnimData04"; - case kEob2IntroAnimData05: - return "kEob2IntroAnimData05"; - case kEob2IntroAnimData06: - return "kEob2IntroAnimData06"; - case kEob2IntroAnimData07: - return "kEob2IntroAnimData07"; - case kEob2IntroAnimData08: - return "kEob2IntroAnimData08"; - case kEob2IntroAnimData09: - return "kEob2IntroAnimData09"; - case kEob2IntroAnimData10: - return "kEob2IntroAnimData10"; - case kEob2IntroAnimData11: - return "kEob2IntroAnimData11"; - case kEob2IntroAnimData12: - return "kEob2IntroAnimData12"; - case kEob2IntroAnimData13: - return "kEob2IntroAnimData13"; - case kEob2IntroAnimData14: - return "kEob2IntroAnimData14"; - case kEob2IntroAnimData15: - return "kEob2IntroAnimData15"; - case kEob2IntroAnimData16: - return "kEob2IntroAnimData16"; - case kEob2IntroAnimData17: - return "kEob2IntroAnimData17"; - case kEob2IntroAnimData18: - return "kEob2IntroAnimData18"; - case kEob2IntroAnimData19: - return "kEob2IntroAnimData19"; - case kEob2IntroAnimData20: - return "kEob2IntroAnimData20"; - case kEob2IntroAnimData21: - return "kEob2IntroAnimData21"; - case kEob2IntroAnimData22: - return "kEob2IntroAnimData22"; - case kEob2IntroAnimData23: - return "kEob2IntroAnimData23"; - case kEob2IntroAnimData24: - return "kEob2IntroAnimData24"; - case kEob2IntroAnimData25: - return "kEob2IntroAnimData25"; - case kEob2IntroAnimData26: - return "kEob2IntroAnimData26"; - case kEob2IntroAnimData27: - return "kEob2IntroAnimData27"; - case kEob2IntroAnimData28: - return "kEob2IntroAnimData28"; - case kEob2IntroAnimData29: - return "kEob2IntroAnimData29"; - case kEob2IntroAnimData30: - return "kEob2IntroAnimData30"; - case kEob2IntroAnimData31: - return "kEob2IntroAnimData31"; - case kEob2IntroAnimData32: - return "kEob2IntroAnimData32"; - case kEob2IntroAnimData33: - return "kEob2IntroAnimData33"; - case kEob2IntroAnimData34: - return "kEob2IntroAnimData34"; - case kEob2IntroAnimData35: - return "kEob2IntroAnimData35"; - case kEob2IntroAnimData36: - return "kEob2IntroAnimData36"; - case kEob2IntroAnimData37: - return "kEob2IntroAnimData37"; - case kEob2IntroAnimData38: - return "kEob2IntroAnimData38"; - case kEob2IntroAnimData39: - return "kEob2IntroAnimData39"; - case kEob2IntroAnimData40: - return "kEob2IntroAnimData40"; - case kEob2IntroAnimData41: - return "kEob2IntroAnimData41"; - case kEob2IntroAnimData42: - return "kEob2IntroAnimData42"; - case kEob2IntroAnimData43: - return "kEob2IntroAnimData43"; - case kEoB2IntroShapes00: - return "kEoB2IntroShapes00"; - case kEoB2IntroShapes01: - return "kEoB2IntroShapes01"; - case kEoB2IntroShapes04: - return "kEoB2IntroShapes04"; - case kEoB2IntroShapes07: - return "kEoB2IntroShapes07"; - case kEoB2FinaleStrings: - return "kEoB2FinaleStrings"; - case kEoB2CreditsData: - return "kEoB2CreditsData"; - case kEoB2FinaleCPSFiles: - return "kEoB2FinaleCPSFiles"; - case kEob2FinaleAnimData00: - return "kEob2FinaleAnimData00"; - case kEob2FinaleAnimData01: - return "kEob2FinaleAnimData01"; - case kEob2FinaleAnimData02: - return "kEob2FinaleAnimData02"; - case kEob2FinaleAnimData03: - return "kEob2FinaleAnimData03"; - case kEob2FinaleAnimData04: - return "kEob2FinaleAnimData04"; - case kEob2FinaleAnimData05: - return "kEob2FinaleAnimData05"; - case kEob2FinaleAnimData06: - return "kEob2FinaleAnimData06"; - case kEob2FinaleAnimData07: - return "kEob2FinaleAnimData07"; - case kEob2FinaleAnimData08: - return "kEob2FinaleAnimData08"; - case kEob2FinaleAnimData09: - return "kEob2FinaleAnimData09"; - case kEob2FinaleAnimData10: - return "kEob2FinaleAnimData10"; - case kEob2FinaleAnimData11: - return "kEob2FinaleAnimData11"; - case kEob2FinaleAnimData12: - return "kEob2FinaleAnimData12"; - case kEob2FinaleAnimData13: - return "kEob2FinaleAnimData13"; - case kEob2FinaleAnimData14: - return "kEob2FinaleAnimData14"; - case kEob2FinaleAnimData15: - return "kEob2FinaleAnimData15"; - case kEob2FinaleAnimData16: - return "kEob2FinaleAnimData16"; - case kEob2FinaleAnimData17: - return "kEob2FinaleAnimData17"; - case kEob2FinaleAnimData18: - return "kEob2FinaleAnimData18"; - case kEob2FinaleAnimData19: - return "kEob2FinaleAnimData19"; - case kEob2FinaleAnimData20: - return "kEob2FinaleAnimData20"; - case kEoB2FinaleShapes00: - return "kEoB2FinaleShapes00"; - case kEoB2FinaleShapes03: - return "kEoB2FinaleShapes03"; - case kEoB2FinaleShapes07: - return "kEoB2FinaleShapes07"; - case kEoB2FinaleShapes09: - return "kEoB2FinaleShapes09"; - case kEoB2FinaleShapes10: - return "kEoB2FinaleShapes10"; - case kEoB2NpcShapeData: - return "kEoB2NpcShapeData"; - case kEoBBaseClassModifierFlags: - return "kEoBBaseClassModifierFlags"; - case kEoBBaseMonsterStepTable01: - return "kEoBBaseMonsterStepTable01"; - case kEoBBaseMonsterStepTable02: - return "kEoBBaseMonsterStepTable02"; - case kEoBBaseMonsterStepTable1: - return "kEoBBaseMonsterStepTable1"; - case kEoBBaseMonsterStepTable2: - return "kEoBBaseMonsterStepTable2"; - case kEoBBaseMonsterStepTable3: - return "kEoBBaseMonsterStepTable3"; - case kEoBBaseMonsterCloseAttPosTable1: - return "kEoBBaseMonsterCloseAttPosTable1"; - case kEoBBaseMonsterCloseAttPosTable21: - return "kEoBBaseMonsterCloseAttPosTable21"; - case kEoBBaseMonsterCloseAttPosTable22: - return "kEoBBaseMonsterCloseAttPosTable22"; - case kEoBBaseMonsterCloseAttUnkTable: - return "kEoBBaseMonsterCloseAttUnkTable"; - case kEoBBaseMonsterCloseAttChkTable1: - return "kEoBBaseMonsterCloseAttChkTable1"; - case kEoBBaseMonsterCloseAttChkTable2: - return "kEoBBaseMonsterCloseAttChkTable2"; - case kEoBBaseMonsterCloseAttDstTable1: - return "kEoBBaseMonsterCloseAttDstTable1"; - case kEoBBaseMonsterCloseAttDstTable2: - return "kEoBBaseMonsterCloseAttDstTable2"; - case kEoBBaseMonsterProximityTable: - return "kEoBBaseMonsterProximityTable"; - case kEoBBaseFindBlockMonstersTable: - return "kEoBBaseFindBlockMonstersTable"; - case kEoBBaseMonsterDirChangeTable: - return "kEoBBaseMonsterDirChangeTable"; - case kEoBBaseMonsterDistAttStrings: - return "kEoBBaseMonsterDistAttStrings"; - case kEoBBaseEncodeMonsterDefs: - return "kEoBBaseEncodeMonsterDefs"; - case kEoBBaseNpcPresets: - return "kEoBBaseNpcPresets"; - case kEoB2Npc1Strings: - return "kEoB2Npc1Strings"; - case kEoB2Npc2Strings: - return "kEoB2Npc2Strings"; - case kEoB2MonsterDustStrings: - return "kEoB2MonsterDustStrings"; - case kEoB2DreamSteps: - return "kEoB2DreamSteps"; - case kEoB2KheldranStrings: - return "kEoB2KheldranStrings"; - case kEoB2HornStrings: - return "kEoB2HornStrings"; - case kEoB2HornSounds: - return "kEoB2HornSounds"; - case kEoB2WallOfForceDsX: - return "kEoB2WallOfForceDsX"; - case kEoB2WallOfForceDsY: - return "kEoB2WallOfForceDsY"; - case kEoB2WallOfForceNumW: - return "kEoB2WallOfForceNumW"; - case kEoB2WallOfForceNumH: - return "kEoB2WallOfForceNumH"; - case kEoB2WallOfForceShpId: - return "kEoB2WallOfForceShpId"; - case kLoLIngamePakFiles: - return "kLoLIngamePakFiles"; - case kLoLCharacterDefs: - return "kLoLCharacterDefs"; - case kLoLIngameSfxFiles: - return "kLoLIngameSfxFiles"; - case kLoLIngameSfxIndex: - return "kLoLIngameSfxIndex"; - case kLoLMusicTrackMap: - return "kLoLMusicTrackMap"; - case kLoLIngameGMSfxIndex: - return "kLoLIngameGMSfxIndex"; - case kLoLIngameMT32SfxIndex: - return "kLoLIngameMT32SfxIndex"; - case kLoLIngamePcSpkSfxIndex: - return "kLoLIngamePcSpkSfxIndex"; - case kLoLSpellProperties: - return "kLoLSpellProperties"; - case kLoLGameShapeMap: - return "kLoLGameShapeMap"; - case kLoLSceneItemOffs: - return "kLoLSceneItemOffs"; - case kLoLCharInvIndex: - return "kLoLCharInvIndex"; - case kLoLCharInvDefs: - return "kLoLCharInvDefs"; - case kLoLCharDefsMan: - return "kLoLCharDefsMan"; - case kLoLCharDefsWoman: - return "kLoLCharDefsWoman"; - case kLoLCharDefsKieran: - return "kLoLCharDefsKieran"; - case kLoLCharDefsAkshel: - return "kLoLCharDefsAkshel"; - case kLoLExpRequirements: - return "kLoLExpRequirements"; - case kLoLMonsterModifiers1: - return "kLoLMonsterModifiers1"; - case kLoLMonsterModifiers2: - return "kLoLMonsterModifiers2"; - case kLoLMonsterModifiers3: - return "kLoLMonsterModifiers3"; - case kLoLMonsterModifiers4: - return "kLoLMonsterModifiers4"; - case kLoLMonsterShiftOffsets: - return "kLoLMonsterShiftOffsets"; - case kLoLMonsterDirFlags: - return "kLoLMonsterDirFlags"; - case kLoLMonsterScaleY: - return "kLoLMonsterScaleY"; - case kLoLMonsterScaleX: - return "kLoLMonsterScaleX"; - case kLoLMonsterScaleWH: - return "kLoLMonsterScaleWH"; - case kLoLFlyingObjectShp: - return "kLoLFlyingObjectShp"; - case kLoLInventoryDesc: - return "kLoLInventoryDesc"; - case kLoLLevelShpList: - return "kLoLLevelShpList"; - case kLoLLevelDatList: - return "kLoLLevelDatList"; - case kLoLCompassDefs: - return "kLoLCompassDefs"; - case kLoLItemPrices: - return "kLoLItemPrices"; - case kLoLStashSetup: - return "kLoLStashSetup"; - case kLoLDscWalls: - return "kLoLDscWalls"; - case kRpgCommonDscShapeIndex: - return "kRpgCommonDscShapeIndex"; - case kLoLDscOvlMap: - return "kLoLDscOvlMap"; - case kLoLDscScaleWidthData: - return "kLoLDscScaleWidthData"; - case kLoLDscScaleHeightData: - return "kLoLDscScaleHeightData"; - case kRpgCommonDscX: - return "kRpgCommonDscX"; - case kLoLDscY: - return "kLoLDscY"; - case kRpgCommonDscTileIndex: - return "kRpgCommonDscTileIndex"; - case kRpgCommonDscUnk2: - return "kRpgCommonDscUnk2"; - case kRpgCommonDscDoorShapeIndex: - return "kRpgCommonDscDoorShapeIndex"; - case kRpgCommonDscDimData1: - return "kRpgCommonDscDimData1"; - case kRpgCommonDscDimData2: - return "kRpgCommonDscDimData2"; - case kRpgCommonDscBlockMap: - return "kRpgCommonDscBlockMap"; - case kRpgCommonDscDimMap: - return "kRpgCommonDscDimMap"; - case kLoLDscOvlIndex: - return "kLoLDscOvlIndex"; - case kRpgCommonDscBlockIndex: - return "kRpgCommonDscBlockIndex"; - case kRpgCommonDscDoorY2: - return "kRpgCommonDscDoorY2"; - case kRpgCommonDscDoorFrameY1: - return "kRpgCommonDscDoorFrameY1"; - case kRpgCommonDscDoorFrameY2: - return "kRpgCommonDscDoorFrameY2"; - case kRpgCommonDscDoorFrameIndex1: - return "kRpgCommonDscDoorFrameIndex1"; - case kRpgCommonDscDoorFrameIndex2: - return "kRpgCommonDscDoorFrameIndex2"; - case kLoLDscDoorScale: - return "kLoLDscDoorScale"; - case kLoLDscDoor4: - return "kLoLDscDoor4"; - case kLoLDscDoorX: - return "kLoLDscDoorX"; - case kLoLDscDoorY: - return "kLoLDscDoorY"; - case kLoLScrollXTop: - return "kLoLScrollXTop"; - case kLoLScrollYTop: - return "kLoLScrollYTop"; - case kLoLScrollXBottom: - return "kLoLScrollXBottom"; - case kLoLScrollYBottom: - return "kLoLScrollYBottom"; - case kLoLButtonDefs: - return "kLoLButtonDefs"; - case kLoLButtonList1: - return "kLoLButtonList1"; - case kLoLButtonList2: - return "kLoLButtonList2"; - case kLoLButtonList3: - return "kLoLButtonList3"; - case kLoLButtonList4: - return "kLoLButtonList4"; - case kLoLButtonList5: - return "kLoLButtonList5"; - case kLoLButtonList6: - return "kLoLButtonList6"; - case kLoLButtonList7: - return "kLoLButtonList7"; - case kLoLButtonList8: - return "kLoLButtonList8"; - case kLoLLegendData: - return "kLoLLegendData"; - case kLoLMapCursorOvl: - return "kLoLMapCursorOvl"; - case kLoLMapStringId: - return "kLoLMapStringId"; - case kLoLSpellbookAnim: - return "kLoLSpellbookAnim"; - case kLoLSpellbookCoords: - return "kLoLSpellbookCoords"; - case kLoLHealShapeFrames: - return "kLoLHealShapeFrames"; - case kLoLLightningDefs: - return "kLoLLightningDefs"; - case kLoLFireballCoords: - return "kLoLFireballCoords"; - case kLoLCredits: - return "kLoLCredits"; - case kLoLHistory: - return "kLoLHistory"; - default: - return "Unknown"; - } } -struct ExtractData { - ExtractData() : desc(), offset() {} - ExtractData(ExtractEntrySearchData d, uint32 o) : desc(d), offset(o) {} - - ExtractEntrySearchData desc; - uint32 offset; -}; - -typedef std::pair<int, ExtractEntrySearchData> SearchMapEntry; -typedef std::multimap<int, ExtractEntrySearchData> SearchMap; - -typedef std::pair<int, ExtractData> ExtractMapEntry; -typedef std::multimap<int, ExtractData> ExtractMap; - -bool getExtractionData(const Game *g, Search &search, ExtractMap &map); - -bool createIDMap(PAKFile &out, const ExtractInformation *eI, const int *needList); - -bool process(PAKFile &out, const Game *g, const byte *data, const uint32 size) { - char filename[128]; - - Search search(data, size); - ExtractMap ids; - - if (!getExtractionData(g, search, ids)) - return false; - - const int *needList = getNeedList(g); - if (!needList) { - fprintf(stderr, "ERROR: No entry need list available\n"); - return false; - } - - ExtractInformation extractInfo; - extractInfo.game = g->game; - extractInfo.platform = g->platform; - extractInfo.special = g->special; - - for (ExtractMap::const_iterator i = ids.begin(); i != ids.end(); ++i) { - const int id = i->first; - extractInfo.lang = i->second.desc.lang; - - const ExtractFilename *fDesc = getFilenameDesc(id); - - if (!fDesc) { - fprintf(stderr, "ERROR: couldn't find file description for id %d/%s\n", id, getIdString(id)); - return false; - } - - filename[0] = 0; - if (!getFilename(filename, &extractInfo, id)) { - fprintf(stderr, "ERROR: couldn't get filename for id %d/%s\n", id, getIdString(id)); - return false; - } - - const ExtractType *tDesc = findExtractType(fDesc->type); - - if (!tDesc) { - fprintf(stderr, "ERROR: couldn't find type description for id %d/%s (%d)\n", id, getIdString(id), fDesc->type); - return false; - } - - PAKFile::cFileList *list = out.getFileList(); - if (list && list->findEntry(filename) != 0) - continue; - - if (!tDesc->extract(out, &extractInfo, data + i->second.offset, i->second.desc.hint.size, filename, id)) { - fprintf(stderr, "ERROR: couldn't extract id %d/%s\n", id, getIdString(id)); - return false; - } - } - - for (int i = 0; i < 3; ++i) { - if (g->lang[i] == -1) - continue; - - extractInfo.lang = g->lang[i]; - if (!createIDMap(out, &extractInfo, needList)) - return false; - - if (!updateIndex(out, &extractInfo)) { - error("couldn't update INDEX file, stop processing of all files"); +bool createIDMap(PAKFile &out, const Game *g, const int *needList) { + int dataEntries = 0; + // Count entries in the need list and check whether the resources are + // present + for (const int *n = needList; *n != -1; ++n) { + char filename[12]; + if (!getFilename(filename, g, *n) || !out.getFileList()->findEntry(filename)) { + fprintf(stderr, "ERROR: Could not find need %d for game %04X", *n, createGameDef(g)); return false; } - } - - return true; -} - -bool createIDMap(PAKFile &out, const ExtractInformation *eI, const int *needList) { - int dataEntries = 0; - // Count entries in the need list - for (const int *n = needList; *n != -1; ++n) ++dataEntries; + } const int mapSize = 2 + dataEntries * (2 + 1 + 4); uint8 *map = new uint8[mapSize]; @@ -2354,206 +919,22 @@ bool createIDMap(PAKFile &out, const ExtractInformation *eI, const int *needList delete[] map; return false; } - *dst++ = getTypeID(fDesc->type); - WRITE_BE_UINT32(dst, getFilename(eI, *id)); dst += 4; + *dst++ = fDesc->type; + WRITE_BE_UINT32(dst, getFilename(g, *id)); dst += 4; } char filename[12]; - if (!getFilename(filename, eI, 0)) { + if (!getFilename(filename, g, 0)) { fprintf(stderr, "ERROR: Could not create ID map for game\n"); delete[] map; return false; } - out.removeFile(filename); if (!out.addFile(filename, map, mapSize)) { fprintf(stderr, "ERROR: Could not add ID map \"%s\" to kyra.dat\n", filename); delete[] map; return false; } - delete[] map; return true; } - -// Uncomment this to get various debug information about the detection table entries. -//#define DEBUG_EXTRACTION_TABLES - -bool setupSearch(const Game *g, const int *needList, Search &search, SearchMap &searchData) { - for (const int *entry = needList; *entry != -1; ++entry) { - ExtractEntryList providers = getProvidersForId(*entry); - - if (providers.empty()) { - fprintf(stderr, "ERROR: No provider for id %d/%s\n", *entry, getIdString(*entry)); - return false; - } else { - for (ExtractEntryList::const_iterator i = providers.begin(); i != providers.end(); ++i) { - // Only add generic or partly matching providers here. -#ifndef DEBUG_EXTRACTION_TABLES - if ((i->lang == UNK_LANG || i->lang == g->lang[0] || i->lang == g->lang[1] || i->lang == g->lang[2]) && - (i->platform == kPlatformUnknown || (i->platform == g->platform))) { -#endif - search.addData(i->hint); - searchData.insert(SearchMapEntry(*entry, *i)); -#ifndef DEBUG_EXTRACTION_TABLES - } -#endif - } - } - } - - return true; -} - -typedef std::list<ExtractMap::const_iterator> MatchList; -MatchList filterPlatformMatches(const Game *g, std::pair<ExtractMap::const_iterator, ExtractMap::const_iterator> range) { - bool hasPlatformMatch = false; - for (ExtractMap::const_iterator i = range.first; i != range.second; ++i) { - if (i->second.desc.platform == g->platform) { - hasPlatformMatch = true; - break; - } - } - - MatchList result; - if (hasPlatformMatch) { - for (ExtractMap::const_iterator i = range.first; i != range.second; ++i) { - if (i->second.desc.platform == g->platform) - result.push_back(i); - } - } else { - for (ExtractMap::const_iterator i = range.first; i != range.second; ++i) - result.push_back(i); - } - - return result; -} - -MatchList filterLanguageMatches(const int lang, const MatchList &input) { - std::list<ExtractMap::const_iterator> result; - - for (MatchList::const_iterator i = input.begin(); i != input.end(); ++i) { - if ((*i)->second.desc.lang == lang) - result.push_back(*i); - } - - return result; -} - -MatchList::const_iterator filterOutBestMatch(const MatchList &input) { - MatchList::const_iterator result = input.begin(); - - if (input.size() > 1) - warning("Multiple entries found for id %d/%s", (*result)->first, getIdString((*result)->first)); - - for (MatchList::const_iterator i = input.begin(); i != input.end(); ++i) { - // Reduce all entries to one single entry. - // - // We use the following rules for this (in this order): - // - Prefer the entry with the higest size - // - Prefer the entry, which starts at the smallest offest - // - // TODO: These rules might not be safe for all games, but hopefully - // they will work fine. If there are any problems it should be rather - // easy to identify them, since we print out a warning for multiple - // entries found. - if ((*result)->second.desc.hint.size <= (*i)->second.desc.hint.size) { - if ((*result)->second.offset >= (*i)->second.offset) - result = i; - } - } - - return result; -} - -bool getExtractionData(const Game *g, Search &search, ExtractMap &map) { - SearchMap searchMap; - - const int *needList = getNeedList(g); - if (!needList) { - fprintf(stderr, "ERROR: No entry need list available\n"); - return false; - } - - if (!setupSearch(g, needList, search, searchMap)) - return false; - - // Process the data search - Search::ResultList results; - search.search(results); - - if (results.empty()) { - fprintf(stderr, "ERROR: Couldn't find any required data\n"); - return false; - } - - ExtractMap temporaryExtractMap; - for (const int *entry = needList; *entry != -1; ++entry) { - typedef std::pair<SearchMap::const_iterator, SearchMap::const_iterator> KeyRange; - KeyRange idRange = searchMap.equal_range(*entry); - - for (Search::ResultList::const_iterator i = results.begin(); i != results.end(); ++i) { - for (SearchMap::const_iterator j = idRange.first; j != idRange.second; ++j) { - if (j->second.hint == i->data) - temporaryExtractMap.insert(ExtractMapEntry(*entry, ExtractData(j->second, i->offset))); - } - } - } - - // Free up some memory - results.clear(); - searchMap.clear(); - - bool result = true; - - for (const int *entry = needList; *entry != -1; ++entry) { - MatchList possibleMatches = filterPlatformMatches(g, temporaryExtractMap.equal_range(*entry)); - - if (possibleMatches.empty()) { - fprintf(stderr, "ERROR: No entry found for id %d/%s\n", *entry, getIdString(*entry)); - result = false; - continue; - } - - if (isLangSpecific(*entry)) { - for (int i = 0; i < 3; ++i) { - if (g->lang[i] == -1) - continue; - - MatchList langMatches = filterLanguageMatches(g->lang[i], possibleMatches); - MatchList::const_iterator bestMatch = filterOutBestMatch(langMatches); - - if (bestMatch == langMatches.end()) { - // TODO: Add nice language name to output message. - fprintf(stderr, "ERROR: No entry found for id %d/%s for language %d\n", *entry, getIdString(*entry), g->lang[i]); - result = false; - continue; - } - -#ifdef DEBUG_EXTRACTION_TABLES - if (((*bestMatch)->second.desc.platform != kPlatformUnknown && (*bestMatch)->second.desc.platform != g->platform)) - printf("%s: %.8X %.8X %d %d\n", getIdString(*entry), (*bestMatch)->second.desc.hint.size, (*bestMatch)->second.desc.hint.byteSum, (*bestMatch)->second.desc.lang, (*bestMatch)->second.desc.platform); -#endif - - map.insert(**bestMatch); - } - } else { - MatchList::const_iterator bestMatch = filterOutBestMatch(possibleMatches); - - if (bestMatch == possibleMatches.end()) { - fprintf(stderr, "ERROR: No entry found for id %d/%s\n", *entry, getIdString(*entry)); - result = false; - continue; - } - -#ifdef DEBUG_EXTRACTION_TABLES - if (((*bestMatch)->second.desc.platform != kPlatformUnknown && (*bestMatch)->second.desc.platform != g->platform)) - printf("%s: %.8X %.8X %d %d\n", getIdString(*entry), (*bestMatch)->second.desc.hint.size, (*bestMatch)->second.desc.hint.byteSum, (*bestMatch)->second.desc.lang, (*bestMatch)->second.desc.platform); -#endif - - map.insert(**bestMatch); - } - } - - return result; -} diff --git a/devtools/create_kyradat/create_kyradat.h b/devtools/create_kyradat/create_kyradat.h index 6d5059cabe..a6bee6f75c 100644 --- a/devtools/create_kyradat/create_kyradat.h +++ b/devtools/create_kyradat/create_kyradat.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -23,7 +23,7 @@ #ifndef CREATE_KYRADAT_CREATE_KYRADAT_H #define CREATE_KYRADAT_CREATE_KYRADAT_H -#include "util.h" +#include "common/scummsys.h" // This list has to match orderwise (and thus value wise) the static data list of "engines/kyra/resource.h"! enum kExtractID { @@ -227,7 +227,7 @@ enum kExtractID { kEoBBaseCursedString, kEoBBaseEnchantedString, kEoBBaseMagicObjectStrings, - kEoBBaseMagicObject5String, + kEoBBaseMagicObjectString5, kEoBBasePatternSuffix, kEoBBasePatternGrFix1, kEoBBasePatternGrFix2, @@ -235,7 +235,7 @@ enum kExtractID { kEoBBaseValidateCursedString, kEoBBaseValidateNoDropString, kEoBBasePotionStrings, - kEoBBaseWandString, + kEoBBaseWandStrings, kEoBBaseItemMisuseStrings, kEoBBaseTakenStrings, @@ -347,7 +347,7 @@ enum kExtractID { kEoBBaseDscItemPosIndex, kEoBBaseDscItemShpX, - kEoBBaseDscItemPosUnk, + kEoBBaseDscItemScaleIndex, kEoBBaseDscItemTileIndex, kEoBBaseDscItemShapeMap, @@ -493,50 +493,50 @@ enum kExtractID { kEoB2IntroStrings, kEoB2IntroCPSFiles, - kEob2IntroAnimData00, - kEob2IntroAnimData01, - kEob2IntroAnimData02, - kEob2IntroAnimData03, - kEob2IntroAnimData04, - kEob2IntroAnimData05, - kEob2IntroAnimData06, - kEob2IntroAnimData07, - kEob2IntroAnimData08, - kEob2IntroAnimData09, - kEob2IntroAnimData10, - kEob2IntroAnimData11, - kEob2IntroAnimData12, - kEob2IntroAnimData13, - kEob2IntroAnimData14, - kEob2IntroAnimData15, - kEob2IntroAnimData16, - kEob2IntroAnimData17, - kEob2IntroAnimData18, - kEob2IntroAnimData19, - kEob2IntroAnimData20, - kEob2IntroAnimData21, - kEob2IntroAnimData22, - kEob2IntroAnimData23, - kEob2IntroAnimData24, - kEob2IntroAnimData25, - kEob2IntroAnimData26, - kEob2IntroAnimData27, - kEob2IntroAnimData28, - kEob2IntroAnimData29, - kEob2IntroAnimData30, - kEob2IntroAnimData31, - kEob2IntroAnimData32, - kEob2IntroAnimData33, - kEob2IntroAnimData34, - kEob2IntroAnimData35, - kEob2IntroAnimData36, - kEob2IntroAnimData37, - kEob2IntroAnimData38, - kEob2IntroAnimData39, - kEob2IntroAnimData40, - kEob2IntroAnimData41, - kEob2IntroAnimData42, - kEob2IntroAnimData43, + kEoB2IntroAnimData00, + kEoB2IntroAnimData01, + kEoB2IntroAnimData02, + kEoB2IntroAnimData03, + kEoB2IntroAnimData04, + kEoB2IntroAnimData05, + kEoB2IntroAnimData06, + kEoB2IntroAnimData07, + kEoB2IntroAnimData08, + kEoB2IntroAnimData09, + kEoB2IntroAnimData10, + kEoB2IntroAnimData11, + kEoB2IntroAnimData12, + kEoB2IntroAnimData13, + kEoB2IntroAnimData14, + kEoB2IntroAnimData15, + kEoB2IntroAnimData16, + kEoB2IntroAnimData17, + kEoB2IntroAnimData18, + kEoB2IntroAnimData19, + kEoB2IntroAnimData20, + kEoB2IntroAnimData21, + kEoB2IntroAnimData22, + kEoB2IntroAnimData23, + kEoB2IntroAnimData24, + kEoB2IntroAnimData25, + kEoB2IntroAnimData26, + kEoB2IntroAnimData27, + kEoB2IntroAnimData28, + kEoB2IntroAnimData29, + kEoB2IntroAnimData30, + kEoB2IntroAnimData31, + kEoB2IntroAnimData32, + kEoB2IntroAnimData33, + kEoB2IntroAnimData34, + kEoB2IntroAnimData35, + kEoB2IntroAnimData36, + kEoB2IntroAnimData37, + kEoB2IntroAnimData38, + kEoB2IntroAnimData39, + kEoB2IntroAnimData40, + kEoB2IntroAnimData41, + kEoB2IntroAnimData42, + kEoB2IntroAnimData43, kEoB2IntroShapes00, kEoB2IntroShapes01, kEoB2IntroShapes04, @@ -545,27 +545,27 @@ enum kExtractID { kEoB2FinaleStrings, kEoB2CreditsData, kEoB2FinaleCPSFiles, - kEob2FinaleAnimData00, - kEob2FinaleAnimData01, - kEob2FinaleAnimData02, - kEob2FinaleAnimData03, - kEob2FinaleAnimData04, - kEob2FinaleAnimData05, - kEob2FinaleAnimData06, - kEob2FinaleAnimData07, - kEob2FinaleAnimData08, - kEob2FinaleAnimData09, - kEob2FinaleAnimData10, - kEob2FinaleAnimData11, - kEob2FinaleAnimData12, - kEob2FinaleAnimData13, - kEob2FinaleAnimData14, - kEob2FinaleAnimData15, - kEob2FinaleAnimData16, - kEob2FinaleAnimData17, - kEob2FinaleAnimData18, - kEob2FinaleAnimData19, - kEob2FinaleAnimData20, + kEoB2FinaleAnimData00, + kEoB2FinaleAnimData01, + kEoB2FinaleAnimData02, + kEoB2FinaleAnimData03, + kEoB2FinaleAnimData04, + kEoB2FinaleAnimData05, + kEoB2FinaleAnimData06, + kEoB2FinaleAnimData07, + kEoB2FinaleAnimData08, + kEoB2FinaleAnimData09, + kEoB2FinaleAnimData10, + kEoB2FinaleAnimData11, + kEoB2FinaleAnimData12, + kEoB2FinaleAnimData13, + kEoB2FinaleAnimData14, + kEoB2FinaleAnimData15, + kEoB2FinaleAnimData16, + kEoB2FinaleAnimData17, + kEoB2FinaleAnimData18, + kEoB2FinaleAnimData19, + kEoB2FinaleAnimData20, kEoB2FinaleShapes00, kEoB2FinaleShapes03, kEoB2FinaleShapes07, @@ -628,7 +628,7 @@ enum kExtractID { kLoLDscOvlMap, kLoLDscScaleWidthData, kLoLDscScaleHeightData, - kLoLDscY, + kLoLBaseDscY, kLoLDscDoorScale, kLoLDscDoor4, @@ -668,6 +668,30 @@ enum kExtractID { kMaxResIDs }; +enum ResTypes { + kStringList = 0, + kRawData = 1, + kRoomList = 2, + kShapeList = 3, + kAmigaSfxTable = 4, + + k2SeqData = 5, + k2SeqItemAnimData = 6, + k2ItemAnimDefinition = 7, + + kLoLCharData = 8, + kLoLSpellData = 9, + kLoLCompassData = 10, + kLoLFlightShpData = 11, + kLoLButtonData = 12, + kRawDataBe16 = 13, + kRawDataBe32 = 14, + + kEoB2SequenceData = 15, + kEoB2ShapeData = 16, + kEoBNpcData = 17 +}; + struct ExtractFilename { int id; int type; @@ -686,21 +710,19 @@ enum kGame { kKyra1 = 0, kKyra2, kKyra3, - kLoL, kEoB1, - kEoB2 + kEoB2, + kLoL }; struct Game { int game; - int lang[3]; int platform; int special; - - const char *md5[2]; + int lang; }; -#define GAME_DUMMY_ENTRY { -1, { -1, -1, -1 }, -1, -1, { 0, 0 } } +#define GAME_DUMMY_ENTRY { -1, -1, -1, -1 } extern const Game * const gameDescs[]; diff --git a/devtools/create_kyradat/extract.cpp b/devtools/create_kyradat/extract.cpp deleted file mode 100644 index b2f520d0d3..0000000000 --- a/devtools/create_kyradat/extract.cpp +++ /dev/null @@ -1,1237 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -// Disable symbol overrides so that we can use system headers. -#define FORBIDDEN_SYMBOL_ALLOW_ALL - -#include "extract.h" -#include "common/language.h" -#include "common/platform.h" - -#include <algorithm> - -namespace { - -// Extraction function prototypes - -bool extractRaw(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractStrings(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractStrings10(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractRooms(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractShapes(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractKyraForestSeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractAmigaSfx(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractWdSfx(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); - -bool extractHofSeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractHofShapeAnimDataV1(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractHofShapeAnimDataV2(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); - -bool extractStringsWoSuffix(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractPaddedStrings(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractRaw16to8(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractMrShapeAnimData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractRaw16(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractRaw32(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractLoLButtonDefs(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractLoLFlyingShpDefs(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); - -bool extractEoB2SeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractEoB2ShapeData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -bool extractEoBNpcData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -// Extraction type table - -const ExtractType extractTypeTable[] = { - { kTypeStringList, extractStrings }, - { kTypeRoomList, extractRooms }, - { kTypeShapeList, extractShapes }, - { kTypeRawData, extractRaw }, - { kTypeForestSeqData, extractKyraForestSeqData }, - { kTypeAmigaSfxTable, extractAmigaSfx }, - { kTypeTownsWDSfxTable, extractWdSfx }, - - { k2TypeSeqData, extractHofSeqData }, - { k2TypeShpDataV1, extractHofShapeAnimDataV1 }, - { k2TypeShpDataV2, extractHofShapeAnimDataV2 }, - { k2TypeSoundList, extractStringsWoSuffix }, - { k2TypeLangSoundList, extractStringsWoSuffix }, - { k2TypeSize10StringList, extractStrings10 }, - { k2TypeSfxList, extractPaddedStrings }, - { k3TypeRaw16to8, extractRaw16to8 }, - { k3TypeShpData, extractMrShapeAnimData }, - - { kLoLTypeCharData, extractRaw }, - { kLoLTypeSpellData, extractRaw }, - { kLoLTypeCompassData, extractRaw16to8 }, - { kLoLTypeFlightShpData, extractLoLFlyingShpDefs }, - { kLoLTypeRaw16, extractRaw16 }, - { kLoLTypeRaw32, extractRaw32 }, - { kLoLTypeButtonDef, extractLoLButtonDefs }, - - { kEoB2TypeSeqData, extractEoB2SeqData }, - { kEoB2TypeShapeData, extractEoB2ShapeData }, - { kEoBTypeNpcData, extractEoBNpcData }, - - { -1, 0 } -}; - -// TODO: Clean up the mess of data types we have... it seems some special types -// we have (even in the main KYRA code, is just raw data access, but used specially -// to have a nice wrapper from inside StaticResource...). -const TypeTable typeTable[] = { - { kTypeStringList, 0 }, - { kTypeRawData, 1 }, - { kTypeRoomList, 2 }, - { kTypeShapeList, 3 }, - { kTypeForestSeqData, 1 }, - { kTypeAmigaSfxTable, 4 }, - { kTypeTownsWDSfxTable, 1 }, - { k2TypeSeqData, 5 }, - { k2TypeShpDataV1, 6 }, - { k2TypeShpDataV2, 7 }, - { k2TypeSoundList, 0 }, - { k2TypeLangSoundList, 0 }, - { k2TypeSize10StringList, 0 }, - { k2TypeSfxList, 0 }, - { k3TypeRaw16to8, 1 }, - { k3TypeShpData, 7 }, - { kLoLTypeRaw16, 13 }, - { kLoLTypeRaw32, 14 }, - { kLoLTypeButtonDef, 12 }, - { kLoLTypeCharData, 8 }, - { kLoLTypeSpellData, 9 }, - { kLoLTypeCompassData, 10 }, - { kLoLTypeFlightShpData, 11 }, - { kEoB2TypeSeqData, 15 }, - { kEoB2TypeShapeData, 16 }, - { kEoBTypeNpcData, 17}, - { -1, 1 } -}; - -} // end of anonymous namespace - -// misc - -const ExtractType *findExtractType(const int type) { - for (const ExtractType *i = extractTypeTable; i->type != -1; ++i) { - if (i->type == type) - return i; - } - return 0; -} - -byte getTypeID(int type) { - return std::find(typeTable, ARRAYEND(typeTable) - 1, type)->value; -} -// Extractor implementation - -namespace { - -bool extractRaw(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - uint8 *buffer = new uint8[size]; - assert(buffer); - memcpy(buffer, data, size); - - return out.addFile(filename, buffer, size); -} - -bool extractStrings(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - // Skip tables for skipping English string left-overs in the hacky Russian fan translations - static const uint8 rusFanSkip_k2SeqplayStrings[] = { 1, 3, 5, 8, 10, 11, 13, 15, 17, 20, 22, 25, 26, 30, 33, 38, 40, 41, 44, 49, 51, 55, 104, 119, 121, 123 }; - static const uint8 rusFanSkip_k1IntroStrings[] = { 3, 5, 9, 11, 13, 16, 18, 21, 24, 32, 34, 36, 38, 41, 44, 49, 52, 55, 57, 59, 61, 64, 66, 69, 72, 75 }; - static const uint8 rusFanSkip_k1ThePoisonStrings[] = { 1, 4 }; - static const uint8 rusFanSkip_k1FullFlaskStrings[] = { 1, 2, 4, 5, 7 }; - static const uint8 rusFanSkip_k1WispJewelStrings[] = { 2 }; - static const uint8 rusFanSkip_k1GUIStrings[] = { 1, 3, 6, 8, 11, 13, 18 }; - uint32 rusFanSkipIdLen = 0; - const uint8 *rusFanSkipId = 0; - uint rusFanEmptyId = 10000; - uint32 skipCount = 0; - - int patch = 0; - // FM Towns files that need addional patches - if (info->platform == kPlatformFMTowns) { - if (id == k1TakenStrings || id == k1NoDropStrings || id == k1PoisonGoneString || - id == k1ThePoisonStrings || id == k1FluteStrings || id == k1WispJewelStrings) - patch = 1; - else if (id == k1IntroStrings) - patch = 2; - else if (id == k2SeqplayStrings) - patch = 3; - } else if (info->platform == kPlatformDOS) { - if (id == k2IngamePakFiles) - patch = 4; - - if (info->lang == Common::RU_RUS && info->special == kNoSpecial) { - patch = 5; - if (id == k2SeqplayStrings) { - rusFanSkipId = rusFanSkip_k2SeqplayStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k2SeqplayStrings); - rusFanEmptyId = 81; - } else if (id == k1IntroStrings) { - rusFanSkipId = rusFanSkip_k1IntroStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k1IntroStrings); - rusFanEmptyId = 30; - } else if (id == k1ThePoisonStrings) { - rusFanSkipId = rusFanSkip_k1ThePoisonStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k1ThePoisonStrings); - } else if (id == k1FullFlaskString) { - rusFanSkipId = rusFanSkip_k1FullFlaskStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k1FullFlaskStrings); - } else if (id == k1GUIStrings) { - rusFanSkipId = rusFanSkip_k1GUIStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k1GUIStrings); - } else if (id == k1WispJewelStrings) { - rusFanSkipId = rusFanSkip_k1WispJewelStrings; - rusFanSkipIdLen = ARRAYSIZE(rusFanSkip_k1WispJewelStrings); - } - } - - // HACK - if (id == k2SeqplayIntroTracks && info->game == kLoL) - return extractStringsWoSuffix(out, info, data, size, filename, id); - } - - uint32 entries = 0; - uint32 targetsize = size + 4; - for (uint32 i = 0; i < size; ++i) { - if (!data[i]) { - if (info->platform == kPlatformAmiga) { - if (i + 1 >= size) - ++entries; - else if (!data[i+1] && !(i & 1)) - continue; - else - ++entries; - } else { - ++entries; - } - - if (info->platform == kPlatformFMTowns) { - // prevents creation of empty entries (which we have mostly between all strings in the FM-TOWNS version) - while (!data[++i]) { - if (i == size) - break; - targetsize--; - } - if (patch == 1) { - // Here is the first step of the extra treatment for all FM-TOWNS string arrays that - // contain more than one string and which the original code - // addresses via stringname[boolJapanese]. - // We simply skip every other string - if (i == size) - continue; - uint32 len = strlen((const char*) data + i); - i += len; - - targetsize = targetsize - 1 - len; - - while (!data[++i]) { - if (i == len) - break; - targetsize--; - } - } - } else if (patch == 5) { - ++skipCount; - while (!data[i + 1]) { - if (skipCount == rusFanEmptyId) { - ++skipCount; - ++entries; - break; - } - if (++i == size) - break; - targetsize--; - } - - // Skip English string left-overs in the hacky Russian fan translation - for (uint32 ii = 0; ii < rusFanSkipIdLen; ++ii) { - if (skipCount == rusFanSkipId[ii]) { - ++skipCount; - uint32 len = strlen((const char*) data + i); - i += len; - targetsize = targetsize - 1 - len; - while (!data[i + 1]) { - if (++i == len) - break; - targetsize--; - } - } - } - } - } - } - - if (patch == 2) { - if (info->lang == EN_ANY) { - targetsize--; - entries += 1; - } else if (info->lang == JA_JPN) { - targetsize += 2; - entries += 2; - } - } - - if (patch == 3) { - entries++; - targetsize++; - } - - if (patch == 4) { - targetsize -= 9; - } - - uint8 *buffer = new uint8[targetsize]; - assert(buffer); - memset(buffer, 0, targetsize); - uint8 *output = buffer; - const uint8 *input = (const uint8*) data; - skipCount = 0; - - WRITE_BE_UINT32(output, entries); output += 4; - if (info->platform == kPlatformFMTowns) { - const byte *c = data + size; - do { - if (patch == 2 && input - data == 0x3C0 && input[0x10] == 0x32) { - memcpy(output, input, 0x0F); - input += 0x11; output += 0x0F; - } - - strcpy((char *) output, (const char*) input); - uint32 stringsize = strlen((const char*)output) + 1; - input += stringsize; output += stringsize; - // skip empty entries - while (!*input) { - // Write one empty string into intro strings file - if (patch == 2) { - if ((info->lang == EN_ANY && input - data == 0x260) || - (info->lang == JA_JPN && (input - data == 0x2BD || input - data == 0x2BE))) - *output++ = *input; - } - - // insert one dummy string at hof sequence strings position 59 - if (patch == 3) { - if ((info->lang == EN_ANY && input - data == 0x695) || - (info->lang == JA_JPN && input - data == 0x598)) - *output++ = *input; - } - - if (++input == c) - break; - } - - if (patch == 1) { - // Here is the extra treatment for all FM-TOWNS string arrays that - // contain more than one string and which the original code - // addresses via stringname[boolJapanese]. - // We simply skip every other string - if (input == c) - continue; - input += strlen((const char*)input); - while (!*input) { - if (++input == c) - break; - } - } - - } while (input < c); - } else if (info->platform == kPlatformAmiga) { - // we need to strip some aligment zeros out here - int dstPos = 0; - for (uint32 i = 0; i < size; ++i) { - if (!data[i] && !(i & 1)) { - if (i + 1 > size) - continue; - else if (i + 1 < size && !data[i+1]) - continue; - } - - *output++ = data[i]; - ++dstPos; - } - targetsize = dstPos + 4; - } else if (patch == 5) { - const byte *c = data + size; - do { - strcpy((char *) output, (const char*) input); - uint32 stringsize = strlen((const char*)output) + 1; - input += stringsize; output += stringsize; - - ++skipCount; - while (!*input) { - if (skipCount == rusFanEmptyId) { - *output++ = *input; - ++skipCount; - } - if (++input == c) - break; - } - // Skip English string left-overs in the hacky Russian fan translation - for (uint32 ii = 0; ii < rusFanSkipIdLen; ++ii) { - if (skipCount == rusFanSkipId[ii]) { - ++skipCount; - input += strlen((const char*)input); - while (!*input) { - if (++input == c) - break; - } - } - } - - } while (input < c); - } else { - uint32 copySize = size; - if (patch == 4) { - memcpy(output, data, 44); - output += 44; - data += 44; - for (int t = 1; t != 10; t++) { - sprintf((char *) output, "COST%d_SH.PAK", t); - output += 13; - } - data += 126; - copySize -= 170; - } - memcpy(output, data, copySize); - } - - return out.addFile(filename, buffer, targetsize); -} - -bool extractStrings10(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - // HACK... - if (info->platform == kPlatformFMTowns && id == k2IngameSfxFiles) - return extractStringsWoSuffix(out, info, data, size, filename, id); - - const int strSize = 10; - uint32 entries = (size + (strSize - 1)) / strSize; - - uint8 *buffer = new uint8[size + 4]; - assert(buffer); - uint8 *output = buffer; - WRITE_BE_UINT32(output, entries); output += 4; - - for (uint32 i = 0; i < entries; ++i) { - const byte *src = data + i * strSize; - - while (*src) - *output++ = *src++; - *output++ = '\0'; - } - - return out.addFile(filename, buffer, output - buffer); -} - -bool extractRooms(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - // different entry size for the FM-TOWNS version - const int roomEntrySize = (info->platform == kPlatformFMTowns) ? (0x69) : ((info->platform == kPlatformAmiga) ? 0x52 : 0x51); - const int countRooms = size / roomEntrySize; - - uint8 *buffer = new uint8[countRooms * 9 + 4]; - assert(buffer); - uint8 *output = buffer; - - WRITE_BE_UINT32(output, countRooms); output += 4; - - const byte *src = data; - if (info->platform == kPlatformAmiga) { - for (int i = 0; i < countRooms; ++i) { - *output++ = *src++; assert(*src == 0); ++src; - memcpy(output, src, 8); output += 0x8; - src += roomEntrySize - 0x2; - } - } else { - for (int i = 0; i < countRooms; ++i) { - *output++ = *src++; - WRITE_BE_UINT16(output, READ_LE_UINT16(src)); output += 2; src += 2; - WRITE_BE_UINT16(output, READ_LE_UINT16(src)); output += 2; src += 2; - WRITE_BE_UINT16(output, READ_LE_UINT16(src)); output += 2; src += 2; - WRITE_BE_UINT16(output, READ_LE_UINT16(src)); output += 2; src += 2; - src += roomEntrySize - 0x9; - } - } - - return out.addFile(filename, buffer, countRooms * 9 + 4); -} - -bool extractShapes(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - byte *buffer = new byte[size + 1 * 4]; - assert(buffer); - byte *output = buffer; - - const int count = size / 0x07; - WRITE_BE_UINT32(output, count); output += 4; - memcpy(output, data, size); - - return out.addFile(filename, buffer, size + 1 * 4); -} - -bool extractKyraForestSeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - if (info->platform != kPlatformPC98) - return extractRaw(out, info, data, size, filename, id); - - struct PatchEntry { - uint16 pos; - uint8 val; - }; - - // This data has been taken from the FM-Towns version - static const PatchEntry patchData[] = { - { 0x0019, 0x06 }, { 0x001A, 0x09 }, { 0x001B, 0x00 }, { 0x002E, 0x06 }, { 0x002F, 0x09 }, { 0x0030, 0x00 }, - { 0x003D, 0x06 }, { 0x003E, 0x09 }, { 0x003F, 0x00 }, { 0x004C, 0x06 }, { 0x004D, 0x09 }, { 0x004E, 0x00 }, - { 0x005B, 0x06 }, { 0x005C, 0x09 }, { 0x005D, 0x00 }, { 0x0064, 0x06 }, { 0x0065, 0x09 }, { 0x0066, 0x00 }, - { 0x0079, 0x06 }, { 0x007A, 0x09 }, { 0x007B, 0x00 }, { 0x0088, 0x06 }, { 0x0089, 0x09 }, { 0x008A, 0x00 }, - { 0x0097, 0x06 }, { 0x0098, 0x09 }, { 0x0099, 0x00 }, { 0x00A6, 0x06 }, { 0x00A7, 0x09 }, { 0x00A8, 0x00 }, - { 0x00AD, 0x06 }, { 0x00AE, 0x09 }, { 0x00AF, 0x00 }, { 0x00B4, 0x06 }, { 0x00B5, 0x09 }, { 0x00B6, 0x00 }, - { 0x00C3, 0x06 }, { 0x00C4, 0x09 }, { 0x00C5, 0x00 }, { 0x00CA, 0x06 }, { 0x00CB, 0x09 }, { 0x00CC, 0x00 }, - { 0x00D1, 0x06 }, { 0x00D2, 0x09 }, { 0x00D3, 0x00 }, { 0x00E0, 0x06 }, { 0x00E1, 0x09 }, { 0x00E2, 0x00 }, - { 0x00E7, 0x06 }, { 0x00E8, 0x09 }, { 0x00E9, 0x00 }, { 0x00EE, 0x06 }, { 0x00EF, 0x09 }, { 0x00F0, 0x00 }, - { 0x00FD, 0x06 }, { 0x00FE, 0x09 }, { 0x00FF, 0x00 }, { 0x010A, 0x06 }, { 0x010B, 0x09 }, { 0x010C, 0x00 }, - { 0x011D, 0x06 }, { 0x011E, 0x09 }, { 0x011F, 0x00 }, { 0x012C, 0x06 }, { 0x012D, 0x09 }, { 0x012E, 0x00 }, - { 0x013D, 0x06 }, { 0x013E, 0x09 }, { 0x013F, 0x00 }, { 0x0148, 0x06 }, { 0x0149, 0x09 }, { 0x014A, 0x00 }, - { 0x0153, 0x06 }, { 0x0154, 0x09 }, { 0x0155, 0x00 }, { 0x015E, 0x06 }, { 0x015F, 0x09 }, { 0x0160, 0x00 }, - { 0x0169, 0x06 }, { 0x016A, 0x09 }, { 0x016B, 0x00 }, { 0x016C, 0x06 }, { 0x016D, 0x12 }, { 0x016E, 0x00 }, - { 0x017B, 0x06 }, { 0x017C, 0x09 }, { 0x017D, 0x00 }, { 0x0188, 0x06 }, { 0x0189, 0x09 }, { 0x018A, 0x00 }, - { 0x0190, 0x13 }, { 0x0000, 0x00 } - }; - - uint32 outsize = size + (ARRAYSIZE(patchData) - 1); - uint8 *buffer = new uint8[outsize]; - assert(buffer); - - const uint8 *src = data; - uint8 *dst = buffer; - const PatchEntry *patchPos = patchData; - - while (dst < (buffer + outsize)) { - if ((dst - buffer) == patchPos->pos) { - *dst++ = patchPos->val; - patchPos++; - } else { - *dst++ = *src++; - } - } - - return out.addFile(filename, buffer, outsize); -} - -bool extractAmigaSfx(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - const uint32 entries = size / 8; - byte *buffer = new byte[entries * 6 + 1 * 4]; - - byte *output = buffer; - WRITE_BE_UINT32(output, entries); output += 4; - - for (uint32 i = 0; i < entries; ++i) { - *output++ = *data++; // Note - *output++ = *data++; // Patch - data += 2; // Unused - WRITE_BE_UINT16(output, READ_BE_UINT16(data)); output += 2; data += 2; // Duration - *output++ = *data++; // Volume - *output++ = *data++; // Pan - } - - return out.addFile(filename, buffer, entries * 6 + 1 * 4); -} - -bool extractWdSfx(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - const int bufferSize = 0x12602; - - uint8 *buffer = new uint8[0x12602]; - assert(buffer); - memcpy(buffer, data, 0x7EE5); - memcpy(buffer + 0x7EE5, data + 0x7EE7, 0x7FFF); - memcpy(buffer + 0xFEE4, data + 0xFEE8, 0x271E); - - return out.addFile(filename, buffer, bufferSize); -} - -int extractHofSeqData_checkString(const void *ptr, uint8 checkSize); -int extractHofSeqData_isSequence(const void *ptr, const ExtractInformation *info, uint32 maxCheckSize); -int extractHofSeqData_isControl(const void *ptr, uint32 size); - -bool extractHofSeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int numSequences = 0; - int numNestedSequences = 0; - - uint16 headerSize = 50 * sizeof(uint16); - uint16 bufferSize = size + headerSize; - byte *buffer = new byte[bufferSize]; - assert(buffer); - memset(buffer, 0, bufferSize ); - uint16 *header = (uint16 *) buffer; - byte *output = buffer + headerSize; - uint16 *hdout = header; - - //debug(1, "\nProcessing Hand of Fate sequence data:\n--------------------------------------\n"); - for (int cycle = 0; cycle < 2; cycle++) { - const byte *ptr = data; - hdout++; - - const byte *endOffs = (const byte *)(data + size); - - // detect sequence structs - while (ptr < endOffs) { - if (ptr[1]) { - error("invalid sequence data encountered"); - delete[] buffer; - return false; - } - - int v = extractHofSeqData_isSequence(ptr, info, endOffs - ptr); - - if (cycle == 0 && v == 1) { - if ((info->platform == kPlatformDOS && info->special == kNoSpecial && *ptr == 5) || (info->special == kDemoVersion && (ptr - data == 312))) { - // patch for floppy version: skips invalid ferb sequence - // patch for demo: skips invalid title sequence - ptr += 54; - continue; - } - - numSequences++; - uint16 relOffs = (uint16) (output - buffer); - WRITE_BE_UINT16(hdout, relOffs); - hdout++; - - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); // flags - ptr += 2; - output += 2; - - memcpy(output, ptr, 28); // wsa and cps file names - ptr += 28; - output += 28; - - if (info->platform == kPlatformFMTowns) { // startupCommand + finalCommand - memcpy(output, ptr, 2); - ptr += 2; - output += 2; - } else { - *output++ = READ_LE_UINT16(ptr) & 0xff; - ptr += 2; - *output++ = READ_LE_UINT16(ptr) & 0xff; - ptr += 2; - } - - for (int w = 0; w < 7; w++) { //stringIndex1 to yPos - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - } - - ptr += 4; - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); // duration - ptr += 2; - output+= 2; - - } else if (cycle == 1 && v != 1 && v != -2) { - uint16 controlOffs = 0; - uint16 ctrSize = 0; - if (v) { - const byte *ctrStart = ptr; - while (v && v != -2) { - ptr++; - v = extractHofSeqData_isSequence(ptr, info, endOffs - ptr); - } - - if (v == -2) - break; - - ctrSize = (uint16)(ptr - ctrStart); - - if (info->special != kDemoVersion && - extractHofSeqData_isControl(ctrStart, ctrSize)) { - controlOffs = (uint16) (output - buffer); - *output++ = ctrSize >> 2; - - for (int cc = 0; cc < ctrSize; cc += 2) - WRITE_BE_UINT16(output + cc, READ_LE_UINT16(ctrStart + cc)); // frame control - output += ctrSize; - } - } - - numNestedSequences++; - uint16 relOffs = (uint16) (output - buffer); - WRITE_BE_UINT16(hdout, relOffs); - hdout++; - - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); // flags - ptr += 2; - output += 2; - - memcpy(output, ptr, 14); // wsa file name - ptr += 14; - output += 14; - - // startframe - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - - // endFrame - WRITE_BE_UINT16(output, (ctrSize && ((ctrSize >> 2) < READ_LE_UINT16(ptr))) ? (ctrSize >> 2) : READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - - // frameDelay - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - - ptr += 4; - - for (int w = 0; w < 2; w++) { //x, y - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - } - - if (!READ_LE_UINT32(ptr)) - controlOffs = 0; - - WRITE_BE_UINT16(output, controlOffs); - if (info->special != kDemoVersion) - ptr += 4; - output += 2; - - if (info->special != kDemoVersion) { - for (int w = 0; w < 2; w++) { //startupCommand, finalCommand - WRITE_BE_UINT16(output, READ_LE_UINT16(ptr)); - ptr += 2; - output += 2; - } - } else { - memset(output, 0, 4); - output += 4; - } - - if (info->platform == kPlatformFMTowns) - ptr += 2; - - } else if (cycle == 0) { - while (v != 1 && v != -2) { - ptr++; - v = extractHofSeqData_isSequence(ptr, info, endOffs - ptr); - } - - if (v == -2) - break; - - - } else if (cycle == 1) { - while (v == 1 && v != -2) { - ptr++; - v = extractHofSeqData_isSequence(ptr, info, endOffs - ptr); - } - - if (v == -2) - break; - } - } - } - - uint16 finHeaderSize = (2 + numSequences + numNestedSequences) * sizeof(uint16); - uint16 finBufferSize = ((output - buffer) - headerSize) + finHeaderSize; - byte *finBuffer = new byte[finBufferSize]; - assert(finBuffer); - uint16 diff = headerSize - finHeaderSize; - uint16 *finHeader = (uint16 *) finBuffer; - - for (int i = 1; i < finHeaderSize; i++) - WRITE_BE_UINT16(&finHeader[i], (READ_BE_UINT16(&header[i]) - diff)); - WRITE_BE_UINT16(finHeader, numSequences); - WRITE_BE_UINT16(&finHeader[numSequences + 1], numNestedSequences); - memcpy (finBuffer + finHeaderSize, buffer + headerSize, finBufferSize - finHeaderSize); - delete[] buffer; - - finHeader = (uint16 *) (finBuffer + ((numSequences + 2) * sizeof(uint16))); - for (int i = 0; i < numNestedSequences; i++) { - uint8 * offs = finBuffer + READ_BE_UINT16(finHeader++) + 26; - uint16 ctrl = READ_BE_UINT16(offs); - if (ctrl) - ctrl -= diff; - WRITE_BE_UINT16(offs, ctrl); - } - - return out.addFile(filename, finBuffer, finBufferSize); -} - -int extractHofSeqData_checkString(const void *ptr, uint8 checkSize) { - // return values: 1 = text; 0 = zero string; -1 = other - - int t = 0; - int c = checkSize; - const uint8 *s = (const uint8*)ptr; - - // check for character string - while (c--) { - if (*s > 31 && *s < 123) - t++; - s++; - } - - if (t == checkSize) - return 1; - - // check for zero string - c = checkSize; - uint32 sum = 0; - s = (const uint8*)ptr; - while (c--) - sum += *s++; - - return (sum) ? -1 : 0; -} - -int extractHofSeqData_isSequence(const void *ptr, const ExtractInformation *info, uint32 maxCheckSize) { - // return values: 1 = Sequence; 0 = Nested Sequence; -1 = other; -2 = overflow - - if (maxCheckSize < 30) - return -2; - - const uint8 * s = (const uint8*)ptr; - int c1 = extractHofSeqData_checkString(s + 2, 6); - int c2 = extractHofSeqData_checkString(s + 16, 6); - int c3 = extractHofSeqData_checkString(s + 2, 14); - int c4 = extractHofSeqData_checkString(s + 16, 14); - int c0 = s[1]; - int c5 = s[0]; - - if (c0 == 0 && c5 && ((c1 + c2) >= 1) && (!(c3 == 0 && c2 != 1)) && (!(c4 == 0 && c1 != 1))) { - if (maxCheckSize < 41) - return -2; - - if (info->platform == kPlatformFMTowns) { - if (!(s[37] | s[39]) && s[38] > s[36]) - return 1; - } else { - if (!(s[39] | s[41]) && s[40] > s[38]) - return 1; - } - } - - if (c0 == 0 && c5 == 4 && c3 == 0 && c4 == 0) { - if (maxCheckSize >= 41 && READ_LE_UINT32(s + 34) && !(s[39] | s[41]) && s[40] > s[38]) - return 1; - } - - if (c0 == 0 && c5 && c1 == 1 && c4 == -1 && s[20]) - return 0; - - return -1; -} - -int extractHofSeqData_isControl(const void *ptr, uint32 size) { - // return values: 1 = possible frame control data; 0 = definitely not frame control data - - const uint8 *s = (const uint8*)ptr; - for (uint32 i = 2; i < size; i += 4) { - if (!s[i]) - return 0; - } - - for (uint32 i = 1; i < size; i += 2) { - if (s[i]) - return 0; - } - return 1; -} - -bool extractHofShapeAnimDataV1(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int outsize = 1; - uint8 *buffer = new uint8[size + 1]; - const uint8 *src = data; - uint8 *dst = buffer + 1; - - for (int i = 0; i < 4; i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; - dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 4; - dst += 2; - outsize += 4; - - for (int j = 0; j < 20; j++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; - dst += 2; - outsize += 2; - } - - }; - - *buffer = 4; // number of items - - return out.addFile(filename, buffer, outsize); -} - -bool extractHofShapeAnimDataV2(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int outsize = 1; - uint8 *buffer = new uint8[size + 1]; - const uint8 *src = data; - uint8 *dst = buffer + 1; - const uint8 *fin = data + size; - int count = 0; - - do { - if (READ_LE_UINT16(src) == 0xffff) - break; - - count++; - - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; - dst += 2; - - uint8 numFrames = *src; - *dst++ = numFrames; - src += 6; - outsize += 3; - - for (int i = 0; i < (numFrames << 1); i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; - dst += 2; - outsize += 2; - } - - src += (48 - (numFrames << 2)); - - } while (src < fin); - - *buffer = count; // number of items - - return out.addFile(filename, buffer, outsize); -} - -bool extractStringsWoSuffix(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int outsize = size + 4; - uint8 *buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer + 4; - const uint8 *fin = src + size; - int entries = 0; - - while (src < fin) { - while (!*src && src < fin) - src++; - while (*src && *src != '.' && src < fin) - *dst++ = *src++; - - *dst++ = '\0'; - entries++; - - if (*src == '.') { - while (*src && src < fin) - src++; - } - } - - WRITE_BE_UINT32(buffer, entries); - outsize = dst - buffer; - - return out.addFile(filename, buffer, outsize); -} - -bool extractPaddedStrings(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int outsize = size + 4; - uint8 *buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer + 4; - const uint8 *fin = src + size; - int entries = 0; - - while (src < fin) { - while (!*src && src < fin) - src++; - while (*src && src < fin) - *dst++ = *src++; - if (src < fin) - *dst++ = *src++; - entries++; - } - - WRITE_BE_UINT32(buffer, entries); - - outsize = dst - buffer; - - return out.addFile(filename, buffer, outsize); -} - -bool extractRaw16to8(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - // Hack for some LOL FM-Towns entries - if (info->platform == Common::kPlatformFMTowns && ((id >= kLoLButtonList1 && id <= kLoLButtonList8) || id == kLoLCharInvIndex)) - return extractRaw(out, info, data, size, filename, id); - - int outsize = size >> 1; - uint8 *buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (int i = 0; i < outsize; i++) { - *dst++ = *src++; - src++; - } - - return out.addFile(filename, buffer, outsize); -} - -bool extractRaw16(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - uint8 *buffer = new uint8[size]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (uint32 i = 0; i < (size >> 1); i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; - dst += 2; - } - - return out.addFile(filename, buffer, size); -} - -bool extractRaw32(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - uint8 *buffer = new uint8[size]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (uint32 i = 0; i < (size >> 2); i++) { - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; - dst += 4; - } - - return out.addFile(filename, buffer, size); -} - -bool extractLoLButtonDefs(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int num = size / 22; - uint8 *buffer = new uint8[size]; - uint32 outsize = num * 18; - const uint8 *src = data; - uint8 *dst = buffer; - - for (int i = 0; i < num; i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 6; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - } - - return out.addFile(filename, buffer, outsize); -} - -bool extractLoLFlyingShpDefs(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - if (info->platform != Common::kPlatformFMTowns) - return extractRaw16to8(out, info, data, size, filename, id); - - int outsize = size / 9 * 5; - uint8 *buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (int i = outsize / 5; i; --i) { - *dst++ = *src++; - src++; - *dst++ = *src++; - src++; - *dst++ = *src++; - src++; - *dst++ = *src++; - *dst++ = *src++; - src++; - } - - return out.addFile(filename, buffer, outsize); -} - -bool extractEoB2SeqData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int num = size / 11; - uint8 *buffer = new uint8[size]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (int i = 0; i < num; i++) { - memcpy(dst, src, 2); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - memcpy(dst, src, 7); - src += 7; dst += 7; - } - - return out.addFile(filename, buffer, size); -} - -bool extractEoB2ShapeData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int num = size / 6; - uint8 *buffer = new uint8[size]; - const uint8 *src = data; - uint8 *dst = buffer; - - for (int i = 0; i < num; i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - memcpy(dst, src, 4); - src += 4; dst += 4; - } - - return out.addFile(filename, buffer, size); -} - -bool extractEoBNpcData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - // We use one extraction routine for both EOB 1 and EOB 2 (in spite of the data format differences) - // since it is easy enough to generate a common output usable by both engines - - uint8 *buffer = 0; - uint32 outsize = 0; - - if (info->game == kEoB1) { - uint16 num = size / 243; - outsize = num * 111 + 2; - buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer; - - WRITE_BE_UINT16(dst, num); - dst += 2; - - for (int i = 0; i < num; i++) { - memcpy(dst, src, 27); - src += 27; dst += 27; - WRITE_BE_UINT16(dst, *src++); - dst += 2; - WRITE_BE_UINT16(dst, *src++); - dst += 2; - memcpy(dst, src, 10); - src += 10; dst += 10; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - // skipping lots of zero space - src += 64; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - for (int ii = 0; ii < 27; ii++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - } - // skipping more zero space - src += 70; - } - } else { - uint16 num = size / 345; - outsize = num * 111 + 2; - buffer = new uint8[outsize]; - const uint8 *src = data; - uint8 *dst = buffer; - - WRITE_BE_UINT16(dst, num); - dst += 2; - - for (int i = 0; i < num; i++) { - memcpy(dst, src, 27); - src += 27; dst += 27; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - memcpy(dst, src, 10); - src += 10; dst += 10; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - // skipping lots of zero space - src += 164; - WRITE_BE_UINT32(dst, READ_LE_UINT32(src)); - src += 4; dst += 4; - for (int ii = 0; ii < 27; ii++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src)); - src += 2; dst += 2; - } - // skipping more zero space - src += 70; - } - } - - return out.addFile(filename, buffer, outsize); -} - -bool extractMrShapeAnimData(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id) { - int outsize = 1; - uint8 *buffer = new uint8[size + 1]; - const uint8 *src2 = data; - const uint8 *src1 = data + 324; - uint8 *dst = buffer + 1; - const uint8 *fin = data + size; - int count = 0; - - do { - if (READ_LE_UINT16(src1) == 0xffff) - break; - - count++; - - WRITE_BE_UINT16(dst, READ_LE_UINT16(src1)); - src1 += 2; - dst += 2; - - uint8 numFrames = *src1; - *dst++ = numFrames; - src1 += 10; - outsize += 3; - - for (int i = 0; i < (numFrames << 1); i++) { - WRITE_BE_UINT16(dst, READ_LE_UINT16(src2)); - src2 += 2; - dst += 2; - outsize += 2; - } - } while (src1 < fin); - - *buffer = count; // number of items - - return out.addFile(filename, buffer, outsize); -} - -} // end of anonymous namespace diff --git a/devtools/create_kyradat/extract.h b/devtools/create_kyradat/extract.h deleted file mode 100644 index 4af9a146f4..0000000000 --- a/devtools/create_kyradat/extract.h +++ /dev/null @@ -1,78 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#ifndef CREATE_KYRADAT_EXTRACT_H -#define CREATE_KYRADAT_EXTRACT_H - -#include "create_kyradat.h" -#include "pak.h" -#include "util.h" - -enum kExtractType { - kTypeStringList = 0, - kTypeRoomList, - kTypeShapeList, - kTypeRawData, - kTypeForestSeqData, - kTypeAmigaSfxTable, - kTypeTownsWDSfxTable, - - k2TypeSeqData, - k2TypeShpDataV1, - k2TypeShpDataV2, - k2TypeSoundList, - k2TypeLangSoundList, - k2TypeSize10StringList, - k2TypeSfxList, - - k3TypeRaw16to8, - k3TypeShpData, - - kLoLTypeRaw16, - kLoLTypeRaw32, - kLoLTypeButtonDef, - kLoLTypeCharData, - kLoLTypeSpellData, - kLoLTypeCompassData, - kLoLTypeFlightShpData, - - kEoB2TypeSeqData, - kEoB2TypeShapeData, - kEoBTypeNpcData -}; - -struct ExtractInformation { - int game; - int platform; - int lang; - int special; -}; - -struct ExtractType { - int type; - bool (*extract)(PAKFile &out, const ExtractInformation *info, const byte *data, const uint32 size, const char *filename, int id); -}; - -const ExtractType *findExtractType(const int type); -byte getTypeID(int type); - -#endif diff --git a/devtools/create_kyradat/games.cpp b/devtools/create_kyradat/games.cpp index e2ad4f7263..0162bda8ad 100644 --- a/devtools/create_kyradat/games.cpp +++ b/devtools/create_kyradat/games.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -24,113 +24,110 @@ #define FORBIDDEN_SYMBOL_ALLOW_ALL #include "create_kyradat.h" -#include "common/language.h" -#include "common/platform.h" +#include "resources.h" // Game tables namespace { const Game kyra1Games[] = { - // Demos - { kKyra1, { EN_ANY, -1, -1 }, kPlatformDOS, kDemoVersion, { "7b7504c8560ffc914d34c44c71b3094c", 0 } }, - { kKyra1, { EN_ANY, -1, -1 }, kPlatformDOS, kTalkieDemoVersion, { "226fdba99cb11ef1047131d9a50e6292", 0 } }, - - // Amiga - { kKyra1, { EN_ANY, -1, -1 }, kPlatformAmiga, kNoSpecial, { "b620564b6b7e0787b053ca9e35bd9f52", 0 } }, - { kKyra1, { DE_DEU, -1, -1 }, kPlatformAmiga, kNoSpecial, { "ceddb4bd4df51698e3851e75106d117a", 0 } }, - - // Floppy - { kKyra1, { EN_ANY, -1, -1 }, kPlatformDOS, kNoSpecial, { "76a4fc84e173cadb6369785787e1546e", 0 } }, - { kKyra1, { DE_DEU, -1, -1 }, kPlatformDOS, kNoSpecial, { "9442d6f7db6a41f3dd4aa4de5d36e107", 0 } }, - { kKyra1, { FR_FRA, -1, -1 }, kPlatformDOS, kNoSpecial, { "aa9d6d78d8b199deaf48efeca6d19af2", 0 } }, - { kKyra1, { IT_ITA, -1, -1 }, kPlatformDOS, kNoSpecial, { "5d7550306b369a3492f9f3402702477c", 0 } }, - { kKyra1, { ES_ESP, -1, -1 }, kPlatformDOS, kNoSpecial, { "9ff130d2558bcd674d4074849d93c362", 0 } }, - { kKyra1, { RU_RUS, -1, -1 }, kPlatformDOS, kOldFloppy, { "3b4719e1f8a4d67813b7ada29774aead", 0 } }, - - // Talkie - { kKyra1, { EN_ANY, -1, -1 }, kPlatformDOS, kTalkieVersion, { "1ebc18f3e7fbb72474a55cb0fa089ed4", 0 } }, - { kKyra1, { DE_DEU, -1, -1 }, kPlatformDOS, kTalkieVersion, { "c65d381184f98ac26d9efd2d45baef51", 0 } }, - { kKyra1, { FR_FRA, -1, -1 }, kPlatformDOS, kTalkieVersion, { "307c5d4a554d9068ac3d326e350ae4a6", 0 } }, - { kKyra1, { IT_ITA, -1, -1 }, kPlatformDOS, kTalkieVersion, { "d0f1752098236083d81b9497bd2b6989", 0 } }, // Italian fan translation - - // FM-TOWNS - { kKyra1, { EN_ANY, JA_JPN, -1 }, kPlatformFMTowns, kNoSpecial, { "5a3ad60ccd0f2e29463e0368cd14a60d", 0 } }, - - // PC-98 - { kKyra1, { JA_JPN, -1, -1 }, kPlatformPC98, kNoSpecial, { "b9c06ac5177f5bf1f1acc0eea3937f6d", 0 } }, + { kKyra1, kPlatformDOS, kDemoVersion, EN_ANY }, + + { kKyra1, kPlatformDOS, kTalkieDemoVersion, EN_ANY }, + + { kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY }, + { kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU }, + + { kKyra1, kPlatformDOS, kNoSpecial, EN_ANY }, + { kKyra1, kPlatformDOS, kNoSpecial, DE_DEU }, + { kKyra1, kPlatformDOS, kNoSpecial, FR_FRA }, + { kKyra1, kPlatformDOS, kNoSpecial, IT_ITA }, + { kKyra1, kPlatformDOS, kNoSpecial, ES_ESP }, + { kKyra1, kPlatformDOS, kOldFloppy, RU_RUS }, + + { kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY }, + { kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU }, + { kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA }, + { kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA }, + + { kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY }, + { kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN }, + + { kKyra1, kPlatformPC98, kNoSpecial, JA_JPN }, GAME_DUMMY_ENTRY }; const Game kyra2Games[] = { - // demos - { kKyra2, { EN_ANY, -1, -1 }, kPlatformDOS, kDemoVersion, { "a620a37579dd44ab0403482285e3897f", 0 } }, + { kKyra2, kPlatformDOS, kDemoVersion, EN_ANY }, - { kKyra2, { EN_ANY, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieDemoVersion, { "85bbc1cc6c4cef6ad31fc6ee79518efb", "fa54d8abfe05f9186c05f7de7eaf1480" } }, + { kKyra2, kPlatformDOS, kTalkieDemoVersion, EN_ANY }, + { kKyra2, kPlatformDOS, kTalkieDemoVersion, FR_FRA }, + { kKyra2, kPlatformDOS, kTalkieDemoVersion, DE_DEU }, - // floppy games - { kKyra2, { EN_ANY, -1, -1 }, kPlatformDOS, kNoSpecial, { "9b0f5e57b5a2ed88b5b989cbb402b6c7", "7c3eadbe5122722cf2e5e1611e19dfb9" } }, - { kKyra2, { FR_FRA, -1, -1 }, kPlatformDOS, kNoSpecial, { "df31cc9e37e1cf68df2fdc75ddf2d87b", "fc2c6782778e6c6d5a553d1cb73c98ad" } }, - { kKyra2, { DE_DEU, -1, -1 }, kPlatformDOS, kNoSpecial, { "0ca4f9a1438264a4c63c3218e064ed3b", "0d9b0eb7b0ad889ec942d74d80dde1bf" } }, - { kKyra2, { IT_ITA, -1, -1 }, kPlatformDOS, kNoSpecial, { "178d3ab913f61bfba21d2fb196405e8c", "3a61ed6b7c00ddae383a0361799e2ba6" } }, - { kKyra2, { RU_RUS, -1, -1 }, kPlatformDOS, kNoSpecial, { "fd6a388c01de9a578e24e3bbeacd8012", "3a61ed6b7c00ddae383a0361799e2ba6" } }, + { kKyra2, kPlatformDOS, kNoSpecial, EN_ANY }, + { kKyra2, kPlatformDOS, kNoSpecial, FR_FRA }, + { kKyra2, kPlatformDOS, kNoSpecial, DE_DEU }, + { kKyra2, kPlatformDOS, kNoSpecial, IT_ITA }, + { kKyra2, kPlatformDOS, kNoSpecial, RU_RUS }, - // talkie games - { kKyra2, { EN_ANY, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "85bbc1cc6c4cef6ad31fc6ee79518efb", "e20d0d2e500f01e399ec588247a7e213" } }, - { kKyra2, { IT_ITA, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "130795aa8f2333250c895dae9028b9bb", "e20d0d2e500f01e399ec588247a7e213" } }, // Italian Fan Translation - { kKyra2, { RU_RUS, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "c3afd22959f515355b2a33cde950f418", "e20d0d2e500f01e399ec588247a7e213" } }, // Russian Fan Translation + { kKyra2, kPlatformDOS, kTalkieVersion, EN_ANY }, + { kKyra2, kPlatformDOS, kTalkieVersion, FR_FRA }, + { kKyra2, kPlatformDOS, kTalkieVersion, DE_DEU }, + { kKyra2, kPlatformDOS, kTalkieVersion, IT_ITA }, + { kKyra2, kPlatformDOS, kTalkieVersion, RU_RUS }, - // FM-TOWNS games - { kKyra2, { EN_ANY, JA_JPN, -1 }, kPlatformFMTowns, kNoSpecial, { "74f50d79c919cc8e7196c24942ce43d7", "a9a7fd4f05d00090e9e8bda073e6d431" } }, + { kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY }, + { kKyra2, kPlatformFMTowns, kNoSpecial, JA_JPN }, - // PC-98 - { kKyra2, { EN_ANY, JA_JPN, -1 }, kPlatformPC98, kNoSpecial, { "9bbf9a69be956db072b485929b416082", "f55fda3e60c4956ce6e72b24d2ae1a07" } }, + { kKyra2, kPlatformPC98, kNoSpecial, EN_ANY }, + { kKyra2, kPlatformPC98, kNoSpecial, JA_JPN }, GAME_DUMMY_ENTRY }; const Game kyra3Games[] = { - // DOS CD (multi language version, with no language specific strings) - { kKyra3, { EN_ANY, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "bf68701eb591d0b72219f314c0d32688", 0 } }, - { kKyra3, { EN_ANY, IT_ITA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "bf68701eb591d0b72219f314c0d32688", 0 } }, // Fan translation // TODO: Verify md5sum - { kKyra3, { ES_ESP, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "bf68701eb591d0b72219f314c0d32688", 0 } }, // Fan translation // TODO: Verify md5sum + { kKyra3, kPlatformDOS, kTalkieVersion, EN_ANY }, + { kKyra3, kPlatformDOS, kTalkieVersion, FR_FRA }, + { kKyra3, kPlatformDOS, kTalkieVersion, DE_DEU }, + { kKyra3, kPlatformDOS, kTalkieVersion, IT_ITA }, + { kKyra3, kPlatformDOS, kTalkieVersion, ES_ESP }, GAME_DUMMY_ENTRY }; const Game eob1Games[] = { - { kEoB1, { EN_ANY, -1, -1 }, kPlatformDOS, kNoSpecial, { "1bde1dd37b40ab6de8ad11be33a44c5a", "d760a605d1a1302d06975a1f209fdd72" } }, - { kEoB1, { DE_DEU, -1, -1 }, kPlatformDOS, kNoSpecial, { "0fa3c6e00a81171b9f2adb3fdeb8eea3", "756f300c62aabf1dbd3c26b3b04f8c00" } }, + { kEoB1, kPlatformDOS, kNoSpecial, EN_ANY }, + { kEoB1, kPlatformDOS, kNoSpecial, DE_DEU }, + GAME_DUMMY_ENTRY }; const Game eob2Games[] = { - { kEoB2, { EN_ANY, -1, -1 }, kPlatformDOS, kNoSpecial, { "e006d031c2d854f748947f777e0c59b0", 0 } }, - { kEoB2, { DE_DEU, -1, -1 }, kPlatformDOS, kNoSpecial, { "6c6c4168deb2a4cb3dee3f1be2d39746", 0 } }, + { kEoB2, kPlatformDOS, kNoSpecial, EN_ANY }, + { kEoB2, kPlatformDOS, kNoSpecial, DE_DEU }, + GAME_DUMMY_ENTRY }; const Game lolGames[] = { - // DOS demo - { kLoL, { EN_ANY, -1, -1 }, kPlatformDOS, kDemoVersion, { "30bb5af87d38adb47d3e6ce06b1cb042", 0 } }, + { kLoL, kPlatformDOS, kDemoVersion, EN_ANY }, + + { kLoL, kPlatformDOS, kNoSpecial, EN_ANY }, + { kLoL, kPlatformDOS, kNoSpecial, RU_RUS }, + { kLoL, kPlatformDOS, kNoSpecial, DE_DEU }, + { kLoL, kPlatformDOS, kNoSpecial, FR_FRA }, - // DOS floppy (no language specifc strings except character presets) - { kLoL, { EN_ANY, -1, -1 }, kPlatformDOS, kNoSpecial, { "0cc764a204f7ba8cefe1a5f14c479619", 0 } }, - { kLoL, { RU_RUS, -1, -1 }, kPlatformDOS, kNoSpecial, { "80a9f9bf243bc6ed36d98584fc6988c4", 0 } }, - { kLoL, { DE_DEU, -1, -1 }, kPlatformDOS, kNoSpecial, { "6b843869772c1b779e1386be868c15dd", 0 } }, - { kLoL, { FR_FRA, -1, -1 }, kPlatformDOS, kNoSpecial, { "6b843869772c1b779e1386be868c15dd", 0 } }, + { kLoL, kPlatformDOS, kTalkieVersion, EN_ANY }, + { kLoL, kPlatformDOS, kTalkieVersion, FR_FRA }, + { kLoL, kPlatformDOS, kTalkieVersion, DE_DEU }, + { kLoL, kPlatformDOS, kTalkieVersion, IT_ITA }, + { kLoL, kPlatformDOS, kTalkieVersion, RU_RUS }, - // PC98 (no language specifc strings) - { kLoL, { JA_JPN, -1, -1 }, kPlatformPC98, kNoSpecial, { "6d5bd4a2f5ce433365734ca6b7a8d984", "1b0a457c48ae6908da301b656fe0aab4" } }, + { kLoL, kPlatformPC98, kNoSpecial, JA_JPN }, - // FM-Towns (no language specifc strings) - { kLoL, { JA_JPN, -1, -1 }, kPlatformFMTowns, kNoSpecial, { "a281c7143bf2b6c5d4daa107a4b0427e", "34b4cecce179990e3bcaaa2d31484a90"} }, + { kLoL, kPlatformFMTowns, kNoSpecial, JA_JPN }, - // DOS CD (multi language version, with no language specific strings) - { kLoL, { EN_ANY, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "263998ec600afca1cc7b935c473df670" } }, - { kLoL, { IT_ITA, FR_FRA, DE_DEU }, kPlatformDOS, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "f2af366e00f79dbf832fa19701d71ed9" } }, // Italian fan translation - { kLoL, { EN_ANY, FR_FRA, RU_RUS }, kPlatformDOS, kTalkieVersion, { "9d1778314de80598c0b0d032e2a1a1cf", "5b33478718968676343803911dd5e3e4" } }, // Russian fan translation GAME_DUMMY_ENTRY }; @@ -824,7 +821,7 @@ const int lolFloppyNeed[] = { kLoLDscScaleWidthData, kLoLDscScaleHeightData, kRpgCommonDscX, - kLoLDscY, + kLoLBaseDscY, kRpgCommonDscTileIndex, kRpgCommonDscUnk2, kRpgCommonDscDoorShapeIndex, @@ -907,7 +904,7 @@ const int lolPC98Need[] = { kLoLDscScaleWidthData, kLoLDscScaleHeightData, kRpgCommonDscX, - kLoLDscY, + kLoLBaseDscY, kRpgCommonDscTileIndex, kRpgCommonDscUnk2, kRpgCommonDscDoorShapeIndex, @@ -991,7 +988,7 @@ const int lolFMTownsNeed[] = { kLoLDscScaleWidthData, kLoLDscScaleHeightData, kRpgCommonDscX, - kLoLDscY, + kLoLBaseDscY, kRpgCommonDscTileIndex, kRpgCommonDscUnk2, kRpgCommonDscDoorShapeIndex, @@ -1080,7 +1077,7 @@ const int lolCDNeed[] = { kLoLDscScaleWidthData, kLoLDscScaleHeightData, kRpgCommonDscX, - kLoLDscY, + kLoLBaseDscY, kRpgCommonDscTileIndex, kRpgCommonDscUnk2, kRpgCommonDscDoorShapeIndex, @@ -1231,14 +1228,14 @@ const int eob1FloppyNeed[] = { kEoBBaseCursedString, kEoBBaseEnchantedString, kEoBBaseMagicObjectStrings, - kEoBBaseMagicObject5String, + kEoBBaseMagicObjectString5, kEoBBasePatternSuffix, kEoBBasePatternGrFix1, kEoBBasePatternGrFix2, kEoBBaseValidateArmorString, kEoBBaseValidateNoDropString, kEoBBasePotionStrings, - kEoBBaseWandString, + kEoBBaseWandStrings, kEoBBaseItemMisuseStrings, kEoBBaseTakenStrings, @@ -1360,7 +1357,7 @@ const int eob1FloppyNeed[] = { kEoBBaseDscItemPosIndex, kEoBBaseDscItemShpX, - kEoBBaseDscItemPosUnk, + kEoBBaseDscItemScaleIndex, kEoBBaseDscItemTileIndex, kEoBBaseDscItemShapeMap, kEoBBaseDscTelptrShpCoords, @@ -1452,7 +1449,7 @@ const int eob2FloppyNeed[] = { kEoBBaseCursedString, kEoBBaseEnchantedString, kEoBBaseMagicObjectStrings, - kEoBBaseMagicObject5String, + kEoBBaseMagicObjectString5, kEoBBasePatternSuffix, kEoBBasePatternGrFix1, kEoBBasePatternGrFix2, @@ -1460,7 +1457,7 @@ const int eob2FloppyNeed[] = { kEoBBaseValidateCursedString, kEoBBaseValidateNoDropString, kEoBBasePotionStrings, - kEoBBaseWandString, + kEoBBaseWandStrings, kEoBBaseItemMisuseStrings, kEoBBaseTakenStrings, @@ -1581,7 +1578,7 @@ const int eob2FloppyNeed[] = { kEoBBaseDscItemPosIndex, kEoBBaseDscItemShpX, - kEoBBaseDscItemPosUnk, + kEoBBaseDscItemScaleIndex, kEoBBaseDscItemTileIndex, kEoBBaseDscItemShapeMap, kEoBBaseDscTelptrShpCoords, @@ -1618,50 +1615,50 @@ const int eob2FloppyNeed[] = { kEoB2IntroStrings, kEoB2IntroCPSFiles, - kEob2IntroAnimData00, - kEob2IntroAnimData01, - kEob2IntroAnimData02, - kEob2IntroAnimData03, - kEob2IntroAnimData04, - kEob2IntroAnimData05, - kEob2IntroAnimData06, - kEob2IntroAnimData07, - kEob2IntroAnimData08, - kEob2IntroAnimData09, - kEob2IntroAnimData10, - kEob2IntroAnimData11, - kEob2IntroAnimData12, - kEob2IntroAnimData13, - kEob2IntroAnimData14, - kEob2IntroAnimData15, - kEob2IntroAnimData16, - kEob2IntroAnimData17, - kEob2IntroAnimData18, - kEob2IntroAnimData19, - kEob2IntroAnimData20, - kEob2IntroAnimData21, - kEob2IntroAnimData22, - kEob2IntroAnimData23, - kEob2IntroAnimData24, - kEob2IntroAnimData25, - kEob2IntroAnimData26, - kEob2IntroAnimData27, - kEob2IntroAnimData28, - kEob2IntroAnimData29, - kEob2IntroAnimData30, - kEob2IntroAnimData31, - kEob2IntroAnimData32, - kEob2IntroAnimData33, - kEob2IntroAnimData34, - kEob2IntroAnimData35, - kEob2IntroAnimData36, - kEob2IntroAnimData37, - kEob2IntroAnimData38, - kEob2IntroAnimData39, - kEob2IntroAnimData40, - kEob2IntroAnimData41, - kEob2IntroAnimData42, - kEob2IntroAnimData43, + kEoB2IntroAnimData00, + kEoB2IntroAnimData01, + kEoB2IntroAnimData02, + kEoB2IntroAnimData03, + kEoB2IntroAnimData04, + kEoB2IntroAnimData05, + kEoB2IntroAnimData06, + kEoB2IntroAnimData07, + kEoB2IntroAnimData08, + kEoB2IntroAnimData09, + kEoB2IntroAnimData10, + kEoB2IntroAnimData11, + kEoB2IntroAnimData12, + kEoB2IntroAnimData13, + kEoB2IntroAnimData14, + kEoB2IntroAnimData15, + kEoB2IntroAnimData16, + kEoB2IntroAnimData17, + kEoB2IntroAnimData18, + kEoB2IntroAnimData19, + kEoB2IntroAnimData20, + kEoB2IntroAnimData21, + kEoB2IntroAnimData22, + kEoB2IntroAnimData23, + kEoB2IntroAnimData24, + kEoB2IntroAnimData25, + kEoB2IntroAnimData26, + kEoB2IntroAnimData27, + kEoB2IntroAnimData28, + kEoB2IntroAnimData29, + kEoB2IntroAnimData30, + kEoB2IntroAnimData31, + kEoB2IntroAnimData32, + kEoB2IntroAnimData33, + kEoB2IntroAnimData34, + kEoB2IntroAnimData35, + kEoB2IntroAnimData36, + kEoB2IntroAnimData37, + kEoB2IntroAnimData38, + kEoB2IntroAnimData39, + kEoB2IntroAnimData40, + kEoB2IntroAnimData41, + kEoB2IntroAnimData42, + kEoB2IntroAnimData43, kEoB2IntroShapes00, kEoB2IntroShapes01, @@ -1671,27 +1668,27 @@ const int eob2FloppyNeed[] = { kEoB2FinaleStrings, kEoB2CreditsData, kEoB2FinaleCPSFiles, - kEob2FinaleAnimData00, - kEob2FinaleAnimData01, - kEob2FinaleAnimData02, - kEob2FinaleAnimData03, - kEob2FinaleAnimData04, - kEob2FinaleAnimData05, - kEob2FinaleAnimData06, - kEob2FinaleAnimData07, - kEob2FinaleAnimData08, - kEob2FinaleAnimData09, - kEob2FinaleAnimData10, - kEob2FinaleAnimData11, - kEob2FinaleAnimData12, - kEob2FinaleAnimData13, - kEob2FinaleAnimData14, - kEob2FinaleAnimData15, - kEob2FinaleAnimData16, - kEob2FinaleAnimData17, - kEob2FinaleAnimData18, - kEob2FinaleAnimData19, - kEob2FinaleAnimData20, + kEoB2FinaleAnimData00, + kEoB2FinaleAnimData01, + kEoB2FinaleAnimData02, + kEoB2FinaleAnimData03, + kEoB2FinaleAnimData04, + kEoB2FinaleAnimData05, + kEoB2FinaleAnimData06, + kEoB2FinaleAnimData07, + kEoB2FinaleAnimData08, + kEoB2FinaleAnimData09, + kEoB2FinaleAnimData10, + kEoB2FinaleAnimData11, + kEoB2FinaleAnimData12, + kEoB2FinaleAnimData13, + kEoB2FinaleAnimData14, + kEoB2FinaleAnimData15, + kEoB2FinaleAnimData16, + kEoB2FinaleAnimData17, + kEoB2FinaleAnimData18, + kEoB2FinaleAnimData19, + kEoB2FinaleAnimData20, kEoB2FinaleShapes00, kEoB2FinaleShapes03, kEoB2FinaleShapes07, diff --git a/devtools/create_kyradat/md5.cpp b/devtools/create_kyradat/md5.cpp index 9f90122981..705275f73b 100644 --- a/devtools/create_kyradat/md5.cpp +++ b/devtools/create_kyradat/md5.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/md5.h b/devtools/create_kyradat/md5.h index 3746521002..8ec85a73fa 100644 --- a/devtools/create_kyradat/md5.h +++ b/devtools/create_kyradat/md5.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/module.mk b/devtools/create_kyradat/module.mk index fb458b43ff..af80f5d4d7 100644 --- a/devtools/create_kyradat/module.mk +++ b/devtools/create_kyradat/module.mk @@ -3,12 +3,11 @@ MODULE := devtools/create_kyradat MODULE_OBJS := \ create_kyradat.o \ - extract.o \ games.o \ md5.o \ pak.o \ - search.o \ - tables.o \ + resources.o \ + types.o \ util.o # Set the name of the executable diff --git a/devtools/create_kyradat/pak.cpp b/devtools/create_kyradat/pak.cpp index 0d085f563c..52e1a2fc3b 100644 --- a/devtools/create_kyradat/pak.cpp +++ b/devtools/create_kyradat/pak.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/pak.h b/devtools/create_kyradat/pak.h index cf415676dd..8e14bba42d 100644 --- a/devtools/create_kyradat/pak.h +++ b/devtools/create_kyradat/pak.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/resources.cpp b/devtools/create_kyradat/resources.cpp new file mode 100644 index 0000000000..66db495caf --- /dev/null +++ b/devtools/create_kyradat/resources.cpp @@ -0,0 +1,1950 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "resources.h" +#include "types.h" + +// The Legend of Kyrandia +#include "resources/lok_amiga.h" +#include "resources/lok_amiga_english.h" +#include "resources/lok_amiga_german.h" + +#include "resources/lok_dos_demo.h" +#include "resources/lok_dos_demo_english.h" + +#include "resources/lok_dos.h" +#include "resources/lok_dos_english.h" +#include "resources/lok_dos_french.h" +#include "resources/lok_dos_german.h" +#include "resources/lok_dos_italian.h" +#include "resources/lok_dos_oldfloppy.h" +#include "resources/lok_dos_oldfloppy_russian.h" +#include "resources/lok_dos_spanish.h" + +#include "resources/lok_dos_cd.h" +#include "resources/lok_dos_cd_english.h" +#include "resources/lok_dos_cd_french.h" +#include "resources/lok_dos_cd_german.h" +#include "resources/lok_dos_cd_italian.h" + +#include "resources/lok_dos_cddemo.h" +#include "resources/lok_dos_cddemo_english.h" + +#include "resources/lok_fmtowns.h" +#include "resources/lok_fmtowns_english.h" +#include "resources/lok_fmtowns_japanese.h" + +#include "resources/lok_pc98.h" +#include "resources/lok_pc98_japanese.h" + +// The Hand of Fate +#include "resources/hof_dos_demo.h" + +#include "resources/hof_dos.h" +#include "resources/hof_dos_english.h" +#include "resources/hof_dos_french.h" +#include "resources/hof_dos_german.h" +#include "resources/hof_dos_italian.h" +#include "resources/hof_dos_russian.h" + +#include "resources/hof_dos_cddemo.h" +#include "resources/hof_dos_cddemo_english.h" +#include "resources/hof_dos_cddemo_french.h" +#include "resources/hof_dos_cddemo_german.h" + +#include "resources/hof_dos_cd.h" +#include "resources/hof_dos_cd_english.h" +#include "resources/hof_dos_cd_french.h" +#include "resources/hof_dos_cd_german.h" +#include "resources/hof_dos_cd_italian.h" +#include "resources/hof_dos_cd_russian.h" + +#include "resources/hof_fmtowns.h" +#include "resources/hof_fmtowns_english.h" +#include "resources/hof_fmtowns_japanese.h" + +#include "resources/hof_pc98.h" +#include "resources/hof_pc98_english.h" +#include "resources/hof_pc98_japanese.h" + +// Malcolm's Revenge +#include "resources/mr_dos_cd.h" + +// Eye of the Beholder +#include "resources/eob1_dos.h" +#include "resources/eob1_dos_english.h" +#include "resources/eob1_dos_german.h" + +// Eye of the Beholder: The Legend of Darkmoon +#include "resources/eob2_dos.h" +#include "resources/eob2_dos_english.h" +#include "resources/eob2_dos_german.h" + +// Lands of Lore +#include "resources/lol_dos_demo.h" +#include "resources/lol_dos_demo_english.h" + +#include "resources/lol_dos.h" +#include "resources/lol_dos_english.h" +#include "resources/lol_dos_french.h" +#include "resources/lol_dos_german.h" +#include "resources/lol_dos_russian.h" + +#include "resources/lol_dos_cd.h" +#include "resources/lol_dos_cd_english.h" +#include "resources/lol_dos_cd_french.h" +#include "resources/lol_dos_cd_german.h" +#include "resources/lol_dos_cd_italian.h" +#include "resources/lol_dos_cd_russian.h" + +#include "resources/lol_pc98.h" +#include "resources/lol_pc98_japanese.h" + +#include "resources/lol_fmtowns.h" +#include "resources/lol_fmtowns_japanese.h" + +static const ResourceProvider resourceProviders[] = { + { k1WestwoodLogoSeq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1WestwoodLogoSeqDOSDemoProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1KyrandiaLogoSeqDOSDemoProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1IntroCPSStringsDOSDemoProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1IntroCOLStringsDOSDemoProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1IntroWSAStringsDOSDemoProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kDemoVersion, EN_ANY, &k1IntroStringsDOSDemoEnglishProvider }, + { k1Demo1Seq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1Demo1SeqDOSDemoProvider }, + { k1Demo2Seq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1Demo2SeqDOSDemoProvider }, + { k1Demo3Seq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1Demo3SeqDOSDemoProvider }, + { k1Demo4Seq, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1Demo4SeqDOSDemoProvider }, + { k1AudioTracksIntro, kKyra1, kPlatformDOS, kDemoVersion, UNK_LANG, &k1AudioTracksIntroDOSDemoProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1KallakWritingSeqDOSCDDemoProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1MalcolmTreeSeqDOSCDDemoProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1WestwoodLogoSeqDOSCDDemoProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1KyrandiaLogoSeqDOSCDDemoProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1KallakMalcolmSeqDOSCDDemoProvider }, + { k1ForestSeq, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1ForestSeqDOSCDDemoProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1IntroCPSStringsDOSCDDemoProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1IntroCOLStringsDOSCDDemoProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1IntroWSAStringsDOSCDDemoProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kTalkieDemoVersion, EN_ANY, &k1IntroStringsDOSCDDemoEnglishProvider }, + { k1AudioTracksIntro, kKyra1, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k1AudioTracksIntroDOSCDDemoProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1KallakWritingSeqAmigaProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqAmigaProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqAmigaProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1KyrandiaLogoSeqAmigaProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1KallakMalcolmSeqAmigaProvider }, + { k1ForestSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1ForestSeqAmigaProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1IntroCPSStringsAmigaProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1IntroWSAStringsAmigaProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1IntroCOLStringsAmigaProvider }, + { k1IntroStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1IntroStringsAmigaEnglishProvider }, + { k1RoomList, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1RoomListAmigaProvider }, + { k1RoomFilenames, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1RoomFilenamesAmigaProvider }, + { k1CharacterImageFilenames, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1CharacterImageFilenamesAmigaProvider }, + { k1DefaultShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1DefaultShapesAmigaProvider }, + { k1ItemNames, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1ItemNamesAmigaEnglishProvider }, + { k1TakenStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1TakenStringsAmigaEnglishProvider }, + { k1PlacedStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1PlacedStringsAmigaEnglishProvider }, + { k1DroppedStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1DroppedStringsAmigaEnglishProvider }, + { k1NoDropStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1NoDropStringsAmigaEnglishProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1AmuleteAnimSeqAmigaProvider }, + { k1PutDownString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1PutDownStringAmigaEnglishProvider }, + { k1WaitAmuletString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1WaitAmuletStringAmigaEnglishProvider }, + { k1BlackJewelString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1BlackJewelStringAmigaEnglishProvider }, + { k1HealingTipString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1HealingTipStringAmigaEnglishProvider }, + { k1PoisonGoneString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1PoisonGoneStringAmigaEnglishProvider }, + { k1Healing1Shapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1Healing1ShapesAmigaProvider }, + { k1Healing2Shapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1Healing2ShapesAmigaProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1ThePoisonStringsAmigaEnglishProvider }, + { k1FluteStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1FluteStringsAmigaEnglishProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1PoisonDeathShapesAmigaProvider }, + { k1FluteShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1FluteShapesAmigaProvider }, + { k1Winter1Shapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1Winter1ShapesAmigaProvider }, + { k1Winter2Shapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1Winter2ShapesAmigaProvider }, + { k1Winter3Shapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1Winter3ShapesAmigaProvider }, + { k1DrinkShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1DrinkShapesAmigaProvider }, + { k1WispShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1WispShapesAmigaProvider }, + { k1MagicAnimShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1MagicAnimShapesAmigaProvider }, + { k1BranStoneShapes, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1BranStoneShapesAmigaProvider }, + { k1WispJewelStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1WispJewelStringsAmigaEnglishProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1MagicJewelStringsAmigaEnglishProvider }, + { k1FlaskFullString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1FlaskFullStringAmigaEnglishProvider }, + { k1FullFlaskString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1FullFlaskStringAmigaEnglishProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1OutroReunionSeqAmigaProvider }, + { k1OutroHomeString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1OutroHomeStringAmigaEnglishProvider }, + { k1VeryCleverString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1VeryCleverStringAmigaEnglishProvider }, + { k1GUIStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1GUIStringsAmigaEnglishProvider }, + { k1NewGameString, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1NewGameStringAmigaEnglishProvider }, + { k1ConfigStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1ConfigStringsAmigaEnglishProvider }, + { k1CreditsStrings, kKyra1, kPlatformAmiga, kNoSpecial, EN_ANY, &k1CreditsStringsAmigaEnglishProvider }, + { k1AmigaIntroSFXTable, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1AmigaIntroSFXTableAmigaProvider }, + { k1AmigaGameSFXTable, kKyra1, kPlatformAmiga, kNoSpecial, UNK_LANG, &k1AmigaGameSFXTableAmigaProvider }, + { k1IntroStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1IntroStringsAmigaGermanProvider }, + { k1ItemNames, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1ItemNamesAmigaGermanProvider }, + { k1TakenStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1TakenStringsAmigaGermanProvider }, + { k1PlacedStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1PlacedStringsAmigaGermanProvider }, + { k1DroppedStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1DroppedStringsAmigaGermanProvider }, + { k1NoDropStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1NoDropStringsAmigaGermanProvider }, + { k1PutDownString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1PutDownStringAmigaGermanProvider }, + { k1WaitAmuletString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1WaitAmuletStringAmigaGermanProvider }, + { k1BlackJewelString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1BlackJewelStringAmigaGermanProvider }, + { k1HealingTipString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1HealingTipStringAmigaGermanProvider }, + { k1PoisonGoneString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1PoisonGoneStringAmigaGermanProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1ThePoisonStringsAmigaGermanProvider }, + { k1FluteStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1FluteStringsAmigaGermanProvider }, + { k1WispJewelStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1WispJewelStringsAmigaGermanProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1MagicJewelStringsAmigaGermanProvider }, + { k1FlaskFullString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1FlaskFullStringAmigaGermanProvider }, + { k1FullFlaskString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1FullFlaskStringAmigaGermanProvider }, + { k1OutroHomeString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1OutroHomeStringAmigaGermanProvider }, + { k1VeryCleverString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1VeryCleverStringAmigaGermanProvider }, + { k1GUIStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1GUIStringsAmigaGermanProvider }, + { k1NewGameString, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1NewGameStringAmigaGermanProvider }, + { k1ConfigStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1ConfigStringsAmigaGermanProvider }, + { k1CreditsStrings, kKyra1, kPlatformAmiga, kNoSpecial, DE_DEU, &k1CreditsStringsAmigaGermanProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1KallakWritingSeqDOSProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqDOSProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqDOSProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1KyrandiaLogoSeqDOSProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1KallakMalcolmSeqDOSProvider }, + { k1ForestSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1ForestSeqDOSProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1IntroCPSStringsDOSProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1IntroCOLStringsDOSProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1IntroWSAStringsDOSProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1IntroStringsDOSEnglishProvider }, + { k1RoomList, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1RoomListDOSProvider }, + { k1RoomFilenames, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1RoomFilenamesDOSProvider }, + { k1CharacterImageFilenames, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1CharacterImageFilenamesDOSProvider }, + { k1DefaultShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1DefaultShapesDOSProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1ItemNamesDOSEnglishProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1TakenStringsDOSEnglishProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1PlacedStringsDOSEnglishProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1DroppedStringsDOSEnglishProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1NoDropStringsDOSEnglishProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1AmuleteAnimSeqDOSProvider }, + { k1SpecialPalette1, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette1DOSProvider }, + { k1SpecialPalette2, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette2DOSProvider }, + { k1SpecialPalette3, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette3DOSProvider }, + { k1SpecialPalette4, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette4DOSProvider }, + { k1SpecialPalette5, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette5DOSProvider }, + { k1SpecialPalette6, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette6DOSProvider }, + { k1SpecialPalette7, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette7DOSProvider }, + { k1SpecialPalette8, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette8DOSProvider }, + { k1SpecialPalette9, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette9DOSProvider }, + { k1SpecialPalette10, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette10DOSProvider }, + { k1SpecialPalette11, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette11DOSProvider }, + { k1SpecialPalette12, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette12DOSProvider }, + { k1SpecialPalette13, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette13DOSProvider }, + { k1SpecialPalette14, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette14DOSProvider }, + { k1SpecialPalette15, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette15DOSProvider }, + { k1SpecialPalette16, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette16DOSProvider }, + { k1SpecialPalette17, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette17DOSProvider }, + { k1SpecialPalette18, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette18DOSProvider }, + { k1SpecialPalette19, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette19DOSProvider }, + { k1SpecialPalette20, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette20DOSProvider }, + { k1SpecialPalette21, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette21DOSProvider }, + { k1SpecialPalette22, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette22DOSProvider }, + { k1SpecialPalette23, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette23DOSProvider }, + { k1SpecialPalette24, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette24DOSProvider }, + { k1SpecialPalette25, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette25DOSProvider }, + { k1SpecialPalette26, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette26DOSProvider }, + { k1SpecialPalette27, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette27DOSProvider }, + { k1SpecialPalette28, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette28DOSProvider }, + { k1SpecialPalette29, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette29DOSProvider }, + { k1SpecialPalette30, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette30DOSProvider }, + { k1SpecialPalette31, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette31DOSProvider }, + { k1SpecialPalette32, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette32DOSProvider }, + { k1SpecialPalette33, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1SpecialPalette33DOSProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1PutDownStringDOSEnglishProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1WaitAmuletStringDOSEnglishProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1BlackJewelStringDOSEnglishProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1HealingTipStringDOSEnglishProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1PoisonGoneStringDOSEnglishProvider }, + { k1Healing1Shapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1Healing1ShapesDOSProvider }, + { k1Healing2Shapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1Healing2ShapesDOSProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1ThePoisonStringsDOSEnglishProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1FluteStringsDOSEnglishProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1PoisonDeathShapesDOSProvider }, + { k1FluteShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1FluteShapesDOSProvider }, + { k1Winter1Shapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1Winter1ShapesDOSProvider }, + { k1Winter2Shapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1Winter2ShapesDOSProvider }, + { k1Winter3Shapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1Winter3ShapesDOSProvider }, + { k1DrinkShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1DrinkShapesDOSProvider }, + { k1WispShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1WispShapesDOSProvider }, + { k1MagicAnimShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1MagicAnimShapesDOSProvider }, + { k1BranStoneShapes, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1BranStoneShapesDOSProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1WispJewelStringsDOSEnglishProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1MagicJewelStringsDOSEnglishProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1FlaskFullStringDOSEnglishProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1FullFlaskStringDOSEnglishProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1OutroReunionSeqDOSProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1OutroHomeStringDOSEnglishProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1VeryCleverStringDOSEnglishProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1GUIStringsDOSEnglishProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1NewGameStringDOSEnglishProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kNoSpecial, EN_ANY, &k1ConfigStringsDOSEnglishProvider }, + { k1AudioTracks, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1AudioTracksDOSProvider }, + { k1AudioTracks2, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1AudioTracks2DOSProvider }, + { k1AudioTracksIntro, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, &k1AudioTracksIntroDOSProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1IntroStringsDOSGermanProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1ItemNamesDOSGermanProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1TakenStringsDOSGermanProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1PlacedStringsDOSGermanProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1DroppedStringsDOSGermanProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1NoDropStringsDOSGermanProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1PutDownStringDOSGermanProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1WaitAmuletStringDOSGermanProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1BlackJewelStringDOSGermanProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1HealingTipStringDOSGermanProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1PoisonGoneStringDOSGermanProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1ThePoisonStringsDOSGermanProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1FluteStringsDOSGermanProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1WispJewelStringsDOSGermanProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1MagicJewelStringsDOSGermanProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1FlaskFullStringDOSGermanProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1FullFlaskStringDOSGermanProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1OutroHomeStringDOSGermanProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1VeryCleverStringDOSGermanProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1GUIStringsDOSGermanProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1NewGameStringDOSGermanProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kNoSpecial, DE_DEU, &k1ConfigStringsDOSGermanProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1IntroStringsDOSFrenchProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1ItemNamesDOSFrenchProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1TakenStringsDOSFrenchProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1PlacedStringsDOSFrenchProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1DroppedStringsDOSFrenchProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1NoDropStringsDOSFrenchProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1PutDownStringDOSFrenchProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1WaitAmuletStringDOSFrenchProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1BlackJewelStringDOSFrenchProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1HealingTipStringDOSFrenchProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1PoisonGoneStringDOSFrenchProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1ThePoisonStringsDOSFrenchProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1FluteStringsDOSFrenchProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1WispJewelStringsDOSFrenchProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1MagicJewelStringsDOSFrenchProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1FlaskFullStringDOSFrenchProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1FullFlaskStringDOSFrenchProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1OutroHomeStringDOSFrenchProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1VeryCleverStringDOSFrenchProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1GUIStringsDOSFrenchProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1NewGameStringDOSFrenchProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kNoSpecial, FR_FRA, &k1ConfigStringsDOSFrenchProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1IntroStringsDOSItalianProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1ItemNamesDOSItalianProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1TakenStringsDOSItalianProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1PlacedStringsDOSItalianProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1DroppedStringsDOSItalianProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1NoDropStringsDOSItalianProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1PutDownStringDOSItalianProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1WaitAmuletStringDOSItalianProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1BlackJewelStringDOSItalianProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1HealingTipStringDOSItalianProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1PoisonGoneStringDOSItalianProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1ThePoisonStringsDOSItalianProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1FluteStringsDOSItalianProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1WispJewelStringsDOSItalianProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1MagicJewelStringsDOSItalianProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1FlaskFullStringDOSItalianProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1FullFlaskStringDOSItalianProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1OutroHomeStringDOSItalianProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1VeryCleverStringDOSItalianProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1GUIStringsDOSItalianProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1NewGameStringDOSItalianProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kNoSpecial, IT_ITA, &k1ConfigStringsDOSItalianProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1IntroStringsDOSSpanishProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1ItemNamesDOSSpanishProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1TakenStringsDOSSpanishProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1PlacedStringsDOSSpanishProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1DroppedStringsDOSSpanishProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1NoDropStringsDOSSpanishProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1PutDownStringDOSSpanishProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1WaitAmuletStringDOSSpanishProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1BlackJewelStringDOSSpanishProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1HealingTipStringDOSSpanishProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1PoisonGoneStringDOSSpanishProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1ThePoisonStringsDOSSpanishProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1FluteStringsDOSSpanishProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1WispJewelStringsDOSSpanishProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1MagicJewelStringsDOSSpanishProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1FlaskFullStringDOSSpanishProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1FullFlaskStringDOSSpanishProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1OutroHomeStringDOSSpanishProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1VeryCleverStringDOSSpanishProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1GUIStringsDOSSpanishProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1NewGameStringDOSSpanishProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kNoSpecial, ES_ESP, &k1ConfigStringsDOSSpanishProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1KallakWritingSeqDOSOldFloppyProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1MalcolmTreeSeqDOSOldFloppyProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1WestwoodLogoSeqDOSOldFloppyProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1KyrandiaLogoSeqDOSOldFloppyProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1KallakMalcolmSeqDOSOldFloppyProvider }, + { k1ForestSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1ForestSeqDOSOldFloppyProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1IntroCPSStringsDOSOldFloppyProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1IntroCOLStringsDOSOldFloppyProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1IntroWSAStringsDOSOldFloppyProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1IntroStringsDOSOldFloppyRussianProvider }, + { k1RoomList, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1RoomListDOSOldFloppyProvider }, + { k1RoomFilenames, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1RoomFilenamesDOSOldFloppyProvider }, + { k1CharacterImageFilenames, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1CharacterImageFilenamesDOSOldFloppyProvider }, + { k1DefaultShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1DefaultShapesDOSOldFloppyProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1ItemNamesDOSOldFloppyRussianProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1TakenStringsDOSOldFloppyRussianProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1PlacedStringsDOSOldFloppyRussianProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1DroppedStringsDOSOldFloppyRussianProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1AmuleteAnimSeqDOSOldFloppyProvider }, + { k1SpecialPalette1, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette1DOSOldFloppyProvider }, + { k1SpecialPalette2, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette2DOSOldFloppyProvider }, + { k1SpecialPalette3, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette3DOSOldFloppyProvider }, + { k1SpecialPalette4, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette4DOSOldFloppyProvider }, + { k1SpecialPalette5, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette5DOSOldFloppyProvider }, + { k1SpecialPalette6, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette6DOSOldFloppyProvider }, + { k1SpecialPalette7, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette7DOSOldFloppyProvider }, + { k1SpecialPalette8, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette8DOSOldFloppyProvider }, + { k1SpecialPalette9, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette9DOSOldFloppyProvider }, + { k1SpecialPalette10, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette10DOSOldFloppyProvider }, + { k1SpecialPalette11, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette11DOSOldFloppyProvider }, + { k1SpecialPalette12, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette12DOSOldFloppyProvider }, + { k1SpecialPalette13, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette13DOSOldFloppyProvider }, + { k1SpecialPalette14, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette14DOSOldFloppyProvider }, + { k1SpecialPalette15, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette15DOSOldFloppyProvider }, + { k1SpecialPalette16, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette16DOSOldFloppyProvider }, + { k1SpecialPalette17, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette17DOSOldFloppyProvider }, + { k1SpecialPalette18, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette18DOSOldFloppyProvider }, + { k1SpecialPalette19, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette19DOSOldFloppyProvider }, + { k1SpecialPalette20, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette20DOSOldFloppyProvider }, + { k1SpecialPalette21, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette21DOSOldFloppyProvider }, + { k1SpecialPalette22, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette22DOSOldFloppyProvider }, + { k1SpecialPalette23, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette23DOSOldFloppyProvider }, + { k1SpecialPalette24, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette24DOSOldFloppyProvider }, + { k1SpecialPalette25, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette25DOSOldFloppyProvider }, + { k1SpecialPalette26, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette26DOSOldFloppyProvider }, + { k1SpecialPalette27, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette27DOSOldFloppyProvider }, + { k1SpecialPalette28, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette28DOSOldFloppyProvider }, + { k1SpecialPalette29, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette29DOSOldFloppyProvider }, + { k1SpecialPalette30, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette30DOSOldFloppyProvider }, + { k1SpecialPalette31, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette31DOSOldFloppyProvider }, + { k1SpecialPalette32, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1SpecialPalette32DOSOldFloppyProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1PutDownStringDOSOldFloppyRussianProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1WaitAmuletStringDOSOldFloppyRussianProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1BlackJewelStringDOSOldFloppyRussianProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1HealingTipStringDOSOldFloppyRussianProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1PoisonGoneStringDOSOldFloppyRussianProvider }, + { k1Healing1Shapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1Healing1ShapesDOSOldFloppyProvider }, + { k1Healing2Shapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1Healing2ShapesDOSOldFloppyProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1ThePoisonStringsDOSOldFloppyRussianProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1FluteStringsDOSOldFloppyRussianProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1PoisonDeathShapesDOSOldFloppyProvider }, + { k1FluteShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1FluteShapesDOSOldFloppyProvider }, + { k1Winter1Shapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1Winter1ShapesDOSOldFloppyProvider }, + { k1Winter2Shapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1Winter2ShapesDOSOldFloppyProvider }, + { k1Winter3Shapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1Winter3ShapesDOSOldFloppyProvider }, + { k1DrinkShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1DrinkShapesDOSOldFloppyProvider }, + { k1WispShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1WispShapesDOSOldFloppyProvider }, + { k1MagicAnimShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1MagicAnimShapesDOSOldFloppyProvider }, + { k1BranStoneShapes, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1BranStoneShapesDOSOldFloppyProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1WispJewelStringsDOSOldFloppyRussianProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1MagicJewelStringsDOSOldFloppyRussianProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1FlaskFullStringDOSOldFloppyRussianProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1FullFlaskStringDOSOldFloppyRussianProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1OutroReunionSeqDOSOldFloppyProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1OutroHomeStringDOSOldFloppyRussianProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1VeryCleverStringDOSOldFloppyRussianProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1GUIStringsDOSOldFloppyRussianProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1NewGameStringDOSOldFloppyRussianProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kOldFloppy, RU_RUS, &k1ConfigStringsDOSOldFloppyRussianProvider }, + { k1AudioTracks, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1AudioTracksDOSOldFloppyProvider }, + { k1AudioTracks2, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1AudioTracks2DOSOldFloppyProvider }, + { k1AudioTracksIntro, kKyra1, kPlatformDOS, kOldFloppy, UNK_LANG, &k1AudioTracksIntroDOSOldFloppyProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1KallakWritingSeqDOSCDProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1MalcolmTreeSeqDOSCDProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1WestwoodLogoSeqDOSCDProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1KyrandiaLogoSeqDOSCDProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1KallakMalcolmSeqDOSCDProvider }, + { k1ForestSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1ForestSeqDOSCDProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1IntroCPSStringsDOSCDProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1IntroCOLStringsDOSCDProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1IntroWSAStringsDOSCDProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1IntroStringsDOSCDEnglishProvider }, + { k1RoomList, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1RoomListDOSCDProvider }, + { k1RoomFilenames, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1RoomFilenamesDOSCDProvider }, + { k1CharacterImageFilenames, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1CharacterImageFilenamesDOSCDProvider }, + { k1DefaultShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1DefaultShapesDOSCDProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1ItemNamesDOSCDEnglishProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1TakenStringsDOSCDEnglishProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1PlacedStringsDOSCDEnglishProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1DroppedStringsDOSCDEnglishProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1NoDropStringsDOSCDEnglishProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1AmuleteAnimSeqDOSCDProvider }, + { k1SpecialPalette1, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette1DOSCDProvider }, + { k1SpecialPalette2, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette2DOSCDProvider }, + { k1SpecialPalette3, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette3DOSCDProvider }, + { k1SpecialPalette4, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette4DOSCDProvider }, + { k1SpecialPalette5, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette5DOSCDProvider }, + { k1SpecialPalette6, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette6DOSCDProvider }, + { k1SpecialPalette7, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette7DOSCDProvider }, + { k1SpecialPalette8, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette8DOSCDProvider }, + { k1SpecialPalette9, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette9DOSCDProvider }, + { k1SpecialPalette10, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette10DOSCDProvider }, + { k1SpecialPalette11, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette11DOSCDProvider }, + { k1SpecialPalette12, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette12DOSCDProvider }, + { k1SpecialPalette13, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette13DOSCDProvider }, + { k1SpecialPalette14, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette14DOSCDProvider }, + { k1SpecialPalette15, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette15DOSCDProvider }, + { k1SpecialPalette16, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette16DOSCDProvider }, + { k1SpecialPalette17, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette17DOSCDProvider }, + { k1SpecialPalette18, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette18DOSCDProvider }, + { k1SpecialPalette19, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette19DOSCDProvider }, + { k1SpecialPalette20, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette20DOSCDProvider }, + { k1SpecialPalette21, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette21DOSCDProvider }, + { k1SpecialPalette22, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette22DOSCDProvider }, + { k1SpecialPalette23, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette23DOSCDProvider }, + { k1SpecialPalette24, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette24DOSCDProvider }, + { k1SpecialPalette25, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette25DOSCDProvider }, + { k1SpecialPalette26, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette26DOSCDProvider }, + { k1SpecialPalette27, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette27DOSCDProvider }, + { k1SpecialPalette28, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette28DOSCDProvider }, + { k1SpecialPalette29, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette29DOSCDProvider }, + { k1SpecialPalette30, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette30DOSCDProvider }, + { k1SpecialPalette31, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette31DOSCDProvider }, + { k1SpecialPalette32, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette32DOSCDProvider }, + { k1SpecialPalette33, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1SpecialPalette33DOSCDProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1PutDownStringDOSCDEnglishProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1WaitAmuletStringDOSCDEnglishProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1BlackJewelStringDOSCDEnglishProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1HealingTipStringDOSCDEnglishProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1PoisonGoneStringDOSCDEnglishProvider }, + { k1Healing1Shapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1Healing1ShapesDOSCDProvider }, + { k1Healing2Shapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1Healing2ShapesDOSCDProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1ThePoisonStringsDOSCDEnglishProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1FluteStringsDOSCDEnglishProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1PoisonDeathShapesDOSCDProvider }, + { k1FluteShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1FluteShapesDOSCDProvider }, + { k1Winter1Shapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1Winter1ShapesDOSCDProvider }, + { k1Winter2Shapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1Winter2ShapesDOSCDProvider }, + { k1Winter3Shapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1Winter3ShapesDOSCDProvider }, + { k1DrinkShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1DrinkShapesDOSCDProvider }, + { k1WispShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1WispShapesDOSCDProvider }, + { k1MagicAnimShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1MagicAnimShapesDOSCDProvider }, + { k1BranStoneShapes, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1BranStoneShapesDOSCDProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1WispJewelStringsDOSCDEnglishProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1MagicJewelStringsDOSCDEnglishProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1FlaskFullStringDOSCDEnglishProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1FullFlaskStringDOSCDEnglishProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1OutroReunionSeqDOSCDProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1OutroHomeStringDOSCDEnglishProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1VeryCleverStringDOSCDEnglishProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1GUIStringsDOSCDEnglishProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1NewGameStringDOSCDEnglishProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, EN_ANY, &k1ConfigStringsDOSCDEnglishProvider }, + { k1AudioTracks, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1AudioTracksDOSCDProvider }, + { k1AudioTracks2, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1AudioTracks2DOSCDProvider }, + { k1AudioTracksIntro, kKyra1, kPlatformDOS, kTalkieVersion, UNK_LANG, &k1AudioTracksIntroDOSCDProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1IntroStringsDOSCDGermanProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1ItemNamesDOSCDGermanProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1TakenStringsDOSCDGermanProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1PlacedStringsDOSCDGermanProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1DroppedStringsDOSCDGermanProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1NoDropStringsDOSCDGermanProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1PutDownStringDOSCDGermanProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1WaitAmuletStringDOSCDGermanProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1BlackJewelStringDOSCDGermanProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1HealingTipStringDOSCDGermanProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1PoisonGoneStringDOSCDGermanProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1ThePoisonStringsDOSCDGermanProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1FluteStringsDOSCDGermanProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1WispJewelStringsDOSCDGermanProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1MagicJewelStringsDOSCDGermanProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1FlaskFullStringDOSCDGermanProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1FullFlaskStringDOSCDGermanProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1OutroHomeStringDOSCDGermanProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1VeryCleverStringDOSCDGermanProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1GUIStringsDOSCDGermanProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1NewGameStringDOSCDGermanProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, DE_DEU, &k1ConfigStringsDOSCDGermanProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1IntroStringsDOSCDFrenchProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1ItemNamesDOSCDFrenchProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1TakenStringsDOSCDFrenchProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1PlacedStringsDOSCDFrenchProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1DroppedStringsDOSCDFrenchProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1NoDropStringsDOSCDFrenchProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1PutDownStringDOSCDFrenchProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1WaitAmuletStringDOSCDFrenchProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1BlackJewelStringDOSCDFrenchProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1HealingTipStringDOSCDFrenchProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1PoisonGoneStringDOSCDFrenchProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1ThePoisonStringsDOSCDFrenchProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1FluteStringsDOSCDFrenchProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1WispJewelStringsDOSCDFrenchProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1MagicJewelStringsDOSCDFrenchProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1FlaskFullStringDOSCDFrenchProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1FullFlaskStringDOSCDFrenchProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1OutroHomeStringDOSCDFrenchProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1VeryCleverStringDOSCDFrenchProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1GUIStringsDOSCDFrenchProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1NewGameStringDOSCDFrenchProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, FR_FRA, &k1ConfigStringsDOSCDFrenchProvider }, + { k1IntroStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1IntroStringsDOSCDItalianProvider }, + { k1ItemNames, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1ItemNamesDOSCDItalianProvider }, + { k1TakenStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1TakenStringsDOSCDItalianProvider }, + { k1PlacedStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1PlacedStringsDOSCDItalianProvider }, + { k1DroppedStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1DroppedStringsDOSCDItalianProvider }, + { k1NoDropStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1NoDropStringsDOSCDItalianProvider }, + { k1PutDownString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1PutDownStringDOSCDItalianProvider }, + { k1WaitAmuletString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1WaitAmuletStringDOSCDItalianProvider }, + { k1BlackJewelString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1BlackJewelStringDOSCDItalianProvider }, + { k1HealingTipString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1HealingTipStringDOSCDItalianProvider }, + { k1PoisonGoneString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1PoisonGoneStringDOSCDItalianProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1ThePoisonStringsDOSCDItalianProvider }, + { k1FluteStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1FluteStringsDOSCDItalianProvider }, + { k1WispJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1WispJewelStringsDOSCDItalianProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1MagicJewelStringsDOSCDItalianProvider }, + { k1FlaskFullString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1FlaskFullStringDOSCDItalianProvider }, + { k1FullFlaskString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1FullFlaskStringDOSCDItalianProvider }, + { k1OutroHomeString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1OutroHomeStringDOSCDItalianProvider }, + { k1VeryCleverString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1VeryCleverStringDOSCDItalianProvider }, + { k1GUIStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1GUIStringsDOSCDItalianProvider }, + { k1NewGameString, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1NewGameStringDOSCDItalianProvider }, + { k1ConfigStrings, kKyra1, kPlatformDOS, kTalkieVersion, IT_ITA, &k1ConfigStringsDOSCDItalianProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KallakWritingSeqFMTownsProvider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqFMTownsProvider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqFMTownsProvider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KyrandiaLogoSeqFMTownsProvider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1KallakMalcolmSeqFMTownsProvider }, + { k1ForestSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1ForestSeqFMTownsProvider }, + { k1IntroCPSStrings, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1IntroCPSStringsFMTownsProvider }, + { k1IntroCOLStrings, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1IntroCOLStringsFMTownsProvider }, + { k1IntroWSAStrings, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1IntroWSAStringsFMTownsProvider }, + { k1IntroStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1IntroStringsFMTownsEnglishProvider }, + { k1RoomList, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1RoomListFMTownsProvider }, + { k1RoomFilenames, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1RoomFilenamesFMTownsProvider }, + { k1CharacterImageFilenames, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1CharacterImageFilenamesFMTownsProvider }, + { k1DefaultShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1DefaultShapesFMTownsProvider }, + { k1ItemNames, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1ItemNamesFMTownsEnglishProvider }, + { k1TakenStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1TakenStringsFMTownsEnglishProvider }, + { k1PlacedStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1PlacedStringsFMTownsEnglishProvider }, + { k1DroppedStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1DroppedStringsFMTownsEnglishProvider }, + { k1NoDropStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1NoDropStringsFMTownsEnglishProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1AmuleteAnimSeqFMTownsProvider }, + { k1SpecialPalette1, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette1FMTownsProvider }, + { k1SpecialPalette2, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette2FMTownsProvider }, + { k1SpecialPalette3, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette3FMTownsProvider }, + { k1SpecialPalette4, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette4FMTownsProvider }, + { k1SpecialPalette5, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette5FMTownsProvider }, + { k1SpecialPalette6, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette6FMTownsProvider }, + { k1SpecialPalette7, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette7FMTownsProvider }, + { k1SpecialPalette8, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette8FMTownsProvider }, + { k1SpecialPalette9, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette9FMTownsProvider }, + { k1SpecialPalette10, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette10FMTownsProvider }, + { k1SpecialPalette11, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette11FMTownsProvider }, + { k1SpecialPalette12, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette12FMTownsProvider }, + { k1SpecialPalette13, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette13FMTownsProvider }, + { k1SpecialPalette14, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette14FMTownsProvider }, + { k1SpecialPalette15, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette15FMTownsProvider }, + { k1SpecialPalette16, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette16FMTownsProvider }, + { k1SpecialPalette17, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette17FMTownsProvider }, + { k1SpecialPalette18, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette18FMTownsProvider }, + { k1SpecialPalette19, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette19FMTownsProvider }, + { k1SpecialPalette20, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette20FMTownsProvider }, + { k1SpecialPalette21, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette21FMTownsProvider }, + { k1SpecialPalette22, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette22FMTownsProvider }, + { k1SpecialPalette23, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette23FMTownsProvider }, + { k1SpecialPalette24, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette24FMTownsProvider }, + { k1SpecialPalette25, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette25FMTownsProvider }, + { k1SpecialPalette26, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette26FMTownsProvider }, + { k1SpecialPalette27, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette27FMTownsProvider }, + { k1SpecialPalette28, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette28FMTownsProvider }, + { k1SpecialPalette29, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette29FMTownsProvider }, + { k1SpecialPalette30, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette30FMTownsProvider }, + { k1SpecialPalette31, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette31FMTownsProvider }, + { k1SpecialPalette32, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette32FMTownsProvider }, + { k1SpecialPalette33, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1SpecialPalette33FMTownsProvider }, + { k1PutDownString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1PutDownStringFMTownsEnglishProvider }, + { k1WaitAmuletString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1WaitAmuletStringFMTownsEnglishProvider }, + { k1BlackJewelString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1BlackJewelStringFMTownsEnglishProvider }, + { k1HealingTipString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1HealingTipStringFMTownsEnglishProvider }, + { k1PoisonGoneString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1PoisonGoneStringFMTownsEnglishProvider }, + { k1Healing1Shapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1Healing1ShapesFMTownsProvider }, + { k1Healing2Shapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1Healing2ShapesFMTownsProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1ThePoisonStringsFMTownsEnglishProvider }, + { k1FluteStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1FluteStringsFMTownsEnglishProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1PoisonDeathShapesFMTownsProvider }, + { k1FluteShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1FluteShapesFMTownsProvider }, + { k1Winter1Shapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1Winter1ShapesFMTownsProvider }, + { k1Winter2Shapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1Winter2ShapesFMTownsProvider }, + { k1Winter3Shapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1Winter3ShapesFMTownsProvider }, + { k1DrinkShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1DrinkShapesFMTownsProvider }, + { k1WispShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1WispShapesFMTownsProvider }, + { k1MagicAnimShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1MagicAnimShapesFMTownsProvider }, + { k1BranStoneShapes, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1BranStoneShapesFMTownsProvider }, + { k1WispJewelStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1WispJewelStringsFMTownsEnglishProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1MagicJewelStringsFMTownsEnglishProvider }, + { k1FlaskFullString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1FlaskFullStringFMTownsEnglishProvider }, + { k1FullFlaskString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1FullFlaskStringFMTownsEnglishProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1OutroReunionSeqFMTownsProvider }, + { k1OutroHomeString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1OutroHomeStringFMTownsEnglishProvider }, + { k1VeryCleverString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1VeryCleverStringFMTownsEnglishProvider }, + { k1GUIStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1GUIStringsFMTownsEnglishProvider }, + { k1NewGameString, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1NewGameStringFMTownsEnglishProvider }, + { k1ConfigStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1ConfigStringsFMTownsEnglishProvider }, + { k1TownsMusicFadeTable, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1TownsMusicFadeTableFMTownsProvider }, + { k1TownsSFXwdTable, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1TownsSFXwdTableFMTownsProvider }, + { k1TownsSFXbtTable, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1TownsSFXbtTableFMTownsProvider }, + { k1TownsCDATable, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1TownsCDATableFMTownsProvider }, + { k1AudioTracks, kKyra1, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k1AudioTracksFMTownsProvider }, + { k1CreditsStrings, kKyra1, kPlatformFMTowns, kNoSpecial, EN_ANY, &k1CreditsStringsFMTownsEnglishProvider }, + { k1IntroStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1IntroStringsFMTownsJapaneseProvider }, + { k1ItemNames, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1ItemNamesFMTownsJapaneseProvider }, + { k1TakenStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1TakenStringsFMTownsJapaneseProvider }, + { k1PlacedStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1PlacedStringsFMTownsJapaneseProvider }, + { k1DroppedStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1DroppedStringsFMTownsJapaneseProvider }, + { k1NoDropStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1NoDropStringsFMTownsJapaneseProvider }, + { k1PutDownString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1PutDownStringFMTownsJapaneseProvider }, + { k1WaitAmuletString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1WaitAmuletStringFMTownsJapaneseProvider }, + { k1BlackJewelString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1BlackJewelStringFMTownsJapaneseProvider }, + { k1HealingTipString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1HealingTipStringFMTownsJapaneseProvider }, + { k1PoisonGoneString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1PoisonGoneStringFMTownsJapaneseProvider }, + { k1ThePoisonStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1ThePoisonStringsFMTownsJapaneseProvider }, + { k1FluteStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1FluteStringsFMTownsJapaneseProvider }, + { k1WispJewelStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1WispJewelStringsFMTownsJapaneseProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1MagicJewelStringsFMTownsJapaneseProvider }, + { k1FlaskFullString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1FlaskFullStringFMTownsJapaneseProvider }, + { k1FullFlaskString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1FullFlaskStringFMTownsJapaneseProvider }, + { k1OutroHomeString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1OutroHomeStringFMTownsJapaneseProvider }, + { k1VeryCleverString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1VeryCleverStringFMTownsJapaneseProvider }, + { k1GUIStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1GUIStringsFMTownsJapaneseProvider }, + { k1NewGameString, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1NewGameStringFMTownsJapaneseProvider }, + { k1ConfigStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1ConfigStringsFMTownsJapaneseProvider }, + { k1CreditsStrings, kKyra1, kPlatformFMTowns, kNoSpecial, JA_JPN, &k1CreditsStringsFMTownsJapaneseProvider }, + { k1KallakWritingSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1KallakWritingSeqPC98Provider }, + { k1MalcolmTreeSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1MalcolmTreeSeqPC98Provider }, + { k1WestwoodLogoSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1WestwoodLogoSeqPC98Provider }, + { k1KyrandiaLogoSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1KyrandiaLogoSeqPC98Provider }, + { k1KallakMalcolmSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1KallakMalcolmSeqPC98Provider }, + { k1ForestSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1ForestSeqPC98Provider }, + { k1IntroCPSStrings, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1IntroCPSStringsPC98Provider }, + { k1IntroCOLStrings, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1IntroCOLStringsPC98Provider }, + { k1IntroWSAStrings, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1IntroWSAStringsPC98Provider }, + { k1IntroStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1IntroStringsPC98JapaneseProvider }, + { k1RoomList, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1RoomListPC98Provider }, + { k1RoomFilenames, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1RoomFilenamesPC98Provider }, + { k1CharacterImageFilenames, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1CharacterImageFilenamesPC98Provider }, + { k1DefaultShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1DefaultShapesPC98Provider }, + { k1ItemNames, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1ItemNamesPC98JapaneseProvider }, + { k1TakenStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1TakenStringsPC98JapaneseProvider }, + { k1PlacedStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1PlacedStringsPC98JapaneseProvider }, + { k1DroppedStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1DroppedStringsPC98JapaneseProvider }, + { k1NoDropStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1NoDropStringsPC98JapaneseProvider }, + { k1AmuleteAnimSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1AmuleteAnimSeqPC98Provider }, + { k1SpecialPalette1, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette1PC98Provider }, + { k1SpecialPalette2, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette2PC98Provider }, + { k1SpecialPalette3, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette3PC98Provider }, + { k1SpecialPalette4, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette4PC98Provider }, + { k1SpecialPalette5, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette5PC98Provider }, + { k1SpecialPalette6, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette6PC98Provider }, + { k1SpecialPalette7, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette7PC98Provider }, + { k1SpecialPalette8, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette8PC98Provider }, + { k1SpecialPalette9, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette9PC98Provider }, + { k1SpecialPalette10, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette10PC98Provider }, + { k1SpecialPalette11, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette11PC98Provider }, + { k1SpecialPalette12, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette12PC98Provider }, + { k1SpecialPalette13, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette13PC98Provider }, + { k1SpecialPalette14, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette14PC98Provider }, + { k1SpecialPalette15, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette15PC98Provider }, + { k1SpecialPalette16, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette16PC98Provider }, + { k1SpecialPalette17, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette17PC98Provider }, + { k1SpecialPalette18, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette18PC98Provider }, + { k1SpecialPalette19, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette19PC98Provider }, + { k1SpecialPalette20, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette20PC98Provider }, + { k1SpecialPalette21, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette21PC98Provider }, + { k1SpecialPalette22, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette22PC98Provider }, + { k1SpecialPalette23, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette23PC98Provider }, + { k1SpecialPalette24, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette24PC98Provider }, + { k1SpecialPalette25, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette25PC98Provider }, + { k1SpecialPalette26, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette26PC98Provider }, + { k1SpecialPalette27, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette27PC98Provider }, + { k1SpecialPalette28, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette28PC98Provider }, + { k1SpecialPalette29, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette29PC98Provider }, + { k1SpecialPalette30, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette30PC98Provider }, + { k1SpecialPalette31, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette31PC98Provider }, + { k1SpecialPalette32, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette32PC98Provider }, + { k1SpecialPalette33, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1SpecialPalette33PC98Provider }, + { k1PutDownString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1PutDownStringPC98JapaneseProvider }, + { k1WaitAmuletString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1WaitAmuletStringPC98JapaneseProvider }, + { k1BlackJewelString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1BlackJewelStringPC98JapaneseProvider }, + { k1HealingTipString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1HealingTipStringPC98JapaneseProvider }, + { k1PoisonGoneString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1PoisonGoneStringPC98JapaneseProvider }, + { k1Healing1Shapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1Healing1ShapesPC98Provider }, + { k1Healing2Shapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1Healing2ShapesPC98Provider }, + { k1ThePoisonStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1ThePoisonStringsPC98JapaneseProvider }, + { k1FluteStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1FluteStringsPC98JapaneseProvider }, + { k1PoisonDeathShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1PoisonDeathShapesPC98Provider }, + { k1FluteShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1FluteShapesPC98Provider }, + { k1Winter1Shapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1Winter1ShapesPC98Provider }, + { k1Winter2Shapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1Winter2ShapesPC98Provider }, + { k1Winter3Shapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1Winter3ShapesPC98Provider }, + { k1DrinkShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1DrinkShapesPC98Provider }, + { k1WispShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1WispShapesPC98Provider }, + { k1MagicAnimShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1MagicAnimShapesPC98Provider }, + { k1BranStoneShapes, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1BranStoneShapesPC98Provider }, + { k1WispJewelStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1WispJewelStringsPC98JapaneseProvider }, + { k1MagicJewelStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1MagicJewelStringsPC98JapaneseProvider }, + { k1FlaskFullString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1FlaskFullStringPC98JapaneseProvider }, + { k1FullFlaskString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1FullFlaskStringPC98JapaneseProvider }, + { k1OutroReunionSeq, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1OutroReunionSeqPC98Provider }, + { k1OutroHomeString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1OutroHomeStringPC98JapaneseProvider }, + { k1VeryCleverString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1VeryCleverStringPC98JapaneseProvider }, + { k1GUIStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1GUIStringsPC98JapaneseProvider }, + { k1NewGameString, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1NewGameStringPC98JapaneseProvider }, + { k1ConfigStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1ConfigStringsPC98JapaneseProvider }, + { k1PC98StoryStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1PC98StoryStringsPC98JapaneseProvider }, + { k1PC98IntroSfx, kKyra1, kPlatformPC98, kNoSpecial, UNK_LANG, &k1PC98IntroSfxPC98Provider }, + { k1CreditsStrings, kKyra1, kPlatformPC98, kNoSpecial, JA_JPN, &k1CreditsStringsPC98JapaneseProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformDOS, kDemoVersion, UNK_LANG, &k2SeqplayPakFilesDOSDemoProvider }, + { k2SeqplaySeqData, kKyra2, kPlatformDOS, kDemoVersion, UNK_LANG, &k2SeqplaySeqDataDOSDemoProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformDOS, kDemoVersion, UNK_LANG, &k2SeqplaySfxFilesDOSDemoProvider }, + { k2SeqplayIntroTracks, kKyra2, kPlatformDOS, kDemoVersion, UNK_LANG, &k2SeqplayIntroTracksDOSDemoProvider }, + { k2SeqplayShapeAnimData, kKyra2, kPlatformDOS, kDemoVersion, UNK_LANG, &k2SeqplayShapeAnimDataDOSDemoProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplayPakFilesDOSCDDemoProvider }, + { k2SeqplayCredits, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplayCreditsDOSCDDemoProvider }, + { k2SeqplayCreditsSpecial, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplayCreditsSpecialDOSCDDemoProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, EN_ANY, &k2SeqplayStringsDOSCDDemoEnglishProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplaySfxFilesDOSCDDemoProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, EN_ANY, &k2SeqplayTlkFilesDOSCDDemoEnglishProvider }, + { k2SeqplaySeqData, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplaySeqDataDOSCDDemoProvider }, + { k2SeqplayIntroTracks, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplayIntroTracksDOSCDDemoProvider }, + { k2SeqplayFinaleTracks, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2SeqplayFinaleTracksDOSCDDemoProvider }, + { k2IngameSfxFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2IngameSfxFilesDOSCDDemoProvider }, + { k2IngameSfxIndex, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2IngameSfxIndexDOSCDDemoProvider }, + { k2IngameTracks, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2IngameTracksDOSCDDemoProvider }, + { k2IngameTalkObjIndex, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2IngameTalkObjIndexDOSCDDemoProvider }, + { k2IngameShapeAnimData, kKyra2, kPlatformDOS, kTalkieDemoVersion, UNK_LANG, &k2IngameShapeAnimDataDOSCDDemoProvider }, + { k2IngameTlkDemoStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, EN_ANY, &k2IngameTlkDemoStringsDOSCDDemoEnglishProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, FR_FRA, &k2SeqplayStringsDOSCDDemoFrenchProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, FR_FRA, &k2SeqplayTlkFilesDOSCDDemoFrenchProvider }, + { k2IngameTlkDemoStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, FR_FRA, &k2IngameTlkDemoStringsDOSCDDemoFrenchProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, DE_DEU, &k2SeqplayStringsDOSCDDemoGermanProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieDemoVersion, DE_DEU, &k2SeqplayTlkFilesDOSCDDemoGermanProvider }, + { k2IngameTlkDemoStrings, kKyra2, kPlatformDOS, kTalkieDemoVersion, DE_DEU, &k2IngameTlkDemoStringsDOSCDDemoGermanProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2SeqplayPakFilesDOSProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kNoSpecial, EN_ANY, &k2SeqplayStringsDOSEnglishProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2SeqplaySfxFilesDOSProvider }, + { k2SeqplayIntroTracks, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2SeqplayIntroTracksDOSProvider }, + { k2SeqplayFinaleTracks, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2SeqplayFinaleTracksDOSProvider }, + { k2SeqplaySeqData, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2SeqplaySeqDataDOSProvider }, + { k2IngamePakFiles, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngamePakFilesDOSProvider }, + { k2IngameSfxFiles, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngameSfxFilesDOSProvider }, + { k2IngameSfxIndex, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngameSfxIndexDOSProvider }, + { k2IngameTracks, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngameTracksDOSProvider }, + { k2IngameTalkObjIndex, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngameTalkObjIndexDOSProvider }, + { k2IngameShapeAnimData, kKyra2, kPlatformDOS, kNoSpecial, UNK_LANG, &k2IngameShapeAnimDataDOSProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kNoSpecial, FR_FRA, &k2SeqplayStringsDOSFrenchProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kNoSpecial, DE_DEU, &k2SeqplayStringsDOSGermanProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kNoSpecial, IT_ITA, &k2SeqplayStringsDOSItalianProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kNoSpecial, RU_RUS, &k2SeqplayStringsDOSRussianProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplayPakFilesDOSCDProvider }, + { k2SeqplayCredits, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplayCreditsDOSCDProvider }, + { k2SeqplayCreditsSpecial, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplayCreditsSpecialDOSCDProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, EN_ANY, &k2SeqplayStringsDOSCDEnglishProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplaySfxFilesDOSCDProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, EN_ANY, &k2SeqplayTlkFilesDOSCDEnglishProvider }, + { k2SeqplaySeqData, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplaySeqDataDOSCDProvider }, + { k2SeqplayIntroTracks, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplayIntroTracksDOSCDProvider }, + { k2SeqplayFinaleTracks, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2SeqplayFinaleTracksDOSCDProvider }, + { k2IngameSfxFiles, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2IngameSfxFilesDOSCDProvider }, + { k2IngameSfxIndex, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2IngameSfxIndexDOSCDProvider }, + { k2IngameTracks, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2IngameTracksDOSCDProvider }, + { k2IngameTalkObjIndex, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2IngameTalkObjIndexDOSCDProvider }, + { k2IngameShapeAnimData, kKyra2, kPlatformDOS, kTalkieVersion, UNK_LANG, &k2IngameShapeAnimDataDOSCDProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, FR_FRA, &k2SeqplayStringsDOSCDFrenchProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, FR_FRA, &k2SeqplayTlkFilesDOSCDFrenchProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, DE_DEU, &k2SeqplayStringsDOSCDGermanProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, DE_DEU, &k2SeqplayTlkFilesDOSCDGermanProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, IT_ITA, &k2SeqplayStringsDOSCDItalianProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, IT_ITA, &k2SeqplayTlkFilesDOSCDItalianProvider }, + { k2SeqplayStrings, kKyra2, kPlatformDOS, kTalkieVersion, RU_RUS, &k2SeqplayStringsDOSCDRussianProvider }, + { k2SeqplayTlkFiles, kKyra2, kPlatformDOS, kTalkieVersion, RU_RUS, &k2SeqplayTlkFilesDOSCDRussianProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplayPakFilesFMTownsProvider }, + { k2SeqplayStrings, kKyra2, kPlatformFMTowns, kNoSpecial, EN_ANY, &k2SeqplayStringsFMTownsEnglishProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplaySfxFilesFMTownsProvider }, + { k2SeqplaySeqData, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplaySeqDataFMTownsProvider }, + { k2SeqplayIntroCDA, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplayIntroCDAFMTownsProvider }, + { k2SeqplayFinaleCDA, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2SeqplayFinaleCDAFMTownsProvider }, + { k2IngamePakFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngamePakFilesFMTownsProvider }, + { k2IngameSfxFiles, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameSfxFilesFMTownsProvider }, + { k2IngameSfxIndex, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameSfxIndexFMTownsProvider }, + { k2IngameCDA, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameCDAFMTownsProvider }, + { k2IngameTalkObjIndex, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameTalkObjIndexFMTownsProvider }, + { k2IngameTimJpStrings, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameTimJpStringsFMTownsProvider }, + { k2IngameShapeAnimData, kKyra2, kPlatformFMTowns, kNoSpecial, UNK_LANG, &k2IngameShapeAnimDataFMTownsProvider }, + { k2SeqplayStrings, kKyra2, kPlatformFMTowns, kNoSpecial, JA_JPN, &k2SeqplayStringsFMTownsJapaneseProvider }, + { k2SeqplayPakFiles, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2SeqplayPakFilesPC98Provider }, + { k2SeqplayStrings, kKyra2, kPlatformPC98, kNoSpecial, EN_ANY, &k2SeqplayStringsPC98EnglishProvider }, + { k2SeqplaySfxFiles, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2SeqplaySfxFilesPC98Provider }, + { k2SeqplaySeqData, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2SeqplaySeqDataPC98Provider }, + { k2IngamePakFiles, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngamePakFilesPC98Provider }, + { k2IngameSfxFiles, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngameSfxFilesPC98Provider }, + { k2IngameSfxIndex, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngameSfxIndexPC98Provider }, + { k2IngameTalkObjIndex, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngameTalkObjIndexPC98Provider }, + { k2IngameTimJpStrings, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngameTimJpStringsPC98Provider }, + { k2IngameShapeAnimData, kKyra2, kPlatformPC98, kNoSpecial, UNK_LANG, &k2IngameShapeAnimDataPC98Provider }, + { k2SeqplayStrings, kKyra2, kPlatformPC98, kNoSpecial, JA_JPN, &k2SeqplayStringsPC98JapaneseProvider }, + { k3MainMenuStrings, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3MainMenuStringsDOSCDProvider }, + { k3MusicFiles, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3MusicFilesDOSCDProvider }, + { k3ScoreTable, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3ScoreTableDOSCDProvider }, + { k3SfxFiles, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3SfxFilesDOSCDProvider }, + { k3SfxMap, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3SfxMapDOSCDProvider }, + { k3ItemAnimData, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3ItemAnimDataDOSCDProvider }, + { k3ItemMagicTable, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3ItemMagicTableDOSCDProvider }, + { k3ItemStringMap, kKyra3, kPlatformDOS, kTalkieVersion, UNK_LANG, &k3ItemStringMapDOSCDProvider }, + { kEoBBaseChargenStrings1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenStrings1DOSEnglishProvider }, + { kEoBBaseChargenStrings2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenStrings2DOSEnglishProvider }, + { kEoBBaseChargenStartLevels, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ChargenStartLevelsDOSProvider }, + { kEoBBaseChargenStatStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenStatStringsDOSEnglishProvider }, + { kEoBBaseChargenRaceSexStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenRaceSexStringsDOSEnglishProvider }, + { kEoBBaseChargenClassStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenClassStringsDOSEnglishProvider }, + { kEoBBaseChargenAlignmentStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenAlignmentStringsDOSEnglishProvider }, + { kEoBBaseChargenEnterGameStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ChargenEnterGameStringsDOSEnglishProvider }, + { kEoBBaseChargenClassMinStats, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ChargenClassMinStatsDOSProvider }, + { kEoBBaseChargenRaceMinStats, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMinStatsDOSProvider }, + { kEoBBaseChargenRaceMaxStats, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ChargenRaceMaxStatsDOSProvider }, + { kEoBBaseSaveThrowTable1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable1DOSProvider }, + { kEoBBaseSaveThrowTable2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable2DOSProvider }, + { kEoBBaseSaveThrowTable3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable3DOSProvider }, + { kEoBBaseSaveThrowTable4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrowTable4DOSProvider }, + { kEoBBaseSaveThrwLvlIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrwLvlIndexDOSProvider }, + { kEoBBaseSaveThrwModDiv, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModDivDOSProvider }, + { kEoBBaseSaveThrwModExt, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SaveThrwModExtDOSProvider }, + { kEoB1MainMenuStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MainMenuStringsDOSEnglishProvider }, + { kEoB1BonusStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1BonusStringsDOSEnglishProvider }, + { kEoB1IntroFilesOpening, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOpeningDOSProvider }, + { kEoB1IntroFilesTower, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTowerDOSProvider }, + { kEoB1IntroFilesOrb, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesOrbDOSProvider }, + { kEoB1IntroFilesWdEntry, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdEntryDOSProvider }, + { kEoB1IntroFilesKing, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesKingDOSProvider }, + { kEoB1IntroFilesHands, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesHandsDOSProvider }, + { kEoB1IntroFilesWdExit, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesWdExitDOSProvider }, + { kEoB1IntroFilesTunnel, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroFilesTunnelDOSProvider }, + { kEoB1IntroOpeningFrmDelay, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroOpeningFrmDelayDOSProvider }, + { kEoB1IntroWdEncodeX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeXDOSProvider }, + { kEoB1IntroWdEncodeY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeYDOSProvider }, + { kEoB1IntroWdEncodeWH, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroWdEncodeWHDOSProvider }, + { kEoB1IntroWdDsX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsXDOSProvider }, + { kEoB1IntroWdDsY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroWdDsYDOSProvider }, + { kEoB1IntroTvlX1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX1DOSProvider }, + { kEoB1IntroTvlY1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY1DOSProvider }, + { kEoB1IntroTvlX2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlX2DOSProvider }, + { kEoB1IntroTvlY2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlY2DOSProvider }, + { kEoB1IntroTvlW, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlWDOSProvider }, + { kEoB1IntroTvlH, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1IntroTvlHDOSProvider }, + { kEoB1DoorShapeDefs, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DoorShapeDefsDOSProvider }, + { kEoB1DoorSwitchShapeDefs, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchShapeDefsDOSProvider }, + { kEoB1DoorSwitchCoords, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DoorSwitchCoordsDOSProvider }, + { kEoB1MonsterProperties, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterPropertiesDOSProvider }, + { kEoB1EnemyMageSpellList, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSpellListDOSProvider }, + { kEoB1EnemyMageSfx, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1EnemyMageSfxDOSProvider }, + { kEoB1BeholderSpellList, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1BeholderSpellListDOSProvider }, + { kEoB1BeholderSfx, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1BeholderSfxDOSProvider }, + { kEoB1TurnUndeadString, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1TurnUndeadStringDOSEnglishProvider }, + { kEoB1CgaMappingDefault, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingDefaultDOSProvider }, + { kEoB1CgaMappingAlt, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingAltDOSProvider }, + { kEoB1CgaMappingInv, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingInvDOSProvider }, + { kEoB1CgaMappingItemsL, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingItemsLDOSProvider }, + { kEoB1CgaMappingItemsS, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingItemsSDOSProvider }, + { kEoB1CgaMappingThrown, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingThrownDOSProvider }, + { kEoB1CgaMappingIcons, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingIconsDOSProvider }, + { kEoB1CgaMappingDeco, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingDecoDOSProvider }, + { kEoB1CgaLevelMappingIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaLevelMappingIndexDOSProvider }, + { kEoB1CgaMappingLevel0, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingLevel0DOSProvider }, + { kEoB1CgaMappingLevel1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingLevel1DOSProvider }, + { kEoB1CgaMappingLevel2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingLevel2DOSProvider }, + { kEoB1CgaMappingLevel3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingLevel3DOSProvider }, + { kEoB1CgaMappingLevel4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1CgaMappingLevel4DOSProvider }, + { kEoB1NpcShpData, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcShpDataDOSProvider }, + { kEoB1NpcSubShpIndex1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex1DOSProvider }, + { kEoB1NpcSubShpIndex2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpIndex2DOSProvider }, + { kEoB1NpcSubShpY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcSubShpYDOSProvider }, + { kEoB1Npc0Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc0StringsDOSEnglishProvider }, + { kEoB1Npc11Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc11StringsDOSEnglishProvider }, + { kEoB1Npc12Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc12StringsDOSEnglishProvider }, + { kEoB1Npc21Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc21StringsDOSEnglishProvider }, + { kEoB1Npc22Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc22StringsDOSEnglishProvider }, + { kEoB1Npc31Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc31StringsDOSEnglishProvider }, + { kEoB1Npc32Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc32StringsDOSEnglishProvider }, + { kEoB1Npc4Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc4StringsDOSEnglishProvider }, + { kEoB1Npc5Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc5StringsDOSEnglishProvider }, + { kEoB1Npc6Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc6StringsDOSEnglishProvider }, + { kEoB1Npc7Strings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1Npc7StringsDOSEnglishProvider }, + { kEoBBasePryDoorStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PryDoorStringsDOSEnglishProvider }, + { kEoBBaseWarningStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1WarningStringsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsRings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsRingsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsPotions, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsPotionsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsWands, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ItemSuffixStringsWandsDOSEnglishProvider }, + { kEoBBaseRipItemStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1RipItemStringsDOSEnglishProvider }, + { kEoBBaseCursedString, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CursedStringDOSEnglishProvider }, + { kEoBBaseEnchantedString, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1EnchantedStringDOSProvider }, + { kEoBBaseMagicObjectStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicObjectStringsDOSEnglishProvider }, + { kEoBBaseMagicObjectString5, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicObjectString5DOSEnglishProvider }, + { kEoBBasePatternSuffix, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PatternSuffixDOSEnglishProvider }, + { kEoBBasePatternGrFix1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PatternGrFix1DOSEnglishProvider }, + { kEoBBasePatternGrFix2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PatternGrFix2DOSEnglishProvider }, + { kEoBBaseValidateArmorString, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ValidateArmorStringDOSEnglishProvider }, + { kEoBBaseValidateNoDropString, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ValidateNoDropStringDOSEnglishProvider }, + { kEoBBasePotionStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PotionStringsDOSEnglishProvider }, + { kEoBBaseWandStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1WandStringsDOSEnglishProvider }, + { kEoBBaseItemMisuseStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ItemMisuseStringsDOSEnglishProvider }, + { kEoBBaseTakenStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1TakenStringsDOSEnglishProvider }, + { kEoBBasePotionEffectStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1PotionEffectStringsDOSEnglishProvider }, + { kEoBBaseYesNoStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1YesNoStringsDOSEnglishProvider }, + { kRpgCommonMoreStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MoreStringsDOSEnglishProvider }, + { kEoBBaseNpcMaxStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1NpcMaxStringsDOSEnglishProvider }, + { kEoBBaseNpcJoinStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1NpcJoinStringsDOSEnglishProvider }, + { kEoBBaseCancelStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CancelStringsDOSEnglishProvider }, + { kEoBBaseMenuStringsMain, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsMainDOSEnglishProvider }, + { kEoBBaseMenuStringsSaveLoad, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsSaveLoadDOSEnglishProvider }, + { kEoBBaseMenuStringsOnOff, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsOnOffDOSEnglishProvider }, + { kEoBBaseMenuStringsSpells, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsSpellsDOSEnglishProvider }, + { kEoBBaseMenuStringsRest, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsRestDOSEnglishProvider }, + { kEoBBaseMenuStringsDrop, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsDropDOSEnglishProvider }, + { kEoBBaseMenuStringsExit, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsExitDOSEnglishProvider }, + { kEoBBaseMenuStringsStarve, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsStarveDOSEnglishProvider }, + { kEoBBaseMenuStringsScribe, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsScribeDOSEnglishProvider }, + { kEoBBaseMenuStringsDrop2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsDrop2DOSEnglishProvider }, + { kEoBBaseMenuStringsHead, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsHeadDOSEnglishProvider }, + { kEoBBaseMenuStringsPoison, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsPoisonDOSEnglishProvider }, + { kEoBBaseMenuStringsMgc, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsMgcDOSEnglishProvider }, + { kEoBBaseMenuStringsPrefs, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsPrefsDOSEnglishProvider }, + { kEoBBaseMenuStringsRest2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsRest2DOSEnglishProvider }, + { kEoBBaseMenuStringsRest4, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsRest4DOSEnglishProvider }, + { kEoBBaseMenuStringsDefeat, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuStringsDefeatDOSEnglishProvider }, + { kEoBBaseMenuYesNoStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MenuYesNoStringsDOSEnglishProvider }, + { kEoBBaseSpellLevelsMage, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsMageDOSProvider }, + { kEoBBaseSpellLevelsCleric, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SpellLevelsClericDOSProvider }, + { kEoBBaseNumSpellsCleric, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NumSpellsClericDOSProvider }, + { kEoBBaseNumSpellsWisAdj, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NumSpellsWisAdjDOSProvider }, + { kEoBBaseNumSpellsPal, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NumSpellsPalDOSProvider }, + { kEoBBaseNumSpellsMage, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NumSpellsMageDOSProvider }, + { kEoBBaseCharGuiStringsHp, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsHpDOSEnglishProvider }, + { kEoBBaseCharGuiStringsWp1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsWp1DOSEnglishProvider }, + { kEoBBaseCharGuiStringsWr, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsWrDOSEnglishProvider }, + { kEoBBaseCharGuiStringsSt1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsSt1DOSEnglishProvider }, + { kEoBBaseCharGuiStringsIn, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharGuiStringsInDOSEnglishProvider }, + { kEoBBaseCharStatusStrings7, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings7DOSEnglishProvider }, + { kEoBBaseCharStatusStrings81, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings81DOSEnglishProvider }, + { kEoBBaseCharStatusStrings9, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings9DOSEnglishProvider }, + { kEoBBaseCharStatusStrings131, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1CharStatusStrings131DOSEnglishProvider }, + { kEoBBaseLevelGainStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1LevelGainStringsDOSEnglishProvider }, + { kEoBBaseExperienceTable0, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable0DOSProvider }, + { kEoBBaseExperienceTable1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable1DOSProvider }, + { kEoBBaseExperienceTable2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable2DOSProvider }, + { kEoBBaseExperienceTable3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable3DOSProvider }, + { kEoBBaseExperienceTable4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExperienceTable4DOSProvider }, + { kEoBBaseBookNumbers, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1BookNumbersDOSEnglishProvider }, + { kEoBBaseMageSpellsList, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MageSpellsListDOSEnglishProvider }, + { kEoBBaseClericSpellsList, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ClericSpellsListDOSEnglishProvider }, + { kEoBBaseSpellNames, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1SpellNamesDOSEnglishProvider }, + { kEoBBaseMagicStrings1, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings1DOSEnglishProvider }, + { kEoBBaseMagicStrings2, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings2DOSEnglishProvider }, + { kEoBBaseMagicStrings3, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings3DOSEnglishProvider }, + { kEoBBaseMagicStrings4, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings4DOSEnglishProvider }, + { kEoBBaseMagicStrings6, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings6DOSEnglishProvider }, + { kEoBBaseMagicStrings7, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings7DOSEnglishProvider }, + { kEoBBaseMagicStrings8, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MagicStrings8DOSEnglishProvider }, + { kEoBBaseExpObjectTblIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTblIndexDOSProvider }, + { kEoBBaseExpObjectShpStart, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectShpStartDOSProvider }, + { kEoBBaseExpObjectTbl1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl1DOSProvider }, + { kEoBBaseExpObjectTbl2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl2DOSProvider }, + { kEoBBaseExpObjectTbl3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectTbl3DOSProvider }, + { kEoBBaseExpObjectY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ExpObjectYDOSProvider }, + { kEoBBaseSparkDefSteps, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefStepsDOSProvider }, + { kEoBBaseSparkDefSubSteps, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefSubStepsDOSProvider }, + { kEoBBaseSparkDefShift, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefShiftDOSProvider }, + { kEoBBaseSparkDefAdd, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefAddDOSProvider }, + { kEoBBaseSparkDefX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefXDOSProvider }, + { kEoBBaseSparkDefY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkDefYDOSProvider }, + { kEoBBaseSparkOfFlags1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags1DOSProvider }, + { kEoBBaseSparkOfFlags2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkOfFlags2DOSProvider }, + { kEoBBaseSparkOfShift, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkOfShiftDOSProvider }, + { kEoBBaseSparkOfX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkOfXDOSProvider }, + { kEoBBaseSparkOfY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SparkOfYDOSProvider }, + { kEoBBaseSpellProperties, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SpellPropertiesDOSProvider }, + { kEoBBaseMagicFlightProps, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MagicFlightPropsDOSProvider }, + { kEoBBaseTurnUndeadEffect, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1TurnUndeadEffectDOSProvider }, + { kEoBBaseBurningHandsDest, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1BurningHandsDestDOSProvider }, + { kEoBBaseConeOfColdDest1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest1DOSProvider }, + { kEoBBaseConeOfColdDest2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest2DOSProvider }, + { kEoBBaseConeOfColdDest3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest3DOSProvider }, + { kEoBBaseConeOfColdDest4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdDest4DOSProvider }, + { kEoBBaseConeOfColdGfxTbl, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ConeOfColdGfxTblDOSProvider }, + { kRpgCommonDscDoorShapeIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorShapeIndexDOSProvider }, + { kEoBBaseWllFlagPreset, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1WllFlagPresetDOSProvider }, + { kEoBBaseDscShapeCoords, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscShapeCoordsDOSProvider }, + { kEoBBaseDscDoorScaleOffs, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleOffsDOSProvider }, + { kEoBBaseDscDoorScaleMult1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult1DOSProvider }, + { kEoBBaseDscDoorScaleMult2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult2DOSProvider }, + { kEoBBaseDscDoorScaleMult3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult3DOSProvider }, + { kEoBBaseDscDoorScaleMult4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult4DOSProvider }, + { kEoBBaseDscDoorScaleMult5, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult5DOSProvider }, + { kEoBBaseDscDoorScaleMult6, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorScaleMult6DOSProvider }, + { kEoBBaseDscDoorXE, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorXEDOSProvider }, + { kEoBBaseDscDoorY1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY1DOSProvider }, + { kEoBBaseDscDoorY3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY3DOSProvider }, + { kEoBBaseDscDoorY4, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY4DOSProvider }, + { kEoBBaseDscDoorY5, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY5DOSProvider }, + { kEoBBaseDscDoorY6, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY6DOSProvider }, + { kEoBBaseDscDoorY7, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorY7DOSProvider }, + { kEoBBaseDscDoorCoordsExt, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorCoordsExtDOSProvider }, + { kRpgCommonDscDoorFrameY1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY1DOSProvider }, + { kRpgCommonDscDoorFrameY2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameY2DOSProvider }, + { kRpgCommonDscDoorFrameIndex1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex1DOSProvider }, + { kRpgCommonDscDoorFrameIndex2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDoorFrameIndex2DOSProvider }, + { kEoBBaseDscItemPosIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscItemPosIndexDOSProvider }, + { kEoBBaseDscItemShpX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscItemShpXDOSProvider }, + { kEoBBaseDscItemScaleIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscItemScaleIndexDOSProvider }, + { kEoBBaseDscItemTileIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscItemTileIndexDOSProvider }, + { kEoBBaseDscItemShapeMap, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscItemShapeMapDOSProvider }, + { kEoBBaseDscTelptrShpCoords, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscTelptrShpCoordsDOSProvider }, + { kEoBBasePortalSeqData, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1PortalSeqDataDOSProvider }, + { kEoBBaseManDef, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ManDefDOSEnglishProvider }, + { kEoBBaseManWord, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ManWordDOSEnglishProvider }, + { kEoBBaseManPrompt, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1ManPromptDOSEnglishProvider }, + { kEoBBaseDscMonsterFrmOffsTbl1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl1DOSProvider }, + { kEoBBaseDscMonsterFrmOffsTbl2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscMonsterFrmOffsTbl2DOSProvider }, + { kEoBBaseInvSlotX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1InvSlotXDOSProvider }, + { kEoBBaseInvSlotY, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1InvSlotYDOSProvider }, + { kEoBBaseSlotValidationFlags, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1SlotValidationFlagsDOSProvider }, + { kEoBBaseProjectileWeaponTypes, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ProjectileWeaponTypesDOSProvider }, + { kEoBBaseWandTypes, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1WandTypesDOSProvider }, + { kEoBBaseDrawObjPosIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DrawObjPosIndexDOSProvider }, + { kEoBBaseFlightObjFlipIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1FlightObjFlipIndexDOSProvider }, + { kEoBBaseFlightObjShpMap, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1FlightObjShpMapDOSProvider }, + { kEoBBaseFlightObjSclIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1FlightObjSclIndexDOSProvider }, + { kRpgCommonDscShapeIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscShapeIndexDOSProvider }, + { kRpgCommonDscX, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscXDOSProvider }, + { kRpgCommonDscTileIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscTileIndexDOSProvider }, + { kRpgCommonDscUnk2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscUnk2DOSProvider }, + { kRpgCommonDscDimData1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDimData1DOSProvider }, + { kRpgCommonDscDimData2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDimData2DOSProvider }, + { kRpgCommonDscBlockMap, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscBlockMapDOSProvider }, + { kRpgCommonDscDimMap, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscDimMapDOSProvider }, + { kRpgCommonDscBlockIndex, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1DscBlockIndexDOSProvider }, + { kEoBBaseClassModifierFlags, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1ClassModifierFlagsDOSProvider }, + { kEoBBaseMonsterStepTable01, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable01DOSProvider }, + { kEoBBaseMonsterStepTable2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable2DOSProvider }, + { kEoBBaseMonsterStepTable3, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterStepTable3DOSProvider }, + { kEoBBaseMonsterCloseAttPosTable1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable1DOSProvider }, + { kEoBBaseMonsterCloseAttPosTable21, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttPosTable21DOSProvider }, + { kEoBBaseMonsterCloseAttChkTable1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable1DOSProvider }, + { kEoBBaseMonsterCloseAttChkTable2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttChkTable2DOSProvider }, + { kEoBBaseMonsterCloseAttDstTable1, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable1DOSProvider }, + { kEoBBaseMonsterCloseAttDstTable2, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterCloseAttDstTable2DOSProvider }, + { kEoBBaseMonsterProximityTable, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterProximityTableDOSProvider }, + { kEoBBaseFindBlockMonstersTable, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1FindBlockMonstersTableDOSProvider }, + { kEoBBaseMonsterDirChangeTable, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1MonsterDirChangeTableDOSProvider }, + { kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB1MonsterDistAttStringsDOSEnglishProvider }, + { kEoBBaseEncodeMonsterDefs, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1EncodeMonsterDefsDOSProvider }, + { kEoBBaseNpcPresets, kEoB1, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB1NpcPresetsDOSProvider }, + { kEoBBaseChargenStrings1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStrings1DOSGermanProvider }, + { kEoBBaseChargenStrings2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStrings2DOSGermanProvider }, + { kEoBBaseChargenStatStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenStatStringsDOSGermanProvider }, + { kEoBBaseChargenRaceSexStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenRaceSexStringsDOSGermanProvider }, + { kEoBBaseChargenClassStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenClassStringsDOSGermanProvider }, + { kEoBBaseChargenAlignmentStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenAlignmentStringsDOSGermanProvider }, + { kEoBBaseChargenEnterGameStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ChargenEnterGameStringsDOSGermanProvider }, + { kEoB1MainMenuStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MainMenuStringsDOSGermanProvider }, + { kEoB1BonusStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1BonusStringsDOSGermanProvider }, + { kEoB1TurnUndeadString, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1TurnUndeadStringDOSGermanProvider }, + { kEoB1Npc0Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc0StringsDOSGermanProvider }, + { kEoB1Npc11Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc11StringsDOSGermanProvider }, + { kEoB1Npc12Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc12StringsDOSGermanProvider }, + { kEoB1Npc21Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc21StringsDOSGermanProvider }, + { kEoB1Npc22Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc22StringsDOSGermanProvider }, + { kEoB1Npc31Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc31StringsDOSGermanProvider }, + { kEoB1Npc32Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc32StringsDOSGermanProvider }, + { kEoB1Npc4Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc4StringsDOSGermanProvider }, + { kEoB1Npc5Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc5StringsDOSGermanProvider }, + { kEoB1Npc6Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc6StringsDOSGermanProvider }, + { kEoB1Npc7Strings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1Npc7StringsDOSGermanProvider }, + { kEoBBasePryDoorStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PryDoorStringsDOSGermanProvider }, + { kEoBBaseWarningStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1WarningStringsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsRings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsRingsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsPotions, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsPotionsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsWands, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ItemSuffixStringsWandsDOSGermanProvider }, + { kEoBBaseRipItemStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1RipItemStringsDOSGermanProvider }, + { kEoBBaseCursedString, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CursedStringDOSGermanProvider }, + { kEoBBaseMagicObjectStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicObjectStringsDOSGermanProvider }, + { kEoBBaseMagicObjectString5, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicObjectString5DOSGermanProvider }, + { kEoBBasePatternSuffix, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PatternSuffixDOSGermanProvider }, + { kEoBBasePatternGrFix1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PatternGrFix1DOSGermanProvider }, + { kEoBBasePatternGrFix2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PatternGrFix2DOSGermanProvider }, + { kEoBBaseValidateArmorString, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ValidateArmorStringDOSGermanProvider }, + { kEoBBaseValidateNoDropString, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ValidateNoDropStringDOSGermanProvider }, + { kEoBBasePotionStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PotionStringsDOSGermanProvider }, + { kEoBBaseWandStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1WandStringsDOSGermanProvider }, + { kEoBBaseItemMisuseStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ItemMisuseStringsDOSGermanProvider }, + { kEoBBaseTakenStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1TakenStringsDOSGermanProvider }, + { kEoBBasePotionEffectStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1PotionEffectStringsDOSGermanProvider }, + { kEoBBaseYesNoStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1YesNoStringsDOSGermanProvider }, + { kRpgCommonMoreStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MoreStringsDOSGermanProvider }, + { kEoBBaseNpcMaxStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1NpcMaxStringsDOSGermanProvider }, + { kEoBBaseNpcJoinStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1NpcJoinStringsDOSGermanProvider }, + { kEoBBaseCancelStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CancelStringsDOSGermanProvider }, + { kEoBBaseMenuStringsMain, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsMainDOSGermanProvider }, + { kEoBBaseMenuStringsSaveLoad, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsSaveLoadDOSGermanProvider }, + { kEoBBaseMenuStringsOnOff, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsOnOffDOSGermanProvider }, + { kEoBBaseMenuStringsSpells, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsSpellsDOSGermanProvider }, + { kEoBBaseMenuStringsRest, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsRestDOSGermanProvider }, + { kEoBBaseMenuStringsDrop, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsDropDOSGermanProvider }, + { kEoBBaseMenuStringsExit, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsExitDOSGermanProvider }, + { kEoBBaseMenuStringsStarve, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsStarveDOSGermanProvider }, + { kEoBBaseMenuStringsScribe, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsScribeDOSGermanProvider }, + { kEoBBaseMenuStringsDrop2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsDrop2DOSGermanProvider }, + { kEoBBaseMenuStringsHead, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsHeadDOSGermanProvider }, + { kEoBBaseMenuStringsPoison, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsPoisonDOSGermanProvider }, + { kEoBBaseMenuStringsMgc, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsMgcDOSGermanProvider }, + { kEoBBaseMenuStringsPrefs, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsPrefsDOSGermanProvider }, + { kEoBBaseMenuStringsRest2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsRest2DOSGermanProvider }, + { kEoBBaseMenuStringsRest4, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsRest4DOSGermanProvider }, + { kEoBBaseMenuStringsDefeat, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuStringsDefeatDOSGermanProvider }, + { kEoBBaseMenuYesNoStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MenuYesNoStringsDOSGermanProvider }, + { kEoBBaseCharGuiStringsHp, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsHpDOSGermanProvider }, + { kEoBBaseCharGuiStringsWp1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsWp1DOSGermanProvider }, + { kEoBBaseCharGuiStringsWr, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsWrDOSGermanProvider }, + { kEoBBaseCharGuiStringsSt1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsSt1DOSGermanProvider }, + { kEoBBaseCharGuiStringsIn, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharGuiStringsInDOSGermanProvider }, + { kEoBBaseCharStatusStrings7, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings7DOSGermanProvider }, + { kEoBBaseCharStatusStrings81, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings81DOSGermanProvider }, + { kEoBBaseCharStatusStrings9, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings9DOSGermanProvider }, + { kEoBBaseCharStatusStrings131, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1CharStatusStrings131DOSGermanProvider }, + { kEoBBaseLevelGainStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1LevelGainStringsDOSGermanProvider }, + { kEoBBaseBookNumbers, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1BookNumbersDOSGermanProvider }, + { kEoBBaseMageSpellsList, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MageSpellsListDOSGermanProvider }, + { kEoBBaseClericSpellsList, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ClericSpellsListDOSGermanProvider }, + { kEoBBaseSpellNames, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1SpellNamesDOSGermanProvider }, + { kEoBBaseMagicStrings1, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings1DOSGermanProvider }, + { kEoBBaseMagicStrings2, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings2DOSGermanProvider }, + { kEoBBaseMagicStrings3, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings3DOSGermanProvider }, + { kEoBBaseMagicStrings4, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings4DOSGermanProvider }, + { kEoBBaseMagicStrings6, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings6DOSGermanProvider }, + { kEoBBaseMagicStrings7, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings7DOSGermanProvider }, + { kEoBBaseMagicStrings8, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MagicStrings8DOSGermanProvider }, + { kEoBBaseManDef, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManDefDOSGermanProvider }, + { kEoBBaseManWord, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManWordDOSGermanProvider }, + { kEoBBaseManPrompt, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1ManPromptDOSGermanProvider }, + { kEoBBaseMonsterDistAttStrings, kEoB1, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB1MonsterDistAttStringsDOSGermanProvider }, + { kEoBBaseChargenStrings1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings1DOSEnglishProvider }, + { kEoBBaseChargenStrings2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStrings2DOSEnglishProvider }, + { kEoBBaseChargenStartLevels, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenStartLevelsDOSProvider }, + { kEoBBaseChargenStatStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenStatStringsDOSEnglishProvider }, + { kEoBBaseChargenRaceSexStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenRaceSexStringsDOSEnglishProvider }, + { kEoBBaseChargenClassStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenClassStringsDOSEnglishProvider }, + { kEoBBaseChargenAlignmentStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenAlignmentStringsDOSEnglishProvider }, + { kEoBBaseChargenEnterGameStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ChargenEnterGameStringsDOSEnglishProvider }, + { kEoBBaseChargenClassMinStats, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenClassMinStatsDOSProvider }, + { kEoBBaseChargenRaceMinStats, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenRaceMinStatsDOSProvider }, + { kEoBBaseChargenRaceMaxStats, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ChargenRaceMaxStatsDOSProvider }, + { kEoBBaseSaveThrowTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrowTable1DOSProvider }, + { kEoBBaseSaveThrowTable2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrowTable2DOSProvider }, + { kEoBBaseSaveThrowTable3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrowTable3DOSProvider }, + { kEoBBaseSaveThrowTable4, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrowTable4DOSProvider }, + { kEoBBaseSaveThrwLvlIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrwLvlIndexDOSProvider }, + { kEoBBaseSaveThrwModDiv, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrwModDivDOSProvider }, + { kEoBBaseSaveThrwModExt, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SaveThrwModExtDOSProvider }, + { kEoBBasePryDoorStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PryDoorStringsDOSEnglishProvider }, + { kEoBBaseWarningStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2WarningStringsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsRings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ItemSuffixStringsRingsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsPotions, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ItemSuffixStringsPotionsDOSEnglishProvider }, + { kEoBBaseItemSuffixStringsWands, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ItemSuffixStringsWandsDOSEnglishProvider }, + { kEoBBaseRipItemStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2RipItemStringsDOSEnglishProvider }, + { kEoBBaseCursedString, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CursedStringDOSEnglishProvider }, + { kEoBBaseEnchantedString, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2EnchantedStringDOSProvider }, + { kEoBBaseMagicObjectStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicObjectStringsDOSEnglishProvider }, + { kEoBBaseMagicObjectString5, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicObjectString5DOSEnglishProvider }, + { kEoBBasePatternSuffix, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PatternSuffixDOSEnglishProvider }, + { kEoBBasePatternGrFix1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PatternGrFix1DOSEnglishProvider }, + { kEoBBasePatternGrFix2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PatternGrFix2DOSEnglishProvider }, + { kEoBBaseValidateArmorString, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ValidateArmorStringDOSEnglishProvider }, + { kEoBBaseValidateCursedString, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ValidateCursedStringDOSEnglishProvider }, + { kEoBBaseValidateNoDropString, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ValidateNoDropStringDOSEnglishProvider }, + { kEoBBasePotionStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PotionStringsDOSEnglishProvider }, + { kEoBBaseWandStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2WandStringsDOSEnglishProvider }, + { kEoBBaseItemMisuseStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ItemMisuseStringsDOSEnglishProvider }, + { kEoBBaseTakenStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2TakenStringsDOSEnglishProvider }, + { kEoBBasePotionEffectStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2PotionEffectStringsDOSEnglishProvider }, + { kEoBBaseYesNoStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2YesNoStringsDOSEnglishProvider }, + { kRpgCommonMoreStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MoreStringsDOSEnglishProvider }, + { kEoBBaseNpcMaxStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2NpcMaxStringsDOSEnglishProvider }, + { kEoBBaseOkStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2OkStringsDOSEnglishProvider }, + { kEoBBaseNpcJoinStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2NpcJoinStringsDOSEnglishProvider }, + { kEoBBaseCancelStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CancelStringsDOSEnglishProvider }, + { kEoBBaseAbortStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2AbortStringsDOSEnglishProvider }, + { kEoBBaseMenuStringsMain, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsMainDOSEnglishProvider }, + { kEoBBaseMenuStringsSaveLoad, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsSaveLoadDOSEnglishProvider }, + { kEoBBaseMenuStringsOnOff, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsOnOffDOSEnglishProvider }, + { kEoBBaseMenuStringsSpells, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsSpellsDOSEnglishProvider }, + { kEoBBaseMenuStringsRest, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsRestDOSEnglishProvider }, + { kEoBBaseMenuStringsDrop, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsDropDOSEnglishProvider }, + { kEoBBaseMenuStringsExit, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsExitDOSEnglishProvider }, + { kEoBBaseMenuStringsStarve, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsStarveDOSEnglishProvider }, + { kEoBBaseMenuStringsScribe, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsScribeDOSEnglishProvider }, + { kEoBBaseMenuStringsDrop2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsDrop2DOSEnglishProvider }, + { kEoBBaseMenuStringsHead, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsHeadDOSEnglishProvider }, + { kEoBBaseMenuStringsPoison, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsPoisonDOSEnglishProvider }, + { kEoBBaseMenuStringsMgc, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsMgcDOSEnglishProvider }, + { kEoBBaseMenuStringsPrefs, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsPrefsDOSEnglishProvider }, + { kEoBBaseMenuStringsRest2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsRest2DOSEnglishProvider }, + { kEoBBaseMenuStringsRest3, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsRest3DOSEnglishProvider }, + { kEoBBaseMenuStringsRest4, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsRest4DOSEnglishProvider }, + { kEoBBaseMenuStringsDefeat, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsDefeatDOSEnglishProvider }, + { kEoBBaseMenuStringsTransfer, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsTransferDOSEnglishProvider }, + { kEoBBaseMenuStringsSpec, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuStringsSpecDOSEnglishProvider }, + { kEoBBaseMenuStringsSpellNo, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MenuStringsSpellNoDOSProvider }, + { kEoBBaseMenuYesNoStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MenuYesNoStringsDOSEnglishProvider }, + { kEoBBaseSpellLevelsMage, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SpellLevelsMageDOSProvider }, + { kEoBBaseSpellLevelsCleric, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SpellLevelsClericDOSProvider }, + { kEoBBaseNumSpellsCleric, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NumSpellsClericDOSProvider }, + { kEoBBaseNumSpellsWisAdj, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NumSpellsWisAdjDOSProvider }, + { kEoBBaseNumSpellsPal, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NumSpellsPalDOSProvider }, + { kEoBBaseNumSpellsMage, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NumSpellsMageDOSProvider }, + { kEoBBaseCharGuiStringsHp, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharGuiStringsHpDOSEnglishProvider }, + { kEoBBaseCharGuiStringsWp2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharGuiStringsWp2DOSEnglishProvider }, + { kEoBBaseCharGuiStringsWr, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharGuiStringsWrDOSEnglishProvider }, + { kEoBBaseCharGuiStringsSt2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharGuiStringsSt2DOSEnglishProvider }, + { kEoBBaseCharGuiStringsIn, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharGuiStringsInDOSEnglishProvider }, + { kEoBBaseCharStatusStrings7, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharStatusStrings7DOSEnglishProvider }, + { kEoBBaseCharStatusStrings82, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharStatusStrings82DOSEnglishProvider }, + { kEoBBaseCharStatusStrings9, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharStatusStrings9DOSEnglishProvider }, + { kEoBBaseCharStatusStrings12, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharStatusStrings12DOSEnglishProvider }, + { kEoBBaseCharStatusStrings132, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CharStatusStrings132DOSEnglishProvider }, + { kEoBBaseLevelGainStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2LevelGainStringsDOSEnglishProvider }, + { kEoBBaseExperienceTable0, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExperienceTable0DOSProvider }, + { kEoBBaseExperienceTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExperienceTable1DOSProvider }, + { kEoBBaseExperienceTable2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExperienceTable2DOSProvider }, + { kEoBBaseExperienceTable3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExperienceTable3DOSProvider }, + { kEoBBaseExperienceTable4, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExperienceTable4DOSProvider }, + { kEoBBaseBookNumbers, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2BookNumbersDOSEnglishProvider }, + { kEoBBaseMageSpellsList, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MageSpellsListDOSEnglishProvider }, + { kEoBBaseClericSpellsList, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ClericSpellsListDOSEnglishProvider }, + { kEoBBaseSpellNames, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2SpellNamesDOSEnglishProvider }, + { kEoBBaseMagicStrings1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings1DOSEnglishProvider }, + { kEoBBaseMagicStrings2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings2DOSEnglishProvider }, + { kEoBBaseMagicStrings3, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings3DOSEnglishProvider }, + { kEoBBaseMagicStrings4, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings4DOSEnglishProvider }, + { kEoBBaseMagicStrings6, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings6DOSEnglishProvider }, + { kEoBBaseMagicStrings7, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings7DOSEnglishProvider }, + { kEoBBaseMagicStrings8, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MagicStrings8DOSEnglishProvider }, + { kEoBBaseExpObjectTlMode, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectTlModeDOSProvider }, + { kEoBBaseExpObjectTblIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectTblIndexDOSProvider }, + { kEoBBaseExpObjectShpStart, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectShpStartDOSProvider }, + { kEoBBaseExpObjectTbl1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectTbl1DOSProvider }, + { kEoBBaseExpObjectTbl2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectTbl2DOSProvider }, + { kEoBBaseExpObjectTbl3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectTbl3DOSProvider }, + { kEoBBaseExpObjectY, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ExpObjectYDOSProvider }, + { kEoBBaseSparkDefSteps, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefStepsDOSProvider }, + { kEoBBaseSparkDefSubSteps, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefSubStepsDOSProvider }, + { kEoBBaseSparkDefShift, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefShiftDOSProvider }, + { kEoBBaseSparkDefAdd, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefAddDOSProvider }, + { kEoBBaseSparkDefX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefXDOSProvider }, + { kEoBBaseSparkDefY, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkDefYDOSProvider }, + { kEoBBaseSparkOfFlags1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkOfFlags1DOSProvider }, + { kEoBBaseSparkOfFlags2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkOfFlags2DOSProvider }, + { kEoBBaseSparkOfShift, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkOfShiftDOSProvider }, + { kEoBBaseSparkOfX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkOfXDOSProvider }, + { kEoBBaseSparkOfY, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SparkOfYDOSProvider }, + { kEoBBaseSpellProperties, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SpellPropertiesDOSProvider }, + { kEoBBaseMagicFlightProps, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MagicFlightPropsDOSProvider }, + { kEoBBaseTurnUndeadEffect, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2TurnUndeadEffectDOSProvider }, + { kEoBBaseBurningHandsDest, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2BurningHandsDestDOSProvider }, + { kEoBBaseConeOfColdDest1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ConeOfColdDest1DOSProvider }, + { kEoBBaseConeOfColdDest2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ConeOfColdDest2DOSProvider }, + { kEoBBaseConeOfColdDest3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ConeOfColdDest3DOSProvider }, + { kEoBBaseConeOfColdDest4, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ConeOfColdDest4DOSProvider }, + { kEoBBaseConeOfColdGfxTbl, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ConeOfColdGfxTblDOSProvider }, + { kRpgCommonDscDoorShapeIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorShapeIndexDOSProvider }, + { kEoBBaseWllFlagPreset, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WllFlagPresetDOSProvider }, + { kEoBBaseDscShapeCoords, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscShapeCoordsDOSProvider }, + { kEoBBaseDscDoorScaleOffs, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorScaleOffsDOSProvider }, + { kEoBBaseDscDoorScaleMult1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorScaleMult1DOSProvider }, + { kEoBBaseDscDoorScaleMult2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorScaleMult2DOSProvider }, + { kEoBBaseDscDoorScaleMult3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorScaleMult3DOSProvider }, + { kEoBBaseDscDoorType5Offs, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorType5OffsDOSProvider }, + { kEoBBaseDscDoorY1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorY1DOSProvider }, + { kRpgCommonDscDoorY2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorY2DOSProvider }, + { kRpgCommonDscDoorFrameY1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorFrameY1DOSProvider }, + { kRpgCommonDscDoorFrameY2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDoorFrameY2DOSProvider }, + { kEoBBaseDscItemPosIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscItemPosIndexDOSProvider }, + { kEoBBaseDscItemShpX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscItemShpXDOSProvider }, + { kEoBBaseDscItemScaleIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscItemScaleIndexDOSProvider }, + { kEoBBaseDscItemTileIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscItemTileIndexDOSProvider }, + { kEoBBaseDscItemShapeMap, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscItemShapeMapDOSProvider }, + { kEoBBaseDscTelptrShpCoords, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscTelptrShpCoordsDOSProvider }, + { kEoBBasePortalSeqData, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2PortalSeqDataDOSProvider }, + { kEoBBaseManDef, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ManDefDOSEnglishProvider }, + { kEoBBaseManWord, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ManWordDOSEnglishProvider }, + { kEoBBaseManPrompt, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2ManPromptDOSEnglishProvider }, + { kEoBBaseDscMonsterFrmOffsTbl1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscMonsterFrmOffsTbl1DOSProvider }, + { kEoBBaseDscMonsterFrmOffsTbl2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscMonsterFrmOffsTbl2DOSProvider }, + { kEoBBaseInvSlotX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2InvSlotXDOSProvider }, + { kEoBBaseInvSlotY, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2InvSlotYDOSProvider }, + { kEoBBaseSlotValidationFlags, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2SlotValidationFlagsDOSProvider }, + { kEoBBaseProjectileWeaponTypes, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ProjectileWeaponTypesDOSProvider }, + { kEoBBaseWandTypes, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WandTypesDOSProvider }, + { kEoBBaseDrawObjPosIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DrawObjPosIndexDOSProvider }, + { kEoBBaseFlightObjFlipIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FlightObjFlipIndexDOSProvider }, + { kEoBBaseFlightObjShpMap, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FlightObjShpMapDOSProvider }, + { kEoBBaseFlightObjSclIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FlightObjSclIndexDOSProvider }, + { kEoB2MainMenuStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MainMenuStringsDOSEnglishProvider }, + { kEoB2TransferPortraitFrames, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2TransferPortraitFramesDOSProvider }, + { kEoB2TransferConvertTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2TransferConvertTableDOSProvider }, + { kEoB2TransferItemTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2TransferItemTableDOSProvider }, + { kEoB2TransferExpTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2TransferExpTableDOSProvider }, + { kEoB2TransferStrings1, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2TransferStrings1DOSEnglishProvider }, + { kEoB2TransferStrings2, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2TransferStrings2DOSEnglishProvider }, + { kEoB2TransferLabels, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2TransferLabelsDOSEnglishProvider }, + { kEoB2IntroStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2IntroStringsDOSEnglishProvider }, + { kEoB2IntroCPSFiles, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2IntroCPSFilesDOSEnglishProvider }, + { kEoB2IntroAnimData00, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData00DOSProvider }, + { kEoB2IntroAnimData01, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData01DOSProvider }, + { kEoB2IntroAnimData02, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData02DOSProvider }, + { kEoB2IntroAnimData03, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData03DOSProvider }, + { kEoB2IntroAnimData04, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData04DOSProvider }, + { kEoB2IntroAnimData05, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData05DOSProvider }, + { kEoB2IntroAnimData06, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData06DOSProvider }, + { kEoB2IntroAnimData07, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData07DOSProvider }, + { kEoB2IntroAnimData08, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData08DOSProvider }, + { kEoB2IntroAnimData09, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData09DOSProvider }, + { kEoB2IntroAnimData10, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData10DOSProvider }, + { kEoB2IntroAnimData11, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData11DOSProvider }, + { kEoB2IntroAnimData12, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData12DOSProvider }, + { kEoB2IntroAnimData13, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData13DOSProvider }, + { kEoB2IntroAnimData14, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData14DOSProvider }, + { kEoB2IntroAnimData15, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData15DOSProvider }, + { kEoB2IntroAnimData16, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData16DOSProvider }, + { kEoB2IntroAnimData17, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData17DOSProvider }, + { kEoB2IntroAnimData18, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData18DOSProvider }, + { kEoB2IntroAnimData19, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData19DOSProvider }, + { kEoB2IntroAnimData20, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData20DOSProvider }, + { kEoB2IntroAnimData21, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData21DOSProvider }, + { kEoB2IntroAnimData22, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData22DOSProvider }, + { kEoB2IntroAnimData23, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData23DOSProvider }, + { kEoB2IntroAnimData24, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData24DOSProvider }, + { kEoB2IntroAnimData25, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData25DOSProvider }, + { kEoB2IntroAnimData26, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData26DOSProvider }, + { kEoB2IntroAnimData27, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData27DOSProvider }, + { kEoB2IntroAnimData28, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData28DOSProvider }, + { kEoB2IntroAnimData29, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData29DOSProvider }, + { kEoB2IntroAnimData30, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData30DOSProvider }, + { kEoB2IntroAnimData31, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData31DOSProvider }, + { kEoB2IntroAnimData32, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData32DOSProvider }, + { kEoB2IntroAnimData33, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData33DOSProvider }, + { kEoB2IntroAnimData34, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData34DOSProvider }, + { kEoB2IntroAnimData35, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData35DOSProvider }, + { kEoB2IntroAnimData36, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData36DOSProvider }, + { kEoB2IntroAnimData37, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData37DOSProvider }, + { kEoB2IntroAnimData38, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData38DOSProvider }, + { kEoB2IntroAnimData39, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData39DOSProvider }, + { kEoB2IntroAnimData40, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData40DOSProvider }, + { kEoB2IntroAnimData41, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData41DOSProvider }, + { kEoB2IntroAnimData42, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData42DOSProvider }, + { kEoB2IntroAnimData43, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroAnimData43DOSProvider }, + { kEoB2IntroShapes00, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroShapes00DOSProvider }, + { kEoB2IntroShapes01, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroShapes01DOSProvider }, + { kEoB2IntroShapes04, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroShapes04DOSProvider }, + { kEoB2IntroShapes07, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2IntroShapes07DOSProvider }, + { kEoB2FinaleStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2FinaleStringsDOSEnglishProvider }, + { kEoB2CreditsData, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2CreditsDataDOSEnglishProvider }, + { kEoB2FinaleCPSFiles, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2FinaleCPSFilesDOSEnglishProvider }, + { kEoB2FinaleAnimData00, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData00DOSProvider }, + { kEoB2FinaleAnimData01, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData01DOSProvider }, + { kEoB2FinaleAnimData02, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData02DOSProvider }, + { kEoB2FinaleAnimData03, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData03DOSProvider }, + { kEoB2FinaleAnimData04, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData04DOSProvider }, + { kEoB2FinaleAnimData05, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData05DOSProvider }, + { kEoB2FinaleAnimData06, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData06DOSProvider }, + { kEoB2FinaleAnimData07, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData07DOSProvider }, + { kEoB2FinaleAnimData08, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData08DOSProvider }, + { kEoB2FinaleAnimData09, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData09DOSProvider }, + { kEoB2FinaleAnimData10, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData10DOSProvider }, + { kEoB2FinaleAnimData11, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData11DOSProvider }, + { kEoB2FinaleAnimData12, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData12DOSProvider }, + { kEoB2FinaleAnimData13, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData13DOSProvider }, + { kEoB2FinaleAnimData14, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData14DOSProvider }, + { kEoB2FinaleAnimData15, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData15DOSProvider }, + { kEoB2FinaleAnimData16, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData16DOSProvider }, + { kEoB2FinaleAnimData17, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData17DOSProvider }, + { kEoB2FinaleAnimData18, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData18DOSProvider }, + { kEoB2FinaleAnimData19, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData19DOSProvider }, + { kEoB2FinaleAnimData20, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleAnimData20DOSProvider }, + { kEoB2FinaleShapes00, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleShapes00DOSProvider }, + { kEoB2FinaleShapes03, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleShapes03DOSProvider }, + { kEoB2FinaleShapes07, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleShapes07DOSProvider }, + { kEoB2FinaleShapes09, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleShapes09DOSProvider }, + { kEoB2FinaleShapes10, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FinaleShapes10DOSProvider }, + { kEoB2NpcShapeData, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NpcShapeDataDOSProvider }, + { kEoBBaseClassModifierFlags, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2ClassModifierFlagsDOSProvider }, + { kEoBBaseMonsterStepTable02, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterStepTable02DOSProvider }, + { kEoBBaseMonsterStepTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterStepTable1DOSProvider }, + { kEoBBaseMonsterStepTable2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterStepTable2DOSProvider }, + { kEoBBaseMonsterStepTable3, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterStepTable3DOSProvider }, + { kEoBBaseMonsterCloseAttPosTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttPosTable1DOSProvider }, + { kEoBBaseMonsterCloseAttPosTable22, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttPosTable22DOSProvider }, + { kEoBBaseMonsterCloseAttUnkTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttUnkTableDOSProvider }, + { kEoBBaseMonsterCloseAttChkTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttChkTable1DOSProvider }, + { kEoBBaseMonsterCloseAttChkTable2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttChkTable2DOSProvider }, + { kEoBBaseMonsterCloseAttDstTable1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttDstTable1DOSProvider }, + { kEoBBaseMonsterCloseAttDstTable2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterCloseAttDstTable2DOSProvider }, + { kEoBBaseMonsterProximityTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterProximityTableDOSProvider }, + { kEoBBaseFindBlockMonstersTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2FindBlockMonstersTableDOSProvider }, + { kEoBBaseMonsterDirChangeTable, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2MonsterDirChangeTableDOSProvider }, + { kEoBBaseMonsterDistAttStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MonsterDistAttStringsDOSEnglishProvider }, + { kEoBBaseEncodeMonsterDefs, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2EncodeMonsterDefsDOSProvider }, + { kEoBBaseNpcPresets, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2NpcPresetsDOSProvider }, + { kEoB2Npc1Strings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2Npc1StringsDOSEnglishProvider }, + { kEoB2Npc2Strings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2Npc2StringsDOSEnglishProvider }, + { kEoB2MonsterDustStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2MonsterDustStringsDOSEnglishProvider }, + { kEoB2DreamSteps, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DreamStepsDOSProvider }, + { kEoB2KheldranStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2KheldranStringsDOSEnglishProvider }, + { kEoB2HornStrings, kEoB2, kPlatformDOS, kNoSpecial, EN_ANY, &kEoB2HornStringsDOSEnglishProvider }, + { kEoB2HornSounds, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2HornSoundsDOSProvider }, + { kEoB2WallOfForceDsX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WallOfForceDsXDOSProvider }, + { kEoB2WallOfForceDsY, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WallOfForceDsYDOSProvider }, + { kEoB2WallOfForceNumW, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WallOfForceNumWDOSProvider }, + { kEoB2WallOfForceNumH, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WallOfForceNumHDOSProvider }, + { kEoB2WallOfForceShpId, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2WallOfForceShpIdDOSProvider }, + { kRpgCommonDscShapeIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscShapeIndexDOSProvider }, + { kRpgCommonDscX, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscXDOSProvider }, + { kRpgCommonDscTileIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscTileIndexDOSProvider }, + { kRpgCommonDscUnk2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscUnk2DOSProvider }, + { kRpgCommonDscDimData1, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDimData1DOSProvider }, + { kRpgCommonDscDimData2, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDimData2DOSProvider }, + { kRpgCommonDscBlockMap, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscBlockMapDOSProvider }, + { kRpgCommonDscDimMap, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscDimMapDOSProvider }, + { kRpgCommonDscBlockIndex, kEoB2, kPlatformDOS, kNoSpecial, UNK_LANG, &kEoB2DscBlockIndexDOSProvider }, + { kEoBBaseChargenStrings1, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenStrings1DOSGermanProvider }, + { kEoBBaseChargenStrings2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenStrings2DOSGermanProvider }, + { kEoBBaseChargenStatStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenStatStringsDOSGermanProvider }, + { kEoBBaseChargenRaceSexStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenRaceSexStringsDOSGermanProvider }, + { kEoBBaseChargenClassStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenClassStringsDOSGermanProvider }, + { kEoBBaseChargenAlignmentStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenAlignmentStringsDOSGermanProvider }, + { kEoBBaseChargenEnterGameStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ChargenEnterGameStringsDOSGermanProvider }, + { kEoBBasePryDoorStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PryDoorStringsDOSGermanProvider }, + { kEoBBaseWarningStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2WarningStringsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsRings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ItemSuffixStringsRingsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsPotions, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ItemSuffixStringsPotionsDOSGermanProvider }, + { kEoBBaseItemSuffixStringsWands, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ItemSuffixStringsWandsDOSGermanProvider }, + { kEoBBaseRipItemStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2RipItemStringsDOSGermanProvider }, + { kEoBBaseCursedString, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CursedStringDOSGermanProvider }, + { kEoBBaseMagicObjectStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicObjectStringsDOSGermanProvider }, + { kEoBBaseMagicObjectString5, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicObjectString5DOSGermanProvider }, + { kEoBBasePatternSuffix, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PatternSuffixDOSGermanProvider }, + { kEoBBasePatternGrFix1, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PatternGrFix1DOSGermanProvider }, + { kEoBBasePatternGrFix2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PatternGrFix2DOSGermanProvider }, + { kEoBBaseValidateArmorString, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ValidateArmorStringDOSGermanProvider }, + { kEoBBaseValidateCursedString, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ValidateCursedStringDOSGermanProvider }, + { kEoBBaseValidateNoDropString, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ValidateNoDropStringDOSGermanProvider }, + { kEoBBasePotionStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PotionStringsDOSGermanProvider }, + { kEoBBaseWandStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2WandStringsDOSGermanProvider }, + { kEoBBaseItemMisuseStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ItemMisuseStringsDOSGermanProvider }, + { kEoBBaseTakenStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2TakenStringsDOSGermanProvider }, + { kEoBBasePotionEffectStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2PotionEffectStringsDOSGermanProvider }, + { kEoBBaseYesNoStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2YesNoStringsDOSGermanProvider }, + { kRpgCommonMoreStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MoreStringsDOSGermanProvider }, + { kEoBBaseNpcMaxStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2NpcMaxStringsDOSGermanProvider }, + { kEoBBaseOkStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2OkStringsDOSGermanProvider }, + { kEoBBaseNpcJoinStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2NpcJoinStringsDOSGermanProvider }, + { kEoBBaseCancelStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CancelStringsDOSGermanProvider }, + { kEoBBaseAbortStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2AbortStringsDOSGermanProvider }, + { kEoBBaseMenuStringsMain, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsMainDOSGermanProvider }, + { kEoBBaseMenuStringsSaveLoad, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsSaveLoadDOSGermanProvider }, + { kEoBBaseMenuStringsOnOff, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsOnOffDOSGermanProvider }, + { kEoBBaseMenuStringsSpells, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsSpellsDOSGermanProvider }, + { kEoBBaseMenuStringsRest, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsRestDOSGermanProvider }, + { kEoBBaseMenuStringsDrop, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsDropDOSGermanProvider }, + { kEoBBaseMenuStringsExit, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsExitDOSGermanProvider }, + { kEoBBaseMenuStringsStarve, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsStarveDOSGermanProvider }, + { kEoBBaseMenuStringsScribe, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsScribeDOSGermanProvider }, + { kEoBBaseMenuStringsDrop2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsDrop2DOSGermanProvider }, + { kEoBBaseMenuStringsHead, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsHeadDOSGermanProvider }, + { kEoBBaseMenuStringsPoison, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsPoisonDOSGermanProvider }, + { kEoBBaseMenuStringsMgc, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsMgcDOSGermanProvider }, + { kEoBBaseMenuStringsPrefs, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsPrefsDOSGermanProvider }, + { kEoBBaseMenuStringsRest2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsRest2DOSGermanProvider }, + { kEoBBaseMenuStringsRest3, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsRest3DOSGermanProvider }, + { kEoBBaseMenuStringsRest4, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsRest4DOSGermanProvider }, + { kEoBBaseMenuStringsDefeat, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsDefeatDOSGermanProvider }, + { kEoBBaseMenuStringsTransfer, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsTransferDOSGermanProvider }, + { kEoBBaseMenuStringsSpec, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuStringsSpecDOSGermanProvider }, + { kEoBBaseMenuYesNoStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MenuYesNoStringsDOSGermanProvider }, + { kEoBBaseCharGuiStringsHp, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharGuiStringsHpDOSGermanProvider }, + { kEoBBaseCharGuiStringsWp2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharGuiStringsWp2DOSGermanProvider }, + { kEoBBaseCharGuiStringsWr, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharGuiStringsWrDOSGermanProvider }, + { kEoBBaseCharGuiStringsSt2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharGuiStringsSt2DOSGermanProvider }, + { kEoBBaseCharGuiStringsIn, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharGuiStringsInDOSGermanProvider }, + { kEoBBaseCharStatusStrings7, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharStatusStrings7DOSGermanProvider }, + { kEoBBaseCharStatusStrings82, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharStatusStrings82DOSGermanProvider }, + { kEoBBaseCharStatusStrings9, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharStatusStrings9DOSGermanProvider }, + { kEoBBaseCharStatusStrings12, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharStatusStrings12DOSGermanProvider }, + { kEoBBaseCharStatusStrings132, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CharStatusStrings132DOSGermanProvider }, + { kEoBBaseLevelGainStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2LevelGainStringsDOSGermanProvider }, + { kEoBBaseBookNumbers, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2BookNumbersDOSGermanProvider }, + { kEoBBaseMageSpellsList, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MageSpellsListDOSGermanProvider }, + { kEoBBaseClericSpellsList, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ClericSpellsListDOSGermanProvider }, + { kEoBBaseSpellNames, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2SpellNamesDOSGermanProvider }, + { kEoBBaseMagicStrings1, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings1DOSGermanProvider }, + { kEoBBaseMagicStrings2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings2DOSGermanProvider }, + { kEoBBaseMagicStrings3, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings3DOSGermanProvider }, + { kEoBBaseMagicStrings4, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings4DOSGermanProvider }, + { kEoBBaseMagicStrings6, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings6DOSGermanProvider }, + { kEoBBaseMagicStrings7, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings7DOSGermanProvider }, + { kEoBBaseMagicStrings8, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MagicStrings8DOSGermanProvider }, + { kEoBBaseManDef, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ManDefDOSGermanProvider }, + { kEoBBaseManWord, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ManWordDOSGermanProvider }, + { kEoBBaseManPrompt, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2ManPromptDOSGermanProvider }, + { kEoB2MainMenuStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MainMenuStringsDOSGermanProvider }, + { kEoB2TransferStrings1, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2TransferStrings1DOSGermanProvider }, + { kEoB2TransferStrings2, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2TransferStrings2DOSGermanProvider }, + { kEoB2TransferLabels, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2TransferLabelsDOSGermanProvider }, + { kEoB2IntroStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2IntroStringsDOSGermanProvider }, + { kEoB2IntroCPSFiles, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2IntroCPSFilesDOSGermanProvider }, + { kEoB2FinaleStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2FinaleStringsDOSGermanProvider }, + { kEoB2CreditsData, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2CreditsDataDOSGermanProvider }, + { kEoB2FinaleCPSFiles, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2FinaleCPSFilesDOSGermanProvider }, + { kEoBBaseMonsterDistAttStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MonsterDistAttStringsDOSGermanProvider }, + { kEoB2Npc1Strings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2Npc1StringsDOSGermanProvider }, + { kEoB2Npc2Strings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2Npc2StringsDOSGermanProvider }, + { kEoB2MonsterDustStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2MonsterDustStringsDOSGermanProvider }, + { kEoB2KheldranStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2KheldranStringsDOSGermanProvider }, + { kEoB2HornStrings, kEoB2, kPlatformDOS, kNoSpecial, DE_DEU, &kEoB2HornStringsDOSGermanProvider }, + { k2SeqplayPakFiles, kLoL, kPlatformDOS, kDemoVersion, UNK_LANG, &kLoLSeqplayPakFilesDOSDemoProvider }, + { k2SeqplayStrings, kLoL, kPlatformDOS, kDemoVersion, EN_ANY, &kLoLSeqplayStringsDOSDemoEnglishProvider }, + { k2SeqplaySeqData, kLoL, kPlatformDOS, kDemoVersion, UNK_LANG, &kLoLSeqplaySeqDataDOSDemoProvider }, + { k2SeqplaySfxFiles, kLoL, kPlatformDOS, kDemoVersion, UNK_LANG, &kLoLSeqplaySfxFilesDOSDemoProvider }, + { k2SeqplayIntroTracks, kLoL, kPlatformDOS, kDemoVersion, UNK_LANG, &kLoLSeqplayIntroTracksDOSDemoProvider }, + { kLoLIngamePakFiles, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngamePakFilesDOSProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, EN_ANY, &kLoLCharacterDefsDOSEnglishProvider }, + { kLoLIngameSfxFiles, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngameSfxFilesDOSProvider }, + { kLoLIngameSfxIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngameSfxIndexDOSProvider }, + { kLoLMusicTrackMap, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMusicTrackMapDOSProvider }, + { kLoLIngameGMSfxIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngameGMSfxIndexDOSProvider }, + { kLoLIngameMT32SfxIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngameMT32SfxIndexDOSProvider }, + { kLoLIngamePcSpkSfxIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLIngamePcSpkSfxIndexDOSProvider }, + { kLoLSpellProperties, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLSpellPropertiesDOSProvider }, + { kLoLGameShapeMap, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLGameShapeMapDOSProvider }, + { kLoLSceneItemOffs, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLSceneItemOffsDOSProvider }, + { kLoLCharInvIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharInvIndexDOSProvider }, + { kLoLCharInvDefs, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharInvDefsDOSProvider }, + { kLoLCharDefsMan, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharDefsManDOSProvider }, + { kLoLCharDefsWoman, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharDefsWomanDOSProvider }, + { kLoLCharDefsKieran, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharDefsKieranDOSProvider }, + { kLoLCharDefsAkshel, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCharDefsAkshelDOSProvider }, + { kLoLExpRequirements, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLExpRequirementsDOSProvider }, + { kLoLMonsterModifiers1, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers1DOSProvider }, + { kLoLMonsterModifiers2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers2DOSProvider }, + { kLoLMonsterModifiers3, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers3DOSProvider }, + { kLoLMonsterShiftOffsets, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterShiftOffsetsDOSProvider }, + { kLoLMonsterDirFlags, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterDirFlagsDOSProvider }, + { kLoLMonsterScaleY, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterScaleYDOSProvider }, + { kLoLMonsterScaleX, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterScaleXDOSProvider }, + { kLoLMonsterScaleWH, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMonsterScaleWHDOSProvider }, + { kLoLFlyingObjectShp, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLFlyingObjectShpDOSProvider }, + { kLoLInventoryDesc, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLInventoryDescDOSProvider }, + { kLoLLevelShpList, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLLevelShpListDOSProvider }, + { kLoLLevelDatList, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLLevelDatListDOSProvider }, + { kLoLCompassDefs, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLCompassDefsDOSProvider }, + { kLoLStashSetup, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLStashSetupDOSProvider }, + { kLoLDscWalls, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscWallsDOSProvider }, + { kRpgCommonDscShapeIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscShapeIndexDOSProvider }, + { kLoLDscOvlMap, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscOvlMapDOSProvider }, + { kLoLDscScaleWidthData, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscScaleWidthDataDOSProvider }, + { kLoLDscScaleHeightData, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscScaleHeightDataDOSProvider }, + { kRpgCommonDscX, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscXDOSProvider }, + { kLoLBaseDscY, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLBaseDscYDOSProvider }, + { kRpgCommonDscTileIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscTileIndexDOSProvider }, + { kRpgCommonDscUnk2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscUnk2DOSProvider }, + { kRpgCommonDscDoorShapeIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorShapeIndexDOSProvider }, + { kRpgCommonDscDimData1, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDimData1DOSProvider }, + { kRpgCommonDscDimData2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDimData2DOSProvider }, + { kRpgCommonDscBlockMap, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscBlockMapDOSProvider }, + { kRpgCommonDscDimMap, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDimMapDOSProvider }, + { kLoLDscOvlIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscOvlIndexDOSProvider }, + { kRpgCommonDscBlockIndex, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscBlockIndexDOSProvider }, + { kRpgCommonDscDoorY2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorY2DOSProvider }, + { kRpgCommonDscDoorFrameY1, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY1DOSProvider }, + { kRpgCommonDscDoorFrameY2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY2DOSProvider }, + { kLoLDscDoorScale, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorScaleDOSProvider }, + { kLoLDscDoor4, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoor4DOSProvider }, + { kLoLDscDoorX, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorXDOSProvider }, + { kLoLDscDoorY, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLDscDoorYDOSProvider }, + { kLoLScrollXTop, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLScrollXTopDOSProvider }, + { kLoLScrollYTop, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLScrollYTopDOSProvider }, + { kLoLScrollXBottom, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLScrollXBottomDOSProvider }, + { kLoLScrollYBottom, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLScrollYBottomDOSProvider }, + { kLoLButtonDefs, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonDefsDOSProvider }, + { kLoLButtonList1, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList1DOSProvider }, + { kLoLButtonList2, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList2DOSProvider }, + { kLoLButtonList3, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList3DOSProvider }, + { kLoLButtonList4, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList4DOSProvider }, + { kLoLButtonList5, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList5DOSProvider }, + { kLoLButtonList6, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList6DOSProvider }, + { kLoLButtonList7, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList7DOSProvider }, + { kLoLButtonList8, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLButtonList8DOSProvider }, + { kLoLLegendData, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLLegendDataDOSProvider }, + { kLoLMapCursorOvl, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMapCursorOvlDOSProvider }, + { kLoLMapStringId, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLMapStringIdDOSProvider }, + { kLoLSpellbookAnim, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLSpellbookAnimDOSProvider }, + { kLoLSpellbookCoords, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLSpellbookCoordsDOSProvider }, + { kLoLHealShapeFrames, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLHealShapeFramesDOSProvider }, + { kLoLLightningDefs, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLLightningDefsDOSProvider }, + { kLoLFireballCoords, kLoL, kPlatformDOS, kNoSpecial, UNK_LANG, &kLoLFireballCoordsDOSProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, RU_RUS, &kLoLCharacterDefsDOSRussianProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, DE_DEU, &kLoLCharacterDefsDOSGermanProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kNoSpecial, FR_FRA, &kLoLCharacterDefsDOSFrenchProvider }, + { kLoLIngamePakFiles, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLIngamePakFilesPC98Provider }, + { kLoLCharacterDefs, kLoL, kPlatformPC98, kNoSpecial, JA_JPN, &kLoLCharacterDefsPC98JapaneseProvider }, + { kLoLIngameSfxFiles, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLIngameSfxFilesPC98Provider }, + { kLoLIngameSfxIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLIngameSfxIndexPC98Provider }, + { kLoLSpellProperties, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLSpellPropertiesPC98Provider }, + { kLoLGameShapeMap, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLGameShapeMapPC98Provider }, + { kLoLSceneItemOffs, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLSceneItemOffsPC98Provider }, + { kLoLCharInvIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharInvIndexPC98Provider }, + { kLoLCharInvDefs, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharInvDefsPC98Provider }, + { kLoLCharDefsMan, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharDefsManPC98Provider }, + { kLoLCharDefsWoman, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharDefsWomanPC98Provider }, + { kLoLCharDefsKieran, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharDefsKieranPC98Provider }, + { kLoLCharDefsAkshel, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCharDefsAkshelPC98Provider }, + { kLoLExpRequirements, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLExpRequirementsPC98Provider }, + { kLoLMonsterModifiers1, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers1PC98Provider }, + { kLoLMonsterModifiers2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers2PC98Provider }, + { kLoLMonsterModifiers3, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers3PC98Provider }, + { kLoLMonsterShiftOffsets, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterShiftOffsetsPC98Provider }, + { kLoLMonsterDirFlags, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterDirFlagsPC98Provider }, + { kLoLMonsterScaleY, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterScaleYPC98Provider }, + { kLoLMonsterScaleX, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterScaleXPC98Provider }, + { kLoLMonsterScaleWH, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMonsterScaleWHPC98Provider }, + { kLoLFlyingObjectShp, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLFlyingObjectShpPC98Provider }, + { kLoLInventoryDesc, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLInventoryDescPC98Provider }, + { kLoLLevelShpList, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLLevelShpListPC98Provider }, + { kLoLLevelDatList, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLLevelDatListPC98Provider }, + { kLoLCompassDefs, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCompassDefsPC98Provider }, + { kLoLStashSetup, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLStashSetupPC98Provider }, + { kLoLDscWalls, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscWallsPC98Provider }, + { kRpgCommonDscShapeIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscShapeIndexPC98Provider }, + { kLoLDscOvlMap, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscOvlMapPC98Provider }, + { kLoLDscScaleWidthData, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscScaleWidthDataPC98Provider }, + { kLoLDscScaleHeightData, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscScaleHeightDataPC98Provider }, + { kRpgCommonDscX, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscXPC98Provider }, + { kLoLBaseDscY, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLBaseDscYPC98Provider }, + { kRpgCommonDscTileIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscTileIndexPC98Provider }, + { kRpgCommonDscUnk2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscUnk2PC98Provider }, + { kRpgCommonDscDoorShapeIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorShapeIndexPC98Provider }, + { kRpgCommonDscDimData1, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDimData1PC98Provider }, + { kRpgCommonDscDimData2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDimData2PC98Provider }, + { kRpgCommonDscBlockMap, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscBlockMapPC98Provider }, + { kRpgCommonDscDimMap, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDimMapPC98Provider }, + { kLoLDscOvlIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscOvlIndexPC98Provider }, + { kRpgCommonDscBlockIndex, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscBlockIndexPC98Provider }, + { kRpgCommonDscDoorY2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorY2PC98Provider }, + { kRpgCommonDscDoorFrameY1, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY1PC98Provider }, + { kRpgCommonDscDoorFrameY2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY2PC98Provider }, + { kLoLDscDoorScale, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorScalePC98Provider }, + { kLoLDscDoor4, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoor4PC98Provider }, + { kLoLDscDoorX, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorXPC98Provider }, + { kLoLDscDoorY, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLDscDoorYPC98Provider }, + { kLoLScrollXTop, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLScrollXTopPC98Provider }, + { kLoLScrollYTop, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLScrollYTopPC98Provider }, + { kLoLScrollXBottom, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLScrollXBottomPC98Provider }, + { kLoLScrollYBottom, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLScrollYBottomPC98Provider }, + { kLoLButtonDefs, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonDefsPC98Provider }, + { kLoLButtonList1, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList1PC98Provider }, + { kLoLButtonList2, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList2PC98Provider }, + { kLoLButtonList3, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList3PC98Provider }, + { kLoLButtonList4, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList4PC98Provider }, + { kLoLButtonList5, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList5PC98Provider }, + { kLoLButtonList6, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList6PC98Provider }, + { kLoLButtonList7, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList7PC98Provider }, + { kLoLButtonList8, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLButtonList8PC98Provider }, + { kLoLLegendData, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLLegendDataPC98Provider }, + { kLoLMapStringId, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLMapStringIdPC98Provider }, + { kLoLSpellbookAnim, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLSpellbookAnimPC98Provider }, + { kLoLSpellbookCoords, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLSpellbookCoordsPC98Provider }, + { kLoLHealShapeFrames, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLHealShapeFramesPC98Provider }, + { kLoLLightningDefs, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLLightningDefsPC98Provider }, + { kLoLFireballCoords, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLFireballCoordsPC98Provider }, + { kLoLCredits, kLoL, kPlatformPC98, kNoSpecial, UNK_LANG, &kLoLCreditsPC98Provider }, + { kLoLIngamePakFiles, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLIngamePakFilesFMTownsProvider }, + { kLoLCharacterDefs, kLoL, kPlatformFMTowns, kNoSpecial, JA_JPN, &kLoLCharacterDefsFMTownsJapaneseProvider }, + { kLoLIngameSfxFiles, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLIngameSfxFilesFMTownsProvider }, + { kLoLIngameSfxIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLIngameSfxIndexFMTownsProvider }, + { kLoLSpellProperties, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLSpellPropertiesFMTownsProvider }, + { kLoLGameShapeMap, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLGameShapeMapFMTownsProvider }, + { kLoLSceneItemOffs, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLSceneItemOffsFMTownsProvider }, + { kLoLCharInvIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharInvIndexFMTownsProvider }, + { kLoLCharInvDefs, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharInvDefsFMTownsProvider }, + { kLoLCharDefsMan, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharDefsManFMTownsProvider }, + { kLoLCharDefsWoman, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharDefsWomanFMTownsProvider }, + { kLoLCharDefsKieran, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharDefsKieranFMTownsProvider }, + { kLoLCharDefsAkshel, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCharDefsAkshelFMTownsProvider }, + { kLoLExpRequirements, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLExpRequirementsFMTownsProvider }, + { kLoLMonsterModifiers1, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers1FMTownsProvider }, + { kLoLMonsterModifiers2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers2FMTownsProvider }, + { kLoLMonsterModifiers3, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterModifiers3FMTownsProvider }, + { kLoLMonsterShiftOffsets, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterShiftOffsetsFMTownsProvider }, + { kLoLMonsterDirFlags, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterDirFlagsFMTownsProvider }, + { kLoLMonsterScaleY, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterScaleYFMTownsProvider }, + { kLoLMonsterScaleX, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterScaleXFMTownsProvider }, + { kLoLMonsterScaleWH, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMonsterScaleWHFMTownsProvider }, + { kLoLFlyingObjectShp, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLFlyingObjectShpFMTownsProvider }, + { kLoLInventoryDesc, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLInventoryDescFMTownsProvider }, + { kLoLLevelShpList, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLLevelShpListFMTownsProvider }, + { kLoLLevelDatList, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLLevelDatListFMTownsProvider }, + { kLoLCompassDefs, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCompassDefsFMTownsProvider }, + { kLoLStashSetup, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLStashSetupFMTownsProvider }, + { kLoLDscWalls, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscWallsFMTownsProvider }, + { kRpgCommonDscShapeIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscShapeIndexFMTownsProvider }, + { kLoLDscOvlMap, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscOvlMapFMTownsProvider }, + { kLoLDscScaleWidthData, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscScaleWidthDataFMTownsProvider }, + { kLoLDscScaleHeightData, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscScaleHeightDataFMTownsProvider }, + { kRpgCommonDscX, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscXFMTownsProvider }, + { kLoLBaseDscY, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLBaseDscYFMTownsProvider }, + { kRpgCommonDscTileIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscTileIndexFMTownsProvider }, + { kRpgCommonDscUnk2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscUnk2FMTownsProvider }, + { kRpgCommonDscDoorShapeIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorShapeIndexFMTownsProvider }, + { kRpgCommonDscDimData1, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDimData1FMTownsProvider }, + { kRpgCommonDscDimData2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDimData2FMTownsProvider }, + { kRpgCommonDscBlockMap, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscBlockMapFMTownsProvider }, + { kRpgCommonDscDimMap, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDimMapFMTownsProvider }, + { kLoLDscOvlIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscOvlIndexFMTownsProvider }, + { kRpgCommonDscBlockIndex, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscBlockIndexFMTownsProvider }, + { kRpgCommonDscDoorY2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorY2FMTownsProvider }, + { kRpgCommonDscDoorFrameY1, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY1FMTownsProvider }, + { kRpgCommonDscDoorFrameY2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorFrameY2FMTownsProvider }, + { kLoLDscDoorScale, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorScaleFMTownsProvider }, + { kLoLDscDoor4, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoor4FMTownsProvider }, + { kLoLDscDoorX, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorXFMTownsProvider }, + { kLoLDscDoorY, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLDscDoorYFMTownsProvider }, + { kLoLScrollXTop, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLScrollXTopFMTownsProvider }, + { kLoLScrollYTop, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLScrollYTopFMTownsProvider }, + { kLoLScrollXBottom, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLScrollXBottomFMTownsProvider }, + { kLoLScrollYBottom, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLScrollYBottomFMTownsProvider }, + { kLoLButtonDefs, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonDefsFMTownsProvider }, + { kLoLButtonList1, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList1FMTownsProvider }, + { kLoLButtonList2, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList2FMTownsProvider }, + { kLoLButtonList3, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList3FMTownsProvider }, + { kLoLButtonList4, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList4FMTownsProvider }, + { kLoLButtonList5, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList5FMTownsProvider }, + { kLoLButtonList6, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList6FMTownsProvider }, + { kLoLButtonList7, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList7FMTownsProvider }, + { kLoLButtonList8, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLButtonList8FMTownsProvider }, + { kLoLLegendData, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLLegendDataFMTownsProvider }, + { kLoLMapStringId, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLMapStringIdFMTownsProvider }, + { kLoLSpellbookAnim, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLSpellbookAnimFMTownsProvider }, + { kLoLSpellbookCoords, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLSpellbookCoordsFMTownsProvider }, + { kLoLHealShapeFrames, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLHealShapeFramesFMTownsProvider }, + { kLoLLightningDefs, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLLightningDefsFMTownsProvider }, + { kLoLFireballCoords, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLFireballCoordsFMTownsProvider }, + { kLoLCredits, kLoL, kPlatformFMTowns, kNoSpecial, UNK_LANG, &kLoLCreditsFMTownsProvider }, + { kLoLHistory, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLHistoryDOSCDProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, EN_ANY, &kLoLCharacterDefsDOSCDEnglishProvider }, + { kLoLIngameSfxFiles, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLIngameSfxFilesDOSCDProvider }, + { kLoLIngameSfxIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLIngameSfxIndexDOSCDProvider }, + { kLoLMusicTrackMap, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMusicTrackMapDOSCDProvider }, + { kLoLIngameGMSfxIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLIngameGMSfxIndexDOSCDProvider }, + { kLoLIngameMT32SfxIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLIngameMT32SfxIndexDOSCDProvider }, + { kLoLIngamePcSpkSfxIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLIngamePcSpkSfxIndexDOSCDProvider }, + { kLoLSpellProperties, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLSpellPropertiesDOSCDProvider }, + { kLoLGameShapeMap, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLGameShapeMapDOSCDProvider }, + { kLoLSceneItemOffs, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLSceneItemOffsDOSCDProvider }, + { kLoLCharInvIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharInvIndexDOSCDProvider }, + { kLoLCharInvDefs, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharInvDefsDOSCDProvider }, + { kLoLCharDefsMan, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharDefsManDOSCDProvider }, + { kLoLCharDefsWoman, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharDefsWomanDOSCDProvider }, + { kLoLCharDefsKieran, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharDefsKieranDOSCDProvider }, + { kLoLCharDefsAkshel, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCharDefsAkshelDOSCDProvider }, + { kLoLExpRequirements, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLExpRequirementsDOSCDProvider }, + { kLoLMonsterModifiers1, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterModifiers1DOSCDProvider }, + { kLoLMonsterModifiers2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterModifiers2DOSCDProvider }, + { kLoLMonsterModifiers3, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterModifiers3DOSCDProvider }, + { kLoLMonsterModifiers4, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterModifiers4DOSCDProvider }, + { kLoLMonsterShiftOffsets, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterShiftOffsetsDOSCDProvider }, + { kLoLMonsterDirFlags, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterDirFlagsDOSCDProvider }, + { kLoLMonsterScaleY, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterScaleYDOSCDProvider }, + { kLoLMonsterScaleX, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterScaleXDOSCDProvider }, + { kLoLMonsterScaleWH, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMonsterScaleWHDOSCDProvider }, + { kLoLFlyingObjectShp, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLFlyingObjectShpDOSCDProvider }, + { kLoLInventoryDesc, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLInventoryDescDOSCDProvider }, + { kLoLLevelShpList, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLLevelShpListDOSCDProvider }, + { kLoLLevelDatList, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLLevelDatListDOSCDProvider }, + { kLoLCompassDefs, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLCompassDefsDOSCDProvider }, + { kLoLItemPrices, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLItemPricesDOSCDProvider }, + { kLoLStashSetup, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLStashSetupDOSCDProvider }, + { kLoLDscWalls, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscWallsDOSCDProvider }, + { kRpgCommonDscShapeIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscShapeIndexDOSCDProvider }, + { kLoLDscOvlMap, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscOvlMapDOSCDProvider }, + { kLoLDscScaleWidthData, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscScaleWidthDataDOSCDProvider }, + { kLoLDscScaleHeightData, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscScaleHeightDataDOSCDProvider }, + { kRpgCommonDscX, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscXDOSCDProvider }, + { kLoLBaseDscY, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLBaseDscYDOSCDProvider }, + { kRpgCommonDscTileIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscTileIndexDOSCDProvider }, + { kRpgCommonDscUnk2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscUnk2DOSCDProvider }, + { kRpgCommonDscDoorShapeIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorShapeIndexDOSCDProvider }, + { kRpgCommonDscDimData1, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDimData1DOSCDProvider }, + { kRpgCommonDscDimData2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDimData2DOSCDProvider }, + { kRpgCommonDscBlockMap, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscBlockMapDOSCDProvider }, + { kRpgCommonDscDimMap, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDimMapDOSCDProvider }, + { kLoLDscOvlIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscOvlIndexDOSCDProvider }, + { kRpgCommonDscBlockIndex, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscBlockIndexDOSCDProvider }, + { kRpgCommonDscDoorY2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorY2DOSCDProvider }, + { kRpgCommonDscDoorFrameY1, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorFrameY1DOSCDProvider }, + { kRpgCommonDscDoorFrameY2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorFrameY2DOSCDProvider }, + { kLoLDscDoorScale, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorScaleDOSCDProvider }, + { kLoLDscDoor4, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoor4DOSCDProvider }, + { kLoLDscDoorX, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorXDOSCDProvider }, + { kLoLDscDoorY, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLDscDoorYDOSCDProvider }, + { kLoLScrollXTop, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLScrollXTopDOSCDProvider }, + { kLoLScrollYTop, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLScrollYTopDOSCDProvider }, + { kLoLScrollXBottom, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLScrollXBottomDOSCDProvider }, + { kLoLScrollYBottom, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLScrollYBottomDOSCDProvider }, + { kLoLButtonDefs, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonDefsDOSCDProvider }, + { kLoLButtonList1, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList1DOSCDProvider }, + { kLoLButtonList2, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList2DOSCDProvider }, + { kLoLButtonList3, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList3DOSCDProvider }, + { kLoLButtonList4, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList4DOSCDProvider }, + { kLoLButtonList5, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList5DOSCDProvider }, + { kLoLButtonList6, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList6DOSCDProvider }, + { kLoLButtonList7, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList7DOSCDProvider }, + { kLoLButtonList8, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLButtonList8DOSCDProvider }, + { kLoLLegendData, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLLegendDataDOSCDProvider }, + { kLoLMapCursorOvl, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMapCursorOvlDOSCDProvider }, + { kLoLMapStringId, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLMapStringIdDOSCDProvider }, + { kLoLSpellbookAnim, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLSpellbookAnimDOSCDProvider }, + { kLoLSpellbookCoords, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLSpellbookCoordsDOSCDProvider }, + { kLoLHealShapeFrames, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLHealShapeFramesDOSCDProvider }, + { kLoLLightningDefs, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLLightningDefsDOSCDProvider }, + { kLoLFireballCoords, kLoL, kPlatformDOS, kTalkieVersion, UNK_LANG, &kLoLFireballCoordsDOSCDProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, FR_FRA, &kLoLCharacterDefsDOSCDFrenchProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, DE_DEU, &kLoLCharacterDefsDOSCDGermanProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, IT_ITA, &kLoLCharacterDefsDOSCDItalianProvider }, + { kLoLCharacterDefs, kLoL, kPlatformDOS, kTalkieVersion, RU_RUS, &kLoLCharacterDefsDOSCDRussianProvider }, + { kMaxResIDs, kKyra1, kPlatformDOS, kNoSpecial, UNK_LANG, NULL } +}; + +const ResourceProvider *obtainResourceProviders() { + return resourceProviders; +} diff --git a/devtools/create_kyradat/tables.h b/devtools/create_kyradat/resources.h index 833c70a4fe..c9ab232b02 100644 --- a/devtools/create_kyradat/tables.h +++ b/devtools/create_kyradat/resources.h @@ -8,34 +8,38 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ -#ifndef CREATE_KYRADAT_TABLES_H -#define CREATE_KYRADAT_TABLES_H +#ifndef CREATE_KYRADAT_RESOURCES_H +#define CREATE_KYRADAT_RESOURCES_H -#include "search.h" -#include "util.h" +#include "create_kyradat.h" -#include <list> +#include "common/util.h" +#include "common/language.h" +#include "common/platform.h" -struct ExtractEntrySearchData { - int lang; - int platform; +using namespace Common; - SearchData hint; +struct ResourceProvider { + kExtractID id; + kGame game; + Platform platform; + kSpecial special; + Language language; + const void *provider; }; -typedef std::list<ExtractEntrySearchData> ExtractEntryList; -ExtractEntryList getProvidersForId(int id); +const ResourceProvider *obtainResourceProviders(); #endif diff --git a/devtools/create_kyradat/resources/eob1_dos.h b/devtools/create_kyradat/resources/eob1_dos.h new file mode 100644 index 0000000000..b2aa8845de --- /dev/null +++ b/devtools/create_kyradat/resources/eob1_dos.h @@ -0,0 +1,1765 @@ +static const byte kEoB1ChargenStartLevelsDOS[60] = { + 0x03, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x01, + 0x03, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x01, + 0x03, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, + 0x02, 0x02, 0x00, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x02, 0x02, 0x00, 0x02, 0x01, 0x01, 0x02, 0x03, + 0x03, 0x02, 0x00, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x01, 0x02, 0x01, 0x03, 0x02, 0x02, 0x00, 0x02, + 0x02, 0x02, 0x00, 0x02 +}; + +static const ByteProvider kEoB1ChargenStartLevelsDOSProvider = { ARRAYSIZE(kEoB1ChargenStartLevelsDOS), kEoB1ChargenStartLevelsDOS }; + +static const byte kEoB1ChargenClassMinStatsDOS[90] = { + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, + 0x0E, 0x0D, 0x0E, 0x00, 0x0C, 0x00, 0x0D, 0x00, + 0x09, 0x11, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, + 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, + 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, + 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, + 0x0E, 0x0D, 0x0E, 0x00, 0x00, 0x09, 0x09, 0x00, + 0x00, 0x00 +}; + +static const ByteProvider kEoB1ChargenClassMinStatsDOSProvider = { ARRAYSIZE(kEoB1ChargenClassMinStatsDOS), kEoB1ChargenClassMinStatsDOS }; + +static const byte kEoB1ChargenRaceMinStatsDOS[36] = { + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, + 0x03, 0x07, 0x06, 0x08, 0x03, 0x04, 0x03, 0x06, + 0x06, 0x03, 0x08, 0x03, 0x03, 0x03, 0x0C, 0x02, + 0x06, 0x07, 0x02, 0x03, 0x08, 0x03, 0x07, 0x06, + 0x03, 0x08, 0x0A, 0x06 +}; + +static const ByteProvider kEoB1ChargenRaceMinStatsDOSProvider = { ARRAYSIZE(kEoB1ChargenRaceMinStatsDOS), kEoB1ChargenRaceMinStatsDOS }; + +static const uint16 kEoB1ChargenRaceMaxStatsDOS[36] = { + 0x6412, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x6412, 0x0012, + 0x0012, 0x0013, 0x0011, 0x0012, 0x6412, 0x0012, 0x0012, 0x0012, + 0x0012, 0x0012, 0x6412, 0x0012, 0x0012, 0x0011, 0x0013, 0x0010, + 0x6412, 0x0013, 0x0011, 0x0012, 0x0012, 0x0012, 0x0011, 0x0012, + 0x0011, 0x0013, 0x0012, 0x0012 +}; + +static const Uint16Provider kEoB1ChargenRaceMaxStatsDOSProvider = { ARRAYSIZE(kEoB1ChargenRaceMaxStatsDOS), kEoB1ChargenRaceMaxStatsDOS }; + +static const byte kEoB1SaveThrowTable1DOS[50] = { + 0x10, 0x0E, 0x0D, 0x0B, 0x0A, 0x08, 0x07, 0x05, + 0x04, 0x03, 0x12, 0x10, 0x0F, 0x0D, 0x0C, 0x0A, + 0x09, 0x07, 0x06, 0x05, 0x11, 0x0F, 0x0E, 0x0C, + 0x0B, 0x09, 0x08, 0x06, 0x05, 0x04, 0x14, 0x11, + 0x10, 0x0D, 0x0C, 0x09, 0x08, 0x05, 0x04, 0x04, + 0x13, 0x11, 0x10, 0x0E, 0x0D, 0x0B, 0x0A, 0x08, + 0x07, 0x06 +}; + +static const ByteProvider kEoB1SaveThrowTable1DOSProvider = { ARRAYSIZE(kEoB1SaveThrowTable1DOS), kEoB1SaveThrowTable1DOS }; + +static const byte kEoB1SaveThrowTable2DOS[25] = { + 0x0E, 0x0D, 0x0B, 0x0A, 0x08, 0x0B, 0x09, 0x07, + 0x05, 0x03, 0x0D, 0x0B, 0x09, 0x07, 0x05, 0x0F, + 0x0D, 0x0B, 0x09, 0x07, 0x0C, 0x0A, 0x08, 0x06, + 0x04 +}; + +static const ByteProvider kEoB1SaveThrowTable2DOSProvider = { ARRAYSIZE(kEoB1SaveThrowTable2DOS), kEoB1SaveThrowTable2DOS }; + +static const byte kEoB1SaveThrowTable3DOS[35] = { + 0x0A, 0x09, 0x07, 0x06, 0x05, 0x04, 0x02, 0x0E, + 0x0D, 0x0B, 0x0A, 0x09, 0x08, 0x06, 0x0D, 0x0C, + 0x0A, 0x09, 0x08, 0x07, 0x05, 0x10, 0x0F, 0x0D, + 0x0C, 0x0B, 0x0A, 0x08, 0x0F, 0x0E, 0x0C, 0x0B, + 0x0A, 0x09, 0x07 +}; + +static const ByteProvider kEoB1SaveThrowTable3DOSProvider = { ARRAYSIZE(kEoB1SaveThrowTable3DOS), kEoB1SaveThrowTable3DOS }; + +static const byte kEoB1SaveThrowTable4DOS[30] = { + 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x0E, 0x0C, + 0x0A, 0x08, 0x06, 0x07, 0x0C, 0x0B, 0x0A, 0x09, + 0x08, 0x04, 0x10, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, + 0x0F, 0x0D, 0x0B, 0x09, 0x07, 0x05 +}; + +static const ByteProvider kEoB1SaveThrowTable4DOSProvider = { ARRAYSIZE(kEoB1SaveThrowTable4DOS), kEoB1SaveThrowTable4DOS }; + +static const byte kEoB1SaveThrwLvlIndexDOS[6] = { + 0x11, 0x15, 0x13, 0x15, 0x11, 0x11 +}; + +static const ByteProvider kEoB1SaveThrwLvlIndexDOSProvider = { ARRAYSIZE(kEoB1SaveThrwLvlIndexDOS), kEoB1SaveThrwLvlIndexDOS }; + +static const byte kEoB1SaveThrwModDivDOS[6] = { + 0x02, 0x05, 0x03, 0x04, 0x02, 0x02 +}; + +static const ByteProvider kEoB1SaveThrwModDivDOSProvider = { ARRAYSIZE(kEoB1SaveThrwModDivDOS), kEoB1SaveThrwModDivDOS }; + +static const byte kEoB1SaveThrwModExtDOS[6] = { + 0x0A, 0x05, 0x07, 0x06, 0x0A, 0x0A +}; + +static const ByteProvider kEoB1SaveThrwModExtDOSProvider = { ARRAYSIZE(kEoB1SaveThrwModExtDOS), kEoB1SaveThrwModExtDOS }; + +static const char *const kEoB1IntroFilesOpeningDOS[6] = { + "AND.CMP", + "SSI.CMP", + "PRESENT.CMP", + "DAND.CMP", + "WESTWOOD.CMP", + "WESTWOOD.COL" +}; + +static const StringListProvider kEoB1IntroFilesOpeningDOSProvider = { ARRAYSIZE(kEoB1IntroFilesOpeningDOS), kEoB1IntroFilesOpeningDOS }; + +static const char *const kEoB1IntroFilesTowerDOS[2] = { + "TOWRMAGE.COL", + "TOWRMAGE.CMP" +}; + +static const StringListProvider kEoB1IntroFilesTowerDOSProvider = { ARRAYSIZE(kEoB1IntroFilesTowerDOS), kEoB1IntroFilesTowerDOS }; + +static const char *const kEoB1IntroFilesOrbDOS[2] = { + "ORB.CMP", + "TOWRMAGE.CMP" +}; + +static const StringListProvider kEoB1IntroFilesOrbDOSProvider = { ARRAYSIZE(kEoB1IntroFilesOrbDOS), kEoB1IntroFilesOrbDOS }; + +static const char *const kEoB1IntroFilesWdEntryDOS[4] = { + "WTRDP2.COL", + "WTRDP1.CMP", + "WTRDP2.CMP", + "WTRDP3.CMP" +}; + +static const StringListProvider kEoB1IntroFilesWdEntryDOSProvider = { ARRAYSIZE(kEoB1IntroFilesWdEntryDOS), kEoB1IntroFilesWdEntryDOS }; + +static const char *const kEoB1IntroFilesKingDOS[2] = { + "KING.CMP", + "ADVENTUR.CMP" +}; + +static const StringListProvider kEoB1IntroFilesKingDOSProvider = { ARRAYSIZE(kEoB1IntroFilesKingDOS), kEoB1IntroFilesKingDOS }; + +static const char *const kEoB1IntroFilesHandsDOS[1] = { + "HANDS.CMP" +}; + +static const StringListProvider kEoB1IntroFilesHandsDOSProvider = { ARRAYSIZE(kEoB1IntroFilesHandsDOS), kEoB1IntroFilesHandsDOS }; + +static const char *const kEoB1IntroFilesWdExitDOS[5] = { + "WTRDP3.CMP", + "ORB.COL", + "ORB.CMP", + "TUNNEL.CMP", + "ZOOMTUNL.COL" +}; + +static const StringListProvider kEoB1IntroFilesWdExitDOSProvider = { ARRAYSIZE(kEoB1IntroFilesWdExitDOS), kEoB1IntroFilesWdExitDOS }; + +static const char *const kEoB1IntroFilesTunnelDOS[2] = { + "AVALANCH.CMP", + "ZOOMTUNL.CMP" +}; + +static const StringListProvider kEoB1IntroFilesTunnelDOSProvider = { ARRAYSIZE(kEoB1IntroFilesTunnelDOS), kEoB1IntroFilesTunnelDOS }; + +static const byte kEoB1IntroOpeningFrmDelayDOS[5] = { + 0x8C, 0x32, 0x64, 0x32, 0x8C +}; + +static const ByteProvider kEoB1IntroOpeningFrmDelayDOSProvider = { ARRAYSIZE(kEoB1IntroOpeningFrmDelayDOS), kEoB1IntroOpeningFrmDelayDOS }; + +static const byte kEoB1IntroWdEncodeXDOS[31] = { + 0x00, 0x18, 0x02, 0x04, 0x1A, 0x05, 0x10, 0x06, + 0x10, 0x07, 0x11, 0x04, 0x13, 0x05, 0x06, 0x13, + 0x09, 0x14, 0x0B, 0x0D, 0x16, 0x0D, 0x16, 0x0E, + 0x1A, 0x0E, 0x17, 0x0F, 0x1B, 0x0F, 0x17 +}; + +static const ByteProvider kEoB1IntroWdEncodeXDOSProvider = { ARRAYSIZE(kEoB1IntroWdEncodeXDOS), kEoB1IntroWdEncodeXDOS }; + +static const byte kEoB1IntroWdEncodeYDOS[31] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01 +}; + +static const ByteProvider kEoB1IntroWdEncodeYDOSProvider = { ARRAYSIZE(kEoB1IntroWdEncodeYDOS), kEoB1IntroWdEncodeYDOS }; + +static const byte kEoB1IntroWdEncodeWHDOS[31] = { + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + +static const ByteProvider kEoB1IntroWdEncodeWHDOSProvider = { ARRAYSIZE(kEoB1IntroWdEncodeWHDOS), kEoB1IntroWdEncodeWHDOS }; + +static const uint16 kEoB1IntroWdDsXDOS[31] = { + 0x0120, 0x0120, 0x0120, 0x0130, 0x0130, 0x00B2, 0x00B2, 0x00BC, + 0x00BC, 0x00AE, 0x00AE, 0x0125, 0x0125, 0x0125, 0x0101, 0x0101, + 0x00E9, 0x00E9, 0x00E9, 0x00AB, 0x00AB, 0x00CC, 0x00CC, 0x00F0, + 0x00F0, 0x010C, 0x010C, 0x00E0, 0x00E0, 0x00BA, 0x00BA +}; + +static const Uint16Provider kEoB1IntroWdDsXDOSProvider = { ARRAYSIZE(kEoB1IntroWdDsXDOS), kEoB1IntroWdDsXDOS }; + +static const byte kEoB1IntroWdDsYDOS[31] = { + 0x28, 0x28, 0x28, 0x38, 0x38, 0x26, 0x26, 0x1D, + 0x1D, 0x34, 0x34, 0x50, 0x50, 0x50, 0x50, 0x50, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x2A, 0x2A, 0x66, + 0x66, 0x67, 0x67, 0x1C, 0x1C, 0x44, 0x44 +}; + +static const ByteProvider kEoB1IntroWdDsYDOSProvider = { ARRAYSIZE(kEoB1IntroWdDsYDOS), kEoB1IntroWdDsYDOS }; + +static const byte kEoB1IntroTvlX1DOS[6] = { + 0x00, 0x08, 0x10, 0x00, 0x0F, 0x00 +}; + +static const ByteProvider kEoB1IntroTvlX1DOSProvider = { ARRAYSIZE(kEoB1IntroTvlX1DOS), kEoB1IntroTvlX1DOS }; + +static const byte kEoB1IntroTvlY1DOS[6] = { + 0x00, 0x00, 0x00, 0x30, 0x36, 0x86 +}; + +static const ByteProvider kEoB1IntroTvlY1DOSProvider = { ARRAYSIZE(kEoB1IntroTvlY1DOS), kEoB1IntroTvlY1DOS }; + +static const byte kEoB1IntroTvlX2DOS[6] = { + 0x10, 0x10, 0x0F, 0x0C, 0x0B, 0x0B +}; + +static const ByteProvider kEoB1IntroTvlX2DOSProvider = { ARRAYSIZE(kEoB1IntroTvlX2DOS), kEoB1IntroTvlX2DOS }; + +static const byte kEoB1IntroTvlY2DOS[6] = { + 0x35, 0x35, 0x35, 0x35, 0x35, 0x61 +}; + +static const ByteProvider kEoB1IntroTvlY2DOSProvider = { ARRAYSIZE(kEoB1IntroTvlY2DOS), kEoB1IntroTvlY2DOS }; + +static const byte kEoB1IntroTvlWDOS[6] = { + 0x08, 0x08, 0x0B, 0x0F, 0x12, 0x12 +}; + +static const ByteProvider kEoB1IntroTvlWDOSProvider = { ARRAYSIZE(kEoB1IntroTvlWDOS), kEoB1IntroTvlWDOS }; + +static const byte kEoB1IntroTvlHDOS[6] = { + 0x1A, 0x30, 0x36, 0x45, 0x50, 0x28 +}; + +static const ByteProvider kEoB1IntroTvlHDOSProvider = { ARRAYSIZE(kEoB1IntroTvlHDOS), kEoB1IntroTvlHDOS }; + +static const byte kEoB1DoorShapeDefsDOS[96] = { + 0x00, 0x00, 0x0A, 0x48, 0x11, 0x98, 0x07, 0x2F, + 0x19, 0x48, 0x04, 0x1D, 0x0A, 0x00, 0x0A, 0x48, + 0x1D, 0x48, 0x07, 0x2F, 0x19, 0x68, 0x04, 0x1D, + 0x14, 0x00, 0x06, 0x48, 0x24, 0x48, 0x04, 0x2F, + 0x1E, 0x78, 0x03, 0x1D, 0x1A, 0x00, 0x0C, 0x48, + 0x00, 0x90, 0x07, 0x29, 0x21, 0x78, 0x04, 0x1B, + 0x00, 0xBC, 0x0A, 0x0C, 0x0A, 0xBC, 0x06, 0x08, + 0x0A, 0xC4, 0x04, 0x02, 0x07, 0x4A, 0x09, 0x37, + 0x00, 0x4A, 0x07, 0x25, 0x07, 0xA0, 0x05, 0x17, + 0x07, 0x82, 0x09, 0x1C, 0x00, 0x70, 0x07, 0x13, + 0x0C, 0xA0, 0x05, 0x0B, 0x10, 0x48, 0x09, 0x4B, + 0x18, 0x98, 0x07, 0x2E, 0x1F, 0x98, 0x04, 0x1D +}; + +static const ByteProvider kEoB1DoorShapeDefsDOSProvider = { ARRAYSIZE(kEoB1DoorShapeDefsDOS), kEoB1DoorShapeDefsDOS }; + +static const byte kEoB1DoorSwitchShapeDefsDOS[96] = { + 0x25, 0x78, 0x01, 0x07, 0x25, 0x88, 0x01, 0x03, + 0x25, 0x90, 0x01, 0x01, 0x25, 0x78, 0x01, 0x07, + 0x25, 0x88, 0x01, 0x03, 0x25, 0x90, 0x01, 0x01, + 0x26, 0x78, 0x01, 0x0B, 0x26, 0x88, 0x01, 0x06, + 0x26, 0x90, 0x01, 0x04, 0x27, 0x78, 0x01, 0x0E, + 0x27, 0x88, 0x01, 0x08, 0x25, 0x90, 0x01, 0x01, + 0x25, 0x78, 0x01, 0x07, 0x25, 0x88, 0x01, 0x03, + 0x25, 0x90, 0x01, 0x01, 0x25, 0x98, 0x01, 0x0B, + 0x25, 0xA8, 0x01, 0x06, 0x25, 0xB0, 0x01, 0x04, + 0x25, 0x98, 0x01, 0x0B, 0x25, 0xA8, 0x01, 0x05, + 0x25, 0xB0, 0x01, 0x04, 0x26, 0x98, 0x01, 0x0A, + 0x26, 0xA8, 0x01, 0x04, 0x25, 0x90, 0x01, 0x01 +}; + +static const ByteProvider kEoB1DoorSwitchShapeDefsDOSProvider = { ARRAYSIZE(kEoB1DoorSwitchShapeDefsDOS), kEoB1DoorSwitchShapeDefsDOS }; + +static const byte kEoB1DoorSwitchCoordsDOS[48] = { + 0x82, 0x24, 0x74, 0x27, 0x00, 0x00, 0x82, 0x24, + 0x74, 0x27, 0x00, 0x00, 0x5B, 0x36, 0x5A, 0x33, + 0x5A, 0x2D, 0x88, 0x26, 0x74, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x24, + 0x73, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x2B, 0x74, 0x2B, 0x00, 0x00 +}; + +static const ByteProvider kEoB1DoorSwitchCoordsDOSProvider = { ARRAYSIZE(kEoB1DoorSwitchCoordsDOS), kEoB1DoorSwitchCoordsDOS }; + +static const byte kEoB1MonsterPropertiesDOS[594] = { + 0x07, 0x12, 0xFF, 0x01, 0x01, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x4B, + 0x02, 0xFF, 0x00, 0x07, 0x11, 0x02, 0x01, 0x01, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x78, 0x00, + 0x01, 0x38, 0x39, 0x00, 0xFF, 0x00, 0x05, 0x11, + 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x0C, 0x04, 0x00, 0x00, + 0x00, 0x41, 0x00, 0x00, 0x42, 0x43, 0x00, 0x02, + 0x00, 0x08, 0x0F, 0x02, 0x01, 0x01, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x49, + 0x4A, 0x00, 0x03, 0x00, 0x04, 0x10, 0x02, 0x02, + 0x01, 0x04, 0x01, 0x01, 0x04, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0xAF, + 0x00, 0x02, 0x36, 0x37, 0x04, 0xFF, 0x14, 0x05, + 0x11, 0x03, 0x01, 0x01, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x00, + 0x00, 0x00, 0x41, 0x00, 0x00, 0x2F, 0x30, 0x00, + 0xFF, 0x00, 0x06, 0x13, 0x02, 0x01, 0x01, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x02, 0x00, 0x00, 0x00, 0x8A, 0x02, 0x02, + 0x31, 0x26, 0x00, 0xFF, 0x00, 0x03, 0x0C, 0x07, + 0x01, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xDA, 0x02, 0x00, 0x2D, 0x2E, 0x00, 0xFF, 0x00, + 0x05, 0x07, 0x0A, 0x01, 0x01, 0x08, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x04, + 0x00, 0x00, 0x00, 0xDC, 0x05, 0x00, 0x40, 0x41, + 0x00, 0x07, 0x00, 0x04, 0x0F, 0x06, 0x02, 0x01, + 0x08, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0xCF, 0x03, + 0x01, 0x27, 0x28, 0x00, 0xFF, 0x00, 0x05, 0x0D, + 0x06, 0x03, 0x01, 0x08, 0x00, 0x01, 0x04, 0x00, + 0x01, 0x04, 0x00, 0x00, 0x28, 0x03, 0x00, 0x00, + 0x00, 0x78, 0x05, 0x02, 0x25, 0x24, 0x00, 0xFF, + 0x00, 0x04, 0x0D, 0x05, 0x02, 0x01, 0x04, 0x00, + 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xE2, 0x04, 0x00, 0x3E, + 0x3F, 0x00, 0xFF, 0x00, 0x04, 0x0F, 0x04, 0x01, + 0x01, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x8A, + 0x02, 0x00, 0x2B, 0x2C, 0x00, 0xFF, 0x3C, 0xFF, + 0x07, 0x0A, 0x01, 0x03, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, + 0x00, 0x00, 0x10, 0x27, 0x02, 0x44, 0x45, 0x00, + 0xFF, 0x64, 0xFF, 0x07, 0x09, 0x01, 0x03, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x03, 0x00, 0x00, 0x00, 0xD0, 0x07, 0x00, + 0x1F, 0xFF, 0x08, 0xFF, 0x00, 0x03, 0x0D, 0x07, + 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, + 0x88, 0x13, 0x02, 0x29, 0x2A, 0x02, 0xFF, 0x3C, + 0x05, 0x0D, 0x07, 0x01, 0x01, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, + 0x00, 0x00, 0x00, 0x88, 0x13, 0x00, 0x34, 0x35, + 0x02, 0xFF, 0x00, 0x05, 0x0B, 0x08, 0x01, 0x05, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1F, + 0x00, 0x3A, 0x3B, 0xFF, 0xFF, 0x5A, 0x02, 0x0F, + 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x82, 0x02, 0x00, 0x00, + 0x00, 0x0E, 0x01, 0x02, 0x3C, 0x3D, 0x00, 0xFF, + 0x00, 0xFE, 0x0D, 0x08, 0x01, 0x06, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x02, 0x00, 0x00, 0x00, 0xA0, 0x0F, 0x02, 0x48, + 0x47, 0x00, 0xFF, 0x32, 0x04, 0x0D, 0x07, 0x01, + 0x01, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xCF, + 0x03, 0x01, 0x33, 0x32, 0x00, 0xFF, 0x28, 0x00, + 0x05, 0x23, 0x01, 0x01, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, + 0x00, 0x00, 0xB0, 0x36, 0x02, 0xFF, 0xFF, 0xFF, + 0xFF, 0x64 +}; + +static const ByteProvider kEoB1MonsterPropertiesDOSProvider = { ARRAYSIZE(kEoB1MonsterPropertiesDOS), kEoB1MonsterPropertiesDOS }; + +static const byte kEoB1EnemyMageSpellListDOS[10] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x05, + 0x06, 0x00 +}; + +static const ByteProvider kEoB1EnemyMageSpellListDOSProvider = { ARRAYSIZE(kEoB1EnemyMageSpellListDOS), kEoB1EnemyMageSpellListDOS }; + +static const byte kEoB1EnemyMageSfxDOS[10] = { + 0x00, 0x55, 0x55, 0x55, 0x55, 0x62, 0x62, 0x1F, + 0x62, 0x02 +}; + +static const ByteProvider kEoB1EnemyMageSfxDOSProvider = { ARRAYSIZE(kEoB1EnemyMageSfxDOS), kEoB1EnemyMageSfxDOS }; + +static const byte kEoB1BeholderSpellListDOS[4] = { + 0x02, 0x0A, 0x0B, 0x62 +}; + +static const ByteProvider kEoB1BeholderSpellListDOSProvider = { ARRAYSIZE(kEoB1BeholderSpellListDOS), kEoB1BeholderSpellListDOS }; + +static const byte kEoB1BeholderSfxDOS[4] = { + 0x62, 0x53, 0x40, 0x00 +}; + +static const ByteProvider kEoB1BeholderSfxDOSProvider = { ARRAYSIZE(kEoB1BeholderSfxDOS), kEoB1BeholderSfxDOS }; + +static const byte kEoB1CgaMappingDefaultDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingDefaultDOSProvider = { ARRAYSIZE(kEoB1CgaMappingDefaultDOS), kEoB1CgaMappingDefaultDOS }; + +static const byte kEoB1CgaMappingAltDOS[32] = { + 0x00, 0x02, 0x03, 0x01, 0x01, 0x03, 0x02, 0x03, + 0x02, 0x01, 0x02, 0x00, 0x00, 0x02, 0x01, 0x03, + 0x00, 0x02, 0x01, 0x00, 0x01, 0x03, 0x02, 0x02, + 0x00, 0x03, 0x02, 0x00, 0x00, 0x02, 0x01, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingAltDOSProvider = { ARRAYSIZE(kEoB1CgaMappingAltDOS), kEoB1CgaMappingAltDOS }; + +static const byte kEoB1CgaMappingInvDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x01, 0x02, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x01, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingInvDOSProvider = { ARRAYSIZE(kEoB1CgaMappingInvDOS), kEoB1CgaMappingInvDOS }; + +static const byte kEoB1CgaMappingItemsLDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x02, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, + 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingItemsLDOSProvider = { ARRAYSIZE(kEoB1CgaMappingItemsLDOS), kEoB1CgaMappingItemsLDOS }; + +static const byte kEoB1CgaMappingItemsSDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x01, 0x03, 0x03, 0x02, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x02, 0x01, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x01, 0x03, 0x03, 0x02, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x01, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingItemsSDOSProvider = { ARRAYSIZE(kEoB1CgaMappingItemsSDOS), kEoB1CgaMappingItemsSDOS }; + +static const byte kEoB1CgaMappingThrownDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x01, 0x03, 0x01, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x01, 0x03, 0x01, 0x02, + 0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingThrownDOSProvider = { ARRAYSIZE(kEoB1CgaMappingThrownDOS), kEoB1CgaMappingThrownDOS }; + +static const byte kEoB1CgaMappingIconsDOS[32] = { + 0x00, 0x02, 0x02, 0x01, 0x03, 0x02, 0x03, 0x01, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x03, + 0x00, 0x02, 0x02, 0x01, 0x03, 0x02, 0x03, 0x01, + 0x03, 0x03, 0x01, 0x01, 0x00, 0x02, 0x03, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingIconsDOSProvider = { ARRAYSIZE(kEoB1CgaMappingIconsDOS), kEoB1CgaMappingIconsDOS }; + +static const byte kEoB1CgaMappingDecoDOS[32] = { + 0x00, 0x00, 0x02, 0x00, 0x01, 0x03, 0x01, 0x02, + 0x02, 0x03, 0x02, 0x02, 0x00, 0x01, 0x03, 0x03, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x03, 0x02, 0x02, + 0x00, 0x03, 0x02, 0x03, 0x00, 0x01, 0x03, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingDecoDOSProvider = { ARRAYSIZE(kEoB1CgaMappingDecoDOS), kEoB1CgaMappingDecoDOS }; + +static const byte kEoB1CgaLevelMappingIndexDOS[12] = { + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x04 +}; + +static const ByteProvider kEoB1CgaLevelMappingIndexDOSProvider = { ARRAYSIZE(kEoB1CgaLevelMappingIndexDOS), kEoB1CgaLevelMappingIndexDOS }; + +static const byte kEoB1CgaMappingLevel0DOS[32] = { + 0x00, 0x00, 0x01, 0x01, 0x02, 0x00, 0x03, 0x03, + 0x02, 0x03, 0x02, 0x02, 0x00, 0x03, 0x03, 0x03, + 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x03, 0x03, + 0x02, 0x03, 0x02, 0x03, 0x00, 0x01, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingLevel0DOSProvider = { ARRAYSIZE(kEoB1CgaMappingLevel0DOS), kEoB1CgaMappingLevel0DOS }; + +static const byte kEoB1CgaMappingLevel1DOS[32] = { + 0x00, 0x00, 0x01, 0x00, 0x01, 0x03, 0x01, 0x02, + 0x03, 0x01, 0x02, 0x00, 0x00, 0x02, 0x03, 0x03, + 0x00, 0x01, 0x01, 0x03, 0x00, 0x03, 0x01, 0x02, + 0x03, 0x01, 0x02, 0x01, 0x00, 0x02, 0x03, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingLevel1DOSProvider = { ARRAYSIZE(kEoB1CgaMappingLevel1DOS), kEoB1CgaMappingLevel1DOS }; + +static const byte kEoB1CgaMappingLevel2DOS[32] = { + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x03, 0x03, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x03, 0x02, + 0x02, 0x01, 0x02, 0x03, 0x00, 0x00, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingLevel2DOSProvider = { ARRAYSIZE(kEoB1CgaMappingLevel2DOS), kEoB1CgaMappingLevel2DOS }; + +static const byte kEoB1CgaMappingLevel3DOS[32] = { + 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, + 0x02, 0x03, 0x01, 0x01, 0x00, 0x02, 0x02, 0x03, + 0x00, 0x01, 0x01, 0x01, 0x03, 0x01, 0x02, 0x03, + 0x00, 0x03, 0x01, 0x01, 0x00, 0x02, 0x02, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingLevel3DOSProvider = { ARRAYSIZE(kEoB1CgaMappingLevel3DOS), kEoB1CgaMappingLevel3DOS }; + +static const byte kEoB1CgaMappingLevel4DOS[32] = { + 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, + 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x01, 0x03, + 0x00, 0x02, 0x02, 0x03, 0x00, 0x01, 0x02, 0x03, + 0x02, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03 +}; + +static const ByteProvider kEoB1CgaMappingLevel4DOSProvider = { ARRAYSIZE(kEoB1CgaMappingLevel4DOS), kEoB1CgaMappingLevel4DOS }; + +static const byte kEoB1NpcShpDataDOS[76] = { + 0x00, 0x00, 0x06, 0x40, 0x06, 0x00, 0x07, 0x48, + 0x0D, 0x00, 0x06, 0x30, 0x13, 0x00, 0x05, 0x38, + 0x18, 0x00, 0x05, 0x38, 0x1D, 0x00, 0x05, 0x38, + 0x22, 0x00, 0x06, 0x48, 0x00, 0x48, 0x06, 0x56, + 0x06, 0x48, 0x05, 0x40, 0x0B, 0x48, 0x05, 0x40, + 0x10, 0x48, 0x05, 0x30, 0x06, 0x88, 0x03, 0x18, + 0x09, 0x88, 0x03, 0x18, 0x0C, 0x88, 0x03, 0x18, + 0x0F, 0x88, 0x03, 0x18, 0x12, 0x88, 0x03, 0x18, + 0x15, 0x88, 0x03, 0x18, 0x18, 0x48, 0x06, 0x58, + 0x1E, 0x48, 0x0A, 0x48 +}; + +static const ByteProvider kEoB1NpcShpDataDOSProvider = { ARRAYSIZE(kEoB1NpcShpDataDOS), kEoB1NpcShpDataDOS }; + +static const byte kEoB1NpcSubShpIndex1DOS[6] = { + 0x09, 0x08, 0x08, 0x09, 0x09, 0x0A +}; + +static const ByteProvider kEoB1NpcSubShpIndex1DOSProvider = { ARRAYSIZE(kEoB1NpcSubShpIndex1DOS), kEoB1NpcSubShpIndex1DOS }; + +static const byte kEoB1NpcSubShpIndex2DOS[6] = { + 0x0D, 0x0B, 0x0C, 0x0E, 0x0F, 0x10 +}; + +static const ByteProvider kEoB1NpcSubShpIndex2DOSProvider = { ARRAYSIZE(kEoB1NpcSubShpIndex2DOS), kEoB1NpcSubShpIndex2DOS }; + +static const byte kEoB1NpcSubShpYDOS[6] = { + 0x34, 0x31, 0x31, 0x34, 0x34, 0x45 +}; + +static const ByteProvider kEoB1NpcSubShpYDOSProvider = { ARRAYSIZE(kEoB1NpcSubShpYDOS), kEoB1NpcSubShpYDOS }; + +static const char *const kEoB1EnchantedStringDOS[1] = { + "%s +%d" +}; + +static const StringListProvider kEoB1EnchantedStringDOSProvider = { ARRAYSIZE(kEoB1EnchantedStringDOS), kEoB1EnchantedStringDOS }; + +static const byte kEoB1SpellLevelsMageDOS[26] = { + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, + 0x05, 0x00 +}; + +static const ByteProvider kEoB1SpellLevelsMageDOSProvider = { ARRAYSIZE(kEoB1SpellLevelsMageDOS), kEoB1SpellLevelsMageDOS }; + +static const byte kEoB1SpellLevelsClericDOS[25] = { + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x01, + 0x00 +}; + +static const ByteProvider kEoB1SpellLevelsClericDOSProvider = { ARRAYSIZE(kEoB1SpellLevelsClericDOS), kEoB1SpellLevelsClericDOS }; + +static const byte kEoB1NumSpellsClericDOS[50] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x03, + 0x02, 0x00, 0x00, 0x00, 0x03, 0x03, 0x01, 0x00, + 0x00, 0x03, 0x03, 0x02, 0x00, 0x00, 0x03, 0x03, + 0x02, 0x01, 0x00, 0x03, 0x03, 0x03, 0x02, 0x00, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x04, 0x04, 0x03, + 0x03, 0x02 +}; + +static const ByteProvider kEoB1NumSpellsClericDOSProvider = { ARRAYSIZE(kEoB1NumSpellsClericDOS), kEoB1NumSpellsClericDOS }; + +static const byte kEoB1NumSpellsWisAdjDOS[40] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, + 0x01, 0x01, 0x00, 0x03, 0x02, 0x01, 0x02, 0x00 +}; + +static const ByteProvider kEoB1NumSpellsWisAdjDOSProvider = { ARRAYSIZE(kEoB1NumSpellsWisAdjDOS), kEoB1NumSpellsWisAdjDOS }; + +static const byte kEoB1NumSpellsPalDOS[60] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, + 0x02, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB1NumSpellsPalDOSProvider = { ARRAYSIZE(kEoB1NumSpellsPalDOS), kEoB1NumSpellsPalDOS }; + +static const byte kEoB1NumSpellsMageDOS[55] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x03, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, + 0x00, 0x04, 0x02, 0x02, 0x00, 0x00, 0x04, 0x03, + 0x02, 0x01, 0x00, 0x04, 0x03, 0x03, 0x02, 0x00, + 0x04, 0x03, 0x03, 0x02, 0x01, 0x04, 0x04, 0x03, + 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x03 +}; + +static const ByteProvider kEoB1NumSpellsMageDOSProvider = { ARRAYSIZE(kEoB1NumSpellsMageDOS), kEoB1NumSpellsMageDOS }; + +static const uint32 kEoB1ExperienceTable0DOS[12] = { + 0x00000000, 0x000007D0, 0x00000FA0, 0x00001F40, 0x00003E80, 0x00007D00, 0x0000FA00, 0x0001E848, + 0x0003D090, 0x0007A120, 0x000B71B0, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB1ExperienceTable0DOSProvider = { ARRAYSIZE(kEoB1ExperienceTable0DOS), kEoB1ExperienceTable0DOS }; + +static const uint32 kEoB1ExperienceTable1DOS[12] = { + 0x00000000, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x0000EA60, 0x00015F90, + 0x00020F58, 0x0003D090, 0x0005B8D8, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB1ExperienceTable1DOSProvider = { ARRAYSIZE(kEoB1ExperienceTable1DOS), kEoB1ExperienceTable1DOS }; + +static const uint32 kEoB1ExperienceTable2DOS[11] = { + 0x00000000, 0x000005DC, 0x00000BB8, 0x00001770, 0x000032C8, 0x00006B6C, 0x0000D6D8, 0x0001ADB0, + 0x00036EE8, 0x0006DDD0, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB1ExperienceTable2DOSProvider = { ARRAYSIZE(kEoB1ExperienceTable2DOS), kEoB1ExperienceTable2DOS }; + +static const uint32 kEoB1ExperienceTable3DOS[12] = { + 0x00000000, 0x000004E2, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x00011170, + 0x0001ADB0, 0x00027100, 0x00035B60, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB1ExperienceTable3DOSProvider = { ARRAYSIZE(kEoB1ExperienceTable3DOS), kEoB1ExperienceTable3DOS }; + +static const uint32 kEoB1ExperienceTable4DOS[12] = { + 0x00000000, 0x000008CA, 0x00001194, 0x00002328, 0x00004650, 0x00008CA0, 0x000124F8, 0x000249F0, + 0x000493E0, 0x000927C0, 0x000DBBA0, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB1ExperienceTable4DOSProvider = { ARRAYSIZE(kEoB1ExperienceTable4DOS), kEoB1ExperienceTable4DOS }; + +static const byte kEoB1ExpObjectTblIndexDOS[9] = { + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, + 0x00 +}; + +static const ByteProvider kEoB1ExpObjectTblIndexDOSProvider = { ARRAYSIZE(kEoB1ExpObjectTblIndexDOS), kEoB1ExpObjectTblIndexDOS }; + +static const byte kEoB1ExpObjectShpStartDOS[4] = { + 0x07, 0x0C, 0x0F, 0x12 +}; + +static const ByteProvider kEoB1ExpObjectShpStartDOSProvider = { ARRAYSIZE(kEoB1ExpObjectShpStartDOS), kEoB1ExpObjectShpStartDOS }; + +static const byte kEoB1ExpObjectTbl1DOS[13] = { + 0x0F, 0x05, 0x0F, 0x05, 0x06, 0x05, 0x06, 0x08, + 0x06, 0x08, 0x06, 0x08, 0x00 +}; + +static const ByteProvider kEoB1ExpObjectTbl1DOSProvider = { ARRAYSIZE(kEoB1ExpObjectTbl1DOS), kEoB1ExpObjectTbl1DOS }; + +static const byte kEoB1ExpObjectTbl2DOS[10] = { + 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x0B, 0x0A, + 0x0B, 0x00 +}; + +static const ByteProvider kEoB1ExpObjectTbl2DOSProvider = { ARRAYSIZE(kEoB1ExpObjectTbl2DOS), kEoB1ExpObjectTbl2DOS }; + +static const byte kEoB1ExpObjectTbl3DOS[11] = { + 0x05, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x0B, + 0x03, 0x0B, 0x00 +}; + +static const ByteProvider kEoB1ExpObjectTbl3DOSProvider = { ARRAYSIZE(kEoB1ExpObjectTbl3DOS), kEoB1ExpObjectTbl3DOS }; + +static const byte kEoB1ExpObjectYDOS[4] = { + 0x77, 0x67, 0x4F, 0x3F +}; + +static const ByteProvider kEoB1ExpObjectYDOSProvider = { ARRAYSIZE(kEoB1ExpObjectYDOS), kEoB1ExpObjectYDOS }; + +static const byte kEoB1SparkDefStepsDOS[8] = { + 0x40, 0x90, 0xE4, 0xB9, 0x6E, 0x1B, 0x06, 0x01 +}; + +static const ByteProvider kEoB1SparkDefStepsDOSProvider = { ARRAYSIZE(kEoB1SparkDefStepsDOS), kEoB1SparkDefStepsDOS }; + +static const byte kEoB1SparkDefSubStepsDOS[4] = { + 0xC0, 0x30, 0x0C, 0x03 +}; + +static const ByteProvider kEoB1SparkDefSubStepsDOSProvider = { ARRAYSIZE(kEoB1SparkDefSubStepsDOS), kEoB1SparkDefSubStepsDOS }; + +static const byte kEoB1SparkDefShiftDOS[4] = { + 0x06, 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB1SparkDefShiftDOSProvider = { ARRAYSIZE(kEoB1SparkDefShiftDOS), kEoB1SparkDefShiftDOS }; + +static const byte kEoB1SparkDefAddDOS[8] = { + 0x08, 0x06, 0x1C, 0x14, 0x0D, 0x18, 0x0D, 0x0F +}; + +static const ByteProvider kEoB1SparkDefAddDOSProvider = { ARRAYSIZE(kEoB1SparkDefAddDOS), kEoB1SparkDefAddDOS }; + +static const byte kEoB1SparkDefXDOS[6] = { + 0x17, 0x20, 0x17, 0x20, 0x17, 0x20 +}; + +static const ByteProvider kEoB1SparkDefXDOSProvider = { ARRAYSIZE(kEoB1SparkDefXDOS), kEoB1SparkDefXDOS }; + +static const byte kEoB1SparkDefYDOS[6] = { + 0x02, 0x02, 0x34, 0x34, 0x66, 0x66 +}; + +static const ByteProvider kEoB1SparkDefYDOSProvider = { ARRAYSIZE(kEoB1SparkDefYDOS), kEoB1SparkDefYDOS }; + +static const uint32 kEoB1SparkOfFlags1DOS[11] = { + 0x40000000, 0x95000000, 0xEA550000, 0xBFAA5400, 0x6AFFA954, 0x15AAFEA9, 0x0055ABFE, 0x000056AB, + 0x00000156, 0x00000001, 0x00000000 +}; + +static const Uint32Provider kEoB1SparkOfFlags1DOSProvider = { ARRAYSIZE(kEoB1SparkOfFlags1DOS), kEoB1SparkOfFlags1DOS }; + +static const uint32 kEoB1SparkOfFlags2DOS[16] = { + 0xC0000000, 0x30000000, 0x0C000000, 0x03000000, 0x00C00000, 0x00300000, 0x000C0000, 0x00030000, + 0x0000C000, 0x00003000, 0x00000C00, 0x00000300, 0x000000C0, 0x00000030, 0x0000000C, 0x00000003 +}; + +static const Uint32Provider kEoB1SparkOfFlags2DOSProvider = { ARRAYSIZE(kEoB1SparkOfFlags2DOS), kEoB1SparkOfFlags2DOS }; + +static const byte kEoB1SparkOfShiftDOS[16] = { + 0x1E, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x12, 0x10, + 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB1SparkOfShiftDOSProvider = { ARRAYSIZE(kEoB1SparkOfShiftDOS), kEoB1SparkOfShiftDOS }; + +static const byte kEoB1SparkOfXDOS[16] = { + 0x50, 0x70, 0x30, 0x68, 0x20, 0x60, 0x38, 0x78, + 0x80, 0x48, 0x58, 0x28, 0x60, 0x40, 0x70, 0x48 +}; + +static const ByteProvider kEoB1SparkOfXDOSProvider = { ARRAYSIZE(kEoB1SparkOfXDOS), kEoB1SparkOfXDOS }; + +static const byte kEoB1SparkOfYDOS[16] = { + 0x31, 0x2B, 0x48, 0x17, 0x16, 0x48, 0x35, 0x1B, + 0x43, 0x2E, 0x24, 0x28, 0x38, 0x1C, 0x16, 0x44 +}; + +static const ByteProvider kEoB1SparkOfYDOSProvider = { ARRAYSIZE(kEoB1SparkOfYDOS), kEoB1SparkOfYDOS }; + +static const byte kEoB1SpellPropertiesDOS[1007] = { + 0x4D, 0x2C, 0x2E, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4E, 0x2C, 0x2E, 0x21, 0x01, + 0x0B, 0x0F, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x86, 0x0F, 0xF3, 0x0E, 0x5C, 0x00, 0x54, 0x2C, + 0x2E, 0x21, 0x00, 0x99, 0x0F, 0xF3, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, + 0x01, 0x62, 0x2C, 0x2E, 0x21, 0x08, 0x69, 0x10, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x10, + 0xF3, 0x0E, 0x5F, 0x00, 0x6F, 0x2C, 0x2E, 0x21, + 0x00, 0xD2, 0x10, 0xF3, 0x0E, 0xF2, 0x10, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7D, 0x2C, 0x2E, 0x21, 0x04, 0x22, + 0x11, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x76, + 0x11, 0xF3, 0x0E, 0x5C, 0x00, 0x84, 0x2C, 0x2E, + 0x21, 0x02, 0x97, 0x11, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x33, 0x12, 0xF3, 0x0E, 0x58, 0x00, + 0x93, 0x2C, 0x2E, 0x21, 0x01, 0x7F, 0x12, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x12, 0xF3, + 0x0E, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x2C, + 0x2E, 0x21, 0x00, 0xC2, 0x12, 0xF3, 0x0E, 0xE3, + 0x12, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x01, 0xB2, 0x2C, 0x2E, 0x21, 0x00, 0x15, 0x13, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xC1, 0x2C, 0x2E, 0x21, + 0x01, 0x1A, 0x13, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0xCE, + 0x2C, 0x2E, 0x21, 0x00, 0xFD, 0x13, 0xF3, 0x0E, + 0x1E, 0x14, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x62, 0x01, 0xD7, 0x2C, 0x2E, 0x21, 0x00, 0x4A, + 0x14, 0xF3, 0x0E, 0x6B, 0x14, 0xF3, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x63, 0x01, 0xE3, 0x2C, 0x2E, + 0x21, 0x08, 0x97, 0x14, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0xF9, 0x14, 0xF3, 0x0E, 0x64, 0x00, + 0xE9, 0x2C, 0x2E, 0x21, 0x00, 0x0F, 0x15, 0xF3, + 0x0E, 0x30, 0x15, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x65, 0x01, 0xF5, 0x2C, 0x2E, 0x21, 0x08, + 0xD0, 0x15, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0xA1, 0x12, 0xF3, 0x0E, 0x5E, 0x00, 0x0D, 0x2D, + 0x2E, 0x21, 0x00, 0x09, 0x16, 0xF3, 0x0E, 0x2A, + 0x16, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0x01, 0x1C, 0x2D, 0x2E, 0x21, 0x02, 0x56, 0x16, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x16, + 0xF3, 0x0E, 0x66, 0x00, 0x2B, 0x2D, 0x2E, 0x21, + 0x00, 0x02, 0x17, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x01, 0x30, + 0x2D, 0x2E, 0x21, 0x00, 0xB7, 0x17, 0xF3, 0x0E, + 0xD8, 0x17, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x59, 0x01, 0x3A, 0x2D, 0x2E, 0x21, 0x01, 0x65, + 0x18, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5D, 0x00, 0x44, 0x2D, 0x2E, + 0x21, 0x00, 0xD3, 0x18, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x4E, 0x2D, 0x2E, 0x21, 0x00, 0xD8, 0x18, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x76, 0x01, 0x5B, 0x2D, 0x2E, 0x21, 0x00, + 0x0F, 0x1A, 0xF3, 0x0E, 0x30, 0x1A, 0xF3, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x65, 0x01, 0x68, 0x2D, + 0x2E, 0x21, 0x08, 0xD0, 0x1A, 0xF3, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x13, 0x1B, 0xF3, 0x0E, 0x5B, + 0x00, 0x6E, 0x2D, 0x2E, 0x21, 0x01, 0x20, 0x1B, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x68, 0x00, 0x80, 0x2D, 0x2E, 0x21, + 0x00, 0x43, 0x1B, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x01, 0x93, + 0x2D, 0x2E, 0x21, 0x08, 0x69, 0x10, 0xF3, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0xAE, 0x10, 0xF3, 0x0E, + 0x5F, 0x00, 0xA0, 0x2D, 0x2E, 0x21, 0x01, 0x5A, + 0x1B, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x8D, + 0x1B, 0xF3, 0x0E, 0x6E, 0x00, 0xB5, 0x2D, 0x2E, + 0x21, 0x01, 0xA3, 0x1B, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x45, 0x1C, 0xF3, 0x0E, 0x5B, 0x00, + 0xB9, 0x2D, 0x2E, 0x21, 0x02, 0x38, 0x1D, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x33, 0x12, 0xF3, + 0x0E, 0x63, 0x00, 0xC5, 0x2D, 0x2E, 0x21, 0x00, + 0x0F, 0x15, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x65, 0x01, 0xD1, 0x2D, + 0x2E, 0x21, 0x01, 0x75, 0x1C, 0xF3, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0xD2, 0x1C, 0xF3, 0x0E, 0x6F, + 0x00, 0xDD, 0x2D, 0x2E, 0x21, 0x08, 0xC0, 0x1D, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x00, 0xE9, 0x2D, 0x2E, 0x21, + 0x01, 0x1A, 0x13, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0xF6, + 0x2D, 0x2E, 0x21, 0x04, 0xDF, 0x1D, 0xF3, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1E, 0xF3, 0x0E, + 0x71, 0x00, 0x07, 0x2E, 0x2E, 0x21, 0x08, 0x3E, + 0x1E, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x6C, + 0x1E, 0xF3, 0x0E, 0x5B, 0x00, 0x0E, 0x2E, 0x2E, + 0x21, 0x08, 0x7E, 0x1E, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, + 0x1F, 0x2E, 0x2E, 0x21, 0x01, 0xCC, 0x1E, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x69, 0x00, 0x33, 0x2E, 0x2E, 0x21, 0x00, + 0xF3, 0x1E, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6C, 0x01, 0x48, 0x2E, + 0x2E, 0x21, 0x01, 0x0B, 0x1F, 0xF3, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, + 0x00, 0x5A, 0x2E, 0x2E, 0x21, 0x08, 0x33, 0x1F, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x1F, + 0xF3, 0x0E, 0x6E, 0x00, 0x7A, 0x2E, 0x2E, 0x21, + 0x04, 0xC8, 0x1F, 0xF3, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x94, + 0x2E, 0x2E, 0x21, 0x01, 0xD2, 0x1F, 0xF3, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6A, 0x00, 0xA9, 0x2E, 0x2E, 0x21, 0x00, 0xF9, + 0x1F, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6C, 0x01, 0xBF, 0x2E, 0x2E, + 0x21, 0x00, 0x11, 0x20, 0xF3, 0x0E, 0x32, 0x20, + 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01, + 0xCC, 0x2E, 0x2E, 0x21, 0x01, 0x50, 0x20, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x75, 0x00, 0xD7, 0x2E, 0x2E, 0x21, 0x01, + 0xBC, 0x21, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0xE4, 0x2E, + 0x2E, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, + 0x20, 0xF3, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x75, + 0x00, 0xE5, 0x2E, 0x2E, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xA8, 0x20, 0xF3, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x75, 0x00, 0xE6, 0x2E, 0x2E, 0x21, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x21, 0xF3, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00 +}; + +static const ByteProvider kEoB1SpellPropertiesDOSProvider = { ARRAYSIZE(kEoB1SpellPropertiesDOS), kEoB1SpellPropertiesDOS }; + +static const byte kEoB1MagicFlightPropsDOS[96] = { + 0x04, 0xFF, 0x41, 0x09, 0x0A, 0xFF, 0x04, 0x05, + 0x0D, 0xFF, 0x7A, 0x06, 0x0E, 0xFF, 0x0C, 0x05, + 0x10, 0xFF, 0x4A, 0x0A, 0x12, 0x06, 0x38, 0x07, + 0x15, 0x06, 0x7A, 0x08, 0x19, 0xFF, 0x4A, 0x0A, + 0x2F, 0xFF, 0x4B, 0x06, 0x32, 0xFF, 0x09, 0x07, + 0x33, 0xFF, 0x09, 0x0A, 0x34, 0xFF, 0x09, 0x0A, + 0x01, 0x01, 0x00, 0x00, 0x03, 0xFD, 0x02, 0xFE, + 0x01, 0xFF, 0x00, 0x00, 0x98, 0x00, 0x18, 0x00, + 0x78, 0x00, 0x38, 0x00, 0x58, 0x00, 0x40, 0x40, + 0x38, 0x38, 0x38, 0x38, 0xE0, 0x20, 0x01, 0xFF, + 0x0F, 0x00, 0x09, 0x00, 0x0F, 0x00, 0x09, 0x00, + 0x02, 0x00, 0x0A, 0x00, 0x02, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB1MagicFlightPropsDOSProvider = { ARRAYSIZE(kEoB1MagicFlightPropsDOS), kEoB1MagicFlightPropsDOS }; + +static const byte kEoB1TurnUndeadEffectDOS[140] = { + 0x0A, 0x07, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x0A, + 0x07, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x0D, 0x0A, 0x07, + 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x14, 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x14, + 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x63, 0x63, 0x14, 0x13, + 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, + 0x0D, 0x0A, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, + 0x63, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0D, + 0x0A, 0x07, 0x07, 0x04, 0x04, 0x00, 0x63, 0x63, + 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0D, 0x0A, + 0x0A, 0x07, 0x07, 0x04 +}; + +static const ByteProvider kEoB1TurnUndeadEffectDOSProvider = { ARRAYSIZE(kEoB1TurnUndeadEffectDOS), kEoB1TurnUndeadEffectDOS }; + +static const byte kEoB1BurningHandsDestDOS[8] = { + 0x02, 0x03, 0x00, 0x02, 0x00, 0x01, 0x01, 0x03 +}; + +static const ByteProvider kEoB1BurningHandsDestDOSProvider = { ARRAYSIZE(kEoB1BurningHandsDestDOS), kEoB1BurningHandsDestDOS }; + +static const byte kEoB1ConeOfColdDest1DOS[7] = { + 0xE0, 0xC0, 0xC1, 0xBF, 0xA0, 0x9F, 0xA1 +}; + +static const ByteProvider kEoB1ConeOfColdDest1DOSProvider = { ARRAYSIZE(kEoB1ConeOfColdDest1DOS), kEoB1ConeOfColdDest1DOS }; + +static const byte kEoB1ConeOfColdDest2DOS[7] = { + 0x01, 0x02, 0xE2, 0x22, 0x03, 0xE3, 0x23 +}; + +static const ByteProvider kEoB1ConeOfColdDest2DOSProvider = { ARRAYSIZE(kEoB1ConeOfColdDest2DOS), kEoB1ConeOfColdDest2DOS }; + +static const byte kEoB1ConeOfColdDest3DOS[7] = { + 0x20, 0x40, 0x3F, 0x41, 0x60, 0x5F, 0x61 +}; + +static const ByteProvider kEoB1ConeOfColdDest3DOSProvider = { ARRAYSIZE(kEoB1ConeOfColdDest3DOS), kEoB1ConeOfColdDest3DOS }; + +static const byte kEoB1ConeOfColdDest4DOS[7] = { + 0xFF, 0xFE, 0x1E, 0xDE, 0xFD, 0x1D, 0xDD +}; + +static const ByteProvider kEoB1ConeOfColdDest4DOSProvider = { ARRAYSIZE(kEoB1ConeOfColdDest4DOS), kEoB1ConeOfColdDest4DOS }; + +static const byte kEoB1ConeOfColdGfxTblDOS[8] = { + 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x02, 0x00 +}; + +static const ByteProvider kEoB1ConeOfColdGfxTblDOSProvider = { ARRAYSIZE(kEoB1ConeOfColdGfxTblDOS), kEoB1ConeOfColdGfxTblDOS }; + +static const byte kEoB1DscDoorShapeIndexDOS[32] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 +}; + +static const ByteProvider kEoB1DscDoorShapeIndexDOSProvider = { ARRAYSIZE(kEoB1DscDoorShapeIndexDOS), kEoB1DscDoorShapeIndexDOS }; + +static const byte kEoB1WllFlagPresetDOS[25] = { + 0x07, 0x00, 0x40, 0xA8, 0x88, 0x88, 0x88, 0x9F, + 0xA8, 0x88, 0x88, 0x88, 0x9F, 0xAA, 0x8A, 0x8A, + 0x8A, 0x9F, 0xAA, 0x8A, 0x8A, 0x8A, 0x9F, 0x03, + 0x03 +}; + +static const ByteProvider kEoB1WllFlagPresetDOSProvider = { ARRAYSIZE(kEoB1WllFlagPresetDOS), kEoB1WllFlagPresetDOS }; + +static const uint16 kEoB1DscShapeCoordsDOS[180] = { + 0xFF91, 0xFFC1, 0xFFA1, 0xFFC1, 0xFF75, 0xFFC5, 0xFF8B, 0xFFC5, + 0xFF88, 0xFFC3, 0xFFB4, 0xFFC1, 0xFFC4, 0xFFC1, 0xFFA1, 0xFFC5, + 0xFFB6, 0xFFC5, 0xFFB0, 0xFFC3, 0xFFD5, 0xFFC1, 0xFFE5, 0xFFC1, + 0xFFCB, 0xFFC5, 0xFFE1, 0xFFC5, 0xFFD8, 0xFFC3, 0xFFF8, 0xFFC1, + 0x0008, 0xFFC1, 0xFFF6, 0xFFC5, 0x000A, 0xFFC5, 0x0000, 0xFFC3, + 0x001B, 0xFFC1, 0x002B, 0xFFC1, 0x001F, 0xFFC5, 0x0035, 0xFFC5, + 0x0028, 0xFFC3, 0x003C, 0xFFC1, 0x004C, 0xFFC1, 0x004A, 0xFFC5, + 0x005F, 0xFFC5, 0x0050, 0xFFC3, 0x005F, 0xFFC1, 0x006F, 0xFFC1, + 0x0075, 0xFFC5, 0x008B, 0xFFC5, 0x0078, 0xFFC3, 0xFF8A, 0xFFCB, + 0xFFA4, 0xFFCB, 0xFF68, 0xFFD3, 0xFF88, 0xFFD3, 0xFF8A, 0xFFCE, + 0xFFBE, 0xFFCB, 0xFFD8, 0xFFCB, 0xFFAC, 0xFFD3, 0xFFCD, 0xFFD3, + 0xFFC5, 0xFFCE, 0xFFF3, 0xFFCB, 0x000D, 0xFFCB, 0xFFF0, 0xFFD3, + 0x0010, 0xFFD3, 0x0000, 0xFFCE, 0x0028, 0xFFCB, 0x0042, 0xFFCB, + 0x0033, 0xFFD3, 0x0054, 0xFFD3, 0x003B, 0xFFCE, 0x005C, 0xFFCB, + 0x0076, 0xFFCB, 0x0078, 0xFFD3, 0x0098, 0xFFD3, 0x0076, 0xFFCE, + 0xFF92, 0xFFDD, 0xFFBD, 0xFFDD, 0xFF74, 0xFFEA, 0xFFAD, 0xFFEA, + 0xFF9E, 0xFFE2, 0xFFEA, 0xFFDD, 0x0016, 0xFFDD, 0xFFE5, 0xFFEA, + 0x001B, 0xFFEA, 0x0000, 0xFFE2, 0x0043, 0xFFDD, 0x006E, 0xFFDD, + 0x0053, 0xFFEA, 0x008C, 0xFFEA, 0x0062, 0xFFE2, 0xFF80, 0xFFFC, + 0x0080, 0xFFFC, 0xFF80, 0xFFBE, 0x0080, 0xFFBE, 0x0080, 0x0000, + 0xFFDA, 0xFFFC, 0x0026, 0xFFFC, 0xFFDA, 0xFFBE, 0x0026, 0xFFBE, + 0x0000, 0x0000, 0xFF80, 0xFFFC, 0x0080, 0xFFFC, 0xFF80, 0xFFBE, + 0x0080, 0xFFBE, 0x0080, 0x0000 +}; + +static const Uint16Provider kEoB1DscShapeCoordsDOSProvider = { ARRAYSIZE(kEoB1DscShapeCoordsDOS), kEoB1DscShapeCoordsDOS }; + +static const byte kEoB1DscDoorScaleOffsDOS[32] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F +}; + +static const ByteProvider kEoB1DscDoorScaleOffsDOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleOffsDOS), kEoB1DscDoorScaleOffsDOS }; + +static const byte kEoB1DscDoorScaleMult1DOS[4] = { + 0x08, 0x0C, 0x12, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult1DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult1DOS), kEoB1DscDoorScaleMult1DOS }; + +static const byte kEoB1DscDoorScaleMult2DOS[4] = { + 0x00, 0x02, 0x04, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult2DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult2DOS), kEoB1DscDoorScaleMult2DOS }; + +static const byte kEoB1DscDoorScaleMult3DOS[4] = { + 0x04, 0x06, 0x09, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult3DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult3DOS), kEoB1DscDoorScaleMult3DOS }; + +static const byte kEoB1DscDoorScaleMult4DOS[4] = { + 0x00, 0x02, 0x04, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult4DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult4DOS), kEoB1DscDoorScaleMult4DOS }; + +static const byte kEoB1DscDoorScaleMult5DOS[4] = { + 0x07, 0x0B, 0x0E, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult5DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult5DOS), kEoB1DscDoorScaleMult5DOS }; + +static const byte kEoB1DscDoorScaleMult6DOS[4] = { + 0x00, 0x02, 0x04, 0x00 +}; + +static const ByteProvider kEoB1DscDoorScaleMult6DOSProvider = { ARRAYSIZE(kEoB1DscDoorScaleMult6DOS), kEoB1DscDoorScaleMult6DOS }; + +static const byte kEoB1DscDoorXEDOS[32] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F +}; + +static const ByteProvider kEoB1DscDoorXEDOSProvider = { ARRAYSIZE(kEoB1DscDoorXEDOS), kEoB1DscDoorXEDOS }; + +static const byte kEoB1DscDoorY1DOS[4] = { + 0x3A, 0x47, 0x56, 0x00 +}; + +static const ByteProvider kEoB1DscDoorY1DOSProvider = { ARRAYSIZE(kEoB1DscDoorY1DOS), kEoB1DscDoorY1DOS }; + +static const byte kEoB1DscDoorY3DOS[4] = { + 0x20, 0x20, 0x18, 0x00 +}; + +static const ByteProvider kEoB1DscDoorY3DOSProvider = { ARRAYSIZE(kEoB1DscDoorY3DOS), kEoB1DscDoorY3DOS }; + +static const byte kEoB1DscDoorY4DOS[4] = { + 0x1E, 0x18, 0x10, 0x30 +}; + +static const ByteProvider kEoB1DscDoorY4DOSProvider = { ARRAYSIZE(kEoB1DscDoorY4DOS), kEoB1DscDoorY4DOS }; + +static const byte kEoB1DscDoorY5DOS[4] = { + 0x30, 0x34, 0x3B, 0x3A +}; + +static const ByteProvider kEoB1DscDoorY5DOSProvider = { ARRAYSIZE(kEoB1DscDoorY5DOS), kEoB1DscDoorY5DOS }; + +static const byte kEoB1DscDoorY6DOS[4] = { + 0x3A, 0x45, 0x5A, 0x00 +}; + +static const ByteProvider kEoB1DscDoorY6DOSProvider = { ARRAYSIZE(kEoB1DscDoorY6DOS), kEoB1DscDoorY6DOS }; + +static const byte kEoB1DscDoorY7DOS[4] = { + 0x3B, 0x47, 0x58, 0x00 +}; + +static const ByteProvider kEoB1DscDoorY7DOSProvider = { ARRAYSIZE(kEoB1DscDoorY7DOS), kEoB1DscDoorY7DOS }; + +static const uint16 kEoB1DscDoorCoordsExtDOS[36] = { + 0x0000, 0x0000, 0xFFE8, 0x0010, 0x0020, 0x0040, 0x0048, 0x0068, + 0x0070, 0x0090, 0x00A0, 0x00C8, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFE8, 0x0030, 0x0038, 0x0078, 0x0080, 0x00C8, 0x0000, 0x0000, + 0xFFA8, 0x0020, 0x0028, 0x0088, 0x0090, 0x0108, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kEoB1DscDoorCoordsExtDOSProvider = { ARRAYSIZE(kEoB1DscDoorCoordsExtDOS), kEoB1DscDoorCoordsExtDOS }; + +static const byte kEoB1DscDoorFrameY1DOS[32] = { + 0x20, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x18, 0x00, 0x1E, 0x18, 0x10, 0x00, + 0x3A, 0x48, 0x60, 0x78, 0x3A, 0x46, 0x56, 0x00, + 0x78, 0x78, 0x78, 0x78, 0x1F, 0x18, 0x0F, 0x00 +}; + +static const ByteProvider kEoB1DscDoorFrameY1DOSProvider = { ARRAYSIZE(kEoB1DscDoorFrameY1DOS), kEoB1DscDoorFrameY1DOS }; + +static const byte kEoB1DscDoorFrameY2DOS[32] = { + 0x20, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x18, 0x00, 0x1E, 0x18, 0x10, 0x00, + 0x3A, 0x48, 0x60, 0x78, 0x3A, 0x46, 0x56, 0x00, + 0x78, 0x78, 0x78, 0x78, 0x1F, 0x18, 0x0F, 0x00 +}; + +static const ByteProvider kEoB1DscDoorFrameY2DOSProvider = { ARRAYSIZE(kEoB1DscDoorFrameY2DOS), kEoB1DscDoorFrameY2DOS }; + +static const byte kEoB1DscDoorFrameIndex1DOS[12] = { + 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x08, 0x08, + 0x08, 0x0C, 0x0C, 0x1C +}; + +static const ByteProvider kEoB1DscDoorFrameIndex1DOSProvider = { ARRAYSIZE(kEoB1DscDoorFrameIndex1DOS), kEoB1DscDoorFrameIndex1DOS }; + +static const byte kEoB1DscDoorFrameIndex2DOS[12] = { + 0x10, 0x10, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, + 0x10, 0x14, 0x14, 0x18 +}; + +static const ByteProvider kEoB1DscDoorFrameIndex2DOSProvider = { ARRAYSIZE(kEoB1DscDoorFrameIndex2DOS), kEoB1DscDoorFrameIndex2DOS }; + +static const byte kEoB1DscItemPosIndexDOS[16] = { + 0x00, 0x01, 0x02, 0x03, 0x02, 0x00, 0x03, 0x01, + 0x03, 0x02, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 +}; + +static const ByteProvider kEoB1DscItemPosIndexDOSProvider = { ARRAYSIZE(kEoB1DscItemPosIndexDOS), kEoB1DscItemPosIndexDOS }; + +static const uint16 kEoB1DscItemShpXDOS[18] = { + 0xFFC8, 0xFFF8, 0x0028, 0x0058, 0x0088, 0x00B8, 0x00E8, 0xFFB8, + 0x0008, 0x0058, 0x00A8, 0x00F8, 0xFFD8, 0x0058, 0x00D8, 0xFFA8, + 0x0058, 0x0108 +}; + +static const Uint16Provider kEoB1DscItemShpXDOSProvider = { ARRAYSIZE(kEoB1DscItemShpXDOS), kEoB1DscItemShpXDOS }; + +static const byte kEoB1DscItemScaleIndexDOS[18] = { + 0xFF, 0xFF, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, + 0x25, 0x00 +}; + +static const ByteProvider kEoB1DscItemScaleIndexDOSProvider = { ARRAYSIZE(kEoB1DscItemScaleIndexDOS), kEoB1DscItemScaleIndexDOS }; + +static const byte kEoB1DscItemTileIndexDOS[18] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0x0B, + 0x0C, 0x0D +}; + +static const ByteProvider kEoB1DscItemTileIndexDOSProvider = { ARRAYSIZE(kEoB1DscItemTileIndexDOS), kEoB1DscItemTileIndexDOS }; + +static const byte kEoB1DscItemShapeMapDOS[90] = { + 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04, + 0x05, 0x06, 0x07, 0x07, 0x12, 0x06, 0x0F, 0x12, + 0x14, 0x17, 0x13, 0x11, 0x15, 0x0D, 0x09, 0x09, + 0x16, 0x1F, 0x0C, 0x23, 0x0C, 0x0C, 0x0C, 0x0B, + 0x0A, 0x1C, 0x1C, 0x1A, 0x1B, 0x21, 0x1D, 0x1D, + 0x22, 0x22, 0x22, 0x00, 0x08, 0x00, 0x25, 0x18, + 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x19, 0x23, + 0x10, 0x1E, 0x24, 0x18, 0x1C, 0x20, 0x12, 0x21, + 0x1E, 0x23, 0x1C, 0x00, 0x20, 0x11, 0x11, 0x0D, + 0x1F, 0x09, 0x09, 0x15, 0x15, 0x0F, 0x05, 0x0C, + 0x1E, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1B, + 0x1B, 0x00 +}; + +static const ByteProvider kEoB1DscItemShapeMapDOSProvider = { ARRAYSIZE(kEoB1DscItemShapeMapDOS), kEoB1DscItemShapeMapDOS }; + +static const byte kEoB1DscTelptrShpCoordsDOS[156] = { + 0x0C, 0x07, 0x1A, 0x01, 0x3E, 0x03, 0x0C, 0x1A, + 0x2A, 0x13, 0x40, 0x18, 0x02, 0x2D, 0x16, 0x25, + 0x28, 0x32, 0x36, 0x27, 0x0A, 0x3E, 0x16, 0x49, + 0x3E, 0x44, 0x06, 0x06, 0x2A, 0x04, 0x37, 0x0A, + 0x04, 0x1B, 0x1A, 0x16, 0x37, 0x1D, 0x0E, 0x2A, + 0x1B, 0x35, 0x2E, 0x28, 0x42, 0x30, 0x06, 0x47, + 0x06, 0x47, 0x2D, 0x4C, 0x0A, 0x04, 0x14, 0x00, + 0x2E, 0x01, 0x0C, 0x10, 0x1F, 0x10, 0x2F, 0x10, + 0x12, 0x18, 0x28, 0x1D, 0x01, 0x21, 0x08, 0x2A, + 0x11, 0x32, 0x2F, 0x2E, 0x1F, 0x25, 0x02, 0x02, + 0x01, 0x11, 0x01, 0x2F, 0x08, 0x1E, 0x11, 0x0E, + 0x11, 0x26, 0x1C, 0x01, 0x1E, 0x19, 0x1F, 0x33, + 0x24, 0x11, 0x26, 0x05, 0x28, 0x2B, 0x2F, 0x22, + 0x00, 0x13, 0x05, 0x01, 0x06, 0x08, 0x09, 0x0C, + 0x04, 0x1A, 0x08, 0x1F, 0x12, 0x05, 0x12, 0x15, + 0x16, 0x10, 0x1A, 0x08, 0x1A, 0x1D, 0x0A, 0x00, + 0x0A, 0x00, 0x00, 0x09, 0x00, 0x1E, 0x04, 0x11, + 0x08, 0x16, 0x08, 0x06, 0x10, 0x00, 0x11, 0x0D, + 0x12, 0x20, 0x15, 0x02, 0x14, 0x09, 0x16, 0x1B, + 0x1A, 0x14, 0x1A, 0x14 +}; + +static const ByteProvider kEoB1DscTelptrShpCoordsDOSProvider = { ARRAYSIZE(kEoB1DscTelptrShpCoordsDOS), kEoB1DscTelptrShpCoordsDOS }; + +static const byte kEoB1PortalSeqDataDOS[126] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x01, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02, + 0x02, 0x03, 0x01, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x02, 0x04, 0x03, 0x02, 0x04, 0x03, 0x03, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 0x03, 0x07, + 0x02, 0x08, 0x02, 0x08, 0x01, 0x09, 0x01, 0x09, + 0x01, 0x09, 0x00, 0x0A, 0xFF, 0xFF +}; + +static const ByteProvider kEoB1PortalSeqDataDOSProvider = { ARRAYSIZE(kEoB1PortalSeqDataDOS), kEoB1PortalSeqDataDOS }; + +static const byte kEoB1DscMonsterFrmOffsTbl1DOS[32] = { + 0x04, 0xFE, 0x01, 0x03, 0x03, 0x04, 0xFE, 0x01, + 0x01, 0x03, 0x04, 0xFE, 0xFE, 0x01, 0x03, 0x04, + 0xFC, 0xFD, 0xFF, 0x02, 0x02, 0xFC, 0xFD, 0xFF, + 0xFF, 0x02, 0xFC, 0xFD, 0xFD, 0xFF, 0x02, 0xFC +}; + +static const ByteProvider kEoB1DscMonsterFrmOffsTbl1DOSProvider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl1DOS), kEoB1DscMonsterFrmOffsTbl1DOS }; + +static const byte kEoB1DscMonsterFrmOffsTbl2DOS[32] = { + 0x04, 0xFE, 0x01, 0x03, 0x03, 0x04, 0xFE, 0x01, + 0x01, 0x03, 0x04, 0xFE, 0xFE, 0x01, 0x03, 0x04, + 0x04, 0xFD, 0x01, 0x02, 0x02, 0x04, 0xFD, 0x01, + 0x01, 0x02, 0x04, 0xFD, 0xFD, 0x01, 0x02, 0x04 +}; + +static const ByteProvider kEoB1DscMonsterFrmOffsTbl2DOSProvider = { ARRAYSIZE(kEoB1DscMonsterFrmOffsTbl2DOS), kEoB1DscMonsterFrmOffsTbl2DOS }; + +static const uint16 kEoB1InvSlotXDOS[27] = { + 0x00E6, 0x0116, 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, + 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, + 0x00E1, 0x00E0, 0x00E1, 0x012A, 0x011F, 0x0115, 0x012C, 0x012C, + 0x012C, 0x00E4, 0x00F0 +}; + +static const Uint16Provider kEoB1InvSlotXDOSProvider = { ARRAYSIZE(kEoB1InvSlotXDOS), kEoB1InvSlotXDOS }; + +static const byte kEoB1InvSlotYDOS[27] = { + 0x74, 0x74, 0x28, 0x28, 0x3A, 0x3A, 0x4C, 0x4C, + 0x5E, 0x5E, 0x70, 0x70, 0x82, 0x82, 0x94, 0x94, + 0x38, 0x4C, 0x60, 0x37, 0x4B, 0x89, 0x5E, 0x70, + 0x82, 0x88, 0x88 +}; + +static const ByteProvider kEoB1InvSlotYDOSProvider = { ARRAYSIZE(kEoB1InvSlotYDOS), kEoB1InvSlotYDOS }; + +static const uint16 kEoB1SlotValidationFlagsDOS[27] = { + 0x0008, 0x0008, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0x0001, 0x0002, 0x0004, 0x0020, 0x0040, 0x0010, 0xFFFF, 0x0080, + 0x0080, 0x0100, 0x0100 +}; + +static const Uint16Provider kEoB1SlotValidationFlagsDOSProvider = { ARRAYSIZE(kEoB1SlotValidationFlagsDOS), kEoB1SlotValidationFlagsDOS }; + +static const byte kEoB1ProjectileWeaponTypesDOS[8] = { + 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x12 +}; + +static const ByteProvider kEoB1ProjectileWeaponTypesDOSProvider = { ARRAYSIZE(kEoB1ProjectileWeaponTypesDOS), kEoB1ProjectileWeaponTypesDOS }; + +static const byte kEoB1WandTypesDOS[7] = { + 0x00, 0x12, 0x18, 0x28, 0x0D, 0xFF, 0x04 +}; + +static const ByteProvider kEoB1WandTypesDOSProvider = { ARRAYSIZE(kEoB1WandTypesDOS), kEoB1WandTypesDOS }; + +static const byte kEoB1DrawObjPosIndexDOS[20] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x03, + 0x01, 0x04, 0x02, 0x03, 0x00, 0x01, 0x04, 0x01, + 0x03, 0x00, 0x02, 0x04 +}; + +static const ByteProvider kEoB1DrawObjPosIndexDOSProvider = { ARRAYSIZE(kEoB1DrawObjPosIndexDOS), kEoB1DrawObjPosIndexDOS }; + +static const byte kEoB1FlightObjFlipIndexDOS[16] = { + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 +}; + +static const ByteProvider kEoB1FlightObjFlipIndexDOSProvider = { ARRAYSIZE(kEoB1FlightObjFlipIndexDOS), kEoB1FlightObjFlipIndexDOS }; + +static const byte kEoB1FlightObjShpMapDOS[88] = { + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0x03, 0xFF, 0x05, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kEoB1FlightObjShpMapDOSProvider = { ARRAYSIZE(kEoB1FlightObjShpMapDOS), kEoB1FlightObjShpMapDOS }; + +static const byte kEoB1FlightObjSclIndexDOS[72] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, + 0xFF, 0xFF, 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0xFF, 0xFF, 0x03, 0x03, 0xFF, 0xFF, 0x03, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x01, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kEoB1FlightObjSclIndexDOSProvider = { ARRAYSIZE(kEoB1FlightObjSclIndexDOS), kEoB1FlightObjSclIndexDOS }; + +static const byte kEoB1DscShapeIndexDOS[36] = { + 0x01, 0x01, 0x04, 0x0A, 0x04, 0x08, 0x04, 0x01, + 0x04, 0xF8, 0x04, 0xF6, 0x00, 0x00, 0x03, 0x09, + 0x03, 0x07, 0x03, 0x01, 0x03, 0xF9, 0x03, 0xF7, + 0x02, 0x06, 0x02, 0x01, 0x02, 0xFA, 0x01, 0x05, + 0x01, 0x01, 0x01, 0xFB +}; + +static const ByteProvider kEoB1DscShapeIndexDOSProvider = { ARRAYSIZE(kEoB1DscShapeIndexDOS), kEoB1DscShapeIndexDOS }; + +static const uint16 kEoB1DscXDOS[18] = { + 0xFF70, 0xFFA0, 0xFFD0, 0x0000, 0x0030, 0x0060, 0x0090, 0xFF60, + 0xFFB0, 0x0000, 0x0050, 0x00A0, 0xFF80, 0x0000, 0x0080, 0x0000, + 0x0000, 0x0000 +}; + +static const Uint16Provider kEoB1DscXDOSProvider = { ARRAYSIZE(kEoB1DscXDOS), kEoB1DscXDOS }; + +static const byte kEoB1DscTileIndexDOS[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kEoB1DscTileIndexDOSProvider = { ARRAYSIZE(kEoB1DscTileIndexDOS), kEoB1DscTileIndexDOS }; + +static const byte kEoB1DscUnk2DOS[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kEoB1DscUnk2DOSProvider = { ARRAYSIZE(kEoB1DscUnk2DOS), kEoB1DscUnk2DOS }; + +static const byte kEoB1DscDimData1DOS[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xD7, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFD, 0xD7, 0x13, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0xD7, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFD, 0xD7, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kEoB1DscDimData1DOSProvider = { ARRAYSIZE(kEoB1DscDimData1DOS), kEoB1DscDimData1DOS }; + +static const byte kEoB1DscDimData2DOS[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kEoB1DscDimData2DOSProvider = { ARRAYSIZE(kEoB1DscDimData2DOS), kEoB1DscDimData2DOS }; + +static const byte kEoB1DscBlockMapDOS[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kEoB1DscBlockMapDOSProvider = { ARRAYSIZE(kEoB1DscBlockMapDOS), kEoB1DscBlockMapDOS }; + +static const byte kEoB1DscDimMapDOS[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kEoB1DscDimMapDOSProvider = { ARRAYSIZE(kEoB1DscDimMapDOS), kEoB1DscDimMapDOS }; + +static const byte kEoB1DscBlockIndexDOS[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kEoB1DscBlockIndexDOSProvider = { ARRAYSIZE(kEoB1DscBlockIndexDOS), kEoB1DscBlockIndexDOS }; + +static const byte kEoB1ClassModifierFlagsDOS[15] = { + 0x01, 0x01, 0x05, 0x02, 0x04, 0x08, 0x05, 0x09, + 0x03, 0x0B, 0x0A, 0x0C, 0x07, 0x05, 0x06 +}; + +static const ByteProvider kEoB1ClassModifierFlagsDOSProvider = { ARRAYSIZE(kEoB1ClassModifierFlagsDOS), kEoB1ClassModifierFlagsDOS }; + +static const byte kEoB1MonsterStepTable01DOS[4] = { + 0xE0, 0x01, 0x20, 0xFF +}; + +static const ByteProvider kEoB1MonsterStepTable01DOSProvider = { ARRAYSIZE(kEoB1MonsterStepTable01DOS), kEoB1MonsterStepTable01DOS }; + +static const byte kEoB1MonsterStepTable2DOS[8] = { + 0x07, 0xFA, 0x05, 0xFC, 0x03, 0xFE, 0x01, 0x00 +}; + +static const ByteProvider kEoB1MonsterStepTable2DOSProvider = { ARRAYSIZE(kEoB1MonsterStepTable2DOS), kEoB1MonsterStepTable2DOS }; + +static const byte kEoB1MonsterStepTable3DOS[8] = { + 0xF9, 0x06, 0xFB, 0x04, 0xFD, 0x02, 0xFF, 0x00 +}; + +static const ByteProvider kEoB1MonsterStepTable3DOSProvider = { ARRAYSIZE(kEoB1MonsterStepTable3DOS), kEoB1MonsterStepTable3DOS }; + +static const byte kEoB1MonsterCloseAttPosTable1DOS[4] = { + 0x00, 0x01, 0x03, 0x02 +}; + +static const ByteProvider kEoB1MonsterCloseAttPosTable1DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable1DOS), kEoB1MonsterCloseAttPosTable1DOS }; + +static const byte kEoB1MonsterCloseAttPosTable21DOS[8] = { + 0x00, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03 +}; + +static const ByteProvider kEoB1MonsterCloseAttPosTable21DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttPosTable21DOS), kEoB1MonsterCloseAttPosTable21DOS }; + +static const byte kEoB1MonsterCloseAttChkTable1DOS[16] = { + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00 +}; + +static const ByteProvider kEoB1MonsterCloseAttChkTable1DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable1DOS), kEoB1MonsterCloseAttChkTable1DOS }; + +static const byte kEoB1MonsterCloseAttChkTable2DOS[16] = { + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 +}; + +static const ByteProvider kEoB1MonsterCloseAttChkTable2DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttChkTable2DOS), kEoB1MonsterCloseAttChkTable2DOS }; + +static const byte kEoB1MonsterCloseAttDstTable1DOS[16] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kEoB1MonsterCloseAttDstTable1DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable1DOS), kEoB1MonsterCloseAttDstTable1DOS }; + +static const byte kEoB1MonsterCloseAttDstTable2DOS[48] = { + 0x01, 0x00, 0x03, 0x02, 0x05, 0x04, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x05, 0x03, 0x01, 0x04, + 0x02, 0x00, 0x01, 0x03, 0x05, 0x00, 0x02, 0x04, + 0x04, 0x05, 0x02, 0x03, 0x00, 0x01, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x00, 0x00, 0x02, 0x04, 0x01, + 0x03, 0x05, 0x04, 0x02, 0x00, 0x05, 0x03, 0x01 +}; + +static const ByteProvider kEoB1MonsterCloseAttDstTable2DOSProvider = { ARRAYSIZE(kEoB1MonsterCloseAttDstTable2DOS), kEoB1MonsterCloseAttDstTable2DOS }; + +static const byte kEoB1MonsterProximityTableDOS[32] = { + 0x02, 0x03, 0x00, 0x01, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x02, 0x01, 0x03, 0x02, 0x00, 0x03, 0x01, + 0x01, 0x00, 0x03, 0x02, 0x00, 0x01, 0x02, 0x03, + 0x03, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02, 0x00 +}; + +static const ByteProvider kEoB1MonsterProximityTableDOSProvider = { ARRAYSIZE(kEoB1MonsterProximityTableDOS), kEoB1MonsterProximityTableDOS }; + +static const byte kEoB1FindBlockMonstersTableDOS[64] = { + 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02, + 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00, + 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02, + 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00, + 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02, + 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00, + 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02, + 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00 +}; + +static const ByteProvider kEoB1FindBlockMonstersTableDOSProvider = { ARRAYSIZE(kEoB1FindBlockMonstersTableDOS), kEoB1FindBlockMonstersTableDOS }; + +static const byte kEoB1MonsterDirChangeTableDOS[48] = { + 0xFF, 0x06, 0x02, 0xFF, 0x04, 0x05, 0x03, 0xFF, + 0x00, 0x07, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, + 0x01, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, + 0xC0, 0xFF, 0xA0, 0xFF, 0x02, 0x00, 0x03, 0x00, + 0x40, 0x00, 0x60, 0x00, 0xFE, 0xFF, 0xFD, 0xFF +}; + +static const ByteProvider kEoB1MonsterDirChangeTableDOSProvider = { ARRAYSIZE(kEoB1MonsterDirChangeTableDOS), kEoB1MonsterDirChangeTableDOS }; + +static const uint16 kEoB1EncodeMonsterDefsDOS[168] = { + 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0028, 0x000C, 0x0038, + 0x0013, 0x0028, 0x000C, 0x0038, 0x001F, 0x0000, 0x0007, 0x0060, + 0x0000, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, + 0x000E, 0x0060, 0x0005, 0x0038, 0x0007, 0x0000, 0x0007, 0x0028, + 0x000E, 0x0000, 0x0007, 0x0028, 0x0013, 0x0060, 0x0005, 0x0038, + 0x0018, 0x0060, 0x0005, 0x0038, 0x001D, 0x0060, 0x0005, 0x0038, + 0x000E, 0x0098, 0x0003, 0x0020, 0x0011, 0x00A0, 0x0004, 0x0018, + 0x0015, 0x00A0, 0x0004, 0x0018, 0x0019, 0x0098, 0x0003, 0x0020, + 0x001C, 0x0098, 0x0003, 0x0020, 0x001F, 0x0098, 0x0003, 0x0020, + 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0000, 0x0007, 0x0060, + 0x000E, 0x0000, 0x0007, 0x0060, 0x0015, 0x0000, 0x0007, 0x0060, + 0x001C, 0x0000, 0x0007, 0x0060, 0x0000, 0x0060, 0x0007, 0x0060, + 0x0007, 0x0060, 0x0005, 0x0038, 0x000C, 0x0060, 0x0005, 0x0038, + 0x0011, 0x0060, 0x0005, 0x0038, 0x0016, 0x0060, 0x0005, 0x0038, + 0x001B, 0x0060, 0x0005, 0x0038, 0x0020, 0x0060, 0x0005, 0x0038, + 0x0007, 0x0098, 0x0003, 0x0020, 0x000A, 0x0098, 0x0003, 0x0020, + 0x000D, 0x0098, 0x0003, 0x0020, 0x0010, 0x0098, 0x0003, 0x0020, + 0x0013, 0x0098, 0x0003, 0x0020, 0x0016, 0x0098, 0x0003, 0x0020, + 0x0000, 0x0000, 0x000A, 0x0058, 0x000A, 0x0000, 0x000A, 0x0058, + 0x0014, 0x0000, 0x000A, 0x0058, 0x001E, 0x0000, 0x000A, 0x0058, + 0x0000, 0x0058, 0x000A, 0x0058, 0x000A, 0x0058, 0x000A, 0x0058 +}; + +static const Uint16Provider kEoB1EncodeMonsterDefsDOSProvider = { ARRAYSIZE(kEoB1EncodeMonsterDefsDOS), kEoB1EncodeMonsterDefsDOS }; + +static const EoBCharacter kEoB1NpcPresetsDOS[9] = { + { 0x00, 0x01, "Anya", + 18, 18, 59, 59, 5, 5, 11, 11, 14, 14, 16, 16, 9, 9, + 45, 45, 10, 0, 1, 0, 2, -1, 100, { 4, 0, 0 }, + { 0x00001F40, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Beohram", + 17, 17, 0, 0, 9, 9, 15, 15, 13, 13, 18, 18, 17, 17, + 55, 55, 10, 0, 0, 0, 0, -2, 100, { 7, 0, 0 }, + { 0x000130B0, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Kirath", + 11, 11, 0, 0, 17, 17, 13, 13, 18, 18, 8, 8, 12, 12, + 20, 20, 10, 0, 4, 3, 4, -3, 100, { 7, 0, 0 }, + { 0x00011170, 0x00000000, 0x00000000 }, 0x00B3126B, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Ileria", + 10, 10, 0, 0, 12, 12, 9, 9, 15, 15, 17, 17, 17, 17, + 52, 52, 10, 0, 4, 4, 0, -4, 100, { 6, 0, 0 }, + { 0x00004E20, 0x00000000, 0x00000000 }, 0xFFFFFFFF, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Tyrra", + 16, 16, 0, 0, 14, 14, 16, 16, 18, 18, 17, 17, 7, 7, + 45, 45, 10, 0, 1, 1, 2, -5, 100, { 6, 0, 0 }, + { 0x0000CF08, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Tod Uphill", + 17, 17, 0, 0, 11, 11, 14, 14, 19, 19, 18, 18, 16, 16, + 32, 32, 10, 0, 10, 5, 5, -6, 100, { 5, 0, 0 }, + { 0x00002D3F, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Taghor", + 17, 17, 0, 0, 11, 11, 15, 15, 15, 15, 19, 19, 9, 9, + 3, 45, 3, 0, 6, 0, 1, -7, 25, { 5, 0, 0 }, + { 0x00003F6A, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0029, 0x0000, 0x002B, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Dohrum", + 18, 18, 29, 29, 13, 13, 11, 11, 16, 16, 17, 17, 14, 14, + 28, 28, 10, 0, 6, 0, 0, -8, 100, { 3, 0, 0 }, + { 0x000013A0, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0024, 0x0000, 0x0030, 0x0037, 0x0037, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0029, 0x0000, 0x002B, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Keirgar", + 18, 18, 92, 92, 15, 15, 15, 15, 12, 12, 19, 19, 17, 17, + 3, 45, 3, 0, 6, 0, 1, -9, 25, { 5, 0, 0 }, + { 0x00001F40, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } } +}; + +static const EoBCharacterProvider kEoB1NpcPresetsDOSProvider = { ARRAYSIZE(kEoB1NpcPresetsDOS), kEoB1NpcPresetsDOS }; + diff --git a/devtools/create_kyradat/resources/eob1_dos_english.h b/devtools/create_kyradat/resources/eob1_dos_english.h new file mode 100644 index 0000000000..8a9dfebc8f --- /dev/null +++ b/devtools/create_kyradat/resources/eob1_dos_english.h @@ -0,0 +1,891 @@ +static const char *const kEoB1ChargenStrings1DOSEnglish[9] = { + "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", + " ", + "AC\rHP\rLVL", + "%s\r%d\r%d\r%d\r%d\r%d", + "%d\r%d", + "%d", + "%d/%d", + "%d/%d/%d", + "Select the box of\rthe character you\rwish to create or\rview." +}; + +static const StringListProvider kEoB1ChargenStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings1DOSEnglish), kEoB1ChargenStrings1DOSEnglish }; + +static const char *const kEoB1ChargenStrings2DOSEnglish[12] = { + "%s", + "%d", + "%s", + "%d", + "%d", + "%d", + "%s", + "%d", + "SELECT RACE:", + "SELECT CLASS:", + "SELECT ALIGNMENT:", + "Name:" +}; + +static const StringListProvider kEoB1ChargenStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStrings2DOSEnglish), kEoB1ChargenStrings2DOSEnglish }; + +static const char *const kEoB1ChargenStatStringsDOSEnglish[12] = { + "STR", + "INT", + "WIS", + "DEX", + "CON", + "CHA", + "STRENGTH", + "INTELLIGENCE", + "WISDOM", + "DEXTERITY", + "CONSTITUTION", + "CHARISMA" +}; + +static const StringListProvider kEoB1ChargenStatStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenStatStringsDOSEnglish), kEoB1ChargenStatStringsDOSEnglish }; + +static const char *const kEoB1ChargenRaceSexStringsDOSEnglish[12] = { + "HUMAN MALE", + "HUMAN FEMALE", + "ELF MALE", + "ELF FEMALE", + "HALF-ELF MALE", + "HALF-ELF FEMALE", + "DWARF MALE", + "DWARF FEMALE", + "GNOME MALE", + "GNOME FEMALE", + "HALFLING MALE", + "HALFLING FEMALE" +}; + +static const StringListProvider kEoB1ChargenRaceSexStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsDOSEnglish), kEoB1ChargenRaceSexStringsDOSEnglish }; + +static const char *const kEoB1ChargenClassStringsDOSEnglish[21] = { + "FIGHTER", + "RANGER", + "PALADIN", + "MAGE", + "CLERIC", + "THIEF", + "FIGHTER/CLERIC", + "FIGHTER/THIEF", + "FIGHTER/MAGE", + "FIGHTER/MAGE/THIEF", + "THIEF/MAGE", + "CLERIC/THIEF", + "FIGHTER/CLERIC/MAGE", + "RANGER/CLERIC", + "CLERIC/MAGE", + "FIGHTER", + "MAGE", + "CLERIC", + "THIEF", + "PALADIN", + "RANGER" +}; + +static const StringListProvider kEoB1ChargenClassStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenClassStringsDOSEnglish), kEoB1ChargenClassStringsDOSEnglish }; + +static const char *const kEoB1ChargenAlignmentStringsDOSEnglish[9] = { + "LAWFUL GOOD", + "NEUTRAL GOOD", + "CHAOTIC GOOD", + "LAWFUL NEUTRAL", + "TRUE NEUTRAL", + "CHAOTIC NEUTRAL", + "LAWFUL EVIL", + "NEUTRAL EVIL", + "CHAOTIC EVIL" +}; + +static const StringListProvider kEoB1ChargenAlignmentStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsDOSEnglish), kEoB1ChargenAlignmentStringsDOSEnglish }; + +static const char *const kEoB1ChargenEnterGameStringsDOSEnglish[1] = { + " Entering game.\r Please wait." +}; + +static const StringListProvider kEoB1ChargenEnterGameStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsDOSEnglish), kEoB1ChargenEnterGameStringsDOSEnglish }; + +static const char *const kEoB1MainMenuStringsDOSEnglish[3] = { + "LOAD GAME IN PROGRESS\r", + "START A NEW PARTY\r", + "EXIT TO DOS\r" +}; + +static const StringListProvider kEoB1MainMenuStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MainMenuStringsDOSEnglish), kEoB1MainMenuStringsDOSEnglish }; + +static const char *const kEoB1BonusStringsDOSEnglish[3] = { + "Congratulations on completing all 12 Beholder Bonuses.\r\rThe names of the character in your winning Beholder Bonus party are:\r\r", + "\r", + "\r\rPassword: %04x\r" +}; + +static const StringListProvider kEoB1BonusStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1BonusStringsDOSEnglish), kEoB1BonusStringsDOSEnglish }; + +static const char *const kEoB1TurnUndeadStringDOSEnglish[1] = { + "\x06\x06""%s uses the power to turn undead!""\x06\x0F""\r" +}; + +static const StringListProvider kEoB1TurnUndeadStringDOSEnglishProvider = { ARRAYSIZE(kEoB1TurnUndeadStringDOSEnglish), kEoB1TurnUndeadStringDOSEnglish }; + +static const char *const kEoB1Npc0StringsDOSEnglish[2] = { + "\r I wish you luck in your travels.", + "Which should be resurrected?" +}; + +static const StringListProvider kEoB1Npc0StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc0StringsDOSEnglish), kEoB1Npc0StringsDOSEnglish }; + +static const char *const kEoB1Npc11StringsDOSEnglish[3] = { + "Tend his wounds", + "Talk", + "Leave" +}; + +static const StringListProvider kEoB1Npc11StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc11StringsDOSEnglish), kEoB1Npc11StringsDOSEnglish }; + +static const char *const kEoB1Npc12StringsDOSEnglish[2] = { + "Tend his wounds", + "Leave" +}; + +static const StringListProvider kEoB1Npc12StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc12StringsDOSEnglish), kEoB1Npc12StringsDOSEnglish }; + +static const char *const kEoB1Npc21StringsDOSEnglish[2] = { + "Hear proposal", + "Leave" +}; + +static const StringListProvider kEoB1Npc21StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc21StringsDOSEnglish), kEoB1Npc21StringsDOSEnglish }; + +static const char *const kEoB1Npc22StringsDOSEnglish[2] = { + "Help him", + "Leave" +}; + +static const StringListProvider kEoB1Npc22StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc22StringsDOSEnglish), kEoB1Npc22StringsDOSEnglish }; + +static const char *const kEoB1Npc31StringsDOSEnglish[2] = { + "Heal Party", + "Leave" +}; + +static const StringListProvider kEoB1Npc31StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc31StringsDOSEnglish), kEoB1Npc31StringsDOSEnglish }; + +static const char *const kEoB1Npc32StringsDOSEnglish[3] = { + "Heal Party", + "Resurrect Dead", + "Leave" +}; + +static const StringListProvider kEoB1Npc32StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc32StringsDOSEnglish), kEoB1Npc32StringsDOSEnglish }; + +static const char *const kEoB1Npc4StringsDOSEnglish[2] = { + "Attack", + "Bribe" +}; + +static const StringListProvider kEoB1Npc4StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc4StringsDOSEnglish), kEoB1Npc4StringsDOSEnglish }; + +static const char *const kEoB1Npc5StringsDOSEnglish[3] = { + "Kill her", + "Hear her out", + "Let her go" +}; + +static const StringListProvider kEoB1Npc5StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc5StringsDOSEnglish), kEoB1Npc5StringsDOSEnglish }; + +static const char *const kEoB1Npc6StringsDOSEnglish[2] = { + "Surrender", + "Attack" +}; + +static const StringListProvider kEoB1Npc6StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc6StringsDOSEnglish), kEoB1Npc6StringsDOSEnglish }; + +static const char *const kEoB1Npc7StringsDOSEnglish[3] = { + "Free Him", + "Kill Him", + "Leave" +}; + +static const StringListProvider kEoB1Npc7StringsDOSEnglishProvider = { ARRAYSIZE(kEoB1Npc7StringsDOSEnglish), kEoB1Npc7StringsDOSEnglish }; + +static const char *const kEoB1PryDoorStringsDOSEnglish[7] = { + "Nobody is able to force the door.\r", + "The party forces the door.\r", + "%s forces the door!\r", + "The party tries to force the door and fails.\r", + "You can't put that item there.\r", + "The item is too large to fit.\r", + "No one is able to pry this door open.\r" +}; + +static const StringListProvider kEoB1PryDoorStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PryDoorStringsDOSEnglish), kEoB1PryDoorStringsDOSEnglish }; + +static const char *const kEoB1WarningStringsDOSEnglish[3] = { + "You can't go that way.\r", + "%s isn't capable of eating food!\r", + "You may only eat food!\r" +}; + +static const StringListProvider kEoB1WarningStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1WarningStringsDOSEnglish), kEoB1WarningStringsDOSEnglish }; + +static const char *const kEoB1ItemSuffixStringsRingsDOSEnglish[4] = { + "Adornment", + "Wizardry", + "Sustenance", + "Feather Fall" +}; + +static const StringListProvider kEoB1ItemSuffixStringsRingsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsDOSEnglish), kEoB1ItemSuffixStringsRingsDOSEnglish }; + +static const char *const kEoB1ItemSuffixStringsPotionsDOSEnglish[8] = { + "Giant Strength", + "Healing", + "Extra Healing", + "Poison", + "Vitality", + "Speed", + "Invisibility", + "Cure Poison" +}; + +static const StringListProvider kEoB1ItemSuffixStringsPotionsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsDOSEnglish), kEoB1ItemSuffixStringsPotionsDOSEnglish }; + +static const char *const kEoB1ItemSuffixStringsWandsDOSEnglish[7] = { + "Stick", + "Lightning", + "Frost", + "Curing", + "Fireball", + "Silvias", + "Magic Missile" +}; + +static const StringListProvider kEoB1ItemSuffixStringsWandsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsDOSEnglish), kEoB1ItemSuffixStringsWandsDOSEnglish }; + +static const char *const kEoB1RipItemStringsDOSEnglish[3] = { + "%s has lost her ", + "%s has lost his ", + ".\r" +}; + +static const StringListProvider kEoB1RipItemStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1RipItemStringsDOSEnglish), kEoB1RipItemStringsDOSEnglish }; + +static const char *const kEoB1CursedStringDOSEnglish[1] = { + "Cursed %s %d" +}; + +static const StringListProvider kEoB1CursedStringDOSEnglishProvider = { ARRAYSIZE(kEoB1CursedStringDOSEnglish), kEoB1CursedStringDOSEnglish }; + +static const char *const kEoB1MagicObjectStringsDOSEnglish[5] = { + "Mage Scroll", + "Cleric Scroll", + "Ring", + "Potion", + "Wand" +}; + +static const StringListProvider kEoB1MagicObjectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectStringsDOSEnglish), kEoB1MagicObjectStringsDOSEnglish }; + +static const char *const kEoB1MagicObjectString5DOSEnglish[1] = { + "Stick" +}; + +static const StringListProvider kEoB1MagicObjectString5DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicObjectString5DOSEnglish), kEoB1MagicObjectString5DOSEnglish }; + +static const char *const kEoB1PatternSuffixDOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB1PatternSuffixDOSEnglishProvider = { ARRAYSIZE(kEoB1PatternSuffixDOSEnglish), kEoB1PatternSuffixDOSEnglish }; + +static const char *const kEoB1PatternGrFix1DOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB1PatternGrFix1DOSEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix1DOSEnglish), kEoB1PatternGrFix1DOSEnglish }; + +static const char *const kEoB1PatternGrFix2DOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB1PatternGrFix2DOSEnglishProvider = { ARRAYSIZE(kEoB1PatternGrFix2DOSEnglish), kEoB1PatternGrFix2DOSEnglish }; + +static const char *const kEoB1ValidateArmorStringDOSEnglish[1] = { + "%s can't wear that type of armor.\r" +}; + +static const StringListProvider kEoB1ValidateArmorStringDOSEnglishProvider = { ARRAYSIZE(kEoB1ValidateArmorStringDOSEnglish), kEoB1ValidateArmorStringDOSEnglish }; + +static const char *const kEoB1ValidateNoDropStringDOSEnglish[1] = { + "You cant put that item there.\r" +}; + +static const StringListProvider kEoB1ValidateNoDropStringDOSEnglishProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringDOSEnglish), kEoB1ValidateNoDropStringDOSEnglish }; + +static const char *const kEoB1PotionStringsDOSEnglish[2] = { + "poisoned", + "%s feels %s!\r" +}; + +static const StringListProvider kEoB1PotionStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PotionStringsDOSEnglish), kEoB1PotionStringsDOSEnglish }; + +static const char *const kEoB1WandStringsDOSEnglish[2] = { + "The wand has no apparent magical effect\r", + "no effect.\r" +}; + +static const StringListProvider kEoB1WandStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1WandStringsDOSEnglish), kEoB1WandStringsDOSEnglish }; + +static const char *const kEoB1ItemMisuseStringsDOSEnglish[3] = { + " can not use this item.\r", + "This item automatically used when worn.\r", + "This item is not used in this way.\r" +}; + +static const StringListProvider kEoB1ItemMisuseStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsDOSEnglish), kEoB1ItemMisuseStringsDOSEnglish }; + +static const char *const kEoB1TakenStringsDOSEnglish[1] = { + " taken.\r" +}; + +static const StringListProvider kEoB1TakenStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1TakenStringsDOSEnglish), kEoB1TakenStringsDOSEnglish }; + +static const char *const kEoB1PotionEffectStringsDOSEnglish[8] = { + "much stronger", + "better", + "much better", + "ill for a moment", + "no longer hungry", + "fast and agile", + "transparent", + "better" +}; + +static const StringListProvider kEoB1PotionEffectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1PotionEffectStringsDOSEnglish), kEoB1PotionEffectStringsDOSEnglish }; + +static const char *const kEoB1YesNoStringsDOSEnglish[2] = { + "yes", + "no" +}; + +static const StringListProvider kEoB1YesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1YesNoStringsDOSEnglish), kEoB1YesNoStringsDOSEnglish }; + +static const char *const kEoB1MoreStringsDOSEnglish[1] = { + "MORE" +}; + +static const StringListProvider kEoB1MoreStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MoreStringsDOSEnglish), kEoB1MoreStringsDOSEnglish }; + +static const char *const kEoB1NpcMaxStringsDOSEnglish[1] = { + "You may only have six characters in your party. Select the one you wish to drop." +}; + +static const StringListProvider kEoB1NpcMaxStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1NpcMaxStringsDOSEnglish), kEoB1NpcMaxStringsDOSEnglish }; + +static const char *const kEoB1NpcJoinStringsDOSEnglish[1] = { + "%s joins the party.\r" +}; + +static const StringListProvider kEoB1NpcJoinStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1NpcJoinStringsDOSEnglish), kEoB1NpcJoinStringsDOSEnglish }; + +static const char *const kEoB1CancelStringsDOSEnglish[1] = { + "CANCEL" +}; + +static const StringListProvider kEoB1CancelStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1CancelStringsDOSEnglish), kEoB1CancelStringsDOSEnglish }; + +static const char *const kEoB1MenuStringsMainDOSEnglish[8] = { + "Select Option:", + "Rest Party", + "Memorize Spells", + "Pray for Spells", + "Scribe Scrolls", + "Preferences", + "Game Options", + "Exit" +}; + +static const StringListProvider kEoB1MenuStringsMainDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMainDOSEnglish), kEoB1MenuStringsMainDOSEnglish }; + +static const char *const kEoB1MenuStringsSaveLoadDOSEnglish[8] = { + "Load Game", + "Save Game", + "Drop Character", + "Quit Game", + "Game Options:", + "\r Game saved.", + "\r Save game\r failure!", + "\r Load game\r failure!" +}; + +static const StringListProvider kEoB1MenuStringsSaveLoadDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadDOSEnglish), kEoB1MenuStringsSaveLoadDOSEnglish }; + +static const char *const kEoB1MenuStringsOnOffDOSEnglish[2] = { + "ON", + "OFF" +}; + +static const StringListProvider kEoB1MenuStringsOnOffDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffDOSEnglish), kEoB1MenuStringsOnOffDOSEnglish }; + +static const char *const kEoB1MenuStringsSpellsDOSEnglish[17] = { + "\r\r Select a character\r from your party who\r would like to learn\r spells.", + "\r Your Paladin is \r too low a level\r for spells.", + "\r\r The Mage has no\r Spell Book!", + "\r\r\r Select a character\r from your party\r who would like to\r pray for spells.", + "\r You don't have\r any Cleric able\r to pray in your\r party.", + "\r You don't have\r any Mage able to\r learn spells.", + " An unconscious\r or dead Mage\r cannot memorize\r spells.", + " An unconscious\r or dead Cleric\r cannot pray for\r spells.", + "1", + "2", + "3", + "4", + "5", + "Clear", + "Spells Available:", + "Yes", + "No" +}; + +static const StringListProvider kEoB1MenuStringsSpellsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsDOSEnglish), kEoB1MenuStringsSpellsDOSEnglish }; + +static const char *const kEoB1MenuStringsRestDOSEnglish[5] = { + "\rWill your healers\rheal the party?", + " Someone is still\r injured. Rest\r until healed?", + "Resting party.", + "\r All characters\r are fully\r rested.", + " Your party needs\r to rest to gain\r spells." +}; + +static const StringListProvider kEoB1MenuStringsRestDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRestDOSEnglish), kEoB1MenuStringsRestDOSEnglish }; + +static const char *const kEoB1MenuStringsDropDOSEnglish[1] = { + " You cannot have\r less than four\r characters." +}; + +static const StringListProvider kEoB1MenuStringsDropDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDropDOSEnglish), kEoB1MenuStringsDropDOSEnglish }; + +static const char *const kEoB1MenuStringsExitDOSEnglish[1] = { + " Are you sure you\r wish to exit the\r game?" +}; + +static const StringListProvider kEoB1MenuStringsExitDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsExitDOSEnglish), kEoB1MenuStringsExitDOSEnglish }; + +static const char *const kEoB1MenuStringsStarveDOSEnglish[1] = { + " Your party is\r starving. Do you\r wish to continue\r resting?" +}; + +static const StringListProvider kEoB1MenuStringsStarveDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsStarveDOSEnglish), kEoB1MenuStringsStarveDOSEnglish }; + +static const char *const kEoB1MenuStringsScribeDOSEnglish[5] = { + "Select the scroll(s)\ryou wish to scribe.", + "\r\r\r Select a Mage\r from your party\r who would like to\r scribe spells.", + " You don't have\r any scolls to be\r scribed.", + " You don't have\r any scrolls that\r this Mage needs.", + "\r You don't have\r any Mage able to\r scribe scrolls." +}; + +static const StringListProvider kEoB1MenuStringsScribeDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsScribeDOSEnglish), kEoB1MenuStringsScribeDOSEnglish }; + +static const char *const kEoB1MenuStringsDrop2DOSEnglish[3] = { + " Select the\r character you\r wish to drop.", + " Are you sure you\r wish to SAVE the\r game?", + " Are you sure you\r wish to LOAD a\r saved game?" +}; + +static const StringListProvider kEoB1MenuStringsDrop2DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2DOSEnglish), kEoB1MenuStringsDrop2DOSEnglish }; + +static const char *const kEoB1MenuStringsHeadDOSEnglish[3] = { + "Camp:", + "Preferences:", + "Game Options:" +}; + +static const StringListProvider kEoB1MenuStringsHeadDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsHeadDOSEnglish), kEoB1MenuStringsHeadDOSEnglish }; + +static const char *const kEoB1MenuStringsPoisonDOSEnglish[1] = { + "Poisoned party\rmembers will die!\rRest anyway?" +}; + +static const StringListProvider kEoB1MenuStringsPoisonDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonDOSEnglish), kEoB1MenuStringsPoisonDOSEnglish }; + +static const char *const kEoB1MenuStringsMgcDOSEnglish[2] = { + "%-18s %1d", + "%d of %d Remaining. " +}; + +static const StringListProvider kEoB1MenuStringsMgcDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsMgcDOSEnglish), kEoB1MenuStringsMgcDOSEnglish }; + +static const char *const kEoB1MenuStringsPrefsDOSEnglish[4] = { + "Tunes are %-3s", + "Sounds are %-3s", + "Bar Graphs are %-3s", + "Mouse is %-3s" +}; + +static const StringListProvider kEoB1MenuStringsPrefsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsDOSEnglish), kEoB1MenuStringsPrefsDOSEnglish }; + +static const char *const kEoB1MenuStringsRest2DOSEnglish[4] = { + "%s gained %s.\r", + "%s memorized %s.\r", + "%s casts healing on %s.\r", + "Hours rested: %-4d" +}; + +static const StringListProvider kEoB1MenuStringsRest2DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest2DOSEnglish), kEoB1MenuStringsRest2DOSEnglish }; + +static const char *const kEoB1MenuStringsRest4DOSEnglish[1] = { + "\rYou can't rest here, monsters are near." +}; + +static const StringListProvider kEoB1MenuStringsRest4DOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsRest4DOSEnglish), kEoB1MenuStringsRest4DOSEnglish }; + +static const char *const kEoB1MenuStringsDefeatDOSEnglish[1] = { + "All of your party has been defeated. The minions of evil will be able to carry out their plans unhindered!\r" +}; + +static const StringListProvider kEoB1MenuStringsDefeatDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatDOSEnglish), kEoB1MenuStringsDefeatDOSEnglish }; + +static const char *const kEoB1MenuYesNoStringsDOSEnglish[2] = { + "Yes", + "No" +}; + +static const StringListProvider kEoB1MenuYesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsDOSEnglish), kEoB1MenuYesNoStringsDOSEnglish }; + +static const char *const kEoB1CharGuiStringsHpDOSEnglish[2] = { + "HP", + "%3d of %-3d" +}; + +static const StringListProvider kEoB1CharGuiStringsHpDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpDOSEnglish), kEoB1CharGuiStringsHpDOSEnglish }; + +static const char *const kEoB1CharGuiStringsWp1DOSEnglish[2] = { + "MISS", + "HACK" +}; + +static const StringListProvider kEoB1CharGuiStringsWp1DOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1DOSEnglish), kEoB1CharGuiStringsWp1DOSEnglish }; + +static const char *const kEoB1CharGuiStringsWrDOSEnglish[4] = { + "CAN'T", + "REACH", + "NO", + "AMMO" +}; + +static const StringListProvider kEoB1CharGuiStringsWrDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrDOSEnglish), kEoB1CharGuiStringsWrDOSEnglish }; + +static const char *const kEoB1CharGuiStringsSt1DOSEnglish[6] = { + "Swapping", + "DEAD", + "UNCONSCIOUS", + "POISON (SLOW)", + "POISONED", + "PARALYZED" +}; + +static const StringListProvider kEoB1CharGuiStringsSt1DOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1DOSEnglish), kEoB1CharGuiStringsSt1DOSEnglish }; + +static const char *const kEoB1CharGuiStringsInDOSEnglish[4] = { + "CHARACTER INFO", + "ARMOR CLASS", + "EXP", + "LVL" +}; + +static const StringListProvider kEoB1CharGuiStringsInDOSEnglishProvider = { ARRAYSIZE(kEoB1CharGuiStringsInDOSEnglish), kEoB1CharGuiStringsInDOSEnglish }; + +static const char *const kEoB1CharStatusStrings7DOSEnglish[1] = { + "%s no longer has giant strength.\r" +}; + +static const StringListProvider kEoB1CharStatusStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings7DOSEnglish), kEoB1CharStatusStrings7DOSEnglish }; + +static const char *const kEoB1CharStatusStrings81DOSEnglish[1] = { + "%s feels the effects of poison!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings81DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings81DOSEnglish), kEoB1CharStatusStrings81DOSEnglish }; + +static const char *const kEoB1CharStatusStrings9DOSEnglish[1] = { + "%s is no longer paralyzed!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings9DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings9DOSEnglish), kEoB1CharStatusStrings9DOSEnglish }; + +static const char *const kEoB1CharStatusStrings131DOSEnglish[1] = { + "%s is %s!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings131DOSEnglishProvider = { ARRAYSIZE(kEoB1CharStatusStrings131DOSEnglish), kEoB1CharStatusStrings131DOSEnglish }; + +static const char *const kEoB1LevelGainStringsDOSEnglish[1] = { + "\x06\x01""%s has gained a level of experience.""\x06\x0F""\r" +}; + +static const StringListProvider kEoB1LevelGainStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1LevelGainStringsDOSEnglish), kEoB1LevelGainStringsDOSEnglish }; + +static const char *const kEoB1BookNumbersDOSEnglish[5] = { + "First", + "Second", + "Third", + "Fourth", + "Fifth" +}; + +static const StringListProvider kEoB1BookNumbersDOSEnglishProvider = { ARRAYSIZE(kEoB1BookNumbersDOSEnglish), kEoB1BookNumbersDOSEnglish }; + +static const char *const kEoB1MageSpellsListDOSEnglish[26] = { + "", + "Armor", + "Burning Hands", + "Detect Magic", + "Magic Missile", + "Read Magic", + "Shield", + "Shocking Grasp", + "Invisibility", + "Knock", + "M's Acid Arrow", + "Stinking Cloud", + "Dispel Magic", + "Fireball", + "Flame Arrow", + "Haste", + "Hold Person", + "Invisibility 10'", + "Lightning Bolt", + "Vampiric Touch", + "Fear", + "Ice Storm", + "Stoneskin", + "Cloudkill", + "Cone of Cold", + "Hold Monster" +}; + +static const StringListProvider kEoB1MageSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB1MageSpellsListDOSEnglish), kEoB1MageSpellsListDOSEnglish }; + +static const char *const kEoB1ClericSpellsListDOSEnglish[25] = { + "", + "Bless", + "Cure Light Wnds", + "Cause Light Wnds", + "Detect Magic", + "Protect-Evil", + "Aid", + "Flame Blade", + "Hold Person", + "Slow Poison", + "Create Food", + "Dispel Magic", + "Magical Vestment", + "Prayer", + "Remove Paralysis", + "Cure Serious", + "Cause Serious", + "Neutral-Poison", + "Protect-Evil 10'", + "Protect-Lightning", + "Cure Critical", + "Cause Critical", + "Flame Strike", + "Raise Dead", + "Lay on Hands" +}; + +static const StringListProvider kEoB1ClericSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB1ClericSpellsListDOSEnglish), kEoB1ClericSpellsListDOSEnglish }; + +static const char *const kEoB1SpellNamesDOSEnglish[51] = { + "", + "armor", + "burning hands", + "detect magic", + "magic missile", + "shield", + "shocking grasp", + "invisibility", + "melf's acid arrow", + "stinking cloud", + "dispel magic", + "fireball", + "flame arrow", + "haste", + "hold person", + "invisibility 10' radius", + "lightning bolt", + "vampiric touch", + "fear", + "ice storm", + "stoneskin", + "cloudkill", + "cone of cold", + "hold monster", + "bless", + "cure light wounds", + "cause light wounds", + "detect magic", + "protection from evil", + "aid", + "flame blade", + "hold person", + "slow poison", + "create food", + "dispel magic", + "magical vestment", + "prayer", + "remove paralysis", + "cure serious wounds", + "cause serious wounds", + "neutralize poison", + "protection from evil 10' radius", + "protection from lightning", + "cure critical wounds", + "cause critical wounds", + "flame strike", + "raise dead", + "lay on hands", + "", + "", + "" +}; + +static const StringListProvider kEoB1SpellNamesDOSEnglishProvider = { ARRAYSIZE(kEoB1SpellNamesDOSEnglish), kEoB1SpellNamesDOSEnglish }; + +static const char *const kEoB1MagicStrings1DOSEnglish[6] = { + "ABORT SPELL", + "ABORT SPELL", + "You must have a free hand for this spell.\r", + "You can't have two of this spell type active.\r", + "%s casts %s.\r", + "ok\r" +}; + +static const StringListProvider kEoB1MagicStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings1DOSEnglish), kEoB1MagicStrings1DOSEnglish }; + +static const char *const kEoB1MagicStrings2DOSEnglish[3] = { + "no effect\r", + "%s has been disintegrated!\r", + "The party has been hit by a death spell!\r" +}; + +static const StringListProvider kEoB1MagicStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings2DOSEnglish), kEoB1MagicStrings2DOSEnglish }; + +static const char *const kEoB1MagicStrings3DOSEnglish[6] = { + "Cast spell on which character? ", + "\rok\r", + "\rSpell aborted.\r", + "%s's %s spell expires.\r", + "%s missed the monster.\r", + "%s must be in the front ranks to hit!\r" +}; + +static const StringListProvider kEoB1MagicStrings3DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings3DOSEnglish), kEoB1MagicStrings3DOSEnglish }; + +static const char *const kEoB1MagicStrings4DOSEnglish[1] = { + "no effect.\r" +}; + +static const StringListProvider kEoB1MagicStrings4DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings4DOSEnglish), kEoB1MagicStrings4DOSEnglish }; + +static const char *const kEoB1MagicStrings6DOSEnglish[1] = { + "%s already has a high base armor class.\r" +}; + +static const StringListProvider kEoB1MagicStrings6DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings6DOSEnglish), kEoB1MagicStrings6DOSEnglish }; + +static const char *const kEoB1MagicStrings7DOSEnglish[5] = { + "1ST", + "2ND", + "3RD", + "4TH", + "5TH" +}; + +static const StringListProvider kEoB1MagicStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings7DOSEnglish), kEoB1MagicStrings7DOSEnglish }; + +static const char *const kEoB1MagicStrings8DOSEnglish[3] = { + "All spells on %s are dispelled.\r", + "The party is already blessed!\r", + "The aid spell fails!\r" +}; + +static const StringListProvider kEoB1MagicStrings8DOSEnglishProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSEnglish), kEoB1MagicStrings8DOSEnglish }; + +static const byte kEoB1ManDefDOSEnglish[120] = { + 0x09, 0x0A, 0x02, 0x00, 0x09, 0x04, 0x03, 0x00, + 0x09, 0x06, 0x06, 0x00, 0x09, 0x03, 0x03, 0x00, + 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00, + 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00, + 0x09, 0x06, 0x02, 0x00, 0x23, 0x01, 0x05, 0x00, + 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00, + 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, + 0x23, 0x07, 0x01, 0x00, 0x1A, 0x01, 0x01, 0x00, + 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00, + 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x04, 0x00, + 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00, + 0x02, 0x03, 0x03, 0x00, 0x02, 0x05, 0x03, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00, + 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00, + 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB1ManDefDOSEnglishProvider = { ARRAYSIZE(kEoB1ManDefDOSEnglish), kEoB1ManDefDOSEnglish }; + +static const char *const kEoB1ManWordDOSEnglish[31] = { + "attacks", + "short", + "line", + "weapons", + "certain", + "rank", + "rear", + "can", + "away", + "dungeon", + "cursor", + "feature", + "information", + "displayed", + "below", + "around", + "carefree", + "gnomes", + "clerics", + "mystic", + "pummel", + "fitness", + "using", + "toughness", + "wealth", + "wizard", + "officials", + "hound", + "disturbing", + "flaming", + "" +}; + +static const StringListProvider kEoB1ManWordDOSEnglishProvider = { ARRAYSIZE(kEoB1ManWordDOSEnglish), kEoB1ManWordDOSEnglish }; + +static const char *const kEoB1ManPromptDOSEnglish[1] = { + "\r\r\r\rOn the page with this symbol...\r\rFind line %d\rEnter word %d\r" +}; + +static const StringListProvider kEoB1ManPromptDOSEnglishProvider = { ARRAYSIZE(kEoB1ManPromptDOSEnglish), kEoB1ManPromptDOSEnglish }; + +static const char *const kEoB1MonsterDistAttStringsDOSEnglish[5] = { + "%s is hit by a cause serious wounds spell!\r", + "The party is hit with a psychic mind blast!\r", + "paralyzed", + "poisoned", + "paralyzed" +}; + +static const StringListProvider kEoB1MonsterDistAttStringsDOSEnglishProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsDOSEnglish), kEoB1MonsterDistAttStringsDOSEnglish }; + diff --git a/devtools/create_kyradat/resources/eob1_dos_german.h b/devtools/create_kyradat/resources/eob1_dos_german.h new file mode 100644 index 0000000000..ba2e4876c8 --- /dev/null +++ b/devtools/create_kyradat/resources/eob1_dos_german.h @@ -0,0 +1,893 @@ +static const char *const kEoB1ChargenStrings1DOSGerman[9] = { + "Ihr Team ist\rkomplett. SPIEL-\rKnopf oder 'P'\rdruecken, um zu\rbeginnen.", + " ", + "RK\rHP\rEBN", + "%s\r%d\r%d\r%d\r%d\r%d", + "%d\r%d", + "%d", + "%d/%d", + "%d/%d/%d", + "Waehle das Feld\rdes Charakters\rzum erstellen oder\ranschauen." +}; + +static const StringListProvider kEoB1ChargenStrings1DOSGermanProvider = { ARRAYSIZE(kEoB1ChargenStrings1DOSGerman), kEoB1ChargenStrings1DOSGerman }; + +static const char *const kEoB1ChargenStrings2DOSGerman[12] = { + "%s", + "%d", + "%s", + "%d", + "%d", + "%d", + "%s", + "%d", + "WAEHLE RASSE:", + "WAEHLE KLASSE:", + "GESINNUNG WAEHLEN:", + "Name:" +}; + +static const StringListProvider kEoB1ChargenStrings2DOSGermanProvider = { ARRAYSIZE(kEoB1ChargenStrings2DOSGerman), kEoB1ChargenStrings2DOSGerman }; + +static const char *const kEoB1ChargenStatStringsDOSGerman[12] = { + "STR", + "INT", + "WEI", + "GEW", + "KON", + "CHA", + "STAERKE", + "INTELLIGENZ", + "WEISHEIT", + "GEWANDHEIT", + "KONSTITUTION", + "CHARISMA" +}; + +static const StringListProvider kEoB1ChargenStatStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ChargenStatStringsDOSGerman), kEoB1ChargenStatStringsDOSGerman }; + +static const char *const kEoB1ChargenRaceSexStringsDOSGerman[12] = { + "MENSCH MAENNL.", + "MENSCH WEIBL.", + "ELF MAENNL.", + "ELF WEIBL.", + "HALB-ELF MAENNL.", + "HALB-ELF WEIBL.", + "ZWERG MAENNL.", + "ZWERG WEIBL.", + "GNOM MAENNL.", + "GNOM WEIBL.", + "HALBLING MAENNL.", + "HALBLING WEIBL." +}; + +static const StringListProvider kEoB1ChargenRaceSexStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ChargenRaceSexStringsDOSGerman), kEoB1ChargenRaceSexStringsDOSGerman }; + +static const char *const kEoB1ChargenClassStringsDOSGerman[21] = { + "KAEMPFER", + "WALDLAEUFER", + "PALADIN", + "MAGIER", + "KLERIKER", + "DIEB", + "KAEMPFER/KLERIKER", + "KAEMPFER/DIEB", + "KAEMPFER/MAGIER", + "KAEMPF./MAGIER/DIEB", + "DIEB/MAGIER", + "KLERIKER/DIEB", + "KAEMPF./KLE./MAGIER", + "WALDLAEUF./KLERIKER", + "KLERIKER/MAGIER", + "KAEMPFER", + "MAGIER", + "KLERIKER", + "DIEB", + "PALADIN", + "WALDLAEUFER" +}; + +static const StringListProvider kEoB1ChargenClassStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ChargenClassStringsDOSGerman), kEoB1ChargenClassStringsDOSGerman }; + +static const char *const kEoB1ChargenAlignmentStringsDOSGerman[9] = { + "RECHTSCH. GUT", + "NEUTRAL GUT", + "CHAOTISCH GUT", + "RECHTSCH. NEUTRAL", + "ABSOLUT NEUTRAL", + "CHAOTISCH NEUTRAL", + "RECHTSCH. BOESE", + "NEUTRAL BOESE", + "CHAOTISCH BOESE" +}; + +static const StringListProvider kEoB1ChargenAlignmentStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ChargenAlignmentStringsDOSGerman), kEoB1ChargenAlignmentStringsDOSGerman }; + +static const char *const kEoB1ChargenEnterGameStringsDOSGerman[1] = { + " Spiel startet.\r Bitte warten." +}; + +static const StringListProvider kEoB1ChargenEnterGameStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ChargenEnterGameStringsDOSGerman), kEoB1ChargenEnterGameStringsDOSGerman }; + +static const char *const kEoB1MainMenuStringsDOSGerman[3] = { + "ALTES SPIEL LADEN\r", + "NEUES TEAM AUFBAUEN\r", + "ENDE > DOS\r" +}; + +static const StringListProvider kEoB1MainMenuStringsDOSGermanProvider = { ARRAYSIZE(kEoB1MainMenuStringsDOSGerman), kEoB1MainMenuStringsDOSGerman }; + +static const char *const kEoB1BonusStringsDOSGerman[3] = { + "Herzlichen Glueckwunsch fuer das Auffinden aller 12 Beholder-Boni.\r\rDie beteiligten Charaktere des gluecklichen Teams waren:\r\r", + "\r", + "\r\rPasswort: %04x\r" +}; + +static const StringListProvider kEoB1BonusStringsDOSGermanProvider = { ARRAYSIZE(kEoB1BonusStringsDOSGerman), kEoB1BonusStringsDOSGerman }; + +static const char *const kEoB1TurnUndeadStringDOSGerman[1] = { + "\x06\x06""%s benutzt Magie, um Untote zu vertreiben!""\x06\x0F""\r" +}; + +static const StringListProvider kEoB1TurnUndeadStringDOSGermanProvider = { ARRAYSIZE(kEoB1TurnUndeadStringDOSGerman), kEoB1TurnUndeadStringDOSGerman }; + +static const char *const kEoB1Npc0StringsDOSGerman[2] = { + "\r Ich wuensche Euch Glueck auf Euren Reisen.", + "Wer soll wiedererweckt werden?" +}; + +static const StringListProvider kEoB1Npc0StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc0StringsDOSGerman), kEoB1Npc0StringsDOSGerman }; + +static const char *const kEoB1Npc11StringsDOSGerman[3] = { + "Wunden heilen", + "Reden", + "Gehen" +}; + +static const StringListProvider kEoB1Npc11StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc11StringsDOSGerman), kEoB1Npc11StringsDOSGerman }; + +static const char *const kEoB1Npc12StringsDOSGerman[2] = { + "Wunden heilen", + "Gehen" +}; + +static const StringListProvider kEoB1Npc12StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc12StringsDOSGerman), kEoB1Npc12StringsDOSGerman }; + +static const char *const kEoB1Npc21StringsDOSGerman[2] = { + "Angebot hoeren", + "Gehen" +}; + +static const StringListProvider kEoB1Npc21StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc21StringsDOSGerman), kEoB1Npc21StringsDOSGerman }; + +static const char *const kEoB1Npc22StringsDOSGerman[2] = { + "Helfen", + "Gehen" +}; + +static const StringListProvider kEoB1Npc22StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc22StringsDOSGerman), kEoB1Npc22StringsDOSGerman }; + +static const char *const kEoB1Npc31StringsDOSGerman[2] = { + "Team heilen", + "Gehen" +}; + +static const StringListProvider kEoB1Npc31StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc31StringsDOSGerman), kEoB1Npc31StringsDOSGerman }; + +static const char *const kEoB1Npc32StringsDOSGerman[3] = { + "Team heilen", + "Tote erwecken", + "Gehen" +}; + +static const StringListProvider kEoB1Npc32StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc32StringsDOSGerman), kEoB1Npc32StringsDOSGerman }; + +static const char *const kEoB1Npc4StringsDOSGerman[2] = { + "Angreifen", + "Bestechen" +}; + +static const StringListProvider kEoB1Npc4StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc4StringsDOSGerman), kEoB1Npc4StringsDOSGerman }; + +static const char *const kEoB1Npc5StringsDOSGerman[3] = { + "toeten", + "anhoeren", + "gehen lassen" +}; + +static const StringListProvider kEoB1Npc5StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc5StringsDOSGerman), kEoB1Npc5StringsDOSGerman }; + +static const char *const kEoB1Npc6StringsDOSGerman[2] = { + "Ergeben", + "Angreifen" +}; + +static const StringListProvider kEoB1Npc6StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc6StringsDOSGerman), kEoB1Npc6StringsDOSGerman }; + +static const char *const kEoB1Npc7StringsDOSGerman[3] = { + "befreien", + "toeten", + "Gehen" +}; + +static const StringListProvider kEoB1Npc7StringsDOSGermanProvider = { ARRAYSIZE(kEoB1Npc7StringsDOSGerman), kEoB1Npc7StringsDOSGerman }; + +static const char *const kEoB1PryDoorStringsDOSGerman[8] = { + "Niemand schafft es, die Tuer aufzubrechen.\r", + "Das Team bricht die Tuer auf.\r", + "%s bricht die Tuer auf!\r", + "Das Team versucht die Tuer aufzubrechen, doch es schlaegt fehl.\r", + "Dieser Gegenstand kann hier nicht plaziert werden.\r", + "Dieser Gegenstand ist zu gross.\r", + "Niemand schafft es, die Tuer aufzubrechen.\r", + "\r" +}; + +static const StringListProvider kEoB1PryDoorStringsDOSGermanProvider = { ARRAYSIZE(kEoB1PryDoorStringsDOSGerman), kEoB1PryDoorStringsDOSGerman }; + +static const char *const kEoB1WarningStringsDOSGerman[3] = { + "Hier geht es nicht weiter.\r", + "%s kann keine Nahrung zu sich nehmen!\r", + "Dies kann man nicht essen!\r" +}; + +static const StringListProvider kEoB1WarningStringsDOSGermanProvider = { ARRAYSIZE(kEoB1WarningStringsDOSGerman), kEoB1WarningStringsDOSGerman }; + +static const char *const kEoB1ItemSuffixStringsRingsDOSGerman[4] = { + "Schmuck", + "Zauber", + "Nahrungs", + "Federfall" +}; + +static const StringListProvider kEoB1ItemSuffixStringsRingsDOSGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsRingsDOSGerman), kEoB1ItemSuffixStringsRingsDOSGerman }; + +static const char *const kEoB1ItemSuffixStringsPotionsDOSGerman[8] = { + "Riesenstaerke", + "Heilungs", + "Extra Heilungs", + "Gift", + "Vitalitaets", + "Schnelligkeits", + "Unsichtbarkeits", + "Gift-Heilungs" +}; + +static const StringListProvider kEoB1ItemSuffixStringsPotionsDOSGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsPotionsDOSGerman), kEoB1ItemSuffixStringsPotionsDOSGerman }; + +static const char *const kEoB1ItemSuffixStringsWandsDOSGerman[7] = { + "Stock", + "Blitz", + "Frost", + "Heilungs", + "Feuerball", + "Silvias", + "Magischer Geschoss" +}; + +static const StringListProvider kEoB1ItemSuffixStringsWandsDOSGermanProvider = { ARRAYSIZE(kEoB1ItemSuffixStringsWandsDOSGerman), kEoB1ItemSuffixStringsWandsDOSGerman }; + +static const char *const kEoB1RipItemStringsDOSGerman[3] = { + "%s verlor ihre ", + "%s verlor seine ", + ".\r" +}; + +static const StringListProvider kEoB1RipItemStringsDOSGermanProvider = { ARRAYSIZE(kEoB1RipItemStringsDOSGerman), kEoB1RipItemStringsDOSGerman }; + +static const char *const kEoB1CursedStringDOSGerman[1] = { + "Verflucht %s %d" +}; + +static const StringListProvider kEoB1CursedStringDOSGermanProvider = { ARRAYSIZE(kEoB1CursedStringDOSGerman), kEoB1CursedStringDOSGerman }; + +static const char *const kEoB1MagicObjectStringsDOSGerman[5] = { + "Magier-Schriftrolle", + "Kleriker-Schriftrolle", + "Ring", + "Trank", + "Stab" +}; + +static const StringListProvider kEoB1MagicObjectStringsDOSGermanProvider = { ARRAYSIZE(kEoB1MagicObjectStringsDOSGerman), kEoB1MagicObjectStringsDOSGerman }; + +static const char *const kEoB1MagicObjectString5DOSGerman[1] = { + "Stock" +}; + +static const StringListProvider kEoB1MagicObjectString5DOSGermanProvider = { ARRAYSIZE(kEoB1MagicObjectString5DOSGerman), kEoB1MagicObjectString5DOSGerman }; + +static const char *const kEoB1PatternSuffixDOSGerman[1] = { + "%s-%s" +}; + +static const StringListProvider kEoB1PatternSuffixDOSGermanProvider = { ARRAYSIZE(kEoB1PatternSuffixDOSGerman), kEoB1PatternSuffixDOSGerman }; + +static const char *const kEoB1PatternGrFix1DOSGerman[1] = { + "%s-%s" +}; + +static const StringListProvider kEoB1PatternGrFix1DOSGermanProvider = { ARRAYSIZE(kEoB1PatternGrFix1DOSGerman), kEoB1PatternGrFix1DOSGerman }; + +static const char *const kEoB1PatternGrFix2DOSGerman[1] = { + "%s-%s" +}; + +static const StringListProvider kEoB1PatternGrFix2DOSGermanProvider = { ARRAYSIZE(kEoB1PatternGrFix2DOSGerman), kEoB1PatternGrFix2DOSGerman }; + +static const char *const kEoB1ValidateArmorStringDOSGerman[1] = { + "%s kann diese Ruestung nicht tragen.\r" +}; + +static const StringListProvider kEoB1ValidateArmorStringDOSGermanProvider = { ARRAYSIZE(kEoB1ValidateArmorStringDOSGerman), kEoB1ValidateArmorStringDOSGerman }; + +static const char *const kEoB1ValidateNoDropStringDOSGerman[1] = { + "Das koennt Ihr hier nicht ablegen.\r" +}; + +static const StringListProvider kEoB1ValidateNoDropStringDOSGermanProvider = { ARRAYSIZE(kEoB1ValidateNoDropStringDOSGerman), kEoB1ValidateNoDropStringDOSGerman }; + +static const char *const kEoB1PotionStringsDOSGerman[2] = { + "vergiftet", + "%s fuehlt sich %s!\r" +}; + +static const StringListProvider kEoB1PotionStringsDOSGermanProvider = { ARRAYSIZE(kEoB1PotionStringsDOSGerman), kEoB1PotionStringsDOSGerman }; + +static const char *const kEoB1WandStringsDOSGerman[2] = { + "Der Stab hat keinen offensichtlichen magischen Effekt.\r", + "kein effekt.\r" +}; + +static const StringListProvider kEoB1WandStringsDOSGermanProvider = { ARRAYSIZE(kEoB1WandStringsDOSGerman), kEoB1WandStringsDOSGerman }; + +static const char *const kEoB1ItemMisuseStringsDOSGerman[3] = { + " kann dies nicht benutzen.\r", + "Dies wird automatisch benutzt, wenn angelegt.\r", + "Dies wird nicht so benutzt.\r" +}; + +static const StringListProvider kEoB1ItemMisuseStringsDOSGermanProvider = { ARRAYSIZE(kEoB1ItemMisuseStringsDOSGerman), kEoB1ItemMisuseStringsDOSGerman }; + +static const char *const kEoB1TakenStringsDOSGerman[1] = { + " aufgenommen.\r" +}; + +static const StringListProvider kEoB1TakenStringsDOSGermanProvider = { ARRAYSIZE(kEoB1TakenStringsDOSGerman), kEoB1TakenStringsDOSGerman }; + +static const char *const kEoB1PotionEffectStringsDOSGerman[8] = { + "viel staerker", + "besser", + "viel besser", + "einen Moment uebel", + "nicht laenger hungrig", + "schnell und agil", + "transparent", + "besser" +}; + +static const StringListProvider kEoB1PotionEffectStringsDOSGermanProvider = { ARRAYSIZE(kEoB1PotionEffectStringsDOSGerman), kEoB1PotionEffectStringsDOSGerman }; + +static const char *const kEoB1YesNoStringsDOSGerman[2] = { + "ja", + "nein" +}; + +static const StringListProvider kEoB1YesNoStringsDOSGermanProvider = { ARRAYSIZE(kEoB1YesNoStringsDOSGerman), kEoB1YesNoStringsDOSGerman }; + +static const char *const kEoB1MoreStringsDOSGerman[1] = { + "MEHR" +}; + +static const StringListProvider kEoB1MoreStringsDOSGermanProvider = { ARRAYSIZE(kEoB1MoreStringsDOSGerman), kEoB1MoreStringsDOSGerman }; + +static const char *const kEoB1NpcMaxStringsDOSGerman[1] = { + "Es sind nur sechs Charaktere in einem Team erlaubt. Waehlen Sie aus, welchen Sie entlassen wollen." +}; + +static const StringListProvider kEoB1NpcMaxStringsDOSGermanProvider = { ARRAYSIZE(kEoB1NpcMaxStringsDOSGerman), kEoB1NpcMaxStringsDOSGerman }; + +static const char *const kEoB1NpcJoinStringsDOSGerman[1] = { + "%s wird in's Team aufgenommen.\r" +}; + +static const StringListProvider kEoB1NpcJoinStringsDOSGermanProvider = { ARRAYSIZE(kEoB1NpcJoinStringsDOSGerman), kEoB1NpcJoinStringsDOSGerman }; + +static const char *const kEoB1CancelStringsDOSGerman[1] = { + "ABBRECHEN" +}; + +static const StringListProvider kEoB1CancelStringsDOSGermanProvider = { ARRAYSIZE(kEoB1CancelStringsDOSGerman), kEoB1CancelStringsDOSGerman }; + +static const char *const kEoB1MenuStringsMainDOSGerman[8] = { + "Option Waehlen:", + "Ausruhen", + "Zauber lernen", + "Fuer Zauber beten", + "Schriftrollen", + "Einstellungen", + "Spieloptionen", + "Ende" +}; + +static const StringListProvider kEoB1MenuStringsMainDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsMainDOSGerman), kEoB1MenuStringsMainDOSGerman }; + +static const char *const kEoB1MenuStringsSaveLoadDOSGerman[8] = { + "Spiel laden", + "Spiel speichern", + "Charakter entlassen", + "Spielende", + "Spieloptionen:", + "\r Gespeichert.", + "\r Speichern\r Fehler!", + "\r Spiel laden\r Fehler!" +}; + +static const StringListProvider kEoB1MenuStringsSaveLoadDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsSaveLoadDOSGerman), kEoB1MenuStringsSaveLoadDOSGerman }; + +static const char *const kEoB1MenuStringsOnOffDOSGerman[2] = { + "AN", + "AUS" +}; + +static const StringListProvider kEoB1MenuStringsOnOffDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsOnOffDOSGerman), kEoB1MenuStringsOnOffDOSGerman }; + +static const char *const kEoB1MenuStringsSpellsDOSGerman[17] = { + "\r\r Charakter aus dem\r Team waehlen, der\r zaubern moechte.\r ", + "\r Der Paladin ist \r noch zu \r unerfahren.", + "\r\r Der Magier hat\r kein Zauberbuch!", + "\r\r\r Charakter aus dem\r Team waehlen, der\r beten moechte.\r ", + "\r Das Team hat kei-\r nen Kleriker, der\r beten koennte.\r ", + "\r Das Team hat kei-\r nen Magier, der\r zaubern koennte.", + " Ein bewusstloser\r oder toter Magier\r kann keine Zauber\r lernen.", + " Ein bewusstloser\r oder toter Kleriker\r kann nicht fuer Zauber\r beten.", + "1", + "2", + "3", + "4", + "5", + "Loesch", + "Verfuegbare Zauber:", + "Ja", + "Nein" +}; + +static const StringListProvider kEoB1MenuStringsSpellsDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsSpellsDOSGerman), kEoB1MenuStringsSpellsDOSGerman }; + +static const char *const kEoB1MenuStringsRestDOSGerman[5] = { + "\rWerden die Heiler\rdas Team heilen?", + " Jemand ist noch\r verletzt. Rasten,\r bis geheilt?", + "Ausruhen.", + "\r Alle Charaktere\r sind ganz\r ausgeruht.", + " Das Team muss\r fuer neue Zauber\r rasten." +}; + +static const StringListProvider kEoB1MenuStringsRestDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRestDOSGerman), kEoB1MenuStringsRestDOSGerman }; + +static const char *const kEoB1MenuStringsDropDOSGerman[1] = { + " Sie muessen min-\r destens vier\r Charaktere be-\r sitzen." +}; + +static const StringListProvider kEoB1MenuStringsDropDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDropDOSGerman), kEoB1MenuStringsDropDOSGerman }; + +static const char *const kEoB1MenuStringsExitDOSGerman[1] = { + " Wollen Sie wirk-\r lich das Spiel\r beenden?\r" +}; + +static const StringListProvider kEoB1MenuStringsExitDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsExitDOSGerman), kEoB1MenuStringsExitDOSGerman }; + +static const char *const kEoB1MenuStringsStarveDOSGerman[1] = { + " Ihr Team verhungert.\r Soll weiter gerastet\r werden?\r " +}; + +static const StringListProvider kEoB1MenuStringsStarveDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsStarveDOSGerman), kEoB1MenuStringsStarveDOSGerman }; + +static const char *const kEoB1MenuStringsScribeDOSGerman[5] = { + "Schriftrolle(n) waeh-\rlen,die notiert wer-\rden soll(en).", + "\r\r\r Welcher Magier des\r Teams soll\r Schriftrollen\r notieren?", + " Es gibt keine\r Schriftrollen zum\r Notieren.", + " Sie haben keine\r Schriftrolle fuer\r diesen Magier.", + "\r Keiner Ihrer Magier\r kann Schriftrollen\r notieren." +}; + +static const StringListProvider kEoB1MenuStringsScribeDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsScribeDOSGerman), kEoB1MenuStringsScribeDOSGerman }; + +static const char *const kEoB1MenuStringsDrop2DOSGerman[3] = { + " Waehlen Sie den\r zu entlassenden\r Charakter.", + " Wollen Sie wirk-\r lich das Spiel\r SPEICHERN?", + " Wollen Sie wirk-\r lich ein altes\r Spiel LADEN?" +}; + +static const StringListProvider kEoB1MenuStringsDrop2DOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDrop2DOSGerman), kEoB1MenuStringsDrop2DOSGerman }; + +static const char *const kEoB1MenuStringsHeadDOSGerman[3] = { + "Camp:", + "Einstellungen:", + "Spieloptionen:" +}; + +static const StringListProvider kEoB1MenuStringsHeadDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsHeadDOSGerman), kEoB1MenuStringsHeadDOSGerman }; + +static const char *const kEoB1MenuStringsPoisonDOSGerman[1] = { + "Vergiftete Team-\rmitglieder sterben!\rTrotzdem rasten?" +}; + +static const StringListProvider kEoB1MenuStringsPoisonDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsPoisonDOSGerman), kEoB1MenuStringsPoisonDOSGerman }; + +static const char *const kEoB1MenuStringsMgcDOSGerman[2] = { + "%-18s %1d", + "%d von %d Uebrigen. " +}; + +static const StringListProvider kEoB1MenuStringsMgcDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsMgcDOSGerman), kEoB1MenuStringsMgcDOSGerman }; + +static const char *const kEoB1MenuStringsPrefsDOSGerman[4] = { + "Musik ist %-3s", + "Geraeusche sind %-3s", + "Graphikzeilen %-3s", + "Maus ist %-3s" +}; + +static const StringListProvider kEoB1MenuStringsPrefsDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsPrefsDOSGerman), kEoB1MenuStringsPrefsDOSGerman }; + +static const char *const kEoB1MenuStringsRest2DOSGerman[4] = { + "%s erhaelt %s.\r", + "%s lernt %s.\r", + "%s spricht heilung auf %s.\r", + "Ruhestunden: %-4d" +}; + +static const StringListProvider kEoB1MenuStringsRest2DOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRest2DOSGerman), kEoB1MenuStringsRest2DOSGerman }; + +static const char *const kEoB1MenuStringsRest4DOSGerman[1] = { + "\rRast ist nicht moeglich, Monster sind in der Naehe." +}; + +static const StringListProvider kEoB1MenuStringsRest4DOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsRest4DOSGerman), kEoB1MenuStringsRest4DOSGerman }; + +static const char *const kEoB1MenuStringsDefeatDOSGerman[1] = { + " Dein ganzes team ist geschlagen. Die Helfer des boesen koennen ihre Plaene ungehindert erfuellen! \r" +}; + +static const StringListProvider kEoB1MenuStringsDefeatDOSGermanProvider = { ARRAYSIZE(kEoB1MenuStringsDefeatDOSGerman), kEoB1MenuStringsDefeatDOSGerman }; + +static const char *const kEoB1MenuYesNoStringsDOSGerman[2] = { + "Ja", + "Nein" +}; + +static const StringListProvider kEoB1MenuYesNoStringsDOSGermanProvider = { ARRAYSIZE(kEoB1MenuYesNoStringsDOSGerman), kEoB1MenuYesNoStringsDOSGerman }; + +static const char *const kEoB1CharGuiStringsHpDOSGerman[2] = { + "HP", + "%3d / %-3d" +}; + +static const StringListProvider kEoB1CharGuiStringsHpDOSGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsHpDOSGerman), kEoB1CharGuiStringsHpDOSGerman }; + +static const char *const kEoB1CharGuiStringsWp1DOSGerman[2] = { + "FEHL", + "HACK" +}; + +static const StringListProvider kEoB1CharGuiStringsWp1DOSGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsWp1DOSGerman), kEoB1CharGuiStringsWp1DOSGerman }; + +static const char *const kEoB1CharGuiStringsWrDOSGerman[4] = { + " ZU ", + "WEIT", + "KEINE", + " MUN" +}; + +static const StringListProvider kEoB1CharGuiStringsWrDOSGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsWrDOSGerman), kEoB1CharGuiStringsWrDOSGerman }; + +static const char *const kEoB1CharGuiStringsSt1DOSGerman[6] = { + "Tausche", + "TOT", + "BEWUSSTLOS", + "GIFT (LANGSAM)", + "VERGIFTED", + "BETAEUBT" +}; + +static const StringListProvider kEoB1CharGuiStringsSt1DOSGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsSt1DOSGerman), kEoB1CharGuiStringsSt1DOSGerman }; + +static const char *const kEoB1CharGuiStringsInDOSGerman[4] = { + "CHARAKTER INFO", + "RUESTUNG", + "ERF", + "EBN" +}; + +static const StringListProvider kEoB1CharGuiStringsInDOSGermanProvider = { ARRAYSIZE(kEoB1CharGuiStringsInDOSGerman), kEoB1CharGuiStringsInDOSGerman }; + +static const char *const kEoB1CharStatusStrings7DOSGerman[1] = { + "%s besitzt nun keine Riesen-Staerke mehr.\r" +}; + +static const StringListProvider kEoB1CharStatusStrings7DOSGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings7DOSGerman), kEoB1CharStatusStrings7DOSGerman }; + +static const char *const kEoB1CharStatusStrings81DOSGerman[1] = { + "%s fuehlt, wie das Gift wirkt!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings81DOSGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings81DOSGerman), kEoB1CharStatusStrings81DOSGerman }; + +static const char *const kEoB1CharStatusStrings9DOSGerman[1] = { + "%s ist nicht mehr gelaehmt!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings9DOSGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings9DOSGerman), kEoB1CharStatusStrings9DOSGerman }; + +static const char *const kEoB1CharStatusStrings131DOSGerman[1] = { + "%s ist %s!\r" +}; + +static const StringListProvider kEoB1CharStatusStrings131DOSGermanProvider = { ARRAYSIZE(kEoB1CharStatusStrings131DOSGerman), kEoB1CharStatusStrings131DOSGerman }; + +static const char *const kEoB1LevelGainStringsDOSGerman[1] = { + "\x06\x01""%s steigt eine erfahrungsstufe auf.""\x06\x0F""\r" +}; + +static const StringListProvider kEoB1LevelGainStringsDOSGermanProvider = { ARRAYSIZE(kEoB1LevelGainStringsDOSGerman), kEoB1LevelGainStringsDOSGerman }; + +static const char *const kEoB1BookNumbersDOSGerman[5] = { + "Erster", + "Zweiter", + "Dritter", + "Vierter", + "Fuenfter" +}; + +static const StringListProvider kEoB1BookNumbersDOSGermanProvider = { ARRAYSIZE(kEoB1BookNumbersDOSGerman), kEoB1BookNumbersDOSGerman }; + +static const char *const kEoB1MageSpellsListDOSGerman[26] = { + "", + "Ruestung", + "Brennende Haende", + "Magie entdecken", + "Magisch. Geschoss", + "Magie lesen", + "Schild", + "Schockgriff", + "Unsichtbarkeit", + "Klopfen", + "Ms Saeurepfeil", + "Stinkende Wolke", + "Magie bannen", + "Feuerball", + "Flammenpfeil", + "Hast", + "Person festhalten", + "Usichtbarkeit 3m", + "Blitzstrahl", + "Vampirgriff", + "Furcht", + "Eissturm", + "Steinhaut", + "Todeswolke", + "Kaeltekegel", + "Monster festhalten" +}; + +static const StringListProvider kEoB1MageSpellsListDOSGermanProvider = { ARRAYSIZE(kEoB1MageSpellsListDOSGerman), kEoB1MageSpellsListDOSGerman }; + +static const char *const kEoB1ClericSpellsListDOSGerman[25] = { + "", + "Segen", + "L. Wnd. heilen", + "l. Wnd. verurs.", + "Magie entdecken", + "Schutz v. Boesem", + "Staerkung", + "Flammenklinge", + "Person festhalten", + "Gift verlangsamen", + "Nahrung erschaffen", + "Magie bannen", + "Schutzgewand", + "Gebet", + "Laehmung aufheben", + "Schwere W. heilen", + "Schwere W. verurs.", + "Gift neutral.", + "Schutz v.Boesem 3m", + "Schutz v. Blitzen", + "Krit. W. heilen", + "Krit. W. verurs.", + "Flammenschlag", + "Tote erwecken", + "Haende auflegen" +}; + +static const StringListProvider kEoB1ClericSpellsListDOSGermanProvider = { ARRAYSIZE(kEoB1ClericSpellsListDOSGerman), kEoB1ClericSpellsListDOSGerman }; + +static const char *const kEoB1SpellNamesDOSGerman[51] = { + "", + "Ruestung", + "brennende Haende", + "Magie entdecken", + "magisches Geschoss", + "Schild", + "Schockgriff", + "Unsichtbarkeit", + "Ms saeurepfeil", + "stinkende Wolke", + "Magie bannen", + "Feuerball", + "Flammenpfeil", + "hast", + "Person festhalten", + "Unsichtbarkeit 3m", + "Blitzstrahl", + "Vampirgriff", + "Furcht", + "Eissturm", + "Steinhaut", + "Todeswolke", + "Kaeltekegel", + "Monster festhalten", + "Segen", + "leichte Wunden heilen", + "leichte Wunden verursachen", + "Magie entdecken", + "Schutz vor boesem", + "Staerkung", + "Flammenklinge", + "Person festhalten", + "Gift verlangsamen", + "Nahrung erschaffen", + "Magie bannen", + "Schutzgewand", + "Gebet", + "Laehmung aufheben", + "schwere Wunden heilen", + "schwere Wunden verursachen", + "Gift neutralisieren", + "Schutz vor boesem 3m", + "Schutz vor Blitzen", + "kritische Wunden heilen", + "kritische Wunden verursachen", + "Flammenschlag", + "Tote erwecken", + "Haende auflegen", + "", + "", + "" +}; + +static const StringListProvider kEoB1SpellNamesDOSGermanProvider = { ARRAYSIZE(kEoB1SpellNamesDOSGerman), kEoB1SpellNamesDOSGerman }; + +static const char *const kEoB1MagicStrings1DOSGerman[6] = { + "KEIN ZAUBER", + "KEIN ZAUBER", + "Fuer diesen Zauber musst du eine Hand frei haben.\r", + "Zwei Sprueche dieses Typs koennen nicht gleichzeitig wirken.\r", + "%s zaubert %s.\r", + "ok\r" +}; + +static const StringListProvider kEoB1MagicStrings1DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings1DOSGerman), kEoB1MagicStrings1DOSGerman }; + +static const char *const kEoB1MagicStrings2DOSGerman[3] = { + "Kein Effekt\r", + "%s wurde aufgeloest!\r", + "Das Team wurde mit einem Todesbann belegt!\r" +}; + +static const StringListProvider kEoB1MagicStrings2DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings2DOSGerman), kEoB1MagicStrings2DOSGerman }; + +static const char *const kEoB1MagicStrings3DOSGerman[6] = { + "Zauber auf welchen Charakter anwenden? ", + "\rok\r", + "\rZauber abgebrochen.\r", + "%s's %s Zauber laesst nach.\r", + "%s traf das Monster nicht.\r", + "%s kann nur in vorderen Reihen zuschlagen!\r" +}; + +static const StringListProvider kEoB1MagicStrings3DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings3DOSGerman), kEoB1MagicStrings3DOSGerman }; + +static const char *const kEoB1MagicStrings4DOSGerman[2] = { + "Kein Effekt.\r", + "Kein Effekt\r" +}; + +static const StringListProvider kEoB1MagicStrings4DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings4DOSGerman), kEoB1MagicStrings4DOSGerman }; + +static const char *const kEoB1MagicStrings6DOSGerman[1] = { + "%s hat bereits eine hochrangige Ruestungsklasse.\r" +}; + +static const StringListProvider kEoB1MagicStrings6DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings6DOSGerman), kEoB1MagicStrings6DOSGerman }; + +static const char *const kEoB1MagicStrings7DOSGerman[5] = { + "1.", + "2.", + "3.", + "4.", + "5." +}; + +static const StringListProvider kEoB1MagicStrings7DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings7DOSGerman), kEoB1MagicStrings7DOSGerman }; + +static const char *const kEoB1MagicStrings8DOSGerman[3] = { + "Alle Zauber auf %s wurden abgewehrt.\r", + "Das Team ist schon gesegnet!\r", + "Der Heilungszauber versagt!\r" +}; + +static const StringListProvider kEoB1MagicStrings8DOSGermanProvider = { ARRAYSIZE(kEoB1MagicStrings8DOSGerman), kEoB1MagicStrings8DOSGerman }; + +static const byte kEoB1ManDefDOSGerman[120] = { + 0x09, 0x0A, 0x01, 0x00, 0x09, 0x04, 0x03, 0x00, + 0x09, 0x06, 0x01, 0x00, 0x09, 0x03, 0x03, 0x00, + 0x09, 0x04, 0x02, 0x00, 0x09, 0x01, 0x02, 0x00, + 0x09, 0x05, 0x01, 0x00, 0x09, 0x09, 0x02, 0x00, + 0x09, 0x01, 0x03, 0x00, 0x23, 0x01, 0x05, 0x00, + 0x23, 0x02, 0x02, 0x00, 0x23, 0x03, 0x06, 0x00, + 0x23, 0x05, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, + 0x23, 0x07, 0x01, 0x00, 0x1A, 0x02, 0x01, 0x00, + 0x1A, 0x03, 0x02, 0x00, 0x1A, 0x06, 0x01, 0x00, + 0x24, 0x01, 0x03, 0x00, 0x24, 0x03, 0x03, 0x00, + 0x24, 0x03, 0x01, 0x00, 0x02, 0x04, 0x03, 0x00, + 0x02, 0x03, 0x03, 0x00, 0x02, 0x07, 0x02, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x03, 0x00, + 0x01, 0x04, 0x03, 0x00, 0x0C, 0x02, 0x01, 0x00, + 0x0C, 0x03, 0x03, 0x00, 0x0C, 0x02, 0x04, 0x00 +}; + +static const ByteProvider kEoB1ManDefDOSGermanProvider = { ARRAYSIZE(kEoB1ManDefDOSGerman), kEoB1ManDefDOSGerman }; + +static const char *const kEoB1ManWordDOSGerman[31] = { + "dargestellt", + "nur", + "attackieren", + "sie", + "handwaffen", + "monster", + "diese", + "wird", + "jedoch", + "sie", + "getragene", + "sobald", + "klerikale", + "getragene", + "sich", + "elternteile", + "gesicht", + "nicht", + "ihrer", + "magische", + "einige", + "sich", + "charaktere", + "gesinnung", + "versammlung", + "wachen", + "des", + "werden", + "seinen", + "greift", + "" +}; + +static const StringListProvider kEoB1ManWordDOSGermanProvider = { ARRAYSIZE(kEoB1ManWordDOSGerman), kEoB1ManWordDOSGerman }; + +static const char *const kEoB1ManPromptDOSGerman[1] = { + "\r\r\r\rAuf der Seite mit diesem Symbol...\r\rFinde Zeile %d\rGib Wort %d ein\r" +}; + +static const StringListProvider kEoB1ManPromptDOSGermanProvider = { ARRAYSIZE(kEoB1ManPromptDOSGerman), kEoB1ManPromptDOSGerman }; + +static const char *const kEoB1MonsterDistAttStringsDOSGerman[5] = { + "%s wurde von einem Schwere-Wunden-Zauber getroffen!\r", + "Das Team wurde von einem psychischen Hirnstoss getroffen!\r", + "gelaehmt", + "vergiftet", + "gelaehmt" +}; + +static const StringListProvider kEoB1MonsterDistAttStringsDOSGermanProvider = { ARRAYSIZE(kEoB1MonsterDistAttStringsDOSGerman), kEoB1MonsterDistAttStringsDOSGerman }; + diff --git a/devtools/create_kyradat/resources/eob2_dos.h b/devtools/create_kyradat/resources/eob2_dos.h new file mode 100644 index 0000000000..f260913e3c --- /dev/null +++ b/devtools/create_kyradat/resources/eob2_dos.h @@ -0,0 +1,2501 @@ +static const byte kEoB2ChargenStartLevelsDOS[60] = { + 0x07, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x01, + 0x06, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x01, + 0x07, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x01, + 0x06, 0x06, 0x00, 0x02, 0x06, 0x06, 0x00, 0x02, + 0x06, 0x05, 0x00, 0x02, 0x05, 0x05, 0x06, 0x03, + 0x06, 0x05, 0x00, 0x02, 0x06, 0x06, 0x00, 0x02, + 0x05, 0x05, 0x05, 0x03, 0x05, 0x06, 0x00, 0x02, + 0x06, 0x05, 0x00, 0x02 +}; + +static const ByteProvider kEoB2ChargenStartLevelsDOSProvider = { ARRAYSIZE(kEoB2ChargenStartLevelsDOS), kEoB2ChargenStartLevelsDOS }; + +static const byte kEoB2ChargenClassMinStatsDOS[90] = { + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, + 0x0E, 0x0D, 0x0E, 0x00, 0x0C, 0x00, 0x0D, 0x00, + 0x09, 0x11, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, + 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, + 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, + 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, + 0x0E, 0x0D, 0x0E, 0x00, 0x00, 0x09, 0x09, 0x00, + 0x00, 0x00 +}; + +static const ByteProvider kEoB2ChargenClassMinStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenClassMinStatsDOS), kEoB2ChargenClassMinStatsDOS }; + +static const byte kEoB2ChargenRaceMinStatsDOS[36] = { + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x08, + 0x03, 0x07, 0x06, 0x08, 0x03, 0x04, 0x03, 0x06, + 0x06, 0x03, 0x08, 0x03, 0x03, 0x03, 0x0C, 0x02, + 0x06, 0x07, 0x02, 0x03, 0x08, 0x03, 0x07, 0x06, + 0x03, 0x08, 0x0A, 0x06 +}; + +static const ByteProvider kEoB2ChargenRaceMinStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenRaceMinStatsDOS), kEoB2ChargenRaceMinStatsDOS }; + +static const uint16 kEoB2ChargenRaceMaxStatsDOS[36] = { + 0x6412, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x6412, 0x0012, + 0x0012, 0x0013, 0x0011, 0x0012, 0x6412, 0x0012, 0x0012, 0x0012, + 0x0012, 0x0012, 0x6412, 0x0012, 0x0012, 0x0011, 0x0013, 0x0010, + 0x6412, 0x0013, 0x0011, 0x0012, 0x0012, 0x0012, 0x0011, 0x0012, + 0x0011, 0x0013, 0x0012, 0x0012 +}; + +static const Uint16Provider kEoB2ChargenRaceMaxStatsDOSProvider = { ARRAYSIZE(kEoB2ChargenRaceMaxStatsDOS), kEoB2ChargenRaceMaxStatsDOS }; + +static const byte kEoB2SaveThrowTable1DOS[50] = { + 0x10, 0x0E, 0x0D, 0x0B, 0x0A, 0x08, 0x07, 0x05, + 0x04, 0x03, 0x12, 0x10, 0x0F, 0x0D, 0x0C, 0x0A, + 0x09, 0x07, 0x06, 0x05, 0x11, 0x0F, 0x0E, 0x0C, + 0x0B, 0x09, 0x08, 0x06, 0x05, 0x04, 0x14, 0x11, + 0x10, 0x0D, 0x0C, 0x09, 0x08, 0x05, 0x04, 0x04, + 0x13, 0x11, 0x10, 0x0E, 0x0D, 0x0B, 0x0A, 0x08, + 0x07, 0x06 +}; + +static const ByteProvider kEoB2SaveThrowTable1DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable1DOS), kEoB2SaveThrowTable1DOS }; + +static const byte kEoB2SaveThrowTable2DOS[25] = { + 0x0E, 0x0D, 0x0B, 0x0A, 0x08, 0x0B, 0x09, 0x07, + 0x05, 0x03, 0x0D, 0x0B, 0x09, 0x07, 0x05, 0x0F, + 0x0D, 0x0B, 0x09, 0x07, 0x0C, 0x0A, 0x08, 0x06, + 0x04 +}; + +static const ByteProvider kEoB2SaveThrowTable2DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable2DOS), kEoB2SaveThrowTable2DOS }; + +static const byte kEoB2SaveThrowTable3DOS[35] = { + 0x0A, 0x09, 0x07, 0x06, 0x05, 0x04, 0x02, 0x0E, + 0x0D, 0x0B, 0x0A, 0x09, 0x08, 0x06, 0x0D, 0x0C, + 0x0A, 0x09, 0x08, 0x07, 0x05, 0x10, 0x0F, 0x0D, + 0x0C, 0x0B, 0x0A, 0x08, 0x0F, 0x0E, 0x0C, 0x0B, + 0x0A, 0x09, 0x07 +}; + +static const ByteProvider kEoB2SaveThrowTable3DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable3DOS), kEoB2SaveThrowTable3DOS }; + +static const byte kEoB2SaveThrowTable4DOS[30] = { + 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x0E, 0x0C, + 0x0A, 0x08, 0x06, 0x07, 0x0C, 0x0B, 0x0A, 0x09, + 0x08, 0x04, 0x10, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, + 0x0F, 0x0D, 0x0B, 0x09, 0x07, 0x05 +}; + +static const ByteProvider kEoB2SaveThrowTable4DOSProvider = { ARRAYSIZE(kEoB2SaveThrowTable4DOS), kEoB2SaveThrowTable4DOS }; + +static const byte kEoB2SaveThrwLvlIndexDOS[6] = { + 0x11, 0x15, 0x13, 0x15, 0x11, 0x11 +}; + +static const ByteProvider kEoB2SaveThrwLvlIndexDOSProvider = { ARRAYSIZE(kEoB2SaveThrwLvlIndexDOS), kEoB2SaveThrwLvlIndexDOS }; + +static const byte kEoB2SaveThrwModDivDOS[6] = { + 0x02, 0x05, 0x03, 0x04, 0x02, 0x02 +}; + +static const ByteProvider kEoB2SaveThrwModDivDOSProvider = { ARRAYSIZE(kEoB2SaveThrwModDivDOS), kEoB2SaveThrwModDivDOS }; + +static const byte kEoB2SaveThrwModExtDOS[6] = { + 0x0A, 0x05, 0x07, 0x06, 0x0A, 0x0A +}; + +static const ByteProvider kEoB2SaveThrwModExtDOSProvider = { ARRAYSIZE(kEoB2SaveThrwModExtDOS), kEoB2SaveThrwModExtDOS }; + +static const char *const kEoB2EnchantedStringDOS[1] = { + "+%d %s" +}; + +static const StringListProvider kEoB2EnchantedStringDOSProvider = { ARRAYSIZE(kEoB2EnchantedStringDOS), kEoB2EnchantedStringDOS }; + +static const char *const kEoB2MenuStringsSpellNoDOS[3] = { + "6", + "7", + "8" +}; + +static const StringListProvider kEoB2MenuStringsSpellNoDOSProvider = { ARRAYSIZE(kEoB2MenuStringsSpellNoDOS), kEoB2MenuStringsSpellNoDOS }; + +static const byte kEoB2SpellLevelsMageDOS[35] = { + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, + 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08, + 0x00, 0x01, 0x01 +}; + +static const ByteProvider kEoB2SpellLevelsMageDOSProvider = { ARRAYSIZE(kEoB2SpellLevelsMageDOS), kEoB2SpellLevelsMageDOS }; + +static const byte kEoB2SpellLevelsClericDOS[29] = { + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, + 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x06, 0x06, 0x08, 0x08, 0x00 +}; + +static const ByteProvider kEoB2SpellLevelsClericDOSProvider = { ARRAYSIZE(kEoB2SpellLevelsClericDOS), kEoB2SpellLevelsClericDOS }; + +static const byte kEoB2NumSpellsClericDOS[136] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, + 0x06, 0x05, 0x05, 0x03, 0x02, 0x02, 0x00, 0x00, + 0x06, 0x06, 0x06, 0x04, 0x02, 0x02, 0x00, 0x00, + 0x06, 0x06, 0x06, 0x05, 0x03, 0x02, 0x01, 0x00, + 0x06, 0x06, 0x06, 0x06, 0x04, 0x02, 0x01, 0x00, + 0x07, 0x07, 0x07, 0x06, 0x04, 0x03, 0x01, 0x00, + 0x07, 0x07, 0x07, 0x07, 0x05, 0x03, 0x02, 0x00 +}; + +static const ByteProvider kEoB2NumSpellsClericDOSProvider = { ARRAYSIZE(kEoB2NumSpellsClericDOS), kEoB2NumSpellsClericDOS }; + +static const byte kEoB2NumSpellsWisAdjDOS[64] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2NumSpellsWisAdjDOSProvider = { ARRAYSIZE(kEoB2NumSpellsWisAdjDOS), kEoB2NumSpellsWisAdjDOS }; + +static const byte kEoB2NumSpellsPalDOS[136] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2NumSpellsPalDOSProvider = { ARRAYSIZE(kEoB2NumSpellsPalDOS), kEoB2NumSpellsPalDOS }; + +static const byte kEoB2NumSpellsMageDOS[276] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x04, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x00, 0x00, + 0x05, 0x05, 0x05, 0x04, 0x04, 0x02, 0x00, 0x00, + 0x05, 0x05, 0x05, 0x04, 0x04, 0x02, 0x01, 0x00, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x01, 0x00, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x02, 0x01, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x03, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2NumSpellsMageDOSProvider = { ARRAYSIZE(kEoB2NumSpellsMageDOS), kEoB2NumSpellsMageDOS }; + +static const uint32 kEoB2ExperienceTable0DOS[14] = { + 0x00000000, 0x000007D0, 0x00000FA0, 0x00001F40, 0x00003E80, 0x00007D00, 0x0000FA00, 0x0001E848, + 0x0003D090, 0x0007A120, 0x000B71B0, 0x000F4240, 0x001312D0, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB2ExperienceTable0DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable0DOS), kEoB2ExperienceTable0DOS }; + +static const uint32 kEoB2ExperienceTable1DOS[14] = { + 0x00000000, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x0000EA60, 0x00015F90, + 0x00020F58, 0x0003D090, 0x0005B8D8, 0x000B71B0, 0x00112A88, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB2ExperienceTable1DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable1DOS), kEoB2ExperienceTable1DOS }; + +static const uint32 kEoB2ExperienceTable2DOS[14] = { + 0x00000000, 0x000005DC, 0x00000BB8, 0x00001770, 0x000032C8, 0x00006B6C, 0x0000D6D8, 0x0001ADB0, + 0x00036EE8, 0x0006DDD0, 0x000A4CB8, 0x000DBBA0, 0x00112A88, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB2ExperienceTable2DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable2DOS), kEoB2ExperienceTable2DOS }; + +static const uint32 kEoB2ExperienceTable3DOS[14] = { + 0x00000000, 0x000004E2, 0x000009C4, 0x00001388, 0x00002710, 0x00004E20, 0x00009C40, 0x00011170, + 0x0001ADB0, 0x00027100, 0x00035B60, 0x0006B6C0, 0x000A1220, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB2ExperienceTable3DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable3DOS), kEoB2ExperienceTable3DOS }; + +static const uint32 kEoB2ExperienceTable4DOS[14] = { + 0x00000000, 0x000008CA, 0x00001194, 0x00002328, 0x00004650, 0x00008CA0, 0x000124F8, 0x000249F0, + 0x000493E0, 0x000927C0, 0x000DBBA0, 0x00124F80, 0x0016E360, 0xFFFFFFFF +}; + +static const Uint32Provider kEoB2ExperienceTable4DOSProvider = { ARRAYSIZE(kEoB2ExperienceTable4DOS), kEoB2ExperienceTable4DOS }; + +static const byte kEoB2ExpObjectTlModeDOS[18] = { + 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x02, 0x00 +}; + +static const ByteProvider kEoB2ExpObjectTlModeDOSProvider = { ARRAYSIZE(kEoB2ExpObjectTlModeDOS), kEoB2ExpObjectTlModeDOS }; + +static const byte kEoB2ExpObjectTblIndexDOS[14] = { + 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2ExpObjectTblIndexDOSProvider = { ARRAYSIZE(kEoB2ExpObjectTblIndexDOS), kEoB2ExpObjectTblIndexDOS }; + +static const byte kEoB2ExpObjectShpStartDOS[4] = { + 0x07, 0x0C, 0x0F, 0x12 +}; + +static const ByteProvider kEoB2ExpObjectShpStartDOSProvider = { ARRAYSIZE(kEoB2ExpObjectShpStartDOS), kEoB2ExpObjectShpStartDOS }; + +static const byte kEoB2ExpObjectTbl1DOS[13] = { + 0x0F, 0x05, 0x0F, 0x05, 0x06, 0x05, 0x06, 0x08, + 0x06, 0x08, 0x06, 0x08, 0x00 +}; + +static const ByteProvider kEoB2ExpObjectTbl1DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl1DOS), kEoB2ExpObjectTbl1DOS }; + +static const byte kEoB2ExpObjectTbl2DOS[10] = { + 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x0B, 0x0A, + 0x0B, 0x00 +}; + +static const ByteProvider kEoB2ExpObjectTbl2DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl2DOS), kEoB2ExpObjectTbl2DOS }; + +static const byte kEoB2ExpObjectTbl3DOS[11] = { + 0x05, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x0B, + 0x03, 0x0B, 0x00 +}; + +static const ByteProvider kEoB2ExpObjectTbl3DOSProvider = { ARRAYSIZE(kEoB2ExpObjectTbl3DOS), kEoB2ExpObjectTbl3DOS }; + +static const byte kEoB2ExpObjectYDOS[4] = { + 0x77, 0x67, 0x4F, 0x3F +}; + +static const ByteProvider kEoB2ExpObjectYDOSProvider = { ARRAYSIZE(kEoB2ExpObjectYDOS), kEoB2ExpObjectYDOS }; + +static const byte kEoB2SparkDefStepsDOS[8] = { + 0x40, 0x90, 0xE4, 0xB9, 0x6E, 0x1B, 0x06, 0x01 +}; + +static const ByteProvider kEoB2SparkDefStepsDOSProvider = { ARRAYSIZE(kEoB2SparkDefStepsDOS), kEoB2SparkDefStepsDOS }; + +static const byte kEoB2SparkDefSubStepsDOS[4] = { + 0xC0, 0x30, 0x0C, 0x03 +}; + +static const ByteProvider kEoB2SparkDefSubStepsDOSProvider = { ARRAYSIZE(kEoB2SparkDefSubStepsDOS), kEoB2SparkDefSubStepsDOS }; + +static const byte kEoB2SparkDefShiftDOS[4] = { + 0x06, 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB2SparkDefShiftDOSProvider = { ARRAYSIZE(kEoB2SparkDefShiftDOS), kEoB2SparkDefShiftDOS }; + +static const byte kEoB2SparkDefAddDOS[8] = { + 0x08, 0x06, 0x1C, 0x14, 0x0D, 0x18, 0x0D, 0x0F +}; + +static const ByteProvider kEoB2SparkDefAddDOSProvider = { ARRAYSIZE(kEoB2SparkDefAddDOS), kEoB2SparkDefAddDOS }; + +static const byte kEoB2SparkDefXDOS[6] = { + 0x17, 0x20, 0x17, 0x20, 0x17, 0x20 +}; + +static const ByteProvider kEoB2SparkDefXDOSProvider = { ARRAYSIZE(kEoB2SparkDefXDOS), kEoB2SparkDefXDOS }; + +static const byte kEoB2SparkDefYDOS[6] = { + 0x02, 0x02, 0x34, 0x34, 0x66, 0x66 +}; + +static const ByteProvider kEoB2SparkDefYDOSProvider = { ARRAYSIZE(kEoB2SparkDefYDOS), kEoB2SparkDefYDOS }; + +static const uint32 kEoB2SparkOfFlags1DOS[11] = { + 0x40000000, 0x95000000, 0xEA550000, 0xBFAA5400, 0x6AFFA954, 0x15AAFEA9, 0x0055ABFE, 0x000056AB, + 0x00000156, 0x00000001, 0x00000000 +}; + +static const Uint32Provider kEoB2SparkOfFlags1DOSProvider = { ARRAYSIZE(kEoB2SparkOfFlags1DOS), kEoB2SparkOfFlags1DOS }; + +static const uint32 kEoB2SparkOfFlags2DOS[16] = { + 0xC0000000, 0x30000000, 0x0C000000, 0x03000000, 0x00C00000, 0x00300000, 0x000C0000, 0x00030000, + 0x0000C000, 0x00003000, 0x00000C00, 0x00000300, 0x000000C0, 0x00000030, 0x0000000C, 0x00000003 +}; + +static const Uint32Provider kEoB2SparkOfFlags2DOSProvider = { ARRAYSIZE(kEoB2SparkOfFlags2DOS), kEoB2SparkOfFlags2DOS }; + +static const byte kEoB2SparkOfShiftDOS[16] = { + 0x1E, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x12, 0x10, + 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB2SparkOfShiftDOSProvider = { ARRAYSIZE(kEoB2SparkOfShiftDOS), kEoB2SparkOfShiftDOS }; + +static const byte kEoB2SparkOfXDOS[16] = { + 0x50, 0x70, 0x30, 0x68, 0x20, 0x60, 0x38, 0x78, + 0x80, 0x48, 0x58, 0x28, 0x60, 0x40, 0x70, 0x48 +}; + +static const ByteProvider kEoB2SparkOfXDOSProvider = { ARRAYSIZE(kEoB2SparkOfXDOS), kEoB2SparkOfXDOS }; + +static const byte kEoB2SparkOfYDOS[16] = { + 0x31, 0x2B, 0x48, 0x17, 0x16, 0x48, 0x35, 0x1B, + 0x43, 0x2E, 0x24, 0x28, 0x38, 0x1C, 0x16, 0x44 +}; + +static const ByteProvider kEoB2SparkOfYDOSProvider = { ARRAYSIZE(kEoB2SparkOfYDOS), kEoB2SparkOfYDOS }; + +static const byte kEoB2SpellPropertiesDOS[1750] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x2B, 0x16, 0x2B, 0x60, 0x00, 0xA7, + 0x13, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5C, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x2C, 0x16, 0x2B, 0xC3, 0x00, + 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x00, 0x12, 0x2C, 0x16, 0x2B, 0x9D, + 0x01, 0xA7, 0x13, 0x4C, 0x00, 0x00, 0x00, 0x95, + 0x29, 0xBB, 0x01, 0xA7, 0x13, 0x5F, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x2C, 0x16, 0x2B, + 0xD9, 0x01, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xFA, 0x01, 0xA7, 0x13, 0x55, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x2D, 0x2C, 0x16, + 0x2B, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, + 0x00, 0x96, 0x29, 0x00, 0x00, 0x00, 0x00, 0x5C, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x2C, + 0x16, 0x2B, 0x2D, 0x02, 0xA7, 0x13, 0x88, 0x04, + 0x00, 0x00, 0x97, 0x29, 0xE4, 0x02, 0xA7, 0x13, + 0x58, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x43, + 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x89, + 0x00, 0x00, 0x00, 0x98, 0x29, 0x00, 0x00, 0x00, + 0x00, 0x4B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0x00, 0x00, 0x00, 0x9A, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5C, 0x2C, 0x16, 0x2B, 0x2C, 0x00, 0xA7, + 0x13, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6E, 0x2C, 0x16, 0x2B, 0x00, 0x00, + 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5E, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7B, 0x2C, 0x16, 0x2B, 0x2B, + 0x03, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x4D, 0x03, 0xA7, 0x13, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x00, 0x8D, 0x2C, 0x16, 0x2B, + 0x02, 0x00, 0xA7, 0x13, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x2C, 0x16, + 0x2B, 0x82, 0x03, 0xA7, 0x13, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xA4, 0x03, 0xA7, 0x13, 0x63, + 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0xA3, 0x2C, + 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x48, 0x02, + 0x00, 0x00, 0x99, 0x29, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA9, + 0x2C, 0x16, 0x2B, 0xD3, 0x03, 0xA7, 0x13, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x03, 0xA7, + 0x13, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB5, 0x2C, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5E, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xCD, 0x2C, 0x16, 0x2B, 0xFA, 0x04, 0xA7, + 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1C, + 0x05, 0xA7, 0x13, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0xDC, 0x2C, 0x16, 0x2B, 0x4B, 0x05, + 0xA7, 0x13, 0x88, 0x04, 0x00, 0x00, 0x9B, 0x29, + 0x04, 0x06, 0xA7, 0x13, 0x66, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xEB, 0x2C, 0x16, 0x2B, 0x2B, + 0x06, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xF0, 0x2C, 0x16, 0x2B, + 0x89, 0x06, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xAB, 0x06, 0xA7, 0x13, 0x59, 0x00, + 0x00, 0x00, 0x00, 0x41, 0x00, 0xFA, 0x2C, 0x16, + 0x2B, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, + 0x00, 0x9C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x2D, + 0x16, 0x2B, 0x3C, 0x07, 0xA7, 0x13, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, + 0x2D, 0x16, 0x2B, 0x9F, 0x07, 0xA7, 0x13, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, + 0x2A, 0x2D, 0x16, 0x2B, 0x94, 0x08, 0xA7, 0x13, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x08, + 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x37, 0x2D, 0x16, 0x2B, 0xD0, 0x09, 0xA7, + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x45, 0x2D, 0x16, 0x2B, 0x25, 0x0B, + 0xA7, 0x13, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x52, 0x2D, 0x16, 0x2B, 0x89, + 0x0B, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x61, 0x2D, 0x16, 0x2B, + 0xF1, 0x0B, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x2D, 0x16, + 0x2B, 0x0D, 0x0C, 0xA7, 0x13, 0x4C, 0x00, 0x00, + 0x00, 0x9D, 0x29, 0x1C, 0x0C, 0xA7, 0x13, 0x49, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x2D, + 0x16, 0x2B, 0x2B, 0x0C, 0xA7, 0x13, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8C, + 0x2D, 0x16, 0x2B, 0x98, 0x0C, 0xA7, 0x13, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9C, 0x2D, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xB2, 0x2D, 0x16, 0x2B, 0x00, 0x00, + 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x9E, 0x29, + 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0xB8, 0x2D, 0x16, 0x2B, 0xDE, + 0x0C, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xCB, 0x2D, 0x16, 0x2B, + 0xF6, 0x0C, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x2D, 0x16, + 0x2B, 0x9D, 0x01, 0xA7, 0x13, 0x4C, 0x00, 0x00, + 0x00, 0x95, 0x29, 0xBB, 0x01, 0xA7, 0x13, 0x5F, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x2D, + 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, + 0x00, 0x00, 0x9F, 0x29, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x2D, 0x16, 0x2B, 0x1A, 0x0D, 0xA7, 0x13, 0x39, + 0x00, 0x00, 0x00, 0xA0, 0x29, 0xC9, 0x0D, 0xA7, + 0x13, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x2E, 0x16, 0x2B, 0xEF, 0x0D, 0xA7, 0x13, + 0x08, 0x24, 0x00, 0x00, 0xA1, 0x29, 0xE4, 0x02, + 0xA7, 0x13, 0x63, 0x00, 0x00, 0x00, 0x00, 0x21, + 0x00, 0x0F, 0x2E, 0x16, 0x2B, 0xD3, 0x03, 0xA7, + 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5, + 0x03, 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x2E, 0x16, 0x2B, 0x99, 0x0E, + 0xA7, 0x13, 0x28, 0x00, 0x00, 0x00, 0xA2, 0x29, + 0xF2, 0x0E, 0xA7, 0x13, 0x6F, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x27, 0x2E, 0x16, 0x2B, 0x08, + 0x0F, 0xA7, 0x13, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x33, 0x2E, 0x16, 0x2B, + 0x02, 0x00, 0xA7, 0x13, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2E, 0x16, + 0x2B, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, + 0x00, 0xA3, 0x29, 0x00, 0x00, 0x00, 0x00, 0x71, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x51, 0x2E, + 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00, + 0x00, 0x00, 0xA4, 0x29, 0x00, 0x00, 0x00, 0x00, + 0x5B, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x58, + 0x2E, 0x16, 0x2B, 0x38, 0x0F, 0xA7, 0x13, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x69, 0x2E, 0x16, 0x2B, 0x95, 0x0F, 0xA7, 0x13, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x7E, 0x2E, 0x16, 0x2B, 0x71, 0x0F, 0xA7, + 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x92, 0x2E, 0x16, 0x2B, 0xAE, 0x0F, + 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xA4, 0x2E, 0x16, 0x2B, 0x00, + 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x9F, + 0x29, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x00, 0xC4, 0x2E, 0x16, 0x2B, + 0xD1, 0x0F, 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xDA, 0x2E, 0x16, + 0x2B, 0xEA, 0x0F, 0xA7, 0x13, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x2E, + 0x16, 0x2B, 0x0E, 0x10, 0xA7, 0x13, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0xA7, 0x13, + 0x62, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0xFC, + 0x2E, 0x16, 0x2B, 0x4F, 0x10, 0xA7, 0x13, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x2F, 0x16, 0x2B, 0x2B, 0x0C, 0xA7, 0x13, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x13, 0x2F, 0x16, 0x2B, 0x0D, 0x0C, 0xA7, + 0x13, 0x4C, 0x00, 0x00, 0x00, 0x9D, 0x29, 0x1C, + 0x0C, 0xA7, 0x13, 0x49, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0x2F, 0x16, 0x2B, 0x84, 0x10, + 0xA7, 0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x24, 0x2F, 0x16, 0x2B, 0x97, + 0x10, 0xA7, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x2F, 0x16, 0x2B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x2F, 0x16, + 0x2B, 0xA8, 0x13, 0xA7, 0x13, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x2F, + 0x16, 0x2B, 0xE6, 0x10, 0xA7, 0x13, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, + 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x13, 0xA7, + 0x13, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x4C, 0x00, 0x00, 0x00, 0xA5, 0x29, 0x00, 0x00, + 0x00, 0x00, 0x5B, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x5F, 0x2F, 0x16, 0x2B, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, + 0x14, 0xA7, 0x13, 0x62, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x2F, 0x16, 0x2B, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6A, 0x12, 0xA7, 0x13, 0x65, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x2F, 0x16, 0x2B, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF6, 0x11, 0xA7, 0x13, 0x65, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x62, 0x2F, 0x16, 0x2B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE1, 0x12, 0xA7, 0x13, 0x65, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x2F, 0x16, + 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x43, 0x13, 0xA7, 0x13, 0x65, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2SpellPropertiesDOSProvider = { ARRAYSIZE(kEoB2SpellPropertiesDOS), kEoB2SpellPropertiesDOS }; + +static const byte kEoB2MagicFlightPropsDOS[56] = { + 0x04, 0xFF, 0x41, 0x0C, 0x0B, 0xFF, 0x04, 0x06, + 0x0D, 0xFF, 0x7A, 0x09, 0x0F, 0xFF, 0x4A, 0x08, + 0x11, 0x06, 0x38, 0x0A, 0x14, 0x06, 0x7A, 0x0B, + 0x18, 0xFF, 0x4A, 0x08, 0x36, 0xFF, 0x4B, 0x09, + 0x3F, 0xFF, 0x4B, 0x09, 0x41, 0x06, 0x4B, 0x09, + 0x42, 0x06, 0x4B, 0x08, 0x43, 0x06, 0x4B, 0x08, + 0x44, 0x06, 0x4B, 0x08, 0x45, 0x06, 0x4B, 0x08 +}; + +static const ByteProvider kEoB2MagicFlightPropsDOSProvider = { ARRAYSIZE(kEoB2MagicFlightPropsDOS), kEoB2MagicFlightPropsDOS }; + +static const byte kEoB2TurnUndeadEffectDOS[140] = { + 0x0A, 0x07, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x0A, + 0x07, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x0D, 0x0A, 0x07, + 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x14, 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x14, + 0x13, 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0x63, 0x63, 0x14, 0x13, + 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, + 0x0D, 0x0A, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, + 0x63, 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0D, + 0x0A, 0x07, 0x07, 0x04, 0x04, 0x00, 0x63, 0x63, + 0x63, 0x63, 0x63, 0x14, 0x13, 0x10, 0x0D, 0x0A, + 0x0A, 0x07, 0x07, 0x04 +}; + +static const ByteProvider kEoB2TurnUndeadEffectDOSProvider = { ARRAYSIZE(kEoB2TurnUndeadEffectDOS), kEoB2TurnUndeadEffectDOS }; + +static const byte kEoB2BurningHandsDestDOS[32] = { + 0x02, 0x03, 0x04, 0x01, 0x02, 0x05, 0x00, 0x00, + 0x00, 0x02, 0x04, 0x01, 0x03, 0x05, 0x00, 0x00, + 0x00, 0x01, 0x04, 0x02, 0x03, 0x05, 0x00, 0x00, + 0x01, 0x03, 0x04, 0x00, 0x02, 0x05, 0x00, 0x00 +}; + +static const ByteProvider kEoB2BurningHandsDestDOSProvider = { ARRAYSIZE(kEoB2BurningHandsDestDOS), kEoB2BurningHandsDestDOS }; + +static const byte kEoB2ConeOfColdDest1DOS[7] = { + 0xE0, 0xC0, 0xC1, 0xBF, 0xA0, 0x9F, 0xA1 +}; + +static const ByteProvider kEoB2ConeOfColdDest1DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest1DOS), kEoB2ConeOfColdDest1DOS }; + +static const byte kEoB2ConeOfColdDest2DOS[7] = { + 0x01, 0x02, 0xE2, 0x22, 0x03, 0xE3, 0x23 +}; + +static const ByteProvider kEoB2ConeOfColdDest2DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest2DOS), kEoB2ConeOfColdDest2DOS }; + +static const byte kEoB2ConeOfColdDest3DOS[7] = { + 0x20, 0x40, 0x3F, 0x41, 0x60, 0x5F, 0x61 +}; + +static const ByteProvider kEoB2ConeOfColdDest3DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest3DOS), kEoB2ConeOfColdDest3DOS }; + +static const byte kEoB2ConeOfColdDest4DOS[7] = { + 0xFF, 0xFE, 0x1E, 0xDE, 0xFD, 0x1D, 0xDD +}; + +static const ByteProvider kEoB2ConeOfColdDest4DOSProvider = { ARRAYSIZE(kEoB2ConeOfColdDest4DOS), kEoB2ConeOfColdDest4DOS }; + +static const byte kEoB2ConeOfColdGfxTblDOS[8] = { + 0x0F, 0x09, 0x0F, 0x09, 0x02, 0x0A, 0x02, 0x00 +}; + +static const ByteProvider kEoB2ConeOfColdGfxTblDOSProvider = { ARRAYSIZE(kEoB2ConeOfColdGfxTblDOS), kEoB2ConeOfColdGfxTblDOS }; + +static const byte kEoB2DscDoorShapeIndexDOS[53] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01 +}; + +static const ByteProvider kEoB2DscDoorShapeIndexDOSProvider = { ARRAYSIZE(kEoB2DscDoorShapeIndexDOS), kEoB2DscDoorShapeIndexDOS }; + +static const byte kEoB2WllFlagPresetDOS[25] = { + 0x07, 0x00, 0x40, 0xA8, 0x88, 0x88, 0x88, 0x9F, + 0xA8, 0x88, 0x88, 0x88, 0x9F, 0xA8, 0x88, 0x88, + 0x88, 0x9F, 0xA8, 0x88, 0x88, 0x88, 0x9F, 0x03, + 0x03 +}; + +static const ByteProvider kEoB2WllFlagPresetDOSProvider = { ARRAYSIZE(kEoB2WllFlagPresetDOS), kEoB2WllFlagPresetDOS }; + +static const uint16 kEoB2DscShapeCoordsDOS[180] = { + 0xFF91, 0xFFC1, 0xFFA1, 0xFFC1, 0xFF75, 0xFFC5, 0xFF8B, 0xFFC5, + 0xFF88, 0xFFC3, 0xFFB4, 0xFFC1, 0xFFC4, 0xFFC1, 0xFFA1, 0xFFC5, + 0xFFB6, 0xFFC5, 0xFFB0, 0xFFC3, 0xFFD5, 0xFFC1, 0xFFE5, 0xFFC1, + 0xFFCB, 0xFFC5, 0xFFE1, 0xFFC5, 0xFFD8, 0xFFC3, 0xFFF8, 0xFFC1, + 0x0008, 0xFFC1, 0xFFF6, 0xFFC5, 0x000A, 0xFFC5, 0x0000, 0xFFC3, + 0x001B, 0xFFC1, 0x002B, 0xFFC1, 0x001F, 0xFFC5, 0x0035, 0xFFC5, + 0x0028, 0xFFC3, 0x003C, 0xFFC1, 0x004C, 0xFFC1, 0x004A, 0xFFC5, + 0x005F, 0xFFC5, 0x0050, 0xFFC3, 0x005F, 0xFFC1, 0x006F, 0xFFC1, + 0x0075, 0xFFC5, 0x008B, 0xFFC5, 0x0078, 0xFFC3, 0xFF8A, 0xFFCB, + 0xFFA4, 0xFFCB, 0xFF68, 0xFFD3, 0xFF88, 0xFFD3, 0xFF8A, 0xFFCE, + 0xFFBE, 0xFFCB, 0xFFD8, 0xFFCB, 0xFFAC, 0xFFD3, 0xFFCD, 0xFFD3, + 0xFFC5, 0xFFCE, 0xFFF3, 0xFFCB, 0x000D, 0xFFCB, 0xFFF0, 0xFFD3, + 0x0010, 0xFFD3, 0x0000, 0xFFCE, 0x0028, 0xFFCB, 0x0042, 0xFFCB, + 0x0033, 0xFFD3, 0x0054, 0xFFD3, 0x003B, 0xFFCE, 0x005C, 0xFFCB, + 0x0076, 0xFFCB, 0x0078, 0xFFD3, 0x0098, 0xFFD3, 0x0076, 0xFFCE, + 0xFF92, 0xFFDD, 0xFFBD, 0xFFDD, 0xFF74, 0xFFEA, 0xFFAD, 0xFFEA, + 0xFF9E, 0xFFE2, 0xFFEA, 0xFFDD, 0x0016, 0xFFDD, 0xFFE5, 0xFFEA, + 0x001B, 0xFFEA, 0x0000, 0xFFE2, 0x0043, 0xFFDD, 0x006E, 0xFFDD, + 0x0053, 0xFFEA, 0x008C, 0xFFEA, 0x0062, 0xFFE2, 0xFF80, 0xFFFC, + 0x0080, 0xFFFC, 0xFF80, 0xFFBE, 0x0080, 0xFFBE, 0x0080, 0x0000, + 0xFFDA, 0xFFFC, 0x0026, 0xFFFC, 0xFFDA, 0xFFBE, 0x0026, 0xFFBE, + 0x0000, 0x0000, 0xFF80, 0xFFFC, 0x0080, 0xFFFC, 0xFF80, 0xFFBE, + 0x0080, 0xFFBE, 0x0080, 0x0000 +}; + +static const Uint16Provider kEoB2DscShapeCoordsDOSProvider = { ARRAYSIZE(kEoB2DscShapeCoordsDOS), kEoB2DscShapeCoordsDOS }; + +static const byte kEoB2DscDoorScaleOffsDOS[53] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x33, 0x34 +}; + +static const ByteProvider kEoB2DscDoorScaleOffsDOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleOffsDOS), kEoB2DscDoorScaleOffsDOS }; + +static const byte kEoB2DscDoorScaleMult1DOS[4] = { + 0x08, 0x0C, 0x12, 0x00 +}; + +static const ByteProvider kEoB2DscDoorScaleMult1DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult1DOS), kEoB2DscDoorScaleMult1DOS }; + +static const byte kEoB2DscDoorScaleMult2DOS[4] = { + 0x00, 0x02, 0x04, 0x00 +}; + +static const ByteProvider kEoB2DscDoorScaleMult2DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult2DOS), kEoB2DscDoorScaleMult2DOS }; + +static const byte kEoB2DscDoorScaleMult3DOS[4] = { + 0x05, 0x08, 0x0C, 0x00 +}; + +static const ByteProvider kEoB2DscDoorScaleMult3DOSProvider = { ARRAYSIZE(kEoB2DscDoorScaleMult3DOS), kEoB2DscDoorScaleMult3DOS }; + +static const byte kEoB2DscDoorType5OffsDOS[6] = { + 0x05, 0x03, 0x01, 0x05, 0x03, 0x01 +}; + +static const ByteProvider kEoB2DscDoorType5OffsDOSProvider = { ARRAYSIZE(kEoB2DscDoorType5OffsDOS), kEoB2DscDoorType5OffsDOS }; + +static const byte kEoB2DscDoorY1DOS[4] = { + 0x3B, 0x47, 0x56, 0x00 +}; + +static const ByteProvider kEoB2DscDoorY1DOSProvider = { ARRAYSIZE(kEoB2DscDoorY1DOS), kEoB2DscDoorY1DOS }; + +static const byte kEoB2DscDoorY2DOS[4] = { + 0x1F, 0x18, 0x0F, 0x00 +}; + +static const ByteProvider kEoB2DscDoorY2DOSProvider = { ARRAYSIZE(kEoB2DscDoorY2DOS), kEoB2DscDoorY2DOS }; + +static const byte kEoB2DscDoorFrameY1DOS[4] = { + 0x1E, 0x18, 0x10, 0x00 +}; + +static const ByteProvider kEoB2DscDoorFrameY1DOSProvider = { ARRAYSIZE(kEoB2DscDoorFrameY1DOS), kEoB2DscDoorFrameY1DOS }; + +static const byte kEoB2DscDoorFrameY2DOS[4] = { + 0x3B, 0x47, 0x56, 0x78 +}; + +static const ByteProvider kEoB2DscDoorFrameY2DOSProvider = { ARRAYSIZE(kEoB2DscDoorFrameY2DOS), kEoB2DscDoorFrameY2DOS }; + +static const byte kEoB2DscItemPosIndexDOS[16] = { + 0x00, 0x01, 0x02, 0x03, 0x02, 0x00, 0x03, 0x01, + 0x03, 0x02, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 +}; + +static const ByteProvider kEoB2DscItemPosIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemPosIndexDOS), kEoB2DscItemPosIndexDOS }; + +static const uint16 kEoB2DscItemShpXDOS[18] = { + 0xFFC8, 0xFFF8, 0x0028, 0x0058, 0x0088, 0x00B8, 0x00E8, 0xFFB8, + 0x0008, 0x0058, 0x00A8, 0x00F8, 0xFFD8, 0x0058, 0x00D8, 0xFFA8, + 0x0058, 0x0108 +}; + +static const Uint16Provider kEoB2DscItemShpXDOSProvider = { ARRAYSIZE(kEoB2DscItemShpXDOS), kEoB2DscItemShpXDOS }; + +static const byte kEoB2DscItemScaleIndexDOS[18] = { + 0xFF, 0xFF, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, + 0x25, 0x00 +}; + +static const ByteProvider kEoB2DscItemScaleIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemScaleIndexDOS), kEoB2DscItemScaleIndexDOS }; + +static const byte kEoB2DscItemTileIndexDOS[18] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0x0B, + 0x0C, 0x0D +}; + +static const ByteProvider kEoB2DscItemTileIndexDOSProvider = { ARRAYSIZE(kEoB2DscItemTileIndexDOS), kEoB2DscItemTileIndexDOS }; + +static const byte kEoB2DscItemShapeMapDOS[113] = { + 0x00, 0x00, 0x00, 0x05, 0x01, 0x02, 0x03, 0x04, + 0x03, 0x05, 0x06, 0x06, 0x12, 0x05, 0x0F, 0x12, + 0x14, 0x08, 0x13, 0x11, 0x15, 0x18, 0x07, 0x07, + 0x07, 0x1F, 0x09, 0x23, 0x09, 0x09, 0x09, 0x09, + 0x08, 0x1C, 0x1C, 0x1A, 0x1B, 0x21, 0x1D, 0x1D, + 0x22, 0x22, 0x22, 0x00, 0x16, 0x00, 0x00, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x22, 0x21, 0x19, 0x23, + 0x10, 0x1E, 0x17, 0x25, 0x17, 0x26, 0x12, 0x21, + 0x17, 0x23, 0x1C, 0x00, 0x20, 0x25, 0x12, 0x18, + 0x1F, 0x07, 0x07, 0x15, 0x15, 0x0F, 0x03, 0x09, + 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, + 0x1B, 0x17, 0x17, 0x16, 0x16, 0x21, 0x08, 0x25, + 0x25, 0x25, 0x25, 0x28, 0x03, 0x04, 0x21, 0x00, + 0x17, 0x00, 0x20, 0x24, 0x27, 0x27, 0x1C, 0x27, + 0x00 +}; + +static const ByteProvider kEoB2DscItemShapeMapDOSProvider = { ARRAYSIZE(kEoB2DscItemShapeMapDOS), kEoB2DscItemShapeMapDOS }; + +static const byte kEoB2DscTelptrShpCoordsDOS[156] = { + 0x0C, 0x07, 0x1A, 0x01, 0x3E, 0x03, 0x0C, 0x1A, + 0x2A, 0x13, 0x40, 0x18, 0x02, 0x2D, 0x16, 0x25, + 0x28, 0x32, 0x36, 0x27, 0x0A, 0x3E, 0x16, 0x49, + 0x3E, 0x44, 0x06, 0x06, 0x2A, 0x04, 0x37, 0x0A, + 0x04, 0x1B, 0x1A, 0x16, 0x37, 0x1D, 0x0E, 0x2A, + 0x1B, 0x35, 0x2E, 0x28, 0x42, 0x30, 0x06, 0x47, + 0x06, 0x47, 0x2D, 0x4C, 0x0A, 0x04, 0x14, 0x00, + 0x2E, 0x01, 0x0C, 0x10, 0x1F, 0x10, 0x2F, 0x10, + 0x12, 0x18, 0x28, 0x1D, 0x01, 0x21, 0x08, 0x2A, + 0x11, 0x32, 0x2F, 0x2E, 0x1F, 0x25, 0x02, 0x02, + 0x01, 0x11, 0x01, 0x2F, 0x08, 0x1E, 0x11, 0x0E, + 0x11, 0x26, 0x1C, 0x01, 0x1E, 0x19, 0x1F, 0x33, + 0x24, 0x11, 0x26, 0x05, 0x28, 0x2B, 0x2F, 0x22, + 0x00, 0x13, 0x05, 0x01, 0x06, 0x08, 0x09, 0x0C, + 0x04, 0x1A, 0x08, 0x1F, 0x12, 0x05, 0x12, 0x15, + 0x16, 0x10, 0x1A, 0x08, 0x1A, 0x1D, 0x0A, 0x00, + 0x0A, 0x00, 0x00, 0x09, 0x00, 0x1E, 0x04, 0x11, + 0x08, 0x16, 0x08, 0x06, 0x10, 0x00, 0x11, 0x0D, + 0x12, 0x20, 0x15, 0x02, 0x14, 0x09, 0x16, 0x1B, + 0x1A, 0x14, 0x1A, 0x14 +}; + +static const ByteProvider kEoB2DscTelptrShpCoordsDOSProvider = { ARRAYSIZE(kEoB2DscTelptrShpCoordsDOS), kEoB2DscTelptrShpCoordsDOS }; + +static const byte kEoB2PortalSeqDataDOS[126] = { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x01, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02, + 0x02, 0x03, 0x01, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x02, 0x04, 0x03, 0x02, 0x04, 0x03, 0x03, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 0x03, 0x07, + 0x02, 0x08, 0x02, 0x08, 0x01, 0x09, 0x01, 0x09, + 0x01, 0x09, 0x00, 0x0A, 0xFF, 0xFF +}; + +static const ByteProvider kEoB2PortalSeqDataDOSProvider = { ARRAYSIZE(kEoB2PortalSeqDataDOS), kEoB2PortalSeqDataDOS }; + +static const byte kEoB2DscMonsterFrmOffsTbl1DOS[32] = { + 0x04, 0xFE, 0x01, 0x03, 0x03, 0x04, 0xFE, 0x01, + 0x01, 0x03, 0x04, 0xFE, 0xFE, 0x01, 0x03, 0x04, + 0xFC, 0xFD, 0xFF, 0x02, 0x02, 0xFC, 0xFD, 0xFF, + 0xFF, 0x02, 0xFC, 0xFD, 0xFD, 0xFF, 0x02, 0xFC +}; + +static const ByteProvider kEoB2DscMonsterFrmOffsTbl1DOSProvider = { ARRAYSIZE(kEoB2DscMonsterFrmOffsTbl1DOS), kEoB2DscMonsterFrmOffsTbl1DOS }; + +static const byte kEoB2DscMonsterFrmOffsTbl2DOS[32] = { + 0x04, 0xFE, 0x01, 0x03, 0x03, 0x04, 0xFE, 0x01, + 0x01, 0x03, 0x04, 0xFE, 0xFE, 0x01, 0x03, 0x04, + 0x04, 0xFD, 0x01, 0x02, 0x02, 0x04, 0xFD, 0x01, + 0x01, 0x02, 0x04, 0xFD, 0xFD, 0x01, 0x02, 0x04 +}; + +static const ByteProvider kEoB2DscMonsterFrmOffsTbl2DOSProvider = { ARRAYSIZE(kEoB2DscMonsterFrmOffsTbl2DOS), kEoB2DscMonsterFrmOffsTbl2DOS }; + +static const uint16 kEoB2InvSlotXDOS[27] = { + 0x00E6, 0x0116, 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, + 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, 0x00B5, 0x00C7, + 0x00E1, 0x00E0, 0x00E1, 0x012A, 0x011F, 0x0115, 0x012C, 0x012C, + 0x012C, 0x00E4, 0x00F0 +}; + +static const Uint16Provider kEoB2InvSlotXDOSProvider = { ARRAYSIZE(kEoB2InvSlotXDOS), kEoB2InvSlotXDOS }; + +static const byte kEoB2InvSlotYDOS[27] = { + 0x74, 0x74, 0x28, 0x28, 0x3A, 0x3A, 0x4C, 0x4C, + 0x5E, 0x5E, 0x70, 0x70, 0x82, 0x82, 0x94, 0x94, + 0x38, 0x4C, 0x60, 0x37, 0x4B, 0x89, 0x5E, 0x70, + 0x82, 0x88, 0x88 +}; + +static const ByteProvider kEoB2InvSlotYDOSProvider = { ARRAYSIZE(kEoB2InvSlotYDOS), kEoB2InvSlotYDOS }; + +static const uint16 kEoB2SlotValidationFlagsDOS[27] = { + 0x0008, 0x0008, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0x0001, 0x0002, 0x0004, 0x0020, 0x0040, 0x0010, 0xFFFF, 0x0080, + 0x0080, 0x0100, 0x0100 +}; + +static const Uint16Provider kEoB2SlotValidationFlagsDOSProvider = { ARRAYSIZE(kEoB2SlotValidationFlagsDOS), kEoB2SlotValidationFlagsDOS }; + +static const byte kEoB2ProjectileWeaponTypesDOS[15] = { + 0xFF, 0x01, 0xFF, 0x02, 0x04, 0x03, 0x05, 0x10, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x12 +}; + +static const ByteProvider kEoB2ProjectileWeaponTypesDOSProvider = { ARRAYSIZE(kEoB2ProjectileWeaponTypesDOS), kEoB2ProjectileWeaponTypesDOS }; + +static const byte kEoB2WandTypesDOS[8] = { + 0x00, 0x11, 0x17, 0x31, 0x0D, 0xFF, 0x04, 0x0C +}; + +static const ByteProvider kEoB2WandTypesDOSProvider = { ARRAYSIZE(kEoB2WandTypesDOS), kEoB2WandTypesDOS }; + +static const byte kEoB2DrawObjPosIndexDOS[20] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x03, + 0x01, 0x04, 0x02, 0x03, 0x00, 0x01, 0x04, 0x01, + 0x03, 0x00, 0x02, 0x04 +}; + +static const ByteProvider kEoB2DrawObjPosIndexDOSProvider = { ARRAYSIZE(kEoB2DrawObjPosIndexDOS), kEoB2DrawObjPosIndexDOS }; + +static const byte kEoB2FlightObjFlipIndexDOS[16] = { + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 +}; + +static const ByteProvider kEoB2FlightObjFlipIndexDOSProvider = { ARRAYSIZE(kEoB2FlightObjFlipIndexDOS), kEoB2FlightObjFlipIndexDOS }; + +static const byte kEoB2FlightObjShpMapDOS[45] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, + 0xFF, 0xFF, 0x04, 0xFF, 0x06, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2FlightObjShpMapDOSProvider = { ARRAYSIZE(kEoB2FlightObjShpMapDOS), kEoB2FlightObjShpMapDOS }; + +static const byte kEoB2FlightObjSclIndexDOS[72] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, + 0xFF, 0xFF, 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0xFF, 0xFF, 0x03, 0x03, 0xFF, 0xFF, 0x03, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x01, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kEoB2FlightObjSclIndexDOSProvider = { ARRAYSIZE(kEoB2FlightObjSclIndexDOS), kEoB2FlightObjSclIndexDOS }; + +static const uint16 kEoB2TransferPortraitFramesDOS[32] = { + 0x0004, 0x0018, 0x009D, 0x0038, 0x00A2, 0x0018, 0x013C, 0x0039, + 0x0004, 0x0040, 0x009D, 0x0060, 0x00A2, 0x0040, 0x013C, 0x0060, + 0x0004, 0x0068, 0x009D, 0x0089, 0x00A2, 0x0068, 0x013C, 0x0089, + 0x0004, 0x0094, 0x002E, 0x009E, 0x0110, 0x0094, 0x013A, 0x009E +}; + +static const Uint16Provider kEoB2TransferPortraitFramesDOSProvider = { ARRAYSIZE(kEoB2TransferPortraitFramesDOS), kEoB2TransferPortraitFramesDOS }; + +static const byte kEoB2TransferConvertTableDOS[49] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x05, 0x06, + 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x0D, 0x00, 0x0E, + 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, + 0x17, 0x18, 0x22, 0x24, 0x23, 0x25, 0x26, 0x27, + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x31, 0x30, 0x32, 0x33, 0x00, 0x35, 0x34, 0x36, + 0x37 +}; + +static const ByteProvider kEoB2TransferConvertTableDOSProvider = { ARRAYSIZE(kEoB2TransferConvertTableDOS), kEoB2TransferConvertTableDOS }; + +static const byte kEoB2TransferItemTableDOS[60] = { + 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kEoB2TransferItemTableDOSProvider = { ARRAYSIZE(kEoB2TransferItemTableDOS), kEoB2TransferItemTableDOS }; + +static const uint32 kEoB2TransferExpTableDOS[6] = { + 0x000F423F, 0x000B71AF, 0x000DBB9F, 0x0006B6BF, 0x000DBB9F, 0x000DBB9F +}; + +static const Uint32Provider kEoB2TransferExpTableDOSProvider = { ARRAYSIZE(kEoB2TransferExpTableDOS), kEoB2TransferExpTableDOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData00DOS[5] = { + { 0x01, 0, 208, 16, 1, 1, 0, 0, 0, 0 }, + { 0x01, 0, 208, 16, 1, 1, 0, 0, 0, 0 }, + { 0x00, 0, 216, 51, 8, 0, 0, 0, 0, 0 }, + { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData00DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData00DOS), kEoB2IntroAnimData00DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData01DOS[5] = { + { 0x01, 1, 184, 8, 1, 1, 0, 0, 0, 0 }, + { 0x01, 1, 184, 8, 1, 1, 0, 0, 0, 0 }, + { 0x00, 0, 216, 51, 7, 0, 0, 0, 0, 0 }, + { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData01DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData01DOS), kEoB2IntroAnimData01DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData02DOS[5] = { + { 0x01, 2, 216, 51, 1, 0, 0, 0, 0, 0 }, + { 0x01, 2, 216, 51, 1, 0, 0, 0, 0, 0 }, + { 0x00, 0, 216, 51, 18, 0, 0, 0, 0, 0 }, + { 0x06, 6, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData02DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData02DOS), kEoB2IntroAnimData02DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData03DOS[4] = { + { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 }, + { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData03DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData03DOS), kEoB2IntroAnimData03DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData04DOS[3] = { + { 0x01, 0, 282, 8, 1, 0, 0, 0, 0, 0 }, + { 0x01, 0, 282, 8, 1, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData04DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData04DOS), kEoB2IntroAnimData04DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData05DOS[4] = { + { 0x00, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, + { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData05DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData05DOS), kEoB2IntroAnimData05DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData06DOS[16] = { + { 0x01, 12, 170, 11, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 188, 38, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 203, 63, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 218, 85, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 232, 107, 2, 0, 0, 0, 0, 0 }, + { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x01, 3, 242, 125, 2, 0, 0, 0, 0, 0 }, + { 0x01, 4, 240, 125, 3, 0, 0, 0, 0, 0 }, + { 0x01, 5, 238, 124, 3, 0, 0, 0, 0, 0 }, + { 0x01, 6, 236, 123, 3, 0, 0, 0, 0, 0 }, + { 0x01, 7, 232, 121, 3, 0, 0, 0, 0, 0 }, + { 0x01, 8, 226, 120, 4, 0, 0, 0, 0, 0 }, + { 0x01, 9, 220, 119, 4, 0, 0, 0, 0, 0 }, + { 0x01, 10, 241, 115, 4, 0, 0, 0, 0, 0 }, + { 0x01, 11, 241, 115, 4, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData06DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData06DOS), kEoB2IntroAnimData06DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData07DOS[5] = { + { 0x01, 12, 54, 17, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 80, 53, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 104, 87, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 130, 124, 2, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData07DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData07DOS), kEoB2IntroAnimData07DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData08DOS[6] = { + { 0x01, 12, 112, 8, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 126, 34, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 142, 60, 2, 0, 0, 0, 0, 0 }, + { 0x01, 12, 170, 109, 2, 0, 0, 0, 0, 0 }, + { 0x06, 8, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData08DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData08DOS), kEoB2IntroAnimData08DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData09DOS[4] = { + { 0x05, 0, 184, 64, 6, 0, 30, 8, 3, 16 }, + { 0x05, 0, 184, 64, 6, 0, 33, 8, 3, 16 }, + { 0x05, 0, 184, 64, 6, 0, 36, 8, 3, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData09DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData09DOS), kEoB2IntroAnimData09DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData10DOS[10] = { + { 0x05, 0, 184, 64, 0, 0, 30, 8, 3, 16 }, + { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 }, + { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 }, + { 0x05, 0, 184, 64, 0, 0, 33, 8, 3, 16 }, + { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 }, + { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 }, + { 0x05, 0, 184, 64, 0, 0, 36, 8, 3, 16 }, + { 0x05, 0, 128, 88, 3, 0, 30, 32, 4, 24 }, + { 0x05, 0, 128, 88, 3, 0, 34, 32, 4, 24 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData10DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData10DOS), kEoB2IntroAnimData10DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData11DOS[16] = { + { 0x03, 15, 36, 48, 1, 1, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 2, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 3, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 4, 0, 0, 0, 0 }, + { 0x06, 11, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 5, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 6, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 90, 7, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 6, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 5, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 4, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 3, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 2, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 1, 0, 0, 0, 0 }, + { 0x03, 15, 36, 48, 1, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData11DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData11DOS), kEoB2IntroAnimData11DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData12DOS[3] = { + { 0x02, 15, 36, 48, 90, 0, 0, 0, 0, 0 }, + { 0x07, 15, 36, 48, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData12DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData12DOS), kEoB2IntroAnimData12DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData13DOS[4] = { + { 0x06, 10, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 104, 24, 5, 0, 0, 8, 15, 112 }, + { 0x05, 0, 104, 24, 5, 0, 15, 8, 15, 112 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData13DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData13DOS), kEoB2IntroAnimData13DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData14DOS[6] = { + { 0x05, 0, 184, 64, 0, 0, 30, 8, 3, 16 }, + { 0x05, 0, 104, 72, 5, 0, 10, 120, 10, 64 }, + { 0x05, 0, 184, 64, 0, 0, 33, 8, 3, 16 }, + { 0x05, 0, 104, 72, 5, 0, 20, 120, 10, 64 }, + { 0x05, 0, 184, 64, 0, 0, 36, 8, 3, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData14DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData14DOS), kEoB2IntroAnimData14DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData15DOS[4] = { + { 0x05, 0, 104, 0, 8, 0, 0, 0, 13, 200 }, + { 0x05, 0, 104, 0, 8, 0, 13, 0, 13, 200 }, + { 0x05, 0, 104, 0, 8, 0, 26, 0, 13, 200 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData15DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData15DOS), kEoB2IntroAnimData15DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData16DOS[11] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 6, 112, 72, 6, 0, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 7, 112, 72, 6, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 8, 112, 72, 6, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData16DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData16DOS), kEoB2IntroAnimData16DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData17DOS[12] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData17DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData17DOS), kEoB2IntroAnimData17DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData18DOS[8] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 6, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData18DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData18DOS), kEoB2IntroAnimData18DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData19DOS[14] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 10, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 11, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 12, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 10, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData19DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData19DOS), kEoB2IntroAnimData19DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData20DOS[14] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 11, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 10, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 13, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 12, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 11, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 13, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData20DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData20DOS), kEoB2IntroAnimData20DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData21DOS[14] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 14, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 9, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 15, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 16, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 4, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 17, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 14, 136, 40, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 224, 72, 0, 0, 0, 0, 0, 0 }, + { 0x02, 5, 240, 40, 3, 0, 0, 0, 0, 0 }, + { 0x02, 17, 136, 40, 3, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData21DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData21DOS), kEoB2IntroAnimData21DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData22DOS[2] = { + { 0x05, 0, 104, 32, 0, 0, 10, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData22DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData22DOS), kEoB2IntroAnimData22DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData23DOS[2] = { + { 0x05, 0, 104, 32, 3, 0, 20, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData23DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData23DOS), kEoB2IntroAnimData23DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData24DOS[2] = { + { 0x05, 0, 104, 32, 0, 0, 30, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData24DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData24DOS), kEoB2IntroAnimData24DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData25DOS[2] = { + { 0x05, 0, 104, 32, 0, 0, 0, 96, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData25DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData25DOS), kEoB2IntroAnimData25DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData26DOS[2] = { + { 0x05, 0, 104, 32, 3, 0, 10, 96, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData26DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData26DOS), kEoB2IntroAnimData26DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData27DOS[2] = { + { 0x05, 0, 104, 32, 0, 0, 20, 96, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData27DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData27DOS), kEoB2IntroAnimData27DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData28DOS[2] = { + { 0x05, 0, 104, 32, 0, 0, 0, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData28DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData28DOS), kEoB2IntroAnimData28DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData29DOS[2] = { + { 0x05, 0, 104, 32, 3, 0, 0, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData29DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData29DOS), kEoB2IntroAnimData29DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData30DOS[2] = { + { 0x05, 0, 104, 32, 4, 0, 10, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData30DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData30DOS), kEoB2IntroAnimData30DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData31DOS[2] = { + { 0x05, 0, 104, 32, 8, 0, 20, 0, 10, 96 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData31DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData31DOS), kEoB2IntroAnimData31DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData32DOS[5] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 176, 56, 3, 0, 19, 136, 2, 8 }, + { 0x05, 0, 176, 56, 3, 0, 21, 136, 2, 8 }, + { 0x05, 0, 176, 56, 3, 0, 23, 136, 2, 8 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData32DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData32DOS), kEoB2IntroAnimData32DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData33DOS[14] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 176, 56, 0, 0, 19, 136, 2, 8 }, + { 0x05, 0, 144, 88, 5, 0, 1, 136, 6, 40 }, + { 0x05, 0, 176, 56, 0, 0, 21, 136, 2, 8 }, + { 0x05, 0, 144, 88, 3, 0, 7, 136, 6, 40 }, + { 0x05, 0, 176, 56, 2, 0, 23, 136, 2, 8 }, + { 0x05, 0, 144, 88, 3, 0, 13, 136, 6, 40 }, + { 0x05, 0, 176, 56, 0, 0, 19, 136, 2, 8 }, + { 0x05, 0, 144, 88, 6, 0, 1, 136, 6, 40 }, + { 0x05, 0, 176, 56, 0, 0, 21, 136, 2, 8 }, + { 0x05, 0, 144, 88, 3, 0, 7, 136, 6, 40 }, + { 0x05, 0, 176, 56, 0, 0, 23, 136, 2, 8 }, + { 0x05, 0, 144, 88, 3, 0, 1, 136, 6, 40 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData33DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData33DOS), kEoB2IntroAnimData33DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData34DOS[8] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 80, 64, 0, 0, 1, 136, 2, 16 }, + { 0x05, 0, 248, 64, 3, 0, 7, 136, 2, 16 }, + { 0x05, 0, 80, 64, 0, 0, 3, 136, 2, 16 }, + { 0x05, 0, 248, 64, 3, 0, 9, 136, 2, 16 }, + { 0x05, 0, 80, 64, 0, 0, 5, 136, 2, 16 }, + { 0x05, 0, 248, 64, 3, 0, 11, 136, 2, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData34DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData34DOS), kEoB2IntroAnimData34DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData35DOS[5] = { + { 0x06, 255, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 16, 48, 0, 0, 0, 152, 14, 48 }, + { 0x05, 0, 192, 48, 4, 0, 14, 128, 13, 48 }, + { 0x05, 0, 16, 48, 0, 0, 1, 40, 35, 48 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData35DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData35DOS), kEoB2IntroAnimData35DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData36DOS[6] = { + { 0x06, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 168, 24, 3, 0, 0, 128, 2, 32 }, + { 0x05, 0, 152, 16, 3, 0, 0, 88, 5, 40 }, + { 0x05, 0, 128, 0, 3, 0, 0, 0, 10, 88 }, + { 0x05, 0, 104, 0, 3, 0, 13, 0, 14, 88 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData36DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData36DOS), kEoB2IntroAnimData36DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData37DOS[2] = { + { 0x05, 0, 104, 0, 0, 0, 13, 0, 13, 200 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData37DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData37DOS), kEoB2IntroAnimData37DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData38DOS[43] = { + { 0x03, 17, 36, 48, 0, 1, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 1, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 1, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 2, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 2, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 2, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 3, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 3, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 3, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 4, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 4, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 4, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 5, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 5, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 5, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 6, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 6, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 6, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 7, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 7, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 54, 7, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 6, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 6, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 6, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 5, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 5, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 5, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 4, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 4, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 4, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 3, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 3, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 3, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 2, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 2, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 2, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 1, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 1, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 1, 0, 0, 0, 0 }, + { 0x03, 17, 36, 48, 0, 0, 0, 0, 0, 0 }, + { 0x03, 16, 142, 80, 0, 0, 0, 0, 0, 0 }, + { 0x03, 19, 151, 28, 1, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData38DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData38DOS), kEoB2IntroAnimData38DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData39DOS[7] = { + { 0x02, 17, 36, 48, 0, 0, 0, 0, 0, 0 }, + { 0x02, 16, 142, 80, 0, 0, 0, 0, 0, 0 }, + { 0x02, 19, 151, 28, 54, 0, 0, 0, 0, 0 }, + { 0x07, 17, 36, 48, 0, 0, 0, 0, 0, 0 }, + { 0x07, 16, 142, 80, 0, 0, 0, 0, 0, 0 }, + { 0x07, 19, 151, 28, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData39DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData39DOS), kEoB2IntroAnimData39DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData40DOS[32] = { + { 0x03, 22, 21, 32, 0, 1, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 2, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 3, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 2, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 4, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 3, 0, 0, 0, 0 }, + { 0x06, 11, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 5, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 4, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 6, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 5, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 7, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 18, 6, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 7, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 90, 6, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 6, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 5, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 5, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 4, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 4, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 3, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 3, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 2, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 2, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 1, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 1, 0, 0, 0, 0 }, + { 0x03, 22, 21, 32, 0, 0, 0, 0, 0, 0 }, + { 0x03, 23, 67, 80, 1, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData40DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData40DOS), kEoB2IntroAnimData40DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData41DOS[5] = { + { 0x02, 22, 21, 32, 0, 0, 0, 0, 0, 0 }, + { 0x02, 23, 67, 80, 90, 0, 0, 0, 0, 0 }, + { 0x07, 22, 21, 32, 0, 0, 0, 0, 0, 0 }, + { 0x07, 23, 67, 80, 0, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData41DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData41DOS), kEoB2IntroAnimData41DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData42DOS[3] = { + { 0x06, 3, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 2, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData42DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData42DOS), kEoB2IntroAnimData42DOS }; + +static const DarkMoonAnimCommand kEoB2IntroAnimData43DOS[5] = { + { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0x00, 0, 0, 0, 1, 3, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2IntroAnimData43DOSProvider = { ARRAYSIZE(kEoB2IntroAnimData43DOS), kEoB2IntroAnimData43DOS }; + +static const DarkMoonShapeDef kEoB2IntroShapes00DOS[15] = { + { 0, 1, 137, 4, 43 }, + { 1, 5, 137, 4, 54 }, + { 2, 9, 140, 4, 8 }, + { 3, 1, 181, 1, 3 }, + { 4, 9, 154, 1, 3 }, + { 5, 9, 158, 2, 5 }, + { 6, 9, 164, 3, 7 }, + { 7, 9, 172, 3, 11 }, + { 8, 9, 184, 5, 13 }, + { 9, 15, 137, 6, 15 }, + { 10, 15, 153, 2, 21 }, + { 11, 17, 153, 2, 21 }, + { 12, 1, 185, 1, 4 }, + { 13, 1, 190, 1, 1 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2IntroShapes00DOSProvider = { ARRAYSIZE(kEoB2IntroShapes00DOS), kEoB2IntroShapes00DOS }; + +static const DarkMoonShapeDef kEoB2IntroShapes01DOS[2] = { + { 0, 1, 137, 1, 16 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2IntroShapes01DOSProvider = { ARRAYSIZE(kEoB2IntroShapes01DOS), kEoB2IntroShapes01DOS }; + +static const DarkMoonShapeDef kEoB2IntroShapes04DOS[10] = { + { 15, 2, 0, 32, 14 }, + { 16, 5, 16, 5, 8 }, + { 17, 2, 27, 32, 18 }, + { 18, 0, 140, 35, 10 }, + { 19, 21, 16, 3, 8 }, + { 20, 0, 47, 22, 10 }, + { 21, 0, 59, 31, 10 }, + { 22, 0, 71, 35, 39 }, + { 23, 0, 119, 24, 15 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2IntroShapes04DOSProvider = { ARRAYSIZE(kEoB2IntroShapes04DOS), kEoB2IntroShapes04DOS }; + +static const DarkMoonShapeDef kEoB2IntroShapes07DOS[18] = { + { -9, 1, 136, 6, 40 }, + { -1, 7, 136, 6, 40 }, + { -2, 13, 136, 6, 40 }, + { 3, 19, 136, 2, 16 }, + { 4, 21, 136, 2, 16 }, + { 5, 23, 136, 2, 16 }, + { 6, 19, 152, 1, 8 }, + { 7, 20, 152, 1, 8 }, + { 8, 21, 152, 1, 8 }, + { -10, 25, 136, 2, 16 }, + { -11, 27, 136, 2, 16 }, + { -12, 29, 136, 2, 16 }, + { -13, 31, 136, 2, 16 }, + { -14, 25, 152, 2, 16 }, + { -15, 27, 152, 2, 16 }, + { -16, 29, 152, 2, 16 }, + { -17, 31, 152, 2, 16 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2IntroShapes07DOSProvider = { ARRAYSIZE(kEoB2IntroShapes07DOS), kEoB2IntroShapes07DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData00DOS[11] = { + { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 136, 8, 8, 0, 5, 136, 11, 48 }, + { 0x02, 1, 136, 8, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 80, 8, 0, 0, 0, 136, 5, 40 }, + { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 232, 88, 4, 0, 0, 88, 8, 48 }, + { 0x02, 3, 80, 8, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 232, 88, 4, 0, 8, 88, 8, 48 }, + { 0x05, 0, 232, 88, 4, 0, 16, 88, 8, 48 }, + { 0x02, 2, 232, 88, 4, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData00DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData00DOS), kEoB2FinaleAnimData00DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData01DOS[9] = { + { 0x06, 4, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 136, 8, 12, 0, 5, 136, 11, 48 }, + { 0x02, 1, 136, 8, 0, 0, 0, 0, 0, 0 }, + { 0x06, 5, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 232, 88, 6, 0, 0, 88, 8, 48 }, + { 0x05, 0, 232, 88, 6, 0, 8, 88, 8, 48 }, + { 0x05, 0, 232, 88, 6, 0, 16, 88, 8, 48 }, + { 0x02, 2, 232, 88, 6, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData01DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData01DOS), kEoB2FinaleAnimData01DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData02DOS[4] = { + { 0x05, 0, 232, 112, 6, 0, 24, 176, 3, 16 }, + { 0x05, 0, 232, 112, 6, 0, 27, 176, 3, 16 }, + { 0x05, 0, 232, 112, 6, 0, 30, 176, 3, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData02DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData02DOS), kEoB2FinaleAnimData02DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData03DOS[6] = { + { 0x05, 0, 80, 8, 0, 0, 0, 136, 5, 40 }, + { 0x05, 0, 232, 112, 3, 0, 24, 176, 3, 16 }, + { 0x02, 3, 80, 8, 3, 0, 0, 0, 0, 0 }, + { 0x05, 0, 232, 112, 3, 0, 27, 176, 3, 16 }, + { 0x05, 0, 232, 112, 3, 0, 30, 176, 3, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData03DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData03DOS), kEoB2FinaleAnimData03DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData04DOS[8] = { + { 0x06, 6, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 104, 40, 3, 0, 32, 88, 8, 88 }, + { 0x05, 0, 104, 40, 3, 0, 32, 0, 8, 88 }, + { 0x05, 0, 104, 40, 3, 0, 24, 0, 8, 88 }, + { 0x05, 0, 104, 40, 3, 0, 16, 0, 8, 88 }, + { 0x05, 0, 104, 40, 3, 0, 0, 0, 8, 88 }, + { 0x05, 0, 104, 40, 3, 0, 24, 88, 8, 88 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData04DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData04DOS), kEoB2FinaleAnimData04DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData05DOS[7] = { + { 0x05, 0, 232, 112, 0, 0, 24, 176, 3, 16 }, + { 0x05, 0, 128, 40, 4, 0, 33, 176, 2, 16 }, + { 0x05, 0, 232, 112, 0, 0, 27, 176, 3, 16 }, + { 0x05, 0, 128, 40, 4, 0, 35, 176, 2, 16 }, + { 0x05, 0, 232, 112, 0, 0, 30, 176, 3, 16 }, + { 0x05, 0, 128, 40, 4, 0, 37, 176, 2, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData05DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData05DOS), kEoB2FinaleAnimData05DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData06DOS[2] = { + { 0x05, 0, 104, 40, 0, 0, 16, 136, 8, 48 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData06DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData06DOS), kEoB2FinaleAnimData06DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData07DOS[6] = { + { 0x05, 0, 208, 80, 4, 0, 0, 128, 6, 56 }, + { 0x05, 0, 208, 80, 4, 0, 6, 128, 6, 56 }, + { 0x05, 0, 208, 80, 4, 0, 12, 128, 6, 56 }, + { 0x05, 0, 208, 80, 4, 0, 18, 128, 6, 56 }, + { 0x05, 0, 208, 80, 4, 0, 24, 128, 6, 56 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData07DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData07DOS), kEoB2FinaleAnimData07DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData08DOS[3] = { + { 0x05, 0, 224, 56, 3, 0, 0, 184, 4, 16 }, + { 0x05, 0, 224, 56, 0, 0, 4, 184, 4, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData08DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData08DOS), kEoB2FinaleAnimData08DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData09DOS[8] = { + { 0x01, 1, -10, 40, 2, 0, 0, 0, 0, 0 }, + { 0x01, 1, 0, 40, 2, 0, 0, 0, 0, 0 }, + { 0x01, 1, 10, 40, 2, 0, 0, 0, 0, 0 }, + { 0x01, 1, 20, 40, 2, 0, 0, 0, 0, 0 }, + { 0x01, 1, 30, 40, 2, 0, 0, 0, 0, 0 }, + { 0x01, 1, 40, 40, 2, 0, 0, 0, 0, 0 }, + { 0x02, 2, 48, 40, 2, 0, 0, 0, 0, 0 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData09DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData09DOS), kEoB2FinaleAnimData09DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData10DOS[14] = { + { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 }, + { 0x05, 1, 8, 40, 0, 0, 32, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 28, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 13, 80, 1, 16 }, + { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 14, 80, 1, 16 }, + { 0x06, 8, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData10DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData10DOS), kEoB2FinaleAnimData10DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData11DOS[18] = { + { 0x05, 1, 40, 32, 0, 0, 16, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 18, 176, 6, 24 }, + { 0x05, 1, 96, 80, 0, 0, 0, 152, 12, 24 }, + { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 }, + { 0x05, 1, 96, 96, 0, 0, 14, 80, 1, 16 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 14, 80, 1, 16 }, + { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 }, + { 0x05, 1, 8, 40, 0, 0, 16, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 36, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 15, 80, 1, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData11DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData11DOS), kEoB2FinaleAnimData11DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData12DOS[23] = { + { 0x05, 1, 40, 32, 0, 0, 16, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 18, 176, 6, 24 }, + { 0x05, 1, 96, 80, 0, 0, 0, 152, 12, 24 }, + { 0x05, 1, 8, 40, 0, 0, 24, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 32, 160, 4, 40 }, + { 0x05, 1, 96, 96, 0, 0, 14, 80, 1, 16 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 8, 40, 0, 0, 32, 0, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 24, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 12, 80, 1, 16 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 8, 40, 0, 0, 16, 80, 8, 80 }, + { 0x05, 1, 280, 96, 0, 0, 36, 160, 4, 40 }, + { 0x05, 1, 96, 96, 3, 0, 15, 80, 1, 16 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData12DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData12DOS), kEoB2FinaleAnimData12DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData13DOS[23] = { + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData13DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData13DOS), kEoB2FinaleAnimData13DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData14DOS[24] = { + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData14DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData14DOS), kEoB2FinaleAnimData14DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData15DOS[19] = { + { 0x05, 1, 40, 32, 0, 0, 0, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 0, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 80, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 168, 16, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 16, 0, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 6, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 104, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 9, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 1, 40, 32, 0, 0, 0, 40, 16, 40 }, + { 0x05, 1, 248, 88, 0, 0, 12, 176, 6, 24 }, + { 0x05, 1, 96, 80, 3, 0, 0, 128, 12, 24 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData15DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData15DOS), kEoB2FinaleAnimData15DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData16DOS[13] = { + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 1, 168, 16, 3, 0, 0, 0, 0, 0 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 2, 168, 16, 3, 0, 0, 0, 0, 0 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0x06, 15, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x02, 3, 168, 16, 3, 0, 0, 0, 0, 0 }, + { 0x05, 0, 168, 16, 0, 0, 32, 0, 8, 80 }, + { 0x05, 0, 232, 16, 0, 0, 32, 80, 8, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData16DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData16DOS), kEoB2FinaleAnimData16DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData17DOS[20] = { + { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x06, 10, 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData17DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData17DOS), kEoB2FinaleAnimData17DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData18DOS[28] = { + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 0, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 3, 0, 16, 0, 16, 80 }, + { 0x05, 0, 168, 16, 1, 0, 0, 80, 16, 80 }, + { 0x05, 0, 168, 16, 2, 0, 16, 80, 16, 80 }, + { 0x05, 0, 168, 16, 0, 0, 16, 80, 16, 80 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData18DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData18DOS), kEoB2FinaleAnimData18DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData19DOS[7] = { + { 0x05, 0, 80, 80, 4, 0, 0, 128, 6, 56 }, + { 0x05, 0, 80, 80, 4, 0, 6, 128, 6, 56 }, + { 0x05, 0, 80, 80, 4, 0, 12, 128, 6, 56 }, + { 0x05, 0, 80, 80, 4, 0, 18, 128, 6, 56 }, + { 0x05, 0, 80, 80, 4, 0, 24, 128, 6, 56 }, + { 0x05, 0, 80, 80, 4, 0, 30, 128, 6, 56 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData19DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData19DOS), kEoB2FinaleAnimData19DOS }; + +static const DarkMoonAnimCommand kEoB2FinaleAnimData20DOS[3] = { + { 0x05, 0, 96, 56, 3, 0, 0, 184, 4, 16 }, + { 0x05, 0, 96, 56, 0, 0, 4, 184, 4, 16 }, + { 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +}; + +static const DarkMoonAnimCommandProvider kEoB2FinaleAnimData20DOSProvider = { ARRAYSIZE(kEoB2FinaleAnimData20DOS), kEoB2FinaleAnimData20DOS }; + +static const DarkMoonShapeDef kEoB2FinaleShapes00DOS[4] = { + { -1, 16, 0, 11, 48 }, + { -2, 28, 80, 8, 48 }, + { -3, 9, 0, 5, 40 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2FinaleShapes00DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes00DOS), kEoB2FinaleShapes00DOS }; + +static const DarkMoonShapeDef kEoB2FinaleShapes03DOS[3] = { + { -1, 30, 0, 8, 96 }, + { -2, 30, 104, 10, 96 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2FinaleShapes03DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes03DOS), kEoB2FinaleShapes03DOS }; + +static const DarkMoonShapeDef kEoB2FinaleShapes07DOS[4] = { + { 1, 0, 0, 16, 72 }, + { 2, 16, 0, 16, 72 }, + { 3, 0, 72, 16, 72 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2FinaleShapes07DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes07DOS), kEoB2FinaleShapes07DOS }; + +static const DarkMoonShapeDef kEoB2FinaleShapes09DOS[9] = { + { 0, 0, 0, 32, 16 }, + { 2, 0, 36, 35, 41 }, + { 3, 0, 77, 24, 17 }, + { 4, 0, 94, 15, 33 }, + { 5, 24, 77, 10, 17 }, + { 6, 16, 99, 23, 69 }, + { -10, 0, 136, 8, 64 }, + { -11, 8, 136, 8, 64 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2FinaleShapes09DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes09DOS), kEoB2FinaleShapes09DOS }; + +static const DarkMoonShapeDef kEoB2FinaleShapes10DOS[4] = { + { 1, 0, 0, 40, 30 }, + { 15, 9, 37, 21, 48 }, + { 16, 16, 88, 6, 56 }, + { 0, 0, 0, 0, 0 } +}; + +static const DarkMoonShapeDefProvider kEoB2FinaleShapes10DOSProvider = { ARRAYSIZE(kEoB2FinaleShapes10DOS), kEoB2FinaleShapes10DOS }; + +static const byte kEoB2NpcShapeDataDOS[24] = { + 0x00, 0x00, 0x00, 0x05, 0x39, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x64, 0x05, 0x4F, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x39, 0x06, 0x2B, 0x00, 0x00, 0xFF +}; + +static const ByteProvider kEoB2NpcShapeDataDOSProvider = { ARRAYSIZE(kEoB2NpcShapeDataDOS), kEoB2NpcShapeDataDOS }; + +static const byte kEoB2ClassModifierFlagsDOS[15] = { + 0x01, 0x20, 0x10, 0x02, 0x04, 0x08, 0x05, 0x09, + 0x03, 0x0B, 0x0A, 0x0C, 0x07, 0x05, 0x06 +}; + +static const ByteProvider kEoB2ClassModifierFlagsDOSProvider = { ARRAYSIZE(kEoB2ClassModifierFlagsDOS), kEoB2ClassModifierFlagsDOS }; + +static const byte kEoB2MonsterStepTable02DOS[8] = { + 0xE0, 0xE1, 0x01, 0x21, 0x20, 0x1F, 0xFF, 0xDF +}; + +static const ByteProvider kEoB2MonsterStepTable02DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable02DOS), kEoB2MonsterStepTable02DOS }; + +static const byte kEoB2MonsterStepTable1DOS[16] = { + 0x01, 0xE0, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, + 0x00, 0x00, 0xFF, 0x20, 0xFF, 0x00, 0x00, 0xE0 +}; + +static const ByteProvider kEoB2MonsterStepTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable1DOS), kEoB2MonsterStepTable1DOS }; + +static const byte kEoB2MonsterStepTable2DOS[8] = { + 0x07, 0xFA, 0x05, 0xFC, 0x03, 0xFE, 0x01, 0x00 +}; + +static const ByteProvider kEoB2MonsterStepTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable2DOS), kEoB2MonsterStepTable2DOS }; + +static const byte kEoB2MonsterStepTable3DOS[8] = { + 0xF9, 0x06, 0xFB, 0x04, 0xFD, 0x02, 0xFF, 0x00 +}; + +static const ByteProvider kEoB2MonsterStepTable3DOSProvider = { ARRAYSIZE(kEoB2MonsterStepTable3DOS), kEoB2MonsterStepTable3DOS }; + +static const byte kEoB2MonsterCloseAttPosTable1DOS[4] = { + 0x00, 0x01, 0x03, 0x02 +}; + +static const ByteProvider kEoB2MonsterCloseAttPosTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttPosTable1DOS), kEoB2MonsterCloseAttPosTable1DOS }; + +static const byte kEoB2MonsterCloseAttPosTable22DOS[16] = { + 0x00, 0x01, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03, + 0x00, 0x01, 0x02, 0x03, 0x03, 0x01, 0x02, 0x00 +}; + +static const ByteProvider kEoB2MonsterCloseAttPosTable22DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttPosTable22DOS), kEoB2MonsterCloseAttPosTable22DOS }; + +static const byte kEoB2MonsterCloseAttUnkTableDOS[12] = { + 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x02, 0xFF, 0x01 +}; + +static const ByteProvider kEoB2MonsterCloseAttUnkTableDOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttUnkTableDOS), kEoB2MonsterCloseAttUnkTableDOS }; + +static const byte kEoB2MonsterCloseAttChkTable1DOS[16] = { + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00 +}; + +static const ByteProvider kEoB2MonsterCloseAttChkTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttChkTable1DOS), kEoB2MonsterCloseAttChkTable1DOS }; + +static const byte kEoB2MonsterCloseAttChkTable2DOS[16] = { + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 +}; + +static const ByteProvider kEoB2MonsterCloseAttChkTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttChkTable2DOS), kEoB2MonsterCloseAttChkTable2DOS }; + +static const byte kEoB2MonsterCloseAttDstTable1DOS[16] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kEoB2MonsterCloseAttDstTable1DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttDstTable1DOS), kEoB2MonsterCloseAttDstTable1DOS }; + +static const byte kEoB2MonsterCloseAttDstTable2DOS[48] = { + 0x01, 0x00, 0x03, 0x02, 0x05, 0x04, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x05, 0x03, 0x01, 0x04, + 0x02, 0x00, 0x01, 0x03, 0x05, 0x00, 0x02, 0x04, + 0x04, 0x05, 0x02, 0x03, 0x00, 0x01, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x00, 0x00, 0x02, 0x04, 0x01, + 0x03, 0x05, 0x04, 0x02, 0x00, 0x05, 0x03, 0x01 +}; + +static const ByteProvider kEoB2MonsterCloseAttDstTable2DOSProvider = { ARRAYSIZE(kEoB2MonsterCloseAttDstTable2DOS), kEoB2MonsterCloseAttDstTable2DOS }; + +static const byte kEoB2MonsterProximityTableDOS[32] = { + 0x02, 0x03, 0x00, 0x01, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x02, 0x01, 0x03, 0x02, 0x00, 0x03, 0x01, + 0x01, 0x00, 0x03, 0x02, 0x00, 0x01, 0x02, 0x03, + 0x03, 0x01, 0x00, 0x02, 0x01, 0x03, 0x02, 0x00 +}; + +static const ByteProvider kEoB2MonsterProximityTableDOSProvider = { ARRAYSIZE(kEoB2MonsterProximityTableDOS), kEoB2MonsterProximityTableDOS }; + +static const byte kEoB2FindBlockMonstersTableDOS[64] = { + 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02, + 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00, + 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02, + 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00, + 0x04, 0x02, 0x01, 0x03, 0x04, 0x03, 0x00, 0x02, + 0x04, 0x00, 0x03, 0x01, 0x04, 0x01, 0x02, 0x00, + 0x04, 0x01, 0x02, 0x03, 0x04, 0x00, 0x03, 0x02, + 0x04, 0x03, 0x00, 0x01, 0x04, 0x02, 0x01, 0x00 +}; + +static const ByteProvider kEoB2FindBlockMonstersTableDOSProvider = { ARRAYSIZE(kEoB2FindBlockMonstersTableDOS), kEoB2FindBlockMonstersTableDOS }; + +static const byte kEoB2MonsterDirChangeTableDOS[48] = { + 0xFF, 0x06, 0x02, 0xFF, 0x04, 0x05, 0x03, 0xFF, + 0x00, 0x07, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xDF, 0xFF, 0xE0, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, + 0x01, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, + 0xC0, 0xFF, 0xA0, 0xFF, 0x02, 0x00, 0x03, 0x00, + 0x40, 0x00, 0x60, 0x00, 0xFE, 0xFF, 0xFD, 0xFF +}; + +static const ByteProvider kEoB2MonsterDirChangeTableDOSProvider = { ARRAYSIZE(kEoB2MonsterDirChangeTableDOS), kEoB2MonsterDirChangeTableDOS }; + +static const uint16 kEoB2EncodeMonsterDefsDOS[168] = { + 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0028, 0x000C, 0x0038, + 0x0013, 0x0028, 0x000C, 0x0038, 0x001F, 0x0000, 0x0007, 0x0060, + 0x0000, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, 0x0007, 0x0060, + 0x000E, 0x0060, 0x0005, 0x0038, 0x0007, 0x0000, 0x0007, 0x0028, + 0x000E, 0x0000, 0x0007, 0x0028, 0x0013, 0x0060, 0x0005, 0x0038, + 0x0018, 0x0060, 0x0005, 0x0038, 0x001D, 0x0060, 0x0005, 0x0038, + 0x000E, 0x0098, 0x0003, 0x0020, 0x0011, 0x00A0, 0x0004, 0x0018, + 0x0015, 0x00A0, 0x0004, 0x0018, 0x0019, 0x0098, 0x0003, 0x0020, + 0x001C, 0x0098, 0x0003, 0x0020, 0x001F, 0x0098, 0x0003, 0x0020, + 0x0000, 0x0000, 0x0007, 0x0060, 0x0007, 0x0000, 0x0007, 0x0060, + 0x000E, 0x0000, 0x0007, 0x0060, 0x0015, 0x0000, 0x0007, 0x0060, + 0x001C, 0x0000, 0x0007, 0x0060, 0x0000, 0x0060, 0x0007, 0x0060, + 0x0007, 0x0060, 0x0005, 0x0038, 0x000C, 0x0060, 0x0005, 0x0038, + 0x0011, 0x0060, 0x0005, 0x0038, 0x0016, 0x0060, 0x0005, 0x0038, + 0x001B, 0x0060, 0x0005, 0x0038, 0x0020, 0x0060, 0x0005, 0x0038, + 0x0007, 0x0098, 0x0003, 0x0020, 0x000A, 0x0098, 0x0003, 0x0020, + 0x000D, 0x0098, 0x0003, 0x0020, 0x0010, 0x0098, 0x0003, 0x0020, + 0x0013, 0x0098, 0x0003, 0x0020, 0x0016, 0x0098, 0x0003, 0x0020, + 0x0000, 0x0000, 0x000A, 0x0058, 0x000A, 0x0000, 0x000A, 0x0058, + 0x0014, 0x0000, 0x000A, 0x0058, 0x001E, 0x0000, 0x000A, 0x0058, + 0x0000, 0x0058, 0x000A, 0x0058, 0x000A, 0x0058, 0x000A, 0x0058 +}; + +static const Uint16Provider kEoB2EncodeMonsterDefsDOSProvider = { ARRAYSIZE(kEoB2EncodeMonsterDefsDOS), kEoB2EncodeMonsterDefsDOS }; + +static const EoBCharacter kEoB2NpcPresetsDOS[6] = { + { 0x00, 0x01, "Insal", + 15, 15, 0, 0, 13, 13, 11, 11, 17, 17, 16, 16, 9, 9, + 3, 39, 10, 0, 10, 5, 5, -1, 8, { 6, 0, 0 }, + { 0x00006ADA, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Calandra", + 18, 18, 36, 36, 13, 13, 8, 8, 15, 15, 16, 16, 14, 14, + 4, 76, 10, 0, 1, 0, 2, -2, 12, { 9, 0, 0 }, + { 0x0003DF35, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Shorn", + 15, 15, 0, 0, 14, 14, 13, 13, 14, 14, 13, 13, 16, 16, + 40, 40, 10, 0, 6, 4, 3, -3, 100, { 8, 0, 0 }, + { 0x00021730, 0x00000000, 0x00000000 }, 0x00000000, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "San-raal", + 11, 11, 0, 0, 18, 18, 13, 13, 14, 14, 16, 16, 9, 9, + 28, 28, 10, 0, 2, 3, 5, -4, 100, { 8, 0, 0 }, + { 0x00017AF0, 0x00000000, 0x00000000 }, 0x096B4566, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Tanglor", + 16, 16, 0, 0, 13, 13, 16, 16, 15, 15, 11, 11, 12, 12, + 53, 53, 9, 0, 4, 6, 1, -5, 100, { 7, 7, 0 }, + { 0x00010FC2, 0x00010FC2, 0x00000000 }, 0xFFFFFFFF, + { 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } }, + { 0x00, 0x01, "Amber", + 14, 14, 0, 0, 17, 17, 12, 12, 18, 18, 9, 9, 17, 17, + 36, 36, 10, 0, 3, 10, 1, -6, 100, { 7, 7, 0 }, + { 0x0000FAE6, 0x0000FAE6, 0x00000000 }, 0x00294566, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000 } } +}; + +static const EoBCharacterProvider kEoB2NpcPresetsDOSProvider = { ARRAYSIZE(kEoB2NpcPresetsDOS), kEoB2NpcPresetsDOS }; + +static const byte kEoB2DreamStepsDOS[14] = { + 0x01, 0x02, 0x03, 0x02, 0x01, 0x00, 0x01, 0x02, + 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF +}; + +static const ByteProvider kEoB2DreamStepsDOSProvider = { ARRAYSIZE(kEoB2DreamStepsDOS), kEoB2DreamStepsDOS }; + +static const byte kEoB2HornSoundsDOS[4] = { + 0x40, 0x41, 0x42, 0x43 +}; + +static const ByteProvider kEoB2HornSoundsDOSProvider = { ARRAYSIZE(kEoB2HornSoundsDOS), kEoB2HornSoundsDOS }; + +static const uint16 kEoB2WallOfForceDsXDOS[18] = { + 0xFFCC, 0xFFF4, 0x001C, 0x0044, 0x006C, 0x0094, 0x00BC, 0xFFB8, + 0xFFF8, 0x0038, 0x0078, 0x00B8, 0xFFC8, 0x0028, 0x0088, 0x0000, + 0x0000, 0x0000 +}; + +static const Uint16Provider kEoB2WallOfForceDsXDOSProvider = { ARRAYSIZE(kEoB2WallOfForceDsXDOS), kEoB2WallOfForceDsXDOS }; + +static const byte kEoB2WallOfForceDsYDOS[3] = { + 0x20, 0x18, 0x10 +}; + +static const ByteProvider kEoB2WallOfForceDsYDOSProvider = { ARRAYSIZE(kEoB2WallOfForceDsYDOS), kEoB2WallOfForceDsYDOS }; + +static const byte kEoB2WallOfForceNumWDOS[3] = { + 0x01, 0x02, 0x03 +}; + +static const ByteProvider kEoB2WallOfForceNumWDOSProvider = { ARRAYSIZE(kEoB2WallOfForceNumWDOS), kEoB2WallOfForceNumWDOS }; + +static const byte kEoB2WallOfForceNumHDOS[3] = { + 0x02, 0x06, 0x09 +}; + +static const ByteProvider kEoB2WallOfForceNumHDOSProvider = { ARRAYSIZE(kEoB2WallOfForceNumHDOS), kEoB2WallOfForceNumHDOS }; + +static const byte kEoB2WallOfForceShpIdDOS[3] = { + 0x04, 0x02, 0x00 +}; + +static const ByteProvider kEoB2WallOfForceShpIdDOSProvider = { ARRAYSIZE(kEoB2WallOfForceShpIdDOS), kEoB2WallOfForceShpIdDOS }; + +static const byte kEoB2DscShapeIndexDOS[36] = { + 0x01, 0x01, 0x04, 0x0A, 0x04, 0x08, 0x04, 0x01, + 0x04, 0xF8, 0x04, 0xF6, 0x00, 0x00, 0x03, 0x09, + 0x03, 0x07, 0x03, 0x01, 0x03, 0xF9, 0x03, 0xF7, + 0x02, 0x06, 0x02, 0x01, 0x02, 0xFA, 0x01, 0x05, + 0x01, 0x01, 0x01, 0xFB +}; + +static const ByteProvider kEoB2DscShapeIndexDOSProvider = { ARRAYSIZE(kEoB2DscShapeIndexDOS), kEoB2DscShapeIndexDOS }; + +static const uint16 kEoB2DscXDOS[18] = { + 0xFF70, 0xFFA0, 0xFFD0, 0x0000, 0x0030, 0x0060, 0x0090, 0xFF60, + 0xFFB0, 0x0000, 0x0050, 0x00A0, 0xFF80, 0x0000, 0x0080, 0x0000, + 0x0000, 0x0000 +}; + +static const Uint16Provider kEoB2DscXDOSProvider = { ARRAYSIZE(kEoB2DscXDOS), kEoB2DscXDOS }; + +static const byte kEoB2DscTileIndexDOS[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kEoB2DscTileIndexDOSProvider = { ARRAYSIZE(kEoB2DscTileIndexDOS), kEoB2DscTileIndexDOS }; + +static const byte kEoB2DscUnk2DOS[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kEoB2DscUnk2DOSProvider = { ARRAYSIZE(kEoB2DscUnk2DOS), kEoB2DscUnk2DOS }; + +static const byte kEoB2DscDimData1DOS[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xD7, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFD, 0xD7, 0x13, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0xD7, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFD, 0xD7, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kEoB2DscDimData1DOSProvider = { ARRAYSIZE(kEoB2DscDimData1DOS), kEoB2DscDimData1DOS }; + +static const byte kEoB2DscDimData2DOS[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kEoB2DscDimData2DOSProvider = { ARRAYSIZE(kEoB2DscDimData2DOS), kEoB2DscDimData2DOS }; + +static const byte kEoB2DscBlockMapDOS[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kEoB2DscBlockMapDOSProvider = { ARRAYSIZE(kEoB2DscBlockMapDOS), kEoB2DscBlockMapDOS }; + +static const byte kEoB2DscDimMapDOS[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kEoB2DscDimMapDOSProvider = { ARRAYSIZE(kEoB2DscDimMapDOS), kEoB2DscDimMapDOS }; + +static const byte kEoB2DscBlockIndexDOS[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kEoB2DscBlockIndexDOSProvider = { ARRAYSIZE(kEoB2DscBlockIndexDOS), kEoB2DscBlockIndexDOS }; + diff --git a/devtools/create_kyradat/resources/eob2_dos_english.h b/devtools/create_kyradat/resources/eob2_dos_english.h new file mode 100644 index 0000000000..1bcf794131 --- /dev/null +++ b/devtools/create_kyradat/resources/eob2_dos_english.h @@ -0,0 +1,1347 @@ +static const char *const kEoB2ChargenStrings1DOSEnglish[9] = { + "Your party is\rcomplete. Select\rthe PLAY button\ror press 'P' to\rstart the game.", + " ", + "AC\rHP\rLVL", + "%s\r%d\r%d\r%d\r%d\r%d", + "%d\r%d", + "%d", + "%d/%d", + "%d/%d/%d", + "Select the box of\rthe character you\rwish to create or\rview." +}; + +static const StringListProvider kEoB2ChargenStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenStrings1DOSEnglish), kEoB2ChargenStrings1DOSEnglish }; + +static const char *const kEoB2ChargenStrings2DOSEnglish[12] = { + "%s", + "%d", + "%s", + "%d", + "%d", + "%d", + "%s", + "%d", + "SELECT RACE:", + "SELECT CLASS:", + "SELECT ALIGNMENT:", + "Name:" +}; + +static const StringListProvider kEoB2ChargenStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenStrings2DOSEnglish), kEoB2ChargenStrings2DOSEnglish }; + +static const char *const kEoB2ChargenStatStringsDOSEnglish[12] = { + "STR", + "INT", + "WIS", + "DEX", + "CON", + "CHA", + "STRENGTH", + "INTELLIGENCE", + "WISDOM", + "DEXTERITY", + "CONSTITUTION", + "CHARISMA" +}; + +static const StringListProvider kEoB2ChargenStatStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenStatStringsDOSEnglish), kEoB2ChargenStatStringsDOSEnglish }; + +static const char *const kEoB2ChargenRaceSexStringsDOSEnglish[12] = { + "HUMAN MALE", + "HUMAN FEMALE", + "ELF MALE", + "ELF FEMALE", + "HALF-ELF MALE", + "HALF-ELF FEMALE", + "DWARF MALE", + "DWARF FEMALE", + "GNOME MALE", + "GNOME FEMALE", + "HALFLING MALE", + "HALFLING FEMALE" +}; + +static const StringListProvider kEoB2ChargenRaceSexStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenRaceSexStringsDOSEnglish), kEoB2ChargenRaceSexStringsDOSEnglish }; + +static const char *const kEoB2ChargenClassStringsDOSEnglish[21] = { + "FIGHTER", + "RANGER", + "PALADIN", + "MAGE", + "CLERIC", + "THIEF", + "FIGHTER/CLERIC", + "FIGHTER/THIEF", + "FIGHTER/MAGE", + "FIGHTER/MAGE/THIEF", + "THIEF/MAGE", + "CLERIC/THIEF", + "FIGHTER/CLERIC/MAGE", + "RANGER/CLERIC", + "CLERIC/MAGE", + "FIGHTER", + "MAGE", + "CLERIC", + "THIEF", + "PALADIN", + "RANGER" +}; + +static const StringListProvider kEoB2ChargenClassStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenClassStringsDOSEnglish), kEoB2ChargenClassStringsDOSEnglish }; + +static const char *const kEoB2ChargenAlignmentStringsDOSEnglish[9] = { + "LAWFUL GOOD", + "NEUTRAL GOOD", + "CHAOTIC GOOD", + "LAWFUL NEUTRAL", + "TRUE NEUTRAL", + "CHAOTIC NEUTRAL", + "LAWFUL EVIL", + "NEUTRAL EVIL", + "CHAOTIC EVIL" +}; + +static const StringListProvider kEoB2ChargenAlignmentStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenAlignmentStringsDOSEnglish), kEoB2ChargenAlignmentStringsDOSEnglish }; + +static const char *const kEoB2ChargenEnterGameStringsDOSEnglish[1] = { + " Entering game.\r Please wait." +}; + +static const StringListProvider kEoB2ChargenEnterGameStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ChargenEnterGameStringsDOSEnglish), kEoB2ChargenEnterGameStringsDOSEnglish }; + +static const char *const kEoB2PryDoorStringsDOSEnglish[8] = { + "\r", + "You are not capable of forcing the door.\r", + "\x06\x04""You force the door.\r", + "\x06\x06""You try to force the door but fail.\r", + "You can't put that item there.\r", + "The item is too large to fit.\r", + "No one is able to pry this door open.\r", + "\r" +}; + +static const StringListProvider kEoB2PryDoorStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2PryDoorStringsDOSEnglish), kEoB2PryDoorStringsDOSEnglish }; + +static const char *const kEoB2WarningStringsDOSEnglish[4] = { + "You can't go that way.\r", + "%s isn't capable of eating food!\r", + "That food is rotten! You don't want to eat that!\r", + "You may only eat food!\r" +}; + +static const StringListProvider kEoB2WarningStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2WarningStringsDOSEnglish), kEoB2WarningStringsDOSEnglish }; + +static const char *const kEoB2ItemSuffixStringsRingsDOSEnglish[4] = { + "Adornment", + "Wizardry", + "Sustenance", + "Feather Fall" +}; + +static const StringListProvider kEoB2ItemSuffixStringsRingsDOSEnglishProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsRingsDOSEnglish), kEoB2ItemSuffixStringsRingsDOSEnglish }; + +static const char *const kEoB2ItemSuffixStringsPotionsDOSEnglish[8] = { + "Giant Strength", + "Healing", + "Extra Healing", + "Poison", + "Vitality", + "Speed", + "Invisibility", + "Cure Poison" +}; + +static const StringListProvider kEoB2ItemSuffixStringsPotionsDOSEnglishProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsPotionsDOSEnglish), kEoB2ItemSuffixStringsPotionsDOSEnglish }; + +static const char *const kEoB2ItemSuffixStringsWandsDOSEnglish[8] = { + "Stick", + "Lightning", + "Frost", + "Curing", + "Fireball", + "Starfire", + "Magic Missile", + "Dispel Magic" +}; + +static const StringListProvider kEoB2ItemSuffixStringsWandsDOSEnglishProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsWandsDOSEnglish), kEoB2ItemSuffixStringsWandsDOSEnglish }; + +static const char *const kEoB2RipItemStringsDOSEnglish[3] = { + "%s has lost her ", + "%s has lost his ", + ".\r" +}; + +static const StringListProvider kEoB2RipItemStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2RipItemStringsDOSEnglish), kEoB2RipItemStringsDOSEnglish }; + +static const char *const kEoB2CursedStringDOSEnglish[1] = { + "%d Cursed %s" +}; + +static const StringListProvider kEoB2CursedStringDOSEnglishProvider = { ARRAYSIZE(kEoB2CursedStringDOSEnglish), kEoB2CursedStringDOSEnglish }; + +static const char *const kEoB2MagicObjectStringsDOSEnglish[5] = { + "Mage Scroll", + "Cleric Scroll", + "Ring", + "Potion", + "Wand" +}; + +static const StringListProvider kEoB2MagicObjectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MagicObjectStringsDOSEnglish), kEoB2MagicObjectStringsDOSEnglish }; + +static const char *const kEoB2MagicObjectString5DOSEnglish[1] = { + "Stick" +}; + +static const StringListProvider kEoB2MagicObjectString5DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicObjectString5DOSEnglish), kEoB2MagicObjectString5DOSEnglish }; + +static const char *const kEoB2PatternSuffixDOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB2PatternSuffixDOSEnglishProvider = { ARRAYSIZE(kEoB2PatternSuffixDOSEnglish), kEoB2PatternSuffixDOSEnglish }; + +static const char *const kEoB2PatternGrFix1DOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB2PatternGrFix1DOSEnglishProvider = { ARRAYSIZE(kEoB2PatternGrFix1DOSEnglish), kEoB2PatternGrFix1DOSEnglish }; + +static const char *const kEoB2PatternGrFix2DOSEnglish[1] = { + "%s of %s" +}; + +static const StringListProvider kEoB2PatternGrFix2DOSEnglishProvider = { ARRAYSIZE(kEoB2PatternGrFix2DOSEnglish), kEoB2PatternGrFix2DOSEnglish }; + +static const char *const kEoB2ValidateArmorStringDOSEnglish[1] = { + "%s can't wear that type of armor.\r" +}; + +static const StringListProvider kEoB2ValidateArmorStringDOSEnglishProvider = { ARRAYSIZE(kEoB2ValidateArmorStringDOSEnglish), kEoB2ValidateArmorStringDOSEnglish }; + +static const char *const kEoB2ValidateCursedStringDOSEnglish[1] = { + "%s cannot release the weapon! It is cursed!\r" +}; + +static const StringListProvider kEoB2ValidateCursedStringDOSEnglishProvider = { ARRAYSIZE(kEoB2ValidateCursedStringDOSEnglish), kEoB2ValidateCursedStringDOSEnglish }; + +static const char *const kEoB2ValidateNoDropStringDOSEnglish[1] = { + "You can't put that item there.\r" +}; + +static const StringListProvider kEoB2ValidateNoDropStringDOSEnglishProvider = { ARRAYSIZE(kEoB2ValidateNoDropStringDOSEnglish), kEoB2ValidateNoDropStringDOSEnglish }; + +static const char *const kEoB2PotionStringsDOSEnglish[2] = { + "poisoned", + "%s feels %s!\r" +}; + +static const StringListProvider kEoB2PotionStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2PotionStringsDOSEnglish), kEoB2PotionStringsDOSEnglish }; + +static const char *const kEoB2WandStringsDOSEnglish[1] = { + "The wand has no apparent magical effect\r" +}; + +static const StringListProvider kEoB2WandStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2WandStringsDOSEnglish), kEoB2WandStringsDOSEnglish }; + +static const char *const kEoB2ItemMisuseStringsDOSEnglish[3] = { + " can not use this item.\r", + "This item automatically used when worn.\r", + "This item is not used in this way.\r" +}; + +static const StringListProvider kEoB2ItemMisuseStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2ItemMisuseStringsDOSEnglish), kEoB2ItemMisuseStringsDOSEnglish }; + +static const char *const kEoB2TakenStringsDOSEnglish[1] = { + " taken.\r" +}; + +static const StringListProvider kEoB2TakenStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2TakenStringsDOSEnglish), kEoB2TakenStringsDOSEnglish }; + +static const char *const kEoB2PotionEffectStringsDOSEnglish[8] = { + "much stronger", + "better", + "much better", + "ill for a moment", + "satiated", + "fast and agile", + "transparent", + "better" +}; + +static const StringListProvider kEoB2PotionEffectStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2PotionEffectStringsDOSEnglish), kEoB2PotionEffectStringsDOSEnglish }; + +static const char *const kEoB2YesNoStringsDOSEnglish[2] = { + "yes", + "no" +}; + +static const StringListProvider kEoB2YesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2YesNoStringsDOSEnglish), kEoB2YesNoStringsDOSEnglish }; + +static const char *const kEoB2MoreStringsDOSEnglish[1] = { + "MORE" +}; + +static const StringListProvider kEoB2MoreStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MoreStringsDOSEnglish), kEoB2MoreStringsDOSEnglish }; + +static const char *const kEoB2NpcMaxStringsDOSEnglish[1] = { + "You may only have six characters in your party. Select the one you wish to drop." +}; + +static const StringListProvider kEoB2NpcMaxStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2NpcMaxStringsDOSEnglish), kEoB2NpcMaxStringsDOSEnglish }; + +static const char *const kEoB2OkStringsDOSEnglish[1] = { + "OK" +}; + +static const StringListProvider kEoB2OkStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2OkStringsDOSEnglish), kEoB2OkStringsDOSEnglish }; + +static const char *const kEoB2NpcJoinStringsDOSEnglish[1] = { + "%s joins the party.\r" +}; + +static const StringListProvider kEoB2NpcJoinStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2NpcJoinStringsDOSEnglish), kEoB2NpcJoinStringsDOSEnglish }; + +static const char *const kEoB2CancelStringsDOSEnglish[1] = { + "CANCEL" +}; + +static const StringListProvider kEoB2CancelStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2CancelStringsDOSEnglish), kEoB2CancelStringsDOSEnglish }; + +static const char *const kEoB2AbortStringsDOSEnglish[1] = { + "ABORT" +}; + +static const StringListProvider kEoB2AbortStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2AbortStringsDOSEnglish), kEoB2AbortStringsDOSEnglish }; + +static const char *const kEoB2MenuStringsMainDOSEnglish[8] = { + "Select Option:", + "Rest Party", + "Memorize Spells", + "Pray for Spells", + "Scribe Scrolls", + "Preferences", + "Game Options", + "Exit" +}; + +static const StringListProvider kEoB2MenuStringsMainDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsMainDOSEnglish), kEoB2MenuStringsMainDOSEnglish }; + +static const char *const kEoB2MenuStringsSaveLoadDOSEnglish[8] = { + "Load Game", + "Save Game", + "Drop Character", + "Quit Game", + "Game Options:", + "\r Game saved.", + "Attempts to save your\rgame have failed!", + "Cannot load your\rsave game. The\rfile may be corrupt!" +}; + +static const StringListProvider kEoB2MenuStringsSaveLoadDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsSaveLoadDOSEnglish), kEoB2MenuStringsSaveLoadDOSEnglish }; + +static const char *const kEoB2MenuStringsOnOffDOSEnglish[2] = { + "ON", + "OFF" +}; + +static const StringListProvider kEoB2MenuStringsOnOffDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsOnOffDOSEnglish), kEoB2MenuStringsOnOffDOSEnglish }; + +static const char *const kEoB2MenuStringsSpellsDOSEnglish[17] = { + "\r\r Select a character\r from your party who\r would like to learn\r spells.", + "\r Your Paladin is \r too low a level\r for spells.", + "\r\r The Mage has no\r Spell Book!", + "\r\r\r Select a character\r from your party\r who would like to\r pray for spells.", + "\r No party members\r are capable of\r praying for new\r spells.", + "\r No party members\r are capable of\r memorizing new\r spells.", + " An unconscious\r or dead Mage\r cannot memorize\r spells.", + " An unconscious\r or dead Cleric\r cannot pray for\r spells.", + "1", + "2", + "3", + "4", + "5", + "Clear", + "Spells Available:", + "Yes", + "No" +}; + +static const StringListProvider kEoB2MenuStringsSpellsDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsSpellsDOSEnglish), kEoB2MenuStringsSpellsDOSEnglish }; + +static const char *const kEoB2MenuStringsRestDOSEnglish[5] = { + "\rWill your healers\rheal the party?", + " Someone is still\r injured. Rest\r until healed?", + "Resting party.", + "\r All characters\r are fully\r rested.", + " Your party needs\r to rest to gain\r spells." +}; + +static const StringListProvider kEoB2MenuStringsRestDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsRestDOSEnglish), kEoB2MenuStringsRestDOSEnglish }; + +static const char *const kEoB2MenuStringsDropDOSEnglish[1] = { + " You cannot have\r less than four\r characters." +}; + +static const StringListProvider kEoB2MenuStringsDropDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsDropDOSEnglish), kEoB2MenuStringsDropDOSEnglish }; + +static const char *const kEoB2MenuStringsExitDOSEnglish[1] = { + " Are you sure you\r wish to exit the\r game?" +}; + +static const StringListProvider kEoB2MenuStringsExitDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsExitDOSEnglish), kEoB2MenuStringsExitDOSEnglish }; + +static const char *const kEoB2MenuStringsStarveDOSEnglish[1] = { + " Your party is\r starving. Do you\r wish to continue\r resting?" +}; + +static const StringListProvider kEoB2MenuStringsStarveDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsStarveDOSEnglish), kEoB2MenuStringsStarveDOSEnglish }; + +static const char *const kEoB2MenuStringsScribeDOSEnglish[5] = { + "Select the scroll(s)\ryou wish to scribe.", + "\r\r\r Select a Mage\r from your party\r who would like to\r scribe spells.", + " You don't have\r any scolls to be\r scribed.", + " You don't have\r any scrolls that\r this Mage needs.", + "\r You don't have\r any Mage able to\r scribe scrolls." +}; + +static const StringListProvider kEoB2MenuStringsScribeDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsScribeDOSEnglish), kEoB2MenuStringsScribeDOSEnglish }; + +static const char *const kEoB2MenuStringsDrop2DOSEnglish[3] = { + " Select the\r character you\r wish to drop.", + " You must specify\r a name for your\r save game!", + " Are you sure you\r wish to replace\r your saved game?" +}; + +static const StringListProvider kEoB2MenuStringsDrop2DOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsDrop2DOSEnglish), kEoB2MenuStringsDrop2DOSEnglish }; + +static const char *const kEoB2MenuStringsHeadDOSEnglish[3] = { + "Camp:", + "Preferences:", + "Game Options:" +}; + +static const StringListProvider kEoB2MenuStringsHeadDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsHeadDOSEnglish), kEoB2MenuStringsHeadDOSEnglish }; + +static const char *const kEoB2MenuStringsPoisonDOSEnglish[1] = { + "Poisoned party\rmembers may die!\rRest anyway?" +}; + +static const StringListProvider kEoB2MenuStringsPoisonDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsPoisonDOSEnglish), kEoB2MenuStringsPoisonDOSEnglish }; + +static const char *const kEoB2MenuStringsMgcDOSEnglish[2] = { + "%-18s %1d", + "%d of %d Remaining. " +}; + +static const StringListProvider kEoB2MenuStringsMgcDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsMgcDOSEnglish), kEoB2MenuStringsMgcDOSEnglish }; + +static const char *const kEoB2MenuStringsPrefsDOSEnglish[4] = { + "Tunes are %-3s", + "Sounds are %-3s", + "Bar Graphs are %-3s", + "Mouse is %-3s" +}; + +static const StringListProvider kEoB2MenuStringsPrefsDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsPrefsDOSEnglish), kEoB2MenuStringsPrefsDOSEnglish }; + +static const char *const kEoB2MenuStringsRest2DOSEnglish[5] = { + "%s gained %s.\r", + "%s memorized %s.\r", + "%s casts healing on %s.\r", + "Hours rested: %-4d", + "\r%s\r" +}; + +static const StringListProvider kEoB2MenuStringsRest2DOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsRest2DOSEnglish), kEoB2MenuStringsRest2DOSEnglish }; + +static const char *const kEoB2MenuStringsRest3DOSEnglish[1] = { + "\x06\x06""You do not feel it is safe to rest here." +}; + +static const StringListProvider kEoB2MenuStringsRest3DOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsRest3DOSEnglish), kEoB2MenuStringsRest3DOSEnglish }; + +static const char *const kEoB2MenuStringsRest4DOSEnglish[1] = { + "\x06\x06""You can't rest here, monsters are near." +}; + +static const StringListProvider kEoB2MenuStringsRest4DOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsRest4DOSEnglish), kEoB2MenuStringsRest4DOSEnglish }; + +static const char *const kEoB2MenuStringsDefeatDOSEnglish[1] = { + "\rYour entire party\rhas been defeated!\rWould you like to\rload a previously\rsaved game?" +}; + +static const StringListProvider kEoB2MenuStringsDefeatDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsDefeatDOSEnglish), kEoB2MenuStringsDefeatDOSEnglish }; + +static const char *const kEoB2MenuStringsTransferDOSEnglish[5] = { + "You must transfer\rfour party members\rbefore you may play!", + "You may only transfer\rfour party members to\rEOB II!", + "Items which are not\ruseful or unbalance\rthe game will be\rdeleted.", + " \r You do not have\r a mage in your\r party.", + " \r You do not have\r a cleric or\r paladin in your\r party." +}; + +static const StringListProvider kEoB2MenuStringsTransferDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsTransferDOSEnglish), kEoB2MenuStringsTransferDOSEnglish }; + +static const char *const kEoB2MenuStringsSpecDOSEnglish[2] = { + "As you awaken, you\rdiscover that Insal\rthe thief is gone!", + "A quick inventory\rreveals equipment\rhas been stolen!" +}; + +static const StringListProvider kEoB2MenuStringsSpecDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuStringsSpecDOSEnglish), kEoB2MenuStringsSpecDOSEnglish }; + +static const char *const kEoB2MenuYesNoStringsDOSEnglish[2] = { + "Yes", + "No" +}; + +static const StringListProvider kEoB2MenuYesNoStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MenuYesNoStringsDOSEnglish), kEoB2MenuYesNoStringsDOSEnglish }; + +static const char *const kEoB2CharGuiStringsHpDOSEnglish[2] = { + "HP", + "%3d of %-3d" +}; + +static const StringListProvider kEoB2CharGuiStringsHpDOSEnglishProvider = { ARRAYSIZE(kEoB2CharGuiStringsHpDOSEnglish), kEoB2CharGuiStringsHpDOSEnglish }; + +static const char *const kEoB2CharGuiStringsWp2DOSEnglish[3] = { + "MISS", + "HACK", + "BASH" +}; + +static const StringListProvider kEoB2CharGuiStringsWp2DOSEnglishProvider = { ARRAYSIZE(kEoB2CharGuiStringsWp2DOSEnglish), kEoB2CharGuiStringsWp2DOSEnglish }; + +static const char *const kEoB2CharGuiStringsWrDOSEnglish[4] = { + "CAN'T", + "REACH", + "NO", + "AMMO" +}; + +static const StringListProvider kEoB2CharGuiStringsWrDOSEnglishProvider = { ARRAYSIZE(kEoB2CharGuiStringsWrDOSEnglish), kEoB2CharGuiStringsWrDOSEnglish }; + +static const char *const kEoB2CharGuiStringsSt2DOSEnglish[7] = { + "Swapping", + "DEAD", + "UNCONSCIOUS", + "POISON (SLOW)", + "POISONED", + "PARALYZED", + "PETRIFIED" +}; + +static const StringListProvider kEoB2CharGuiStringsSt2DOSEnglishProvider = { ARRAYSIZE(kEoB2CharGuiStringsSt2DOSEnglish), kEoB2CharGuiStringsSt2DOSEnglish }; + +static const char *const kEoB2CharGuiStringsInDOSEnglish[4] = { + "CHARACTER INFO", + "ARMOR CLASS", + "EXP", + "LVL" +}; + +static const StringListProvider kEoB2CharGuiStringsInDOSEnglishProvider = { ARRAYSIZE(kEoB2CharGuiStringsInDOSEnglish), kEoB2CharGuiStringsInDOSEnglish }; + +static const char *const kEoB2CharStatusStrings7DOSEnglish[1] = { + "%s no longer has giant strength.\r" +}; + +static const StringListProvider kEoB2CharStatusStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB2CharStatusStrings7DOSEnglish), kEoB2CharStatusStrings7DOSEnglish }; + +static const char *const kEoB2CharStatusStrings82DOSEnglish[1] = { + "\x06\x06""%s feels the effects of poison!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings82DOSEnglishProvider = { ARRAYSIZE(kEoB2CharStatusStrings82DOSEnglish), kEoB2CharStatusStrings82DOSEnglish }; + +static const char *const kEoB2CharStatusStrings9DOSEnglish[1] = { + "%s is no longer paralyzed!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings9DOSEnglishProvider = { ARRAYSIZE(kEoB2CharStatusStrings9DOSEnglish), kEoB2CharStatusStrings9DOSEnglish }; + +static const char *const kEoB2CharStatusStrings12DOSEnglish[1] = { + "%s slows down.\r" +}; + +static const StringListProvider kEoB2CharStatusStrings12DOSEnglishProvider = { ARRAYSIZE(kEoB2CharStatusStrings12DOSEnglish), kEoB2CharStatusStrings12DOSEnglish }; + +static const char *const kEoB2CharStatusStrings132DOSEnglish[1] = { + "\x06\x06""%s is %s!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings132DOSEnglishProvider = { ARRAYSIZE(kEoB2CharStatusStrings132DOSEnglish), kEoB2CharStatusStrings132DOSEnglish }; + +static const char *const kEoB2LevelGainStringsDOSEnglish[1] = { + "\x06\x01""%s has gained a level.""\x06\x0F""\r" +}; + +static const StringListProvider kEoB2LevelGainStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2LevelGainStringsDOSEnglish), kEoB2LevelGainStringsDOSEnglish }; + +static const char *const kEoB2BookNumbersDOSEnglish[5] = { + "First", + "Second", + "Third", + "Fourth", + "Fifth" +}; + +static const StringListProvider kEoB2BookNumbersDOSEnglishProvider = { ARRAYSIZE(kEoB2BookNumbersDOSEnglish), kEoB2BookNumbersDOSEnglish }; + +static const char *const kEoB2MageSpellsListDOSEnglish[33] = { + "", + "Armor", + "Burning Hands", + "Detect Magic", + "Magic Missile", + "Shield", + "Shocking Grasp", + "Blur", + "Detect Invisible", + "Imp Identify", + "Invisibility", + "M's Acid Arrow", + "Dispel Magic", + "Fireball", + "Haste", + "Hold Person", + "Invisibility 10'", + "Lightning Bolt", + "Vampiric Touch", + "Fear", + "Ice Storm", + "Imp Invisibility", + "Remove Curse", + "Cone of Cold", + "Hold Monster", + "Wall of Force", + "Disintegrate", + "Flesh to Stone", + "Stone to Flesh", + "True Seeing", + "Finger of Death", + "Power Word Stun", + "Bigby's Fist" +}; + +static const StringListProvider kEoB2MageSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB2MageSpellsListDOSEnglish), kEoB2MageSpellsListDOSEnglish }; + +static const char *const kEoB2ClericSpellsListDOSEnglish[30] = { + "", + "Bless", + "Cause Light Wnds", + "Cure Light Wnds", + "Detect Magic", + "Protect-Evil", + "Aid", + "Flame Blade", + "Hold Person", + "Slow Poison", + "Create Food", + "Dispel Magic", + "Magical Vestment", + "Prayer", + "Remove Paralysis", + "Cause Serious", + "Cure Serious", + "Neutral-Poison", + "Protect-Evil 10'", + "Cause Critical", + "Cure Critical", + "Flame Strike", + "Raise Dead", + "Slay Living", + "True Seeing", + "Harm", + "Heal", + "Ressurection", + "Lay on Hands", + "Turn undead" +}; + +static const StringListProvider kEoB2ClericSpellsListDOSEnglishProvider = { ARRAYSIZE(kEoB2ClericSpellsListDOSEnglish), kEoB2ClericSpellsListDOSEnglish }; + +static const char *const kEoB2SpellNamesDOSEnglish[68] = { + "armor", + "burning hands", + "detect magic", + "magic missile", + "shield", + "shocking grasp", + "blur", + "detect invisibility", + "improved identify", + "invisibility", + "melf's acid arrow", + "dispel magic", + "fireball", + "haste", + "Hold Person", + "invisibility 10' radius", + "lightning bolt", + "vampiric touch", + "fear", + "ice storm", + "improved invisibility", + "remove curse", + "cone of cold", + "hold monster", + "wall of force", + "disintegrate", + "flesh to stone", + "stone to flesh", + "true seeing", + "finger of death", + "power word stun", + "bigby's clenched fist", + "bless", + "cause light wounds", + "cure light wounds", + "detect magic", + "protection from evil", + "aid", + "flame blade", + "hold person", + "slow poison", + "create food", + "dispel magic", + "magical vestment", + "prayer", + "remove paralysis", + "cause serious wounds", + "cure serious wounds", + "neutralize poison", + "protection from evil 10' radius", + "cause critical wounds", + "cure critical wounds", + "flame strike", + "raise dead", + "slay living", + "true seeing", + "harm", + "heal", + "ressurection", + "lay on hands", + "turn undead", + "", + "mystic defense", + "", + "", + "", + "", + "" +}; + +static const StringListProvider kEoB2SpellNamesDOSEnglishProvider = { ARRAYSIZE(kEoB2SpellNamesDOSEnglish), kEoB2SpellNamesDOSEnglish }; + +static const char *const kEoB2MagicStrings1DOSEnglish[6] = { + "ABORT SPELL", + "ABORT SPELL", + "You must have a free hand for this spell.\r", + "You can't have two of this spell type active.\r", + "%s casts %s.\r", + "\rok\r" +}; + +static const StringListProvider kEoB2MagicStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings1DOSEnglish), kEoB2MagicStrings1DOSEnglish }; + +static const char *const kEoB2MagicStrings2DOSEnglish[5] = { + "The spell fails!\r", + "%s has been disintegrated!\r", + "\x06\x06""The party has been hit by a death spell!\r", + "\x06\x06""%s has been hit by cause serious wounds.\r", + "PETRIFIED" +}; + +static const StringListProvider kEoB2MagicStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings2DOSEnglish), kEoB2MagicStrings2DOSEnglish }; + +static const char *const kEoB2MagicStrings3DOSEnglish[5] = { + "Cast spell on which character? ", + "\rSpell aborted.\r", + "%s's %s spell expires.\r", + "%s missed the monster.\r", + "%s must be in the front ranks to hit!\r" +}; + +static const StringListProvider kEoB2MagicStrings3DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings3DOSEnglish), kEoB2MagicStrings3DOSEnglish }; + +static const char *const kEoB2MagicStrings4DOSEnglish[1] = { + "no effect.\r" +}; + +static const StringListProvider kEoB2MagicStrings4DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings4DOSEnglish), kEoB2MagicStrings4DOSEnglish }; + +static const char *const kEoB2MagicStrings6DOSEnglish[1] = { + "%s already has an armor class better than AC 6." +}; + +static const StringListProvider kEoB2MagicStrings6DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings6DOSEnglish), kEoB2MagicStrings6DOSEnglish }; + +static const char *const kEoB2MagicStrings7DOSEnglish[2] = { + "%s is already under the effect of a %s spell.\r", + "The party is already under the effect of a %s spell.\r" +}; + +static const StringListProvider kEoB2MagicStrings7DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings7DOSEnglish), kEoB2MagicStrings7DOSEnglish }; + +static const char *const kEoB2MagicStrings8DOSEnglish[6] = { + "The spell fails!\r", + "held", + "The spell fails!\r", + "The spell fails\r", + "No monster within reach!\r", + "%s is already under the effect of an aid spell.\r" +}; + +static const StringListProvider kEoB2MagicStrings8DOSEnglishProvider = { ARRAYSIZE(kEoB2MagicStrings8DOSEnglish), kEoB2MagicStrings8DOSEnglish }; + +static const byte kEoB2ManDefDOSEnglish[200] = { + 0x09, 0x03, 0x04, 0x00, 0x09, 0x0D, 0x02, 0x00, + 0x09, 0x07, 0x07, 0x00, 0x14, 0x06, 0x05, 0x00, + 0x14, 0x10, 0x06, 0x00, 0x14, 0x1C, 0x03, 0x00, + 0x1A, 0x04, 0x06, 0x00, 0x1A, 0x0A, 0x05, 0x00, + 0x1A, 0x0C, 0x05, 0x00, 0x15, 0x03, 0x04, 0x00, + 0x15, 0x05, 0x05, 0x00, 0x15, 0x0F, 0x02, 0x00, + 0x15, 0x14, 0x03, 0x00, 0x15, 0x1B, 0x02, 0x00, + 0x15, 0x1D, 0x03, 0x00, 0x23, 0x01, 0x03, 0x00, + 0x23, 0x03, 0x03, 0x00, 0x23, 0x08, 0x03, 0x00, + 0x23, 0x19, 0x02, 0x00, 0x23, 0x1F, 0x04, 0x00, + 0x23, 0x26, 0x04, 0x00, 0x26, 0x03, 0x02, 0x00, + 0x26, 0x05, 0x06, 0x00, 0x26, 0x12, 0x03, 0x00, + 0x26, 0x18, 0x01, 0x00, 0x26, 0x1E, 0x01, 0x00, + 0x26, 0x21, 0x04, 0x00, 0x17, 0x01, 0x03, 0x00, + 0x17, 0x03, 0x06, 0x00, 0x17, 0x06, 0x02, 0x00, + 0x17, 0x0F, 0x05, 0x00, 0x17, 0x1B, 0x01, 0x00, + 0x17, 0x21, 0x06, 0x00, 0x12, 0x03, 0x02, 0x00, + 0x12, 0x05, 0x04, 0x00, 0x12, 0x09, 0x02, 0x00, + 0x12, 0x0B, 0x04, 0x00, 0x12, 0x0D, 0x06, 0x00, + 0x12, 0x0F, 0x03, 0x00, 0x12, 0x11, 0x05, 0x00, + 0x12, 0x12, 0x02, 0x00, 0x1F, 0x02, 0x04, 0x00, + 0x1F, 0x02, 0x07, 0x00, 0x1F, 0x04, 0x03, 0x00, + 0x1F, 0x06, 0x03, 0x00, 0x1F, 0x09, 0x03, 0x00, + 0x1F, 0x0A, 0x01, 0x00, 0x1C, 0x03, 0x03, 0x00, + 0x1C, 0x04, 0x02, 0x00, 0x1C, 0x05, 0x06, 0x00 +}; + +static const ByteProvider kEoB2ManDefDOSEnglishProvider = { ARRAYSIZE(kEoB2ManDefDOSEnglish), kEoB2ManDefDOSEnglish }; + +static const char *const kEoB2ManWordDOSEnglish[51] = { + "cursor", + "majority", + "right", + "unusable", + "greyed", + "thrown", + "spellcasters", + "button", + "characters", + "carefree", + "practical", + "inherit", + "while", + "combinations", + "charm", + "individuals", + "gestures", + "pummel", + "paladins", + "skill", + "advancement", + "also", + "counters", + "knowledge", + "greater", + "assume", + "several", + "laying", + "reach", + "swiftly", + "allows", + "limited", + "jack", + "thrown", + "weapons", + "note", + "certain", + "damage", + "done", + "bonus", + "may", + "over", + "box", + "put", + "portrait", + "backpack", + "inside", + "causes", + "until", + "outright", + "" +}; + +static const StringListProvider kEoB2ManWordDOSEnglishProvider = { ARRAYSIZE(kEoB2ManWordDOSEnglish), kEoB2ManWordDOSEnglish }; + +static const char *const kEoB2ManPromptDOSEnglish[1] = { + "\r\r\r\rOn the page with this symbol...\r\rFind line %d\rEnter word %d\r" +}; + +static const StringListProvider kEoB2ManPromptDOSEnglishProvider = { ARRAYSIZE(kEoB2ManPromptDOSEnglish), kEoB2ManPromptDOSEnglish }; + +static const char *const kEoB2MainMenuStringsDOSEnglish[5] = { + "LOAD GAME IN PROGRESS\r", + "START A NEW PARTY\r", + "TRANSFER EOB I PARTY\r", + "RUN INTRODUCTION\r", + "EXIT TO DOS\r" +}; + +static const StringListProvider kEoB2MainMenuStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MainMenuStringsDOSEnglish), kEoB2MainMenuStringsDOSEnglish }; + +static const char *const kEoB2TransferStrings1DOSEnglish[2] = { + "Level: %d", + " / %d" +}; + +static const StringListProvider kEoB2TransferStrings1DOSEnglishProvider = { ARRAYSIZE(kEoB2TransferStrings1DOSEnglish), kEoB2TransferStrings1DOSEnglish }; + +static const char *const kEoB2TransferStrings2DOSEnglish[2] = { + "You may only take four characters on your adventure.", + "Select OK when you are finished choosing your party." +}; + +static const StringListProvider kEoB2TransferStrings2DOSEnglishProvider = { ARRAYSIZE(kEoB2TransferStrings2DOSEnglish), kEoB2TransferStrings2DOSEnglish }; + +static const char *const kEoB2TransferLabelsDOSEnglish[2] = { + "CANCEL", + "OK" +}; + +static const StringListProvider kEoB2TransferLabelsDOSEnglishProvider = { ARRAYSIZE(kEoB2TransferLabelsDOSEnglish), kEoB2TransferLabelsDOSEnglish }; + +static const char *const kEoB2IntroStringsDOSEnglish[20] = { + "You were settling in for an evening \rby the fire.", + "Then a note was slipped to you.", + "It was from your friend Khelben \rBlackstaff, Archmage of the city.", + "The message was urgent.", + "What could Khelben want?", + "Welcome, please come in.", + "Khelben awaits you in his study.", + "Thank you for coming so quickly.", + "I am troubled my friend.", + "Ancient Evil stirs in the \rTemple Darkmoon.", + "I fear for the safety of our city.", + "I need your help.", + "Three nights ago \rI sent forth a scout.", + "She has not yet returned.", + "I fear for her safety.", + "Take this coin.", + "I will use it to contact you.", + "You must act quickly.", + "I will teleport you near Darkmoon.", + "May luck be with you, my friend." +}; + +static const StringListProvider kEoB2IntroStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2IntroStringsDOSEnglish), kEoB2IntroStringsDOSEnglish }; + +static const char *const kEoB2IntroCPSFilesDOSEnglish[13] = { + "STREET1.CPS", + "STREET2.CPS", + "DOORWAY1.CPS", + "DOORWAY2.CPS", + "WESTWOOD.CPS", + "WINDING.CPS", + "KHELBAN2.CPS", + "KHELBAN1.CPS", + "KHELBAN3.CPS", + "KHELBAN4.CPS", + "COIN.CPS", + "KHELBAN5.CPS", + "KHELBAN6.CPS" +}; + +static const StringListProvider kEoB2IntroCPSFilesDOSEnglishProvider = { ARRAYSIZE(kEoB2IntroCPSFilesDOSEnglish), kEoB2IntroCPSFilesDOSEnglish }; + +static const char *const kEoB2FinaleStringsDOSEnglish[20] = { + "Finally, Dran has been defeated.", + "Suddenly, your friend Khelben appears.", + "Greetings, my victorious friends.", + "You have defeated Dran!", + "I did not know Dran was a dragon.", + "He must have been over 300 years old!", + "His power is gone.", + "But Darkmoon is still a source\rof great evil.", + "And many of his minions remain.", + "Now we must leave this place.", + "So my forces can destroy it\ronce and for all.", + "Follow me.", + "Powerful mages stand ready\rfor the final assault\ron Darkmoon.", + "The Temple's evil is very strong.", + "It must not be allowed to survive!", + "The Temple ceases to exist.", + "My friends, our work is done.", + "Thank you.", + "You have earned my deepest respect.", + "We will remember you always." +}; + +static const StringListProvider kEoB2FinaleStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2FinaleStringsDOSEnglish), kEoB2FinaleStringsDOSEnglish }; + +static const byte kEoB2CreditsDataDOSEnglish[2316] = { + 0x02, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x10, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x03, 0x0D, 0x02, 0x04, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x06, 0x0D, 0x0D, 0x0D, 0x02, 0x01, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6F, 0x72, 0x3A, 0x20, 0x42, 0x72, + 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, + 0x70, 0x65, 0x72, 0x72, 0x79, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x4F, 0x72, + 0x69, 0x67, 0x69, 0x6E, 0x61, 0x6C, 0x20, 0x43, + 0x6F, 0x6E, 0x63, 0x65, 0x70, 0x74, 0x3A, 0x20, + 0x50, 0x68, 0x69, 0x6C, 0x69, 0x70, 0x20, 0x57, + 0x2E, 0x20, 0x47, 0x6F, 0x72, 0x72, 0x6F, 0x77, + 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, + 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x61, 0x6D, + 0x65, 0x20, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6E, + 0x3A, 0x20, 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, + 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, + 0x79, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, + 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, + 0x74, 0x6F, 0x6B, 0x65, 0x73, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x4C, 0x65, 0x61, 0x64, 0x20, + 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, + 0x65, 0x72, 0x3A, 0x20, 0x50, 0x68, 0x69, 0x6C, + 0x69, 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, + 0x72, 0x72, 0x6F, 0x77, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x4C, 0x65, 0x76, 0x65, + 0x6C, 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, + 0x6D, 0x6D, 0x65, 0x72, 0x3A, 0x20, 0x42, 0x69, + 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, 0x6B, 0x65, + 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x41, 0x6D, + 0x69, 0x67, 0x61, 0x20, 0x50, 0x72, 0x6F, 0x67, + 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, 0x3A, 0x20, + 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, + 0x6B, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x49, + 0x6E, 0x74, 0x72, 0x6F, 0x20, 0x26, 0x20, 0x46, + 0x69, 0x6E, 0x61, 0x6C, 0x65, 0x20, 0x62, 0x79, + 0x3A, 0x20, 0x4A, 0x6F, 0x65, 0x20, 0x42, 0x6F, + 0x73, 0x74, 0x69, 0x63, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, 0x74, 0x20, + 0x26, 0x20, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, + 0x63, 0x73, 0x3A, 0x20, 0x52, 0x69, 0x63, 0x6B, + 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x41, 0x61, 0x72, 0x6F, + 0x6E, 0x20, 0x50, 0x6F, 0x77, 0x65, 0x6C, 0x6C, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x6F, 0x73, 0x65, + 0x70, 0x68, 0x20, 0x48, 0x65, 0x77, 0x69, 0x74, + 0x74, 0x20, 0x49, 0x56, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6E, 0x20, + 0x4F, 0x6C, 0x73, 0x65, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4C, 0x6F, 0x75, 0x69, + 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, 0x64, 0x6F, + 0x76, 0x61, 0x6C, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x75, 0x64, 0x69, + 0x74, 0x68, 0x20, 0x50, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4D, + 0x75, 0x73, 0x69, 0x63, 0x3A, 0x20, 0x46, 0x72, + 0x61, 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, + 0x61, 0x63, 0x6B, 0x69, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x3A, 0x20, + 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, 0x20, + 0x4D, 0x75, 0x64, 0x72, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x44, 0x77, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x63, 0x20, 0x43, + 0x72, 0x61, 0x6D, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x51, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, + 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, + 0x63, 0x65, 0x3A, 0x20, 0x47, 0x6C, 0x65, 0x6E, + 0x6E, 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6C, 0x20, 0x54, 0x68, 0x61, 0x6E, + 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x0D, 0x0D, 0x0D, + 0x43, 0x68, 0x75, 0x63, 0x6B, 0x20, 0x4B, 0x72, + 0x6F, 0x65, 0x67, 0x65, 0x6C, 0x0D, 0x0D, 0x58, + 0x61, 0x6E, 0x61, 0x74, 0x68, 0x61, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x65, 0x68, 0x6F, + 0x6C, 0x64, 0x65, 0x72, 0x0D, 0x0D, 0x61, 0x6E, + 0x64, 0x0D, 0x0D, 0x4D, 0x69, 0x6B, 0x65, 0x27, + 0x73, 0x20, 0x63, 0x61, 0x74, 0x2C, 0x20, 0x53, + 0x70, 0x61, 0x72, 0x6B, 0x79, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x50, 0x75, 0x62, + 0x6C, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x0D, 0x0D, 0x02, 0x02, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x72, 0x6F, + 0x64, 0x75, 0x63, 0x65, 0x72, 0x73, 0x3A, 0x20, + 0x44, 0x61, 0x6E, 0x20, 0x43, 0x65, 0x72, 0x6D, + 0x61, 0x6B, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x47, 0x65, 0x6F, 0x72, 0x67, 0x65, 0x20, 0x4D, + 0x61, 0x63, 0x44, 0x6F, 0x6E, 0x61, 0x6C, 0x64, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, + 0x47, 0x61, 0x6D, 0x65, 0x20, 0x44, 0x65, 0x76, + 0x65, 0x6C, 0x6F, 0x70, 0x6D, 0x65, 0x6E, 0x74, + 0x3A, 0x20, 0x4E, 0x69, 0x63, 0x68, 0x6F, 0x6C, + 0x61, 0x73, 0x20, 0x42, 0x65, 0x6C, 0x69, 0x61, + 0x65, 0x66, 0x66, 0x20, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x44, 0x61, 0x76, 0x69, 0x64, 0x20, + 0x41, 0x2E, 0x20, 0x4C, 0x75, 0x63, 0x63, 0x61, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x6C, + 0x61, 0x79, 0x20, 0x54, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x3A, 0x20, 0x50, 0x68, 0x69, 0x6C, + 0x20, 0x41, 0x6C, 0x6E, 0x65, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x6F, 0x68, 0x6E, + 0x20, 0x42, 0x6F, 0x6F, 0x63, 0x6B, 0x68, 0x6F, + 0x6C, 0x64, 0x74, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x47, 0x6C, 0x65, 0x6E, + 0x20, 0x43, 0x75, 0x72, 0x65, 0x74, 0x6F, 0x6E, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4D, 0x61, 0x72, 0x6B, + 0x20, 0x48, 0x61, 0x6C, 0x6C, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x42, 0x72, 0x69, 0x61, + 0x6E, 0x20, 0x4C, 0x6F, 0x77, 0x65, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x52, 0x6F, 0x62, 0x65, + 0x72, 0x74, 0x20, 0x4C, 0x75, 0x70, 0x6F, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x41, 0x6C, 0x61, 0x6E, + 0x20, 0x4D, 0x61, 0x72, 0x65, 0x6E, 0x63, 0x6F, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x61, 0x73, 0x6F, + 0x6E, 0x20, 0x52, 0x61, 0x79, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x65, 0x66, 0x66, + 0x20, 0x53, 0x68, 0x6F, 0x74, 0x77, 0x65, 0x6C, + 0x6C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x41, 0x6E, 0x64, 0x72, + 0x65, 0x20, 0x56, 0x72, 0x69, 0x67, 0x6E, 0x61, + 0x75, 0x64, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x43, 0x68, 0x72, 0x69, + 0x73, 0x20, 0x57, 0x61, 0x72, 0x73, 0x68, 0x61, + 0x75, 0x65, 0x72, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x6E, 0x64, 0x20, + 0x54, 0x53, 0x43, 0x53, 0x2C, 0x20, 0x49, 0x6E, + 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x54, 0x65, 0x73, 0x74, 0x20, 0x53, 0x75, 0x70, + 0x70, 0x6F, 0x72, 0x74, 0x3A, 0x20, 0x4B, 0x79, + 0x6D, 0x20, 0x47, 0x6F, 0x79, 0x65, 0x72, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x43, 0x61, 0x73, 0x74, 0x20, + 0x6F, 0x66, 0x20, 0x43, 0x68, 0x61, 0x72, 0x61, + 0x63, 0x74, 0x65, 0x72, 0x73, 0x0D, 0x0D, 0x0D, + 0x54, 0x68, 0x65, 0x20, 0x46, 0x6F, 0x72, 0x63, + 0x65, 0x73, 0x20, 0x6F, 0x66, 0x20, 0x44, 0x61, + 0x72, 0x6B, 0x6E, 0x65, 0x73, 0x73, 0x0D, 0x0D, + 0x0D, 0x44, 0x72, 0x61, 0x6E, 0x20, 0x44, 0x72, + 0x61, 0x67, 0x67, 0x6F, 0x72, 0x65, 0x20, 0x28, + 0x54, 0x68, 0x65, 0x20, 0x42, 0x69, 0x67, 0x20, + 0x42, 0x61, 0x64, 0x20, 0x44, 0x72, 0x61, 0x67, + 0x6F, 0x6E, 0x29, 0x0D, 0x0D, 0x4E, 0x61, 0x64, + 0x69, 0x61, 0x20, 0x26, 0x20, 0x4A, 0x6F, 0x72, + 0x69, 0x6C, 0x20, 0x28, 0x54, 0x68, 0x65, 0x20, + 0x54, 0x77, 0x6F, 0x2D, 0x46, 0x61, 0x63, 0x65, + 0x64, 0x20, 0x43, 0x6C, 0x65, 0x72, 0x69, 0x63, + 0x73, 0x29, 0x0D, 0x0D, 0x44, 0x79, 0x69, 0x6E, + 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x61, 0x6E, + 0x74, 0x20, 0x28, 0x44, 0x72, 0x61, 0x6E, 0x27, + 0x73, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x48, 0x61, 0x6E, 0x64, 0x20, 0x4D, 0x61, 0x6E, + 0x29, 0x0D, 0x0D, 0x54, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x64, 0x20, 0x43, 0x6C, 0x65, 0x72, 0x69, + 0x63, 0x20, 0x28, 0x54, 0x68, 0x65, 0x20, 0x52, + 0x65, 0x64, 0x20, 0x48, 0x65, 0x72, 0x72, 0x69, + 0x6E, 0x67, 0x29, 0x0D, 0x0D, 0x4B, 0x69, 0x6E, + 0x67, 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x46, 0x72, 0x6F, 0x73, 0x74, 0x20, 0x47, + 0x69, 0x61, 0x6E, 0x74, 0x73, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x54, 0x68, 0x65, 0x20, 0x46, 0x6F, 0x72, + 0x63, 0x65, 0x73, 0x20, 0x6F, 0x66, 0x20, 0x47, + 0x6F, 0x6F, 0x64, 0x0D, 0x0D, 0x0D, 0x4B, 0x68, + 0x65, 0x6C, 0x62, 0x65, 0x6E, 0x20, 0x42, 0x6C, + 0x61, 0x63, 0x6B, 0x73, 0x74, 0x61, 0x66, 0x66, + 0x0D, 0x0D, 0x41, 0x6D, 0x62, 0x65, 0x72, 0x20, + 0x28, 0x4B, 0x68, 0x65, 0x6C, 0x62, 0x65, 0x6E, + 0x27, 0x73, 0x20, 0x53, 0x63, 0x6F, 0x75, 0x74, + 0x29, 0x0D, 0x0D, 0x53, 0x68, 0x6F, 0x72, 0x6E, + 0x20, 0x44, 0x69, 0x65, 0x72, 0x67, 0x61, 0x72, + 0x20, 0x28, 0x50, 0x65, 0x73, 0x6B, 0x79, 0x20, + 0x44, 0x77, 0x61, 0x72, 0x66, 0x29, 0x0D, 0x0D, + 0x49, 0x6E, 0x73, 0x61, 0x6C, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x54, 0x68, 0x69, 0x65, 0x66, 0x20, + 0x28, 0x54, 0x68, 0x65, 0x20, 0x4E, 0x75, 0x69, + 0x73, 0x61, 0x6E, 0x63, 0x65, 0x29, 0x0D, 0x0D, + 0x43, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x72, 0x61, + 0x20, 0x28, 0x49, 0x72, 0x61, 0x27, 0x73, 0x20, + 0x4C, 0x6F, 0x73, 0x74, 0x20, 0x53, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x29, 0x0D, 0x0D, 0x41, 0x6C, + 0x61, 0x69, 0x6E, 0x20, 0x28, 0x54, 0x68, 0x65, + 0x20, 0x41, 0x6E, 0x63, 0x69, 0x65, 0x6E, 0x74, + 0x20, 0x4F, 0x6E, 0x65, 0x29, 0x0D, 0x0D, 0x53, + 0x61, 0x6E, 0x2D, 0x52, 0x61, 0x61, 0x6C, 0x20, + 0x28, 0x44, 0x72, 0x6F, 0x77, 0x20, 0x4D, 0x61, + 0x67, 0x65, 0x29, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x01, 0x41, 0x6E, 0x79, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x73, 0x20, 0x69, 0x6E, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x67, 0x61, 0x6D, 0x65, 0x20, 0x77, + 0x68, 0x6F, 0x20, 0x62, 0x65, 0x61, 0x72, 0x0D, + 0x01, 0x72, 0x65, 0x73, 0x65, 0x6D, 0x62, 0x6C, + 0x61, 0x6E, 0x63, 0x65, 0x20, 0x74, 0x6F, 0x20, + 0x70, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x73, 0x20, + 0x6C, 0x69, 0x76, 0x69, 0x6E, 0x67, 0x20, 0x6F, + 0x72, 0x0D, 0x01, 0x64, 0x65, 0x61, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x70, 0x75, 0x72, 0x65, + 0x6C, 0x79, 0x20, 0x63, 0x6F, 0x69, 0x6E, 0x63, + 0x69, 0x64, 0x65, 0x6E, 0x74, 0x61, 0x6C, 0x2E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x02, 0x11, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider kEoB2CreditsDataDOSEnglishProvider = { ARRAYSIZE(kEoB2CreditsDataDOSEnglish), kEoB2CreditsDataDOSEnglish }; + +static const char *const kEoB2FinaleCPSFilesDOSEnglish[13] = { + "DRAGON1.CPS", + "DRAGON2.CPS", + "HURRY1.CPS", + "HURRY2.CPS", + "DESTROY0.CPS", + "DESTROY1.CPS", + "DESTROY2.CPS", + "MAGIC.CPS", + "DESTROY3.CPS", + "CREDITS2.CPS", + "CREDITS3.CPS", + "HEROES.CPS", + "THANKS.CPS" +}; + +static const StringListProvider kEoB2FinaleCPSFilesDOSEnglishProvider = { ARRAYSIZE(kEoB2FinaleCPSFilesDOSEnglish), kEoB2FinaleCPSFilesDOSEnglish }; + +static const char *const kEoB2MonsterDistAttStringsDOSEnglish[5] = { + "The party is hit with a psychic mind blast!\r", + "paralyzed", + "poisoned", + "paralyzed", + "PETRIFIED" +}; + +static const StringListProvider kEoB2MonsterDistAttStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MonsterDistAttStringsDOSEnglish), kEoB2MonsterDistAttStringsDOSEnglish }; + +static const char *const kEoB2Npc1StringsDOSEnglish[2] = { + "talk", + "leave" +}; + +static const StringListProvider kEoB2Npc1StringsDOSEnglishProvider = { ARRAYSIZE(kEoB2Npc1StringsDOSEnglish), kEoB2Npc1StringsDOSEnglish }; + +static const char *const kEoB2Npc2StringsDOSEnglish[2] = { + "release him", + "leave" +}; + +static const StringListProvider kEoB2Npc2StringsDOSEnglishProvider = { ARRAYSIZE(kEoB2Npc2StringsDOSEnglish), kEoB2Npc2StringsDOSEnglish }; + +static const char *const kEoB2MonsterDustStringsDOSEnglish[1] = { + "The monster crumbles to dust!\r" +}; + +static const StringListProvider kEoB2MonsterDustStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2MonsterDustStringsDOSEnglish), kEoB2MonsterDustStringsDOSEnglish }; + +static const char *const kEoB2KheldranStringsDOSEnglish[1] = { + " Such trusting whelps!" +}; + +static const StringListProvider kEoB2KheldranStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2KheldranStringsDOSEnglish), kEoB2KheldranStringsDOSEnglish }; + +static const char *const kEoB2HornStringsDOSEnglish[4] = { + "A bellowing sound comes from the horn.\r", + "A hollow sound comes from the horn.\r", + "A melodious sound comes from the horn.\r", + "An eerie sound comes from the horn.\r" +}; + +static const StringListProvider kEoB2HornStringsDOSEnglishProvider = { ARRAYSIZE(kEoB2HornStringsDOSEnglish), kEoB2HornStringsDOSEnglish }; + diff --git a/devtools/create_kyradat/resources/eob2_dos_german.h b/devtools/create_kyradat/resources/eob2_dos_german.h new file mode 100644 index 0000000000..6967eac8a4 --- /dev/null +++ b/devtools/create_kyradat/resources/eob2_dos_german.h @@ -0,0 +1,1414 @@ +static const char *const kEoB2ChargenStrings1DOSGerman[9] = { + "Die Party ist\rkomplett. W""\x84""hle\rSPIEL oder\rdr""\x81""cke 'P' um\rzu starten.", + " ", + "RK\rTP\rSTF", + "%s\r%d\r%d\r%d\r%d\r%d", + "%d\r%d", + "%d", + "%d/%d", + "%d/%d/%d", + "W""\x84""hle die Box des\rCharakters, den du\rerschaffen oder\ransehen willst." +}; + +static const StringListProvider kEoB2ChargenStrings1DOSGermanProvider = { ARRAYSIZE(kEoB2ChargenStrings1DOSGerman), kEoB2ChargenStrings1DOSGerman }; + +static const char *const kEoB2ChargenStrings2DOSGerman[12] = { + "%s", + "%d", + "%s", + "%d", + "%d", + "%d", + "%s", + "%d", + "W""\x8E""HLE RASSE:", + "W""\x8E""HLE KLASSE:", + "W""\x8E""HLE GESINNUNG:", + "Name:" +}; + +static const StringListProvider kEoB2ChargenStrings2DOSGermanProvider = { ARRAYSIZE(kEoB2ChargenStrings2DOSGerman), kEoB2ChargenStrings2DOSGerman }; + +static const char *const kEoB2ChargenStatStringsDOSGerman[12] = { + "ST""\x8E", + "INT", + "WEI", + "GES", + "KON", + "CHA", + "ST""\x8E""RKE", + "INTELLIGENZ", + "WEISHEIT", + "GESCHICK", + "KONSTITUTION", + "CHARISMA" +}; + +static const StringListProvider kEoB2ChargenStatStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ChargenStatStringsDOSGerman), kEoB2ChargenStatStringsDOSGerman }; + +static const char *const kEoB2ChargenRaceSexStringsDOSGerman[12] = { + "MENSCH, MANN", + "MENSCH, FRAU", + "ELF, MANN", + "ELF, FRAU", + "HALB-ELF, MANN", + "HALB-ELF, FRAU", + "ZWERG, MANN", + "ZWERG, FRAU", + "GNOM, MANN", + "GNOM, FRAU", + "HALBLING, MANN", + "HALBLING, FRAU" +}; + +static const StringListProvider kEoB2ChargenRaceSexStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ChargenRaceSexStringsDOSGerman), kEoB2ChargenRaceSexStringsDOSGerman }; + +static const char *const kEoB2ChargenClassStringsDOSGerman[21] = { + "K""\x8E""MPFER", + "WALDL""\x8E""UFER", + "PALADIN", + "MAGIER", + "KLERIKER", + "DIEB", + "K""\x8E""MPFER/KLERIKER", + "K""\x8E""MPFER/DIEB", + "K""\x8E""MPFER/MAGIER", + "K""\x8E""MPFER/MAGIER/DIEB", + "DIEB/MAGIER", + "KLERIKER/DIEB", + "K""\x8E""MPFER/KLER./MAG.", + "WALDL./KLER.", + "KLER./MAGIER", + "K""\x8E""MPFER", + "MAGIER", + "KLERIKER", + "DIEB", + "PALADIN", + "WALDL." +}; + +static const StringListProvider kEoB2ChargenClassStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ChargenClassStringsDOSGerman), kEoB2ChargenClassStringsDOSGerman }; + +static const char *const kEoB2ChargenAlignmentStringsDOSGerman[9] = { + "RECHTSCH. GUT", + "NEUTRAL GUT", + "CHAOTISCH GUT", + "RECHTSCH. NEUTRAL", + "NEUTRAL", + "CHAOTISCH NEUTRAL", + "RECHTSCH. B""\x99""SE", + "NEUTRAL B""\x99""SE", + "CHAOTISCH B""\x99""SE" +}; + +static const StringListProvider kEoB2ChargenAlignmentStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ChargenAlignmentStringsDOSGerman), kEoB2ChargenAlignmentStringsDOSGerman }; + +static const char *const kEoB2ChargenEnterGameStringsDOSGerman[1] = { + " Lade Spiel.\r Bitte warten." +}; + +static const StringListProvider kEoB2ChargenEnterGameStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ChargenEnterGameStringsDOSGerman), kEoB2ChargenEnterGameStringsDOSGerman }; + +static const char *const kEoB2PryDoorStringsDOSGerman[9] = { + "\r", + "Ihr k""\x94""nnt die T""\x81""r nicht aufbrechen.\r", + "\x06\x04""Ihr brecht die T""\x81""r auf.\r", + "\x06\x06""Ihr versucht vergeblich die T""\x81""r gewaltsam zu\r""\x94""ffnen.\r", + "Das kann man hier nicht ablegen.\r", + "Das passt hier nicht.\r", + "Niemand kann die T""\x81""r aufbrechen.\r", + "\r", + "\r" +}; + +static const StringListProvider kEoB2PryDoorStringsDOSGermanProvider = { ARRAYSIZE(kEoB2PryDoorStringsDOSGerman), kEoB2PryDoorStringsDOSGerman }; + +static const char *const kEoB2WarningStringsDOSGerman[4] = { + "Da geht's nicht lang.\r", + "%s kann nichts zu sich nehmen!\r", + "Das Zeug ist vergammelt! Das will doch kein Mensch essen.\r", + "Euch bekommt nur richtige Nahrung!\r" +}; + +static const StringListProvider kEoB2WarningStringsDOSGermanProvider = { ARRAYSIZE(kEoB2WarningStringsDOSGerman), kEoB2WarningStringsDOSGerman }; + +static const char *const kEoB2ItemSuffixStringsRingsDOSGerman[4] = { + "s Schmuckes", + "r Zauberei", + "r Nahrung", + "s Federfalls" +}; + +static const StringListProvider kEoB2ItemSuffixStringsRingsDOSGermanProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsRingsDOSGerman), kEoB2ItemSuffixStringsRingsDOSGerman }; + +static const char *const kEoB2ItemSuffixStringsPotionsDOSGerman[8] = { + "r Riesenkraft", + "r Heilung", + "r Extra Heilung", + "s Giftes", + "r Lebenskraft", + "r Geschwindigkeit", + "r Unsichtbarkeit", + "r Entgiftung" +}; + +static const StringListProvider kEoB2ItemSuffixStringsPotionsDOSGermanProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsPotionsDOSGerman), kEoB2ItemSuffixStringsPotionsDOSGerman }; + +static const char *const kEoB2ItemSuffixStringsWandsDOSGerman[8] = { + "r L""\x84""hmung", + "s Gewitters", + "r K""\x84""lte", + "r Heilung", + "s Feurballs", + "Sternenfeuer", + "r Magischen Geschosse", + "r gebannten Magie" +}; + +static const StringListProvider kEoB2ItemSuffixStringsWandsDOSGermanProvider = { ARRAYSIZE(kEoB2ItemSuffixStringsWandsDOSGerman), kEoB2ItemSuffixStringsWandsDOSGerman }; + +static const char *const kEoB2RipItemStringsDOSGerman[4] = { + "%s verlor: ", + "%s verlor: ", + ".\r", + "%d %s (verflucht) " +}; + +static const StringListProvider kEoB2RipItemStringsDOSGermanProvider = { ARRAYSIZE(kEoB2RipItemStringsDOSGerman), kEoB2RipItemStringsDOSGerman }; + +static const char *const kEoB2CursedStringDOSGerman[1] = { + "%d %s (verflucht) " +}; + +static const StringListProvider kEoB2CursedStringDOSGermanProvider = { ARRAYSIZE(kEoB2CursedStringDOSGerman), kEoB2CursedStringDOSGerman }; + +static const char *const kEoB2MagicObjectStringsDOSGerman[5] = { + "Magierrolle", + "Klerikerrolle", + "Ring", + "Trank", + "Stab" +}; + +static const StringListProvider kEoB2MagicObjectStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MagicObjectStringsDOSGerman), kEoB2MagicObjectStringsDOSGerman }; + +static const char *const kEoB2MagicObjectString5DOSGerman[1] = { + "Zepter" +}; + +static const StringListProvider kEoB2MagicObjectString5DOSGermanProvider = { ARRAYSIZE(kEoB2MagicObjectString5DOSGerman), kEoB2MagicObjectString5DOSGerman }; + +static const char *const kEoB2PatternSuffixDOSGerman[1] = { + "%s de%s" +}; + +static const StringListProvider kEoB2PatternSuffixDOSGermanProvider = { ARRAYSIZE(kEoB2PatternSuffixDOSGerman), kEoB2PatternSuffixDOSGerman }; + +static const char *const kEoB2PatternGrFix1DOSGerman[1] = { + "%s: %s" +}; + +static const StringListProvider kEoB2PatternGrFix1DOSGermanProvider = { ARRAYSIZE(kEoB2PatternGrFix1DOSGerman), kEoB2PatternGrFix1DOSGerman }; + +static const char *const kEoB2PatternGrFix2DOSGerman[1] = { + "%s %s" +}; + +static const StringListProvider kEoB2PatternGrFix2DOSGermanProvider = { ARRAYSIZE(kEoB2PatternGrFix2DOSGerman), kEoB2PatternGrFix2DOSGerman }; + +static const char *const kEoB2ValidateArmorStringDOSGerman[1] = { + "%s kann diese R""\x81""stungsart nicht tragen.\r" +}; + +static const StringListProvider kEoB2ValidateArmorStringDOSGermanProvider = { ARRAYSIZE(kEoB2ValidateArmorStringDOSGerman), kEoB2ValidateArmorStringDOSGerman }; + +static const char *const kEoB2ValidateCursedStringDOSGerman[1] = { + "%s kann die Waffe nicht loslassen! Sie ist verflucht!\r" +}; + +static const StringListProvider kEoB2ValidateCursedStringDOSGermanProvider = { ARRAYSIZE(kEoB2ValidateCursedStringDOSGerman), kEoB2ValidateCursedStringDOSGerman }; + +static const char *const kEoB2ValidateNoDropStringDOSGerman[1] = { + "Diesen Gegenstand hier nicht ablegen.\r" +}; + +static const StringListProvider kEoB2ValidateNoDropStringDOSGermanProvider = { ARRAYSIZE(kEoB2ValidateNoDropStringDOSGerman), kEoB2ValidateNoDropStringDOSGerman }; + +static const char *const kEoB2PotionStringsDOSGerman[2] = { + "vergiftet", + "%s f""\x81""hlt sich %s!\r" +}; + +static const StringListProvider kEoB2PotionStringsDOSGermanProvider = { ARRAYSIZE(kEoB2PotionStringsDOSGerman), kEoB2PotionStringsDOSGerman }; + +static const char *const kEoB2WandStringsDOSGerman[1] = { + "Der Stab hat offenbar keinen magischen Effekt\r" +}; + +static const StringListProvider kEoB2WandStringsDOSGermanProvider = { ARRAYSIZE(kEoB2WandStringsDOSGerman), kEoB2WandStringsDOSGerman }; + +static const char *const kEoB2ItemMisuseStringsDOSGerman[3] = { + " kann diesen Gegenstand nicht nutzen.\r", + "Der Gegenstand wird automatisch beim tragen benutzt.\r", + "Das kann man so nicht benutzen.\r" +}; + +static const StringListProvider kEoB2ItemMisuseStringsDOSGermanProvider = { ARRAYSIZE(kEoB2ItemMisuseStringsDOSGerman), kEoB2ItemMisuseStringsDOSGerman }; + +static const char *const kEoB2TakenStringsDOSGerman[1] = { + " aufgenommen.\r" +}; + +static const StringListProvider kEoB2TakenStringsDOSGermanProvider = { ARRAYSIZE(kEoB2TakenStringsDOSGerman), kEoB2TakenStringsDOSGerman }; + +static const char *const kEoB2PotionEffectStringsDOSGerman[8] = { + "viel st""\x84""rker", + "besser", + "viel besser", + "etwas krank", + "pappsatt", + "schnell und agil", + "transparent", + "besser" +}; + +static const StringListProvider kEoB2PotionEffectStringsDOSGermanProvider = { ARRAYSIZE(kEoB2PotionEffectStringsDOSGerman), kEoB2PotionEffectStringsDOSGerman }; + +static const char *const kEoB2YesNoStringsDOSGerman[2] = { + "ja", + "nein" +}; + +static const StringListProvider kEoB2YesNoStringsDOSGermanProvider = { ARRAYSIZE(kEoB2YesNoStringsDOSGerman), kEoB2YesNoStringsDOSGerman }; + +static const char *const kEoB2MoreStringsDOSGerman[1] = { + "MEHR" +}; + +static const StringListProvider kEoB2MoreStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MoreStringsDOSGerman), kEoB2MoreStringsDOSGerman }; + +static const char *const kEoB2NpcMaxStringsDOSGerman[1] = { + "Maximal sechs Charaktere pro Party. Wen wollt Ihr entlassen?" +}; + +static const StringListProvider kEoB2NpcMaxStringsDOSGermanProvider = { ARRAYSIZE(kEoB2NpcMaxStringsDOSGerman), kEoB2NpcMaxStringsDOSGerman }; + +static const char *const kEoB2OkStringsDOSGerman[1] = { + "OK" +}; + +static const StringListProvider kEoB2OkStringsDOSGermanProvider = { ARRAYSIZE(kEoB2OkStringsDOSGerman), kEoB2OkStringsDOSGerman }; + +static const char *const kEoB2NpcJoinStringsDOSGerman[1] = { + "%s wird partymitglied.\r" +}; + +static const StringListProvider kEoB2NpcJoinStringsDOSGermanProvider = { ARRAYSIZE(kEoB2NpcJoinStringsDOSGerman), kEoB2NpcJoinStringsDOSGerman }; + +static const char *const kEoB2CancelStringsDOSGerman[1] = { + "ABBR." +}; + +static const StringListProvider kEoB2CancelStringsDOSGermanProvider = { ARRAYSIZE(kEoB2CancelStringsDOSGerman), kEoB2CancelStringsDOSGerman }; + +static const char *const kEoB2AbortStringsDOSGerman[1] = { + "ABBR." +}; + +static const StringListProvider kEoB2AbortStringsDOSGermanProvider = { ARRAYSIZE(kEoB2AbortStringsDOSGerman), kEoB2AbortStringsDOSGerman }; + +static const char *const kEoB2MenuStringsMainDOSGerman[8] = { + "W""\x84""hle Option:", + "Rasten", + "Spr""\x81""che merken", + "Um Spr""\x81""che beten", + "Rollen notieren", + "Voreinstellungen", + "Spieloptionen", + "Ende" +}; + +static const StringListProvider kEoB2MenuStringsMainDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsMainDOSGerman), kEoB2MenuStringsMainDOSGerman }; + +static const char *const kEoB2MenuStringsSaveLoadDOSGerman[8] = { + "Spiel laden", + "Spiel speichern", + "Charakter entl.", + "Beenden", + "Spieloptionen:", + "\r Gespeichert.", + "Speicherversuch\rfehlgeschlagen!", + "Ladeversuch\rfehlgeschlagen.\rEvtl. Disk-Error!" +}; + +static const StringListProvider kEoB2MenuStringsSaveLoadDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsSaveLoadDOSGerman), kEoB2MenuStringsSaveLoadDOSGerman }; + +static const char *const kEoB2MenuStringsOnOffDOSGerman[2] = { + "AN", + "AUS" +}; + +static const StringListProvider kEoB2MenuStringsOnOffDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsOnOffDOSGerman), kEoB2MenuStringsOnOffDOSGerman }; + +static const char *const kEoB2MenuStringsSpellsDOSGerman[17] = { + "\r\r W""\x84""hlt einen Charak-\r ter aus der Party,\r der Spr""\x81""che lernen\r soll.", + "\r Der Paladin ist\r eine Stufe zu nied-\r rig zum zaubern.", + "\r\r Der Magier hat\r kein Spruchbuch!", + "\r\r\r W""\x84""hlt einen Charak-\r ter aus der Party,\r der f""\x81""r Spr""\x81""che\r beten will.", + "\r Niemand in der\r Party ist in der\r Lage, f""\x81""r Spr""\x81""che\r zu beten.", + "\r Niemand in der\r Party ist in der\r Lage, sich Spr""\x81""che\r zu merken.", + " Jemand der bewu""\xE1""t-\r los oder tot ist\r kann keine Spr""\x81""che\r merken.", + " Jemand der bewu""\xE1""t-\r los oder tot ist\r kann nicht um\r Spr""\x81""che beten.", + "1", + "2", + "3", + "4", + "5", + "Neu", + "Verf""\x81""gbare Zauber:", + "Ja", + "Nein" +}; + +static const StringListProvider kEoB2MenuStringsSpellsDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsSpellsDOSGerman), kEoB2MenuStringsSpellsDOSGerman }; + +static const char *const kEoB2MenuStringsRestDOSGerman[5] = { + "\rWerden eure Heiler\rdie Party heilen?", + " Jemand ist noch\r verletzt. Weiter-\r rasten ?", + "Die Party rastet.", + "\r Alle Spieler\r sind voll\r ausgeruht.", + " Eure Party braucht\r Rast, um Spr""\x81""che\r zu erhalten." +}; + +static const StringListProvider kEoB2MenuStringsRestDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsRestDOSGerman), kEoB2MenuStringsRestDOSGerman }; + +static const char *const kEoB2MenuStringsDropDOSGerman[1] = { + " Weniger als vier\r Charaktere sind\r nicht erlaubt." +}; + +static const StringListProvider kEoB2MenuStringsDropDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsDropDOSGerman), kEoB2MenuStringsDropDOSGerman }; + +static const char *const kEoB2MenuStringsExitDOSGerman[1] = { + " Ganz bestimmt\r das Spiel\r abbrechen?" +}; + +static const StringListProvider kEoB2MenuStringsExitDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsExitDOSGerman), kEoB2MenuStringsExitDOSGerman }; + +static const char *const kEoB2MenuStringsStarveDOSGerman[1] = { + " Eure Party hungert.\r Wollt Ihr weiter\r rasten?" +}; + +static const StringListProvider kEoB2MenuStringsStarveDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsStarveDOSGerman), kEoB2MenuStringsStarveDOSGerman }; + +static const char *const kEoB2MenuStringsScribeDOSGerman[5] = { + "W""\x84""hlt die Rolle(n)\rzum notieren.", + "\r\r\r W""\x84""hlt den Magier\r aus der Party,\r der Spr""\x81""che\r notieren m""\x94""chte.", + " Ihr habt keine\r ""\x81""bertragbaren\r Schriftrollen.", + " Ihr habt keine\r Rolle, die dieser\r Magier braucht.", + "\r Ihr habt keinen\r Magier, der Rollen\r ""\x81""bertragen kann." +}; + +static const StringListProvider kEoB2MenuStringsScribeDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsScribeDOSGerman), kEoB2MenuStringsScribeDOSGerman }; + +static const char *const kEoB2MenuStringsDrop2DOSGerman[3] = { + " W""\x84""hlt den Charak-\r ter, den Ihr\r entfernen m""\x94""chtet.", + " Spielst""\x84""nde m""\x81""ssen\r einen Namen haben!", + " Ganz sicher den\r alten Spielstand\r ""\x81""berschreiben?" +}; + +static const StringListProvider kEoB2MenuStringsDrop2DOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsDrop2DOSGerman), kEoB2MenuStringsDrop2DOSGerman }; + +static const char *const kEoB2MenuStringsHeadDOSGerman[3] = { + "Rast:", + "Voreinstellung:", + "Spieloptionen:" +}; + +static const StringListProvider kEoB2MenuStringsHeadDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsHeadDOSGerman), kEoB2MenuStringsHeadDOSGerman }; + +static const char *const kEoB2MenuStringsPoisonDOSGerman[1] = { + "Vergiftete Spieler\rk""\x94""nnten sterben!\rTrotzdem rasten?" +}; + +static const StringListProvider kEoB2MenuStringsPoisonDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsPoisonDOSGerman), kEoB2MenuStringsPoisonDOSGerman }; + +static const char *const kEoB2MenuStringsMgcDOSGerman[2] = { + "%-18s %1d", + "%d von %d verf""\x81""gbar. " +}; + +static const StringListProvider kEoB2MenuStringsMgcDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsMgcDOSGerman), kEoB2MenuStringsMgcDOSGerman }; + +static const char *const kEoB2MenuStringsPrefsDOSGerman[4] = { + "Musik ist %-3s", + "FX sind %-3s", + "Balkengrafik: %-3s", + "Maus ist %-3s" +}; + +static const StringListProvider kEoB2MenuStringsPrefsDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsPrefsDOSGerman), kEoB2MenuStringsPrefsDOSGerman }; + +static const char *const kEoB2MenuStringsRest2DOSGerman[5] = { + "%s erhielt %s.\r", + "%s merkt sich %s.\r", + "%s heilt %s.\r", + "Raststunden: %-4d ", + "\r%s\r" +}; + +static const StringListProvider kEoB2MenuStringsRest2DOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsRest2DOSGerman), kEoB2MenuStringsRest2DOSGerman }; + +static const char *const kEoB2MenuStringsRest3DOSGerman[1] = { + "\x06\x06""Es ist zu gef""\x84""hrlich hier zu rasten." +}; + +static const StringListProvider kEoB2MenuStringsRest3DOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsRest3DOSGerman), kEoB2MenuStringsRest3DOSGerman }; + +static const char *const kEoB2MenuStringsRest4DOSGerman[1] = { + "\x06\x06""In der N""\x84""he von Monstern k""\x94""nnt Ihr nicht rasten." +}; + +static const StringListProvider kEoB2MenuStringsRest4DOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsRest4DOSGerman), kEoB2MenuStringsRest4DOSGerman }; + +static const char *const kEoB2MenuStringsDefeatDOSGerman[1] = { + "\rDie gesamte Party\rwurde besiegt!\rEinen alten Spiel-\rstand laden?" +}; + +static const StringListProvider kEoB2MenuStringsDefeatDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsDefeatDOSGerman), kEoB2MenuStringsDefeatDOSGerman }; + +static const char *const kEoB2MenuStringsTransferDOSGerman[5] = { + "Mindestens vier\rSpieler vor Spiel-\rbeginn transferieren!", + "Nur vier Spieler\rtransferieren!", + "Bestimmte Habselig-\rkeiten werden\rgel""\x94""scht.", + " \r Kein Magier in\r der Party.", + " \r Kein Kleriker\r oder Paladin\r in der Party." +}; + +static const StringListProvider kEoB2MenuStringsTransferDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsTransferDOSGerman), kEoB2MenuStringsTransferDOSGerman }; + +static const char *const kEoB2MenuStringsSpecDOSGerman[2] = { + "Beim Aufwachen bem-\rerkt Ihr die Ab-\rwesenheit von Insal!", + "Eine kurzer Blick\rzeigt, das Ausr""\x81""st-\rung gestohlen wurde!" +}; + +static const StringListProvider kEoB2MenuStringsSpecDOSGermanProvider = { ARRAYSIZE(kEoB2MenuStringsSpecDOSGerman), kEoB2MenuStringsSpecDOSGerman }; + +static const char *const kEoB2MenuYesNoStringsDOSGerman[2] = { + "Ja", + "Nein" +}; + +static const StringListProvider kEoB2MenuYesNoStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MenuYesNoStringsDOSGerman), kEoB2MenuYesNoStringsDOSGerman }; + +static const char *const kEoB2CharGuiStringsHpDOSGerman[2] = { + "TP", + "%3d / %-3d" +}; + +static const StringListProvider kEoB2CharGuiStringsHpDOSGermanProvider = { ARRAYSIZE(kEoB2CharGuiStringsHpDOSGerman), kEoB2CharGuiStringsHpDOSGerman }; + +static const char *const kEoB2CharGuiStringsWp2DOSGerman[3] = { + "WUSCH", + "HACK", + "FATZ" +}; + +static const StringListProvider kEoB2CharGuiStringsWp2DOSGermanProvider = { ARRAYSIZE(kEoB2CharGuiStringsWp2DOSGerman), kEoB2CharGuiStringsWp2DOSGerman }; + +static const char *const kEoB2CharGuiStringsWrDOSGerman[4] = { + "ZU", + "WEIT", + "OHNE", + "MUN" +}; + +static const StringListProvider kEoB2CharGuiStringsWrDOSGermanProvider = { ARRAYSIZE(kEoB2CharGuiStringsWrDOSGerman), kEoB2CharGuiStringsWrDOSGerman }; + +static const char *const kEoB2CharGuiStringsSt2DOSGerman[7] = { + "TAUSCHE", + "TOT", + "BEWUSSTLOS", + "GIFT (LANGSAM)", + "VERGIFTET", + "BET""\x8E""UBT", + "AUS STEIN" +}; + +static const StringListProvider kEoB2CharGuiStringsSt2DOSGermanProvider = { ARRAYSIZE(kEoB2CharGuiStringsSt2DOSGerman), kEoB2CharGuiStringsSt2DOSGerman }; + +static const char *const kEoB2CharGuiStringsInDOSGerman[4] = { + "CHARAKTER INFO", + "R""\x9A""STUNGSKL.", + "ERF", + "STF" +}; + +static const StringListProvider kEoB2CharGuiStringsInDOSGermanProvider = { ARRAYSIZE(kEoB2CharGuiStringsInDOSGerman), kEoB2CharGuiStringsInDOSGerman }; + +static const char *const kEoB2CharStatusStrings7DOSGerman[1] = { + "%s hat nicht l""\x84""nger riesenkr""\x84""fte.\r" +}; + +static const StringListProvider kEoB2CharStatusStrings7DOSGermanProvider = { ARRAYSIZE(kEoB2CharStatusStrings7DOSGerman), kEoB2CharStatusStrings7DOSGerman }; + +static const char *const kEoB2CharStatusStrings82DOSGerman[1] = { + "\x06\x06""%s f""\x81""hlt Gift in sich!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings82DOSGermanProvider = { ARRAYSIZE(kEoB2CharStatusStrings82DOSGerman), kEoB2CharStatusStrings82DOSGerman }; + +static const char *const kEoB2CharStatusStrings9DOSGerman[1] = { + "%s ist nicht l""\x84""nger bet""\x84""ubt!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings9DOSGermanProvider = { ARRAYSIZE(kEoB2CharStatusStrings9DOSGerman), kEoB2CharStatusStrings9DOSGerman }; + +static const char *const kEoB2CharStatusStrings12DOSGerman[1] = { + "%s wird langsamer.\r" +}; + +static const StringListProvider kEoB2CharStatusStrings12DOSGermanProvider = { ARRAYSIZE(kEoB2CharStatusStrings12DOSGerman), kEoB2CharStatusStrings12DOSGerman }; + +static const char *const kEoB2CharStatusStrings132DOSGerman[1] = { + "\x06\x06""%s %s!\r" +}; + +static const StringListProvider kEoB2CharStatusStrings132DOSGermanProvider = { ARRAYSIZE(kEoB2CharStatusStrings132DOSGerman), kEoB2CharStatusStrings132DOSGerman }; + +static const char *const kEoB2LevelGainStringsDOSGerman[1] = { + "\x06\x01""%s steigt eine Stufe auf.""\x06\x0F""\r" +}; + +static const StringListProvider kEoB2LevelGainStringsDOSGermanProvider = { ARRAYSIZE(kEoB2LevelGainStringsDOSGerman), kEoB2LevelGainStringsDOSGerman }; + +static const char *const kEoB2BookNumbersDOSGerman[5] = { + "Erste", + "Zweite", + "Dritte", + "Vierte", + "F""\x81""nfte" +}; + +static const StringListProvider kEoB2BookNumbersDOSGermanProvider = { ARRAYSIZE(kEoB2BookNumbersDOSGerman), kEoB2BookNumbersDOSGerman }; + +static const char *const kEoB2MageSpellsListDOSGerman[33] = { + "", + "Panzer", + "Brennende H""\x84""nde", + "Magie entdecken", + "Magisch. Geschoss", + "Schild", + "Schockgriff", + "Verschwimmen", + "Unsichtb. entd.", + "Identifizieren+", + "Unsichtbarkeit", + "M's S""\x84""urepfeil", + "Magie bannen", + "Feuerball", + "Hast", + "Person halten", + "Unsichtb. 3m", + "Blitzstrahl", + "Vampirgriff", + "Furcht", + "Eissturm", + "Unsichtbarkeit+", + "Fluch brechen", + "K""\x84""ltekegel", + "Monster halten", + "Kraftfeld", + "Aufl""\x94""sung", + "Fleisch zu Stein", + "Stein zu Fleisch", + "Wahrer Blick", + "Todesfinger", + "Wort:Bet""\x84""ubung", + "Bigbys Faust" +}; + +static const StringListProvider kEoB2MageSpellsListDOSGermanProvider = { ARRAYSIZE(kEoB2MageSpellsListDOSGerman), kEoB2MageSpellsListDOSGerman }; + +static const char *const kEoB2ClericSpellsListDOSGerman[30] = { + "", + "Segen", + "Leicht verwunden", + "L. Wunden heilen", + "Magie entdecken", + "Schutz v. B""\x94""sem", + "St""\x84""rkung", + "Flammenklinge", + "Person halten", + "Gift verlangs.", + "Nahr. erschaffen", + "Magie bannen", + "Schutzgewand", + "Gebet", + "L""\x84""hmung aufheben", + "Schwer verwunden", + "S. Wunden heilen", + "Gift neutr.", + "Schutz-B""\x94""ses 3m", + "Kritisch verw.", + "K. Wunden heilen", + "Flammenschlag", + "Tote erwecken", + "Schneller Tod", + "Wahrer Blick", + "Leid", + "Heilung", + "Auferstehung", + "Handauflegen", + "Untote abwenden" +}; + +static const StringListProvider kEoB2ClericSpellsListDOSGermanProvider = { ARRAYSIZE(kEoB2ClericSpellsListDOSGerman), kEoB2ClericSpellsListDOSGerman }; + +static const char *const kEoB2SpellNamesDOSGerman[68] = { + "panzer", + "brennende H""\x84""nde", + "magie entdecken", + "magisches Geschoss", + "schild", + "schockgriff", + "verschwimmen", + "unsichtbares entdecken", + "verbessertes identifizieren", + "unsichtbarkeit", + "melfs S""\x84""urepfeil", + "magie bannen", + "feuerball", + "hast", + "person halten", + "unsichtbarkeit 3m", + "blitzschlag", + "vampirgriff", + "furcht", + "eissturm", + "verbesserte Unsichtbarkeit", + "fluch brechen", + "k""\x84""ltekegel", + "monster halten", + "kraftfeld", + "aufl""\x94""sung", + "fleisch zu stein", + "stein zu fleisch", + "wahrer Blick", + "Todesfinger", + "wort der Macht: Bet""\x84""ubung", + "bigbys geballte Faust", + "segen", + "leichte Wunden verursachen", + "leichte Wunden heilen", + "magie entdecken", + "schutz vor B""\x94""sem", + "st""\x84""rkung", + "flammenklinge", + "person halten", + "gift verlangsamen", + "nahrung erschaffen", + "magie bannen", + "schutzgewand", + "gebet", + "l""\x84""hmung aufheben", + "schwere wunden verursachen", + "schwere wunden heilen", + "gift neutralisieren", + "schutz vor b""\x94""sem 3m", + "kritische wunden verursachen", + "kritische wunden heilen", + "flammenschlag", + "tote erwecken", + "schneller tot", + "wahrer blick", + "leid", + "heilung", + "auferstehung", + "hand auflegen", + "untote abwenden", + "", + "mystische abwehr", + "", + "", + "", + "", + "" +}; + +static const StringListProvider kEoB2SpellNamesDOSGermanProvider = { ARRAYSIZE(kEoB2SpellNamesDOSGerman), kEoB2SpellNamesDOSGerman }; + +static const char *const kEoB2MagicStrings1DOSGerman[6] = { + "ABBRECHEN", + "ABBRECHEN", + "Man braucht eine freie hand f""\x81""r diesen zauber.\r", + "Von diesen Zaubern kann man nur einen aktivieren.\r", + "%s zaubert %s.\r", + "\rok\r" +}; + +static const StringListProvider kEoB2MagicStrings1DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings1DOSGerman), kEoB2MagicStrings1DOSGerman }; + +static const char *const kEoB2MagicStrings2DOSGerman[5] = { + "Der Zauber versagt!\r", + "%s wurde aufgel""\x94""st!\r", + "\x06\x06""Die Party wurde von einem Todeszauber getroffen!\r", + "\x06\x06""%s wurde von einem schwer verwunden Zauber getroffen.\r", + "AUS STEIN" +}; + +static const StringListProvider kEoB2MagicStrings2DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings2DOSGerman), kEoB2MagicStrings2DOSGerman }; + +static const char *const kEoB2MagicStrings3DOSGerman[5] = { + "Wen verzaubern? ", + "\rSpruch abgebrochen.\r", + "%s's %s Zauber l""\x84""sst nach.\r", + "%s verfehlt das Monster.\r", + "%s muss vorn stehen um zu treffen!\r" +}; + +static const StringListProvider kEoB2MagicStrings3DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings3DOSGerman), kEoB2MagicStrings3DOSGerman }; + +static const char *const kEoB2MagicStrings4DOSGerman[1] = { + "keine Wirkung.\r" +}; + +static const StringListProvider kEoB2MagicStrings4DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings4DOSGerman), kEoB2MagicStrings4DOSGerman }; + +static const char *const kEoB2MagicStrings6DOSGerman[1] = { + "%s hat schon eine R""\x81""stunksklasse ""\x81""ber 6." +}; + +static const StringListProvider kEoB2MagicStrings6DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings6DOSGerman), kEoB2MagicStrings6DOSGerman }; + +static const char *const kEoB2MagicStrings7DOSGerman[2] = { + "%s steht schon unter dem effekt eines %s spruches.\r", + "Die Party steht schon unter dem effekt eines %s spruches.\r" +}; + +static const StringListProvider kEoB2MagicStrings7DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings7DOSGerman), kEoB2MagicStrings7DOSGerman }; + +static const char *const kEoB2MagicStrings8DOSGerman[6] = { + "Der Zauber versagt!\r", + "ist gel""\x84""hmt", + "Der Zauber versagt!\r", + "Der Zauber versagt\r", + "Kein Monster in Reichweite!\r", + "%s steht bereits unter einem St""\x84""rkungszauber.\r" +}; + +static const StringListProvider kEoB2MagicStrings8DOSGermanProvider = { ARRAYSIZE(kEoB2MagicStrings8DOSGerman), kEoB2MagicStrings8DOSGerman }; + +static const byte kEoB2ManDefDOSGerman[200] = { + 0x09, 0x01, 0x03, 0x00, 0x09, 0x01, 0x06, 0x00, + 0x09, 0x02, 0x07, 0x00, 0x14, 0x01, 0x01, 0x00, + 0x14, 0x02, 0x01, 0x00, 0x14, 0x04, 0x02, 0x00, + 0x1A, 0x01, 0x03, 0x00, 0x1A, 0x02, 0x02, 0x00, + 0x1A, 0x07, 0x04, 0x00, 0x15, 0x01, 0x02, 0x00, + 0x15, 0x01, 0x05, 0x00, 0x15, 0x02, 0x01, 0x00, + 0x15, 0x03, 0x04, 0x00, 0x15, 0x04, 0x01, 0x00, + 0x15, 0x05, 0x05, 0x00, 0x23, 0x01, 0x02, 0x00, + 0x23, 0x01, 0x05, 0x00, 0x23, 0x02, 0x03, 0x00, + 0x23, 0x03, 0x01, 0x00, 0x23, 0x06, 0x03, 0x00, + 0x23, 0x0A, 0x06, 0x00, 0x26, 0x01, 0x01, 0x00, + 0x26, 0x01, 0x03, 0x00, 0x26, 0x01, 0x05, 0x00, + 0x26, 0x02, 0x04, 0x00, 0x26, 0x03, 0x02, 0x00, + 0x26, 0x04, 0x01, 0x00, 0x17, 0x01, 0x02, 0x00, + 0x17, 0x01, 0x04, 0x00, 0x17, 0x01, 0x05, 0x00, + 0x17, 0x02, 0x02, 0x00, 0x17, 0x03, 0x03, 0x00, + 0x17, 0x07, 0x01, 0x00, 0x12, 0x01, 0x02, 0x00, + 0x12, 0x01, 0x07, 0x00, 0x12, 0x03, 0x01, 0x00, + 0x12, 0x04, 0x02, 0x00, 0x12, 0x05, 0x02, 0x00, + 0x12, 0x06, 0x05, 0x00, 0x12, 0x07, 0x03, 0x00, + 0x12, 0x08, 0x01, 0x00, 0x1F, 0x01, 0x05, 0x00, + 0x1F, 0x02, 0x06, 0x00, 0x1F, 0x03, 0x02, 0x00, + 0x1F, 0x03, 0x01, 0x00, 0x1F, 0x04, 0x01, 0x00, + 0x1F, 0x04, 0x03, 0x00, 0x1C, 0x01, 0x01, 0x00, + 0x1C, 0x01, 0x03, 0x00, 0x1C, 0x02, 0x01, 0x00 +}; + +static const ByteProvider kEoB2ManDefDOSGermanProvider = { ARRAYSIZE(kEoB2ManDefDOSGerman), kEoB2ManDefDOSGerman }; + +static const char *const kEoB2ManWordDOSGerman[51] = { + "teil", + "geht", + "maus", + "um", + "einer", + "kann", + "das", + "schalter", + "der", + "einem", + "gnome", + "magieresistent", + "intelligenz", + "weisheit", + "dieb", + "weiter", + "setzen", + "ein", + "magier", + "diese", + "sind", + "eines", + "wodurch", + "schwerer", + "gute", + "bonus", + "bogen", + "und", + "dadurch", + "oft", + "raubt", + "keine", + "schrift", + "waffen", + "unterteilt", + "vordersten", + "nur", + "sie", + "klassen", + "zeigt", + "gegen", + "mausknopf", + "nahrungsbalken", + "charakters", + "des", + "um", + "gegenstand", + "durch", + "spruch", + "unsichtbar", + "" +}; + +static const StringListProvider kEoB2ManWordDOSGermanProvider = { ARRAYSIZE(kEoB2ManWordDOSGerman), kEoB2ManWordDOSGerman }; + +static const char *const kEoB2ManPromptDOSGerman[1] = { + "\r\r\r\rAuf der Seite mit diesem Zeichen...\r\rSuche Zeile %d (ohne ""\x9A""berschrift)\rGib Wort %d ein\r" +}; + +static const StringListProvider kEoB2ManPromptDOSGermanProvider = { ARRAYSIZE(kEoB2ManPromptDOSGerman), kEoB2ManPromptDOSGerman }; + +static const char *const kEoB2MainMenuStringsDOSGerman[5] = { + "ALTES SPIEL LADEN\r", + "NEUE PARTY ERSTELLEN\r", + "EOB I PARTY TRANSFER\r", + "INTRO ANSEHEN\r", + "ZUR""\x9A""CK ZUM DOS\r" +}; + +static const StringListProvider kEoB2MainMenuStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MainMenuStringsDOSGerman), kEoB2MainMenuStringsDOSGerman }; + +static const char *const kEoB2TransferStrings1DOSGerman[2] = { + "Stufe: %d", + " / %d" +}; + +static const StringListProvider kEoB2TransferStrings1DOSGermanProvider = { ARRAYSIZE(kEoB2TransferStrings1DOSGerman), kEoB2TransferStrings1DOSGerman }; + +static const char *const kEoB2TransferStrings2DOSGerman[2] = { + "Dieses Abenteuer ist nur f""\x81""r vier Charaktere.", + "OK w""\x84""hlen, wenn Partyerstellung beendet." +}; + +static const StringListProvider kEoB2TransferStrings2DOSGermanProvider = { ARRAYSIZE(kEoB2TransferStrings2DOSGerman), kEoB2TransferStrings2DOSGerman }; + +static const char *const kEoB2TransferLabelsDOSGerman[2] = { + "ABBR.", + "OK" +}; + +static const StringListProvider kEoB2TransferLabelsDOSGermanProvider = { ARRAYSIZE(kEoB2TransferLabelsDOSGerman), kEoB2TransferLabelsDOSGerman }; + +static const char *const kEoB2IntroStringsDOSGerman[20] = { + "Ihr hattet euch gerade gem""\x81""tlich am \rKamin niedergelassen.", + "Da wurde euch eine Botschaft\rzugespielt.", + "Sie war von eurem Freund Khelben \rBlackstaff, dem Erzmagier der Stadt.", + "Die Mitteilung war dringend.", + "Was konnte Khelben nur wollen?", + "Willkommen, bitte tretet ein.", + "Khelben erwartet euch im Studierzimmer.", + "Danke f""\x81""r euer schnelles Kommen.", + "Meine Freunde, ich bin besorgt.", + "Uralte, b""\x94""se M""\x84""chte rumoren im \rTempel Darkmoon.", + "Ich f""\x81""rchte um die Sicherheit \runserer Stadt.", + "Ich brauche eure Hilfe...", + "Vor drei N""\x84""chten \rentsandte ich einen Kundschafter.", + "Sie kam niemals zur""\x81""ck.", + "Ich f""\x81""rchte um ihr Leben.", + "Nehmt diese M""\x81""nze.", + "Mit ihrer Hilfe werde \rich euch erreichen.", + "Ihr m""\x81\xE1""t schnell handeln.", + "Ich teleportiere euch nun in \rdie N""\x84""he von Darkmoon.", + "M""\x94""ge das Gl""\x81""ck auf eurer Seite\rsein, Freunde." +}; + +static const StringListProvider kEoB2IntroStringsDOSGermanProvider = { ARRAYSIZE(kEoB2IntroStringsDOSGerman), kEoB2IntroStringsDOSGerman }; + +static const char *const kEoB2IntroCPSFilesDOSGerman[13] = { + "STREET1.CPS", + "STREET2.CPS", + "DOORWAY1.CPS", + "DOORWAY2.CPS", + "XESTWOOD.CPS", + "WINDING.CPS", + "KHELBAN2.CPS", + "KHELBAN1.CPS", + "KHELBAN3.CPS", + "KHELBAN4.CPS", + "COIN.CPS", + "KHELBAN5.CPS", + "KHELBAN6.CPS" +}; + +static const StringListProvider kEoB2IntroCPSFilesDOSGermanProvider = { ARRAYSIZE(kEoB2IntroCPSFilesDOSGerman), kEoB2IntroCPSFilesDOSGerman }; + +static const char *const kEoB2FinaleStringsDOSGerman[20] = { + "Nun endlich wurde Dran besiegt.", + "Pl""\x94""tzlich erscheint euer Freund \rKhelben.", + "Seid gegr""\x81\xE1""t, meine siegreichen \rFreunde.", + "Ihr seid die Bezwinger von Dran!", + "Ich hatte keine Ahnung, da""\xE1"" \rDran ein Drache war.", + "Er mu""\xE1"" ""\x81""ber 300 Jahre alt \rgewesen sein!", + "Seine Macht ist vergangen.", + "Aber noch immer ist Darkmoon\reine Quelle des B""\x94""sen.", + "Und ein Teil seines Gefolges\rexistiert noch.", + "Daher m""\x81""ssen wir diesen Platz\rnun verlassen.", + "So da""\xE1"" meine Kr""\x84""fte ihn ein\r f""\x81""r allemal\rzerst""\x94""ren k""\x94""nnen.", + "Folgt mir.", + "M""\x84""chtige Magier sind bereit\rf""\x81""r den letzten Schlag\rgegen Darkmoon.", + "Das B""\x94""se im Tempel ist sehr stark.", + "Es darf keinesfalls weiter\rbestehen!", + "Der Tempel h""\x94""rt auf zu\rexistieren.", + "Unsere Arbeit ist nun getan,\rmeine Freunde.", + "Seid bedankt.", + "Ihr habt Euch meinen tiefen\rRespekt erk""\x84""mpft.", + "Wir werden Euch nie vergessen." +}; + +static const StringListProvider kEoB2FinaleStringsDOSGermanProvider = { ARRAYSIZE(kEoB2FinaleStringsDOSGerman), kEoB2FinaleStringsDOSGerman }; + +static const byte kEoB2CreditsDataDOSGerman[2833] = { + 0x02, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x10, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x03, 0x0D, 0x02, 0x04, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x06, 0x0D, 0x0D, 0x0D, 0x02, 0x01, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x44, 0x69, 0x72, 0x65, + 0x6B, 0x74, 0x6F, 0x72, 0x3A, 0x20, 0x42, 0x72, + 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, + 0x70, 0x65, 0x72, 0x72, 0x79, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x4F, + 0x72, 0x69, 0x67, 0x69, 0x6E, 0x61, 0x6C, 0x6B, + 0x6F, 0x6E, 0x7A, 0x65, 0x70, 0x74, 0x3A, 0x20, + 0x50, 0x68, 0x69, 0x6C, 0x69, 0x70, 0x20, 0x57, + 0x2E, 0x20, 0x47, 0x6F, 0x72, 0x72, 0x6F, 0x77, + 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, + 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x70, 0x69, + 0x65, 0x6C, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6E, + 0x3A, 0x20, 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, + 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, + 0x79, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, + 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, + 0x74, 0x6F, 0x6B, 0x65, 0x73, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x72, 0x6F, + 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x69, 0x65, 0x72, + 0x65, 0x72, 0x3A, 0x20, 0x50, 0x68, 0x69, 0x6C, + 0x69, 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, + 0x72, 0x72, 0x6F, 0x77, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x4C, 0x65, + 0x76, 0x65, 0x6C, 0x70, 0x72, 0x6F, 0x67, 0x72, + 0x61, 0x6D, 0x6D, 0x65, 0x3A, 0x20, 0x42, 0x69, + 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, 0x6B, 0x65, + 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x09, 0x20, + 0x41, 0x6D, 0x69, 0x67, 0x61, 0x20, 0x50, 0x72, + 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x3A, 0x20, + 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, + 0x6B, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x49, 0x6E, + 0x74, 0x72, 0x6F, 0x20, 0x26, 0x20, 0x46, 0x69, + 0x6E, 0x61, 0x6C, 0x65, 0x20, 0x76, 0x6F, 0x6E, + 0x3A, 0x20, 0x4A, 0x6F, 0x65, 0x20, 0x42, 0x6F, + 0x73, 0x74, 0x69, 0x63, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, + 0x74, 0x20, 0x26, 0x20, 0x47, 0x72, 0x61, 0x66, + 0x69, 0x6B, 0x3A, 0x20, 0x52, 0x69, 0x63, 0x6B, + 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x41, 0x61, 0x72, 0x6F, + 0x6E, 0x20, 0x50, 0x6F, 0x77, 0x65, 0x6C, 0x6C, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x6F, 0x73, 0x65, + 0x70, 0x68, 0x20, 0x48, 0x65, 0x77, 0x69, 0x74, + 0x74, 0x20, 0x49, 0x56, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6E, 0x20, + 0x4F, 0x6C, 0x73, 0x65, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4C, 0x6F, 0x75, 0x69, + 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, 0x64, 0x6F, + 0x76, 0x61, 0x6C, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4A, 0x75, 0x64, 0x69, + 0x74, 0x68, 0x20, 0x50, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4D, + 0x75, 0x73, 0x69, 0x6B, 0x3A, 0x20, 0x46, 0x72, + 0x61, 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, + 0x61, 0x63, 0x6B, 0x69, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x65, + 0x66, 0x66, 0x65, 0x6B, 0x74, 0x65, 0x3A, 0x20, + 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, 0x20, + 0x4D, 0x75, 0x64, 0x72, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x44, 0x77, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x41, 0x75, 0x74, 0x6F, 0x72, + 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x63, 0x20, 0x43, + 0x72, 0x61, 0x6D, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, + 0x20, 0x20, 0x51, 0x75, 0x61, 0x6C, 0x69, 0x74, + 0x84, 0x74, 0x73, 0x70, 0x72, 0x81, 0x66, 0x75, + 0x6E, 0x67, 0x3A, 0x20, 0x47, 0x6C, 0x65, 0x6E, + 0x6E, 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6C, 0x20, 0x54, 0x68, 0x61, 0x6E, + 0x6B, 0x73, 0x0D, 0x0D, 0x0D, 0x43, 0x68, 0x75, + 0x63, 0x6B, 0x20, 0x4B, 0x72, 0x6F, 0x65, 0x67, + 0x65, 0x6C, 0x0D, 0x0D, 0x58, 0x61, 0x6E, 0x61, + 0x74, 0x68, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x42, 0x65, 0x68, 0x6F, 0x6C, 0x64, 0x65, + 0x72, 0x0D, 0x0D, 0x75, 0x6E, 0x64, 0x0D, 0x0D, + 0x4D, 0x69, 0x6B, 0x65, 0x27, 0x73, 0x20, 0x63, + 0x61, 0x74, 0x2C, 0x20, 0x53, 0x70, 0x61, 0x72, + 0x6B, 0x79, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0D, 0x0D, + 0x02, 0x02, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x50, 0x72, 0x6F, 0x64, 0x75, + 0x63, 0x65, 0x72, 0x3A, 0x20, 0x44, 0x61, 0x6E, + 0x20, 0x43, 0x65, 0x72, 0x6D, 0x61, 0x6B, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, + 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x65, 0x6F, + 0x72, 0x67, 0x65, 0x20, 0x4D, 0x61, 0x63, 0x44, + 0x6F, 0x6E, 0x61, 0x6C, 0x64, 0x20, 0x20, 0x0D, + 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x53, 0x70, 0x69, + 0x65, 0x6C, 0x65, 0x6E, 0x74, 0x77, 0x69, 0x63, + 0x6B, 0x6C, 0x75, 0x6E, 0x67, 0x3A, 0x20, 0x4E, + 0x69, 0x63, 0x68, 0x6F, 0x6C, 0x61, 0x73, 0x20, + 0x42, 0x65, 0x6C, 0x69, 0x61, 0x65, 0x66, 0x66, + 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, + 0x61, 0x76, 0x69, 0x64, 0x20, 0x41, 0x2E, 0x20, + 0x4C, 0x75, 0x63, 0x63, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x53, 0x70, 0x69, 0x65, 0x6C, + 0x65, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x3A, + 0x20, 0x50, 0x68, 0x69, 0x6C, 0x20, 0x41, 0x6C, + 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x4A, 0x6F, 0x68, 0x6E, 0x20, 0x42, 0x6F, + 0x6F, 0x63, 0x6B, 0x68, 0x6F, 0x6C, 0x64, 0x74, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x47, 0x6C, 0x65, 0x6E, 0x20, 0x43, 0x75, + 0x72, 0x65, 0x74, 0x6F, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x20, 0x48, 0x61, + 0x6C, 0x6C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x42, 0x72, 0x69, 0x61, 0x6E, 0x20, 0x4C, + 0x6F, 0x77, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x52, 0x6F, 0x62, 0x65, 0x72, 0x74, 0x20, + 0x4C, 0x75, 0x70, 0x6F, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x41, 0x6C, 0x61, 0x6E, 0x20, 0x4D, 0x61, + 0x72, 0x65, 0x6E, 0x63, 0x6F, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x4A, 0x61, 0x73, 0x6F, 0x6E, 0x20, 0x52, + 0x61, 0x79, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x4A, 0x65, 0x66, 0x66, 0x20, 0x53, 0x68, + 0x6F, 0x74, 0x77, 0x65, 0x6C, 0x6C, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x41, 0x6E, 0x64, 0x72, 0x65, 0x20, 0x56, + 0x72, 0x69, 0x67, 0x6E, 0x61, 0x75, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x43, 0x68, 0x72, 0x69, 0x73, 0x20, 0x57, + 0x61, 0x72, 0x73, 0x68, 0x61, 0x75, 0x65, 0x72, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x6E, 0x64, 0x20, 0x54, 0x53, 0x43, + 0x53, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x73, + 0x74, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6F, 0x72, + 0x74, 0x3A, 0x20, 0x4B, 0x79, 0x6D, 0x20, 0x47, + 0x6F, 0x79, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x20, 0x20, 0x44, + 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x65, 0x20, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3A, + 0x20, 0x53, 0x6F, 0x66, 0x74, 0x67, 0x6F, 0x6C, + 0x64, 0x20, 0x47, 0x6D, 0x62, 0x48, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, + 0x72, 0x6F, 0x64, 0x75, 0x63, 0x65, 0x72, 0x3A, + 0x20, 0x54, 0x68, 0x6F, 0x6D, 0x61, 0x73, 0x20, + 0x42, 0x72, 0x6F, 0x63, 0x6B, 0x68, 0x61, 0x67, + 0x65, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x4C, 0x65, + 0x76, 0x65, 0x6C, 0x20, 0x75, 0x2E, 0x20, 0x48, + 0x61, 0x6E, 0x64, 0x62, 0x75, 0x63, 0x68, 0x3A, + 0x20, 0x4A, 0x61, 0x73, 0x70, 0x65, 0x72, 0x20, + 0x42, 0x6F, 0x6E, 0x67, 0x65, 0x72, 0x74, 0x7A, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x53, 0x70, 0x69, 0x65, 0x6C, + 0x65, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x3A, + 0x20, 0x53, 0x63, 0x68, 0x69, 0x65, 0x76, 0x69, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x41, 0x6C, 0x65, 0x78, 0x61, 0x6E, 0x64, + 0x65, 0x72, 0x20, 0x42, 0x6F, 0x68, 0x6C, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x75, 0x73, 0x20, + 0x4C, 0x75, 0x64, 0x6F, 0x6C, 0x66, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x54, 0x68, 0x6F, 0x72, 0x73, 0x74, 0x65, + 0x6E, 0x20, 0x4E, 0x65, 0x75, 0x6D, 0x61, 0x6E, + 0x6E, 0x20, 0x20, 0x0D, 0x0D, 0x20, 0x20, 0x20, + 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, + 0x20, 0x54, 0x68, 0x61, 0x6E, 0x6B, 0x73, 0x3A, + 0x20, 0x4A, 0x94, 0x72, 0x67, 0x20, 0x47, 0x72, + 0x84, 0x66, 0x69, 0x6E, 0x67, 0x68, 0x6F, 0x6C, + 0x74, 0x20, 0x20, 0x0D, 0x0D, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x20, + 0x4B, 0x72, 0x69, 0x73, 0x74, 0x69, 0x6E, 0x20, + 0x44, 0x6F, 0x64, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x0D, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x20, 0x54, + 0x68, 0x6F, 0x72, 0x62, 0x65, 0x6E, 0x20, 0x57, + 0x94, 0x68, 0x6C, 0x65, 0x72, 0x20, 0x20, 0x20, + 0x20, 0x0D, 0x0D, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x20, 0x42, 0x65, + 0x72, 0x6E, 0x61, 0x72, 0x64, 0x20, 0x4D, 0x6F, + 0x72, 0x65, 0x6C, 0x6C, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, + 0x73, 0x61, 0x6E, 0x6E, 0x65, 0x20, 0x44, 0x69, + 0x65, 0x63, 0x6B, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x6F, + 0x6C, 0x6B, 0x65, 0x72, 0x20, 0x45, 0x6C, 0x6F, + 0x65, 0x73, 0x73, 0x65, 0x72, 0x20, 0x20, 0x20, + 0x0D, 0x0D, 0x75, 0x6E, 0x64, 0x20, 0x64, 0x65, + 0x72, 0x20, 0x44, 0x72, 0x61, 0x63, 0x68, 0x65, + 0x6E, 0x74, 0x94, 0x74, 0x65, 0x72, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x43, 0x61, 0x73, 0x74, 0x20, + 0x6F, 0x66, 0x20, 0x43, 0x68, 0x61, 0x72, 0x61, + 0x63, 0x74, 0x65, 0x72, 0x73, 0x0D, 0x0D, 0x0D, + 0x44, 0x69, 0x65, 0x20, 0x4D, 0x84, 0x63, 0x68, + 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x20, 0x42, + 0x94, 0x73, 0x65, 0x6E, 0x0D, 0x0D, 0x0D, 0x44, + 0x72, 0x61, 0x6E, 0x20, 0x44, 0x72, 0x61, 0x67, + 0x67, 0x6F, 0x72, 0x65, 0x20, 0x28, 0x44, 0x65, + 0x72, 0x20, 0x67, 0x72, 0x6F, 0xE1, 0x65, 0x20, + 0x62, 0x94, 0x73, 0x65, 0x20, 0x44, 0x72, 0x61, + 0x63, 0x68, 0x65, 0x29, 0x0D, 0x0D, 0x4E, 0x61, + 0x64, 0x69, 0x61, 0x20, 0x26, 0x20, 0x4A, 0x6F, + 0x72, 0x69, 0x6C, 0x20, 0x28, 0x44, 0x69, 0x65, + 0x20, 0x62, 0x94, 0x73, 0x65, 0x6E, 0x20, 0x4B, + 0x6C, 0x65, 0x72, 0x69, 0x6B, 0x65, 0x72, 0x29, + 0x0D, 0x0D, 0x44, 0x69, 0x65, 0x6E, 0x65, 0x72, + 0x20, 0x28, 0x44, 0x72, 0x61, 0x6E, 0x73, 0x20, + 0x62, 0x94, 0x73, 0x65, 0x20, 0x72, 0x65, 0x63, + 0x68, 0x74, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, + 0x29, 0x0D, 0x0D, 0x4B, 0x6C, 0x65, 0x72, 0x69, + 0x6B, 0x65, 0x72, 0x20, 0x28, 0x44, 0x65, 0x72, + 0x20, 0x66, 0x69, 0x65, 0x73, 0x65, 0x20, 0x72, + 0x6F, 0x74, 0x65, 0x20, 0x48, 0x65, 0x72, 0x69, + 0x6E, 0x67, 0x29, 0x0D, 0x0D, 0x44, 0x65, 0x72, + 0x20, 0x4B, 0x94, 0x6E, 0x69, 0x67, 0x20, 0x64, + 0x65, 0x72, 0x20, 0x46, 0x72, 0x6F, 0x73, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x65, 0x6E, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x44, 0x69, 0x65, 0x20, 0x4D, 0x84, + 0x63, 0x68, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, + 0x20, 0x47, 0x75, 0x74, 0x65, 0x6E, 0x0D, 0x0D, + 0x0D, 0x4B, 0x68, 0x65, 0x6C, 0x62, 0x65, 0x6E, + 0x20, 0x42, 0x6C, 0x61, 0x63, 0x6B, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x0D, 0x0D, 0x41, 0x6D, 0x62, + 0x65, 0x72, 0x20, 0x28, 0x4B, 0x68, 0x65, 0x6C, + 0x62, 0x65, 0x6E, 0x73, 0x20, 0x4B, 0x75, 0x6E, + 0x64, 0x73, 0x63, 0x68, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x29, 0x0D, 0x0D, 0x53, 0x68, 0x6F, 0x72, + 0x6E, 0x20, 0x44, 0x69, 0x65, 0x72, 0x67, 0x61, + 0x72, 0x20, 0x28, 0x6C, 0x84, 0x73, 0x74, 0x69, + 0x67, 0x65, 0x72, 0x20, 0x5A, 0x77, 0x65, 0x72, + 0x67, 0x29, 0x0D, 0x0D, 0x49, 0x6E, 0x73, 0x61, + 0x6C, 0x20, 0x64, 0x65, 0x72, 0x20, 0x44, 0x69, + 0x65, 0x62, 0x20, 0x28, 0x44, 0x69, 0x65, 0x20, + 0x50, 0x6C, 0x61, 0x67, 0x65, 0x29, 0x0D, 0x0D, + 0x43, 0x61, 0x6C, 0x61, 0x6E, 0x64, 0x72, 0x61, + 0x20, 0x28, 0x49, 0x72, 0x61, 0x73, 0x20, 0x76, + 0x65, 0x72, 0x6C, 0x6F, 0x72, 0x65, 0x6E, 0x65, + 0x20, 0x53, 0x63, 0x68, 0x77, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x29, 0x0D, 0x0D, 0x41, 0x6C, 0x61, + 0x69, 0x6E, 0x20, 0x28, 0x44, 0x65, 0x72, 0x20, + 0x55, 0x72, 0x61, 0x6C, 0x74, 0x65, 0x29, 0x0D, + 0x0D, 0x53, 0x61, 0x6E, 0x2D, 0x52, 0x61, 0x61, + 0x6C, 0x20, 0x28, 0x44, 0x75, 0x6E, 0x6B, 0x65, + 0x6C, 0x65, 0x6C, 0x66, 0x65, 0x6E, 0x6D, 0x61, + 0x67, 0x69, 0x65, 0x72, 0x29, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x01, 0x4A, 0x65, 0x64, + 0x65, 0x20, 0x8E, 0x68, 0x6E, 0x6C, 0x69, 0x63, + 0x68, 0x6B, 0x65, 0x69, 0x74, 0x20, 0x76, 0x6F, + 0x6E, 0x20, 0x43, 0x68, 0x61, 0x72, 0x61, 0x6B, + 0x74, 0x65, 0x72, 0x65, 0x6E, 0x2C, 0x0D, 0x01, + 0x6F, 0x62, 0x20, 0x54, 0x6F, 0x74, 0x20, 0x6F, + 0x64, 0x65, 0x72, 0x20, 0x4C, 0x65, 0x62, 0x65, + 0x6E, 0x64, 0x69, 0x67, 0x2C, 0x20, 0x77, 0x84, + 0x72, 0x65, 0x20, 0x72, 0x65, 0x69, 0x6E, 0x0D, + 0x01, 0x7A, 0x75, 0x66, 0x84, 0x6C, 0x6C, 0x69, + 0x67, 0x20, 0x75, 0x6E, 0x64, 0x20, 0x75, 0x6E, + 0x62, 0x65, 0x61, 0x62, 0x73, 0x69, 0x63, 0x68, + 0x74, 0x69, 0x67, 0x74, 0x2E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x11, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x00 +}; + +static const ByteProvider kEoB2CreditsDataDOSGermanProvider = { ARRAYSIZE(kEoB2CreditsDataDOSGerman), kEoB2CreditsDataDOSGerman }; + +static const char *const kEoB2FinaleCPSFilesDOSGerman[13] = { + "DRAGON1.CPS", + "DRAGON2.CPS", + "HURRY1.CPS", + "HURRY2.CPS", + "DESTROY0.CPS", + "DESTROY1.CPS", + "DESTROY2.CPS", + "MAGIC.CPS", + "DESTROY3.CPS", + "XREDITS2.CPS", + "CREDITS3.CPS", + "XEROES.CPS", + "THANKS.CPS" +}; + +static const StringListProvider kEoB2FinaleCPSFilesDOSGermanProvider = { ARRAYSIZE(kEoB2FinaleCPSFilesDOSGerman), kEoB2FinaleCPSFilesDOSGerman }; + +static const char *const kEoB2MonsterDistAttStringsDOSGerman[5] = { + "Die Party wurde von einem psychischen Abgriff getroffen!\r", + "paralysiert", + "vergiftet", + "bet""\x84""ubt", + "aus stein" +}; + +static const StringListProvider kEoB2MonsterDistAttStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MonsterDistAttStringsDOSGerman), kEoB2MonsterDistAttStringsDOSGerman }; + +static const char *const kEoB2Npc1StringsDOSGerman[2] = { + "reden", + "weiter" +}; + +static const StringListProvider kEoB2Npc1StringsDOSGermanProvider = { ARRAYSIZE(kEoB2Npc1StringsDOSGerman), kEoB2Npc1StringsDOSGerman }; + +static const char *const kEoB2Npc2StringsDOSGerman[2] = { + "Freilassen", + "Weiterziehen" +}; + +static const StringListProvider kEoB2Npc2StringsDOSGermanProvider = { ARRAYSIZE(kEoB2Npc2StringsDOSGerman), kEoB2Npc2StringsDOSGerman }; + +static const char *const kEoB2MonsterDustStringsDOSGerman[1] = { + "Das Monster vergeht zu Staub!\r" +}; + +static const StringListProvider kEoB2MonsterDustStringsDOSGermanProvider = { ARRAYSIZE(kEoB2MonsterDustStringsDOSGerman), kEoB2MonsterDustStringsDOSGerman }; + +static const char *const kEoB2KheldranStringsDOSGerman[1] = { + " Diese Narren!" +}; + +static const StringListProvider kEoB2KheldranStringsDOSGermanProvider = { ARRAYSIZE(kEoB2KheldranStringsDOSGerman), kEoB2KheldranStringsDOSGerman }; + +static const char *const kEoB2HornStringsDOSGerman[4] = { + "Ein br""\x81""llendes Ger""\x84""usch kommt aus dem Horn.\r", + "Ein hohler Ton dringt aus dem Horn.\r", + "Ein melodischer Ton klingt aus dem Horn.\r", + "Ein unheimliches Ger""\x84""usch kommt aus dem Horn.\r" +}; + +static const StringListProvider kEoB2HornStringsDOSGermanProvider = { ARRAYSIZE(kEoB2HornStringsDOSGerman), kEoB2HornStringsDOSGerman }; + diff --git a/devtools/create_kyradat/resources/hof_dos.h b/devtools/create_kyradat/resources/hof_dos.h new file mode 100644 index 0000000000..a90acd4803 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos.h @@ -0,0 +1,769 @@ +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 }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd.h b/devtools/create_kyradat/resources/hof_dos_cd.h new file mode 100644 index 0000000000..17c401c254 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd.h @@ -0,0 +1,1035 @@ +static const char *const k2SeqplayPakFilesDOSCD[6] = { + "INTROGEN.PAK", + "TALKENG.PAK", + "TALKFRE.PAK", + "TALKGER.PAK", + "VOC.PAK", + "INTROTLK.PAK" +}; + +static const StringListProvider k2SeqplayPakFilesDOSCDProvider = { ARRAYSIZE(k2SeqplayPakFilesDOSCD), k2SeqplayPakFilesDOSCD }; + +static const byte k2SeqplayCreditsDOSCD[2792] = { + 0x0D, 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, 0x50, + 0x4C, 0x41, 0x59, 0x45, 0x52, 0x53, 0x0D, 0x0D, + 0x03, 0x5A, 0x61, 0x6E, 0x74, 0x68, 0x69, 0x61, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x42, 0x4F, 0x4E, + 0x4E, 0x49, 0x45, 0x20, 0x4C, 0x59, 0x4E, 0x4E, + 0x20, 0x54, 0x4F, 0x55, 0x50, 0x53, 0x0D, 0x03, + 0x46, 0x61, 0x75, 0x6E, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x45, 0x4C, 0x45, 0x4E, 0x41, 0x20, 0x46, + 0x45, 0x52, 0x52, 0x41, 0x4E, 0x54, 0x45, 0x0D, + 0x03, 0x4D, 0x61, 0x72, 0x6B, 0x6F, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, + 0x52, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4C, 0x0D, + 0x03, 0x4E, 0x61, 0x72, 0x72, 0x61, 0x74, 0x6F, + 0x72, 0x20, 0x20, 0x20, 0x05, 0x04, 0x48, 0x69, + 0x73, 0x20, 0x52, 0x6F, 0x79, 0x61, 0x6C, 0x20, + 0x48, 0x69, 0x67, 0x68, 0x6E, 0x65, 0x73, 0x73, + 0x0D, 0x05, 0x04, 0x42, 0x52, 0x41, 0x4E, 0x44, + 0x4F, 0x4E, 0x2C, 0x20, 0x4B, 0x69, 0x6E, 0x67, + 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, 0x4B, 0x79, + 0x72, 0x61, 0x6E, 0x64, 0x69, 0x61, 0x2C, 0x20, + 0x44, 0x65, 0x66, 0x65, 0x6E, 0x64, 0x65, 0x72, + 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, 0x74, 0x68, + 0x65, 0x20, 0x4B, 0x79, 0x72, 0x61, 0x67, 0x65, + 0x6D, 0x2C, 0x20, 0x56, 0x61, 0x6E, 0x71, 0x75, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x0D, 0x05, 0x04, + 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x6C, 0x63, 0x6F, + 0x6C, 0x6D, 0x2C, 0x20, 0x50, 0x61, 0x74, 0x72, + 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, + 0x74, 0x68, 0x65, 0x20, 0x41, 0x72, 0x74, 0x73, + 0x2C, 0x20, 0x57, 0x65, 0x61, 0x72, 0x65, 0x72, + 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0D, + 0x05, 0x04, 0x53, 0x61, 0x6E, 0x64, 0x61, 0x6C, + 0x2C, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x4D, 0x61, + 0x6A, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x0D, 0x05, + 0x04, 0x53, 0x74, 0x6F, 0x63, 0x6B, 0x20, 0x4F, + 0x77, 0x6E, 0x65, 0x72, 0x20, 0x61, 0x6E, 0x64, + 0x20, 0x43, 0x45, 0x4F, 0x20, 0x6F, 0x66, 0x0D, + 0x05, 0x04, 0x54, 0x69, 0x6D, 0x62, 0x65, 0x72, + 0x6D, 0x69, 0x73, 0x74, 0x20, 0x43, 0x61, 0x73, + 0x75, 0x61, 0x6C, 0x0D, 0x05, 0x04, 0x46, 0x6F, + 0x6F, 0x74, 0x77, 0x65, 0x61, 0x72, 0x2C, 0x20, + 0x49, 0x6E, 0x63, 0x2E, 0x0D, 0x03, 0x54, 0x68, + 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, + 0x0D, 0x0D, 0x0D, 0x02, 0x44, 0x41, 0x52, 0x4B, + 0x4D, 0x4F, 0x4F, 0x52, 0x20, 0x53, 0x57, 0x41, + 0x4D, 0x50, 0x0D, 0x0D, 0x03, 0x48, 0x65, 0x72, + 0x62, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, + 0x48, 0x41, 0x52, 0x4C, 0x45, 0x53, 0x20, 0x4D, + 0x4F, 0x53, 0x48, 0x45, 0x52, 0x0D, 0x03, 0x42, + 0x72, 0x65, 0x75, 0x74, 0x68, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x42, 0x52, 0x49, 0x41, 0x4E, + 0x20, 0x53, 0x54, 0x52, 0x4F, 0x4D, 0x0D, 0x03, + 0x53, 0x77, 0x61, 0x6D, 0x70, 0x20, 0x52, 0x61, + 0x74, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x44, 0x72, 0x61, 0x67, + 0x6F, 0x6E, 0x66, 0x6C, 0x79, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x43, 0x4C, 0x49, 0x46, 0x46, + 0x20, 0x4C, 0x41, 0x57, 0x52, 0x45, 0x4E, 0x43, + 0x45, 0x0D, 0x03, 0x46, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x6D, 0x61, 0x6E, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, 0x4D, + 0x41, 0x52, 0x54, 0x49, 0x4E, 0x0D, 0x03, 0x4F, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x46, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x6D, 0x61, 0x6E, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x52, 0x41, 0x59, 0x20, + 0x46, 0x41, 0x56, 0x45, 0x52, 0x4F, 0x0D, 0x03, + 0x54, 0x6F, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x4D, 0x41, 0x52, 0x43, 0x55, 0x53, + 0x20, 0x56, 0x41, 0x55, 0x47, 0x48, 0x4E, 0x0D, + 0x03, 0x4F, 0x74, 0x68, 0x65, 0x72, 0x20, 0x54, + 0x6F, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x42, 0x49, 0x4C, 0x4C, 0x20, 0x43, 0x4F, + 0x4C, 0x4C, 0x49, 0x4E, 0x53, 0x0D, 0x03, 0x54, + 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, 0x41, 0x52, + 0x49, 0x41, 0x20, 0x44, 0x45, 0x4C, 0x20, 0x4D, + 0x41, 0x52, 0x20, 0x4C, 0x45, 0x47, 0x47, 0x0D, + 0x0D, 0x0D, 0x02, 0x4D, 0x4F, 0x52, 0x4E, 0x49, + 0x4E, 0x47, 0x4D, 0x49, 0x53, 0x54, 0x20, 0x56, + 0x41, 0x4C, 0x4C, 0x45, 0x59, 0x0D, 0x0D, 0x03, + 0x46, 0x61, 0x72, 0x6D, 0x65, 0x72, 0x20, 0x47, + 0x72, 0x65, 0x65, 0x6E, 0x62, 0x65, 0x72, 0x72, + 0x79, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x47, 0x68, 0x6F, 0x73, + 0x74, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, + 0x41, 0x52, 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, + 0x55, 0x47, 0x48, 0x4E, 0x0D, 0x03, 0x53, 0x63, + 0x61, 0x72, 0x65, 0x63, 0x72, 0x6F, 0x77, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, 0x41, 0x52, + 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, 0x55, 0x47, + 0x48, 0x4E, 0x0D, 0x03, 0x46, 0x61, 0x74, 0x20, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x4C, 0x45, 0x47, 0x47, 0x0D, + 0x03, 0x53, 0x6B, 0x69, 0x6E, 0x6E, 0x79, 0x20, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x52, 0x49, 0x43, 0x4B, 0x20, + 0x22, 0x43, 0x4F, 0x43, 0x4F, 0x22, 0x20, 0x47, + 0x55, 0x53, 0x48, 0x0D, 0x03, 0x54, 0x68, 0x65, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x47, 0x52, 0x41, 0x59, 0x46, + 0x4F, 0x52, 0x44, 0x0D, 0x0D, 0x0D, 0x02, 0x54, + 0x4F, 0x57, 0x4E, 0x45, 0x20, 0x4F, 0x46, 0x20, + 0x48, 0x49, 0x47, 0x48, 0x4D, 0x4F, 0x4F, 0x4E, + 0x0D, 0x0D, 0x03, 0x53, 0x68, 0x65, 0x72, 0x69, + 0x66, 0x66, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, + 0x52, 0x41, 0x59, 0x20, 0x46, 0x41, 0x56, 0x45, + 0x52, 0x4F, 0x0D, 0x03, 0x43, 0x61, 0x70, 0x27, + 0x6E, 0x20, 0x42, 0x6F, 0x62, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x42, 0x52, 0x49, 0x41, 0x4E, + 0x20, 0x53, 0x54, 0x52, 0x4F, 0x4D, 0x0D, 0x03, + 0x4F, 0x63, 0x74, 0x6F, 0x70, 0x75, 0x73, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x4C, 0x49, + 0x46, 0x46, 0x20, 0x4C, 0x41, 0x57, 0x52, 0x45, + 0x4E, 0x43, 0x45, 0x0D, 0x03, 0x50, 0x69, 0x72, + 0x61, 0x74, 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x4F, 0x55, 0x47, 0x20, 0x42, 0x41, + 0x4B, 0x45, 0x52, 0x0D, 0x03, 0x4F, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x50, 0x69, 0x72, 0x61, 0x74, + 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x41, 0x6E, 0x6F, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x50, 0x69, 0x72, 0x61, + 0x74, 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, + 0x45, 0x52, 0x49, 0x43, 0x20, 0x52, 0x41, 0x4E, + 0x44, 0x41, 0x4C, 0x4C, 0x0D, 0x03, 0x53, 0x71, + 0x75, 0x61, 0x77, 0x6B, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x50, 0x61, 0x72, 0x72, 0x6F, 0x74, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x4C, + 0x49, 0x46, 0x46, 0x20, 0x4C, 0x41, 0x57, 0x52, + 0x45, 0x4E, 0x43, 0x45, 0x0D, 0x03, 0x53, 0x61, + 0x69, 0x6C, 0x6F, 0x72, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x54, 0x49, 0x4D, 0x20, 0x43, 0x4C, + 0x41, 0x52, 0x4B, 0x0D, 0x03, 0x4F, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x53, 0x61, 0x69, 0x6C, 0x6F, + 0x72, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, + 0x41, 0x52, 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, + 0x55, 0x47, 0x48, 0x4E, 0x0D, 0x03, 0x54, 0x68, + 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x4A, 0x45, 0x4E, 0x4E, + 0x59, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, 0x0D, + 0x0D, 0x0D, 0x02, 0x56, 0x4F, 0x4C, 0x43, 0x41, + 0x4E, 0x49, 0x41, 0x0D, 0x0D, 0x03, 0x4A, 0x65, + 0x73, 0x73, 0x69, 0x63, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4A, 0x55, 0x4C, 0x49, 0x45, + 0x20, 0x43, 0x48, 0x49, 0x52, 0x49, 0x4C, 0x41, + 0x0D, 0x03, 0x53, 0x6D, 0x61, 0x72, 0x6D, 0x79, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x44, 0x4F, + 0x55, 0x47, 0x20, 0x42, 0x41, 0x4B, 0x45, 0x52, + 0x0D, 0x03, 0x42, 0x75, 0x72, 0x65, 0x61, 0x75, + 0x63, 0x72, 0x61, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, 0x52, + 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4C, 0x0D, 0x03, + 0x42, 0x75, 0x72, 0x65, 0x61, 0x75, 0x63, 0x72, + 0x61, 0x74, 0x72, 0x65, 0x73, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x4A, 0x55, 0x4C, 0x49, + 0x45, 0x20, 0x42, 0x41, 0x4C, 0x53, 0x41, 0x4D, + 0x4F, 0x0D, 0x03, 0x4D, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x44, 0x45, 0x4E, 0x49, 0x53, + 0x45, 0x20, 0x53, 0x43, 0x48, 0x41, 0x46, 0x45, + 0x52, 0x0D, 0x03, 0x50, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4B, 0x45, 0x4E, 0x4E, 0x45, + 0x54, 0x48, 0x20, 0x4A, 0x2E, 0x20, 0x4B, 0x55, + 0x43, 0x41, 0x4E, 0x0D, 0x03, 0x54, 0x68, 0x65, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x52, 0x41, 0x4D, 0x49, 0x4E, + 0x20, 0x46, 0x41, 0x54, 0x48, 0x49, 0x45, 0x0D, + 0x0D, 0x0D, 0x02, 0x45, 0x4E, 0x43, 0x48, 0x41, + 0x4E, 0x54, 0x45, 0x44, 0x20, 0x46, 0x4F, 0x52, + 0x45, 0x53, 0x54, 0x0D, 0x0D, 0x03, 0x4B, 0x6E, + 0x69, 0x67, 0x68, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, + 0x4D, 0x41, 0x52, 0x54, 0x49, 0x4E, 0x0D, 0x03, + 0x50, 0x65, 0x74, 0x72, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x20, 0x54, 0x72, 0x65, 0x65, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x44, 0x4F, 0x55, + 0x47, 0x20, 0x42, 0x41, 0x4B, 0x45, 0x52, 0x0D, + 0x03, 0x55, 0x6E, 0x69, 0x6F, 0x6E, 0x20, 0x53, + 0x71, 0x75, 0x69, 0x72, 0x72, 0x65, 0x6C, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x54, 0x49, + 0x4D, 0x20, 0x43, 0x4C, 0x41, 0x52, 0x4B, 0x0D, + 0x03, 0x4D, 0x79, 0x73, 0x74, 0x69, 0x63, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x48, + 0x41, 0x52, 0x4C, 0x45, 0x53, 0x20, 0x4D, 0x4F, + 0x53, 0x48, 0x45, 0x52, 0x0D, 0x03, 0x4F, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x4D, 0x79, 0x73, 0x74, + 0x69, 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x52, 0x20, + 0x46, 0x52, 0x45, 0x46, 0x46, 0x20, 0x43, 0x4F, + 0x43, 0x48, 0x52, 0x41, 0x4E, 0x0D, 0x03, 0x54, + 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4C, 0x59, + 0x4E, 0x44, 0x41, 0x20, 0x57, 0x41, 0x53, 0x4B, + 0x4F, 0x4D, 0x0D, 0x0D, 0x0D, 0x02, 0x41, 0x4C, + 0x50, 0x49, 0x4E, 0x49, 0x41, 0x0D, 0x0D, 0x03, + 0x41, 0x62, 0x6F, 0x6D, 0x69, 0x6E, 0x61, 0x62, + 0x6C, 0x65, 0x20, 0x53, 0x6E, 0x6F, 0x77, 0x6D, + 0x61, 0x6E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x4F, 0x55, 0x47, 0x20, 0x42, 0x41, + 0x4B, 0x45, 0x52, 0x0D, 0x03, 0x4D, 0x6F, 0x6D, + 0x6D, 0x79, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x45, 0x4E, 0x49, 0x53, 0x45, 0x20, + 0x53, 0x43, 0x48, 0x41, 0x46, 0x45, 0x52, 0x0D, + 0x03, 0x42, 0x61, 0x62, 0x79, 0x20, 0x41, 0x6C, + 0x62, 0x65, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x54, 0x48, 0x45, 0x4F, 0x44, + 0x4F, 0x52, 0x45, 0x20, 0x4D, 0x4F, 0x52, 0x52, + 0x49, 0x53, 0x0D, 0x03, 0x48, 0x75, 0x6E, 0x74, + 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x42, 0x49, 0x4C, 0x4C, 0x20, 0x43, 0x4F, + 0x4C, 0x4C, 0x49, 0x4E, 0x53, 0x0D, 0x03, 0x4F, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x48, 0x75, 0x6E, + 0x74, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x42, 0x4F, 0x42, 0x20, 0x42, 0x4C, + 0x4F, 0x4D, 0x47, 0x52, 0x45, 0x4E, 0x0D, 0x03, + 0x46, 0x6F, 0x6F, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x53, 0x50, 0x45, 0x45, 0x44, + 0x59, 0x20, 0x44, 0x41, 0x57, 0x4E, 0x20, 0x48, + 0x55, 0x4E, 0x54, 0x5A, 0x49, 0x4E, 0x47, 0x45, + 0x52, 0x0D, 0x03, 0x53, 0x74, 0x75, 0x6E, 0x74, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x44, 0x41, 0x4E, 0x49, + 0x45, 0x4C, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x54, 0x48, 0x45, 0x20, 0x48, 0x41, 0x4E, + 0x44, 0x20, 0x4F, 0x46, 0x20, 0x46, 0x41, 0x54, + 0x45, 0x0D, 0x02, 0x54, 0x45, 0x41, 0x4D, 0x20, + 0x43, 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x43, + 0x6F, 0x64, 0x65, 0x6A, 0x61, 0x6D, 0x6D, 0x65, + 0x72, 0x73, 0x0D, 0x02, 0x4D, 0x49, 0x4B, 0x45, + 0x20, 0x61, 0x6E, 0x64, 0x20, 0x4D, 0x49, 0x4B, + 0x45, 0x0D, 0x0D, 0x02, 0x56, 0x6F, 0x63, 0x61, + 0x6C, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6F, 0x6E, 0x20, 0x62, 0x79, 0x0D, 0x02, + 0x4A, 0x4F, 0x45, 0x20, 0x4B, 0x55, 0x43, 0x41, + 0x4E, 0x0D, 0x0D, 0x02, 0x44, 0x69, 0x67, 0x69, + 0x74, 0x61, 0x6C, 0x20, 0x53, 0x61, 0x6D, 0x70, + 0x6C, 0x69, 0x6E, 0x67, 0x20, 0x62, 0x79, 0x0D, + 0x02, 0x50, 0x41, 0x54, 0x20, 0x43, 0x4F, 0x4C, + 0x4C, 0x49, 0x4E, 0x53, 0x20, 0x61, 0x6E, 0x64, + 0x20, 0x44, 0x57, 0x49, 0x47, 0x48, 0x54, 0x20, + 0x4F, 0x4B, 0x41, 0x48, 0x41, 0x52, 0x41, 0x0D, + 0x0D, 0x02, 0x41, 0x75, 0x64, 0x69, 0x6F, 0x20, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6F, + 0x6E, 0x20, 0x62, 0x79, 0x0D, 0x02, 0x50, 0x41, + 0x55, 0x4C, 0x20, 0x4D, 0x55, 0x44, 0x52, 0x41, + 0x0D, 0x0D, 0x02, 0x52, 0x65, 0x63, 0x6F, 0x72, + 0x64, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x64, 0x20, + 0x45, 0x6E, 0x67, 0x69, 0x6E, 0x65, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x0D, 0x02, 0x54, + 0x4F, 0x54, 0x4F, 0x20, 0x5A, 0x41, 0x52, 0x41, + 0x20, 0x61, 0x74, 0x20, 0x4D, 0x69, 0x64, 0x69, + 0x57, 0x6F, 0x72, 0x6B, 0x73, 0x0D, 0x0D, 0x02, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, + 0x54, 0x65, 0x63, 0x68, 0x6E, 0x6F, 0x2D, 0x57, + 0x69, 0x7A, 0x61, 0x72, 0x64, 0x72, 0x79, 0x20, + 0x62, 0x79, 0x0D, 0x02, 0x53, 0x43, 0x4F, 0x54, + 0x54, 0x20, 0x42, 0x4F, 0x57, 0x45, 0x4E, 0x2C, + 0x20, 0x44, 0x41, 0x56, 0x49, 0x44, 0x20, 0x44, + 0x45, 0x54, 0x54, 0x4D, 0x45, 0x52, 0x2C, 0x0D, + 0x02, 0x61, 0x6E, 0x64, 0x20, 0x4A, 0x4F, 0x45, + 0x20, 0x42, 0x4F, 0x53, 0x54, 0x49, 0x43, 0x0D, + 0x0D, 0x02, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, + 0x69, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x50, 0x72, + 0x6F, 0x64, 0x75, 0x63, 0x65, 0x72, 0x0D, 0x02, + 0x52, 0x49, 0x43, 0x4B, 0x20, 0x47, 0x55, 0x53, + 0x48, 0x0D, 0x0D, 0x02, 0x50, 0x72, 0x6F, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x74, + 0x0D, 0x02, 0x44, 0x41, 0x56, 0x49, 0x44, 0x20, + 0x50, 0x4F, 0x4B, 0x4F, 0x52, 0x4E, 0x59, 0x0D, + 0x0D, 0x02, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, + 0x74, 0x20, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x69, + 0x6E, 0x61, 0x74, 0x6F, 0x72, 0x0D, 0x02, 0x4A, + 0x45, 0x46, 0x46, 0x20, 0x5A, 0x49, 0x45, 0x4C, + 0x0D, 0x0D, 0x02, 0x51, 0x75, 0x61, 0x6C, 0x69, + 0x74, 0x79, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6E, 0x63, 0x65, 0x0D, 0x02, 0x47, 0x4C, + 0x45, 0x4E, 0x4E, 0x20, 0x22, 0x47, 0x4C, 0x45, + 0x4E, 0x4E, 0x42, 0x4F, 0x22, 0x20, 0x53, 0x50, + 0x45, 0x52, 0x52, 0x59, 0x0D, 0x02, 0x42, 0x52, + 0x41, 0x44, 0x20, 0x22, 0x53, 0x54, 0x49, 0x4E, + 0x47, 0x22, 0x20, 0x52, 0x4F, 0x42, 0x45, 0x52, + 0x54, 0x53, 0x0D, 0x02, 0x43, 0x48, 0x41, 0x44, + 0x20, 0x53, 0x4F, 0x41, 0x52, 0x45, 0x53, 0x0D, + 0x02, 0x43, 0x48, 0x52, 0x49, 0x53, 0x20, 0x4D, + 0x63, 0x46, 0x41, 0x52, 0x4C, 0x41, 0x4E, 0x44, + 0x0D, 0x02, 0x43, 0x48, 0x52, 0x49, 0x53, 0x20, + 0x22, 0x44, 0x4F, 0x4F, 0x4D, 0x22, 0x20, 0x52, + 0x55, 0x42, 0x59, 0x4F, 0x52, 0x0D, 0x02, 0x44, + 0x41, 0x56, 0x45, 0x20, 0x4D, 0x41, 0x58, 0x45, + 0x59, 0x0D, 0x02, 0x4A, 0x45, 0x46, 0x46, 0x20, + 0x42, 0x55, 0x43, 0x43, 0x45, 0x4C, 0x4C, 0x41, + 0x54, 0x4F, 0x0D, 0x02, 0x4A, 0x45, 0x53, 0x53, + 0x45, 0x20, 0x22, 0x4C, 0x41, 0x52, 0x47, 0x45, + 0x59, 0x22, 0x20, 0x43, 0x4C, 0x45, 0x4D, 0x49, + 0x54, 0x0D, 0x02, 0x4A, 0x4F, 0x48, 0x4E, 0x20, + 0x53, 0x57, 0x45, 0x45, 0x4E, 0x59, 0x0D, 0x02, + 0x4A, 0x4F, 0x4E, 0x20, 0x57, 0x49, 0x4C, 0x4C, + 0x49, 0x41, 0x4D, 0x53, 0x0D, 0x02, 0x4B, 0x45, + 0x4E, 0x4E, 0x45, 0x54, 0x48, 0x20, 0x22, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x41, + 0x54, 0x4F, 0x52, 0x22, 0x20, 0x44, 0x55, 0x4E, + 0x4E, 0x45, 0x0D, 0x02, 0x4D, 0x49, 0x4B, 0x45, + 0x20, 0x22, 0x44, 0x41, 0x52, 0x4B, 0x4E, 0x49, + 0x47, 0x48, 0x54, 0x22, 0x20, 0x4C, 0x49, 0x47, + 0x48, 0x54, 0x4E, 0x45, 0x52, 0x0D, 0x02, 0x4D, + 0x49, 0x54, 0x43, 0x48, 0x20, 0x46, 0x45, 0x4C, + 0x44, 0x4D, 0x41, 0x4E, 0x0D, 0x02, 0x50, 0x41, + 0x55, 0x4C, 0x20, 0x53, 0x48, 0x4F, 0x45, 0x4E, + 0x45, 0x52, 0x0D, 0x02, 0x53, 0x43, 0x4F, 0x54, + 0x54, 0x20, 0x4D, 0x41, 0x4E, 0x4E, 0x49, 0x4E, + 0x47, 0x0D, 0x02, 0x54, 0x49, 0x4D, 0x20, 0x22, + 0x44, 0x41, 0x52, 0x4B, 0x57, 0x4F, 0x4C, 0x46, + 0x22, 0x20, 0x46, 0x52, 0x49, 0x54, 0x5A, 0x0D, + 0x02, 0x54, 0x52, 0x4F, 0x59, 0x20, 0x4C, 0x45, + 0x4F, 0x4E, 0x41, 0x52, 0x44, 0x0D, 0x0D, 0x02, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, + 0x54, 0x68, 0x61, 0x6E, 0x6B, 0x73, 0x20, 0x74, + 0x6F, 0x0D, 0x02, 0x42, 0x41, 0x52, 0x42, 0x41, + 0x52, 0x41, 0x20, 0x52, 0x49, 0x43, 0x48, 0x4D, + 0x41, 0x4E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x41, 0x6E, 0x79, 0x20, 0x72, + 0x65, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x61, 0x6E, + 0x63, 0x65, 0x20, 0x69, 0x6E, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x67, 0x61, 0x6D, 0x65, 0x20, + 0x74, 0x6F, 0x20, 0x0D, 0x02, 0x70, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x73, 0x20, 0x6F, 0x72, 0x20, + 0x61, 0x70, 0x70, 0x65, 0x6E, 0x64, 0x61, 0x67, + 0x65, 0x73, 0x2C, 0x20, 0x6C, 0x69, 0x76, 0x69, + 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x0D, 0x02, 0x64, + 0x65, 0x61, 0x64, 0x2C, 0x20, 0x69, 0x73, 0x20, + 0x70, 0x75, 0x72, 0x65, 0x6C, 0x79, 0x20, 0x63, + 0x6F, 0x69, 0x6E, 0x63, 0x69, 0x64, 0x65, 0x6E, + 0x74, 0x61, 0x6C, 0x2E, 0x0D, 0x0D, 0x02, 0x43, + 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, + 0x34, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74, 0x77, + 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, + 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x0D, 0x02, 0x41, 0x6C, 0x6C, 0x20, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider k2SeqplayCreditsDOSCDProvider = { ARRAYSIZE(k2SeqplayCreditsDOSCD), k2SeqplayCreditsDOSCD }; + +static const char *const k2SeqplayCreditsSpecialDOSCD[2] = { + "Codejammers", + "MIKE and MIKE" +}; + +static const StringListProvider k2SeqplayCreditsSpecialDOSCDProvider = { ARRAYSIZE(k2SeqplayCreditsSpecialDOSCD), k2SeqplayCreditsSpecialDOSCD }; + +static const char *const k2SeqplaySfxFilesDOSCD[48] = { + "eintro1", + "eintro2", + "eintro3", + "eintro4", + "eintro5", + "eintro6", + "eintro7", + "eintro8", + "eintro9", + "eintro10", + "eintro11", + "eintro12", + "eglow", + "0000210", + "0000130", + "0000180", + "0000160", + "asong", + "crowcaw", + "eyerub2", + "pluck3", + "rodnreel", + "frog1", + "scavmov2", + "lambmom3", + "lambkid1", + "thunder2", + "thunder3", + "wind6", + "h2odrop2", + "gasleak", + "polgulp1", + "hndslap1", + "burp1", + "0000220", + "0000230", + "0000250", + "0000260", + "0000270", + "0000280", + "0000290", + "0000300", + "0000310", + "0000320", + "0000330", + "scream1", + "theend", + "" +}; + +static const StringListProvider k2SeqplaySfxFilesDOSCDProvider = { ARRAYSIZE(k2SeqplaySfxFilesDOSCD), k2SeqplaySfxFilesDOSCD }; + +static const HoFSequence k2SeqplaySeqDataDOSCDSeq[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 k2SeqplaySeqDataDOSCDSeqNestedControl7[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 k2SeqplaySeqDataDOSCDSeqNestedControl10[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 k2SeqplaySeqDataDOSCDSeqNestedControl11[9] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 4, 6 }, + { 5, 64 }, + { 5, 6 } +}; + +static const FrameControl k2SeqplaySeqDataDOSCDSeqNestedControl12[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 k2SeqplaySeqDataDOSCDSeqNestedControl13[5] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 1, 6 }, + { 0, 1 } +}; + +static const FrameControl k2SeqplaySeqDataDOSCDSeqNestedControl14[8] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 2, 6 }, + { 1, 6 } +}; + +static const HoFNestedSequence k2SeqplaySeqDataDOSCDSeqNested[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(k2SeqplaySeqDataDOSCDSeqNestedControl7), k2SeqplaySeqDataDOSCDSeqNestedControl7, 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(k2SeqplaySeqDataDOSCDSeqNestedControl10), k2SeqplaySeqDataDOSCDSeqNestedControl10, 0, 0 }, + { 0x002A, "hand1c.wsa", 0, 9, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDSeqNestedControl11), k2SeqplaySeqDataDOSCDSeqNestedControl11, 0, 0 }, + { 0x002C, "hand2.wsa", 0, 2, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDSeqNestedControl12), k2SeqplaySeqDataDOSCDSeqNestedControl12, 5, 0 }, + { 0x002C, "hand3.wsa", 0, 4, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDSeqNestedControl13), k2SeqplaySeqDataDOSCDSeqNestedControl13, 5, 0 }, + { 0x002C, "hand4.wsa", 0, 8, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDSeqNestedControl14), k2SeqplaySeqDataDOSCDSeqNestedControl14, 5, 0 } +}; + +static const HoFSequenceProvider k2SeqplaySeqDataDOSCDProvider = { ARRAYSIZE(k2SeqplaySeqDataDOSCDSeq), k2SeqplaySeqDataDOSCDSeq, ARRAYSIZE(k2SeqplaySeqDataDOSCDSeqNested), k2SeqplaySeqDataDOSCDSeqNested }; + +static const char *const k2SeqplayIntroTracksDOSCD[1] = { + "k2intro" +}; + +static const StringListProvider k2SeqplayIntroTracksDOSCDProvider = { ARRAYSIZE(k2SeqplayIntroTracksDOSCD), k2SeqplayIntroTracksDOSCD }; + +static const char *const k2SeqplayFinaleTracksDOSCD[1] = { + "k2finale" +}; + +static const StringListProvider k2SeqplayFinaleTracksDOSCDProvider = { ARRAYSIZE(k2SeqplayFinaleTracksDOSCD), k2SeqplayFinaleTracksDOSCD }; + +static const char *const k2IngameSfxFilesDOSCD[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 k2IngameSfxFilesDOSCDProvider = { ARRAYSIZE(k2IngameSfxFilesDOSCD), k2IngameSfxFilesDOSCD }; + +static const byte k2IngameSfxIndexDOSCD[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 k2IngameSfxIndexDOSCDProvider = { ARRAYSIZE(k2IngameSfxIndexDOSCD), k2IngameSfxIndexDOSCD }; + +static const char *const k2IngameTracksDOSCD[15] = { + "K2TEST1", + "K2TEST2", + "K2TEST3", + "K2TEST4", + "K2TEST5", + "K2TEST6", + "K2TEST7", + "K2TEST8", + "K2TEST9", + "K2TEST10", + "K2TEST11", + "K2TEST12", + "K2TEST13", + "K2TEST14", + "K2TEST15" +}; + +static const StringListProvider k2IngameTracksDOSCDProvider = { ARRAYSIZE(k2IngameTracksDOSCD), k2IngameTracksDOSCD }; + +static const byte k2IngameTalkObjIndexDOSCD[132] = { + 0x20, 0x43, 0x6F, 0x72, 0x72, 0x75, 0x70, 0x74, + 0x21, 0x21, 0x21, 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, 0x5B, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x72, 0x00, 0x76, 0x00 +}; + +static const ByteProvider k2IngameTalkObjIndexDOSCDProvider = { ARRAYSIZE(k2IngameTalkObjIndexDOSCD), k2IngameTalkObjIndexDOSCD }; + +static const FrameControl k2IngameShapeAnimDataDOSCD0FrameControl[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 k2IngameShapeAnimDataDOSCD1FrameControl[6] = { + { 0x0002, 0x012C }, + { 0x002D, 0x012C }, + { 0x002E, 0x012C }, + { 0x002F, 0x012C }, + { 0x002E, 0x012C }, + { 0x002D, 0x012C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD2FrameControl[6] = { + { 0x000B, 0x0258 }, + { 0x0030, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0032, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0030, 0x0005 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD3FrameControl[4] = { + { 0x001C, 0x0014 }, + { 0x004E, 0x0014 }, + { 0x004F, 0x0014 }, + { 0x0050, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD4FrameControl[4] = { + { 0x0017, 0x0007 }, + { 0x0051, 0x0007 }, + { 0x0052, 0x0007 }, + { 0x0053, 0x0007 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD5FrameControl[4] = { + { 0x0016, 0x0014 }, + { 0x0054, 0x0014 }, + { 0x0055, 0x0014 }, + { 0x0056, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD6FrameControl[4] = { + { 0x003A, 0x003C }, + { 0x0057, 0x003C }, + { 0x0058, 0x003C }, + { 0x0059, 0x003C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD7FrameControl[4] = { + { 0x001A, 0x0032 }, + { 0x005A, 0x0032 }, + { 0x005B, 0x0032 }, + { 0x005C, 0x0032 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD8FrameControl[4] = { + { 0x006D, 0x000C }, + { 0x006E, 0x000C }, + { 0x006F, 0x000C }, + { 0x0070, 0x000C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD9FrameControl[4] = { + { 0x0079, 0x0008 }, + { 0x007A, 0x0008 }, + { 0x007B, 0x0008 }, + { 0x007C, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD10FrameControl[4] = { + { 0x007E, 0x0008 }, + { 0x007F, 0x0008 }, + { 0x0080, 0x0008 }, + { 0x0081, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD11FrameControl[6] = { + { 0x0091, 0x01A4 }, + { 0x0092, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0094, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0092, 0x0004 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD12FrameControl[4] = { + { 0x0095, 0x0006 }, + { 0x0096, 0x0006 }, + { 0x0097, 0x0006 }, + { 0x0098, 0x0006 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCD13FrameControl[4] = { + { 0x0099, 0x002D }, + { 0x009A, 0x002D }, + { 0x009B, 0x002D }, + { 0x009C, 0x002D } +}; + +static const ItemAnimDefinition k2IngameShapeAnimDataDOSCD[14] = { + { 6, 12, k2IngameShapeAnimDataDOSCD0FrameControl }, + { 2, 6, k2IngameShapeAnimDataDOSCD1FrameControl }, + { 11, 6, k2IngameShapeAnimDataDOSCD2FrameControl }, + { 28, 4, k2IngameShapeAnimDataDOSCD3FrameControl }, + { 23, 4, k2IngameShapeAnimDataDOSCD4FrameControl }, + { 22, 4, k2IngameShapeAnimDataDOSCD5FrameControl }, + { 58, 4, k2IngameShapeAnimDataDOSCD6FrameControl }, + { 26, 4, k2IngameShapeAnimDataDOSCD7FrameControl }, + { 109, 4, k2IngameShapeAnimDataDOSCD8FrameControl }, + { 121, 4, k2IngameShapeAnimDataDOSCD9FrameControl }, + { 126, 4, k2IngameShapeAnimDataDOSCD10FrameControl }, + { 145, 6, k2IngameShapeAnimDataDOSCD11FrameControl }, + { 149, 4, k2IngameShapeAnimDataDOSCD12FrameControl }, + { 153, 4, k2IngameShapeAnimDataDOSCD13FrameControl } +}; + +static const ItemAnimDefinitionProvider k2IngameShapeAnimDataDOSCDProvider = { ARRAYSIZE(k2IngameShapeAnimDataDOSCD), k2IngameShapeAnimDataDOSCD }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd_english.h b/devtools/create_kyradat/resources/hof_dos_cd_english.h new file mode 100644 index 0000000000..88db113a4a --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd_english.h @@ -0,0 +1,128 @@ +static const char *const k2SeqplayStringsDOSCDEnglish[104] = { + "Kyrandia is disappearing!", + "Rock by rock...", + "...and tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved...", + "...that required a magic Anchor Stone...", + "...to be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Direction & Design", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Mike Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Joe Kucan's Hair by", + "Theodore A. Morris", + "Load a game", + "Introduction", + "Start a new game", + "Exit the game", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Thank you for playing \"The Hand of Fate.\"\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDEnglishProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDEnglish), k2SeqplayStringsDOSCDEnglish }; + +static const char *const k2SeqplayTlkFilesDOSCDEnglish[14] = { + "EINTRO1", + "EINTRO2", + "EINTRO3", + "EINTRO4", + "EINTRO5", + "EINTRO6", + "EINTRO7", + "EINTRO8", + "EINTRO9", + "EINTRO10", + "EINTRO11", + "EINTRO12", + "EGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDEnglishProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDEnglish), k2SeqplayTlkFilesDOSCDEnglish }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd_french.h b/devtools/create_kyradat/resources/hof_dos_cd_french.h new file mode 100644 index 0000000000..fbfdbe9984 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd_french.h @@ -0,0 +1,128 @@ +static const char *const k2SeqplayStringsDOSCDFrench[104] = { + "Kyrandia est en train de dispara""\x8C""tre!", + "Pierre apr""\x8A""s pierre...", + "Arbre apr""\x8A""s arbre.", + "Kyrandia va cesser d'exister!", + "Les Grands Mystiques Royaux sont perplexes...", + "Ils ont consult""\x82"" tous les ouvrages!", + "M""\x88""me Marko et son nouveau valet ont ""\x82""t""\x82"" admis dans la conf""\x82""rence.", + "Heureusement, la Main connaissait bien ce sujet.", + "Un plan fut finalement approuv""\x82""...", + "Il n""\x82""cessitait une Ancre de Pierre magique...", + "Qu'il fallait aller chercher au centre du monde!", + "Zanthia, la plus jeune des Mystiques de Kyrandia, a ""\x82""t""\x82"" choisie pour r""\x82""cup""\x82""rer cette pierre.", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate.", + "Je devrais avoir assez de myrtilles pour ouvrir un portail vers le centre du monde...", + " DUMMY STRING... ", + " DUMMY STRING... ", + "H""\x82""! On m'a vol""\x82"" tout mon ""\x82""quipement!", + " DUMMY STRING... ", + "S'ils croient que je vais y aller ""\x85"" pied, ils peuvent toujours courir!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Vite, Faun!", + "Mon vieux, nous l'avons ""\x82""chapp""\x82"" belle!", + "Tu l'as dit! En ce qui me concerne, j'abandonne la chasse!", + "Crooa.", + "Combien de fois faudra-t-il que je te le dise? Tu n'es qu'un sale crapaud!", + "Oh non! Nous n'avons plus de fromage!", + "On n'a qu'""\x85"" essayer ""\x87""a. C'est orange.", + "Maman, quand est-ce qu'on mangera du lierre?", + "Sortez d'ici! Allez! Filez!", + "Tu coupes, et je choisis.", + "Non. TU coupes et JE choisis.", + "Je maintiens que c'""\x82""tait du radotage sans int""\x82""r""\x88""t.", + "Tu ne reconna""\x8C""trais toujours pas un po""\x8A""me ""\x8B""ambique, m""\x88""me s'il te mordait les fesses!", + "Producteur Ex""\x82""cutif", + "Brett W. Sperry", + "Con""\x87""u et Dirig""\x82"" par", + "Rick Gush", + "Programmeur Principal", + "Michael Legg", + "Direction Artistique", + "Louis Castle", + "Joseph B. Hewitt IV", + "Graphiste principal", + "Rick Parks", + "Programmation acrobatie", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Graphistes", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Musique et sons", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Tests de Qualit""\x82", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Pierre Cardin", + "Conception du Manuel,", + "Emballage & Ex""\x82""cution", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "F""\x82""licitations!", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate!", + "Programmeur invit""\x82", + "Coordination Production", + "Scott Duckett", + "Testeurs - Irvine", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Williams", + "Chris Toft", + "Adaptation fran""\x87""aise", + "Art Of Words", + "Charger une partie", + "Introduction", + "Nouvelle Partie", + "Quitter le jeu", + "Remerciements sp""\x82""ciaux", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Merci d'avoir jou""\x82"" ""\x85""\"The Hand of Fate.\"\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDFrenchProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDFrench), k2SeqplayStringsDOSCDFrench }; + +static const char *const k2SeqplayTlkFilesDOSCDFrench[14] = { + "FINTRO1", + "FINTRO2", + "FINTRO3", + "FINTRO4", + "FINTRO5", + "FINTRO6", + "FINTRO7", + "FINTRO8", + "FINTRO9", + "FINTRO10", + "FINTRO11", + "FINTRO12", + "FGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDFrenchProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDFrench), k2SeqplayTlkFilesDOSCDFrench }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd_german.h b/devtools/create_kyradat/resources/hof_dos_cd_german.h new file mode 100644 index 0000000000..e6120040d2 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd_german.h @@ -0,0 +1,128 @@ +static const char *const k2SeqplayStringsDOSCDGerman[104] = { + "Kyrandia l""\x94""st sich auf!", + "Stein f""\x81""r Stein...", + "...und Baum f""\x81""r Baum.", + "Kyrandia h""\x94""rt auf zu existieren!", + "Die k""\x94""niglichen Mystiker sind verzweifelt.", + "Jede Informationsquelle wurde zu Rate gezogen.", + "Sogar Marko und sein neuer Kammerdiener durften den Konferenzen beiwohnen.", + "Gl""\x81""cklicherweise, hatte die Hand Erfahrungen in solchen Dingen.", + "Und letztendlich konnte man sich auf einen Plan einigen.", + "Zu dessen Durchf""\x81""hrung es eines magischen Ankerstein bedarf...", + "...der aus der Mitte der Welt geholt werden mu""\xE1"".", + "Zanthia, j""\x81""ngste der kyrandianischen Mystiker, wurde ausgew""\x84""hlt, um diesen Stein zu holen.", + "Vielen Dank, da""\xE1"" Du die Hand des Schicksals spielst.", + "Dies sollten gen""\x81""gend Blaubeeren sein, um ein Portal zur Mitte der Erde zu ""\x94""ffnen.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! Meine gesamte Ausr""\x81""stung wurde gestohlen!", + " DUMMY STRING... ", + "Wenn die glauben, da""\xE1"" ich den ganzen Weg nach unten laufe, haben die sich aber in den Finger geschnitten!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Beeile Dich, Faun!", + "Junge, Junge das war aber knapp!", + "Da hast Du recht, Kumpel. Ich werde nie wieder jagen gehen!", + "Quuaaak.", + "Wie oft mu""\xE1"" ich es Dir noch sagen? Du bist eine Kr""\x94""te.", + "Oh nein! Der K""\x84""se ist alle!", + "Versuchen wir es mal mit dem Ohrenwachs. Es ist orange.", + "Mama, wann bekomme ich das Efeu?", + "Husch husch, komm hier raus!", + "Du schneidest, und ich suche aus.", + "Nein. Du schneidest und ich werde aussuchen.", + "Ich bin immernoch der\rMeinung, da""\xE1"" er es nur\rso dahingeplappert hat.", + "Argh, Du w""\x81""rdest ein jambisches Pentameter nicht erkennen, wenn es Dich in den Hintern bei""\xE1""en w""\x81""rde!", + "Executive Producer", + "Brett W. Sperry", + "Director & Designer", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Black Pete", + "Manual, Package Design", + "& Fulfillment by", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Unseren Gl""\x81""ckw""\x81""nsch!", + "Vielen Dank, da""\xE1"" Sie The Hand of Fate gespielt haben!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Ants! Ants! Ants!", + "Ted Morris", + "Spielstand laden", + "Intro", + "Neues Spiel starten", + "Spiel beenden", + "Vielen Dank an", + "tom schmidt", + "Tim Fritz", + "Kenny Dunne", + "Vielen Dank, da""\xE1"" Sie \"The Hand of Fate\" gespielt haben.\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDGermanProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDGerman), k2SeqplayStringsDOSCDGerman }; + +static const char *const k2SeqplayTlkFilesDOSCDGerman[14] = { + "GINTRO1", + "GINTRO2", + "GINTRO3", + "GINTRO4", + "GINTRO5", + "GINTRO6", + "GINTRO7", + "GINTRO8", + "GINTRO9", + "GINTRO10", + "GINTRO11", + "GINTRO12", + "GGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDGermanProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDGerman), k2SeqplayTlkFilesDOSCDGerman }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd_italian.h b/devtools/create_kyradat/resources/hof_dos_cd_italian.h new file mode 100644 index 0000000000..0b2789af4b --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd_italian.h @@ -0,0 +1,128 @@ +static const char *const k2SeqplayStringsDOSCDItalian[104] = { + "Kyrandia sta svanendo!", + "Roccia dopo roccia...", + "...ed albero dopo albero.", + "Kyrandia cessa di esistere!", + "I mistici Reali sono sconcertati.", + "Ogni libro ""\x8A"" stato consultato.", + "Perfino Marko ed il suo nuovo aiutante sono stati invitati alla conferenza.", + "Fortunatamente, la Mano era ferrata in materia.", + "E finalmente un piano ""\x8A"" stato approvato.", + "Bisogna recuperare un'Ancora di pietra", + "dal centro della terra.", + "Zanthia, la pi""\x97"" giovane trai Mistici, ""\x8A"" stata scelta per recuperare l'artefatto.", + "Grazie per aver giocato a Hand of Fate.", + "Questi mirtilli dovrebbero bastare ad aprire un portale per il centro della terra.", + "X", + "X", + "Hey! Hanno rubato tutto il mio equipaggiamento!", + "X", + "Se pensano che vada fin laggi""\x97"" a piedi, si sbagliano di grosso!", + "X", + "X", + "Sbrigati Fauno!", + "Ragazzi, c'""\x8A"" mancato un pelo!", + "Puoi dirlo forte. Io ho chiuso con la caccia!", + "Ribbit.", + "Quante volte devo dirtelo? Sei un rospo.", + "Oh no! Abbiamo finito il formaggio!", + "Proviamo con questo cerume. E' arancione.", + "Mamy, mi dai l'edera?", + "Via di qui, scio'!", + "Tu taglio, e io scelgo.", + "No. TU tagli e IO scelgo.", + "Sono sempre convinto che fosse un'emerita cretinata.", + "Non riconosceresti un pentametro in verso giambico nemmeno se ti mordesse le chiappe!", + "Produttore Esecutivo", + "Brett W. Sperry", + "Direzione&Progetto", + "Rick Gush", + "Capo Programmatore", + "Michael Legg", + "Supervisione Artistica", + "Louis Castle", + "Joseph B. Hewitt IV", + "Artista", + "Rick Parks", + "Codice aggiuntivo", + "Philip W. Gorrow", + "Mike Grayford", + "Mark McCubbin", + "Artisti", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "X", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Musica & Suoni", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Controllo Qualit""\x85", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manuale, Confezione", + "& Realizzazione", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulazioni!", + "Grazie per aver giocato a Hand of Fate!", + "Codice extra", + " contatti ", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Capelli di Joe Kucan di", + " Theodore A. Morris", + "Carica un gioco", + "Introduzione", + "Inizia nuovo gioco", + "Esci dal gioco", + "Ringraziamenti speciali a", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Grazie per aver giocato a \"The Hand of Fate.\"\n " +}; + +static const StringListProvider k2SeqplayStringsDOSCDItalianProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDItalian), k2SeqplayStringsDOSCDItalian }; + +static const char *const k2SeqplayTlkFilesDOSCDItalian[14] = { + "EINTRO1", + "EINTRO2", + "EINTRO3", + "EINTRO4", + "EINTRO5", + "EINTRO6", + "EINTRO7", + "EINTRO8", + "EINTRO9", + "EINTRO10", + "EINTRO11", + "EINTRO12", + "EGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDItalianProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDItalian), k2SeqplayTlkFilesDOSCDItalian }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cd_russian.h b/devtools/create_kyradat/resources/hof_dos_cd_russian.h new file mode 100644 index 0000000000..e29beb4d3d --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cd_russian.h @@ -0,0 +1,128 @@ +static const char *const k2SeqplayStringsDOSCDRussian[104] = { + "Kyrandia is disappearing!", + "Rock by rock...", + "...and tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved...", + "...that required a magic Anchor Stone...", + "...to be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Direction & Design", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Mike Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Joe Kucan's Hair by", + "Theodore A. Morris", + "\xC7\xE0\xE3\xF0\xF3\xE7\xE8\xF2\xFC"" ""\xE8\xE3\xF0\xF3", + "\xC2\xE2\xE5\xE4\xE5\xED\xE8\xE5", + "\xCD\xE0\xF7\xE0\xF2\xFC"" ""\xED\xEE\xE2\xF3\xFE"" ""\xE8\xE3\xF0\xF3", + "\xC2\xFB\xE9\xF2\xE8"" ""\xE8\xE7"" ""\xE8\xE3\xF0\xFB", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Thank you for playing \"The Hand of Fate.\"\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDRussianProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDRussian), k2SeqplayStringsDOSCDRussian }; + +static const char *const k2SeqplayTlkFilesDOSCDRussian[14] = { + "EINTRO1", + "EINTRO2", + "EINTRO3", + "EINTRO4", + "EINTRO5", + "EINTRO6", + "EINTRO7", + "EINTRO8", + "EINTRO9", + "EINTRO10", + "EINTRO11", + "EINTRO12", + "EGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDRussianProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDRussian), k2SeqplayTlkFilesDOSCDRussian }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cddemo.h b/devtools/create_kyradat/resources/hof_dos_cddemo.h new file mode 100644 index 0000000000..229184853a --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cddemo.h @@ -0,0 +1,1035 @@ +static const char *const k2SeqplayPakFilesDOSCDDemo[6] = { + "INTROGEN.PAK", + "TALKENG.PAK", + "TALKFRE.PAK", + "TALKGER.PAK", + "VOC.PAK", + "INTROTLK.PAK" +}; + +static const StringListProvider k2SeqplayPakFilesDOSCDDemoProvider = { ARRAYSIZE(k2SeqplayPakFilesDOSCDDemo), k2SeqplayPakFilesDOSCDDemo }; + +static const byte k2SeqplayCreditsDOSCDDemo[2792] = { + 0x0D, 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, 0x50, + 0x4C, 0x41, 0x59, 0x45, 0x52, 0x53, 0x0D, 0x0D, + 0x03, 0x5A, 0x61, 0x6E, 0x74, 0x68, 0x69, 0x61, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x42, 0x4F, 0x4E, + 0x4E, 0x49, 0x45, 0x20, 0x4C, 0x59, 0x4E, 0x4E, + 0x20, 0x54, 0x4F, 0x55, 0x50, 0x53, 0x0D, 0x03, + 0x46, 0x61, 0x75, 0x6E, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x45, 0x4C, 0x45, 0x4E, 0x41, 0x20, 0x46, + 0x45, 0x52, 0x52, 0x41, 0x4E, 0x54, 0x45, 0x0D, + 0x03, 0x4D, 0x61, 0x72, 0x6B, 0x6F, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, + 0x52, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4C, 0x0D, + 0x03, 0x4E, 0x61, 0x72, 0x72, 0x61, 0x74, 0x6F, + 0x72, 0x20, 0x20, 0x20, 0x05, 0x04, 0x48, 0x69, + 0x73, 0x20, 0x52, 0x6F, 0x79, 0x61, 0x6C, 0x20, + 0x48, 0x69, 0x67, 0x68, 0x6E, 0x65, 0x73, 0x73, + 0x0D, 0x05, 0x04, 0x42, 0x52, 0x41, 0x4E, 0x44, + 0x4F, 0x4E, 0x2C, 0x20, 0x4B, 0x69, 0x6E, 0x67, + 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, 0x4B, 0x79, + 0x72, 0x61, 0x6E, 0x64, 0x69, 0x61, 0x2C, 0x20, + 0x44, 0x65, 0x66, 0x65, 0x6E, 0x64, 0x65, 0x72, + 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, 0x74, 0x68, + 0x65, 0x20, 0x4B, 0x79, 0x72, 0x61, 0x67, 0x65, + 0x6D, 0x2C, 0x20, 0x56, 0x61, 0x6E, 0x71, 0x75, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x0D, 0x05, 0x04, + 0x6F, 0x66, 0x20, 0x4D, 0x61, 0x6C, 0x63, 0x6F, + 0x6C, 0x6D, 0x2C, 0x20, 0x50, 0x61, 0x74, 0x72, + 0x6F, 0x6E, 0x20, 0x6F, 0x66, 0x0D, 0x05, 0x04, + 0x74, 0x68, 0x65, 0x20, 0x41, 0x72, 0x74, 0x73, + 0x2C, 0x20, 0x57, 0x65, 0x61, 0x72, 0x65, 0x72, + 0x20, 0x6F, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0D, + 0x05, 0x04, 0x53, 0x61, 0x6E, 0x64, 0x61, 0x6C, + 0x2C, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x4D, 0x61, + 0x6A, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x0D, 0x05, + 0x04, 0x53, 0x74, 0x6F, 0x63, 0x6B, 0x20, 0x4F, + 0x77, 0x6E, 0x65, 0x72, 0x20, 0x61, 0x6E, 0x64, + 0x20, 0x43, 0x45, 0x4F, 0x20, 0x6F, 0x66, 0x0D, + 0x05, 0x04, 0x54, 0x69, 0x6D, 0x62, 0x65, 0x72, + 0x6D, 0x69, 0x73, 0x74, 0x20, 0x43, 0x61, 0x73, + 0x75, 0x61, 0x6C, 0x0D, 0x05, 0x04, 0x46, 0x6F, + 0x6F, 0x74, 0x77, 0x65, 0x61, 0x72, 0x2C, 0x20, + 0x49, 0x6E, 0x63, 0x2E, 0x0D, 0x03, 0x54, 0x68, + 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, + 0x0D, 0x0D, 0x0D, 0x02, 0x44, 0x41, 0x52, 0x4B, + 0x4D, 0x4F, 0x4F, 0x52, 0x20, 0x53, 0x57, 0x41, + 0x4D, 0x50, 0x0D, 0x0D, 0x03, 0x48, 0x65, 0x72, + 0x62, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, + 0x48, 0x41, 0x52, 0x4C, 0x45, 0x53, 0x20, 0x4D, + 0x4F, 0x53, 0x48, 0x45, 0x52, 0x0D, 0x03, 0x42, + 0x72, 0x65, 0x75, 0x74, 0x68, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x42, 0x52, 0x49, 0x41, 0x4E, + 0x20, 0x53, 0x54, 0x52, 0x4F, 0x4D, 0x0D, 0x03, + 0x53, 0x77, 0x61, 0x6D, 0x70, 0x20, 0x52, 0x61, + 0x74, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x44, 0x72, 0x61, 0x67, + 0x6F, 0x6E, 0x66, 0x6C, 0x79, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x43, 0x4C, 0x49, 0x46, 0x46, + 0x20, 0x4C, 0x41, 0x57, 0x52, 0x45, 0x4E, 0x43, + 0x45, 0x0D, 0x03, 0x46, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x6D, 0x61, 0x6E, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, 0x4D, + 0x41, 0x52, 0x54, 0x49, 0x4E, 0x0D, 0x03, 0x4F, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x46, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x6D, 0x61, 0x6E, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x52, 0x41, 0x59, 0x20, + 0x46, 0x41, 0x56, 0x45, 0x52, 0x4F, 0x0D, 0x03, + 0x54, 0x6F, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x4D, 0x41, 0x52, 0x43, 0x55, 0x53, + 0x20, 0x56, 0x41, 0x55, 0x47, 0x48, 0x4E, 0x0D, + 0x03, 0x4F, 0x74, 0x68, 0x65, 0x72, 0x20, 0x54, + 0x6F, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x42, 0x49, 0x4C, 0x4C, 0x20, 0x43, 0x4F, + 0x4C, 0x4C, 0x49, 0x4E, 0x53, 0x0D, 0x03, 0x54, + 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, 0x41, 0x52, + 0x49, 0x41, 0x20, 0x44, 0x45, 0x4C, 0x20, 0x4D, + 0x41, 0x52, 0x20, 0x4C, 0x45, 0x47, 0x47, 0x0D, + 0x0D, 0x0D, 0x02, 0x4D, 0x4F, 0x52, 0x4E, 0x49, + 0x4E, 0x47, 0x4D, 0x49, 0x53, 0x54, 0x20, 0x56, + 0x41, 0x4C, 0x4C, 0x45, 0x59, 0x0D, 0x0D, 0x03, + 0x46, 0x61, 0x72, 0x6D, 0x65, 0x72, 0x20, 0x47, + 0x72, 0x65, 0x65, 0x6E, 0x62, 0x65, 0x72, 0x72, + 0x79, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x47, 0x68, 0x6F, 0x73, + 0x74, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, + 0x41, 0x52, 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, + 0x55, 0x47, 0x48, 0x4E, 0x0D, 0x03, 0x53, 0x63, + 0x61, 0x72, 0x65, 0x63, 0x72, 0x6F, 0x77, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, 0x41, 0x52, + 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, 0x55, 0x47, + 0x48, 0x4E, 0x0D, 0x03, 0x46, 0x61, 0x74, 0x20, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x4C, 0x45, 0x47, 0x47, 0x0D, + 0x03, 0x53, 0x6B, 0x69, 0x6E, 0x6E, 0x79, 0x20, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x52, 0x49, 0x43, 0x4B, 0x20, + 0x22, 0x43, 0x4F, 0x43, 0x4F, 0x22, 0x20, 0x47, + 0x55, 0x53, 0x48, 0x0D, 0x03, 0x54, 0x68, 0x65, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4D, 0x49, 0x43, 0x48, 0x41, + 0x45, 0x4C, 0x20, 0x47, 0x52, 0x41, 0x59, 0x46, + 0x4F, 0x52, 0x44, 0x0D, 0x0D, 0x0D, 0x02, 0x54, + 0x4F, 0x57, 0x4E, 0x45, 0x20, 0x4F, 0x46, 0x20, + 0x48, 0x49, 0x47, 0x48, 0x4D, 0x4F, 0x4F, 0x4E, + 0x0D, 0x0D, 0x03, 0x53, 0x68, 0x65, 0x72, 0x69, + 0x66, 0x66, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, + 0x52, 0x41, 0x59, 0x20, 0x46, 0x41, 0x56, 0x45, + 0x52, 0x4F, 0x0D, 0x03, 0x43, 0x61, 0x70, 0x27, + 0x6E, 0x20, 0x42, 0x6F, 0x62, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x42, 0x52, 0x49, 0x41, 0x4E, + 0x20, 0x53, 0x54, 0x52, 0x4F, 0x4D, 0x0D, 0x03, + 0x4F, 0x63, 0x74, 0x6F, 0x70, 0x75, 0x73, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x4C, 0x49, + 0x46, 0x46, 0x20, 0x4C, 0x41, 0x57, 0x52, 0x45, + 0x4E, 0x43, 0x45, 0x0D, 0x03, 0x50, 0x69, 0x72, + 0x61, 0x74, 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x4F, 0x55, 0x47, 0x20, 0x42, 0x41, + 0x4B, 0x45, 0x52, 0x0D, 0x03, 0x4F, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x50, 0x69, 0x72, 0x61, 0x74, + 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x45, + 0x52, 0x49, 0x43, 0x20, 0x4D, 0x41, 0x52, 0x54, + 0x49, 0x4E, 0x0D, 0x03, 0x41, 0x6E, 0x6F, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x50, 0x69, 0x72, 0x61, + 0x74, 0x65, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, + 0x45, 0x52, 0x49, 0x43, 0x20, 0x52, 0x41, 0x4E, + 0x44, 0x41, 0x4C, 0x4C, 0x0D, 0x03, 0x53, 0x71, + 0x75, 0x61, 0x77, 0x6B, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x50, 0x61, 0x72, 0x72, 0x6F, 0x74, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x4C, + 0x49, 0x46, 0x46, 0x20, 0x4C, 0x41, 0x57, 0x52, + 0x45, 0x4E, 0x43, 0x45, 0x0D, 0x03, 0x53, 0x61, + 0x69, 0x6C, 0x6F, 0x72, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x54, 0x49, 0x4D, 0x20, 0x43, 0x4C, + 0x41, 0x52, 0x4B, 0x0D, 0x03, 0x4F, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x53, 0x61, 0x69, 0x6C, 0x6F, + 0x72, 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4D, + 0x41, 0x52, 0x43, 0x55, 0x53, 0x20, 0x56, 0x41, + 0x55, 0x47, 0x48, 0x4E, 0x0D, 0x03, 0x54, 0x68, + 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x4A, 0x45, 0x4E, 0x4E, + 0x59, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, 0x0D, + 0x0D, 0x0D, 0x02, 0x56, 0x4F, 0x4C, 0x43, 0x41, + 0x4E, 0x49, 0x41, 0x0D, 0x0D, 0x03, 0x4A, 0x65, + 0x73, 0x73, 0x69, 0x63, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4A, 0x55, 0x4C, 0x49, 0x45, + 0x20, 0x43, 0x48, 0x49, 0x52, 0x49, 0x4C, 0x41, + 0x0D, 0x03, 0x53, 0x6D, 0x61, 0x72, 0x6D, 0x79, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x44, 0x4F, + 0x55, 0x47, 0x20, 0x42, 0x41, 0x4B, 0x45, 0x52, + 0x0D, 0x03, 0x42, 0x75, 0x72, 0x65, 0x61, 0x75, + 0x63, 0x72, 0x61, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, 0x52, + 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4C, 0x0D, 0x03, + 0x42, 0x75, 0x72, 0x65, 0x61, 0x75, 0x63, 0x72, + 0x61, 0x74, 0x72, 0x65, 0x73, 0x73, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x4A, 0x55, 0x4C, 0x49, + 0x45, 0x20, 0x42, 0x41, 0x4C, 0x53, 0x41, 0x4D, + 0x4F, 0x0D, 0x03, 0x4D, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x44, 0x45, 0x4E, 0x49, 0x53, + 0x45, 0x20, 0x53, 0x43, 0x48, 0x41, 0x46, 0x45, + 0x52, 0x0D, 0x03, 0x50, 0x61, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4B, 0x45, 0x4E, 0x4E, 0x45, + 0x54, 0x48, 0x20, 0x4A, 0x2E, 0x20, 0x4B, 0x55, + 0x43, 0x41, 0x4E, 0x0D, 0x03, 0x54, 0x68, 0x65, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x52, 0x41, 0x4D, 0x49, 0x4E, + 0x20, 0x46, 0x41, 0x54, 0x48, 0x49, 0x45, 0x0D, + 0x0D, 0x0D, 0x02, 0x45, 0x4E, 0x43, 0x48, 0x41, + 0x4E, 0x54, 0x45, 0x44, 0x20, 0x46, 0x4F, 0x52, + 0x45, 0x53, 0x54, 0x0D, 0x0D, 0x03, 0x4B, 0x6E, + 0x69, 0x67, 0x68, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x45, 0x52, 0x49, 0x43, 0x20, + 0x4D, 0x41, 0x52, 0x54, 0x49, 0x4E, 0x0D, 0x03, + 0x50, 0x65, 0x74, 0x72, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x20, 0x54, 0x72, 0x65, 0x65, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x05, 0x04, 0x44, 0x4F, 0x55, + 0x47, 0x20, 0x42, 0x41, 0x4B, 0x45, 0x52, 0x0D, + 0x03, 0x55, 0x6E, 0x69, 0x6F, 0x6E, 0x20, 0x53, + 0x71, 0x75, 0x69, 0x72, 0x72, 0x65, 0x6C, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x54, 0x49, + 0x4D, 0x20, 0x43, 0x4C, 0x41, 0x52, 0x4B, 0x0D, + 0x03, 0x4D, 0x79, 0x73, 0x74, 0x69, 0x63, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x43, 0x48, + 0x41, 0x52, 0x4C, 0x45, 0x53, 0x20, 0x4D, 0x4F, + 0x53, 0x48, 0x45, 0x52, 0x0D, 0x03, 0x4F, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x4D, 0x79, 0x73, 0x74, + 0x69, 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x52, 0x20, + 0x46, 0x52, 0x45, 0x46, 0x46, 0x20, 0x43, 0x4F, + 0x43, 0x48, 0x52, 0x41, 0x4E, 0x0D, 0x03, 0x54, + 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x05, 0x04, 0x4C, 0x59, + 0x4E, 0x44, 0x41, 0x20, 0x57, 0x41, 0x53, 0x4B, + 0x4F, 0x4D, 0x0D, 0x0D, 0x0D, 0x02, 0x41, 0x4C, + 0x50, 0x49, 0x4E, 0x49, 0x41, 0x0D, 0x0D, 0x03, + 0x41, 0x62, 0x6F, 0x6D, 0x69, 0x6E, 0x61, 0x62, + 0x6C, 0x65, 0x20, 0x53, 0x6E, 0x6F, 0x77, 0x6D, + 0x61, 0x6E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x4F, 0x55, 0x47, 0x20, 0x42, 0x41, + 0x4B, 0x45, 0x52, 0x0D, 0x03, 0x4D, 0x6F, 0x6D, + 0x6D, 0x79, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x44, 0x45, 0x4E, 0x49, 0x53, 0x45, 0x20, + 0x53, 0x43, 0x48, 0x41, 0x46, 0x45, 0x52, 0x0D, + 0x03, 0x42, 0x61, 0x62, 0x79, 0x20, 0x41, 0x6C, + 0x62, 0x65, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x54, 0x48, 0x45, 0x4F, 0x44, + 0x4F, 0x52, 0x45, 0x20, 0x4D, 0x4F, 0x52, 0x52, + 0x49, 0x53, 0x0D, 0x03, 0x48, 0x75, 0x6E, 0x74, + 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x05, + 0x04, 0x42, 0x49, 0x4C, 0x4C, 0x20, 0x43, 0x4F, + 0x4C, 0x4C, 0x49, 0x4E, 0x53, 0x0D, 0x03, 0x4F, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x48, 0x75, 0x6E, + 0x74, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x05, 0x04, 0x42, 0x4F, 0x42, 0x20, 0x42, 0x4C, + 0x4F, 0x4D, 0x47, 0x52, 0x45, 0x4E, 0x0D, 0x03, + 0x46, 0x6F, 0x6F, 0x74, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x53, 0x50, 0x45, 0x45, 0x44, + 0x59, 0x20, 0x44, 0x41, 0x57, 0x4E, 0x20, 0x48, + 0x55, 0x4E, 0x54, 0x5A, 0x49, 0x4E, 0x47, 0x45, + 0x52, 0x0D, 0x03, 0x53, 0x74, 0x75, 0x6E, 0x74, + 0x20, 0x48, 0x61, 0x6E, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x05, 0x04, 0x44, 0x41, 0x4E, 0x49, + 0x45, 0x4C, 0x20, 0x4B, 0x55, 0x43, 0x41, 0x4E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x54, 0x48, 0x45, 0x20, 0x48, 0x41, 0x4E, + 0x44, 0x20, 0x4F, 0x46, 0x20, 0x46, 0x41, 0x54, + 0x45, 0x0D, 0x02, 0x54, 0x45, 0x41, 0x4D, 0x20, + 0x43, 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x43, + 0x6F, 0x64, 0x65, 0x6A, 0x61, 0x6D, 0x6D, 0x65, + 0x72, 0x73, 0x0D, 0x02, 0x4D, 0x49, 0x4B, 0x45, + 0x20, 0x61, 0x6E, 0x64, 0x20, 0x4D, 0x49, 0x4B, + 0x45, 0x0D, 0x0D, 0x02, 0x56, 0x6F, 0x63, 0x61, + 0x6C, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6F, 0x6E, 0x20, 0x62, 0x79, 0x0D, 0x02, + 0x4A, 0x4F, 0x45, 0x20, 0x4B, 0x55, 0x43, 0x41, + 0x4E, 0x0D, 0x0D, 0x02, 0x44, 0x69, 0x67, 0x69, + 0x74, 0x61, 0x6C, 0x20, 0x53, 0x61, 0x6D, 0x70, + 0x6C, 0x69, 0x6E, 0x67, 0x20, 0x62, 0x79, 0x0D, + 0x02, 0x50, 0x41, 0x54, 0x20, 0x43, 0x4F, 0x4C, + 0x4C, 0x49, 0x4E, 0x53, 0x20, 0x61, 0x6E, 0x64, + 0x20, 0x44, 0x57, 0x49, 0x47, 0x48, 0x54, 0x20, + 0x4F, 0x4B, 0x41, 0x48, 0x41, 0x52, 0x41, 0x0D, + 0x0D, 0x02, 0x41, 0x75, 0x64, 0x69, 0x6F, 0x20, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6F, + 0x6E, 0x20, 0x62, 0x79, 0x0D, 0x02, 0x50, 0x41, + 0x55, 0x4C, 0x20, 0x4D, 0x55, 0x44, 0x52, 0x41, + 0x0D, 0x0D, 0x02, 0x52, 0x65, 0x63, 0x6F, 0x72, + 0x64, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x64, 0x20, + 0x45, 0x6E, 0x67, 0x69, 0x6E, 0x65, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x0D, 0x02, 0x54, + 0x4F, 0x54, 0x4F, 0x20, 0x5A, 0x41, 0x52, 0x41, + 0x20, 0x61, 0x74, 0x20, 0x4D, 0x69, 0x64, 0x69, + 0x57, 0x6F, 0x72, 0x6B, 0x73, 0x0D, 0x0D, 0x02, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, + 0x54, 0x65, 0x63, 0x68, 0x6E, 0x6F, 0x2D, 0x57, + 0x69, 0x7A, 0x61, 0x72, 0x64, 0x72, 0x79, 0x20, + 0x62, 0x79, 0x0D, 0x02, 0x53, 0x43, 0x4F, 0x54, + 0x54, 0x20, 0x42, 0x4F, 0x57, 0x45, 0x4E, 0x2C, + 0x20, 0x44, 0x41, 0x56, 0x49, 0x44, 0x20, 0x44, + 0x45, 0x54, 0x54, 0x4D, 0x45, 0x52, 0x2C, 0x0D, + 0x02, 0x61, 0x6E, 0x64, 0x20, 0x4A, 0x4F, 0x45, + 0x20, 0x42, 0x4F, 0x53, 0x54, 0x49, 0x43, 0x0D, + 0x0D, 0x02, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, + 0x69, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x50, 0x72, + 0x6F, 0x64, 0x75, 0x63, 0x65, 0x72, 0x0D, 0x02, + 0x52, 0x49, 0x43, 0x4B, 0x20, 0x47, 0x55, 0x53, + 0x48, 0x0D, 0x0D, 0x02, 0x50, 0x72, 0x6F, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x74, + 0x0D, 0x02, 0x44, 0x41, 0x56, 0x49, 0x44, 0x20, + 0x50, 0x4F, 0x4B, 0x4F, 0x52, 0x4E, 0x59, 0x0D, + 0x0D, 0x02, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, + 0x74, 0x20, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x69, + 0x6E, 0x61, 0x74, 0x6F, 0x72, 0x0D, 0x02, 0x4A, + 0x45, 0x46, 0x46, 0x20, 0x5A, 0x49, 0x45, 0x4C, + 0x0D, 0x0D, 0x02, 0x51, 0x75, 0x61, 0x6C, 0x69, + 0x74, 0x79, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6E, 0x63, 0x65, 0x0D, 0x02, 0x47, 0x4C, + 0x45, 0x4E, 0x4E, 0x20, 0x22, 0x47, 0x4C, 0x45, + 0x4E, 0x4E, 0x42, 0x4F, 0x22, 0x20, 0x53, 0x50, + 0x45, 0x52, 0x52, 0x59, 0x0D, 0x02, 0x42, 0x52, + 0x41, 0x44, 0x20, 0x22, 0x53, 0x54, 0x49, 0x4E, + 0x47, 0x22, 0x20, 0x52, 0x4F, 0x42, 0x45, 0x52, + 0x54, 0x53, 0x0D, 0x02, 0x43, 0x48, 0x41, 0x44, + 0x20, 0x53, 0x4F, 0x41, 0x52, 0x45, 0x53, 0x0D, + 0x02, 0x43, 0x48, 0x52, 0x49, 0x53, 0x20, 0x4D, + 0x63, 0x46, 0x41, 0x52, 0x4C, 0x41, 0x4E, 0x44, + 0x0D, 0x02, 0x43, 0x48, 0x52, 0x49, 0x53, 0x20, + 0x22, 0x44, 0x4F, 0x4F, 0x4D, 0x22, 0x20, 0x52, + 0x55, 0x42, 0x59, 0x4F, 0x52, 0x0D, 0x02, 0x44, + 0x41, 0x56, 0x45, 0x20, 0x4D, 0x41, 0x58, 0x45, + 0x59, 0x0D, 0x02, 0x4A, 0x45, 0x46, 0x46, 0x20, + 0x42, 0x55, 0x43, 0x43, 0x45, 0x4C, 0x4C, 0x41, + 0x54, 0x4F, 0x0D, 0x02, 0x4A, 0x45, 0x53, 0x53, + 0x45, 0x20, 0x22, 0x4C, 0x41, 0x52, 0x47, 0x45, + 0x59, 0x22, 0x20, 0x43, 0x4C, 0x45, 0x4D, 0x49, + 0x54, 0x0D, 0x02, 0x4A, 0x4F, 0x48, 0x4E, 0x20, + 0x53, 0x57, 0x45, 0x45, 0x4E, 0x59, 0x0D, 0x02, + 0x4A, 0x4F, 0x4E, 0x20, 0x57, 0x49, 0x4C, 0x4C, + 0x49, 0x41, 0x4D, 0x53, 0x0D, 0x02, 0x4B, 0x45, + 0x4E, 0x4E, 0x45, 0x54, 0x48, 0x20, 0x22, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x41, + 0x54, 0x4F, 0x52, 0x22, 0x20, 0x44, 0x55, 0x4E, + 0x4E, 0x45, 0x0D, 0x02, 0x4D, 0x49, 0x4B, 0x45, + 0x20, 0x22, 0x44, 0x41, 0x52, 0x4B, 0x4E, 0x49, + 0x47, 0x48, 0x54, 0x22, 0x20, 0x4C, 0x49, 0x47, + 0x48, 0x54, 0x4E, 0x45, 0x52, 0x0D, 0x02, 0x4D, + 0x49, 0x54, 0x43, 0x48, 0x20, 0x46, 0x45, 0x4C, + 0x44, 0x4D, 0x41, 0x4E, 0x0D, 0x02, 0x50, 0x41, + 0x55, 0x4C, 0x20, 0x53, 0x48, 0x4F, 0x45, 0x4E, + 0x45, 0x52, 0x0D, 0x02, 0x53, 0x43, 0x4F, 0x54, + 0x54, 0x20, 0x4D, 0x41, 0x4E, 0x4E, 0x49, 0x4E, + 0x47, 0x0D, 0x02, 0x54, 0x49, 0x4D, 0x20, 0x22, + 0x44, 0x41, 0x52, 0x4B, 0x57, 0x4F, 0x4C, 0x46, + 0x22, 0x20, 0x46, 0x52, 0x49, 0x54, 0x5A, 0x0D, + 0x02, 0x54, 0x52, 0x4F, 0x59, 0x20, 0x4C, 0x45, + 0x4F, 0x4E, 0x41, 0x52, 0x44, 0x0D, 0x0D, 0x02, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, + 0x54, 0x68, 0x61, 0x6E, 0x6B, 0x73, 0x20, 0x74, + 0x6F, 0x0D, 0x02, 0x42, 0x41, 0x52, 0x42, 0x41, + 0x52, 0x41, 0x20, 0x52, 0x49, 0x43, 0x48, 0x4D, + 0x41, 0x4E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x41, 0x6E, 0x79, 0x20, 0x72, + 0x65, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x61, 0x6E, + 0x63, 0x65, 0x20, 0x69, 0x6E, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x67, 0x61, 0x6D, 0x65, 0x20, + 0x74, 0x6F, 0x20, 0x0D, 0x02, 0x70, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x73, 0x20, 0x6F, 0x72, 0x20, + 0x61, 0x70, 0x70, 0x65, 0x6E, 0x64, 0x61, 0x67, + 0x65, 0x73, 0x2C, 0x20, 0x6C, 0x69, 0x76, 0x69, + 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x0D, 0x02, 0x64, + 0x65, 0x61, 0x64, 0x2C, 0x20, 0x69, 0x73, 0x20, + 0x70, 0x75, 0x72, 0x65, 0x6C, 0x79, 0x20, 0x63, + 0x6F, 0x69, 0x6E, 0x63, 0x69, 0x64, 0x65, 0x6E, + 0x74, 0x61, 0x6C, 0x2E, 0x0D, 0x0D, 0x02, 0x43, + 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, + 0x34, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74, 0x77, + 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, + 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x0D, 0x02, 0x41, 0x6C, 0x6C, 0x20, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider k2SeqplayCreditsDOSCDDemoProvider = { ARRAYSIZE(k2SeqplayCreditsDOSCDDemo), k2SeqplayCreditsDOSCDDemo }; + +static const char *const k2SeqplayCreditsSpecialDOSCDDemo[2] = { + "Codejammers", + "MIKE and MIKE" +}; + +static const StringListProvider k2SeqplayCreditsSpecialDOSCDDemoProvider = { ARRAYSIZE(k2SeqplayCreditsSpecialDOSCDDemo), k2SeqplayCreditsSpecialDOSCDDemo }; + +static const char *const k2SeqplaySfxFilesDOSCDDemo[48] = { + "eintro1", + "eintro2", + "eintro3", + "eintro4", + "eintro5", + "eintro6", + "eintro7", + "eintro8", + "eintro9", + "eintro10", + "eintro11", + "eintro12", + "eglow", + "0000210", + "0000130", + "0000180", + "0000160", + "asong", + "crowcaw", + "eyerub2", + "pluck3", + "rodnreel", + "frog1", + "scavmov2", + "lambmom3", + "lambkid1", + "thunder2", + "thunder3", + "wind6", + "h2odrop2", + "gasleak", + "polgulp1", + "hndslap1", + "burp1", + "0000220", + "0000230", + "0000250", + "0000260", + "0000270", + "0000280", + "0000290", + "0000300", + "0000310", + "0000320", + "0000330", + "scream1", + "theend", + "" +}; + +static const StringListProvider k2SeqplaySfxFilesDOSCDDemoProvider = { ARRAYSIZE(k2SeqplaySfxFilesDOSCDDemo), k2SeqplaySfxFilesDOSCDDemo }; + +static const HoFSequence k2SeqplaySeqDataDOSCDDemoSeq[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 k2SeqplaySeqDataDOSCDDemoSeqNestedControl7[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 k2SeqplaySeqDataDOSCDDemoSeqNestedControl10[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 k2SeqplaySeqDataDOSCDDemoSeqNestedControl11[9] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 4, 6 }, + { 5, 64 }, + { 5, 6 } +}; + +static const FrameControl k2SeqplaySeqDataDOSCDDemoSeqNestedControl12[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 k2SeqplaySeqDataDOSCDDemoSeqNestedControl13[5] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 1, 6 }, + { 0, 1 } +}; + +static const FrameControl k2SeqplaySeqDataDOSCDDemoSeqNestedControl14[8] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 2, 6 }, + { 1, 6 } +}; + +static const HoFNestedSequence k2SeqplaySeqDataDOSCDDemoSeqNested[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(k2SeqplaySeqDataDOSCDDemoSeqNestedControl7), k2SeqplaySeqDataDOSCDDemoSeqNestedControl7, 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(k2SeqplaySeqDataDOSCDDemoSeqNestedControl10), k2SeqplaySeqDataDOSCDDemoSeqNestedControl10, 0, 0 }, + { 0x002A, "hand1c.wsa", 0, 9, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeqNestedControl11), k2SeqplaySeqDataDOSCDDemoSeqNestedControl11, 0, 0 }, + { 0x002C, "hand2.wsa", 0, 2, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeqNestedControl12), k2SeqplaySeqDataDOSCDDemoSeqNestedControl12, 5, 0 }, + { 0x002C, "hand3.wsa", 0, 4, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeqNestedControl13), k2SeqplaySeqDataDOSCDDemoSeqNestedControl13, 5, 0 }, + { 0x002C, "hand4.wsa", 0, 8, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeqNestedControl14), k2SeqplaySeqDataDOSCDDemoSeqNestedControl14, 5, 0 } +}; + +static const HoFSequenceProvider k2SeqplaySeqDataDOSCDDemoProvider = { ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeq), k2SeqplaySeqDataDOSCDDemoSeq, ARRAYSIZE(k2SeqplaySeqDataDOSCDDemoSeqNested), k2SeqplaySeqDataDOSCDDemoSeqNested }; + +static const char *const k2SeqplayIntroTracksDOSCDDemo[1] = { + "k2intro" +}; + +static const StringListProvider k2SeqplayIntroTracksDOSCDDemoProvider = { ARRAYSIZE(k2SeqplayIntroTracksDOSCDDemo), k2SeqplayIntroTracksDOSCDDemo }; + +static const char *const k2SeqplayFinaleTracksDOSCDDemo[1] = { + "k2finale" +}; + +static const StringListProvider k2SeqplayFinaleTracksDOSCDDemoProvider = { ARRAYSIZE(k2SeqplayFinaleTracksDOSCDDemo), k2SeqplayFinaleTracksDOSCDDemo }; + +static const char *const k2IngameSfxFilesDOSCDDemo[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 k2IngameSfxFilesDOSCDDemoProvider = { ARRAYSIZE(k2IngameSfxFilesDOSCDDemo), k2IngameSfxFilesDOSCDDemo }; + +static const byte k2IngameSfxIndexDOSCDDemo[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 k2IngameSfxIndexDOSCDDemoProvider = { ARRAYSIZE(k2IngameSfxIndexDOSCDDemo), k2IngameSfxIndexDOSCDDemo }; + +static const char *const k2IngameTracksDOSCDDemo[15] = { + "K2TEST1", + "K2TEST2", + "K2TEST3", + "K2TEST4", + "K2TEST5", + "K2TEST6", + "K2TEST7", + "K2TEST8", + "K2TEST9", + "K2TEST10", + "K2TEST11", + "K2TEST12", + "K2TEST13", + "K2TEST14", + "K2TEST15" +}; + +static const StringListProvider k2IngameTracksDOSCDDemoProvider = { ARRAYSIZE(k2IngameTracksDOSCDDemo), k2IngameTracksDOSCDDemo }; + +static const byte k2IngameTalkObjIndexDOSCDDemo[132] = { + 0x20, 0x43, 0x6F, 0x72, 0x72, 0x75, 0x70, 0x74, + 0x21, 0x21, 0x21, 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, 0x5B, 0x00, 0x69, 0x00, 0x6E, 0x00, + 0x72, 0x00, 0x76, 0x00 +}; + +static const ByteProvider k2IngameTalkObjIndexDOSCDDemoProvider = { ARRAYSIZE(k2IngameTalkObjIndexDOSCDDemo), k2IngameTalkObjIndexDOSCDDemo }; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo0FrameControl[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 k2IngameShapeAnimDataDOSCDDemo1FrameControl[6] = { + { 0x0002, 0x012C }, + { 0x002D, 0x012C }, + { 0x002E, 0x012C }, + { 0x002F, 0x012C }, + { 0x002E, 0x012C }, + { 0x002D, 0x012C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo2FrameControl[6] = { + { 0x000B, 0x0258 }, + { 0x0030, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0032, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0030, 0x0005 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo3FrameControl[4] = { + { 0x001C, 0x0014 }, + { 0x004E, 0x0014 }, + { 0x004F, 0x0014 }, + { 0x0050, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo4FrameControl[4] = { + { 0x0017, 0x0007 }, + { 0x0051, 0x0007 }, + { 0x0052, 0x0007 }, + { 0x0053, 0x0007 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo5FrameControl[4] = { + { 0x0016, 0x0014 }, + { 0x0054, 0x0014 }, + { 0x0055, 0x0014 }, + { 0x0056, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo6FrameControl[4] = { + { 0x003A, 0x003C }, + { 0x0057, 0x003C }, + { 0x0058, 0x003C }, + { 0x0059, 0x003C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo7FrameControl[4] = { + { 0x001A, 0x0032 }, + { 0x005A, 0x0032 }, + { 0x005B, 0x0032 }, + { 0x005C, 0x0032 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo8FrameControl[4] = { + { 0x006D, 0x000C }, + { 0x006E, 0x000C }, + { 0x006F, 0x000C }, + { 0x0070, 0x000C } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo9FrameControl[4] = { + { 0x0079, 0x0008 }, + { 0x007A, 0x0008 }, + { 0x007B, 0x0008 }, + { 0x007C, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo10FrameControl[4] = { + { 0x007E, 0x0008 }, + { 0x007F, 0x0008 }, + { 0x0080, 0x0008 }, + { 0x0081, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo11FrameControl[6] = { + { 0x0091, 0x01A4 }, + { 0x0092, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0094, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0092, 0x0004 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo12FrameControl[4] = { + { 0x0095, 0x0006 }, + { 0x0096, 0x0006 }, + { 0x0097, 0x0006 }, + { 0x0098, 0x0006 } +}; + +static const FrameControl k2IngameShapeAnimDataDOSCDDemo13FrameControl[4] = { + { 0x0099, 0x002D }, + { 0x009A, 0x002D }, + { 0x009B, 0x002D }, + { 0x009C, 0x002D } +}; + +static const ItemAnimDefinition k2IngameShapeAnimDataDOSCDDemo[14] = { + { 6, 12, k2IngameShapeAnimDataDOSCDDemo0FrameControl }, + { 2, 6, k2IngameShapeAnimDataDOSCDDemo1FrameControl }, + { 11, 6, k2IngameShapeAnimDataDOSCDDemo2FrameControl }, + { 28, 4, k2IngameShapeAnimDataDOSCDDemo3FrameControl }, + { 23, 4, k2IngameShapeAnimDataDOSCDDemo4FrameControl }, + { 22, 4, k2IngameShapeAnimDataDOSCDDemo5FrameControl }, + { 58, 4, k2IngameShapeAnimDataDOSCDDemo6FrameControl }, + { 26, 4, k2IngameShapeAnimDataDOSCDDemo7FrameControl }, + { 109, 4, k2IngameShapeAnimDataDOSCDDemo8FrameControl }, + { 121, 4, k2IngameShapeAnimDataDOSCDDemo9FrameControl }, + { 126, 4, k2IngameShapeAnimDataDOSCDDemo10FrameControl }, + { 145, 6, k2IngameShapeAnimDataDOSCDDemo11FrameControl }, + { 149, 4, k2IngameShapeAnimDataDOSCDDemo12FrameControl }, + { 153, 4, k2IngameShapeAnimDataDOSCDDemo13FrameControl } +}; + +static const ItemAnimDefinitionProvider k2IngameShapeAnimDataDOSCDDemoProvider = { ARRAYSIZE(k2IngameShapeAnimDataDOSCDDemo), k2IngameShapeAnimDataDOSCDDemo }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cddemo_english.h b/devtools/create_kyradat/resources/hof_dos_cddemo_english.h new file mode 100644 index 0000000000..4b6293363a --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cddemo_english.h @@ -0,0 +1,139 @@ +static const char *const k2SeqplayStringsDOSCDDemoEnglish[104] = { + "Kyrandia is disappearing!", + "Rock by rock...", + "...and tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved...", + "...that required a magic Anchor Stone...", + "...to be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Direction & Design", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Mike Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Joe Kucan's Hair by", + "Theodore A. Morris", + "Load a game", + "Introduction", + "Start a new game", + "Exit the game", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Thank you for playing \"The Hand of Fate.\"\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDDemoEnglishProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDDemoEnglish), k2SeqplayStringsDOSCDDemoEnglish }; + +static const char *const k2SeqplayTlkFilesDOSCDDemoEnglish[14] = { + "EINTRO1", + "EINTRO2", + "EINTRO3", + "EINTRO4", + "EINTRO5", + "EINTRO6", + "EINTRO7", + "EINTRO8", + "EINTRO9", + "EINTRO10", + "EINTRO11", + "EINTRO12", + "EGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDDemoEnglishProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDDemoEnglish), k2SeqplayTlkFilesDOSCDDemoEnglish }; + +static const char *const k2IngameTlkDemoStringsDOSCDDemoEnglish[6] = { + "Congratulations! Thank you for guiding", + "Zanthia safely through Darkmoor Swamp.", + "To continue her adventures, look for", + "Kyrandia 2: The Hand of Fate on PC", + "CD-ROM or floppy disk, at your local", + "software store." +}; + +static const StringListProvider k2IngameTlkDemoStringsDOSCDDemoEnglishProvider = { ARRAYSIZE(k2IngameTlkDemoStringsDOSCDDemoEnglish), k2IngameTlkDemoStringsDOSCDDemoEnglish }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cddemo_french.h b/devtools/create_kyradat/resources/hof_dos_cddemo_french.h new file mode 100644 index 0000000000..399cf2e287 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cddemo_french.h @@ -0,0 +1,139 @@ +static const char *const k2SeqplayStringsDOSCDDemoFrench[104] = { + "Kyrandia est en train de dispara""\x8C""tre!", + "Pierre apr""\x8A""s pierre...", + "Arbre apr""\x8A""s arbre.", + "Kyrandia va cesser d'exister!", + "Les Grands Mystiques Royaux sont perplexes...", + "Ils ont consult""\x82"" tous les ouvrages!", + "M""\x88""me Marko et son nouveau valet ont ""\x82""t""\x82"" admis dans la conf""\x82""rence.", + "Heureusement, la Main connaissait bien ce sujet.", + "Un plan fut finalement approuv""\x82""...", + "Il n""\x82""cessitait une Ancre de Pierre magique...", + "Qu'il fallait aller chercher au centre du monde!", + "Zanthia, la plus jeune des Mystiques de Kyrandia, a ""\x82""t""\x82"" choisie pour r""\x82""cup""\x82""rer cette pierre.", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate.", + "Je devrais avoir assez de myrtilles pour ouvrir un portail vers le centre du monde...", + " DUMMY STRING... ", + " DUMMY STRING... ", + "H""\x82""! On m'a vol""\x82"" tout mon ""\x82""quipement!", + " DUMMY STRING... ", + "S'ils croient que je vais y aller ""\x85"" pied, ils peuvent toujours courir!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Vite, Faun!", + "Mon vieux, nous l'avons ""\x82""chapp""\x82"" belle!", + "Tu l'as dit! En ce qui me concerne, j'abandonne la chasse!", + "Crooa.", + "Combien de fois faudra-t-il que je te le dise? Tu n'es qu'un sale crapaud!", + "Oh non! Nous n'avons plus de fromage!", + "On n'a qu'""\x85"" essayer ""\x87""a. C'est orange.", + "Maman, quand est-ce qu'on mangera du lierre?", + "Sortez d'ici! Allez! Filez!", + "Tu coupes, et je choisis.", + "Non. TU coupes et JE choisis.", + "Je maintiens que c'""\x82""tait du radotage sans int""\x82""r""\x88""t.", + "Tu ne reconna""\x8C""trais toujours pas un po""\x8A""me ""\x8B""ambique, m""\x88""me s'il te mordait les fesses!", + "Producteur Ex""\x82""cutif", + "Brett W. Sperry", + "Con""\x87""u et Dirig""\x82"" par", + "Rick Gush", + "Programmeur Principal", + "Michael Legg", + "Direction Artistique", + "Louis Castle", + "Joseph B. Hewitt IV", + "Graphiste principal", + "Rick Parks", + "Programmation acrobatie", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Graphistes", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Musique et sons", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Tests de Qualit""\x82", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Pierre Cardin", + "Conception du Manuel,", + "Emballage & Ex""\x82""cution", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "F""\x82""licitations!", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate!", + "Programmeur invit""\x82", + "Coordination Production", + "Scott Duckett", + "Testeurs - Irvine", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Williams", + "Chris Toft", + "Adaptation fran""\x87""aise", + "Art Of Words", + "Charger une partie", + "Introduction", + "Nouvelle Partie", + "Quitter le jeu", + "Remerciements sp""\x82""ciaux", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Merci d'avoir jou""\x82"" ""\x85""\"The Hand of Fate.\"\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDDemoFrenchProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDDemoFrench), k2SeqplayStringsDOSCDDemoFrench }; + +static const char *const k2SeqplayTlkFilesDOSCDDemoFrench[14] = { + "FINTRO1", + "FINTRO2", + "FINTRO3", + "FINTRO4", + "FINTRO5", + "FINTRO6", + "FINTRO7", + "FINTRO8", + "FINTRO9", + "FINTRO10", + "FINTRO11", + "FINTRO12", + "FGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDDemoFrenchProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDDemoFrench), k2SeqplayTlkFilesDOSCDDemoFrench }; + +static const char *const k2IngameTlkDemoStringsDOSCDDemoFrench[6] = { + "F""\x82""licitations! Merci d'avoir guider", + "Zanthia a travers le marals de Darkmoor.", + "Pour continuer votre aventure, allez vous", + "procurer la version CD-ROM de The Hand of", + "Fate chez votre revendeur.", + " " +}; + +static const StringListProvider k2IngameTlkDemoStringsDOSCDDemoFrenchProvider = { ARRAYSIZE(k2IngameTlkDemoStringsDOSCDDemoFrench), k2IngameTlkDemoStringsDOSCDDemoFrench }; + diff --git a/devtools/create_kyradat/resources/hof_dos_cddemo_german.h b/devtools/create_kyradat/resources/hof_dos_cddemo_german.h new file mode 100644 index 0000000000..e32c88de40 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_cddemo_german.h @@ -0,0 +1,139 @@ +static const char *const k2SeqplayStringsDOSCDDemoGerman[104] = { + "Kyrandia l""\x94""st sich auf!", + "Stein f""\x81""r Stein...", + "...und Baum f""\x81""r Baum.", + "Kyrandia h""\x94""rt auf zu existieren!", + "Die k""\x94""niglichen Mystiker sind verzweifelt.", + "Jede Informationsquelle wurde zu Rate gezogen.", + "Sogar Marko und sein neuer Kammerdiener durften den Konferenzen beiwohnen.", + "Gl""\x81""cklicherweise, hatte die Hand Erfahrungen in solchen Dingen.", + "Und letztendlich konnte man sich auf einen Plan einigen.", + "Zu dessen Durchf""\x81""hrung es eines magischen Ankerstein bedarf...", + "...der aus der Mitte der Welt geholt werden mu""\xE1"".", + "Zanthia, j""\x81""ngste der kyrandianischen Mystiker, wurde ausgew""\x84""hlt, um diesen Stein zu holen.", + "Vielen Dank, da""\xE1"" Du die Hand des Schicksals spielst.", + "Dies sollten gen""\x81""gend Blaubeeren sein, um ein Portal zur Mitte der Erde zu ""\x94""ffnen.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! Meine gesamte Ausr""\x81""stung wurde gestohlen!", + " DUMMY STRING... ", + "Wenn die glauben, da""\xE1"" ich den ganzen Weg nach unten laufe, haben die sich aber in den Finger geschnitten!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Beeile Dich, Faun!", + "Junge, Junge das war aber knapp!", + "Da hast Du recht, Kumpel. Ich werde nie wieder jagen gehen!", + "Quuaaak.", + "Wie oft mu""\xE1"" ich es Dir noch sagen? Du bist eine Kr""\x94""te.", + "Oh nein! Der K""\x84""se ist alle!", + "Versuchen wir es mal mit dem Ohrenwachs. Es ist orange.", + "Mama, wann bekomme ich das Efeu?", + "Husch husch, komm hier raus!", + "Du schneidest, und ich suche aus.", + "Nein. Du schneidest und ich werde aussuchen.", + "Ich bin immernoch der\rMeinung, da""\xE1"" er es nur\rso dahingeplappert hat.", + "Argh, Du w""\x81""rdest ein jambisches Pentameter nicht erkennen, wenn es Dich in den Hintern bei""\xE1""en w""\x81""rde!", + "Executive Producer", + "Brett W. Sperry", + "Director & Designer", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "DUMMY STRING... ", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Black Pete", + "Manual, Package Design", + "& Fulfillment by", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Unseren Gl""\x81""ckw""\x81""nsch!", + "Vielen Dank, da""\xE1"" Sie The Hand of Fate gespielt haben!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Ants! Ants! Ants!", + "Ted Morris", + "Spielstand laden", + "Intro", + "Neues Spiel starten", + "Spiel beenden", + "Vielen Dank an", + "tom schmidt", + "Tim Fritz", + "Kenny Dunne", + "Vielen Dank, da""\xE1"" Sie \"The Hand of Fate\" gespielt haben.\n" +}; + +static const StringListProvider k2SeqplayStringsDOSCDDemoGermanProvider = { ARRAYSIZE(k2SeqplayStringsDOSCDDemoGerman), k2SeqplayStringsDOSCDDemoGerman }; + +static const char *const k2SeqplayTlkFilesDOSCDDemoGerman[14] = { + "GINTRO1", + "GINTRO2", + "GINTRO3", + "GINTRO4", + "GINTRO5", + "GINTRO6", + "GINTRO7", + "GINTRO8", + "GINTRO9", + "GINTRO10", + "GINTRO11", + "GINTRO12", + "GGLOW", + "" +}; + +static const StringListProvider k2SeqplayTlkFilesDOSCDDemoGermanProvider = { ARRAYSIZE(k2SeqplayTlkFilesDOSCDDemoGerman), k2SeqplayTlkFilesDOSCDDemoGerman }; + +static const char *const k2IngameTlkDemoStringsDOSCDDemoGerman[6] = { + "Herzlichen Gl""\x81""ckwunsch! Wir danken Dir,", + "da""\xE1"" Du Zanthia sicher durch Darkmoor", + "Swamp geleitet hast. Du kannst ihr", + "Abenteuer auf der The Hand of Fate", + "CD-ROM fortf""\x81""hren. Erkundige Dich bei", + "Deinem H""\x84""ndler nach dieser CD-ROM." +}; + +static const StringListProvider k2IngameTlkDemoStringsDOSCDDemoGermanProvider = { ARRAYSIZE(k2IngameTlkDemoStringsDOSCDDemoGerman), k2IngameTlkDemoStringsDOSCDDemoGerman }; + diff --git a/devtools/create_kyradat/resources/hof_dos_demo.h b/devtools/create_kyradat/resources/hof_dos_demo.h new file mode 100644 index 0000000000..00e8d3ff05 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_demo.h @@ -0,0 +1,77 @@ +static const char *const k2SeqplayPakFilesDOSDemo[2] = { + "GENERAL.PAK", + "VOC.PAK" +}; + +static const StringListProvider k2SeqplayPakFilesDOSDemoProvider = { ARRAYSIZE(k2SeqplayPakFilesDOSDemo), k2SeqplayPakFilesDOSDemo }; + +static const HoFSequence k2SeqplaySeqDataDOSDemoSeq[8] = { + { 0x0002, "", "virgin.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0064, 0, 0, 0x001E }, + { 0x0001, "westwood.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0012, 0x000C, 0, 0, 0x001E }, + { 0x0001, "title.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001A, 0x0006, 0, 0, 0x0064 }, + { 0x0001, "hill.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0082, 0x0007, 0, 0, 0x001E }, + { 0x0003, "outhome.wsa", "outhome.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x009A, 0x0005, 0, 0, 0x001E }, + { 0x0001, "wharf.wsa", "", 5, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001C, 0x000A, 0, 0, 0x001E }, + { 0x0001, "dinob.wsa", "", 5, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0004, 0x0008, 0, 0, 0x001E }, + { 0x0002, "", "fisher.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0FA0, 0, 0, 0x0004 } +}; + +static const HoFNestedSequence k2SeqplaySeqDataDOSDemoSeqNested[5] = { + { 0x0002, "wharf2.wsa", 0, 70, 1, 0, 0, 0, NULL, 0, 0 }, + { 0x0002, "dinob2.wsa", 0, 80, 2, 0, 0, 0, NULL, 0, 0 }, + { 0x0004, "water.wsa", 0, 11, 4, 0, 0, 0, NULL, 0, 0 }, + { 0x0004, "bail.wsa", 0, 16, 24, 0, 0, 0, NULL, 0, 0 }, + { 0x0004, "dig.wsa", 0, 12, 18, 0, 0, 0, NULL, 0, 0 } +}; + +static const HoFSequenceProvider k2SeqplaySeqDataDOSDemoProvider = { ARRAYSIZE(k2SeqplaySeqDataDOSDemoSeq), k2SeqplaySeqDataDOSDemoSeq, ARRAYSIZE(k2SeqplaySeqDataDOSDemoSeqNested), k2SeqplaySeqDataDOSDemoSeqNested }; + +static const char *const k2SeqplaySfxFilesDOSDemo[20] = { + "bigslam", + "clothes1", + "doormtop", + "fngrsnap", + "frogmix2", + "frogsigh", + "h2odrop2", + "orcmove", + "rowboat1", + "squish1", + "stretch1", + "ocean1", + "splash1", + "trex1", + "trex3", + "trex5", + "zno2", + "big", + "dreamer", + "" +}; + +static const StringListProvider k2SeqplaySfxFilesDOSDemoProvider = { ARRAYSIZE(k2SeqplaySfxFilesDOSDemo), k2SeqplaySfxFilesDOSDemo }; + +static const char *const k2SeqplayIntroTracksDOSDemo[2] = { + "k2_demo", + "k2_demo" +}; + +static const StringListProvider k2SeqplayIntroTracksDOSDemoProvider = { ARRAYSIZE(k2SeqplayIntroTracksDOSDemo), k2SeqplayIntroTracksDOSDemo }; + +static const HoFSeqItemAnimData k2SeqplayShapeAnimDataDOSDemo[4] = { + { 0, 67, + { 0x0000, 0x0001, 0x0002, 0x0003, 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0003, + 0x0002, 0x0001, 0x0000, 0x0001, 0x0002, 0x0003, 0x0002, 0x0001, 0x0000, 0x0000 } }, + { 4, 109, + { 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, + 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003 } }, + { 8, 145, + { 0x0000, 0x0001, 0x0002, 0x0003, 0x0003, 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } }, + { 12, 180, + { 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, + 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003, 0x0000, 0x0001, 0x0002, 0x0003 } } +}; + +static const HoFSeqItemAnimDataProvider k2SeqplayShapeAnimDataDOSDemoProvider = { ARRAYSIZE(k2SeqplayShapeAnimDataDOSDemo), k2SeqplayShapeAnimDataDOSDemo }; + diff --git a/devtools/create_kyradat/resources/hof_dos_english.h b/devtools/create_kyradat/resources/hof_dos_english.h new file mode 100644 index 0000000000..35ba8eac15 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_english.h @@ -0,0 +1,108 @@ +static const char *const k2SeqplayStringsDOSEnglish[103] = { + "Kyrandia is disappearing!", + "Rock by rock,", + "And tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet, have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved,", + "That required a magic Anchor Stone,", + "To be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "Load a game", + "Introduction", + "Start a new game", + "Exit the game", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne" +}; + +static const StringListProvider k2SeqplayStringsDOSEnglishProvider = { ARRAYSIZE(k2SeqplayStringsDOSEnglish), k2SeqplayStringsDOSEnglish }; + diff --git a/devtools/create_kyradat/resources/hof_dos_french.h b/devtools/create_kyradat/resources/hof_dos_french.h new file mode 100644 index 0000000000..fc21dc0601 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_french.h @@ -0,0 +1,108 @@ +static const char *const k2SeqplayStringsDOSFrench[103] = { + "Kyrandia est en train de dispara""\x8C""tre!", + "Pierre apr""\x8A""s pierre...", + "Arbre apr""\x8A""s arbre.", + "Kyrandia va cesser d'exister!", + "Les Grands Mystiques Royaux sont perplexes...", + "Ils ont consult""\x82"" tous les ouvrages!", + "M""\x88""me Marko et son nouveau valet ont ""\x82""t""\x82"" admis dans la conf""\x82""rence.", + "Heureusement, la Main connaissait bien ce sujet.", + "Un plan fut finalement approuv""\x82""...", + "Il n""\x82""cessitait une Ancre de Pierre magique...", + "Qu'il fallait aller chercher... au centre du monde!", + "Zanthia, la plus jeune des Mystiques de Kyrandia, a ""\x82""t""\x82"" choisie pour r""\x82""cup""\x82""rer cette pierre.", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate.", + "Je devrais avoir assez de myrtilles pour ouvrir un portail vers le centre du monde...", + " DUMMY STRING... ", + " DUMMY STRING... ", + "H""\x82""! On m'a vol""\x82"" tout mon ""\x82""quipement!", + " DUMMY STRING... ", + "S'ils croient que je vais y aller ""\x85"" pied, ils peuvent toujours courir!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Vite, Faun!", + "Mon vieux, nous l'avons ""\x82""chapp""\x82"" belle!", + "Tu l'as dit! En ce qui me concerne, j'abandonne la chasse!", + "Crooa.", + "Combien de fois faudra-t-il que je te le dise? Tu n'es qu'un sale crapaud!", + "Oh non! Nous n'avons plus de fromage!", + "On n'a qu'""\x85"" essayer ""\x87""a. C'est orange.", + "Maman, quand est-ce qu'on mangera du lierre?", + "Sortez d'ici! Allez! Filez!", + "Tu coupes, et je choisis.", + "Non. TU coupes et JE choisis.", + "Je maintiens que c'""\x82""tait du radotage sans int""\x82""r""\x88""t.", + "Tu ne reconna""\x8C""trais toujours pas un po""\x8A""me ""\x8B""ambique, m""\x88""me s'il te mordait les fesses!", + "Producteur Ex""\x82""cutif", + "Brett W. Sperry", + "Con""\x87""u et Dirig""\x82"" par", + "Rick Gush", + "Programmeur Principal", + "Michael Legg", + "Direction Artistique", + "Louis Castle", + "Joseph B. Hewitt IV", + "Graphiste principal", + "Rick Parks", + "Programmation acrobatie", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Graphistes", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Musique et sons:", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Tests de Qualit""\x82", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Pierre Cardin", + "Conception du Manuel,", + "Emballage & Ex""\x82""cution", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "F""\x82""licitations!", + "Merci d'avoir jou""\x82"" ""\x85"" The Hand of Fate!", + "Programmeur invit""\x82", + "Coordination Production", + "Scott Duckett", + "Testeurs - Irvine", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Williams", + "Chris Toft", + "Adaptation fran""\x87""aise:", + "Art Of Words", + "Charger une partie", + "Introduction", + "Nouvelle Partie", + "Quitter le jeu", + "Remerciements sp""\x82""ciaux", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne" +}; + +static const StringListProvider k2SeqplayStringsDOSFrenchProvider = { ARRAYSIZE(k2SeqplayStringsDOSFrench), k2SeqplayStringsDOSFrench }; + diff --git a/devtools/create_kyradat/resources/hof_dos_german.h b/devtools/create_kyradat/resources/hof_dos_german.h new file mode 100644 index 0000000000..8529ed03da --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_german.h @@ -0,0 +1,108 @@ +static const char *const k2SeqplayStringsDOSGerman[103] = { + "Kyrandia l""\x94""st sich auf!", + "Stein f""\x81""r Stein,", + "Und Baum f""\x81""r Baum.", + "Kyrandia h""\x94""rt auf zu existieren!", + "Die k""\x94""niglichen Mystiker sind verzweifelt.", + "Jede Informationsquelle wurde zu Rate gezogen.", + "Sogar Marko und sein neuer Kammerdiener durften den Konferenzen beiwohnen.", + "Gl""\x81""cklicherweise, hatte die Hand Erfahrungen in solchen Dingen.", + "Und letztendlich konnte man sich auf einen Plan einigen,", + "Zu dessen Durchf""\x81""hrung es eines magischen Ankerstein bedarf,", + "Der aus der Mitte der Welt geholt werden mu""\xE1"".", + "Zanthia, j""\x81""ngste der kyrandianischen Mystiker, wurde ausgew""\x84""hlt, um diesen Stein zu holen.", + "Vielen Dank, da""\xE1"" Du die Hand des Schicksals spielst.", + "Dies sollten gen""\x81""gend Blaubeeren sein, um ein Portal zur Mitte der Erde zu ""\x94""ffnen.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! Meine gesamte Ausr""\x81""stung wurde gestohlen!", + " DUMMY STRING... ", + "Wenn die glauben, da""\xE1"" ich den ganzen Weg nach unten laufe, haben die sich aber in den Finger geschnitten!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Beeile Dich, Faun!", + "Junge, Junge das war aber knapp!", + "Da hast Du recht, Kumpel. Ich werde nie wieder jagen gehen!", + "Quuaaak.", + "Wie oft mu""\xE1"" ich es Dir noch sagen? Du bist eine Kr""\x94""te.", + "Oh nein! Der K""\x84""se ist alle!", + "Versuchen wir es mal mit dem Ohrenwachs. Es ist orange.", + "Mama, wann bekomme ich das Efeu?", + "Husch husch, komm hier raus!", + "Du schneidest, und ich suche aus.", + "Nein. Du schneidest und ich werde aussuchen.", + "Ich bin immernoch der\rMeinung, da""\xE1"" er es nur\rso dahingeplappert hat.", + "Argh, Du w""\x81""rdest ein jambisches Pentameter nicht erkennen, wenn es Dich in den Hintern bei""\xE1""en w""\x81""rde!", + "Executive Producer", + "Brett W. Sperry", + "Director & Designer", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Michael Grayford", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Quality Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Black Pete", + "Manual, Package Design", + "& Fulfillment by", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Unseren Gl""\x81""ckw""\x81""nsch!", + "Vielen Dank, da""\xE1"" Sie The Hand of Fate gespielt haben!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Ants! Ants! Ants!", + "Ted Morris", + "Spielstand laden", + "Intro", + "Neues Spiel starten", + "Spiel beenden", + "Vielen Dank an", + "tom schmidt", + "Tim Fritz", + "Kenny Dunne" +}; + +static const StringListProvider k2SeqplayStringsDOSGermanProvider = { ARRAYSIZE(k2SeqplayStringsDOSGerman), k2SeqplayStringsDOSGerman }; + diff --git a/devtools/create_kyradat/resources/hof_dos_italian.h b/devtools/create_kyradat/resources/hof_dos_italian.h new file mode 100644 index 0000000000..825c6231f2 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_italian.h @@ -0,0 +1,108 @@ +static const char *const k2SeqplayStringsDOSItalian[103] = { + "Kyrandia sta scomparendo!", + "Roccia dopo roccia...", + "...e albero dopo albero.", + "Kyrandia cessa di esistere!", + "I Mistici Reali sono sconcertati.", + "Ogni testo ""\x8A"" stato consultato.", + "Perfino Marko e il suo nuovo assistente sono stati invitati alla conferenza.", + "Per fortuna, Mano ha esperienza in queste situazioni.", + "E finalmente un piano viene approvato...", + "...occorre un'Ancora magica di Pietra...", + "...da recuperare al centro della terra.", + "Zanthia, la pi""\x97"" giovane tra i Mistici di Kyrandia, ""\x8A"" stata scelta per recuperare la Pietra.", + "Grazie per aver giocato a The Hand of Fate.", + "Questi mirtilli dovrebbero bastare ad aprire un portale per il centro della terra.", + " MY ", + " MY ", + "Hey! Hanno rubato tutto il mio equipaggiamento!", + " MY ", + "Se pensano che ci arrivi a piedi fin laggi""\x97"", sono proprio dei pazzi!", + " MY ", + " DUMMY STRNG... ", + "Muoviti Fauno!", + "C'""\x8A"" mancato un pelo!", + "L'hai detto amico. Io ho smesso con la caccia!", + "Ribbit.", + "Quante volte devo dirtelo? Sei un rospo.", + "Oh no! Abbiamo finito il formaggio!", + "Proviamo con questo cerume. E' arancione.", + "Mami, non ""\x8A"" che alla fine mi trasformano in un golf?", + "Via di qui, shoo!", + "Tu tagli, e io scelgo.", + "No. Tu tagli e io scelgo.", + "Sono sempre convinta che si trattasse di un'assoluta cretinata.", + "Aw, non capirai mai niente di poesia. Facciamoci un'altra birra che ""\x8A"" meglio!", + "Executive Producer", + "Brett W. Sperry", + "Director", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulazioni!", + "Grazie per aver giocato a The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "Carica gioco", + "Introduzione", + "Nuovo gioco", + "Esci", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne" +}; + +static const StringListProvider k2SeqplayStringsDOSItalianProvider = { ARRAYSIZE(k2SeqplayStringsDOSItalian), k2SeqplayStringsDOSItalian }; + diff --git a/devtools/create_kyradat/resources/hof_dos_russian.h b/devtools/create_kyradat/resources/hof_dos_russian.h new file mode 100644 index 0000000000..12df4ed31e --- /dev/null +++ b/devtools/create_kyradat/resources/hof_dos_russian.h @@ -0,0 +1,133 @@ +static const char *const k2SeqplayStringsDOSRussian[128] = { + "K""\x18""pa""\x1D\x16\x18""~ ""\x18""c\\e""\x17""ae""\x1F""!", + "Ka""\x1C\x1D\x18""...", + "\x0F""epe""\x14""{~...", + "K""\x18""pa""\x1D\x16\x18\x18"" c#opo ""\x1D""e c""\x1F""a""\x1D""e""\x1F""!", + "Bo""\x10""]e""\x13\x1D\x18""#""\x18"" c""\x13\x18\x1F""` c ""\x1F""o""\x10""#y.", + "\x06\x16""e""\x1F"" ""\x1D""ay\\""\x1D""a~ ""\x16\x18""c#ycc""\x18""~.", + "\x0F""a""\x7F""e Map#o ""\x18"" e""\x15""o ""\x1D""o""\x14""`""\x19"" c""\x10""y""\x15""a, ""\x1E""p""\x18\x15\x10""a]e""\x1D""` ""\x1D""a o""\x13""cy""\x7F\x16""e""\x1D\x18""e.", + "K c\\ac""\x1F""{}, Py#a ""\x18\x1C""ee""\x1F"" o""\x1E""`""\x1F"" ""\x14"" |""\x1F\x18""x ""\x16""e""\x10""ax.", + "\x06"", ""\x1D""a#o""\x1D""e[, y""\x1F\x14""ep""\x7F\x16""e""\x1D"" ""\x1E\x10""a""\x1D"",", + "\x16\x10""~ #o""\x1F""opo""\x15""o ""\x1D""y""\x7F""e""\x1D"" ""\x12""#op""\x1D""`""\x19"" Ka""\x1C""e""\x1D""{,", + "\x18\x17\x14\x10""e\\e""\x1D\x1D""`""\x19"" ""\x18\x17"" [e""\x1D\x1F""pa ""\x17""e""\x1C\x10\x18"".", + "Ha""\x19\x1F\x18"" #a""\x1C""e""\x1D""{ ""\x1E""pe""\x16""c""\x1F""o""\x18\x1F"" ""\x05""a""\x1D""[""\x18\x18"", ca""\x1C""o""\x19"" ""\x1C\x10""a""\x16""]e""\x19"" ""\x14""o""\x10""]e""\x13\x1D\x18""[e K""\x18""pa""\x1D\x16\x18\x18"".", + "Thank you for playing The Hand of Fate.", + "\x08""o""\x1D""a""\x16""o""\x13\x18\x1F""{c~ ""\x1C\x1D""o""\x15""o c""\x18\x1D\x18""x ~""\x15""o""\x16"", \\""\x1F""o""\x13""` o""\x1F""#p`""\x1F""{ ""\x1E""op""\x1F""a""\x10"" ""\x14"" [e""\x1D\x1F""pe ""\x17""e""\x1C\x10\x18"".", + " DUMMY STRING... ", + " DUMMY STRING... ", + "O""\x19""! Bce o""\x13""opy""\x16""o""\x14""a""\x1D\x18""e y#pa""\x16""e""\x1D""o!", + " DUMMY STRING... ", + "Ec""\x10\x18"" o""\x1D\x18"" ""\x16""y""\x1C""a}""\x1F"", \\""\x1F""o ~ ""\x1E""o""\x19\x16""y ""\x1F""y""\x16""a ""\x1E""e]#o""\x1C"", ""\x1F""o o""\x1D\x18"" co]""\x10\x18"" c y""\x1C""a!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Topo""\x1E\x18""c{ \nay""\x1D""!", + "Ha |""\x1F""o""\x1F"" pa""\x17"" ""\x1E""po""\x1D""ec""\x10""o!", + "\x12"" ""\x13""o""\x10""{]e ""\x1D""a oxo""\x1F""y ""\x1D""e ""\x1E""o""\x19\x16""y!", + "K""\x14""a-#""\x14""a", + "C#o""\x10""{#o pa""\x17"" ""\x1F""e""\x13""e ""\x15""o""\x14""op""\x18\x1F""{? T` ""\x7F""a""\x13""a.", + "O ""\x1D""e""\x1F""! \t ""\x1D""ac\r#o""\x1D""\\""\x18\x10""c~ c`p!", + "\x08""o""\x1E""po""\x13""y""\x19"" y]""\x1D""y} cepy. O""\x1D""a opa""\x1D\x7F""e""\x14""a~.", + "Ma""\x1C""a, #o""\x15\x16""a ""\x1C\x1D""e\r""\x16""a""\x16""y""\x1F"" ""\x1E\x10""}^a?", + "K`]! K`]! ""\x01""yyy!", + "T` pa""\x17""pe""\x7F""{, a ~ ""\x14""`""\x13""epy.", + "He""\x1F"". T` pa""\x17""pe""\x7F""{, a ~ ""\x14""`""\x13""epy.", + "\x12"" ""\x14""ce ""\x7F""e y""\x1F\x14""ep""\x7F\x16""a}, \\""\x1F""o |""\x1F""o \\e""\x1E""yxa.", + "A, ""\x1F""` ""\x14""ce e^e ""\x1D""e ""\x1C""o""\x7F""e]{\rpac""\x1E""o""\x17\x1D""a""\x1F""{ ~""\x1C\x13\x18""\\ec#""\x18\x19"" ""\x1E""e""\x1D\x1F""a""\x1C""e""\x1F""p!", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "\x08""o""\x17\x16""pa""\x14\x10""~e""\x1C""!", + "\x08""epe""\x14""o""\x16"": Tapac Ka""\x1F""#o""\x14"". K""\x18""e""\x14"". 296-19-77.", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "\x05""a""\x15""py""\x17\x18\x1F""{", + "B""\x14""e""\x16""e""\x1D\x18""e", + "Ho""\x14""a~ ""\x18\x15""pa", + "B`""\x19\x1F\x18"" ""\x18\x17"" ""\x18\x15""p`", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" +}; + +static const StringListProvider k2SeqplayStringsDOSRussianProvider = { ARRAYSIZE(k2SeqplayStringsDOSRussian), k2SeqplayStringsDOSRussian }; + diff --git a/devtools/create_kyradat/resources/hof_fmtowns.h b/devtools/create_kyradat/resources/hof_fmtowns.h new file mode 100644 index 0000000000..b254946492 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_fmtowns.h @@ -0,0 +1,716 @@ +static const char *const k2SeqplayPakFilesFMTowns[4] = { + "INTROGEN.PAK", + "INTROVOC.PAK", + "VOC.PAK", + "WSCORE.PAK" +}; + +static const StringListProvider k2SeqplayPakFilesFMTownsProvider = { ARRAYSIZE(k2SeqplayPakFilesFMTowns), k2SeqplayPakFilesFMTowns }; + +static const char *const k2SeqplaySfxFilesFMTowns[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 k2SeqplaySfxFilesFMTownsProvider = { ARRAYSIZE(k2SeqplaySfxFilesFMTowns), k2SeqplaySfxFilesFMTowns }; + +static const HoFSequence k2SeqplaySeqDataFMTownsSeq[16] = { + { 0x0002, "", "virgin.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0064, 0, 0, 0x001E }, + { 0x0001, "westwood.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0012, 0x000C, 0, 0, 0x00A0 }, + { 0x0001, "title.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001A, 0x000C, 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 k2SeqplaySeqDataFMTownsSeqNestedControl7[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 k2SeqplaySeqDataFMTownsSeqNestedControl10[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 k2SeqplaySeqDataFMTownsSeqNestedControl11[9] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 4, 6 }, + { 5, 64 }, + { 5, 6 } +}; + +static const FrameControl k2SeqplaySeqDataFMTownsSeqNestedControl12[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 k2SeqplaySeqDataFMTownsSeqNestedControl13[5] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 1, 6 }, + { 0, 1 } +}; + +static const FrameControl k2SeqplaySeqDataFMTownsSeqNestedControl14[8] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 2, 6 }, + { 1, 6 } +}; + +static const HoFNestedSequence k2SeqplaySeqDataFMTownsSeqNested[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(k2SeqplaySeqDataFMTownsSeqNestedControl7), k2SeqplaySeqDataFMTownsSeqNestedControl7, 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(k2SeqplaySeqDataFMTownsSeqNestedControl10), k2SeqplaySeqDataFMTownsSeqNestedControl10, 0, 0 }, + { 0x002A, "hand1c.wsa", 0, 9, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataFMTownsSeqNestedControl11), k2SeqplaySeqDataFMTownsSeqNestedControl11, 0, 0 }, + { 0x002C, "hand2.wsa", 0, 2, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataFMTownsSeqNestedControl12), k2SeqplaySeqDataFMTownsSeqNestedControl12, 5, 0 }, + { 0x002C, "hand3.wsa", 0, 4, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataFMTownsSeqNestedControl13), k2SeqplaySeqDataFMTownsSeqNestedControl13, 5, 0 }, + { 0x002C, "hand4.wsa", 0, 8, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataFMTownsSeqNestedControl14), k2SeqplaySeqDataFMTownsSeqNestedControl14, 5, 0 } +}; + +static const HoFSequenceProvider k2SeqplaySeqDataFMTownsProvider = { ARRAYSIZE(k2SeqplaySeqDataFMTownsSeq), k2SeqplaySeqDataFMTownsSeq, ARRAYSIZE(k2SeqplaySeqDataFMTownsSeqNested), k2SeqplaySeqDataFMTownsSeqNested }; + +static const byte k2SeqplayIntroCDAFMTowns[24] = { + 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x06, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x05, 0x00, 0x08, 0x00, 0x06, 0x00 +}; + +static const ByteProvider k2SeqplayIntroCDAFMTownsProvider = { ARRAYSIZE(k2SeqplayIntroCDAFMTowns), k2SeqplayIntroCDAFMTowns }; + +static const byte k2SeqplayFinaleCDAFMTowns[8] = { + 0x03, 0x00, 0x53, 0x00, 0x04, 0x00, 0x54, 0x00 +}; + +static const ByteProvider k2SeqplayFinaleCDAFMTownsProvider = { ARRAYSIZE(k2SeqplayFinaleCDAFMTowns), k2SeqplayFinaleCDAFMTowns }; + +static const char *const k2IngamePakFilesFMTowns[20] = { + "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", + "CAULDRON.PAK", + "WSCORE.PAK", + "HOFCH_1.PAK", + "HOFCH_2.PAK", + "HOFCH_3.PAK", + "HOFCH_4.PAK", + "HOFCH_5.PAK" +}; + +static const StringListProvider k2IngamePakFilesFMTownsProvider = { ARRAYSIZE(k2IngamePakFilesFMTowns), k2IngamePakFilesFMTowns }; + +static const char *const k2IngameSfxFilesFMTowns[179] = { + "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 k2IngameSfxFilesFMTownsProvider = { ARRAYSIZE(k2IngameSfxFilesFMTowns), k2IngameSfxFilesFMTowns }; + +static const byte k2IngameSfxIndexFMTowns[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, + 0x09, 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 k2IngameSfxIndexFMTownsProvider = { ARRAYSIZE(k2IngameSfxIndexFMTowns), k2IngameSfxIndexFMTowns }; + +static const byte k2IngameCDAFMTowns[304] = { + 0x02, 0x00, 0x07, 0x00, 0x03, 0x00, 0x08, 0x00, + 0x04, 0x00, 0x09, 0x00, 0x07, 0x00, 0x0A, 0x00, + 0x0C, 0x00, 0x0B, 0x00, 0x0D, 0x00, 0x0C, 0x00, + 0x0E, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0x0E, 0x00, + 0x10, 0x00, 0x0F, 0x00, 0x12, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x11, 0x00, 0x15, 0x00, 0x12, 0x00, + 0x17, 0x00, 0x13, 0x00, 0x18, 0x00, 0x14, 0x00, + 0x19, 0x00, 0x15, 0x00, 0x1A, 0x00, 0x16, 0x00, + 0x1B, 0x00, 0x17, 0x00, 0x1C, 0x00, 0x18, 0x00, + 0x1D, 0x00, 0x19, 0x00, 0x1E, 0x00, 0x1A, 0x00, + 0x1F, 0x00, 0x1B, 0x00, 0x21, 0x00, 0x1C, 0x00, + 0x22, 0x00, 0x1D, 0x00, 0x23, 0x00, 0x1E, 0x00, + 0x24, 0x00, 0x1F, 0x00, 0x25, 0x00, 0x20, 0x00, + 0x26, 0x00, 0x21, 0x00, 0x27, 0x00, 0x22, 0x00, + 0x28, 0x00, 0x23, 0x00, 0x29, 0x00, 0x24, 0x00, + 0x2A, 0x00, 0x25, 0x00, 0x2B, 0x00, 0x26, 0x00, + 0x2C, 0x00, 0x27, 0x00, 0x2D, 0x00, 0x28, 0x00, + 0x2E, 0x00, 0x29, 0x00, 0x2F, 0x00, 0x2A, 0x00, + 0x30, 0x00, 0x2B, 0x00, 0x31, 0x00, 0x2C, 0x00, + 0x32, 0x00, 0x2D, 0x00, 0x33, 0x00, 0x2E, 0x00, + 0x34, 0x00, 0x2F, 0x00, 0x35, 0x00, 0x30, 0x00, + 0x36, 0x00, 0x31, 0x00, 0x37, 0x00, 0x32, 0x00, + 0x38, 0x00, 0x33, 0x00, 0x39, 0x00, 0x34, 0x00, + 0x3A, 0x00, 0x35, 0x00, 0x3B, 0x00, 0x36, 0x00, + 0x3C, 0x00, 0x37, 0x00, 0x3D, 0x00, 0x38, 0x00, + 0x3E, 0x00, 0x39, 0x00, 0x3F, 0x00, 0x3A, 0x00, + 0x40, 0x00, 0x3B, 0x00, 0x41, 0x00, 0x3C, 0x00, + 0x42, 0x00, 0x3D, 0x00, 0x43, 0x00, 0x3E, 0x00, + 0x44, 0x00, 0x3F, 0x00, 0x45, 0x00, 0x40, 0x00, + 0x46, 0x00, 0x41, 0x00, 0x47, 0x00, 0x42, 0x00, + 0x48, 0x00, 0x43, 0x00, 0x49, 0x00, 0x44, 0x00, + 0x4A, 0x00, 0x45, 0x00, 0x4B, 0x00, 0x46, 0x00, + 0x4C, 0x00, 0x47, 0x00, 0x4D, 0x00, 0x48, 0x00, + 0x4E, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4A, 0x00, + 0x50, 0x00, 0x4B, 0x00, 0x51, 0x00, 0x4C, 0x00, + 0x52, 0x00, 0x4D, 0x00, 0x53, 0x00, 0x4E, 0x00, + 0x54, 0x00, 0x4F, 0x00, 0x55, 0x00, 0x50, 0x00, + 0x56, 0x00, 0x51, 0x00, 0x57, 0x00, 0x52, 0x00 +}; + +static const ByteProvider k2IngameCDAFMTownsProvider = { ARRAYSIZE(k2IngameCDAFMTowns), k2IngameCDAFMTowns }; + +static const byte k2IngameTalkObjIndexFMTowns[122] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 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, + 0x00, 0x00 +}; + +static const ByteProvider k2IngameTalkObjIndexFMTownsProvider = { ARRAYSIZE(k2IngameTalkObjIndexFMTowns), k2IngameTalkObjIndexFMTowns }; + +static const char *const k2IngameTimJpStringsFMTowns[4] = { + "Yippee!", + "\x82\xE2\x82\xC1\x82\xBD\x81""[""\x81""I", + "Hop on!", + "\x82\xB3\x82\xA0\x81""A""\x8D""s""\x82\xB1\x82\xA4\x82\xE6\x81""I" +}; + +static const StringListProvider k2IngameTimJpStringsFMTownsProvider = { ARRAYSIZE(k2IngameTimJpStringsFMTowns), k2IngameTimJpStringsFMTowns }; + +static const FrameControl k2IngameShapeAnimDataFMTowns0FrameControl[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 k2IngameShapeAnimDataFMTowns1FrameControl[6] = { + { 0x0002, 0x012C }, + { 0x002D, 0x012C }, + { 0x002E, 0x012C }, + { 0x002F, 0x012C }, + { 0x002E, 0x012C }, + { 0x002D, 0x012C } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns2FrameControl[6] = { + { 0x000B, 0x0258 }, + { 0x0030, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0032, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0030, 0x0005 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns3FrameControl[4] = { + { 0x001C, 0x0014 }, + { 0x004E, 0x0014 }, + { 0x004F, 0x0014 }, + { 0x0050, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns4FrameControl[4] = { + { 0x0017, 0x0007 }, + { 0x0051, 0x0007 }, + { 0x0052, 0x0007 }, + { 0x0053, 0x0007 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns5FrameControl[4] = { + { 0x0016, 0x0014 }, + { 0x0054, 0x0014 }, + { 0x0055, 0x0014 }, + { 0x0056, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns6FrameControl[4] = { + { 0x003A, 0x003C }, + { 0x0057, 0x003C }, + { 0x0058, 0x003C }, + { 0x0059, 0x003C } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns7FrameControl[4] = { + { 0x001A, 0x0032 }, + { 0x005A, 0x0032 }, + { 0x005B, 0x0032 }, + { 0x005C, 0x0032 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns8FrameControl[4] = { + { 0x006D, 0x000C }, + { 0x006E, 0x000C }, + { 0x006F, 0x000C }, + { 0x0070, 0x000C } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns9FrameControl[4] = { + { 0x0079, 0x0008 }, + { 0x007A, 0x0008 }, + { 0x007B, 0x0008 }, + { 0x007C, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns10FrameControl[4] = { + { 0x007E, 0x0008 }, + { 0x007F, 0x0008 }, + { 0x0080, 0x0008 }, + { 0x0081, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns11FrameControl[6] = { + { 0x0091, 0x01A4 }, + { 0x0092, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0094, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0092, 0x0004 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns12FrameControl[4] = { + { 0x0095, 0x0006 }, + { 0x0096, 0x0006 }, + { 0x0097, 0x0006 }, + { 0x0098, 0x0006 } +}; + +static const FrameControl k2IngameShapeAnimDataFMTowns13FrameControl[4] = { + { 0x0099, 0x002D }, + { 0x009A, 0x002D }, + { 0x009B, 0x002D }, + { 0x009C, 0x002D } +}; + +static const ItemAnimDefinition k2IngameShapeAnimDataFMTowns[14] = { + { 6, 12, k2IngameShapeAnimDataFMTowns0FrameControl }, + { 2, 6, k2IngameShapeAnimDataFMTowns1FrameControl }, + { 11, 6, k2IngameShapeAnimDataFMTowns2FrameControl }, + { 28, 4, k2IngameShapeAnimDataFMTowns3FrameControl }, + { 23, 4, k2IngameShapeAnimDataFMTowns4FrameControl }, + { 22, 4, k2IngameShapeAnimDataFMTowns5FrameControl }, + { 58, 4, k2IngameShapeAnimDataFMTowns6FrameControl }, + { 26, 4, k2IngameShapeAnimDataFMTowns7FrameControl }, + { 109, 4, k2IngameShapeAnimDataFMTowns8FrameControl }, + { 121, 4, k2IngameShapeAnimDataFMTowns9FrameControl }, + { 126, 4, k2IngameShapeAnimDataFMTowns10FrameControl }, + { 145, 6, k2IngameShapeAnimDataFMTowns11FrameControl }, + { 149, 4, k2IngameShapeAnimDataFMTowns12FrameControl }, + { 153, 4, k2IngameShapeAnimDataFMTowns13FrameControl } +}; + +static const ItemAnimDefinitionProvider k2IngameShapeAnimDataFMTownsProvider = { ARRAYSIZE(k2IngameShapeAnimDataFMTowns), k2IngameShapeAnimDataFMTowns }; + diff --git a/devtools/create_kyradat/resources/hof_fmtowns_english.h b/devtools/create_kyradat/resources/hof_fmtowns_english.h new file mode 100644 index 0000000000..e2904c70ad --- /dev/null +++ b/devtools/create_kyradat/resources/hof_fmtowns_english.h @@ -0,0 +1,110 @@ +static const char *const k2SeqplayStringsFMTownsEnglish[105] = { + "Kyrandia is disappearing!", + "Rock by rock,", + "And tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet, have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved,", + "That required a magic Anchor Stone,", + "To be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "Load a game", + "Introduction", + "Start a new game", + "Exit the game", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Yukio Sekiguchi (Japan)", + "Takeshi Abo (Japan)" +}; + +static const StringListProvider k2SeqplayStringsFMTownsEnglishProvider = { ARRAYSIZE(k2SeqplayStringsFMTownsEnglish), k2SeqplayStringsFMTownsEnglish }; + diff --git a/devtools/create_kyradat/resources/hof_fmtowns_japanese.h b/devtools/create_kyradat/resources/hof_fmtowns_japanese.h new file mode 100644 index 0000000000..4029b01d03 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_fmtowns_japanese.h @@ -0,0 +1,110 @@ +static const char *const k2SeqplayStringsFMTownsJapanese[105] = { + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xAA\x8F\xC1\x82\xA6\x82\xC4\x82\xA2\x82\xAD\x81""I", + "\x8A\xE2\x81""X""\x82\xE2\x81""A", + "\x96\xD8\x81""X""\x82\xDC\x82\xC5\x82\xE0\x81""B", + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x8B""~""\x82\xED\x82\xC8\x82\xAF\x82\xEA\x82\xCE\x82\xC8\x82\xE7\x82\xC8\x82\xA2\x81""I", + "\x96\x82\x8F""p""\x8E""t""\x82\xBD\x82\xBF\x82\xCD\x94""Y""\x82\xF1\x82\xBE\x81""B", + "\x82\xA0\x82\xE7\x82\xE4\x82\xE9\x91\xCE\x8D\xF4\x82\xAA\x8B\xA6\x8B""c""\x82\xB3\x82\xEA\x82\xBD\x82\xAA\x81""E""\x81""E""\x81""E", + "\x83""}""\x83\x8B\x83""R""\x82\xC6\x83""n""\x83\x93\x83""h""\x82\xAA\x81""A""\x82\xB1\x82\xCC\x96\xE2\x91\xE8\x82\xF0\x94""C""\x82\xB3\x82\xEA\x82\xBD\x81""B", + "\x83""n""\x83\x93\x83""h""\x82\xAA\x94\xAD\x88\xC4\x82\xB5\x82\xC4\x81""A", + "\x82\xC2\x82\xA2\x82\xC9\x81""A""\x89\xF0\x8C\x88\x8D\xF4\x82\xAA\x8C\x88\x92\xE8\x82\xB5\x82\xBD\x81""B", + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x8B""~""\x82\xA4\x82\xC9\x82\xCD\x81""A", + "\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xC9\x82\xA0\x82\xE9\x81""h""\x96\x82\x96""@""\x82\xCC\x82\xA2\x82\xA9\x82\xE8\x90\xCE\x81""h""\x82\xAA\x95""K""\x97""v""\x82\xBE\x81""B", + "\x83""U""\x83\x93\x83""V""\x83""A""\x81""A""\x8C""N""\x82\xAA\x8D\xCC\x82\xE8\x82\xC9\x8D""s""\x82\xAD\x82\xCC\x82\xBE\x81""B", + "Thank you for playing The Hand of Fate.", + "\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xD6\x8D""s""\x82\xAD\x82\xC9\x82\xCD\x81""A""\x83""u""\x83\x8B\x81""[""\x83""x""\x83\x8A\x81""[""\x82\xE0\x95""K""\x97""v""\x82\xBE\x82\xC6\x8E""v""\x82\xA4\x82\xED\x81""B", + " DUMMY STRING... ", + " DUMMY STRING... ", + "\x82\xA0\x82\x9F\x81""A""\x8E\x84\x82\xCC\x8E\x9D\x82\xBF\x95\xA8\x82\xAA\x82\xB7\x82\xD7\x82\xC4\x93\x90\x82\xDC\x82\xEA\x82\xC4\x82\xA2\x82\xE9\x81""I", + " DUMMY STRING... ", + "\x82\xBE\x82\xC1\x82\xC4\x81""A""\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xDC\x82\xC5\x95\xE0\x82\xA2\x82\xC4\x8D""s""\x82\xAD\x82\xC8\x82\xF1\x82\xC4\x81""A""\x8B""C""\x82\xAA\x89\x93\x82\xAD\x82\xC8\x82\xE9\x82\xB6\x82\xE1\x82\xC8\x82\xA2\x81""I", + " DUMMY STRING... ", + " DUMMY STRING... ", + "\x8B""}""\x82\xAE\x82\xCC\x82\xE6\x81""A""\x83""t""\x83""H""\x81""[""\x83\x93\x81""I", + "\x82\xE2\x82\xC1\x82\xCF\x82\xE8\x81""A""\x97\x88\x82\xE9\x82\xF1\x82\xB6\x82\xE1\x82\xC8\x82\xA9\x82\xC1\x82\xBD\x81""I", + "\x82\xE0\x82\xA4\x81""A""\x93\xF1\x93""x""\x82\xC6\x97\xC2\x82\xC9\x8D""s""\x82\xA9\x82\xCB\x82\xA6\x81""I", + "\x83""Q""\x83\x8D\x83""Q""\x81""[""\x83\x8D\x81""B", + "\x8A""^""\x82\xCC\x8E""q""\x82\xCD\x8A""^""\x82\xBE\x81""B""\x81""@", + "\x82\xC8\x82\xF1\x82\xBE\x81""A""\x82\xE0\x82\xA4\x83""`""\x81""[""\x83""Y""\x82\xCD\x82\xC8\x82\xA2\x82\xBC\x81""I", + "\x82\xE6\x82\xB5\x81""A""\x83""I""\x83\x8C\x83\x93\x83""W""\x82\xCC\x94\xE7\x82\xC5\x82\xE2\x82\xEB\x82\xA4\x81""B", + "\x83""}""\x83""}""\x81""A""\x96""l""\x82\xCC\x96\xD1\x82\xE0\x82\xD3\x82\xB3\x82\xD3\x82\xB3\x81""H", + "\x82\xA8\x82\xA2\x82\xB1\x82\xE7\x81""A""\x82\xB1\x82\xB1\x82\xA9\x82\xE7\x8F""o""\x82\xC4\x8D""s""\x82\xAF\x81""I", + "\x82\xA8\x91""O""\x82\xAA\x94\xBC\x95\xAA\x82\xC9\x90\xD8\x82\xEA\x82\xE6\x81""A""\x89\xB4\x82\xAA\x91""I""\x82\xD4\x82\xA9\x82\xE7\x82\xB3\x81""B", + "\x82\xA2\x82\xE2\x81""A""\x82\xA8\x91""O""\x82\xAA\x94\xBC\x95\xAA\x82\xC9\x90\xD8\x82\xEA\x82\xCE\x81""A""\x89\xB4\x82\xAA\x91""I""\x82\xD4\x81""B", + "\x89\xB4\x82\xCD\x82\xDC\x82\xBE\x81""A""\x94""[""\x93\xBE\x82\xB5\x82\xBF\x82\xE1\x82\xA2\x82\xC8\x82\xA2\x82\xBA\x81""B", + "\x82\xA2\x82\xA2\x89\xC1\x8C\xB8\x82\xC9\x82\xB5\x82\xEB\x81""A""\x82\xDC\x82\xBD\x89\xA3\x82\xE9\x82\xBC\x81""I", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "\x83""f""\x81""[""\x83""^""\x82\xF0\x83\x8D\x81""[""\x83""h""\x82\xB7\x82\xE9", + "\x83""C""\x83\x93\x83""g""\x83\x8D\x83""_""\x83""N""\x83""V""\x83\x87\x83\x93", + "\x90""V""\x82\xBD\x82\xC9\x83""Q""\x81""[""\x83\x80\x82\xF0\x8E""n""\x82\xDF\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x8F""I""\x97\xB9\x82\xB7\x82\xE9", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Yukio Sekiguchi (Japan)", + "Takeshi Abo (Japan)" +}; + +static const StringListProvider k2SeqplayStringsFMTownsJapaneseProvider = { ARRAYSIZE(k2SeqplayStringsFMTownsJapanese), k2SeqplayStringsFMTownsJapanese }; + diff --git a/devtools/create_kyradat/resources/hof_pc98.h b/devtools/create_kyradat/resources/hof_pc98.h new file mode 100644 index 0000000000..3ff072f5e9 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_pc98.h @@ -0,0 +1,656 @@ +static const char *const k2SeqplayPakFilesPC98[3] = { + "INTROGEN.PAK", + "INTROVOC.PAK", + "VOC.PAK" +}; + +static const StringListProvider k2SeqplayPakFilesPC98Provider = { ARRAYSIZE(k2SeqplayPakFilesPC98), k2SeqplayPakFilesPC98 }; + +static const char *const k2SeqplaySfxFilesPC98[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 k2SeqplaySfxFilesPC98Provider = { ARRAYSIZE(k2SeqplaySfxFilesPC98), k2SeqplaySfxFilesPC98 }; + +static const HoFSequence k2SeqplaySeqDataPC98Seq[16] = { + { 0x0002, "", "virgin.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0064, 0, 0, 0x001E }, + { 0x0001, "westwood.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0012, 0x000C, 0, 0, 0x00A0 }, + { 0x0001, "title.wsa", "", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x001A, 0x000C, 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 k2SeqplaySeqDataPC98SeqNestedControl7[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 k2SeqplaySeqDataPC98SeqNestedControl10[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 k2SeqplaySeqDataPC98SeqNestedControl11[9] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 4, 6 }, + { 5, 64 }, + { 5, 6 } +}; + +static const FrameControl k2SeqplaySeqDataPC98SeqNestedControl12[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 k2SeqplaySeqDataPC98SeqNestedControl13[5] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 1, 6 }, + { 0, 1 } +}; + +static const FrameControl k2SeqplaySeqDataPC98SeqNestedControl14[8] = { + { 0, 6 }, + { 1, 6 }, + { 2, 6 }, + { 3, 6 }, + { 4, 6 }, + { 3, 6 }, + { 2, 6 }, + { 1, 6 } +}; + +static const HoFNestedSequence k2SeqplaySeqDataPC98SeqNested[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(k2SeqplaySeqDataPC98SeqNestedControl7), k2SeqplaySeqDataPC98SeqNestedControl7, 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(k2SeqplaySeqDataPC98SeqNestedControl10), k2SeqplaySeqDataPC98SeqNestedControl10, 0, 0 }, + { 0x002A, "hand1c.wsa", 0, 9, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataPC98SeqNestedControl11), k2SeqplaySeqDataPC98SeqNestedControl11, 0, 0 }, + { 0x002C, "hand2.wsa", 0, 2, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataPC98SeqNestedControl12), k2SeqplaySeqDataPC98SeqNestedControl12, 5, 0 }, + { 0x002C, "hand3.wsa", 0, 4, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataPC98SeqNestedControl13), k2SeqplaySeqDataPC98SeqNestedControl13, 5, 0 }, + { 0x002C, "hand4.wsa", 0, 8, 9, 0, 0, ARRAYSIZE(k2SeqplaySeqDataPC98SeqNestedControl14), k2SeqplaySeqDataPC98SeqNestedControl14, 5, 0 } +}; + +static const HoFSequenceProvider k2SeqplaySeqDataPC98Provider = { ARRAYSIZE(k2SeqplaySeqDataPC98Seq), k2SeqplaySeqDataPC98Seq, ARRAYSIZE(k2SeqplaySeqDataPC98SeqNested), k2SeqplaySeqDataPC98SeqNested }; + +static const char *const k2IngamePakFilesPC98[20] = { + "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", + "CAULDRON.PAK", + "AUDIO.PAK", + "HOFCH_1.PAK", + "HOFCH_2.PAK", + "HOFCH_3.PAK", + "HOFCH_4.PAK", + "HOFCH_5.PAK" +}; + +static const StringListProvider k2IngamePakFilesPC98Provider = { ARRAYSIZE(k2IngamePakFilesPC98), k2IngamePakFilesPC98 }; + +static const char *const k2IngameSfxFilesPC98[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 k2IngameSfxFilesPC98Provider = { ARRAYSIZE(k2IngameSfxFilesPC98), k2IngameSfxFilesPC98 }; + +static const byte k2IngameSfxIndexPC98[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, + 0x09, 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 k2IngameSfxIndexPC98Provider = { ARRAYSIZE(k2IngameSfxIndexPC98), k2IngameSfxIndexPC98 }; + +static const byte k2IngameTalkObjIndexPC98[120] = { + 0x6B, 0x6D, 0x25, 0x30, 0x32, 0x64, 0x2E, 0x32, + 0x36, 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 k2IngameTalkObjIndexPC98Provider = { ARRAYSIZE(k2IngameTalkObjIndexPC98), k2IngameTalkObjIndexPC98 }; + +static const char *const k2IngameTimJpStringsPC98[4] = { + "Yippee!", + "\x82\xE2\x82\xC1\x82\xBD\x81""[""\x81""I", + "Hop on!", + "\x82\xB3\x82\xA0\x81""A""\x8D""s""\x82\xB1\x82\xA4\x82\xE6\x81""I" +}; + +static const StringListProvider k2IngameTimJpStringsPC98Provider = { ARRAYSIZE(k2IngameTimJpStringsPC98), k2IngameTimJpStringsPC98 }; + +static const FrameControl k2IngameShapeAnimDataPC980FrameControl[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 k2IngameShapeAnimDataPC981FrameControl[6] = { + { 0x0002, 0x012C }, + { 0x002D, 0x012C }, + { 0x002E, 0x012C }, + { 0x002F, 0x012C }, + { 0x002E, 0x012C }, + { 0x002D, 0x012C } +}; + +static const FrameControl k2IngameShapeAnimDataPC982FrameControl[6] = { + { 0x000B, 0x0258 }, + { 0x0030, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0032, 0x0005 }, + { 0x0031, 0x0005 }, + { 0x0030, 0x0005 } +}; + +static const FrameControl k2IngameShapeAnimDataPC983FrameControl[4] = { + { 0x001C, 0x0014 }, + { 0x004E, 0x0014 }, + { 0x004F, 0x0014 }, + { 0x0050, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataPC984FrameControl[4] = { + { 0x0017, 0x0007 }, + { 0x0051, 0x0007 }, + { 0x0052, 0x0007 }, + { 0x0053, 0x0007 } +}; + +static const FrameControl k2IngameShapeAnimDataPC985FrameControl[4] = { + { 0x0016, 0x0014 }, + { 0x0054, 0x0014 }, + { 0x0055, 0x0014 }, + { 0x0056, 0x0014 } +}; + +static const FrameControl k2IngameShapeAnimDataPC986FrameControl[4] = { + { 0x003A, 0x003C }, + { 0x0057, 0x003C }, + { 0x0058, 0x003C }, + { 0x0059, 0x003C } +}; + +static const FrameControl k2IngameShapeAnimDataPC987FrameControl[4] = { + { 0x001A, 0x0032 }, + { 0x005A, 0x0032 }, + { 0x005B, 0x0032 }, + { 0x005C, 0x0032 } +}; + +static const FrameControl k2IngameShapeAnimDataPC988FrameControl[4] = { + { 0x006D, 0x000C }, + { 0x006E, 0x000C }, + { 0x006F, 0x000C }, + { 0x0070, 0x000C } +}; + +static const FrameControl k2IngameShapeAnimDataPC989FrameControl[4] = { + { 0x0079, 0x0008 }, + { 0x007A, 0x0008 }, + { 0x007B, 0x0008 }, + { 0x007C, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataPC9810FrameControl[4] = { + { 0x007E, 0x0008 }, + { 0x007F, 0x0008 }, + { 0x0080, 0x0008 }, + { 0x0081, 0x0008 } +}; + +static const FrameControl k2IngameShapeAnimDataPC9811FrameControl[6] = { + { 0x0091, 0x01A4 }, + { 0x0092, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0094, 0x0004 }, + { 0x0093, 0x0004 }, + { 0x0092, 0x0004 } +}; + +static const FrameControl k2IngameShapeAnimDataPC9812FrameControl[4] = { + { 0x0095, 0x0006 }, + { 0x0096, 0x0006 }, + { 0x0097, 0x0006 }, + { 0x0098, 0x0006 } +}; + +static const FrameControl k2IngameShapeAnimDataPC9813FrameControl[4] = { + { 0x0099, 0x002D }, + { 0x009A, 0x002D }, + { 0x009B, 0x002D }, + { 0x009C, 0x002D } +}; + +static const ItemAnimDefinition k2IngameShapeAnimDataPC98[14] = { + { 6, 12, k2IngameShapeAnimDataPC980FrameControl }, + { 2, 6, k2IngameShapeAnimDataPC981FrameControl }, + { 11, 6, k2IngameShapeAnimDataPC982FrameControl }, + { 28, 4, k2IngameShapeAnimDataPC983FrameControl }, + { 23, 4, k2IngameShapeAnimDataPC984FrameControl }, + { 22, 4, k2IngameShapeAnimDataPC985FrameControl }, + { 58, 4, k2IngameShapeAnimDataPC986FrameControl }, + { 26, 4, k2IngameShapeAnimDataPC987FrameControl }, + { 109, 4, k2IngameShapeAnimDataPC988FrameControl }, + { 121, 4, k2IngameShapeAnimDataPC989FrameControl }, + { 126, 4, k2IngameShapeAnimDataPC9810FrameControl }, + { 145, 6, k2IngameShapeAnimDataPC9811FrameControl }, + { 149, 4, k2IngameShapeAnimDataPC9812FrameControl }, + { 153, 4, k2IngameShapeAnimDataPC9813FrameControl } +}; + +static const ItemAnimDefinitionProvider k2IngameShapeAnimDataPC98Provider = { ARRAYSIZE(k2IngameShapeAnimDataPC98), k2IngameShapeAnimDataPC98 }; + diff --git a/devtools/create_kyradat/resources/hof_pc98_english.h b/devtools/create_kyradat/resources/hof_pc98_english.h new file mode 100644 index 0000000000..8d121ec2d5 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_pc98_english.h @@ -0,0 +1,110 @@ +static const char *const k2SeqplayStringsPC98English[105] = { + "Kyrandia is disappearing!", + "Rock by rock,", + "And tree by tree.", + "Kyrandia ceases to exist!", + "The Royal Mystics are baffled.", + "Every reference has been consulted.", + "Even Marko and his new valet, have been allowed into the conference.", + "Luckily, the Hand was experienced in these matters.", + "And finally a plan was approved,", + "That required a magic Anchor Stone,", + "To be retrieved from the center of the world.", + "Zanthia, youngest of the Kyrandian Mystics, has been selected to retrieve the Stone.", + "Thank you for playing The Hand of Fate.", + "This should be enough blueberries to open a portal to the center of the world.", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hey! All my equipment has been stolen!", + " DUMMY STRING... ", + "If they think I'm going to walk all the way down there, they're nuts!", + " DUMMY STRING... ", + " DUMMY STRING... ", + "Hurry up Faun!", + "Boy, that was a close call!", + "You said it pal. I, for one, am never going hunting again!", + "Ribbit.", + "How many times do I have to tell you? You're a toad.", + "Oh no! We're out of cheese!", + "Let's try this earwax. It's orange.", + "Mommy, when do I get the ivy?", + "Get out of here, shoo!", + "You cut, and I'll choose.", + "No. You cut and I'll choose.", + "I still say it was derivative drivel.", + "Aw, you still wouldn't recognize iambic pentameter if it bit you on the butt!", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "Load a game", + "Introduction", + "Start a new game", + "Exit the game", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Yukio Sekiguchi (Japan)", + "Takeshi Abo (Japan)" +}; + +static const StringListProvider k2SeqplayStringsPC98EnglishProvider = { ARRAYSIZE(k2SeqplayStringsPC98English), k2SeqplayStringsPC98English }; + diff --git a/devtools/create_kyradat/resources/hof_pc98_japanese.h b/devtools/create_kyradat/resources/hof_pc98_japanese.h new file mode 100644 index 0000000000..3ea4e5df96 --- /dev/null +++ b/devtools/create_kyradat/resources/hof_pc98_japanese.h @@ -0,0 +1,110 @@ +static const char *const k2SeqplayStringsPC98Japanese[105] = { + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xAA\x8F\xC1\x82\xA6\x82\xC4\x82\xA2\x82\xAD\x81""I", + "\x8A\xE2\x81""X""\x82\xE2\x81""A", + "\x96\xD8\x81""X""\x82\xDC\x82\xC5\x82\xE0\x81""B", + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x8B""~""\x82\xED\x82\xC8\x82\xAF\x82\xEA\x82\xCE\x82\xC8\x82\xE7\x82\xC8\x82\xA2\x81""I", + "\x96\x82\x8F""p""\x8E""t""\x82\xBD\x82\xBF\x82\xCD\x94""Y""\x82\xF1\x82\xBE\x81""B", + "\x82\xA0\x82\xE7\x82\xE4\x82\xE9\x91\xCE\x8D\xF4\x82\xAA\x8B\xA6\x8B""c""\x82\xB3\x82\xEA\x82\xBD\x82\xAA\x81""E""\x81""E""\x81""E", + "\x83""}""\x83\x8B\x83""R""\x82\xC6\x83""n""\x83\x93\x83""h""\x82\xAA\x81""A""\x82\xB1\x82\xCC\x96\xE2\x91\xE8\x82\xF0\x94""C""\x82\xB3\x82\xEA\x82\xBD\x81""B", + "\x83""n""\x83\x93\x83""h""\x82\xAA\x94\xAD\x88\xC4\x82\xB5\x82\xC4\x81""A", + "\x82\xC2\x82\xA2\x82\xC9\x81""A""\x89\xF0\x8C\x88\x8D\xF4\x82\xAA\x8C\x88\x92\xE8\x82\xB5\x82\xBD\x81""B", + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x8B""~""\x82\xA4\x82\xC9\x82\xCD\x81""A", + "\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xC9\x82\xA0\x82\xE9\x81""h""\x96\x82\x96""@""\x82\xCC\x82\xA2\x82\xA9\x82\xE8\x90\xCE\x81""h""\x82\xAA\x95""K""\x97""v""\x82\xBE\x81""B", + "\x83""U""\x83\x93\x83""V""\x83""A""\x81""A""\x8C""N""\x82\xAA\x8D\xCC\x82\xE8\x82\xC9\x8D""s""\x82\xAD\x82\xCC\x82\xBE\x81""B", + "Thank you for playing The Hand of Fate.", + "\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xD6\x8D""s""\x82\xAD\x82\xC9\x82\xCD\x81""A""\x83""u""\x83\x8B\x81""[""\x83""x""\x83\x8A\x81""[""\x82\xE0\x95""K""\x97""v""\x82\xBE\x82\xC6\x8E""v""\x82\xA4\x82\xED\x81""B", + " DUMMY STRING... ", + " DUMMY STRING... ", + "\x82\xA0\x82\x9F\x81""A""\x8E\x84\x82\xCC\x8E\x9D\x82\xBF\x95\xA8\x82\xAA\x82\xB7\x82\xD7\x82\xC4\x93\x90\x82\xDC\x82\xEA\x82\xC4\x82\xA2\x82\xE9\x81""I", + " DUMMY STRING... ", + "\x82\xBE\x82\xC1\x82\xC4\x81""A""\x90\xA2\x8A""E""\x82\xCC\x92\x86\x90""S""\x82\xDC\x82\xC5\x95\xE0\x82\xA2\x82\xC4\x8D""s""\x82\xAD\x82\xC8\x82\xF1\x82\xC4\x81""A""\x8B""C""\x82\xAA\x89\x93\x82\xAD\x82\xC8\x82\xE9\x82\xB6\x82\xE1\x82\xC8\x82\xA2\x81""I", + " DUMMY STRING... ", + " DUMMY STRING... ", + "\x8B""}""\x82\xAE\x82\xCC\x82\xE6\x81""A""\x83""t""\x83""H""\x81""[""\x83\x93\x81""I", + "\x82\xE2\x82\xC1\x82\xCF\x82\xE8\x81""A""\x97\x88\x82\xE9\x82\xF1\x82\xB6\x82\xE1\x82\xC8\x82\xA9\x82\xC1\x82\xBD\x81""I", + "\x82\xE0\x82\xA4\x81""A""\x93\xF1\x93""x""\x82\xC6\x97\xC2\x82\xC9\x8D""s""\x82\xA9\x82\xCB\x82\xA6\x81""I", + "\x83""Q""\x83\x8D\x83""Q""\x81""[""\x83\x8D\x81""B", + "\x8A""^""\x82\xCC\x8E""q""\x82\xCD\x8A""^""\x82\xBE\x81""B""\x81""@", + "\x82\xC8\x82\xF1\x82\xBE\x81""A""\x82\xE0\x82\xA4\x83""`""\x81""[""\x83""Y""\x82\xCD\x82\xC8\x82\xA2\x82\xBC\x81""I", + "\x82\xE6\x82\xB5\x81""A""\x83""I""\x83\x8C\x83\x93\x83""W""\x82\xCC\x94\xE7\x82\xC5\x82\xE2\x82\xEB\x82\xA4\x81""B", + "\x83""}""\x83""}""\x81""A""\x96""l""\x82\xCC\x96\xD1\x82\xE0\x82\xD3\x82\xB3\x82\xD3\x82\xB3\x81""H", + "\x82\xA8\x82\xA2\x82\xB1\x82\xE7\x81""A""\x82\xB1\x82\xB1\x82\xA9\x82\xE7\x8F""o""\x82\xC4\x8D""s""\x82\xAF\x81""I", + "\x82\xA8\x91""O""\x82\xAA\x94\xBC\x95\xAA\x82\xC9\x90\xD8\x82\xEA\x82\xE6\x81""A""\x89\xB4\x82\xAA\x91""I""\x82\xD4\x82\xA9\x82\xE7\x82\xB3\x81""B", + "\x82\xA2\x82\xE2\x81""A""\x82\xA8\x91""O""\x82\xAA\x94\xBC\x95\xAA\x82\xC9\x90\xD8\x82\xEA\x82\xCE\x81""A""\x89\xB4\x82\xAA\x91""I""\x82\xD4\x81""B", + "\x89\xB4\x82\xCD\x82\xDC\x82\xBE\x81""A""\x94""[""\x93\xBE\x82\xB5\x82\xBF\x82\xE1\x82\xA2\x82\xC8\x82\xA2\x82\xBA\x81""B", + "\x82\xA2\x82\xA2\x89\xC1\x8C\xB8\x82\xC9\x82\xB5\x82\xEB\x81""A""\x82\xDC\x82\xBD\x89\xA3\x82\xE9\x82\xBC\x81""I", + "Executive Producer", + "Brett W. Sperry", + "Designed & Directed by", + "Rick Gush", + "Lead Programmer", + "Michael Legg", + "Art Management", + "Louis Castle", + "Joseph B. Hewitt IV", + "Lead Artist", + "Rick Parks", + "Additional Coding by", + "Philip W. Gorrow", + "Matt Collins", + "Mark McCubbin", + "Artists", + "Cameron Chun", + "Cary Averett", + "Cindy Chinn", + "Elie Arabian", + "Fei Cheng", + "Ferby Miguel", + "Frank Mendeola", + "Jack Martin", + "Jerry Moore", + "", + "Judith Peterson", + "Larry Miller", + "Lenny Lee", + "Louise Sandoval", + "Ren Olsen", + "Music & Sounds by", + "Paul Mudra", + "Frank Klepacki", + "Dwight Okahara", + "Pat Collins", + "Qualilty Assurance by", + "Glenn Sperry", + "Michael Lightner", + "William Foster", + "Jesse Clemit", + "Jeff Fillhaber", + "Manual, Package Design", + "& Fulfillment", + "Eydie Laramore", + "Lisa Marcinko", + "Lauren Rifkin", + "Congratulations!", + "Thank you for playing The Hand of Fate!", + "Guest Coding", + "Producer Liaison", + "Scott Duckett", + "Irvine Testers", + "Chris McFarland", + "Paul Moore", + "Chad Soares", + "Jared Brinkley", + "Jon Willliams", + "Chris Toft", + "Chris's Hair by", + "Cumulo Nimbus", + "\x83""f""\x81""[""\x83""^""\x82\xF0\x83\x8D\x81""[""\x83""h""\x82\xB7\x82\xE9", + "\x83""C""\x83\x93\x83""g""\x83\x8D\x83""_""\x83""N""\x83""V""\x83\x87\x83\x93", + "\x90""V""\x82\xBD\x82\xC9\x83""Q""\x81""[""\x83\x80\x82\xF0\x8E""n""\x82\xDF\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x8F""I""\x97\xB9\x82\xB7\x82\xE9", + "Special Thanks to", + "Sake Joe Bostic-san", + "Tim Fritz", + "Kenny Dunne", + "Yukio Sekiguchi (Japan)", + "Takeshi Abo (Japan)" +}; + +static const StringListProvider k2SeqplayStringsPC98JapaneseProvider = { ARRAYSIZE(k2SeqplayStringsPC98Japanese), k2SeqplayStringsPC98Japanese }; + diff --git a/devtools/create_kyradat/resources/lok_amiga.h b/devtools/create_kyradat/resources/lok_amiga.h new file mode 100644 index 0000000000..4cfa275a55 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_amiga.h @@ -0,0 +1,1763 @@ +static const byte k1KallakWritingSeqAmiga[2036] = { + 0x00, 0x00, 0x01, 0x1A, 0x0E, 0x1B, 0x17, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x00, 0x00, 0x0C, + 0x00, 0x19, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x0F, + 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, + 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, + 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x02, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, + 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, + 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x02, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x03, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x09, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0F, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x14, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, + 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, 0x18, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, + 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, 0x06, + 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, 0x31, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, 0x02, + 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, 0x06, + 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, 0x00, + 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, 0x20, + 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, + 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, + 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, + 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, 0x0A, + 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, 0x00, + 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, 0x25, + 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, 0x1F, + 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, 0x14, + 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, 0x00, + 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x06, 0x3C, + 0x00, 0x01, 0x00, 0x1D +}; + +static const ByteProvider k1KallakWritingSeqAmigaProvider = { ARRAYSIZE(k1KallakWritingSeqAmiga), k1KallakWritingSeqAmiga }; + +static const byte k1MalcolmTreeSeqAmiga[532] = { + 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x00, 0x00, 0x0D, 0x01, + 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, 0x10, 0x19, + 0x03, 0x09, 0x18, 0x1E, 0x14, 0x18, 0x1F, 0x0A, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x00, + 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x18, + 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, 0x05, 0x0A, + 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x02, + 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, 0x18, 0x1F, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, 0x0A, + 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x03, + 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, 0x2D, 0x05, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1A, 0x18, + 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, 0x06, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, 0x14, 0x00, + 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, 0x50, 0x00, + 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, 0x07, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, 0x06, 0x00, + 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, 0x18, 0x50, + 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, 0x06, 0x06, + 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, 0x00, 0x18, + 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, 0x00, 0x10, + 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0A, + 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, + 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, 0x1A, 0x50, + 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, 0x03, 0x01, + 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, 0x1E, 0x00, + 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, 0x00, 0x11, + 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, 0x1D, 0x50, + 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, 0x02, 0x06, + 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, + 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, 0x00, 0x10, + 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x11, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x11, 0x02, + 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x1D +}; + +static const ByteProvider k1MalcolmTreeSeqAmigaProvider = { ARRAYSIZE(k1MalcolmTreeSeqAmiga), k1MalcolmTreeSeqAmiga }; + +static const byte k1WestwoodLogoSeqAmiga[77] = { + 0x19, 0x02, 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, + 0x00, 0x06, 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, + 0x03, 0x03, 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x03, 0x16, 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, + 0x78, 0x00, 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, + 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, + 0x02, 0x04, 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, + 0x00, 0x13, 0x01, 0x03, 0x1D +}; + +static const ByteProvider k1WestwoodLogoSeqAmigaProvider = { ARRAYSIZE(k1WestwoodLogoSeqAmiga), k1WestwoodLogoSeqAmiga }; + +static const byte k1KyrandiaLogoSeqAmiga[92] = { + 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, + 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, + 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, + 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, + 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, + 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x06, 0x1D +}; + +static const ByteProvider k1KyrandiaLogoSeqAmigaProvider = { ARRAYSIZE(k1KyrandiaLogoSeqAmiga), k1KyrandiaLogoSeqAmiga }; + +static const byte k1KallakMalcolmSeqAmiga[635] = { + 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x00, 0x00, 0x0D, 0x00, + 0x0C, 0x03, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, + 0xC7, 0x00, 0x02, 0x19, 0x05, 0x02, 0x04, 0x00, + 0x10, 0x00, 0x3A, 0x09, 0x14, 0x18, 0x23, 0x0A, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x00, + 0x22, 0x00, 0x11, 0x10, 0x02, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x01, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x01, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x11, + 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x02, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x02, 0x17, + 0x00, 0x06, 0x3C, 0x00, 0x11, 0x10, 0x04, 0x50, + 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06, 0x3C, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x11, 0x11, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x05, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x11, + 0x10, 0x06, 0xF0, 0x00, 0x3A, 0x05, 0x0A, 0x04, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, + 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x06, 0x78, 0x00, 0x11, 0x10, 0x07, 0xF0, 0x00, + 0x3A, 0x05, 0x0A, 0x05, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x05, 0x11, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x11, 0x11, 0x10, 0x08, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x06, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x11, + 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x07, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x07, 0x0A, + 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x11, 0x10, 0x0A, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x11, 0x11, 0x10, 0x0B, 0xF0, + 0x00, 0x3A, 0x05, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x11, 0x10, 0x0C, 0xF0, 0x00, + 0x3A, 0x05, 0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x11, 0x11, + 0x10, 0x0D, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x0A, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0A, 0x0E, + 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x0B, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x0B, 0x02, 0x00, 0x18, + 0x20, 0x0A, 0x0C, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x0C, 0x06, 0x00, 0x18, 0x21, 0x0A, 0x0D, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0D, 0x0C, + 0x00, 0x18, 0x22, 0x0A, 0x0E, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x0E, 0x0B, 0x00, 0x11, 0x10, + 0x0E, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x0F, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0F, 0x09, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x11, 0x10, 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0A, + 0x10, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x10, + 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x11, 0x10, 0x10, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x11, 0x10, 0x11, 0x50, + 0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07, + 0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01, + 0x01, 0x04, 0x1D +}; + +static const ByteProvider k1KallakMalcolmSeqAmigaProvider = { ARRAYSIZE(k1KallakMalcolmSeqAmiga), k1KallakMalcolmSeqAmiga }; + +static const byte k1ForestSeqAmiga[734] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, + 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, + 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, + 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, + 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, + 0x00, 0x18, 0x17, 0x0A, 0x01, 0x0C, 0x04, 0x03, + 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, + 0x0A, 0x07, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x0B, 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, + 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, + 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, + 0x00, 0x18, 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x02, 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, + 0x00, 0x13, 0x01, 0x07, 0x01, 0x05, 0x1D, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xEC, 0x00, 0x00, + 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, + 0x00, 0x2A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, + 0x01, 0x46, 0x00, 0x00, 0x01, 0x42, 0x00, 0x00, + 0x01, 0x3E, 0x00, 0x00, 0x01, 0x3A, 0x00, 0x00, + 0x01, 0x36, 0x00, 0x00, 0x01, 0x32, 0x00, 0x00, + 0x01, 0x2E, 0x00, 0x00, 0x01, 0x2A, 0x00, 0x00, + 0x01, 0x26, 0x00, 0x00, 0x01, 0x22, 0x00, 0x00, + 0x01, 0x1E, 0x00, 0x00, 0x01, 0x1A, 0x00, 0x00, + 0x01, 0x16, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, + 0x01, 0x0E, 0x00, 0x00, 0x01, 0x0A, 0x00, 0x00, + 0x01, 0x06, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, + 0x00, 0xF6, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, + 0x00, 0xEE, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, + 0x00, 0xE6, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, + 0x00, 0xDE, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, + 0x00, 0xD6, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, + 0x00, 0xCE, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, + 0x00, 0xC6, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, + 0x00, 0xBE, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, + 0x00, 0xB6, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, + 0x00, 0xAE, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, + 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, + 0x00, 0x9E, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, + 0x00, 0x96, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, + 0x00, 0x8E, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, + 0x00, 0x86, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, + 0x00, 0x7E, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, + 0x00, 0x72, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, + 0x00, 0x6A, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, + 0x00, 0x62, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, + 0x00, 0x52, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, + 0x00, 0x4A, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, + 0x00, 0x42, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, + 0x00, 0x3A, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xF2, 0x00, 0x00, + 0x03, 0xEA, 0x00, 0x00, 0x00, 0x08 +}; + +static const ByteProvider k1ForestSeqAmigaProvider = { ARRAYSIZE(k1ForestSeqAmiga), k1ForestSeqAmiga }; + +static const char *const k1IntroCPSStringsAmiga[2] = { + "malkal.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsAmigaProvider = { ARRAYSIZE(k1IntroCPSStringsAmiga), k1IntroCPSStringsAmiga }; + +static const char *const k1IntroWSAStringsAmiga[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsAmigaProvider = { ARRAYSIZE(k1IntroWSAStringsAmiga), k1IntroWSAStringsAmiga }; + +static const char *const k1IntroCOLStringsAmiga[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsAmigaProvider = { ARRAYSIZE(k1IntroCOLStringsAmiga), k1IntroCOLStringsAmiga }; + +static const Room k1RoomListAmiga[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 37, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 1, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListAmigaProvider = { ARRAYSIZE(k1RoomListAmiga), k1RoomListAmiga }; + +static const char *const k1RoomFilenamesAmiga[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesAmigaProvider = { ARRAYSIZE(k1RoomFilenamesAmiga), k1RoomFilenamesAmiga }; + +static const char *const k1CharacterImageFilenamesAmiga[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesAmigaProvider = { ARRAYSIZE(k1CharacterImageFilenamesAmiga), k1CharacterImageFilenamesAmiga }; + +static const Shape k1DefaultShapesAmiga[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesAmigaProvider = { ARRAYSIZE(k1DefaultShapesAmiga), k1DefaultShapesAmiga }; + +static const byte k1AmuleteAnimSeqAmiga[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqAmigaProvider = { ARRAYSIZE(k1AmuleteAnimSeqAmiga), k1AmuleteAnimSeqAmiga }; + +static const Shape k1Healing1ShapesAmiga[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesAmigaProvider = { ARRAYSIZE(k1Healing1ShapesAmiga), k1Healing1ShapesAmiga }; + +static const Shape k1Healing2ShapesAmiga[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesAmigaProvider = { ARRAYSIZE(k1Healing2ShapesAmiga), k1Healing2ShapesAmiga }; + +static const Shape k1PoisonDeathShapesAmiga[20] = { + { 19, 0, 0, 8, 48, -31, -48 }, + { 19, 8, 0, 8, 48, -31, -48 }, + { 19, 16, 0, 8, 48, -31, -48 }, + { 19, 24, 0, 8, 48, -31, -48 }, + { 19, 32, 0, 8, 48, -31, -48 }, + { 19, 0, 48, 8, 48, -31, -48 }, + { 19, 8, 48, 8, 48, -31, -48 }, + { 19, 16, 48, 8, 48, -31, -48 }, + { 19, 24, 48, 8, 48, -31, -48 }, + { 19, 32, 48, 8, 48, -31, -48 }, + { 19, 0, 96, 8, 48, -31, -48 }, + { 19, 8, 96, 8, 48, -31, -48 }, + { 19, 16, 96, 8, 48, -31, -48 }, + { 19, 24, 96, 8, 48, -31, -48 }, + { 19, 32, 96, 8, 48, -31, -48 }, + { 19, 0, 144, 8, 48, -31, -48 }, + { 19, 8, 144, 8, 48, -31, -48 }, + { 19, 16, 144, 8, 48, -31, -48 }, + { 19, 24, 144, 8, 48, -31, -48 }, + { 19, 32, 144, 8, 48, -31, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesAmigaProvider = { ARRAYSIZE(k1PoisonDeathShapesAmiga), k1PoisonDeathShapesAmiga }; + +static const Shape k1FluteShapesAmiga[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesAmigaProvider = { ARRAYSIZE(k1FluteShapesAmiga), k1FluteShapesAmiga }; + +static const Shape k1Winter1ShapesAmiga[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesAmigaProvider = { ARRAYSIZE(k1Winter1ShapesAmiga), k1Winter1ShapesAmiga }; + +static const Shape k1Winter2ShapesAmiga[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 5, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 15, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 25, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 35, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 5, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 15, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 25, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 10, 35, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 5, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 15, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 25, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 35, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 5, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 15, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 25, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 35, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 5, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter2ShapesAmigaProvider = { ARRAYSIZE(k1Winter2ShapesAmiga), k1Winter2ShapesAmiga }; + +static const Shape k1Winter3ShapesAmiga[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesAmigaProvider = { ARRAYSIZE(k1Winter3ShapesAmiga), k1Winter3ShapesAmiga }; + +static const Shape k1DrinkShapesAmiga[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 7, 0, 0, 3, 43, -12, -43 }, + { 7, 3, 3, 2, 40, -8, -40 }, + { 7, 5, 7, 2, 36, -8, -36 }, + { 7, 7, 10, 2, 33, -8, -33 }, + { 7, 9, 12, 2, 31, -8, -31 }, + { 7, 11, 15, 2, 28, -8, -28 } +}; + +static const ShapeProvider k1DrinkShapesAmigaProvider = { ARRAYSIZE(k1DrinkShapesAmiga), k1DrinkShapesAmiga }; + +static const Shape k1WispShapesAmiga[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesAmigaProvider = { ARRAYSIZE(k1WispShapesAmiga), k1WispShapesAmiga }; + +static const Shape k1MagicAnimShapesAmiga[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesAmigaProvider = { ARRAYSIZE(k1MagicAnimShapesAmiga), k1MagicAnimShapesAmiga }; + +static const Shape k1BranStoneShapesAmiga[15] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 }, + { 0, 0, 3, 242, 0, 0, 3 } +}; + +static const ShapeProvider k1BranStoneShapesAmigaProvider = { ARRAYSIZE(k1BranStoneShapesAmiga), k1BranStoneShapesAmiga }; + +static const byte k1OutroReunionSeqAmiga[1354] = { + 0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02, + 0x08, 0x00, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00, + 0x3A, 0x04, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x43, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00, + 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, + 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B, + 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x0C, 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x0D, 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x0E, 0x50, 0x00, 0x43, 0x07, 0x10, + 0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00, + 0x3A, 0x04, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00, + 0x3A, 0x04, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78, + 0x00, 0x3A, 0x1F, 0x0A, 0x03, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x43, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x43, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24, + 0x5A, 0x00, 0x3A, 0x04, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x37, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x06, + 0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x04, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26, + 0x78, 0x00, 0x3A, 0x1F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A, + 0x00, 0x3A, 0x04, 0x02, 0x08, 0x4E, 0x50, 0x00, + 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x51, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x52, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x53, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x06, 0x78, 0x00, 0x10, 0x28, + 0x78, 0x00, 0x3A, 0x1F, 0x0A, 0x05, 0x02, 0x08, + 0x59, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x5A, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x5B, 0x50, 0x00, 0x43, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x43, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06, + 0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x1F, + 0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x43, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, + 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, + 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C, + 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x5D, 0x50, 0x00, 0x43, 0x07, 0x08, 0x00, 0x0B, + 0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A, + 0x78, 0x00, 0x3A, 0x1F, 0x02, 0x08, 0x5E, 0x50, + 0x00, 0x43, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63, + 0x50, 0x00, 0x43, 0x07, 0x10, 0x00, 0x06, 0xB4, + 0x00, 0x11, 0x00, 0x09, 0x01, 0x18, 0x69, 0x02, + 0x09, 0x00, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x09, 0x01, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x18, 0x74, 0x02, 0x09, 0x02, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x03, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x75, 0x02, + 0x09, 0x04, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x09, 0x05, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x10, 0x2B, 0x96, 0x00, 0x23, 0x22, 0x0A, + 0x06, 0x02, 0x09, 0x07, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x09, 0x08, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x09, 0x09, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x0A, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x0B, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, + 0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x09, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00, 0x10, + 0x2C, 0x96, 0x00, 0x23, 0x22, 0x0A, 0x06, 0x02, + 0x09, 0x07, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x09, 0x08, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x09, 0x09, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x09, 0x0A, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x09, 0x0B, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x0C, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x0D, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, + 0x01, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x2D, 0x96, + 0x00, 0x23, 0x22, 0x0A, 0x06, 0x02, 0x09, 0x07, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, + 0x08, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x09, 0x09, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x09, 0x0A, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x09, 0x0B, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x09, 0x0C, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x09, 0x0D, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, + 0x06, 0x1E, 0x00, 0x02, 0x09, 0x0E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x09, 0x0F, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0x14, 0x00, + 0x02, 0x09, 0x10, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x09, 0x11, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x06, 0x78, 0x00, 0x13, 0x01, 0x08, + 0x1D, 0x00 +}; + +static const ByteProvider k1OutroReunionSeqAmigaProvider = { ARRAYSIZE(k1OutroReunionSeqAmiga), k1OutroReunionSeqAmiga }; + +static const AmigaSfxTable k1AmigaIntroSFXTableAmiga[40] = { + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 25, 9516, 110, 0 }, + { 60, 25, 9516, 110, 0 }, + { 60, 25, 9516, 110, 0 }, + { 60, 19, 7057, 110, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 22, 9847, 110, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 23, 4504, 110, 0 }, + { 60, 25, 9516, 110, 0 }, + { 60, 24, 8913, 110, 0 }, + { 60, 25, 9516, 110, 0 }, + { 69, 3, 548, 110, 0 }, + { 60, 22, 9847, 110, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 } +}; + +static const AmigaSfxTableProvider k1AmigaIntroSFXTableAmigaProvider = { ARRAYSIZE(k1AmigaIntroSFXTableAmiga), k1AmigaIntroSFXTableAmiga }; + +static const AmigaSfxTable k1AmigaGameSFXTableAmiga[120] = { + { 0, 0, 0, 0, 0 }, + { 1, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 19, 342, 120, 2 }, + { 60, 20, 10028, 120, 2 }, + { 60, 21, 7057, 120, 2 }, + { 60, 22, 7831, 120, 2 }, + { 60, 23, 4651, 120, 2 }, + { 60, 22, 7831, 120, 2 }, + { 69, 3, 548, 120, 2 }, + { 60, 22, 7831, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 25, 9516, 120, 2 }, + { 44, 4, 2320, 120, 2 }, + { 60, 25, 9516, 120, 2 }, + { 60, 26, 15083, 120, 2 }, + { 37, 27, 5003, 120, 2 }, + { 24, 3, 3922, 120, 2 }, + { 62, 28, 1570, 120, 2 }, + { 59, 28, 1876, 120, 2 }, + { 22, 3, 8303, 120, 2 }, + { 60, 25, 9516, 120, 2 }, + { 60, 29, 2538, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 20, 10028, 120, 2 }, + { 60, 30, 878, 120, 2 }, + { 60, 23, 4651, 120, 2 }, + { 78, 11, 2449, 120, 2 }, + { 71, 27, 700, 120, 2 }, + { 76, 27, 529, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 19, 342, 120, 2 }, + { 60, 19, 342, 120, 2 }, + { 60, 31, 3742, 120, 2 }, + { 60, 32, 268, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 25, 9516, 120, 2 }, + { 60, 33, 3964, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 42, 11, 19527, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 27, 1320, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 44, 4, 2320, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 34, 2798, 120, 2 }, + { 60, 22, 7831, 120, 2 }, + { 60, 21, 7057, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 20, 10028, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 34, 2798, 120, 2 }, + { 60, 20, 10028, 120, 2 }, + { 50, 35, 5145, 156, 2 }, + { 60, 25, 5916, 120, 2 }, + { 60, 20, 10028, 120, 2 }, + { 62, 28, 1570, 120, 2 }, + { 67, 19, 513, 120, 2 }, + { 60, 36, 4675, 90, 2 }, + { 62, 32, 238, 120, 2 }, + { 60, 25, 9516, 120, 2 }, + { 41, 4, 6634, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 32, 268, 120, 2 }, + { 60, 37, 12470, 120, 2 }, + { 60, 25, 9516, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 22, 7831, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 26, 15083, 120, 2 }, + { 27, 4, 14835, 120, 2 }, + { 48, 35, 5785, 80, 2 }, + { 60, 21, 7057, 120, 2 }, + { 41, 6, 6634, 80, 2 }, + { 60, 25, 9516, 120, 2 }, + { 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0 }, + { 60, 26, 15083, 120, 2 }, + { 60, 25, 9516, 120, 2 }, + { 60, 38, 1811, 120, 2 }, + { 60, 38, 1811, 120, 2 }, + { 60, 20, 10028, 120, 2 }, + { 48, 35, 5785, 80, 2 }, + { 48, 35, 5785, 80, 2 }, + { 0, 0, 0, 0, 0 }, + { 60, 19, 342, 120, 2 } +}; + +static const AmigaSfxTableProvider k1AmigaGameSFXTableAmigaProvider = { ARRAYSIZE(k1AmigaGameSFXTableAmiga), k1AmigaGameSFXTableAmiga }; + diff --git a/devtools/create_kyradat/resources/lok_amiga_english.h b/devtools/create_kyradat/resources/lok_amiga_english.h new file mode 100644 index 0000000000..c157f4a0b0 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_amiga_english.h @@ -0,0 +1,497 @@ +static const char *const k1IntroStringsAmigaEnglish[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak...", + "...Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcolm!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land!", + "Your puny curse restrains me naught.", + "So, slay me now!", + "I have little magic left.", + "I mean to harm you, have no doubt...", + "...Now you are stone...", + "...Yet I leave your eyes.", + "I shed no tears for Kyrandia...", + "...But cannot deny you yours.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "How dare you trip ME!", + "But no, something special for you...", + "A humorous hex!", + "But I shall give fair warning.", + "Don't jump on THAT tree!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way...", + "...Is it not?", + "Ha ha ha...", + "Aren't fingers wonderful?", + "It's great to be alive!", + "Brandon!", + "Grandfather! We did it!", + "No! YOU did it!", + "Long live King Brandon!", + "Long live the Royal Mystics!", + "Now, let's go put Kyrandia back together!", + "Good idea!", + "As my first Royal Proclamation...", + "I name sandals as the official footwear of Kyrandia!", + "Well done, Brandon!", + "The Land no longer weeps...", + "And your friends have been restored!", + "Dear Brynn...", + "Malcolm has broken free!", + "Soon he will come for me.", + "Please help Brandon...", + "" +}; + +static const StringListProvider k1IntroStringsAmigaEnglishProvider = { ARRAYSIZE(k1IntroStringsAmigaEnglish), k1IntroStringsAmigaEnglish }; + +static const char *const k1ItemNamesAmigaEnglish[82] = { + "Garnet", + "Amethyst", + "Aquamarine", + "Diamond", + "Emerald", + "Pearl", + "Ruby", + "Peridot", + "Sapphire", + "Opal", + "Topaz", + "Onyx", + "Sunstone", + "Moonstone", + "Rainbowstone", + "Lodestone", + "Rose", + "Tulip", + "Orchid", + "Silver Rose", + "Silver Statuette", + "Silver Coin", + "Gold Coin", + "Gold Ring", + "Royal Chalice", + "Pinecone", + "Acorn", + "Walnut", + "Everglowing Fireberries", + "Fireberries", + "Fish", + "Fish Bone", + "Mutton Leg", + "Bone", + "Apple", + "Apple Core", + "Blueberries", + "Mushroom", + "Note", + "Marble", + "Saw", + "Ankh", + "Feather", + "Egg", + "Leaf", + "Shamrock", + "Fallen Star", + "Crystal Ball", + "Teardrop", + "Mirror", + "Ice Shard", + "Flute", + "Hourglass", + "Iron Key", + "Jade Key", + "Obsidion Key", + "Red Potion", + "Blue Potion", + "Yellow Potion", + "Green Potion", + "Orange Potion", + "Purple Potion", + "Potion of Rainbows", + "Fresh Water", + "Salt Water", + "Mineral Water", + "Magical Water", + "Empty Flask", + "Scroll", + "Parchment scrap", + "Red Magestone", + "Orange Magestone", + "Yellow Magestone", + "Green Magestone", + "Blue-Green Magestone", + "Blue Magestone", + "Purple Magestone", + "Heavy rock", + "Royal Crown", + "Royal Sceptre", + "Gold key", + "Unknown item" +}; + +static const StringListProvider k1ItemNamesAmigaEnglishProvider = { ARRAYSIZE(k1ItemNamesAmigaEnglish), k1ItemNamesAmigaEnglish }; + +static const char *const k1TakenStringsAmigaEnglish[1] = { + " taken." +}; + +static const StringListProvider k1TakenStringsAmigaEnglishProvider = { ARRAYSIZE(k1TakenStringsAmigaEnglish), k1TakenStringsAmigaEnglish }; + +static const char *const k1PlacedStringsAmigaEnglish[1] = { + " placed." +}; + +static const StringListProvider k1PlacedStringsAmigaEnglishProvider = { ARRAYSIZE(k1PlacedStringsAmigaEnglish), k1PlacedStringsAmigaEnglish }; + +static const char *const k1DroppedStringsAmigaEnglish[1] = { + " dropped." +}; + +static const StringListProvider k1DroppedStringsAmigaEnglishProvider = { ARRAYSIZE(k1DroppedStringsAmigaEnglish), k1DroppedStringsAmigaEnglish }; + +static const char *const k1NoDropStringsAmigaEnglish[2] = { + "You can't drop any more items in this scene.", + "You can't put that there." +}; + +static const StringListProvider k1NoDropStringsAmigaEnglishProvider = { ARRAYSIZE(k1NoDropStringsAmigaEnglish), k1NoDropStringsAmigaEnglish }; + +static const char *const k1PutDownStringAmigaEnglish[1] = { + "Maybe I'd better put this down first." +}; + +static const StringListProvider k1PutDownStringAmigaEnglishProvider = { ARRAYSIZE(k1PutDownStringAmigaEnglish), k1PutDownStringAmigaEnglish }; + +static const char *const k1WaitAmuletStringAmigaEnglish[1] = { + "I guess I'll have to wait for my Amulet to regain its power." +}; + +static const StringListProvider k1WaitAmuletStringAmigaEnglishProvider = { ARRAYSIZE(k1WaitAmuletStringAmigaEnglish), k1WaitAmuletStringAmigaEnglish }; + +static const char *const k1BlackJewelStringAmigaEnglish[1] = { + "It's a jewel, but why is it black?" +}; + +static const StringListProvider k1BlackJewelStringAmigaEnglishProvider = { ARRAYSIZE(k1BlackJewelStringAmigaEnglish), k1BlackJewelStringAmigaEnglish }; + +static const char *const k1HealingTipStringAmigaEnglish[1] = { + "Gee, this could come in handy if I get hurt." +}; + +static const StringListProvider k1HealingTipStringAmigaEnglishProvider = { ARRAYSIZE(k1HealingTipStringAmigaEnglish), k1HealingTipStringAmigaEnglish }; + +static const char *const k1PoisonGoneStringAmigaEnglish[2] = { + "Amazing!", + "The effects of the poison are gone!" +}; + +static const StringListProvider k1PoisonGoneStringAmigaEnglishProvider = { ARRAYSIZE(k1PoisonGoneStringAmigaEnglish), k1PoisonGoneStringAmigaEnglish }; + +static const char *const k1ThePoisonStringsAmigaEnglish[4] = { + "The poison...", + "I can't breathe...", + "I don't feel so good...", + "That snake must\rbe poisonous!" +}; + +static const StringListProvider k1ThePoisonStringsAmigaEnglishProvider = { ARRAYSIZE(k1ThePoisonStringsAmigaEnglish), k1ThePoisonStringsAmigaEnglish }; + +static const char *const k1FluteStringsAmigaEnglish[2] = { + "Not very impressive sounding.", + "That last note sure was high!" +}; + +static const StringListProvider k1FluteStringsAmigaEnglishProvider = { ARRAYSIZE(k1FluteStringsAmigaEnglish), k1FluteStringsAmigaEnglish }; + +static const char *const k1WispJewelStringsAmigaEnglish[3] = { + "I'm not really feeling up to it right now.", + "I probably should put down my ", + ", first." +}; + +static const StringListProvider k1WispJewelStringsAmigaEnglishProvider = { ARRAYSIZE(k1WispJewelStringsAmigaEnglish), k1WispJewelStringsAmigaEnglish }; + +static const char *const k1MagicJewelStringsAmigaEnglish[1] = { + "That felt strange." +}; + +static const StringListProvider k1MagicJewelStringsAmigaEnglishProvider = { ARRAYSIZE(k1MagicJewelStringsAmigaEnglish), k1MagicJewelStringsAmigaEnglish }; + +static const char *const k1FlaskFullStringAmigaEnglish[1] = { + "This flask is already full." +}; + +static const StringListProvider k1FlaskFullStringAmigaEnglishProvider = { ARRAYSIZE(k1FlaskFullStringAmigaEnglish), k1FlaskFullStringAmigaEnglish }; + +static const char *const k1FullFlaskStringAmigaEnglish[4] = { + "The flask is now filled\rwith fresh, sparkling water.", + "The flask is now filled\rwith salt water.", + "The flask is now filled\rwith mineral water.", + "Magic water." +}; + +static const StringListProvider k1FullFlaskStringAmigaEnglishProvider = { ARRAYSIZE(k1FullFlaskStringAmigaEnglish), k1FullFlaskStringAmigaEnglish }; + +static const char *const k1OutroHomeStringAmigaEnglish[1] = { + "Home" +}; + +static const StringListProvider k1OutroHomeStringAmigaEnglishProvider = { ARRAYSIZE(k1OutroHomeStringAmigaEnglish), k1OutroHomeStringAmigaEnglish }; + +static const char *const k1VeryCleverStringAmigaEnglish[1] = { + "Very clever! But your feeble efforts are futile." +}; + +static const StringListProvider k1VeryCleverStringAmigaEnglishProvider = { ARRAYSIZE(k1VeryCleverStringAmigaEnglish), k1VeryCleverStringAmigaEnglish }; + +static const char *const k1GUIStringsAmigaEnglish[60] = { + "The Legend of Kyrandia", + "Load a game", + "Save this game", + "Game controls", + "Quit playing", + "Resume game", + "Game Controls", + "Which game would you like to reload?", + "Select a position to save to:", + "[ EMPTY SLOT ]", + "Cancel", + "Enter a description of your saved game:", + "Save", + "Rest in peace, Brandon.", + "Are you sure you want to quit playing?", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXX", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "Main menu", + "on", + "off", + "Yes", + "No", + "", + "\x01""Y""\xD6", + "\x01""Y""\xDE", + "\x01""Y""\xE4", + "\x01""Y""\xEC", + "\x01""Y""\xF2", + "\x01""Y""\xD6", + "\x01""Y""\xE4", + "\x01""Y""\xEC", + "\x01""Y""\xFA""Walk speed ", + "Text speed ", + "Music is ", + "Sounds are " +}; + +static const StringListProvider k1GUIStringsAmigaEnglishProvider = { ARRAYSIZE(k1GUIStringsAmigaEnglish), k1GUIStringsAmigaEnglish }; + +static const char *const k1NewGameStringAmigaEnglish[1] = { + "[ START A NEW GAME ]" +}; + +static const StringListProvider k1NewGameStringAmigaEnglishProvider = { ARRAYSIZE(k1NewGameStringAmigaEnglish), k1NewGameStringAmigaEnglish }; + +static const char *const k1ConfigStringsAmigaEnglish[6] = { + "slowest", + "slow", + "normal", + "fast", + "fastest", + "clickable" +}; + +static const StringListProvider k1ConfigStringsAmigaEnglishProvider = { ARRAYSIZE(k1ConfigStringsAmigaEnglish), k1ConfigStringsAmigaEnglish }; + +static const byte k1CreditsStringsAmigaEnglish[1228] = { + 0x05, 0x46, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x20, + 0x26, 0x20, 0x46, 0x69, 0x65, 0x6E, 0x64, 0x73, + 0x0D, 0x05, 0x42, 0x6F, 0x6F, 0x6B, 0x20, 0x49, + 0x0D, 0x05, 0x54, 0x48, 0x45, 0x20, 0x4C, 0x45, + 0x47, 0x45, 0x4E, 0x44, 0x20, 0x4F, 0x46, 0x20, + 0x4B, 0x59, 0x52, 0x41, 0x4E, 0x44, 0x49, 0x41, + 0x0D, 0x0D, 0x05, 0x50, 0x75, 0x62, 0x6C, 0x69, + 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0D, + 0x05, 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, 0x6F, + 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, + 0x73, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x03, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6F, 0x72, 0x3A, 0x04, 0x42, 0x72, 0x65, 0x74, + 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x0D, 0x0D, 0x03, 0x44, 0x65, + 0x73, 0x69, 0x67, 0x6E, 0x3A, 0x04, 0x4D, 0x69, + 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x4C, 0x65, + 0x67, 0x67, 0x0D, 0x04, 0x52, 0x69, 0x63, 0x6B, + 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x0D, 0x04, + 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, 0x20, + 0x4D, 0x75, 0x64, 0x72, 0x61, 0x0D, 0x0D, 0x03, + 0x4C, 0x65, 0x61, 0x64, 0x20, 0x50, 0x72, 0x6F, + 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, 0x3A, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, 0x0D, 0x03, + 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x50, + 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, + 0x72, 0x3A, 0x04, 0x53, 0x63, 0x6F, 0x74, 0x74, + 0x20, 0x42, 0x6F, 0x77, 0x65, 0x6E, 0x0D, 0x0D, + 0x03, 0x41, 0x6D, 0x69, 0x67, 0x61, 0x20, 0x50, + 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, + 0x72, 0x3A, 0x04, 0x42, 0x69, 0x6C, 0x6C, 0x20, + 0x53, 0x74, 0x6F, 0x6B, 0x65, 0x73, 0x0D, 0x0D, + 0x03, 0x49, 0x6E, 0x74, 0x72, 0x6F, 0x20, 0x26, + 0x20, 0x46, 0x69, 0x6E, 0x61, 0x6C, 0x65, 0x3A, + 0x04, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6F, + 0x70, 0x68, 0x65, 0x72, 0x20, 0x59, 0x61, 0x74, + 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x41, 0x72, 0x74, + 0x20, 0x26, 0x20, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x69, 0x63, 0x73, 0x3A, 0x04, 0x52, 0x69, 0x63, + 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x0D, + 0x04, 0x52, 0x65, 0x6E, 0x20, 0x4F, 0x6C, 0x73, + 0x65, 0x6E, 0x0D, 0x04, 0x4C, 0x6F, 0x75, 0x69, + 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, 0x64, 0x6F, + 0x76, 0x61, 0x6C, 0x0D, 0x04, 0x4A, 0x6F, 0x73, + 0x65, 0x70, 0x68, 0x20, 0x48, 0x65, 0x77, 0x69, + 0x74, 0x74, 0x20, 0x49, 0x56, 0x0D, 0x04, 0x4A, + 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x0D, 0x04, + 0x41, 0x61, 0x72, 0x6F, 0x6E, 0x20, 0x50, 0x6F, + 0x77, 0x65, 0x6C, 0x6C, 0x0D, 0x04, 0x45, 0x6C, + 0x69, 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, 0x69, + 0x61, 0x6E, 0x0D, 0x04, 0x45, 0x72, 0x69, 0x63, + 0x20, 0x53, 0x68, 0x75, 0x6C, 0x74, 0x73, 0x0D, + 0x0D, 0x03, 0x41, 0x75, 0x64, 0x69, 0x6F, 0x20, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, + 0x3A, 0x04, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, + 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x0D, + 0x0D, 0x03, 0x4D, 0x75, 0x73, 0x69, 0x63, 0x3A, + 0x04, 0x46, 0x72, 0x61, 0x6E, 0x6B, 0x20, 0x4B, + 0x6C, 0x65, 0x70, 0x61, 0x63, 0x6B, 0x69, 0x0D, + 0x0D, 0x03, 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x3A, + 0x04, 0x44, 0x77, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x4F, 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x0D, + 0x0D, 0x03, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x3A, 0x04, 0x22, 0x43, 0x6F, 0x63, 0x6F, 0x22, + 0x0D, 0x0D, 0x03, 0x51, 0x75, 0x61, 0x6C, 0x69, + 0x74, 0x79, 0x20, 0x41, 0x73, 0x73, 0x75, 0x72, + 0x61, 0x6E, 0x63, 0x65, 0x3A, 0x04, 0x47, 0x6C, + 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, 0x65, 0x72, + 0x72, 0x79, 0x0D, 0x04, 0x4D, 0x61, 0x74, 0x74, + 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, 0x6E, 0x73, + 0x0D, 0x04, 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x46, + 0x6F, 0x73, 0x74, 0x65, 0x72, 0x0D, 0x04, 0x4D, + 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x4C, + 0x69, 0x67, 0x68, 0x74, 0x6E, 0x65, 0x72, 0x0D, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x47, 0x61, 0x74, 0x65, 0x72, 0x0D, 0x04, + 0x45, 0x75, 0x67, 0x65, 0x6E, 0x65, 0x20, 0x4D, + 0x61, 0x72, 0x74, 0x69, 0x6E, 0x0D, 0x04, 0x4D, + 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x47, + 0x6C, 0x6F, 0x73, 0x65, 0x63, 0x6B, 0x69, 0x0D, + 0x04, 0x4A, 0x75, 0x73, 0x74, 0x69, 0x6E, 0x20, + 0x4E, 0x6F, 0x72, 0x72, 0x0D, 0x04, 0x54, 0x6F, + 0x70, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x54, + 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x0D, 0x04, + 0x54, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, 0x20, + 0x31, 0x2C, 0x32, 0x2C, 0x33, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x05, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6C, 0x20, 0x54, 0x68, 0x61, 0x6E, 0x6B, + 0x73, 0x20, 0x74, 0x6F, 0x0D, 0x05, 0x4C, 0x79, + 0x6C, 0x65, 0x20, 0x4A, 0x2E, 0x20, 0x48, 0x61, + 0x6C, 0x6C, 0x0D, 0x05, 0x44, 0x61, 0x76, 0x69, + 0x64, 0x20, 0x42, 0x69, 0x73, 0x68, 0x6F, 0x70, + 0x0D, 0x05, 0x22, 0x54, 0x68, 0x65, 0x20, 0x44, + 0x6F, 0x63, 0x22, 0x0D, 0x05, 0x61, 0x6E, 0x64, + 0x0D, 0x05, 0x46, 0x69, 0x72, 0x65, 0x62, 0x65, + 0x72, 0x72, 0x79, 0x20, 0x47, 0x72, 0x65, 0x65, + 0x6E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x05, 0x43, 0x41, 0x53, 0x54, 0x20, 0x4F, + 0x46, 0x20, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, + 0x54, 0x45, 0x52, 0x53, 0x0D, 0x0D, 0x05, 0x4D, + 0x61, 0x6C, 0x63, 0x6F, 0x6C, 0x6D, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x4A, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x0D, 0x05, 0x42, 0x72, 0x61, 0x6E, 0x64, + 0x6F, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, + 0x6F, 0x6C, 0x64, 0x0D, 0x05, 0x42, 0x72, 0x61, + 0x6E, 0x64, 0x79, 0x77, 0x69, 0x6E, 0x65, 0x20, + 0x61, 0x6E, 0x64, 0x20, 0x44, 0x61, 0x72, 0x6D, + 0x0D, 0x05, 0x50, 0x72, 0x69, 0x65, 0x73, 0x74, + 0x65, 0x73, 0x73, 0x20, 0x42, 0x72, 0x79, 0x6E, + 0x6E, 0x0D, 0x05, 0x5A, 0x61, 0x6E, 0x74, 0x68, + 0x69, 0x61, 0x2C, 0x20, 0x4C, 0x61, 0x64, 0x79, + 0x20, 0x6F, 0x66, 0x20, 0x41, 0x6C, 0x63, 0x68, + 0x65, 0x6D, 0x79, 0x0D, 0x05, 0x48, 0x65, 0x72, + 0x6D, 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x48, 0x61, 0x6E, 0x64, 0x79, 0x6D, 0x61, 0x6E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x05, + 0x41, 0x6E, 0x79, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, + 0x6E, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, + 0x61, 0x6D, 0x65, 0x20, 0x77, 0x68, 0x6F, 0x20, + 0x62, 0x65, 0x61, 0x72, 0x0D, 0x05, 0x72, 0x65, + 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x61, 0x6E, 0x63, + 0x65, 0x20, 0x74, 0x6F, 0x20, 0x70, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x73, 0x20, 0x6C, 0x69, 0x76, + 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x0D, 0x05, + 0x64, 0x65, 0x61, 0x64, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x70, 0x75, 0x72, 0x65, 0x6C, 0x79, 0x20, + 0x63, 0x6F, 0x69, 0x6E, 0x63, 0x69, 0x64, 0x65, + 0x6E, 0x74, 0x61, 0x6C, 0x2E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x05, 0x4D, 0x61, 0x78, 0x54, 0x72, + 0x61, 0x78, 0xE2, 0x20, 0x6D, 0x75, 0x73, 0x69, + 0x63, 0x20, 0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x0D, 0x05, 0x20, 0xE3, 0x20, 0x31, + 0x39, 0x39, 0x32, 0x20, 0x53, 0x79, 0x6C, 0x76, + 0x61, 0x6E, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6E, + 0x69, 0x63, 0x61, 0x6C, 0x20, 0x41, 0x72, 0x74, + 0x73, 0x0D, 0x05, 0x4C, 0x69, 0x63, 0x65, 0x6E, + 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x44, 0x72, 0x65, 0x61, 0x6D, + 0x65, 0x72, 0x73, 0x20, 0x47, 0x75, 0x69, 0x6C, + 0x64, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x05, 0x43, 0x6F, + 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, + 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, 0x32, + 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, + 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, + 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, + 0x0D, 0x05, 0x41, 0x6C, 0x6C, 0x20, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, 0x0D, 0x0D, + 0x0D, 0x0D, 0x00, 0x00 +}; + +static const ByteProvider k1CreditsStringsAmigaEnglishProvider = { ARRAYSIZE(k1CreditsStringsAmigaEnglish), k1CreditsStringsAmigaEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_amiga_german.h b/devtools/create_kyradat/resources/lok_amiga_german.h new file mode 100644 index 0000000000..ff9090ab2a --- /dev/null +++ b/devtools/create_kyradat/resources/lok_amiga_german.h @@ -0,0 +1,492 @@ +static const char *const k1IntroStringsAmigaGerman[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Sei gegr""\x81\xE1""t, Kallak...", + "...M""\x84""chtiger Anf""\x81""hrer der k""\x94""niglichen Mystiker!", + "Habe ich dich erschreckt?", + "Malcolm!", + "Ich habe gestern von deiner Flucht geh""\x94""rt.", + "Ich habe dich fr""\x81""her erwartet.", + "Warum sollte ich mich beeilen?", + "Ich herrsche ""\x81""ber dieses Land!", + "Dein mickriger Fluch h""\x84""lt mich nicht zur""\x81""ck.", + "So, erschlag mich doch!", + "Ich habe nur noch wenig Magie ""\x81""brig.", + "Ich werde dir zu Leibe r""\x81""cken, zweifle blo""\xE1"" nicht daran...", + "...du bist jetzt aus Stein...", + "...Ich lassen dir allein deine Augen.", + "F""\x81""r Kyrandia vergie""\xE1""e ich nicht eine Tr""\x84""ne...", + "...aber deine will ich dir nicht nehmen.", + "Malcolm der Hofnarr ist ausgebrochen!", + "Er beherrscht nun den Kyragem...", + "...die Quelle aller Magie in Kyrandia!", + "", + "Wie kannst du es wagen, MICH umzuwerfen!", + "Nicht doch, etwas Besonderes f""\x81""r dich...", + "Was f""\x81""r ein l""\x84""cherlicher Fluch!", + "Ich warne dich vorher.", + "Springe nicht auf DIESEN Baum!", + "Klettre nicht auf diesen Baum, kleines Eichh""\x94""rnchen!", + "Buuh!", + "So ist es viel lustiger...", + "...nicht wahr?", + "Ha ha ha...", + "Sind Finger nicht 'was Tolles?", + "Es ist gro""\xE1""artig, am Leben zu sein!", + "Brandon!", + "Gro""\xE1""vater! Wir haben es geschafft!", + "Nein! DU hast es geschafft!", + "Lang lebe K""\x94""nig Brandon!", + "Lang leben die k""\x94""niglichen Mystiker!", + "Bauen wir Kyrandia wieder auf!", + "Eine gute Idee!", + "Als meine erste k""\x94""nigliche Proklamation,...", + "...erkl""\x84""re ich Sandalen zur offiziellen Fu""\xE1""bekleidung Kyrandias!", + "Sehr weise, Brandon!", + "Das Land ist nicht l""\x84""nger in Trauer!", + "Und deine Freunde sind gerettet.", + "Liebe Brynn...", + "Malcolm ist ausgebrochen!", + "Er wird bald zu mir kommen.", + "Bitte hilf Brandon...", + "" +}; + +static const StringListProvider k1IntroStringsAmigaGermanProvider = { ARRAYSIZE(k1IntroStringsAmigaGerman), k1IntroStringsAmigaGerman }; + +static const char *const k1ItemNamesAmigaGerman[82] = { + "Granat", + "Amethyst", + "Aquamarin", + "Diamant", + "Smaragd", + "Perle", + "Rubin", + "Peridot", + "Saphir", + "Opal", + "Topas", + "Onyx", + "Sonnenstein", + "Mondstein", + "Regenbogenstein", + "Magnetstein", + "Rose", + "Tulpe", + "Orchidee", + "Silberne Rose", + "Silberne Statuette", + "Silberm""\x81""nze", + "Goldm""\x81""nze", + "Goldring", + "Der Kelch des K""\x94""nigs", + "Kienapfel", + "Eichel", + "Walnu""\xE1", + "Immerleuchtende Feuerbeeren", + "Feuerbeeren", + "Fisch", + "Fischgr""\x84""te", + "Hammelkeule", + "Knochen", + "Apfel", + "Apfelgriebsch", + "Heidelbeeren", + "Pilz", + "Notiz", + "Murmel", + "S""\x84""ge", + "Henkelkreuz", + "Feder", + "Ei", + "Blatt", + "Kleeblatt", + "Sternschnuppe", + "Kristallkugel", + "Tr""\x84""ne", + "Spiegel", + "Eisst""\x81""ck", + "Fl""\x94""te", + "Sanduhr", + "Eisenschl""\x81""ssel", + "Jadeschl""\x81""ssel", + "Obsidianschl""\x81""ssel", + "Roter Trank", + "Blauer Trank", + "Gelber Trank", + "Gr""\x81""ner Trank", + "Oranger Trank", + "Violetter Trank", + "Regenbogentrank", + "S""\x81\xE1""wasser", + "Salzwasser", + "Mineralwasser", + "Magisches Wasser", + "Leere Flasche", + "Schriftrolle", + "Pergamentfetzen", + "Roter Weisenstein", + "Oranger Weisenstein", + "Gelber Weisenstein", + "Gr""\x81""ner Weisenstein", + "T""\x81""rkiser Weisenstein", + "Blauer Weisenstein", + "Violetter Weisenstein", + "Schwerer Stein", + "K""\x94""nigliche Krone", + "K""\x94""nigliches Zepter", + "Goldschl""\x81""ssel", + "Unbekannter Gegenstand" +}; + +static const StringListProvider k1ItemNamesAmigaGermanProvider = { ARRAYSIZE(k1ItemNamesAmigaGerman), k1ItemNamesAmigaGerman }; + +static const char *const k1TakenStringsAmigaGerman[1] = { + " aufgenommen." +}; + +static const StringListProvider k1TakenStringsAmigaGermanProvider = { ARRAYSIZE(k1TakenStringsAmigaGerman), k1TakenStringsAmigaGerman }; + +static const char *const k1PlacedStringsAmigaGerman[1] = { + " abgelegt." +}; + +static const StringListProvider k1PlacedStringsAmigaGermanProvider = { ARRAYSIZE(k1PlacedStringsAmigaGerman), k1PlacedStringsAmigaGerman }; + +static const char *const k1DroppedStringsAmigaGerman[1] = { + " fallengelassen." +}; + +static const StringListProvider k1DroppedStringsAmigaGermanProvider = { ARRAYSIZE(k1DroppedStringsAmigaGerman), k1DroppedStringsAmigaGerman }; + +static const char *const k1NoDropStringsAmigaGerman[2] = { + "Hier kann nichts mehr abgelegt werden.", + "Das kann hier nicht abgelegt werden." +}; + +static const StringListProvider k1NoDropStringsAmigaGermanProvider = { ARRAYSIZE(k1NoDropStringsAmigaGerman), k1NoDropStringsAmigaGerman }; + +static const char *const k1PutDownStringAmigaGerman[1] = { + "Vielleicht sollte ich es erst hinlegen." +}; + +static const StringListProvider k1PutDownStringAmigaGermanProvider = { ARRAYSIZE(k1PutDownStringAmigaGerman), k1PutDownStringAmigaGerman }; + +static const char *const k1WaitAmuletStringAmigaGerman[1] = { + "I nehme an, ich mu""\xE1"" warten, bis mein Amulett seine Kraft wiedererlangt." +}; + +static const StringListProvider k1WaitAmuletStringAmigaGermanProvider = { ARRAYSIZE(k1WaitAmuletStringAmigaGerman), k1WaitAmuletStringAmigaGerman }; + +static const char *const k1BlackJewelStringAmigaGerman[1] = { + "Es ist ein Edelstein, aber warum ist er schwarz?" +}; + +static const StringListProvider k1BlackJewelStringAmigaGermanProvider = { ARRAYSIZE(k1BlackJewelStringAmigaGerman), k1BlackJewelStringAmigaGerman }; + +static const char *const k1HealingTipStringAmigaGerman[1] = { + "Mann, das kann ganz n""\x81""tzlich sein, falls ich mich verletze!" +}; + +static const StringListProvider k1HealingTipStringAmigaGermanProvider = { ARRAYSIZE(k1HealingTipStringAmigaGerman), k1HealingTipStringAmigaGerman }; + +static const char *const k1PoisonGoneStringAmigaGerman[2] = { + "Erstaunlich!", + "Die Wirkung des Giftes hat nachgelassen!" +}; + +static const StringListProvider k1PoisonGoneStringAmigaGermanProvider = { ARRAYSIZE(k1PoisonGoneStringAmigaGerman), k1PoisonGoneStringAmigaGerman }; + +static const char *const k1ThePoisonStringsAmigaGerman[4] = { + "Das Gift...", + "Ich kann nicht atmen...", + "Ich f""\x81""hle mich nicht besonders wohl...", + "Die Schlange mu""\xE1"" \rgiftig gewesen sein!" +}; + +static const StringListProvider k1ThePoisonStringsAmigaGermanProvider = { ARRAYSIZE(k1ThePoisonStringsAmigaGerman), k1ThePoisonStringsAmigaGerman }; + +static const char *const k1FluteStringsAmigaGerman[2] = { + "Klingt nicht besonders beeindruckend.", + "Die letzte Note war hoch!" +}; + +static const StringListProvider k1FluteStringsAmigaGermanProvider = { ARRAYSIZE(k1FluteStringsAmigaGerman), k1FluteStringsAmigaGerman }; + +static const char *const k1WispJewelStringsAmigaGerman[3] = { + "Im Moment f""\x81""hle ich mich dazu nicht in der Lage.", + "Ich mu""\xE1"" wahrscheinlich erst mein(e)...", + "ablegen." +}; + +static const StringListProvider k1WispJewelStringsAmigaGermanProvider = { ARRAYSIZE(k1WispJewelStringsAmigaGerman), k1WispJewelStringsAmigaGerman }; + +static const char *const k1MagicJewelStringsAmigaGerman[1] = { + "Das war eigenartig." +}; + +static const StringListProvider k1MagicJewelStringsAmigaGermanProvider = { ARRAYSIZE(k1MagicJewelStringsAmigaGerman), k1MagicJewelStringsAmigaGerman }; + +static const char *const k1FlaskFullStringAmigaGerman[1] = { + "Die Flasche ist bereits voll." +}; + +static const StringListProvider k1FlaskFullStringAmigaGermanProvider = { ARRAYSIZE(k1FlaskFullStringAmigaGerman), k1FlaskFullStringAmigaGerman }; + +static const char *const k1FullFlaskStringAmigaGerman[4] = { + "Die Flasche ist jetzt mit \rfrischem, klarem Wasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rSalzwasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rMineralwasser gef""\x81""llt.", + "Magisches Wasser." +}; + +static const StringListProvider k1FullFlaskStringAmigaGermanProvider = { ARRAYSIZE(k1FullFlaskStringAmigaGerman), k1FullFlaskStringAmigaGerman }; + +static const char *const k1OutroHomeStringAmigaGerman[1] = { + "Ab nach Hause" +}; + +static const StringListProvider k1OutroHomeStringAmigaGermanProvider = { ARRAYSIZE(k1OutroHomeStringAmigaGerman), k1OutroHomeStringAmigaGerman }; + +static const char *const k1VeryCleverStringAmigaGerman[1] = { + "Sehr clever! Aber nichtige Versuche sind zum Scheitern verurteilt." +}; + +static const StringListProvider k1VeryCleverStringAmigaGermanProvider = { ARRAYSIZE(k1VeryCleverStringAmigaGerman), k1VeryCleverStringAmigaGerman }; + +static const char *const k1GUIStringsAmigaGerman[49] = { + "Die Legende von Kyrandia", + "Ein Spiel laden", + "Dieses Spiel sichern", + "Spielsteuerungen", + "Spiel beenden", + "Spiel wieder aufnehmen", + "Spielsteuerungen", + "Welches Spiel soll noch einmal geladen werden?", + "W""\x84""hlen Sie den Platz zum Sichern aus.", + "[ LEERER PLATZ ]", + "Abbrechen", + "Beschreibung des gesicherten Spiels eingeben.", + "Sichern", + "Ruhe in Frieden, Brandon.", + "Soll das Spiel wirklich beendet werden?", + "XXXXX", + "", + "", + "", + "", + "", + "", + "XXXXX", + "", + "", + "", + "", + "", + "", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "Hauptmen""\x81", + "An", + "Aus", + "Ja", + "Nein", + "", + "\x01""[""\xA2", + "\x01""[""\xB2", + "\x01""[""\xBA", + "\x01""[""\xC2", + "\x01""[""\xCA", + "\x01""[""\xA2", + "\x01""[""\xBA", + "\x01""[""\xC2", + "\x01""[""\xDA""Schrittempo", + "Textgeschwindigkeit", + "Die Musik ist", + "Die Soundeffekte sind" +}; + +static const StringListProvider k1GUIStringsAmigaGermanProvider = { ARRAYSIZE(k1GUIStringsAmigaGerman), k1GUIStringsAmigaGerman }; + +static const char *const k1NewGameStringAmigaGerman[1] = { + "[ EIN NEUES SPIEL ANFANGEN ]" +}; + +static const StringListProvider k1NewGameStringAmigaGermanProvider = { ARRAYSIZE(k1NewGameStringAmigaGerman), k1NewGameStringAmigaGerman }; + +static const char *const k1ConfigStringsAmigaGerman[6] = { + "am langsamsten", + "langsam", + "normal", + "schnell", + "am schnellsten", + "anklickbar" +}; + +static const StringListProvider k1ConfigStringsAmigaGermanProvider = { ARRAYSIZE(k1ConfigStringsAmigaGerman), k1ConfigStringsAmigaGerman }; + +static const byte k1CreditsStringsAmigaGerman[1275] = { + 0x05, 0x46, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x20, + 0x26, 0x20, 0x46, 0x69, 0x65, 0x6E, 0x64, 0x73, + 0x0D, 0x05, 0x42, 0x6F, 0x6F, 0x6B, 0x20, 0x49, + 0x0D, 0x05, 0x54, 0x48, 0x45, 0x20, 0x4C, 0x45, + 0x47, 0x45, 0x4E, 0x44, 0x20, 0x4F, 0x46, 0x20, + 0x4B, 0x59, 0x52, 0x41, 0x4E, 0x44, 0x49, 0x41, + 0x0D, 0x0D, 0x05, 0x56, 0x65, 0x72, 0x94, 0x66, + 0x66, 0x65, 0x6E, 0x74, 0x6C, 0x69, 0x63, 0x68, + 0x74, 0x20, 0x76, 0x6F, 0x6E, 0x0D, 0x05, 0x57, + 0x65, 0x73, 0x74, 0x77, 0x6F, 0x6F, 0x64, 0x20, + 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x73, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x03, + 0x52, 0x65, 0x67, 0x69, 0x65, 0x3A, 0x04, 0x42, + 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, 0x20, + 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x0D, 0x0D, + 0x03, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6E, 0x3A, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, 0x04, 0x52, + 0x69, 0x63, 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, + 0x73, 0x0D, 0x04, 0x50, 0x61, 0x75, 0x6C, 0x20, + 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, + 0x0D, 0x0D, 0x03, 0x50, 0x72, 0x6F, 0x67, 0x72, + 0x61, 0x6D, 0x6D, 0x69, 0x65, 0x72, 0x75, 0x6E, + 0x67, 0x73, 0x6C, 0x65, 0x69, 0x74, 0x75, 0x6E, + 0x67, 0x3A, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, + 0x0D, 0x03, 0x54, 0x65, 0x78, 0x74, 0x70, 0x72, + 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x69, 0x65, + 0x72, 0x65, 0x72, 0x3A, 0x04, 0x53, 0x63, 0x6F, + 0x74, 0x74, 0x20, 0x42, 0x6F, 0x77, 0x65, 0x6E, + 0x0D, 0x0D, 0x03, 0x41, 0x6D, 0x69, 0x67, 0x61, + 0x2D, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x69, 0x65, 0x72, 0x65, 0x72, 0x3A, 0x04, + 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, + 0x6B, 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x56, 0x6F, + 0x72, 0x2D, 0x20, 0x75, 0x6E, 0x64, 0x20, 0x4E, + 0x61, 0x63, 0x68, 0x73, 0x70, 0x61, 0x6E, 0x6E, + 0x3A, 0x04, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, + 0x6F, 0x70, 0x68, 0x65, 0x72, 0x20, 0x59, 0x61, + 0x74, 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x4B, 0x81, + 0x6E, 0x73, 0x74, 0x6C, 0x65, 0x72, 0x69, 0x73, + 0x63, 0x68, 0x65, 0x20, 0x47, 0x65, 0x73, 0x74, + 0x61, 0x6C, 0x74, 0x75, 0x6E, 0x67, 0x3A, 0x04, + 0x52, 0x69, 0x63, 0x6B, 0x20, 0x50, 0x61, 0x72, + 0x6B, 0x73, 0x0D, 0x04, 0x52, 0x65, 0x6E, 0x20, + 0x4F, 0x6C, 0x73, 0x65, 0x6E, 0x0D, 0x04, 0x4C, + 0x6F, 0x75, 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, + 0x6E, 0x64, 0x6F, 0x76, 0x61, 0x6C, 0x0D, 0x04, + 0x4A, 0x6F, 0x73, 0x65, 0x70, 0x68, 0x20, 0x48, + 0x65, 0x77, 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, + 0x0D, 0x04, 0x4A, 0x75, 0x64, 0x69, 0x74, 0x68, + 0x20, 0x50, 0x65, 0x74, 0x65, 0x72, 0x73, 0x6F, + 0x6E, 0x0D, 0x04, 0x41, 0x61, 0x72, 0x6F, 0x6E, + 0x20, 0x50, 0x6F, 0x77, 0x65, 0x6C, 0x6C, 0x0D, + 0x04, 0x45, 0x6C, 0x69, 0x65, 0x20, 0x41, 0x72, + 0x61, 0x62, 0x69, 0x61, 0x6E, 0x0D, 0x04, 0x45, + 0x72, 0x69, 0x63, 0x20, 0x53, 0x68, 0x75, 0x6C, + 0x74, 0x73, 0x0D, 0x0D, 0x03, 0x54, 0x6F, 0x6E, + 0x72, 0x65, 0x67, 0x69, 0x65, 0x3A, 0x04, 0x50, + 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, 0x20, 0x4D, + 0x75, 0x64, 0x72, 0x61, 0x0D, 0x0D, 0x03, 0x4D, + 0x75, 0x73, 0x69, 0x6B, 0x3A, 0x04, 0x46, 0x72, + 0x61, 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, + 0x61, 0x63, 0x6B, 0x69, 0x0D, 0x0D, 0x03, 0x53, + 0x6F, 0x75, 0x6E, 0x64, 0x65, 0x66, 0x66, 0x65, + 0x6B, 0x74, 0x65, 0x3A, 0x04, 0x44, 0x77, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x4F, 0x6B, 0x61, 0x68, + 0x61, 0x72, 0x61, 0x0D, 0x0D, 0x03, 0x41, 0x75, + 0x74, 0x6F, 0x72, 0x3A, 0x04, 0x22, 0x43, 0x6F, + 0x63, 0x6F, 0x22, 0x0D, 0x0D, 0x03, 0x51, 0x75, + 0x61, 0x6C, 0x69, 0x74, 0x84, 0x74, 0x73, 0x73, + 0x69, 0x63, 0x68, 0x65, 0x72, 0x75, 0x6E, 0x67, + 0x3A, 0x04, 0x47, 0x6C, 0x65, 0x6E, 0x6E, 0x20, + 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x0D, 0x04, + 0x4D, 0x61, 0x74, 0x74, 0x20, 0x43, 0x6F, 0x6C, + 0x6C, 0x69, 0x6E, 0x73, 0x0D, 0x04, 0x42, 0x69, + 0x6C, 0x6C, 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65, + 0x72, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x4C, 0x69, 0x67, 0x68, 0x74, + 0x6E, 0x65, 0x72, 0x0D, 0x04, 0x4D, 0x69, 0x63, + 0x68, 0x61, 0x65, 0x6C, 0x20, 0x47, 0x61, 0x74, + 0x65, 0x72, 0x0D, 0x04, 0x45, 0x75, 0x67, 0x65, + 0x6E, 0x65, 0x20, 0x4D, 0x61, 0x72, 0x74, 0x69, + 0x6E, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x47, 0x6C, 0x6F, 0x73, 0x65, + 0x63, 0x6B, 0x69, 0x0D, 0x04, 0x4A, 0x75, 0x73, + 0x74, 0x69, 0x6E, 0x20, 0x4E, 0x6F, 0x72, 0x72, + 0x0D, 0x04, 0x54, 0x6F, 0x70, 0x20, 0x53, 0x74, + 0x61, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x69, + 0x6E, 0x67, 0x0D, 0x04, 0x54, 0x65, 0x73, 0x74, + 0x69, 0x6E, 0x67, 0x20, 0x31, 0x2C, 0x20, 0x32, + 0x2C, 0x20, 0x33, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x05, 0x42, 0x65, 0x73, 0x6F, 0x6E, 0x64, 0x65, + 0x72, 0x65, 0x72, 0x20, 0x44, 0x61, 0x6E, 0x6B, + 0x20, 0x67, 0x69, 0x6C, 0x74, 0x3A, 0x0D, 0x05, + 0x4C, 0x79, 0x6C, 0x65, 0x20, 0x4A, 0x2E, 0x20, + 0x48, 0x61, 0x6C, 0x6C, 0x0D, 0x05, 0x44, 0x61, + 0x76, 0x69, 0x64, 0x20, 0x42, 0x69, 0x73, 0x68, + 0x6F, 0x70, 0x0D, 0x05, 0x22, 0x54, 0x68, 0x65, + 0x20, 0x44, 0x6F, 0x63, 0x22, 0x0D, 0x05, 0x75, + 0x6E, 0x64, 0x0D, 0x05, 0x53, 0x50, 0x52, 0x4F, + 0x43, 0x4B, 0x45, 0x54, 0x53, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x05, 0x4D, 0x49, + 0x54, 0x57, 0x49, 0x52, 0x4B, 0x45, 0x4E, 0x44, + 0x45, 0x20, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, + 0x4E, 0x0D, 0x0D, 0x05, 0x4D, 0x61, 0x6C, 0x63, + 0x6F, 0x6C, 0x6D, 0x20, 0x64, 0x65, 0x72, 0x20, + 0x48, 0x6F, 0x66, 0x6E, 0x61, 0x72, 0x72, 0x0D, + 0x05, 0x42, 0x72, 0x61, 0x6E, 0x64, 0x6F, 0x6E, + 0x20, 0x64, 0x65, 0x72, 0x20, 0x4B, 0x81, 0x68, + 0x6E, 0x65, 0x0D, 0x05, 0x42, 0x72, 0x61, 0x6E, + 0x64, 0x79, 0x77, 0x69, 0x6E, 0x65, 0x20, 0x75, + 0x6E, 0x64, 0x20, 0x44, 0x61, 0x72, 0x6D, 0x0D, + 0x05, 0x50, 0x72, 0x69, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x69, 0x6E, 0x20, 0x42, 0x72, 0x79, 0x6E, + 0x6E, 0x0D, 0x05, 0x5A, 0x61, 0x6E, 0x74, 0x68, + 0x69, 0x61, 0x2C, 0x20, 0x64, 0x69, 0x65, 0x20, + 0x4C, 0x61, 0x64, 0x79, 0x20, 0x64, 0x65, 0x72, + 0x20, 0x41, 0x6C, 0x63, 0x68, 0x65, 0x6D, 0x69, + 0x65, 0x0D, 0x05, 0x48, 0x65, 0x72, 0x6D, 0x61, + 0x6E, 0x20, 0x64, 0x65, 0x72, 0x20, 0x47, 0x65, + 0x73, 0x63, 0x68, 0x69, 0x63, 0x6B, 0x74, 0x65, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x05, + 0x41, 0x6C, 0x6C, 0x65, 0x20, 0x8E, 0x68, 0x6E, + 0x6C, 0x69, 0x63, 0x68, 0x6B, 0x65, 0x69, 0x74, + 0x65, 0x6E, 0x20, 0x76, 0x6F, 0x6E, 0x20, 0x69, + 0x6D, 0x20, 0x53, 0x70, 0x69, 0x65, 0x6C, 0x20, + 0x61, 0x75, 0x66, 0x74, 0x72, 0x65, 0x74, 0x65, + 0x6E, 0x64, 0x65, 0x6E, 0x0D, 0x05, 0x46, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x6E, 0x20, 0x6D, 0x69, + 0x74, 0x20, 0x6C, 0x65, 0x62, 0x65, 0x6E, 0x64, + 0x65, 0x6E, 0x20, 0x6F, 0x64, 0x65, 0x72, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x74, 0x6F, 0x72, 0x62, + 0x65, 0x6E, 0x65, 0x6E, 0x0D, 0x05, 0x50, 0x65, + 0x72, 0x73, 0x6F, 0x6E, 0x65, 0x6E, 0x20, 0x73, + 0x69, 0x6E, 0x64, 0x20, 0x72, 0x65, 0x69, 0x6E, + 0x20, 0x7A, 0x75, 0x66, 0x8E, 0x6C, 0x6C, 0x69, + 0x67, 0x2E, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x05, + 0x4D, 0x61, 0x78, 0x54, 0x72, 0x61, 0x78, 0xE2, + 0x20, 0x6D, 0x75, 0x73, 0x69, 0x63, 0x20, 0x73, + 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x0D, + 0x05, 0x20, 0xE3, 0x20, 0x31, 0x39, 0x39, 0x32, + 0x20, 0x53, 0x79, 0x6C, 0x76, 0x61, 0x6E, 0x20, + 0x54, 0x65, 0x63, 0x68, 0x6E, 0x69, 0x63, 0x61, + 0x6C, 0x20, 0x41, 0x72, 0x74, 0x73, 0x0D, 0x05, + 0x4C, 0x69, 0x63, 0x65, 0x6E, 0x73, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x44, 0x72, 0x65, 0x61, 0x6D, 0x65, 0x72, 0x73, + 0x20, 0x47, 0x75, 0x69, 0x6C, 0x64, 0x2C, 0x20, + 0x49, 0x6E, 0x63, 0x2E, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x05, 0x43, 0x6F, 0x70, 0x79, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, + 0x20, 0x31, 0x39, 0x39, 0x32, 0x2C, 0x20, 0x57, + 0x65, 0x73, 0x74, 0x77, 0x6F, 0x6F, 0x64, 0x20, + 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x73, 0x2C, + 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x0D, 0x05, 0x41, + 0x6C, 0x6C, 0x65, 0x20, 0x52, 0x65, 0x63, 0x68, + 0x74, 0x65, 0x20, 0x56, 0x6F, 0x72, 0x62, 0x65, + 0x68, 0x61, 0x6C, 0x74, 0x65, 0x6E, 0x2E, 0x0D, + 0x0D, 0x0D, 0x0D +}; + +static const ByteProvider k1CreditsStringsAmigaGermanProvider = { ARRAYSIZE(k1CreditsStringsAmigaGerman), k1CreditsStringsAmigaGerman }; + diff --git a/devtools/create_kyradat/resources/lok_dos.h b/devtools/create_kyradat/resources/lok_dos.h new file mode 100644 index 0000000000..e8d987fe1b --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos.h @@ -0,0 +1,1925 @@ +static const byte k1KallakWritingSeqDOS[2037] = { + 0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, + 0x00, 0x19, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14, + 0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, + 0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, + 0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x06, + 0x3C, 0x00, 0x01, 0x00, 0x1D +}; + +static const ByteProvider k1KallakWritingSeqDOSProvider = { ARRAYSIZE(k1KallakWritingSeqDOS), k1KallakWritingSeqDOS }; + +static const byte k1MalcolmTreeSeqDOS[534] = { + 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01, + 0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x10, 0x19, 0x03, 0x09, 0x18, 0x1E, 0x14, 0x18, + 0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, + 0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, + 0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, + 0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, + 0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, + 0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, + 0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, + 0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, + 0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, + 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, + 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, + 0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, + 0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, + 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, + 0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, + 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, + 0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, + 0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, + 0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, + 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, + 0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x1D +}; + +static const ByteProvider k1MalcolmTreeSeqDOSProvider = { ARRAYSIZE(k1MalcolmTreeSeqDOS), k1MalcolmTreeSeqDOS }; + +static const byte k1WestwoodLogoSeqDOS[75] = { + 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03, + 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, + 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16, + 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, + 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, + 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13, + 0x01, 0x03, 0x1D +}; + +static const ByteProvider k1WestwoodLogoSeqDOSProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOS), k1WestwoodLogoSeqDOS }; + +static const byte k1KyrandiaLogoSeqDOS[92] = { + 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, + 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, + 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, + 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, + 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, + 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x06, 0x1D +}; + +static const ByteProvider k1KyrandiaLogoSeqDOSProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOS), k1KyrandiaLogoSeqDOS }; + +static const byte k1KallakMalcolmSeqDOS[619] = { + 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03, + 0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, + 0xC7, 0x0C, 0x02, 0x19, 0x00, 0x02, 0x04, 0x00, + 0x10, 0x00, 0x3A, 0x09, 0x19, 0x00, 0x19, 0x05, + 0x14, 0x18, 0x23, 0x0A, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x00, 0x22, 0x00, 0x10, 0x02, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x01, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x01, 0x07, 0x00, 0x06, + 0x3C, 0x00, 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x02, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x02, 0x17, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x04, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x0F, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x06, + 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x04, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x78, + 0x00, 0x10, 0x07, 0xF0, 0x00, 0x3A, 0x0F, 0x0A, + 0x05, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x05, + 0x11, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, + 0x08, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x06, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x06, 0x07, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x07, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0A, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0B, 0xF0, 0x00, + 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x0C, 0xF0, 0x00, 0x3A, 0x0F, + 0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0D, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x0A, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0A, 0x0E, 0x00, 0x06, 0x3C, 0x00, + 0x0A, 0x0B, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0B, 0x02, 0x00, 0x18, 0x20, 0x0A, 0x0C, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0C, 0x06, 0x00, + 0x18, 0x21, 0x0A, 0x0D, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0D, 0x0C, 0x00, 0x18, 0x22, 0x0A, + 0x0E, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0E, + 0x0B, 0x00, 0x10, 0x0E, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0F, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x10, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x10, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x10, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x11, 0x50, + 0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07, + 0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01, + 0x01, 0x04, 0x1D +}; + +static const ByteProvider k1KallakMalcolmSeqDOSProvider = { ARRAYSIZE(k1KallakMalcolmSeqDOS), k1KallakMalcolmSeqDOS }; + +static const byte k1ForestSeqDOS[405] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, + 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, + 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, + 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, + 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, + 0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18, + 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02, + 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02, + 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13, + 0x01, 0x07, 0x01, 0x05, 0x1D +}; + +static const ByteProvider k1ForestSeqDOSProvider = { ARRAYSIZE(k1ForestSeqDOS), k1ForestSeqDOS }; + +static const char *const k1IntroCPSStringsDOS[2] = { + "gemcut.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsDOSProvider = { ARRAYSIZE(k1IntroCPSStringsDOS), k1IntroCPSStringsDOS }; + +static const char *const k1IntroCOLStringsDOS[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsDOSProvider = { ARRAYSIZE(k1IntroCOLStringsDOS), k1IntroCOLStringsDOS }; + +static const char *const k1IntroWSAStringsDOS[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsDOSProvider = { ARRAYSIZE(k1IntroWSAStringsDOS), k1IntroWSAStringsDOS }; + +static const Room k1RoomListDOS[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 37, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 1, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListDOSProvider = { ARRAYSIZE(k1RoomListDOS), k1RoomListDOS }; + +static const char *const k1RoomFilenamesDOS[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesDOSProvider = { ARRAYSIZE(k1RoomFilenamesDOS), k1RoomFilenamesDOS }; + +static const char *const k1CharacterImageFilenamesDOS[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesDOSProvider = { ARRAYSIZE(k1CharacterImageFilenamesDOS), k1CharacterImageFilenamesDOS }; + +static const Shape k1DefaultShapesDOS[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesDOSProvider = { ARRAYSIZE(k1DefaultShapesDOS), k1DefaultShapesDOS }; + +static const byte k1AmuleteAnimSeqDOS[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqDOSProvider = { ARRAYSIZE(k1AmuleteAnimSeqDOS), k1AmuleteAnimSeqDOS }; + +static const byte k1SpecialPalette1DOS[21] = { + 0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D, + 0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D, + 0x12, 0x0D, 0x18, 0x0F, 0x0B +}; + +static const ByteProvider k1SpecialPalette1DOSProvider = { ARRAYSIZE(k1SpecialPalette1DOS), k1SpecialPalette1DOS }; + +static const byte k1SpecialPalette2DOS[51] = { + 0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25, + 0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26, + 0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C, + 0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27, + 0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A, + 0x17, 0x0C, 0x08 +}; + +static const ByteProvider k1SpecialPalette2DOSProvider = { ARRAYSIZE(k1SpecialPalette2DOS), k1SpecialPalette2DOS }; + +static const byte k1SpecialPalette3DOS[51] = { + 0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C, + 0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21, + 0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B, + 0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D, + 0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08, + 0x11, 0x0A, 0x05 +}; + +static const ByteProvider k1SpecialPalette3DOSProvider = { ARRAYSIZE(k1SpecialPalette3DOS), k1SpecialPalette3DOS }; + +static const byte k1SpecialPalette4DOS[51] = { + 0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21, + 0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24, + 0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05, + 0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A, + 0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22, + 0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03, + 0x12, 0x0A, 0x03 +}; + +static const ByteProvider k1SpecialPalette4DOSProvider = { ARRAYSIZE(k1SpecialPalette4DOS), k1SpecialPalette4DOS }; + +static const byte k1SpecialPalette5DOS[51] = { + 0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A, + 0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E, + 0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A, + 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08, + 0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19, + 0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, + 0x11, 0x08, 0x05 +}; + +static const ByteProvider k1SpecialPalette5DOSProvider = { ARRAYSIZE(k1SpecialPalette5DOS), k1SpecialPalette5DOS }; + +static const byte k1SpecialPalette6DOS[51] = { + 0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A, + 0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11, + 0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B, + 0x0A, 0x19, 0x0A +}; + +static const ByteProvider k1SpecialPalette6DOSProvider = { ARRAYSIZE(k1SpecialPalette6DOS), k1SpecialPalette6DOS }; + +static const byte k1SpecialPalette7DOS[54] = { + 0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00, + 0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A, + 0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25, + 0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14, + 0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14, + 0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B +}; + +static const ByteProvider k1SpecialPalette7DOSProvider = { ARRAYSIZE(k1SpecialPalette7DOS), k1SpecialPalette7DOS }; + +static const byte k1SpecialPalette8DOS[54] = { + 0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29, + 0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14, + 0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F, + 0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F, + 0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14, + 0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F, + 0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F +}; + +static const ByteProvider k1SpecialPalette8DOSProvider = { ARRAYSIZE(k1SpecialPalette8DOS), k1SpecialPalette8DOS }; + +static const byte k1SpecialPalette9DOS[45] = { + 0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette9DOSProvider = { ARRAYSIZE(k1SpecialPalette9DOS), k1SpecialPalette9DOS }; + +static const byte k1SpecialPalette10DOS[45] = { + 0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette10DOSProvider = { ARRAYSIZE(k1SpecialPalette10DOS), k1SpecialPalette10DOS }; + +static const byte k1SpecialPalette11DOS[45] = { + 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette11DOSProvider = { ARRAYSIZE(k1SpecialPalette11DOS), k1SpecialPalette11DOS }; + +static const byte k1SpecialPalette12DOS[45] = { + 0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette12DOSProvider = { ARRAYSIZE(k1SpecialPalette12DOS), k1SpecialPalette12DOS }; + +static const byte k1SpecialPalette13DOS[45] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette13DOSProvider = { ARRAYSIZE(k1SpecialPalette13DOS), k1SpecialPalette13DOS }; + +static const byte k1SpecialPalette14DOS[60] = { + 0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20, + 0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08, + 0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27, + 0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08, + 0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00, + 0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette14DOSProvider = { ARRAYSIZE(k1SpecialPalette14DOS), k1SpecialPalette14DOS }; + +static const byte k1SpecialPalette15DOS[45] = { + 0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00, + 0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17, + 0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E, + 0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00, + 0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05, + 0x00, 0x08, 0x01, 0x00, 0x03 +}; + +static const ByteProvider k1SpecialPalette15DOSProvider = { ARRAYSIZE(k1SpecialPalette15DOS), k1SpecialPalette15DOS }; + +static const byte k1SpecialPalette16DOS[33] = { + 0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34, + 0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00, + 0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F, + 0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette16DOSProvider = { ARRAYSIZE(k1SpecialPalette16DOS), k1SpecialPalette16DOS }; + +static const byte k1SpecialPalette17DOS[33] = { + 0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32, + 0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26, + 0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D, + 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette17DOSProvider = { ARRAYSIZE(k1SpecialPalette17DOS), k1SpecialPalette17DOS }; + +static const byte k1SpecialPalette18DOS[21] = { + 0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F, + 0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15, + 0x1E, 0x25, 0x11, 0x19, 0x1F +}; + +static const ByteProvider k1SpecialPalette18DOSProvider = { ARRAYSIZE(k1SpecialPalette18DOS), k1SpecialPalette18DOS }; + +static const byte k1SpecialPalette19DOS[21] = { + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, + 0x00, 0x25, 0x00, 0x00, 0x1F +}; + +static const ByteProvider k1SpecialPalette19DOSProvider = { ARRAYSIZE(k1SpecialPalette19DOS), k1SpecialPalette19DOS }; + +static const byte k1SpecialPalette20DOS[21] = { + 0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F, + 0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33, + 0x22, 0x23, 0x31, 0x1F, 0x20 +}; + +static const ByteProvider k1SpecialPalette20DOSProvider = { ARRAYSIZE(k1SpecialPalette20DOS), k1SpecialPalette20DOS }; + +static const byte k1SpecialPalette21DOS[21] = { + 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x1F, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette21DOSProvider = { ARRAYSIZE(k1SpecialPalette21DOS), k1SpecialPalette21DOS }; + +static const byte k1SpecialPalette22DOS[21] = { + 0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B, + 0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30, + 0x30, 0x19, 0x2D, 0x2D, 0x17 +}; + +static const ByteProvider k1SpecialPalette22DOSProvider = { ARRAYSIZE(k1SpecialPalette22DOS), k1SpecialPalette22DOS }; + +static const byte k1SpecialPalette23DOS[21] = { + 0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B, + 0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30, + 0x30, 0x00, 0x2D, 0x2D, 0x00 +}; + +static const ByteProvider k1SpecialPalette23DOSProvider = { ARRAYSIZE(k1SpecialPalette23DOS), k1SpecialPalette23DOS }; + +static const byte k1SpecialPalette24DOS[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, + 0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, + 0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08, + 0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06 +}; + +static const ByteProvider k1SpecialPalette24DOSProvider = { ARRAYSIZE(k1SpecialPalette24DOS), k1SpecialPalette24DOS }; + +static const byte k1SpecialPalette25DOS[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B, + 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A, + 0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06 +}; + +static const ByteProvider k1SpecialPalette25DOSProvider = { ARRAYSIZE(k1SpecialPalette25DOS), k1SpecialPalette25DOS }; + +static const byte k1SpecialPalette26DOS[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A, + 0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06 +}; + +static const ByteProvider k1SpecialPalette26DOSProvider = { ARRAYSIZE(k1SpecialPalette26DOS), k1SpecialPalette26DOS }; + +static const byte k1SpecialPalette27DOS[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08 +}; + +static const ByteProvider k1SpecialPalette27DOSProvider = { ARRAYSIZE(k1SpecialPalette27DOS), k1SpecialPalette27DOS }; + +static const byte k1SpecialPalette28DOS[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette28DOSProvider = { ARRAYSIZE(k1SpecialPalette28DOS), k1SpecialPalette28DOS }; + +static const byte k1SpecialPalette29DOS[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, + 0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette29DOSProvider = { ARRAYSIZE(k1SpecialPalette29DOS), k1SpecialPalette29DOS }; + +static const byte k1SpecialPalette30DOS[60] = { + 0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12, + 0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F, + 0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28, + 0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A, + 0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01, + 0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05, + 0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14, + 0x11, 0x0F, 0x0D, 0x00 +}; + +static const ByteProvider k1SpecialPalette30DOSProvider = { ARRAYSIZE(k1SpecialPalette30DOS), k1SpecialPalette30DOS }; + +static const byte k1SpecialPalette31DOS[39] = { + 0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14, + 0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18, + 0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15, + 0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03, + 0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette31DOSProvider = { ARRAYSIZE(k1SpecialPalette31DOS), k1SpecialPalette31DOS }; + +static const byte k1SpecialPalette32DOS[39] = { + 0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F, + 0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A, + 0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08, + 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette32DOSProvider = { ARRAYSIZE(k1SpecialPalette32DOS), k1SpecialPalette32DOS }; + +static const byte k1SpecialPalette33DOS[60] = { + 0x3F, 0x3D, 0x2F, 0x3F, 0x3D, 0x29, 0x3F, 0x3D, + 0x23, 0x3F, 0x3D, 0x1D, 0x3F, 0x3B, 0x17, 0x3F, + 0x3B, 0x11, 0x3F, 0x3B, 0x0B, 0x3F, 0x3B, 0x05, + 0x3F, 0x3B, 0x00, 0x3D, 0x38, 0x00, 0x3B, 0x34, + 0x00, 0x39, 0x33, 0x00, 0x39, 0x30, 0x00, 0x37, + 0x2D, 0x00, 0x36, 0x2B, 0x00, 0x34, 0x28, 0x00, + 0x33, 0x26, 0x00, 0x32, 0x24, 0x00, 0x30, 0x22, + 0x00, 0x2F, 0x20, 0x00 +}; + +static const ByteProvider k1SpecialPalette33DOSProvider = { ARRAYSIZE(k1SpecialPalette33DOS), k1SpecialPalette33DOS }; + +static const Shape k1Healing1ShapesDOS[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesDOSProvider = { ARRAYSIZE(k1Healing1ShapesDOS), k1Healing1ShapesDOS }; + +static const Shape k1Healing2ShapesDOS[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesDOSProvider = { ARRAYSIZE(k1Healing2ShapesDOS), k1Healing2ShapesDOS }; + +static const Shape k1PoisonDeathShapesDOS[20] = { + { 19, 0, 0, 8, 48, -31, -48 }, + { 19, 8, 0, 8, 48, -31, -48 }, + { 19, 16, 0, 8, 48, -31, -48 }, + { 19, 24, 0, 8, 48, -31, -48 }, + { 19, 32, 0, 8, 48, -31, -48 }, + { 19, 0, 48, 8, 48, -31, -48 }, + { 19, 8, 48, 8, 48, -31, -48 }, + { 19, 16, 48, 8, 48, -31, -48 }, + { 19, 24, 48, 8, 48, -31, -48 }, + { 19, 32, 48, 8, 48, -31, -48 }, + { 19, 0, 96, 8, 48, -31, -48 }, + { 19, 8, 96, 8, 48, -31, -48 }, + { 19, 16, 96, 8, 48, -31, -48 }, + { 19, 24, 96, 8, 48, -31, -48 }, + { 19, 32, 96, 8, 48, -31, -48 }, + { 19, 0, 144, 8, 48, -31, -48 }, + { 19, 8, 144, 8, 48, -31, -48 }, + { 19, 16, 144, 8, 48, -31, -48 }, + { 19, 24, 144, 8, 48, -31, -48 }, + { 19, 32, 144, 8, 48, -31, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesDOSProvider = { ARRAYSIZE(k1PoisonDeathShapesDOS), k1PoisonDeathShapesDOS }; + +static const Shape k1FluteShapesDOS[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesDOSProvider = { ARRAYSIZE(k1FluteShapesDOS), k1FluteShapesDOS }; + +static const Shape k1Winter1ShapesDOS[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesDOSProvider = { ARRAYSIZE(k1Winter1ShapesDOS), k1Winter1ShapesDOS }; + +static const Shape k1Winter2ShapesDOS[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 5, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 15, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 25, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 35, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 5, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 15, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 25, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 10, 35, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 5, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 15, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 25, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 35, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 5, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 15, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 25, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 35, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 5, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter2ShapesDOSProvider = { ARRAYSIZE(k1Winter2ShapesDOS), k1Winter2ShapesDOS }; + +static const Shape k1Winter3ShapesDOS[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesDOSProvider = { ARRAYSIZE(k1Winter3ShapesDOS), k1Winter3ShapesDOS }; + +static const Shape k1DrinkShapesDOS[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 7, 0, 0, 3, 43, -12, -43 }, + { 7, 3, 3, 2, 40, -8, -40 }, + { 7, 5, 7, 2, 36, -8, -36 }, + { 7, 7, 10, 2, 33, -8, -33 }, + { 7, 9, 12, 2, 31, -8, -31 }, + { 7, 11, 15, 2, 28, -8, -28 } +}; + +static const ShapeProvider k1DrinkShapesDOSProvider = { ARRAYSIZE(k1DrinkShapesDOS), k1DrinkShapesDOS }; + +static const Shape k1WispShapesDOS[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesDOSProvider = { ARRAYSIZE(k1WispShapesDOS), k1WispShapesDOS }; + +static const Shape k1MagicAnimShapesDOS[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesDOSProvider = { ARRAYSIZE(k1MagicAnimShapesDOS), k1MagicAnimShapesDOS }; + +static const Shape k1BranStoneShapesDOS[15] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 }, + { 0, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1BranStoneShapesDOSProvider = { ARRAYSIZE(k1BranStoneShapesDOS), k1BranStoneShapesDOS }; + +static const byte k1OutroReunionSeqDOS[1351] = { + 0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02, + 0x08, 0x00, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00, + 0x3A, 0x02, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x0E, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78, + 0x00, 0x3A, 0x0F, 0x0A, 0x03, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24, + 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x06, + 0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A, + 0x00, 0x3A, 0x02, 0x02, 0x08, 0x4E, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x51, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x52, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x53, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x78, 0x00, 0x10, 0x28, + 0x78, 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x02, 0x08, + 0x59, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x5A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06, + 0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x0F, + 0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x5D, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x0B, + 0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x5E, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0x5A, + 0x00, 0x11, 0x18, 0x69, 0x02, 0x08, 0x64, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x65, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x74, + 0x02, 0x08, 0x66, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x67, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x18, 0x75, 0x02, 0x08, 0x68, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x69, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x10, 0x2B, + 0x96, 0x00, 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, + 0x6B, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, + 0x00, 0x06, 0x1E, 0x00, 0x10, 0x2C, 0x96, 0x00, + 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, + 0x1E, 0x00, 0x10, 0x2D, 0x96, 0x00, 0x1C, 0x22, + 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00, + 0x02, 0x08, 0x72, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x73, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x06, 0x14, 0x00, 0x02, 0x08, 0x74, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x75, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, + 0x78, 0x00, 0x13, 0x0E, 0x01, 0x08, 0x1D +}; + +static const ByteProvider k1OutroReunionSeqDOSProvider = { ARRAYSIZE(k1OutroReunionSeqDOS), k1OutroReunionSeqDOS }; + +static const char *const k1AudioTracksDOS[8] = { + "KYRA1A", + "KYRA1B", + "KYRA2A", + "KYRA3A", + "KYRA4A", + "KYRA4B", + "KYRA5A", + "KYRA5B" +}; + +static const StringListProvider k1AudioTracksDOSProvider = { ARRAYSIZE(k1AudioTracksDOS), k1AudioTracksDOS }; + +static const char *const k1AudioTracks2DOS[1] = { + "kyramisc" +}; + +static const StringListProvider k1AudioTracks2DOSProvider = { ARRAYSIZE(k1AudioTracks2DOS), k1AudioTracks2DOS }; + +static const char *const k1AudioTracksIntroDOS[1] = { + "intro" +}; + +static const StringListProvider k1AudioTracksIntroDOSProvider = { ARRAYSIZE(k1AudioTracksIntroDOS), k1AudioTracksIntroDOS }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cd.h b/devtools/create_kyradat/resources/lok_dos_cd.h new file mode 100644 index 0000000000..9550d53d61 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cd.h @@ -0,0 +1,1997 @@ +static const byte k1KallakWritingSeqDOSCD[2053] = { + 0x00, 0x00, 0x01, 0x11, 0x1D, 0x1A, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, 0x00, + 0x24, 0x2B, 0x24, 0x2C, 0x24, 0x2D, 0x24, 0x2E, + 0x1C, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x95, 0x00, 0x20, 0x0A, 0x17, 0x22, + 0x2B, 0x1E, 0x12, 0x2E, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0E, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, 0x19, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x1F, 0x22, + 0x2C, 0x1E, 0x12, 0x2F, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x1F, 0x22, 0x2D, 0x1E, 0x12, 0x30, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x1F, 0x07, 0x3C, 0x00, 0x22, 0x2E, 0x1E, 0x12, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x08, 0x06, + 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x08, 0x06, 0x00, 0x07, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x09, 0x15, + 0x07, 0x1E, 0x00, 0x0B, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x08, 0x0A, + 0x00, 0x0C, 0x01, 0x02, 0x00, 0x1B, 0x1F, 0x07, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x1B, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x08, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x09, 0x07, 0x3C, 0x00, 0x1B, + 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, + 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x16, 0x1F, 0x1C, 0x01, 0x07, + 0x3C, 0x00, 0x01, 0x00, 0x20 +}; + +static const ByteProvider k1KallakWritingSeqDOSCDProvider = { ARRAYSIZE(k1KallakWritingSeqDOSCD), k1KallakWritingSeqDOSCD }; + +static const byte k1MalcolmTreeSeqDOSCD[560] = { + 0x23, 0x00, 0x01, 0x00, 0x1D, 0x11, 0x24, 0x1C, + 0x24, 0x13, 0x24, 0x14, 0x24, 0x15, 0x24, 0x16, + 0x24, 0x17, 0x24, 0x19, 0x24, 0x1B, 0x1A, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, + 0x01, 0x10, 0x01, 0x0A, 0x02, 0x01, 0x00, 0x00, + 0x00, 0x10, 0x1C, 0x03, 0x0A, 0x1B, 0x1E, 0x17, + 0x1B, 0x1F, 0x0B, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x1B, 0x19, 0x0B, + 0x01, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x01, + 0x0D, 0x00, 0x22, 0x1C, 0x13, 0x1F, 0x50, 0x00, + 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x02, 0x10, 0x00, 0x14, + 0x1B, 0x1F, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x1B, 0x24, 0x1B, 0x1F, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x1B, 0x1E, 0x0B, 0x03, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x03, 0x15, 0x00, 0x22, + 0x13, 0x13, 0x16, 0x50, 0x00, 0x2D, 0x05, 0x1B, + 0x1F, 0x0B, 0x04, 0x03, 0x01, 0x07, 0x04, 0x00, + 0x0C, 0x04, 0x08, 0x00, 0x02, 0x01, 0x64, 0x00, + 0x00, 0x10, 0x1B, 0x1A, 0x1B, 0x1E, 0x0B, 0x05, + 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x05, 0x09, + 0x00, 0x14, 0x06, 0x3C, 0x00, 0x13, 0x17, 0x50, + 0x00, 0x2D, 0x05, 0x0B, 0x06, 0x03, 0x01, 0x07, + 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x22, 0x14, + 0x07, 0x1E, 0x00, 0x0B, 0x06, 0x03, 0x01, 0x07, + 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x1B, 0x1A, + 0x1B, 0x1F, 0x0B, 0x07, 0x03, 0x01, 0x07, 0x04, + 0x00, 0x0C, 0x07, 0x06, 0x00, 0x1B, 0x1E, 0x07, + 0x1E, 0x00, 0x22, 0x15, 0x13, 0x18, 0x50, 0x00, + 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x0B, 0x08, 0x04, 0x01, 0x07, 0x06, 0x00, + 0x04, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0D, + 0x08, 0x01, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, + 0x06, 0x78, 0x00, 0x0B, 0x09, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x1B, 0x1B, + 0x0B, 0x0A, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, + 0x0A, 0x09, 0x00, 0x06, 0x14, 0x00, 0x22, 0x16, + 0x13, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, + 0x0B, 0x0B, 0x03, 0x01, 0x07, 0x06, 0x00, 0x04, + 0x01, 0x07, 0x06, 0x00, 0x04, 0x01, 0x07, 0x06, + 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x0B, 0x01, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x22, 0x17, + 0x13, 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x0C, + 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x0C, 0x12, + 0x00, 0x03, 0x01, 0x01, 0x01, 0x14, 0x18, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x10, 0x22, 0x19, 0x13, 0x1C, 0x50, 0x00, + 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x03, 0x02, 0x03, + 0x02, 0x07, 0x06, 0x00, 0x14, 0x1B, 0x1C, 0x0B, + 0x0F, 0x03, 0x02, 0x07, 0x06, 0x00, 0x0C, 0x0F, + 0x0D, 0x00, 0x22, 0x1B, 0x13, 0x1D, 0x50, 0x00, + 0x2D, 0x05, 0x0B, 0x10, 0x03, 0x02, 0x07, 0x04, + 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, 0x03, 0x02, + 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, + 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, + 0x04, 0x00, 0x0D, 0x10, 0x02, 0x00, 0x13, 0x1E, + 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x11, 0x03, 0x02, + 0x07, 0x04, 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, + 0x03, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, + 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, + 0x02, 0x07, 0x04, 0x00, 0x0D, 0x11, 0x01, 0x00, + 0x03, 0x02, 0x07, 0x04, 0x00, 0x07, 0xB4, 0x00, + 0x16, 0x1C, 0x01, 0x01, 0x01, 0x01, 0x02, 0x20 +}; + +static const ByteProvider k1MalcolmTreeSeqDOSCDProvider = { ARRAYSIZE(k1MalcolmTreeSeqDOSCD), k1MalcolmTreeSeqDOSCD }; + +static const byte k1WestwoodLogoSeqDOSCD[75] = { + 0x00, 0x03, 0x01, 0x1D, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x19, 0x01, 0x07, 0x06, 0x00, 0x07, + 0x3C, 0x00, 0x1B, 0x14, 0x0B, 0x00, 0x03, 0x03, + 0x19, 0x01, 0x0C, 0x00, 0x08, 0x00, 0x07, 0x3C, + 0x00, 0x1B, 0x27, 0x0B, 0x01, 0x03, 0x03, 0x19, + 0x01, 0x0C, 0x01, 0x0B, 0x00, 0x07, 0x78, 0x00, + 0x1B, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x19, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x04, + 0x03, 0x19, 0x01, 0x0C, 0x02, 0x09, 0x00, 0x16, + 0x01, 0x03, 0x20 +}; + +static const ByteProvider k1WestwoodLogoSeqDOSCDProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOSCD), k1WestwoodLogoSeqDOSCD }; + +static const byte k1KyrandiaLogoSeqDOSCD[166] = { + 0x18, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1D, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x07, + 0x06, 0x00, 0x19, 0x04, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x0B, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x1B, 0x27, + 0x0B, 0x01, 0x03, 0x06, 0x19, 0x00, 0x0C, 0x01, + 0x07, 0x00, 0x06, 0xF0, 0x00, 0x1B, 0x27, 0x0B, + 0x02, 0x04, 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0F, + 0x00, 0x07, 0x78, 0x00, 0x07, 0xB4, 0x00, 0x24, + 0x37, 0x24, 0x38, 0x24, 0x39, 0x24, 0x3A, 0x24, + 0x3B, 0x24, 0x3C, 0x02, 0x06, 0x0D, 0x00, 0x00, + 0x00, 0x19, 0x00, 0x07, 0x06, 0x00, 0x07, 0x3C, + 0x00, 0x22, 0x1C, 0x1B, 0x14, 0x0B, 0x02, 0x04, + 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0C, 0x00, 0x07, + 0x78, 0x00, 0x16, 0x01, 0x06, 0x20 +}; + +static const ByteProvider k1KyrandiaLogoSeqDOSCDProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOSCD), k1KyrandiaLogoSeqDOSCD }; + +static const byte k1KallakMalcolmSeqDOSCD[696] = { + 0x00, 0x04, 0x01, 0x1D, 0x24, 0x00, 0x24, 0x01, + 0x24, 0x02, 0x24, 0x0B, 0x24, 0x0C, 0x11, 0x1A, + 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, + 0x0F, 0x03, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x88, + 0x3F, 0x01, 0xC7, 0x0C, 0x02, 0x1C, 0x00, 0x02, + 0x04, 0x00, 0x10, 0x00, 0x3A, 0x0A, 0x1C, 0x00, + 0x1C, 0x05, 0x17, 0x1B, 0x23, 0x0B, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x00, 0x23, 0x00, + 0x22, 0x00, 0x13, 0x02, 0x50, 0x00, 0x3A, 0x05, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0B, 0x01, 0x03, 0x04, 0x08, 0x0E, + 0x00, 0x0C, 0x01, 0x04, 0x00, 0x06, 0x3C, 0x00, + 0x22, 0x01, 0x13, 0x03, 0x50, 0x00, 0x3A, 0x05, + 0x0B, 0x02, 0x03, 0x04, 0x08, 0x06, 0x00, 0x0C, + 0x02, 0x18, 0x00, 0x06, 0x3C, 0x00, 0x22, 0x02, + 0x13, 0x04, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x03, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x03, 0x0A, + 0x00, 0x06, 0x3C, 0x00, 0x24, 0x04, 0x24, 0x05, + 0x24, 0x03, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x22, 0x03, 0x13, 0x05, + 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x0A, + 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x03, 0x04, + 0x08, 0x0A, 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, + 0x03, 0x04, 0x08, 0x0A, 0x00, 0x07, 0x1E, 0x00, + 0x22, 0x04, 0x13, 0x06, 0xF0, 0x00, 0x3A, 0x0F, + 0x0B, 0x04, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x04, 0x12, 0x00, 0x07, 0x14, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x06, 0x3C, 0x00, + 0x22, 0x05, 0x13, 0x07, 0xF0, 0x00, 0x3A, 0x0F, + 0x0B, 0x05, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x05, 0x12, 0x00, 0x06, 0x3C, 0x00, 0x24, 0x06, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x22, 0x06, 0x13, 0x08, 0x50, 0x00, + 0x3A, 0x05, 0x0B, 0x06, 0x03, 0x04, 0x08, 0x08, + 0x00, 0x0C, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, + 0x24, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x22, 0x07, 0x13, 0x09, + 0x50, 0x00, 0x3A, 0x05, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x0B, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x0C, 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x22, + 0x08, 0x03, 0x04, 0x08, 0x07, 0x00, 0x13, 0x0A, + 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x08, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x0C, 0x08, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x24, 0x0A, 0x22, 0x09, 0x13, 0x0B, + 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x07, 0x3C, 0x00, 0x22, 0x0A, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x13, 0x0C, 0xF0, 0x00, 0x3A, + 0x0F, 0x0B, 0x09, 0x03, 0x04, 0x08, 0x05, 0x00, + 0x0C, 0x09, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x24, + 0x0B, 0x24, 0x0C, 0x24, 0x0D, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x22, 0x0B, 0x13, 0x0D, 0x50, + 0x00, 0x3A, 0x05, 0x0B, 0x0A, 0x03, 0x04, 0x08, + 0x08, 0x00, 0x0C, 0x0A, 0x0E, 0x00, 0x06, 0x3C, + 0x00, 0x0B, 0x0B, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x0C, 0x0B, 0x02, 0x00, 0x1B, 0x20, 0x0B, 0x0C, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x0C, 0x06, + 0x00, 0x1B, 0x21, 0x0B, 0x0D, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0C, 0x0D, 0x0C, 0x00, 0x1B, 0x22, + 0x0B, 0x0E, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, + 0x0E, 0x0B, 0x00, 0x22, 0x0C, 0x13, 0x0E, 0x50, + 0x00, 0x3A, 0x05, 0x0B, 0x0F, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0C, 0x0F, 0x09, 0x00, 0x06, 0x3C, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0D, + 0x13, 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x10, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x10, 0x09, + 0x00, 0x06, 0x3C, 0x00, 0x24, 0x0E, 0x24, 0x0F, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0E, 0x13, + 0x10, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x11, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x11, 0x0F, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x22, 0x0F, 0x13, 0x11, 0x50, 0x00, 0x3A, 0x05, + 0x0B, 0x12, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x12, 0x14, 0x00, 0x07, 0x3C, 0x00, 0x0B, 0x13, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, + 0x00, 0x1B, 0x23, 0x22, 0x1C, 0x0B, 0x13, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, 0x00, + 0x02, 0x04, 0x45, 0x10, 0x00, 0x3A, 0x14, 0x07, + 0x78, 0x00, 0x16, 0x1C, 0x01, 0x01, 0x04, 0x20 +}; + +static const ByteProvider k1KallakMalcolmSeqDOSCDProvider = { ARRAYSIZE(k1KallakMalcolmSeqDOSCD), k1KallakMalcolmSeqDOSCD }; + +static const byte k1ForestSeqDOSCD[627] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1D, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0B, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x0F, 0x00, + 0x22, 0x37, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x1B, 0x16, 0x03, 0x07, + 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, + 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, + 0x38, 0x0B, 0x09, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x09, 0x21, 0x00, 0x1B, 0x16, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, + 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, + 0x05, 0x04, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x22, 0x39, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x05, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x06, 0x98, 0x00, + 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x25, + 0x0B, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x09, + 0x00, 0x0B, 0x06, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x06, 0x0E, 0x00, 0x22, 0x3A, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x1B, 0x17, 0x0B, 0x01, + 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x0C, 0x01, 0x0D, 0x00, 0x1B, + 0x25, 0x0B, 0x07, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x07, 0x08, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x1B, 0x18, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x22, + 0x3B, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x07, 0x12, 0x00, + 0x1B, 0x25, 0x0B, 0x02, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, + 0x02, 0x07, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, 0x3C, + 0x0B, 0x03, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x0C, 0x03, 0x23, 0x00, 0x16, 0x01, 0x07, + 0x01, 0x05, 0x20 +}; + +static const ByteProvider k1ForestSeqDOSCDProvider = { ARRAYSIZE(k1ForestSeqDOSCD), k1ForestSeqDOSCD }; + +static const char *const k1IntroCPSStringsDOSCD[2] = { + "gemcuti.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsDOSCDProvider = { ARRAYSIZE(k1IntroCPSStringsDOSCD), k1IntroCPSStringsDOSCD }; + +static const char *const k1IntroCOLStringsDOSCD[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsDOSCDProvider = { ARRAYSIZE(k1IntroCOLStringsDOSCD), k1IntroCOLStringsDOSCD }; + +static const char *const k1IntroWSAStringsDOSCD[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsDOSCDProvider = { ARRAYSIZE(k1IntroWSAStringsDOSCD), k1IntroWSAStringsDOSCD }; + +static const Room k1RoomListDOSCD[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 37, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 1, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListDOSCDProvider = { ARRAYSIZE(k1RoomListDOSCD), k1RoomListDOSCD }; + +static const char *const k1RoomFilenamesDOSCD[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesDOSCDProvider = { ARRAYSIZE(k1RoomFilenamesDOSCD), k1RoomFilenamesDOSCD }; + +static const char *const k1CharacterImageFilenamesDOSCD[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesDOSCDProvider = { ARRAYSIZE(k1CharacterImageFilenamesDOSCD), k1CharacterImageFilenamesDOSCD }; + +static const Shape k1DefaultShapesDOSCD[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesDOSCDProvider = { ARRAYSIZE(k1DefaultShapesDOSCD), k1DefaultShapesDOSCD }; + +static const byte k1AmuleteAnimSeqDOSCD[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqDOSCDProvider = { ARRAYSIZE(k1AmuleteAnimSeqDOSCD), k1AmuleteAnimSeqDOSCD }; + +static const byte k1SpecialPalette1DOSCD[21] = { + 0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D, + 0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D, + 0x12, 0x0D, 0x18, 0x0F, 0x0B +}; + +static const ByteProvider k1SpecialPalette1DOSCDProvider = { ARRAYSIZE(k1SpecialPalette1DOSCD), k1SpecialPalette1DOSCD }; + +static const byte k1SpecialPalette2DOSCD[51] = { + 0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25, + 0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26, + 0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C, + 0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27, + 0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A, + 0x17, 0x0C, 0x08 +}; + +static const ByteProvider k1SpecialPalette2DOSCDProvider = { ARRAYSIZE(k1SpecialPalette2DOSCD), k1SpecialPalette2DOSCD }; + +static const byte k1SpecialPalette3DOSCD[51] = { + 0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C, + 0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21, + 0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B, + 0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D, + 0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08, + 0x11, 0x0A, 0x05 +}; + +static const ByteProvider k1SpecialPalette3DOSCDProvider = { ARRAYSIZE(k1SpecialPalette3DOSCD), k1SpecialPalette3DOSCD }; + +static const byte k1SpecialPalette4DOSCD[51] = { + 0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21, + 0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24, + 0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05, + 0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A, + 0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22, + 0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03, + 0x12, 0x0A, 0x03 +}; + +static const ByteProvider k1SpecialPalette4DOSCDProvider = { ARRAYSIZE(k1SpecialPalette4DOSCD), k1SpecialPalette4DOSCD }; + +static const byte k1SpecialPalette5DOSCD[51] = { + 0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A, + 0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E, + 0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A, + 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08, + 0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19, + 0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, + 0x11, 0x08, 0x05 +}; + +static const ByteProvider k1SpecialPalette5DOSCDProvider = { ARRAYSIZE(k1SpecialPalette5DOSCD), k1SpecialPalette5DOSCD }; + +static const byte k1SpecialPalette6DOSCD[51] = { + 0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A, + 0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11, + 0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B, + 0x0A, 0x19, 0x0A +}; + +static const ByteProvider k1SpecialPalette6DOSCDProvider = { ARRAYSIZE(k1SpecialPalette6DOSCD), k1SpecialPalette6DOSCD }; + +static const byte k1SpecialPalette7DOSCD[54] = { + 0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00, + 0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A, + 0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25, + 0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14, + 0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14, + 0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B +}; + +static const ByteProvider k1SpecialPalette7DOSCDProvider = { ARRAYSIZE(k1SpecialPalette7DOSCD), k1SpecialPalette7DOSCD }; + +static const byte k1SpecialPalette8DOSCD[54] = { + 0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29, + 0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14, + 0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F, + 0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F, + 0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14, + 0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F, + 0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F +}; + +static const ByteProvider k1SpecialPalette8DOSCDProvider = { ARRAYSIZE(k1SpecialPalette8DOSCD), k1SpecialPalette8DOSCD }; + +static const byte k1SpecialPalette9DOSCD[45] = { + 0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette9DOSCDProvider = { ARRAYSIZE(k1SpecialPalette9DOSCD), k1SpecialPalette9DOSCD }; + +static const byte k1SpecialPalette10DOSCD[45] = { + 0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette10DOSCDProvider = { ARRAYSIZE(k1SpecialPalette10DOSCD), k1SpecialPalette10DOSCD }; + +static const byte k1SpecialPalette11DOSCD[45] = { + 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette11DOSCDProvider = { ARRAYSIZE(k1SpecialPalette11DOSCD), k1SpecialPalette11DOSCD }; + +static const byte k1SpecialPalette12DOSCD[45] = { + 0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette12DOSCDProvider = { ARRAYSIZE(k1SpecialPalette12DOSCD), k1SpecialPalette12DOSCD }; + +static const byte k1SpecialPalette13DOSCD[45] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette13DOSCDProvider = { ARRAYSIZE(k1SpecialPalette13DOSCD), k1SpecialPalette13DOSCD }; + +static const byte k1SpecialPalette14DOSCD[60] = { + 0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20, + 0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08, + 0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27, + 0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08, + 0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00, + 0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette14DOSCDProvider = { ARRAYSIZE(k1SpecialPalette14DOSCD), k1SpecialPalette14DOSCD }; + +static const byte k1SpecialPalette15DOSCD[45] = { + 0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00, + 0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17, + 0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E, + 0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00, + 0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05, + 0x00, 0x08, 0x01, 0x00, 0x03 +}; + +static const ByteProvider k1SpecialPalette15DOSCDProvider = { ARRAYSIZE(k1SpecialPalette15DOSCD), k1SpecialPalette15DOSCD }; + +static const byte k1SpecialPalette16DOSCD[33] = { + 0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34, + 0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00, + 0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F, + 0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette16DOSCDProvider = { ARRAYSIZE(k1SpecialPalette16DOSCD), k1SpecialPalette16DOSCD }; + +static const byte k1SpecialPalette17DOSCD[33] = { + 0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32, + 0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26, + 0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D, + 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette17DOSCDProvider = { ARRAYSIZE(k1SpecialPalette17DOSCD), k1SpecialPalette17DOSCD }; + +static const byte k1SpecialPalette18DOSCD[21] = { + 0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F, + 0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15, + 0x1E, 0x25, 0x11, 0x19, 0x1F +}; + +static const ByteProvider k1SpecialPalette18DOSCDProvider = { ARRAYSIZE(k1SpecialPalette18DOSCD), k1SpecialPalette18DOSCD }; + +static const byte k1SpecialPalette19DOSCD[21] = { + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, + 0x00, 0x25, 0x00, 0x00, 0x1F +}; + +static const ByteProvider k1SpecialPalette19DOSCDProvider = { ARRAYSIZE(k1SpecialPalette19DOSCD), k1SpecialPalette19DOSCD }; + +static const byte k1SpecialPalette20DOSCD[21] = { + 0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F, + 0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33, + 0x22, 0x23, 0x31, 0x1F, 0x20 +}; + +static const ByteProvider k1SpecialPalette20DOSCDProvider = { ARRAYSIZE(k1SpecialPalette20DOSCD), k1SpecialPalette20DOSCD }; + +static const byte k1SpecialPalette21DOSCD[21] = { + 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x1F, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette21DOSCDProvider = { ARRAYSIZE(k1SpecialPalette21DOSCD), k1SpecialPalette21DOSCD }; + +static const byte k1SpecialPalette22DOSCD[21] = { + 0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B, + 0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30, + 0x30, 0x19, 0x2D, 0x2D, 0x17 +}; + +static const ByteProvider k1SpecialPalette22DOSCDProvider = { ARRAYSIZE(k1SpecialPalette22DOSCD), k1SpecialPalette22DOSCD }; + +static const byte k1SpecialPalette23DOSCD[21] = { + 0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B, + 0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30, + 0x30, 0x00, 0x2D, 0x2D, 0x00 +}; + +static const ByteProvider k1SpecialPalette23DOSCDProvider = { ARRAYSIZE(k1SpecialPalette23DOSCD), k1SpecialPalette23DOSCD }; + +static const byte k1SpecialPalette24DOSCD[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, + 0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, + 0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08, + 0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06 +}; + +static const ByteProvider k1SpecialPalette24DOSCDProvider = { ARRAYSIZE(k1SpecialPalette24DOSCD), k1SpecialPalette24DOSCD }; + +static const byte k1SpecialPalette25DOSCD[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B, + 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A, + 0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06 +}; + +static const ByteProvider k1SpecialPalette25DOSCDProvider = { ARRAYSIZE(k1SpecialPalette25DOSCD), k1SpecialPalette25DOSCD }; + +static const byte k1SpecialPalette26DOSCD[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A, + 0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06 +}; + +static const ByteProvider k1SpecialPalette26DOSCDProvider = { ARRAYSIZE(k1SpecialPalette26DOSCD), k1SpecialPalette26DOSCD }; + +static const byte k1SpecialPalette27DOSCD[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08 +}; + +static const ByteProvider k1SpecialPalette27DOSCDProvider = { ARRAYSIZE(k1SpecialPalette27DOSCD), k1SpecialPalette27DOSCD }; + +static const byte k1SpecialPalette28DOSCD[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette28DOSCDProvider = { ARRAYSIZE(k1SpecialPalette28DOSCD), k1SpecialPalette28DOSCD }; + +static const byte k1SpecialPalette29DOSCD[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, + 0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette29DOSCDProvider = { ARRAYSIZE(k1SpecialPalette29DOSCD), k1SpecialPalette29DOSCD }; + +static const byte k1SpecialPalette30DOSCD[60] = { + 0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12, + 0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F, + 0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28, + 0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A, + 0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01, + 0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05, + 0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14, + 0x11, 0x0F, 0x0D, 0x00 +}; + +static const ByteProvider k1SpecialPalette30DOSCDProvider = { ARRAYSIZE(k1SpecialPalette30DOSCD), k1SpecialPalette30DOSCD }; + +static const byte k1SpecialPalette31DOSCD[39] = { + 0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14, + 0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18, + 0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15, + 0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03, + 0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette31DOSCDProvider = { ARRAYSIZE(k1SpecialPalette31DOSCD), k1SpecialPalette31DOSCD }; + +static const byte k1SpecialPalette32DOSCD[39] = { + 0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F, + 0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A, + 0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08, + 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette32DOSCDProvider = { ARRAYSIZE(k1SpecialPalette32DOSCD), k1SpecialPalette32DOSCD }; + +static const byte k1SpecialPalette33DOSCD[60] = { + 0x3F, 0x3D, 0x2F, 0x3F, 0x3D, 0x29, 0x3F, 0x3D, + 0x23, 0x3F, 0x3D, 0x1D, 0x3F, 0x3B, 0x17, 0x3F, + 0x3B, 0x11, 0x3F, 0x3B, 0x0B, 0x3F, 0x3B, 0x05, + 0x3F, 0x3B, 0x00, 0x3D, 0x38, 0x00, 0x3B, 0x34, + 0x00, 0x39, 0x33, 0x00, 0x39, 0x30, 0x00, 0x37, + 0x2D, 0x00, 0x36, 0x2B, 0x00, 0x34, 0x28, 0x00, + 0x33, 0x26, 0x00, 0x32, 0x24, 0x00, 0x30, 0x22, + 0x00, 0x2F, 0x20, 0x00 +}; + +static const ByteProvider k1SpecialPalette33DOSCDProvider = { ARRAYSIZE(k1SpecialPalette33DOSCD), k1SpecialPalette33DOSCD }; + +static const Shape k1Healing1ShapesDOSCD[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesDOSCDProvider = { ARRAYSIZE(k1Healing1ShapesDOSCD), k1Healing1ShapesDOSCD }; + +static const Shape k1Healing2ShapesDOSCD[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesDOSCDProvider = { ARRAYSIZE(k1Healing2ShapesDOSCD), k1Healing2ShapesDOSCD }; + +static const Shape k1PoisonDeathShapesDOSCD[20] = { + { 19, 0, 0, 8, 48, -31, -48 }, + { 19, 8, 0, 8, 48, -31, -48 }, + { 19, 16, 0, 8, 48, -31, -48 }, + { 19, 24, 0, 8, 48, -31, -48 }, + { 19, 32, 0, 8, 48, -31, -48 }, + { 19, 0, 48, 8, 48, -31, -48 }, + { 19, 8, 48, 8, 48, -31, -48 }, + { 19, 16, 48, 8, 48, -31, -48 }, + { 19, 24, 48, 8, 48, -31, -48 }, + { 19, 32, 48, 8, 48, -31, -48 }, + { 19, 0, 96, 8, 48, -31, -48 }, + { 19, 8, 96, 8, 48, -31, -48 }, + { 19, 16, 96, 8, 48, -31, -48 }, + { 19, 24, 96, 8, 48, -31, -48 }, + { 19, 32, 96, 8, 48, -31, -48 }, + { 19, 0, 144, 8, 48, -31, -48 }, + { 19, 8, 144, 8, 48, -31, -48 }, + { 19, 16, 144, 8, 48, -31, -48 }, + { 19, 24, 144, 8, 48, -31, -48 }, + { 19, 32, 144, 8, 48, -31, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesDOSCDProvider = { ARRAYSIZE(k1PoisonDeathShapesDOSCD), k1PoisonDeathShapesDOSCD }; + +static const Shape k1FluteShapesDOSCD[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesDOSCDProvider = { ARRAYSIZE(k1FluteShapesDOSCD), k1FluteShapesDOSCD }; + +static const Shape k1Winter1ShapesDOSCD[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesDOSCDProvider = { ARRAYSIZE(k1Winter1ShapesDOSCD), k1Winter1ShapesDOSCD }; + +static const Shape k1Winter2ShapesDOSCD[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1Winter2ShapesDOSCDProvider = { ARRAYSIZE(k1Winter2ShapesDOSCD), k1Winter2ShapesDOSCD }; + +static const Shape k1Winter3ShapesDOSCD[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesDOSCDProvider = { ARRAYSIZE(k1Winter3ShapesDOSCD), k1Winter3ShapesDOSCD }; + +static const Shape k1DrinkShapesDOSCD[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 7, 0, 0, 3, 43, -12, -43 }, + { 7, 3, 3, 2, 40, -8, -40 }, + { 7, 5, 7, 2, 36, -8, -36 }, + { 7, 7, 10, 2, 33, -8, -33 }, + { 7, 9, 12, 2, 31, -8, -31 }, + { 7, 11, 15, 2, 28, -8, -28 } +}; + +static const ShapeProvider k1DrinkShapesDOSCDProvider = { ARRAYSIZE(k1DrinkShapesDOSCD), k1DrinkShapesDOSCD }; + +static const Shape k1WispShapesDOSCD[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesDOSCDProvider = { ARRAYSIZE(k1WispShapesDOSCD), k1WispShapesDOSCD }; + +static const Shape k1MagicAnimShapesDOSCD[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesDOSCDProvider = { ARRAYSIZE(k1MagicAnimShapesDOSCD), k1MagicAnimShapesDOSCD }; + +static const Shape k1BranStoneShapesDOSCD[15] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 }, + { 0, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1BranStoneShapesDOSCDProvider = { ARRAYSIZE(k1BranStoneShapesDOSCD), k1BranStoneShapesDOSCD }; + +static const byte k1OutroReunionSeqDOSCD[1509] = { + 0x23, 0x21, 0x1D, 0x00, 0x08, 0x01, 0x24, 0x20, + 0x24, 0x1D, 0x24, 0x1E, 0x24, 0x1F, 0x06, 0x01, + 0x00, 0x02, 0x08, 0x00, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x17, 0x0B, 0x00, 0x03, 0x08, 0x08, + 0x08, 0x00, 0x0C, 0x00, 0x09, 0x00, 0x22, 0x1D, + 0x13, 0x20, 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, + 0x0D, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, + 0x08, 0x0E, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, + 0x02, 0x08, 0x0C, 0x50, 0x00, 0x22, 0x08, 0x10, + 0x00, 0x02, 0x08, 0x0B, 0x50, 0x00, 0x22, 0x08, + 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, 0x00, 0x22, + 0x08, 0x10, 0x00, 0x02, 0x08, 0x0D, 0x50, 0x00, + 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, + 0x00, 0x22, 0x08, 0x10, 0x00, 0x0B, 0x01, 0x03, + 0x08, 0x08, 0x08, 0x00, 0x0C, 0x01, 0x04, 0x00, + 0x22, 0x1E, 0x13, 0x21, 0x5A, 0x00, 0x3A, 0x02, + 0x0B, 0x02, 0x02, 0x08, 0x14, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x03, 0x08, 0x08, 0x08, 0x00, + 0x03, 0x08, 0x08, 0x08, 0x00, 0x03, 0x08, 0x08, + 0x08, 0x00, 0x03, 0x08, 0x08, 0x08, 0x00, 0x0C, + 0x02, 0x01, 0x00, 0x03, 0x08, 0x08, 0x08, 0x00, + 0x03, 0x08, 0x08, 0x08, 0x00, 0x03, 0x08, 0x08, + 0x08, 0x00, 0x22, 0x1F, 0x13, 0x22, 0x5A, 0x00, + 0x3A, 0x02, 0x0B, 0x03, 0x03, 0x08, 0x08, 0x08, + 0x00, 0x0C, 0x03, 0x0B, 0x00, 0x22, 0x20, 0x13, + 0x23, 0x78, 0x00, 0x3A, 0x0F, 0x0B, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x00, 0x0C, 0x03, 0x05, 0x00, + 0x07, 0x28, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, + 0x08, 0x2E, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, + 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, 0x08, 0x10, + 0x00, 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x06, 0x0A, 0x00, + 0x22, 0x21, 0x13, 0x24, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x07, 0x0A, 0x00, 0x22, 0x22, + 0x13, 0x25, 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, + 0x33, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x34, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x33, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x07, 0x1E, 0x00, 0x22, 0x23, 0x13, 0x26, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x07, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x07, 0x3C, 0x00, 0x14, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x07, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x07, 0x0A, 0x00, 0x22, 0x24, 0x13, + 0x27, 0x78, 0x00, 0x3A, 0x0F, 0x0B, 0x05, 0x02, + 0x08, 0x59, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x5A, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x0D, 0x05, 0x01, 0x00, + 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x06, 0x28, 0x00, 0x24, 0x25, 0x02, 0x08, + 0x4E, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x4F, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x22, 0x25, 0x13, 0x28, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x50, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x51, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x07, 0x3C, 0x00, 0x22, 0x26, + 0x13, 0x29, 0x78, 0x00, 0x3A, 0x0F, 0x0B, 0x06, + 0x02, 0x08, 0x59, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, 0x22, 0x08, + 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, + 0x08, 0x08, 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, + 0x22, 0x08, 0x08, 0x00, 0x0C, 0x06, 0x02, 0x00, + 0x07, 0x1E, 0x00, 0x22, 0x27, 0x13, 0x2A, 0x78, + 0x00, 0x3A, 0x0F, 0x0B, 0x06, 0x02, 0x08, 0x59, + 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, 0x08, + 0x5A, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, 0x02, + 0x08, 0x5B, 0x50, 0x00, 0x22, 0x08, 0x08, 0x00, + 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x08, 0x08, + 0x00, 0x0C, 0x06, 0x02, 0x00, 0x02, 0x08, 0x5E, + 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, + 0x63, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x07, + 0x3C, 0x00, 0x24, 0x28, 0x14, 0x1B, 0x69, 0x02, + 0x08, 0x64, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, + 0x02, 0x08, 0x65, 0x50, 0x00, 0x22, 0x08, 0x10, + 0x00, 0x1B, 0x74, 0x02, 0x08, 0x66, 0x50, 0x00, + 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, 0x67, 0x50, + 0x00, 0x22, 0x08, 0x10, 0x00, 0x1B, 0x75, 0x02, + 0x08, 0x68, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, + 0x02, 0x08, 0x69, 0x50, 0x00, 0x22, 0x08, 0x10, + 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00, 0x22, 0x08, + 0x01, 0x00, 0x22, 0x28, 0x13, 0x2B, 0x96, 0x00, + 0x1C, 0x22, 0x0B, 0x06, 0x0E, 0x28, 0x02, 0x08, + 0x69, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, + 0x28, 0x02, 0x08, 0x6A, 0x50, 0x00, 0x22, 0x08, + 0x06, 0x00, 0x0E, 0x28, 0x02, 0x08, 0x6B, 0x50, + 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, 0x28, 0x02, + 0x08, 0x6C, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, + 0x0E, 0x28, 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, + 0x08, 0x06, 0x00, 0x0E, 0x28, 0x02, 0x08, 0x6E, + 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, 0x28, + 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x08, 0x06, + 0x00, 0x0E, 0x28, 0x02, 0x08, 0x70, 0x50, 0x00, + 0x22, 0x08, 0x06, 0x00, 0x0E, 0x28, 0x02, 0x08, + 0x71, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0D, + 0x06, 0x02, 0x00, 0x0E, 0x00, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x08, 0x05, 0x00, 0x06, 0x1E, + 0x00, 0x22, 0x29, 0x13, 0x2C, 0x96, 0x00, 0x1C, + 0x22, 0x0E, 0x00, 0x0B, 0x06, 0x0E, 0x32, 0x02, + 0x08, 0x6B, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, + 0x0E, 0x32, 0x02, 0x08, 0x6C, 0x50, 0x00, 0x22, + 0x08, 0x06, 0x00, 0x0E, 0x32, 0x02, 0x08, 0x6D, + 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, 0x32, + 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x08, 0x06, + 0x00, 0x0E, 0x32, 0x02, 0x08, 0x6F, 0x50, 0x00, + 0x22, 0x08, 0x06, 0x00, 0x0E, 0x32, 0x02, 0x08, + 0x70, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, + 0x32, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x08, + 0x06, 0x00, 0x0D, 0x06, 0x02, 0x00, 0x0E, 0x00, + 0x02, 0x08, 0x6C, 0x50, 0x00, 0x22, 0x08, 0x06, + 0x00, 0x06, 0x1E, 0x00, 0x22, 0x2A, 0x13, 0x2D, + 0x96, 0x00, 0x1C, 0x22, 0x0E, 0x00, 0x0B, 0x06, + 0x0E, 0x32, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22, + 0x08, 0x06, 0x00, 0x0E, 0x32, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, 0x32, + 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x08, 0x06, + 0x00, 0x0E, 0x32, 0x02, 0x08, 0x6E, 0x50, 0x00, + 0x22, 0x08, 0x06, 0x00, 0x0E, 0x32, 0x02, 0x08, + 0x6F, 0x50, 0x00, 0x22, 0x08, 0x06, 0x00, 0x0E, + 0x32, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x08, + 0x06, 0x00, 0x0E, 0x32, 0x02, 0x08, 0x71, 0x50, + 0x00, 0x22, 0x08, 0x06, 0x00, 0x0D, 0x06, 0x01, + 0x00, 0x0E, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x72, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, 0x02, + 0x08, 0x73, 0x50, 0x00, 0x22, 0x08, 0x10, 0x00, + 0x07, 0x14, 0x00, 0x02, 0x08, 0x74, 0x50, 0x00, + 0x22, 0x08, 0x10, 0x00, 0x02, 0x08, 0x75, 0x50, + 0x00, 0x22, 0x08, 0x10, 0x00, 0x07, 0x78, 0x00, + 0x16, 0x11, 0x01, 0x08, 0x20 +}; + +static const ByteProvider k1OutroReunionSeqDOSCDProvider = { ARRAYSIZE(k1OutroReunionSeqDOSCD), k1OutroReunionSeqDOSCD }; + +static const char *const k1AudioTracksDOSCD[8] = { + "KYRA1A", + "KYRA1B", + "KYRA2A", + "KYRA3A", + "KYRA4A", + "KYRA4B", + "KYRA5A", + "KYRA5B" +}; + +static const StringListProvider k1AudioTracksDOSCDProvider = { ARRAYSIZE(k1AudioTracksDOSCD), k1AudioTracksDOSCD }; + +static const char *const k1AudioTracks2DOSCD[1] = { + "kyramisc" +}; + +static const StringListProvider k1AudioTracks2DOSCDProvider = { ARRAYSIZE(k1AudioTracks2DOSCD), k1AudioTracks2DOSCD }; + +static const char *const k1AudioTracksIntroDOSCD[2] = { + "intro", + "intro" +}; + +static const StringListProvider k1AudioTracksIntroDOSCDProvider = { ARRAYSIZE(k1AudioTracksIntroDOSCD), k1AudioTracksIntroDOSCD }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cd_english.h b/devtools/create_kyradat/resources/lok_dos_cd_english.h new file mode 100644 index 0000000000..af695470a3 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cd_english.h @@ -0,0 +1,428 @@ +static const char *const k1IntroStringsDOSCDEnglish[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak...", + "...Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcolm!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land!", + "Your puny curse restrains me naught.", + "So, slay me now!", + "I have little magic left.", + "I mean to harm you, have no doubt...", + "...Now you are stone...", + "...Yet I leave your eyes.", + "I shed no tears for Kyrandia...", + "...But cannot deny you yours.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "How dare you trip ME!", + "But no, something special for you...", + "A humorous hex!", + "But I shall give fair warning.", + "Don't jump on THAT tree!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way...", + "...Is it not?", + "Ha ha ha...", + "Aren't fingers wonderful?", + "It's great to be alive!", + "Brandon!", + "Grandfather! We did it!", + "No! YOU did it!", + "Long live King Brandon!", + "Long live the Royal Mystics!", + "Now, let's go put Kyrandia back together!", + "Good idea!", + "As my first Royal Proclamation...", + "I name sandals as the official footwear of Kyrandia!", + "Well done, Brandon!", + "The Land no longer weeps...", + "And your friends have been restored!", + "Dear Brynn...", + "Malcolm has broken free!", + "Soon he will come for me.", + "Please help Brandon...", + "" +}; + +static const StringListProvider k1IntroStringsDOSCDEnglishProvider = { ARRAYSIZE(k1IntroStringsDOSCDEnglish), k1IntroStringsDOSCDEnglish }; + +static const char *const k1ItemNamesDOSCDEnglish[107] = { + "Garnet", + "Amethyst", + "Aquamarine", + "Diamond", + "Emerald", + "Pearl", + "Ruby", + "Peridot", + "Sapphire", + "Opal", + "Topaz", + "Onyx", + "Sunstone", + "Moonstone", + "Rainbowstone", + "Lodestone", + "Rose", + "Tulip", + "Orchid", + "Silver Rose", + "Silver Statuette", + "Silver Coin", + "Gold Coin", + "Gold Ring", + "Royal Chalice", + "Pinecone", + "Acorn", + "Walnut", + "Everglowing Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fish", + "Fish Bone", + "Mutton Leg", + "Bone", + "Apple", + "Apple Core", + "Blueberries", + "Mushroom", + "Note", + "Marble", + "Saw", + "Ankh", + "Feather", + "Egg", + "Leaf", + "Shamrock", + "Fallen Star", + "Crystal Ball", + "Teardrop", + "Mirror", + "Ice Shard", + "Flute", + "Hourglass", + "Iron Key", + "Jade Key", + "Obsidion Key", + "Red Potion", + "Red Potion", + "Blue Potion", + "Blue Potion", + "Yellow Potion", + "Yellow Potion", + "Green Potion", + "Orange Potion", + "Purple Potion", + "Potion of Rainbows", + "Fresh Water", + "Fresh Water", + "Salt Water", + "Salt Water", + "Mineral Water", + "Mineral Water", + "Magical Water", + "Magical Water", + "Empty Flask", + "Empty Flask", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Red Magestone", + "Orange Magestone", + "Yellow Magestone", + "Green Magestone", + "Blue-Green Magestone", + "Blue Magestone", + "Purple Magestone", + "Heavy rock", + "Royal Crown", + "Royal Sceptre", + "Gold key", + "Unknown item" +}; + +static const StringListProvider k1ItemNamesDOSCDEnglishProvider = { ARRAYSIZE(k1ItemNamesDOSCDEnglish), k1ItemNamesDOSCDEnglish }; + +static const char *const k1TakenStringsDOSCDEnglish[2] = { + " taken.", + " taken." +}; + +static const StringListProvider k1TakenStringsDOSCDEnglishProvider = { ARRAYSIZE(k1TakenStringsDOSCDEnglish), k1TakenStringsDOSCDEnglish }; + +static const char *const k1PlacedStringsDOSCDEnglish[1] = { + " placed." +}; + +static const StringListProvider k1PlacedStringsDOSCDEnglishProvider = { ARRAYSIZE(k1PlacedStringsDOSCDEnglish), k1PlacedStringsDOSCDEnglish }; + +static const char *const k1DroppedStringsDOSCDEnglish[1] = { + " dropped." +}; + +static const StringListProvider k1DroppedStringsDOSCDEnglishProvider = { ARRAYSIZE(k1DroppedStringsDOSCDEnglish), k1DroppedStringsDOSCDEnglish }; + +static const char *const k1NoDropStringsDOSCDEnglish[2] = { + "You can't drop any more items in this scene.", + "You can't put that there." +}; + +static const StringListProvider k1NoDropStringsDOSCDEnglishProvider = { ARRAYSIZE(k1NoDropStringsDOSCDEnglish), k1NoDropStringsDOSCDEnglish }; + +static const char *const k1PutDownStringDOSCDEnglish[1] = { + "Maybe I'd better put this down first." +}; + +static const StringListProvider k1PutDownStringDOSCDEnglishProvider = { ARRAYSIZE(k1PutDownStringDOSCDEnglish), k1PutDownStringDOSCDEnglish }; + +static const char *const k1WaitAmuletStringDOSCDEnglish[1] = { + "I guess I'll have to wait for my Amulet to regain its power." +}; + +static const StringListProvider k1WaitAmuletStringDOSCDEnglishProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDEnglish), k1WaitAmuletStringDOSCDEnglish }; + +static const char *const k1BlackJewelStringDOSCDEnglish[1] = { + "It's a jewel, but why is it black?" +}; + +static const StringListProvider k1BlackJewelStringDOSCDEnglishProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDEnglish), k1BlackJewelStringDOSCDEnglish }; + +static const char *const k1HealingTipStringDOSCDEnglish[1] = { + "Gee, this could come in handy if I get hurt." +}; + +static const StringListProvider k1HealingTipStringDOSCDEnglishProvider = { ARRAYSIZE(k1HealingTipStringDOSCDEnglish), k1HealingTipStringDOSCDEnglish }; + +static const char *const k1PoisonGoneStringDOSCDEnglish[2] = { + "Amazing!", + "The effects of the poison are gone!" +}; + +static const StringListProvider k1PoisonGoneStringDOSCDEnglishProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDEnglish), k1PoisonGoneStringDOSCDEnglish }; + +static const char *const k1ThePoisonStringsDOSCDEnglish[4] = { + "The poison...", + "I can't breathe...", + "I don't feel so good...", + "That snake must\rbe poisonous!" +}; + +static const StringListProvider k1ThePoisonStringsDOSCDEnglishProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDEnglish), k1ThePoisonStringsDOSCDEnglish }; + +static const char *const k1FluteStringsDOSCDEnglish[40] = { + "Not very impressive sounding.", + "That last note sure was high!", + "\xBA", + "\xBA", + "", + "\x01", + "\x01\xB3", + "\xB3", + "\x06\x04\x08\x03\x06", + "\x08\x01\x01", + "\x02\x04", + "\x05\x02", + "\x08\x01\x01", + "\x11", + "5", + "Y", + "", + "", + "", + "", + "\x15", + "9", + "]", + "", + "", + "", + "", + "\x07", + ")", + "M", + "", + "", + "", + "", + "", + "", + "", + "", + "SHAPE_HORZ_REV", + "SHAPE_VERT_REV" +}; + +static const StringListProvider k1FluteStringsDOSCDEnglishProvider = { ARRAYSIZE(k1FluteStringsDOSCDEnglish), k1FluteStringsDOSCDEnglish }; + +static const char *const k1WispJewelStringsDOSCDEnglish[2] = { + "I'm not really feeling up to it right now.", + "I probably should put down this first." +}; + +static const StringListProvider k1WispJewelStringsDOSCDEnglishProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDEnglish), k1WispJewelStringsDOSCDEnglish }; + +static const char *const k1MagicJewelStringsDOSCDEnglish[1] = { + "That felt strange." +}; + +static const StringListProvider k1MagicJewelStringsDOSCDEnglishProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDEnglish), k1MagicJewelStringsDOSCDEnglish }; + +static const char *const k1FlaskFullStringDOSCDEnglish[1] = { + "This flask is already full." +}; + +static const StringListProvider k1FlaskFullStringDOSCDEnglishProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDEnglish), k1FlaskFullStringDOSCDEnglish }; + +static const char *const k1FullFlaskStringDOSCDEnglish[4] = { + "The flask is now filled\rwith fresh, sparkling water.", + "The flask is now filled\rwith salt water.", + "The flask is now filled\rwith mineral water.", + "Magic water." +}; + +static const StringListProvider k1FullFlaskStringDOSCDEnglishProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDEnglish), k1FullFlaskStringDOSCDEnglish }; + +static const char *const k1OutroHomeStringDOSCDEnglish[1] = { + "Home" +}; + +static const StringListProvider k1OutroHomeStringDOSCDEnglishProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDEnglish), k1OutroHomeStringDOSCDEnglish }; + +static const char *const k1VeryCleverStringDOSCDEnglish[1] = { + "Very clever! But your feeble efforts are futile." +}; + +static const StringListProvider k1VeryCleverStringDOSCDEnglishProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDEnglish), k1VeryCleverStringDOSCDEnglish }; + +static const char *const k1GUIStringsDOSCDEnglish[81] = { + "The Legend of Kyrandia", + "Load a game", + "Save this game", + "Game controls", + "Quit playing", + "Resume game", + "Game Controls", + "Which game would you like to reload?", + "Select a position to save to:", + "[ EMPTY SLOT ]", + "Cancel", + "Enter a description of your saved game:", + "Save", + "Rest in peace, Brandon.", + "Are you sure you want to quit playing?", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXXXXX", + "", + "", + "", + "", + "", + "Main menu", + "on", + "off", + "Yes", + "No", + "\xCD\x0E\x17""+""\xD5\x0E\x17""+""\xDA\x0E\x17""+""\xE1\x0E\x17""+""\xE6\x0E\x17""+""\xEE\x0E\x17""+""\xF8\x0E\x17""+""\x03\x0F\x17""+""\x10\x0F\x17""+""\x18\x0F\x17""+""\x1F\x0F\x17""+$""\x0F\x17""+Walk speed ", + "Text speed ", + "Music is ", + "Sounds are ", + "Voice / Text" +}; + +static const StringListProvider k1GUIStringsDOSCDEnglishProvider = { ARRAYSIZE(k1GUIStringsDOSCDEnglish), k1GUIStringsDOSCDEnglish }; + +static const char *const k1NewGameStringDOSCDEnglish[1] = { + "[ START A NEW GAME ]" +}; + +static const StringListProvider k1NewGameStringDOSCDEnglishProvider = { ARRAYSIZE(k1NewGameStringDOSCDEnglish), k1NewGameStringDOSCDEnglish }; + +static const char *const k1ConfigStringsDOSCDEnglish[12] = { + "slowest", + "slow", + "normal", + "fast", + "fastest", + "Text only", + "Voice only", + "Voice & Text", + "slowest", + "normal", + "fast", + "clickable" +}; + +static const StringListProvider k1ConfigStringsDOSCDEnglishProvider = { ARRAYSIZE(k1ConfigStringsDOSCDEnglish), k1ConfigStringsDOSCDEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cd_french.h b/devtools/create_kyradat/resources/lok_dos_cd_french.h new file mode 100644 index 0000000000..cf45a2fb28 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cd_french.h @@ -0,0 +1,349 @@ +static const char *const k1IntroStringsDOSCDFrench[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Salut Kallak...", + "...Puissant Chef de l'Ordre des Mystiques Royaux!", + "Je t'ai fait peur?", + "Malcolm!", + "On m'a dit hier que tu t'""\x82""tais ""\x82""vad""\x82"".", + "Je t'attendais depuis longtemps.", + "Pourquoi me serais-je press""\x82""?", + "C'est moi qui gouverne ce pays!", + "Ton faible sort n'a pas d'effet sur moi.", + "Tue-moi maintenant!", + "Il ne me reste pas beaucoup de pouvoirs magiques.", + "Je veux te faire du mal, sois-en s""\x96""r...", + "...Maintenant, tu es transform""\x82"" en pierre...", + "...mais je te laisse tes yeux.", + "Je ne verse aucune larme pour Kyrandia...", + "...mais je ne peux pas te refuser les tiennes.", + "Malcolm le Bouffon est libre!", + "Il contr""\x93""le la Kyragemme maintenant...", + "...source de tous les pouvoirs magiques de Kyrandia!", + "", + "Comment oses-tu ME faire tr""\x82""bucher!", + "Mais non, quelque chose de sp""\x82""cial pour toi...", + "Un sort humoristique!", + "Mais je pr""\x82""viendrai.", + "Ne saute pas sur CET arbre!", + "Ne grimpe pas sur CET arbre, petit ""\x82""cureuil!", + "Hou!", + "C'est plus marrant comme ""\x87""a...", + "...n'est-ce pas?", + "Ha ha ha...", + "Les doigts ne sont-ils pas une chose merveilleuse?", + "C'est super d'""\x88""tre en vie!", + "Brandon!", + "Grand-P""\x8A""re! On y est arriv""\x82""!", + "Non! TU y es arriv""\x82""!", + "Longue vie au Roi Brandon!", + "Longue vie ""\x85"" l'Ordre des Mystiques Royaux!", + "Retournons mettre de l'ordre dans Kyrandia!", + "Bonne id""\x82""e!", + "En tant que Roi...", + "je d""\x82""clare que les sandales sont d""\x82""sormais les souliers officiels ""\x85"" Kyrandia!", + "Bien jou""\x82"", Brandon!", + "La Terre ne pleure plus...", + "Et tu as retrouv""\x82"" tes amis!", + "Ma Ch""\x8A""re Brynn...", + "Malcolm s'est ""\x82""vad""\x82""!", + "Il viendra me chercher bient""\x93""t.", + "S'il te pla""\x8C""t Brandon, aide-moi...", + "" +}; + +static const StringListProvider k1IntroStringsDOSCDFrenchProvider = { ARRAYSIZE(k1IntroStringsDOSCDFrench), k1IntroStringsDOSCDFrench }; + +static const char *const k1ItemNamesDOSCDFrench[108] = { + "Grenat", + "Am""\x82""thyste", + "Aigue-marine", + "Diamant", + "Emeraude", + "Perle", + "Rubis", + "Olivine", + "Saphir", + "Opale", + "Topaze", + "Onyx", + "Aventurine", + "Pierre de Lune", + "Pierre d'Iris", + "Magn""\x82""tite", + "Rose", + "Tulipe", + "Orchid""\x82""e", + "Rose d'argent", + "Statuette d'argent", + "Pi""\x8A""ce d'argent", + "Pi""\x8A""ce d'or", + "Bague en or", + "Calice royal", + "Pomme de pin", + "Gland", + "Noix", + "Baie de feu luisantes", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Poisson", + "Ar""\x88""te", + "Gigot de mouton", + "Os", + "Pomme", + "Trognon de pomme", + "Myrtille", + "Champignon", + "Note", + "Bille", + "Scie", + "Croix ans""\x82""e", + "Plume", + "Oeuf", + "Feuille", + "Tr""\x8A""fle", + "Etoile bris""\x82""e", + "Boule de cristal", + "Larme", + "Miroir", + "Tesson de glace", + "Fl""\x96""te", + "Sablier", + "Cl""\x82"" m""\x82""tallique", + "Cl""\x82"" de jade", + "Cl""\x82"" obsidion", + "Potion rouge", + "Potion rouge", + "Potion bleue", + "Potion bleue", + "Potion jaune", + "Potion jaune", + "Potion verte", + "Potion orange", + "Potion violette", + "Potion d'arcs-en-ciel", + "Eau fraiche", + "Eau fraiche", + "Eau sal""\x82""e", + "Eau sal""\x82""e", + "Eau min""\x82""rale", + "Eau min""\x82""rale", + "Eau magique", + "Eau magique", + "Gourde vide", + "Gourde vide", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Pierre magique rouge", + "Pierre magique orange", + "Pierre magique jaune", + "Pierre magique verte", + "Pierre magique turquoise", + "Pierre magique bleue", + "Pierre magique violette", + "Rocher lourd", + "Couronne royale", + "Sceptre royal", + "Cl""\x82"" en or", + "Objet inconnu", + "" +}; + +static const StringListProvider k1ItemNamesDOSCDFrenchProvider = { ARRAYSIZE(k1ItemNamesDOSCDFrench), k1ItemNamesDOSCDFrench }; + +static const char *const k1TakenStringsDOSCDFrench[4] = { + " prise.", + " pris.", + " prise.", + " pris." +}; + +static const StringListProvider k1TakenStringsDOSCDFrenchProvider = { ARRAYSIZE(k1TakenStringsDOSCDFrench), k1TakenStringsDOSCDFrench }; + +static const char *const k1PlacedStringsDOSCDFrench[2] = { + " plac""\x82""e.", + " plac""\x82""." +}; + +static const StringListProvider k1PlacedStringsDOSCDFrenchProvider = { ARRAYSIZE(k1PlacedStringsDOSCDFrench), k1PlacedStringsDOSCDFrench }; + +static const char *const k1DroppedStringsDOSCDFrench[2] = { + " l""\x83""ch""\x82""e.", + " l""\x83""ch""\x82""." +}; + +static const StringListProvider k1DroppedStringsDOSCDFrenchProvider = { ARRAYSIZE(k1DroppedStringsDOSCDFrench), k1DroppedStringsDOSCDFrench }; + +static const char *const k1NoDropStringsDOSCDFrench[2] = { + "Vous ne pouvez pas l""\x83""cher autre chose ici.", + "Vous ne pouvez pas mettre ""\x87""a l""\x85""." +}; + +static const StringListProvider k1NoDropStringsDOSCDFrenchProvider = { ARRAYSIZE(k1NoDropStringsDOSCDFrench), k1NoDropStringsDOSCDFrench }; + +static const char *const k1PutDownStringDOSCDFrench[1] = { + "Il faudrait peut-""\x88""tre que je pose ""\x87""a d'abord." +}; + +static const StringListProvider k1PutDownStringDOSCDFrenchProvider = { ARRAYSIZE(k1PutDownStringDOSCDFrench), k1PutDownStringDOSCDFrench }; + +static const char *const k1WaitAmuletStringDOSCDFrench[1] = { + "Je suppose qu'il me faut attendre que mon amulette retrouve son pouvoir." +}; + +static const StringListProvider k1WaitAmuletStringDOSCDFrenchProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDFrench), k1WaitAmuletStringDOSCDFrench }; + +static const char *const k1BlackJewelStringDOSCDFrench[1] = { + "C'est un bijou, mais pourquoi est-il noir?" +}; + +static const StringListProvider k1BlackJewelStringDOSCDFrenchProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDFrench), k1BlackJewelStringDOSCDFrench }; + +static const char *const k1HealingTipStringDOSCDFrench[1] = { + "Hue, ""\x87""a pourrait bien m'""\x88""tre utile si je suis bless""\x82""." +}; + +static const StringListProvider k1HealingTipStringDOSCDFrenchProvider = { ARRAYSIZE(k1HealingTipStringDOSCDFrench), k1HealingTipStringDOSCDFrench }; + +static const char *const k1PoisonGoneStringDOSCDFrench[2] = { + "G""\x82""nial!", + "Les effets du poison ont disparu!" +}; + +static const StringListProvider k1PoisonGoneStringDOSCDFrenchProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDFrench), k1PoisonGoneStringDOSCDFrench }; + +static const char *const k1ThePoisonStringsDOSCDFrench[4] = { + "Le poison...", + "Je ne peux plus respirer...", + "Je ne me sens pas tr""\x8A""s bien...", + "Ce serpent doit ""\x88""tre \rvenimeux!" +}; + +static const StringListProvider k1ThePoisonStringsDOSCDFrenchProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDFrench), k1ThePoisonStringsDOSCDFrench }; + +static const char *const k1FluteStringsDOSCDFrench[2] = { + "\x80""a ne sonne pas tr""\x8A""s bien.", + "Cette derni""\x8A""re note ""\x82""tait vraiment aigue!" +}; + +static const StringListProvider k1FluteStringsDOSCDFrenchProvider = { ARRAYSIZE(k1FluteStringsDOSCDFrench), k1FluteStringsDOSCDFrench }; + +static const char *const k1WispJewelStringsDOSCDFrench[2] = { + "Je ne m'en sens pas vraiment capable maintenant.", + "Je devrait poser mon, ma, mes " +}; + +static const StringListProvider k1WispJewelStringsDOSCDFrenchProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDFrench), k1WispJewelStringsDOSCDFrench }; + +static const char *const k1MagicJewelStringsDOSCDFrench[1] = { + "C'""\x82""tait bizarre." +}; + +static const StringListProvider k1MagicJewelStringsDOSCDFrenchProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDFrench), k1MagicJewelStringsDOSCDFrench }; + +static const char *const k1FlaskFullStringDOSCDFrench[1] = { + "Cette gourde est d""\x82""j""\x85"" pleine." +}; + +static const StringListProvider k1FlaskFullStringDOSCDFrenchProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDFrench), k1FlaskFullStringDOSCDFrench }; + +static const char *const k1FullFlaskStringDOSCDFrench[4] = { + "La gourde est remplie \rd'eau gazeuse fra""\x8C""che.", + "La gourde est remplie \rd'eau sal""\x82""e.", + "La gourde est remplie \rd'eau min""\x82""rale.", + "Eau magique." +}; + +static const StringListProvider k1FullFlaskStringDOSCDFrenchProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDFrench), k1FullFlaskStringDOSCDFrench }; + +static const char *const k1OutroHomeStringDOSCDFrench[1] = { + "Maison" +}; + +static const StringListProvider k1OutroHomeStringDOSCDFrenchProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDFrench), k1OutroHomeStringDOSCDFrench }; + +static const char *const k1VeryCleverStringDOSCDFrench[1] = { + "Malin! Mais vos efforts restent vains." +}; + +static const StringListProvider k1VeryCleverStringDOSCDFrenchProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDFrench), k1VeryCleverStringDOSCDFrench }; + +static const char *const k1GUIStringsDOSCDFrench[35] = { + "The Legend of Kyrandia", + "Charger un jeu", + "Sauvegarder ce jeu", + "Contr""\x93""les du jeu", + "Quitter le jeu", + "Reprendre le jeu", + "Contr""\x93""les du jeu", + "Quel jeu voulez-vous re-charger?", + "S""\x82""lectionnez une position o""\x97"" sauvegarder:", + "[ EMPLACEMENT VIDE ]", + "Annuler", + "Entrez description de votre jeu sauvegard""\x82"".", + "Sauvegarder", + "Repose en paix, Brandon.", + "Vous voulez vraiment quitter le jeu?", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXX", + "", + "", + "", + "", + "", + "Menu principal", + "activ""\x82", + "d""\x82""sactiv""\x82", + "Oui", + "Non", + "?""\x0F"")+I""\x0F"")+N""\x0F"")+U""\x0F"")+\\""\x0F"")+h""\x0F"")+y""\x0F"")+""\x89\x0F"")+""\x97\x0F"")+""\xA1\x0F"")+""\xA8\x0F"")+""\xAF\x0F"")+Vitesse de d""\x82""placement", + "Vitesse du texte", + "La musique est ", + "Les sons sont ", + "Voix/Texte" +}; + +static const StringListProvider k1GUIStringsDOSCDFrenchProvider = { ARRAYSIZE(k1GUIStringsDOSCDFrench), k1GUIStringsDOSCDFrench }; + +static const char *const k1NewGameStringDOSCDFrench[1] = { + "[ COMMENCER UN NOUVEAU JEU ]" +}; + +static const StringListProvider k1NewGameStringDOSCDFrenchProvider = { ARRAYSIZE(k1NewGameStringDOSCDFrench), k1NewGameStringDOSCDFrench }; + +static const char *const k1ConfigStringsDOSCDFrench[12] = { + "plus lent", + "lent", + "normal", + "rapide", + "plus rapide", + "Texte uniquement", + "Voix uniquement", + "Voix et Texte", + "plus lent", + "normal", + "rapide", + "cliquable" +}; + +static const StringListProvider k1ConfigStringsDOSCDFrenchProvider = { ARRAYSIZE(k1ConfigStringsDOSCDFrench), k1ConfigStringsDOSCDFrench }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cd_german.h b/devtools/create_kyradat/resources/lok_dos_cd_german.h new file mode 100644 index 0000000000..a462362e81 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cd_german.h @@ -0,0 +1,370 @@ +static const char *const k1IntroStringsDOSCDGerman[52] = { + "This is a text test - 1", + "This is a text test - 2", + "Sei gegr""\x81\xE1""t, Kallak...", + "...M""\x84""chtiger Anf""\x81""hrer der k""\x94""niglichen Mystiker!", + "Habe ich dich erschreckt?", + "Malcolm!", + "Ich habe gestern von deiner Flucht geh""\x94""rt.", + "Ich habe dich fr""\x81""her erwartet.", + "Warum sollte ich mich beeilen?", + "Ich herrsche ""\x81""ber dieses Land!", + "Dein mickriger Fluch h""\x84""lt mich nicht zur""\x81""ck.", + "So, erschlag mich doch!", + "Ich habe nur noch wenig Magie ""\x81""brig.", + "Ich werde dir zu Leibe r""\x81""cken, zweifle blo""\xE1"" nicht daran...", + "...du bist jetzt aus Stein...", + "...Ich lasse dir allein deine Augen.", + "F""\x81""r Kyrandia vergie""\xE1""e ich nicht eine Tr""\x84""ne...", + "...aber deine will ich dir nicht nehmen.", + "Malcolm der Hofnarr ist ausgebrochen!", + "Er beherrscht nun den Kyragem...", + "...die Quelle aller Magie in Kyrandia!", + "", + "Wie kannst du es wagen, MICH umzuwerfen!", + "Nicht doch, etwas Besonderes f""\x81""r dich...", + "Was f""\x81""r ein l""\x84""cherlicher Fluch!", + "Ich warne dich vorher.", + "Springe nicht auf DIESEN Baum!", + "Klettre nicht auf diesen Baum, kleines Eichh""\x94""rnchen!", + "Buuh!", + "So ist es viel lustiger...", + "...nicht wahr?", + "Ha ha ha...", + "Sind Finger nicht 'was Tolles?", + "Es ist gro""\xE1""artig, am Leben zu sein!", + "Brandon!", + "Gro""\xE1""vater! Wir haben es geschafft!", + "Nein! DU hast es geschafft!", + "Lang lebe K""\x94""nig Brandon!", + "Lang leben die k""\x94""niglichen Mystiker!", + "Bauen wir Kyrandia wieder auf!", + "Eine gute Idee!", + "Als meine erste k""\x94""nigliche Proklamation,...", + "...erkl""\x84""re ich Sandalen zur offiziellen Fu""\xE1""bekleidung Kyrandias!", + "Sehr weise, Brandon!", + "Das Land ist nicht l""\x84""nger in Trauer!", + "Und deine Freunde sind gerettet.", + "Liebe Brynn...", + "Malcolm ist ausgebrochen!", + "Er wird bald zu mir kommen.", + "Bitte hilf Brandon...", + "", + "" +}; + +static const StringListProvider k1IntroStringsDOSCDGermanProvider = { ARRAYSIZE(k1IntroStringsDOSCDGerman), k1IntroStringsDOSCDGerman }; + +static const char *const k1ItemNamesDOSCDGerman[108] = { + "Granat", + "Amethyst", + "Aquamarin", + "Diamant", + "Smaragd", + "Perle", + "Rubin", + "Peridot", + "Saphir", + "Opal", + "Topas", + "Onyx", + "Sonnenstein", + "Mondstein", + "Regenbogenstein", + "Magnetstein", + "Rose", + "Tulpe", + "Orchidee", + "Silberne Rose", + "Silberne Statuette", + "Silberm""\x81""nze", + "Goldm""\x81""nze", + "Goldring", + "Der Kelch des K""\x94""nigs", + "Kienapfel", + "Eichel", + "Walnu""\xE1", + "Immerleuchtende Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Fisch", + "Fischgr""\x84""te", + "Hammelkeule", + "Knochen", + "Apfel", + "Apfelgriebsch", + "Heidelbeeren", + "Pilz", + "Notiz", + "Murmel", + "S""\x84""ge", + "Henkelkreuz", + "Feder", + "Ei", + "Blatt", + "Kleeblatt", + "Sternschnuppe", + "Kristallkugel", + "Tr""\x84""ne", + "Spiegel", + "Eisst""\x81""ck", + "Fl""\x94""te", + "Sanduhr", + "Eisenschl""\x81""ssel", + "Jadeschl""\x81""ssel", + "Obsidianschl""\x81""ssel", + "Roter Trank", + "Roter Trank", + "Blauer Trank", + "Blauer Trank", + "Gelber Trank", + "Gelber Trank", + "Gr""\x81""ner Trank", + "Oranger Trank", + "Violetter Trank", + "Regenbogentrank", + "S""\x81\xE1""wasser", + "S""\x81\xE1""wasser", + "Salzwasser", + "Salzwasser", + "Mineralwasser", + "Mineralwasser", + "Magisches Wasser", + "Magisches Wasser", + "Leere Flasche", + "Leere Flasche", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Roter Weisenstein", + "Oranger Weisenstein", + "Gelber Weisenstein", + "Gr""\x81""ner Weisenstein", + "T""\x81""rkiser Weisenstein", + "Blauer Weisenstein", + "Violetter Weisenstein", + "Schwerer Stein", + "K""\x94""nigliche Krone", + "K""\x94""nigliches Zepter", + "Goldschl""\x81""ssel", + "Unbekannter Gegenstand", + "" +}; + +static const StringListProvider k1ItemNamesDOSCDGermanProvider = { ARRAYSIZE(k1ItemNamesDOSCDGerman), k1ItemNamesDOSCDGerman }; + +static const char *const k1TakenStringsDOSCDGerman[2] = { + " aufgenommen.", + " aufgenommen." +}; + +static const StringListProvider k1TakenStringsDOSCDGermanProvider = { ARRAYSIZE(k1TakenStringsDOSCDGerman), k1TakenStringsDOSCDGerman }; + +static const char *const k1PlacedStringsDOSCDGerman[1] = { + " abgelegt." +}; + +static const StringListProvider k1PlacedStringsDOSCDGermanProvider = { ARRAYSIZE(k1PlacedStringsDOSCDGerman), k1PlacedStringsDOSCDGerman }; + +static const char *const k1DroppedStringsDOSCDGerman[1] = { + " fallengelassen." +}; + +static const StringListProvider k1DroppedStringsDOSCDGermanProvider = { ARRAYSIZE(k1DroppedStringsDOSCDGerman), k1DroppedStringsDOSCDGerman }; + +static const char *const k1NoDropStringsDOSCDGerman[2] = { + "Hier kann nichts mehr abgelegt werden.", + "Das kann hier nicht abgelegt werden." +}; + +static const StringListProvider k1NoDropStringsDOSCDGermanProvider = { ARRAYSIZE(k1NoDropStringsDOSCDGerman), k1NoDropStringsDOSCDGerman }; + +static const char *const k1PutDownStringDOSCDGerman[1] = { + "Vielleicht sollte ich es erst hinlegen." +}; + +static const StringListProvider k1PutDownStringDOSCDGermanProvider = { ARRAYSIZE(k1PutDownStringDOSCDGerman), k1PutDownStringDOSCDGerman }; + +static const char *const k1WaitAmuletStringDOSCDGerman[1] = { + "I nehme an, ich mu""\xE1"" warten, bis mein Amulett seine Kraft wiedererlangt." +}; + +static const StringListProvider k1WaitAmuletStringDOSCDGermanProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDGerman), k1WaitAmuletStringDOSCDGerman }; + +static const char *const k1BlackJewelStringDOSCDGerman[1] = { + "Es ist ein Edelstein, aber warum ist er schwarz?" +}; + +static const StringListProvider k1BlackJewelStringDOSCDGermanProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDGerman), k1BlackJewelStringDOSCDGerman }; + +static const char *const k1HealingTipStringDOSCDGerman[1] = { + "Mann, das kann ganz n""\x81""tzlich sein, falls ich mich verletze!" +}; + +static const StringListProvider k1HealingTipStringDOSCDGermanProvider = { ARRAYSIZE(k1HealingTipStringDOSCDGerman), k1HealingTipStringDOSCDGerman }; + +static const char *const k1PoisonGoneStringDOSCDGerman[2] = { + "Erstaunlich!", + "Die Wirkung des Giftes hat nachgelassen!" +}; + +static const StringListProvider k1PoisonGoneStringDOSCDGermanProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDGerman), k1PoisonGoneStringDOSCDGerman }; + +static const char *const k1ThePoisonStringsDOSCDGerman[4] = { + "Das Gift...", + "Ich kann nicht atmen...", + "Ich f""\x81""hle mich nicht besonders wohl...", + "Die Schlange mu""\xE1"" \rgiftig gewesen sein!" +}; + +static const StringListProvider k1ThePoisonStringsDOSCDGermanProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDGerman), k1ThePoisonStringsDOSCDGerman }; + +static const char *const k1FluteStringsDOSCDGerman[2] = { + "Klingt nicht besonders beeindruckend.", + "Die letzte Note war hoch!" +}; + +static const StringListProvider k1FluteStringsDOSCDGermanProvider = { ARRAYSIZE(k1FluteStringsDOSCDGerman), k1FluteStringsDOSCDGerman }; + +static const char *const k1WispJewelStringsDOSCDGerman[2] = { + "Im Moment f""\x81""hle ich mich dazu nicht in der Lage.", + "Ich mu""\xE1"" wahrscheinlich erst mein(e)..." +}; + +static const StringListProvider k1WispJewelStringsDOSCDGermanProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDGerman), k1WispJewelStringsDOSCDGerman }; + +static const char *const k1MagicJewelStringsDOSCDGerman[1] = { + "Das war eigenartig." +}; + +static const StringListProvider k1MagicJewelStringsDOSCDGermanProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDGerman), k1MagicJewelStringsDOSCDGerman }; + +static const char *const k1FlaskFullStringDOSCDGerman[1] = { + "Die Flasche ist bereits voll." +}; + +static const StringListProvider k1FlaskFullStringDOSCDGermanProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDGerman), k1FlaskFullStringDOSCDGerman }; + +static const char *const k1FullFlaskStringDOSCDGerman[4] = { + "Die Flasche ist jetzt mit \rfrischem, klarem Wasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rSalzwasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rMineralwasser gef""\x81""llt.", + "Magisches Wasser." +}; + +static const StringListProvider k1FullFlaskStringDOSCDGermanProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDGerman), k1FullFlaskStringDOSCDGerman }; + +static const char *const k1OutroHomeStringDOSCDGerman[1] = { + "Ab nach Hause" +}; + +static const StringListProvider k1OutroHomeStringDOSCDGermanProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDGerman), k1OutroHomeStringDOSCDGerman }; + +static const char *const k1VeryCleverStringDOSCDGerman[1] = { + "Sehr clever! Aber nichtige Versuche sind zum Scheitern verurteilt." +}; + +static const StringListProvider k1VeryCleverStringDOSCDGermanProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDGerman), k1VeryCleverStringDOSCDGerman }; + +static const char *const k1GUIStringsDOSCDGerman[59] = { + "Die Legende von Kyrandia", + "Ein Spiel laden", + "Dieses Spiel sichern", + "Spielsteuerungen", + "Spiel beenden", + "Spiel wieder aufnehmen", + "Spielsteuerungen", + "Welches Spiel soll noch einmal geladen werden?", + "W""\x84""hlen Sie den Platz zum Sichern aus.", + "[ LEERER PLATZ ]", + "Abbrechen", + "Beschreibung des gesicherten Spiels eingeben.", + "Sichern", + "Ruhe in Frieden, Brandon.", + "Soll das Spiel wirklich beendet werden?", + "XXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXX", + "", + "", + "", + "", + "", + "Hauptmen""\x81", + "An", + "Aus", + "Ja", + "Nein", + "c""\x0F\x17""+r""\x0F\x17""+z""\x0F\x17""+""\x81\x0F\x17""+""\x89\x0F\x17""+""\x98\x0F\x17""+""\xA1\x0F\x17""+""\xAD\x0F\x17""+""\xBC\x0F\x17""+""\xCB\x0F\x17""+""\xD2\x0F\x17""+""\xDA\x0F\x17""+Schrittempo", + "Textgeschwindigkeit", + "Die Musik ist", + "Die Soundeffekte sind", + "Stimmen/Text" +}; + +static const StringListProvider k1GUIStringsDOSCDGermanProvider = { ARRAYSIZE(k1GUIStringsDOSCDGerman), k1GUIStringsDOSCDGerman }; + +static const char *const k1NewGameStringDOSCDGerman[1] = { + "[ EIN NEUES SPIEL ANFANGEN ]" +}; + +static const StringListProvider k1NewGameStringDOSCDGermanProvider = { ARRAYSIZE(k1NewGameStringDOSCDGerman), k1NewGameStringDOSCDGerman }; + +static const char *const k1ConfigStringsDOSCDGerman[12] = { + "am langsamsten", + "langsam", + "normal", + "schnell", + "am schnellsten", + "Nur Text", + "Nur Stimmen", + "Stimmen & Text", + "am langsamsten", + "normal", + "schnell", + "anklickbar" +}; + +static const StringListProvider k1ConfigStringsDOSCDGermanProvider = { ARRAYSIZE(k1ConfigStringsDOSCDGerman), k1ConfigStringsDOSCDGerman }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cd_italian.h b/devtools/create_kyradat/resources/lok_dos_cd_italian.h new file mode 100644 index 0000000000..0fa8ee66e3 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cd_italian.h @@ -0,0 +1,346 @@ +static const char *const k1IntroStringsDOSCDItalian[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Salute, Kallak.", + "...Potente guida dei Mistici Reali! ", + "Ti ho spaventato? ", + "Malcolm!", + "Ho saputo ieri della tua fuga. ", + "E ti stavo aspettando. ", + "Dovrei forse aver fretta? ", + "Io governo queste terre, ora! ", + "La vostra magia mi fa il solletico. ", + "Allora uccidimi! ", + "Ma sappi che ho ancora qualche asso nella manica.", + "Avevo intenzione di fartela pagare... ", + "...Ora ti ho trasformato in pietra ", + "...tutto tranne i tuoi occhi ", + "Non verso lacrime per Kyrandia... ", + "...per""\x95"" non posso negarti le tue. ", + "Malcolm il Buffone ""\x8A"" libero! ", + "Ora controlla la Kyragemma... ", + "..\nfonte di tutta la magia di Kyrandia! ", + "", + "Come hai osato farmi lo sgambetto! ", + "Anzi, ho qualcosa di speciale per te... ", + "Un bel trucchetto! ", + "Ma ti avverto... ", + "Non saltare sull'albero! ", + "Non saltare su QUESTO albero, piccoletto! ", + "Boo!", + "Cos""\x8D"" ""\x8A"" pi""\x97"" divertente! ", + "...non credete? ", + "Ha ha HA...", + "Le mie dita! Riesco a muoverle! ", + "E' bello essere VIVI! ", + "Brandon!", + "NONNO!!! Ce l'abbiamo fatta!", + "NO! Ce l'HAI fatta! ", + "Lunga vita al R""\x8A"" Brandon! ", + "Lunga vita ai Mistici Reali! ", + "Ed ora, Ricostruiamo Kyrandia insieme! ", + "Ben detto! ", + "Come prima cosa...", + "...proclamo i Sandali, calzatura ufficiale di Kyrandia!!! ", + "Ben fatto, Brandon!", + "La terra non piange pi""\x97""...", + "Ci hai salvato tutti! ", + "Cara Brynn... ", + "Malcolm ""\x8A"" fuggito! ", + "Presto verr""\x85"" a prendermi. ", + "Ti prego, aiuta Brandon... ", + "" +}; + +static const StringListProvider k1IntroStringsDOSCDItalianProvider = { ARRAYSIZE(k1IntroStringsDOSCDItalian), k1IntroStringsDOSCDItalian }; + +static const char *const k1ItemNamesDOSCDItalian[107] = { + "Biglia", + "Ametista", + "Acquamarina", + "Diamante", + "Smeraldo", + "Perla", + "Rubino", + "Olivina", + "Zaffiro", + "Opale", + "Topazio", + "Onice", + "Pietra di Sole", + "Pietra di Luna", + "Pietra di Arcobaleno", + "Magnetite", + "Rosa", + "Tulipano", + "Orchidea", + "Rosa d'Argento", + "Statuetta d'Argento", + "Moneta d'Argento", + "Moneta d'Oro", + "Anello d'Oro", + "Calice Reale", + "Pigna", + "Ghianda", + "Noce", + "BaccheInfuocate perenni", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Pesce", + "Lisca di Pesce", + "Zampa di Montone", + "Osso", + "Mela", + "Torsolo di Mela", + "Mirtilli", + "Fungo", + "Messaggio", + "Marmo", + "Sega", + "Croce Ansata Egiziana", + "Piuma", + "Uovo", + "Foglia", + "Trifoglio", + "Stella Cadente", + "Sfera di Cristallo", + "Lacrima", + "Specchio", + "Ghiacciolo", + "Flauto", + "Clessidra", + "Chiave di Ferro", + "Chiave di Giada", + "Chiave id Ossidiana", + "Pozione Rossa", + "Pozione Rossa", + "Pozione Blu", + "Pozione Blu", + "Pozione Gialla", + "Pozione Gialla", + "Pozione Verde", + "Pozione Arancione", + "Pozione Viola", + "Pozione Arcobaleno", + "Acqua Fresca", + "Acqua Fresca", + "Acqua Salata", + "Acqua Salata", + "Acqua Minerale", + "Acqua Minerale", + "Acqua Magica", + "Acqua Magica", + "Bottiglietta vuota", + "Bottiglietta Vuota", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pezzo", + "Pezzo", + "Pezzo", + "Pezzo", + "Pezzo", + "Magipietra Rossa", + "Magipietra Arancione", + "Magipietra Gialla", + "Magipietra Verde", + "Magipietra Blu-Verde", + "Magipietra Blu", + "Magipietra Porpora", + "Roccia pesante", + "Corona Reale", + "Scettro Reale", + "Chiave d'Oro", + "?????" +}; + +static const StringListProvider k1ItemNamesDOSCDItalianProvider = { ARRAYSIZE(k1ItemNamesDOSCDItalian), k1ItemNamesDOSCDItalian }; + +static const char *const k1TakenStringsDOSCDItalian[2] = { + " su ", + " su " +}; + +static const StringListProvider k1TakenStringsDOSCDItalianProvider = { ARRAYSIZE(k1TakenStringsDOSCDItalian), k1TakenStringsDOSCDItalian }; + +static const char *const k1PlacedStringsDOSCDItalian[2] = { + " giu' ", + " giu' " +}; + +static const StringListProvider k1PlacedStringsDOSCDItalianProvider = { ARRAYSIZE(k1PlacedStringsDOSCDItalian), k1PlacedStringsDOSCDItalian }; + +static const char *const k1DroppedStringsDOSCDItalian[2] = { + " giu' ", + " giu' " +}; + +static const StringListProvider k1DroppedStringsDOSCDItalianProvider = { ARRAYSIZE(k1DroppedStringsDOSCDItalian), k1DroppedStringsDOSCDItalian }; + +static const char *const k1NoDropStringsDOSCDItalian[2] = { + "Non puoi pi""\x97"" lasciare nulla qui. ", + "Non puoi metterlo l""\x8D"". " +}; + +static const StringListProvider k1NoDropStringsDOSCDItalianProvider = { ARRAYSIZE(k1NoDropStringsDOSCDItalian), k1NoDropStringsDOSCDItalian }; + +static const char *const k1PutDownStringDOSCDItalian[1] = { + "Forse devo prima mettere gi""\x97"" questo. " +}; + +static const StringListProvider k1PutDownStringDOSCDItalianProvider = { ARRAYSIZE(k1PutDownStringDOSCDItalian), k1PutDownStringDOSCDItalian }; + +static const char *const k1WaitAmuletStringDOSCDItalian[1] = { + "Credo di dover attendere che l'amuleto racquisti i suoi poteri. " +}; + +static const StringListProvider k1WaitAmuletStringDOSCDItalianProvider = { ARRAYSIZE(k1WaitAmuletStringDOSCDItalian), k1WaitAmuletStringDOSCDItalian }; + +static const char *const k1BlackJewelStringDOSCDItalian[1] = { + "E' un gioiello, ma perch""\x8A"" mai ""\x8A"" nero? " +}; + +static const StringListProvider k1BlackJewelStringDOSCDItalianProvider = { ARRAYSIZE(k1BlackJewelStringDOSCDItalian), k1BlackJewelStringDOSCDItalian }; + +static const char *const k1HealingTipStringDOSCDItalian[1] = { + "Grande, mi pu""\x95"" essere utile in caso mi dovessi ferire" +}; + +static const StringListProvider k1HealingTipStringDOSCDItalianProvider = { ARRAYSIZE(k1HealingTipStringDOSCDItalian), k1HealingTipStringDOSCDItalian }; + +static const char *const k1PoisonGoneStringDOSCDItalian[2] = { + "Grande!", + "L'effetto del veleno ""\x8A"" sparito! " +}; + +static const StringListProvider k1PoisonGoneStringDOSCDItalianProvider = { ARRAYSIZE(k1PoisonGoneStringDOSCDItalian), k1PoisonGoneStringDOSCDItalian }; + +static const char *const k1ThePoisonStringsDOSCDItalian[4] = { + "Il veleno...", + "Non riesco a respirare... ", + "Non mi sento molto bene... ", + "\xAD""E' un serpente velenoso! " +}; + +static const StringListProvider k1ThePoisonStringsDOSCDItalianProvider = { ARRAYSIZE(k1ThePoisonStringsDOSCDItalian), k1ThePoisonStringsDOSCDItalian }; + +static const char *const k1FluteStringsDOSCDItalian[2] = { + "Non ha un gran bel suono..", + "Quest'ultima nota era piuttosto ALTINA! " +}; + +static const StringListProvider k1FluteStringsDOSCDItalianProvider = { ARRAYSIZE(k1FluteStringsDOSCDItalian), k1FluteStringsDOSCDItalian }; + +static const char *const k1WispJewelStringsDOSCDItalian[2] = { + "Non credo sia il caso in questo momento. ", + "Dovrei prima posare questo. " +}; + +static const StringListProvider k1WispJewelStringsDOSCDItalianProvider = { ARRAYSIZE(k1WispJewelStringsDOSCDItalian), k1WispJewelStringsDOSCDItalian }; + +static const char *const k1MagicJewelStringsDOSCDItalian[1] = { + "Mi sento strano." +}; + +static const StringListProvider k1MagicJewelStringsDOSCDItalianProvider = { ARRAYSIZE(k1MagicJewelStringsDOSCDItalian), k1MagicJewelStringsDOSCDItalian }; + +static const char *const k1FlaskFullStringDOSCDItalian[1] = { + "La Bottiglia ""\x8A"" gi""\xA0"" piena " +}; + +static const StringListProvider k1FlaskFullStringDOSCDItalianProvider = { ARRAYSIZE(k1FlaskFullStringDOSCDItalian), k1FlaskFullStringDOSCDItalian }; + +static const char *const k1FullFlaskStringDOSCDItalian[4] = { + "La bottiglietta ""\x8A"" piena\rdi acqua gassata ", + "L'ampolla contiene acqua salata ", + "L'ampolla contiene acqua minerale ", + "Acqua magica" +}; + +static const StringListProvider k1FullFlaskStringDOSCDItalianProvider = { ARRAYSIZE(k1FullFlaskStringDOSCDItalian), k1FullFlaskStringDOSCDItalian }; + +static const char *const k1OutroHomeStringDOSCDItalian[1] = { + "Casa " +}; + +static const StringListProvider k1OutroHomeStringDOSCDItalianProvider = { ARRAYSIZE(k1OutroHomeStringDOSCDItalian), k1OutroHomeStringDOSCDItalian }; + +static const char *const k1VeryCleverStringDOSCDItalian[1] = { + "Intelligente! ma ""\x8A"" tutto inutile... " +}; + +static const StringListProvider k1VeryCleverStringDOSCDItalianProvider = { ARRAYSIZE(k1VeryCleverStringDOSCDItalian), k1VeryCleverStringDOSCDItalian }; + +static const char *const k1GUIStringsDOSCDItalian[35] = { + "The Legend of Kyrandia", + "Caricare Gioco", + " Salvare Gioco ", + " Impostazioni ", + " Uscire ", + " Torna al Gioco ", + " Impostazioni ", + "Quale partita vuoi caricare? ", + "Seleziona una posizione: ", + "[ SPAZIO VUOTO ] ", + " Esci ", + "Immettere una descrizione per il gioco: ", + " OK ", + "Riposa in pace Brandon. ", + " Sei sicuro di voler uscire? ", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXX", + "", + "", + "", + "", + "", + " Indietro ", + "ON ", + "OFF ", + "Si ", + "No ", + "?""\x0F"")+F""\x0F"")+L""\x0F"")+T""\x0F"")+[""\x0F"")+h""\x0F"")+y""\x0F"")+""\x89\x0F"")+""\x97\x0F"")+""\x9D\x0F"")+""\xA5\x0F"")+""\xAC\x0F"")+Velocit""\x85"" Camminata ", + "Velocit""\x85"" Testo ", + "Musica ", + "Effetti Sonori", + "Voce/Testo" +}; + +static const StringListProvider k1GUIStringsDOSCDItalianProvider = { ARRAYSIZE(k1GUIStringsDOSCDItalian), k1GUIStringsDOSCDItalian }; + +static const char *const k1NewGameStringDOSCDItalian[1] = { + "[COMINCIARE UN NUOVO GIOCO] " +}; + +static const StringListProvider k1NewGameStringDOSCDItalianProvider = { ARRAYSIZE(k1NewGameStringDOSCDItalian), k1NewGameStringDOSCDItalian }; + +static const char *const k1ConfigStringsDOSCDItalian[12] = { + "Lumaca", + "Lenta", + "Normale", + "Veloce", + "Molto Veloce", + "Solamente Testo ", + "Solamente Voce ", + "Voce e Testo ", + "Lenta", + "Normale", + "Veloce", + "Cliccabile " +}; + +static const StringListProvider k1ConfigStringsDOSCDItalianProvider = { ARRAYSIZE(k1ConfigStringsDOSCDItalian), k1ConfigStringsDOSCDItalian }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cddemo.h b/devtools/create_kyradat/resources/lok_dos_cddemo.h new file mode 100644 index 0000000000..b2c4ce9863 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cddemo.h @@ -0,0 +1,593 @@ +static const byte k1KallakWritingSeqDOSCDDemo[2053] = { + 0x00, 0x00, 0x01, 0x11, 0x1D, 0x1A, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, 0x00, + 0x24, 0x2B, 0x24, 0x2C, 0x24, 0x2D, 0x24, 0x2E, + 0x1C, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x95, 0x00, 0x20, 0x0A, 0x17, 0x22, + 0x2B, 0x1E, 0x12, 0x2E, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0E, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, 0x19, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x1F, 0x22, + 0x2C, 0x1E, 0x12, 0x2F, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x1F, 0x22, 0x2D, 0x1E, 0x12, 0x30, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, + 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, + 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, + 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, + 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, + 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, + 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, + 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, + 0x1F, 0x07, 0x3C, 0x00, 0x22, 0x2E, 0x1E, 0x12, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x08, 0x06, + 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x08, 0x06, 0x00, 0x07, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x09, 0x15, + 0x07, 0x1E, 0x00, 0x0B, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x08, 0x0A, + 0x00, 0x0C, 0x01, 0x02, 0x00, 0x1B, 0x1F, 0x07, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x1B, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x08, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x09, 0x07, 0x3C, 0x00, 0x1B, + 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, + 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, + 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, + 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, + 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, + 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, + 0x08, 0x06, 0x00, 0x16, 0x1F, 0x1C, 0x01, 0x07, + 0x3C, 0x00, 0x01, 0x00, 0x20 +}; + +static const ByteProvider k1KallakWritingSeqDOSCDDemoProvider = { ARRAYSIZE(k1KallakWritingSeqDOSCDDemo), k1KallakWritingSeqDOSCDDemo }; + +static const byte k1MalcolmTreeSeqDOSCDDemo[560] = { + 0x23, 0x00, 0x01, 0x00, 0x1D, 0x11, 0x24, 0x1C, + 0x24, 0x13, 0x24, 0x14, 0x24, 0x15, 0x24, 0x16, + 0x24, 0x17, 0x24, 0x19, 0x24, 0x1B, 0x1A, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, + 0x01, 0x10, 0x01, 0x0A, 0x02, 0x01, 0x00, 0x00, + 0x00, 0x10, 0x1C, 0x03, 0x0A, 0x1B, 0x1E, 0x17, + 0x1B, 0x1F, 0x0B, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x1B, 0x19, 0x0B, + 0x01, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x01, + 0x0D, 0x00, 0x22, 0x1C, 0x13, 0x1F, 0x50, 0x00, + 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x02, 0x10, 0x00, 0x14, + 0x1B, 0x1F, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x1B, 0x24, 0x1B, 0x1F, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x1B, 0x1E, 0x0B, 0x03, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x03, 0x15, 0x00, 0x22, + 0x13, 0x13, 0x16, 0x50, 0x00, 0x2D, 0x05, 0x1B, + 0x1F, 0x0B, 0x04, 0x03, 0x01, 0x07, 0x04, 0x00, + 0x0C, 0x04, 0x08, 0x00, 0x02, 0x01, 0x64, 0x00, + 0x00, 0x10, 0x1B, 0x1A, 0x1B, 0x1E, 0x0B, 0x05, + 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x05, 0x09, + 0x00, 0x14, 0x06, 0x3C, 0x00, 0x13, 0x17, 0x50, + 0x00, 0x2D, 0x05, 0x0B, 0x06, 0x03, 0x01, 0x07, + 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x22, 0x14, + 0x07, 0x1E, 0x00, 0x0B, 0x06, 0x03, 0x01, 0x07, + 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x1B, 0x1A, + 0x1B, 0x1F, 0x0B, 0x07, 0x03, 0x01, 0x07, 0x04, + 0x00, 0x0C, 0x07, 0x06, 0x00, 0x1B, 0x1E, 0x07, + 0x1E, 0x00, 0x22, 0x15, 0x13, 0x18, 0x50, 0x00, + 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x0B, 0x08, 0x04, 0x01, 0x07, 0x06, 0x00, + 0x04, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0D, + 0x08, 0x01, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, + 0x06, 0x78, 0x00, 0x0B, 0x09, 0x03, 0x01, 0x07, + 0x06, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x1B, 0x1B, + 0x0B, 0x0A, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, + 0x0A, 0x09, 0x00, 0x06, 0x14, 0x00, 0x22, 0x16, + 0x13, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, + 0x0B, 0x0B, 0x03, 0x01, 0x07, 0x06, 0x00, 0x04, + 0x01, 0x07, 0x06, 0x00, 0x04, 0x01, 0x07, 0x06, + 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, + 0x07, 0x06, 0x00, 0x0C, 0x0B, 0x01, 0x00, 0x03, + 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, + 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x22, 0x17, + 0x13, 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x0C, + 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x0C, 0x12, + 0x00, 0x03, 0x01, 0x01, 0x01, 0x14, 0x18, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x10, 0x22, 0x19, 0x13, 0x1C, 0x50, 0x00, + 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x03, 0x02, 0x03, + 0x02, 0x07, 0x06, 0x00, 0x14, 0x1B, 0x1C, 0x0B, + 0x0F, 0x03, 0x02, 0x07, 0x06, 0x00, 0x0C, 0x0F, + 0x0D, 0x00, 0x22, 0x1B, 0x13, 0x1D, 0x50, 0x00, + 0x2D, 0x05, 0x0B, 0x10, 0x03, 0x02, 0x07, 0x04, + 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, 0x03, 0x02, + 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, + 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, + 0x04, 0x00, 0x0D, 0x10, 0x02, 0x00, 0x13, 0x1E, + 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x11, 0x03, 0x02, + 0x07, 0x04, 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, + 0x03, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, + 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, + 0x02, 0x07, 0x04, 0x00, 0x0D, 0x11, 0x01, 0x00, + 0x03, 0x02, 0x07, 0x04, 0x00, 0x07, 0xB4, 0x00, + 0x16, 0x1C, 0x01, 0x01, 0x01, 0x01, 0x02, 0x20 +}; + +static const ByteProvider k1MalcolmTreeSeqDOSCDDemoProvider = { ARRAYSIZE(k1MalcolmTreeSeqDOSCDDemo), k1MalcolmTreeSeqDOSCDDemo }; + +static const byte k1WestwoodLogoSeqDOSCDDemo[75] = { + 0x00, 0x03, 0x01, 0x1D, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x19, 0x01, 0x07, 0x06, 0x00, 0x07, + 0x3C, 0x00, 0x1B, 0x14, 0x0B, 0x00, 0x03, 0x03, + 0x19, 0x01, 0x0C, 0x00, 0x08, 0x00, 0x07, 0x3C, + 0x00, 0x1B, 0x27, 0x0B, 0x01, 0x03, 0x03, 0x19, + 0x01, 0x0C, 0x01, 0x0B, 0x00, 0x07, 0x78, 0x00, + 0x1B, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x19, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x04, + 0x03, 0x19, 0x01, 0x0C, 0x02, 0x09, 0x00, 0x16, + 0x01, 0x03, 0x20 +}; + +static const ByteProvider k1WestwoodLogoSeqDOSCDDemoProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOSCDDemo), k1WestwoodLogoSeqDOSCDDemo }; + +static const byte k1KyrandiaLogoSeqDOSCDDemo[166] = { + 0x18, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1D, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x07, + 0x06, 0x00, 0x19, 0x04, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, + 0x03, 0x06, 0x19, 0x00, 0x0B, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, + 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x1B, 0x27, + 0x0B, 0x01, 0x03, 0x06, 0x19, 0x00, 0x0C, 0x01, + 0x07, 0x00, 0x06, 0xF0, 0x00, 0x1B, 0x27, 0x0B, + 0x02, 0x04, 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0F, + 0x00, 0x07, 0x78, 0x00, 0x07, 0xB4, 0x00, 0x24, + 0x37, 0x24, 0x38, 0x24, 0x39, 0x24, 0x3A, 0x24, + 0x3B, 0x24, 0x3C, 0x02, 0x06, 0x0D, 0x00, 0x00, + 0x00, 0x19, 0x00, 0x07, 0x06, 0x00, 0x07, 0x3C, + 0x00, 0x22, 0x1C, 0x1B, 0x14, 0x0B, 0x02, 0x04, + 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0C, 0x00, 0x07, + 0x78, 0x00, 0x16, 0x01, 0x06, 0x20 +}; + +static const ByteProvider k1KyrandiaLogoSeqDOSCDDemoProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOSCDDemo), k1KyrandiaLogoSeqDOSCDDemo }; + +static const byte k1KallakMalcolmSeqDOSCDDemo[696] = { + 0x00, 0x04, 0x01, 0x1D, 0x24, 0x00, 0x24, 0x01, + 0x24, 0x02, 0x24, 0x0B, 0x24, 0x0C, 0x11, 0x1A, + 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, + 0x0F, 0x03, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x88, + 0x3F, 0x01, 0xC7, 0x0C, 0x02, 0x1C, 0x00, 0x02, + 0x04, 0x00, 0x10, 0x00, 0x3A, 0x0A, 0x1C, 0x00, + 0x1C, 0x05, 0x17, 0x1B, 0x23, 0x0B, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x00, 0x23, 0x00, + 0x22, 0x00, 0x13, 0x02, 0x50, 0x00, 0x3A, 0x05, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0B, 0x01, 0x03, 0x04, 0x08, 0x0E, + 0x00, 0x0C, 0x01, 0x04, 0x00, 0x06, 0x3C, 0x00, + 0x22, 0x01, 0x13, 0x03, 0x50, 0x00, 0x3A, 0x05, + 0x0B, 0x02, 0x03, 0x04, 0x08, 0x06, 0x00, 0x0C, + 0x02, 0x18, 0x00, 0x06, 0x3C, 0x00, 0x22, 0x02, + 0x13, 0x04, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x03, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x03, 0x0A, + 0x00, 0x06, 0x3C, 0x00, 0x24, 0x04, 0x24, 0x05, + 0x24, 0x03, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x22, 0x03, 0x13, 0x05, + 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x0A, + 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x03, 0x04, + 0x08, 0x0A, 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, + 0x03, 0x04, 0x08, 0x0A, 0x00, 0x07, 0x1E, 0x00, + 0x22, 0x04, 0x13, 0x06, 0xF0, 0x00, 0x3A, 0x0F, + 0x0B, 0x04, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x04, 0x12, 0x00, 0x07, 0x14, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x06, 0x3C, 0x00, + 0x22, 0x05, 0x13, 0x07, 0xF0, 0x00, 0x3A, 0x0F, + 0x0B, 0x05, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x05, 0x12, 0x00, 0x06, 0x3C, 0x00, 0x24, 0x06, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x22, 0x06, 0x13, 0x08, 0x50, 0x00, + 0x3A, 0x05, 0x0B, 0x06, 0x03, 0x04, 0x08, 0x08, + 0x00, 0x0C, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, + 0x24, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x22, 0x07, 0x13, 0x09, + 0x50, 0x00, 0x3A, 0x05, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x0B, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x0C, 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x22, + 0x08, 0x03, 0x04, 0x08, 0x07, 0x00, 0x13, 0x0A, + 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x08, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x0C, 0x08, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x24, 0x0A, 0x22, 0x09, 0x13, 0x0B, + 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x07, 0x3C, 0x00, 0x22, 0x0A, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x13, 0x0C, 0xF0, 0x00, 0x3A, + 0x0F, 0x0B, 0x09, 0x03, 0x04, 0x08, 0x05, 0x00, + 0x0C, 0x09, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x24, + 0x0B, 0x24, 0x0C, 0x24, 0x0D, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, + 0x08, 0x07, 0x00, 0x22, 0x0B, 0x13, 0x0D, 0x50, + 0x00, 0x3A, 0x05, 0x0B, 0x0A, 0x03, 0x04, 0x08, + 0x08, 0x00, 0x0C, 0x0A, 0x0E, 0x00, 0x06, 0x3C, + 0x00, 0x0B, 0x0B, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x0C, 0x0B, 0x02, 0x00, 0x1B, 0x20, 0x0B, 0x0C, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x0C, 0x06, + 0x00, 0x1B, 0x21, 0x0B, 0x0D, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0C, 0x0D, 0x0C, 0x00, 0x1B, 0x22, + 0x0B, 0x0E, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, + 0x0E, 0x0B, 0x00, 0x22, 0x0C, 0x13, 0x0E, 0x50, + 0x00, 0x3A, 0x05, 0x0B, 0x0F, 0x03, 0x04, 0x08, + 0x07, 0x00, 0x0C, 0x0F, 0x09, 0x00, 0x06, 0x3C, + 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0D, + 0x13, 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x10, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x10, 0x09, + 0x00, 0x06, 0x3C, 0x00, 0x24, 0x0E, 0x24, 0x0F, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0E, 0x13, + 0x10, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x11, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x11, 0x0F, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, + 0x22, 0x0F, 0x13, 0x11, 0x50, 0x00, 0x3A, 0x05, + 0x0B, 0x12, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, + 0x12, 0x14, 0x00, 0x07, 0x3C, 0x00, 0x0B, 0x13, + 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, + 0x00, 0x1B, 0x23, 0x22, 0x1C, 0x0B, 0x13, 0x03, + 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, 0x00, + 0x02, 0x04, 0x45, 0x10, 0x00, 0x3A, 0x14, 0x07, + 0x78, 0x00, 0x16, 0x1C, 0x01, 0x01, 0x04, 0x20 +}; + +static const ByteProvider k1KallakMalcolmSeqDOSCDDemoProvider = { ARRAYSIZE(k1KallakMalcolmSeqDOSCDDemo), k1KallakMalcolmSeqDOSCDDemo }; + +static const byte k1ForestSeqDOSCDDemo[627] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1D, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0B, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x0F, 0x00, + 0x22, 0x37, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x1B, 0x16, 0x03, 0x07, + 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, + 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, + 0x38, 0x0B, 0x09, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x09, 0x21, 0x00, 0x1B, 0x16, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, + 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, + 0x05, 0x04, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x22, 0x39, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x05, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x06, 0x98, 0x00, + 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x25, + 0x0B, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x09, + 0x00, 0x0B, 0x06, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x06, 0x0E, 0x00, 0x22, 0x3A, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x1B, 0x17, 0x0B, 0x01, + 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, + 0x07, 0x09, 0x00, 0x0C, 0x01, 0x0D, 0x00, 0x1B, + 0x25, 0x0B, 0x07, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x0C, 0x07, 0x08, 0x00, 0x03, 0x07, + 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, + 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, + 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x1B, 0x18, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x22, + 0x3B, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, + 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, + 0x19, 0x03, 0x07, 0x09, 0x00, 0x07, 0x12, 0x00, + 0x1B, 0x25, 0x0B, 0x02, 0x03, 0x07, 0x03, 0x05, + 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, + 0x02, 0x07, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, + 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, + 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, + 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, 0x3C, + 0x0B, 0x03, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, + 0x00, 0x0C, 0x03, 0x23, 0x00, 0x16, 0x01, 0x07, + 0x01, 0x05, 0x20 +}; + +static const ByteProvider k1ForestSeqDOSCDDemoProvider = { ARRAYSIZE(k1ForestSeqDOSCDDemo), k1ForestSeqDOSCDDemo }; + +static const char *const k1IntroCPSStringsDOSCDDemo[2] = { + "gemcuti.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsDOSCDDemoProvider = { ARRAYSIZE(k1IntroCPSStringsDOSCDDemo), k1IntroCPSStringsDOSCDDemo }; + +static const char *const k1IntroCOLStringsDOSCDDemo[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsDOSCDDemoProvider = { ARRAYSIZE(k1IntroCOLStringsDOSCDDemo), k1IntroCOLStringsDOSCDDemo }; + +static const char *const k1IntroWSAStringsDOSCDDemo[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsDOSCDDemoProvider = { ARRAYSIZE(k1IntroWSAStringsDOSCDDemo), k1IntroWSAStringsDOSCDDemo }; + +static const char *const k1AudioTracksIntroDOSCDDemo[2] = { + "intro", + "intro" +}; + +static const StringListProvider k1AudioTracksIntroDOSCDDemoProvider = { ARRAYSIZE(k1AudioTracksIntroDOSCDDemo), k1AudioTracksIntroDOSCDDemo }; + diff --git a/devtools/create_kyradat/resources/lok_dos_cddemo_english.h b/devtools/create_kyradat/resources/lok_dos_cddemo_english.h new file mode 100644 index 0000000000..538bab63b3 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_cddemo_english.h @@ -0,0 +1,56 @@ +static const char *const k1IntroStringsDOSCDDemoEnglish[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak...", + "...Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcolm!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land!", + "Your puny curse restrains me naught.", + "So, slay me now!", + "I have little magic left.", + "I mean to harm you, have no doubt...", + "...Now you are stone...", + "...Yet I leave your eyes.", + "I shed no tears for Kyrandia...", + "...But cannot deny you yours.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "How dare you trip ME!", + "But no, something special for you...", + "A humorous hex!", + "But I shall give fair warning.", + "Don't jump on THAT tree!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way...", + "...Is it not?", + "Ha ha ha...", + "Aren't fingers wonderful?", + "It's great to be alive!", + "Brandon!", + "Grandfather! We did it!", + "No! YOU did it!", + "Long live King Brandon!", + "Long live the Royal Mystics!", + "Now, let's go put Kyrandia back together!", + "Good idea!", + "As my first Royal Proclamation...", + "I name sandals as the official footwear of Kyrandia!", + "Well done, Brandon!", + "The Land no longer weeps...", + "And your friends have been restored!", + "Dear Brynn...", + "Malcolm has broken free!", + "Soon he will come for me.", + "Please help Brandon...", + "" +}; + +static const StringListProvider k1IntroStringsDOSCDDemoEnglishProvider = { ARRAYSIZE(k1IntroStringsDOSCDDemoEnglish), k1IntroStringsDOSCDDemoEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_dos_demo.h b/devtools/create_kyradat/resources/lok_dos_demo.h new file mode 100644 index 0000000000..c8f09337de --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_demo.h @@ -0,0 +1,112 @@ +static const byte k1WestwoodLogoSeqDOSDemo[68] = { + 0x00, 0x02, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x00, 0x03, 0x02, 0x16, 0x01, 0x0B, + 0x00, 0x08, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x01, + 0x03, 0x02, 0x16, 0x01, 0x0B, 0x01, 0x0B, 0x00, + 0x06, 0x78, 0x00, 0x02, 0x02, 0x0A, 0x00, 0x00, + 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, + 0x04, 0x02, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, + 0x13, 0x01, 0x02, 0x1A +}; + +static const ByteProvider k1WestwoodLogoSeqDOSDemoProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOSDemo), k1WestwoodLogoSeqDOSDemo }; + +static const byte k1KyrandiaLogoSeqDOSDemo[84] = { + 0x15, 0x00, 0x02, 0x00, 0x05, 0x01, 0x02, 0x05, + 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x05, + 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x01, 0x03, 0x05, 0x16, 0x00, 0x0B, + 0x01, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x02, + 0x04, 0x05, 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, + 0x02, 0x05, 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, + 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x02, + 0x04, 0x05, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x05, 0x1A +}; + +static const ByteProvider k1KyrandiaLogoSeqDOSDemoProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOSDemo), k1KyrandiaLogoSeqDOSDemo }; + +static const char *const k1IntroCPSStringsDOSDemo[1] = { + "mal-kal.cps" +}; + +static const StringListProvider k1IntroCPSStringsDOSDemoProvider = { ARRAYSIZE(k1IntroCPSStringsDOSDemo), k1IntroCPSStringsDOSDemo }; + +static const char *const k1IntroCOLStringsDOSDemo[7] = { + "kallak.col", + "demo1.col", + "demo2.col", + "demo3.col", + "demo4.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsDOSDemoProvider = { ARRAYSIZE(k1IntroCOLStringsDOSDemo), k1IntroCOLStringsDOSDemo }; + +static const char *const k1IntroWSAStringsDOSDemo[7] = { + "kallak.wsa", + "demo1.wsa", + "westwood.wsa", + "demo2.wsa", + "demo3.wsa", + "kyrandia.wsa", + "demo4.wsa" +}; + +static const StringListProvider k1IntroWSAStringsDOSDemoProvider = { ARRAYSIZE(k1IntroWSAStringsDOSDemo), k1IntroWSAStringsDOSDemo }; + +static const byte k1Demo1SeqDOSDemo[38] = { + 0x00, 0x01, 0x00, 0x0C, 0x01, 0x02, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x14, 0x06, 0x01, 0x00, + 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x01, 0x06, + 0x04, 0x00, 0x0B, 0x00, 0x19, 0x00, 0x06, 0x78, + 0x00, 0x13, 0x0E, 0x01, 0x01, 0x1A +}; + +static const ByteProvider k1Demo1SeqDOSDemoProvider = { ARRAYSIZE(k1Demo1SeqDOSDemo), k1Demo1SeqDOSDemo }; + +static const byte k1Demo2SeqDOSDemo[35] = { + 0x00, 0x03, 0x00, 0x0C, 0x02, 0x02, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x14, 0x06, 0x01, 0x00, + 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x03, 0x06, + 0x04, 0x00, 0x0B, 0x00, 0x71, 0x00, 0x13, 0x0E, + 0x01, 0x03, 0x1A +}; + +static const ByteProvider k1Demo2SeqDOSDemoProvider = { ARRAYSIZE(k1Demo2SeqDOSDemo), k1Demo2SeqDOSDemo }; + +static const byte k1Demo3SeqDOSDemo[89] = { + 0x00, 0x04, 0x00, 0x0C, 0x03, 0x02, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x14, 0x0A, 0x00, 0x03, + 0x04, 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, + 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, + 0x07, 0x00, 0x0B, 0x00, 0x0E, 0x00, 0x03, 0x04, + 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, + 0x0A, 0x01, 0x03, 0x04, 0x06, 0x07, 0x00, 0x0B, + 0x01, 0x0B, 0x00, 0x0A, 0x02, 0x02, 0x04, 0x0F, + 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x03, 0x04, + 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, + 0x0B, 0x02, 0x13, 0x00, 0x13, 0x0E, 0x01, 0x04, + 0x1A +}; + +static const ByteProvider k1Demo3SeqDOSDemoProvider = { ARRAYSIZE(k1Demo3SeqDOSDemo), k1Demo3SeqDOSDemo }; + +static const byte k1Demo4SeqDOSDemo[32] = { + 0x00, 0x06, 0x00, 0x0C, 0x04, 0x02, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x09, 0x14, 0x0A, 0x00, 0x03, + 0x06, 0x06, 0x04, 0x00, 0x0B, 0x00, 0x39, 0x00, + 0x06, 0x5A, 0x00, 0x13, 0x0E, 0x01, 0x06, 0x1A +}; + +static const ByteProvider k1Demo4SeqDOSDemoProvider = { ARRAYSIZE(k1Demo4SeqDOSDemo), k1Demo4SeqDOSDemo }; + +static const char *const k1AudioTracksIntroDOSDemo[1] = { + "intro" +}; + +static const StringListProvider k1AudioTracksIntroDOSDemoProvider = { ARRAYSIZE(k1AudioTracksIntroDOSDemo), k1AudioTracksIntroDOSDemo }; + diff --git a/devtools/create_kyradat/resources/lok_dos_demo_english.h b/devtools/create_kyradat/resources/lok_dos_demo_english.h new file mode 100644 index 0000000000..f974718856 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_demo_english.h @@ -0,0 +1,37 @@ +static const char *const k1IntroStringsDOSDemoEnglish[32] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak,", + "Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcom!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land.", + "Your puny curse restrains me naught.", + "So, slay me now.", + "I have little magic left.", + "I mean to harm you, have no doubt,", + "Now you are stone,", + "Yet I leave your eyes.", + "I shed no tears for Kyrandia,", + "But cannot deny you yours.", + "Malcom the jester has broken free.", + "He now controls the Kyragem", + "source of all magic in Kyrandia.", + "", + "How dare you trip ME!", + "But no,...something special for you.", + "A humorous hex!", + "But, I am fair!", + "And I shall give fair warning!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way,", + "Is it not?", + "Ha ha ha..." +}; + +static const StringListProvider k1IntroStringsDOSDemoEnglishProvider = { ARRAYSIZE(k1IntroStringsDOSDemoEnglish), k1IntroStringsDOSDemoEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_dos_english.h b/devtools/create_kyradat/resources/lok_dos_english.h new file mode 100644 index 0000000000..d53bad80af --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_english.h @@ -0,0 +1,335 @@ +static const char *const k1IntroStringsDOSEnglish[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak...", + "...Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcolm!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land!", + "Your puny curse restrains me naught.", + "So, slay me now!", + "I have little magic left.", + "I mean to harm you, have no doubt...", + "...Now you are stone...", + "...Yet I leave your eyes.", + "I shed no tears for Kyrandia...", + "...But cannot deny you yours.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "How dare you trip ME!", + "But no, something special for you...", + "A humorous hex!", + "But I shall give fair warning.", + "Don't jump on THAT tree!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way...", + "...Is it not?", + "Ha ha ha...", + "Aren't fingers wonderful?", + "It's great to be alive!", + "Brandon!", + "Grandfather! We did it!", + "No! YOU did it!", + "Long live King Brandon!", + "Long live the Royal Mystics!", + "Now, let's go put Kyrandia back together!", + "Good idea!", + "As my first Royal Proclamation...", + "I name sandals as the official footwear of Kyrandia!", + "Well done, Brandon!", + "The Land no longer weeps...", + "And your friends have been restored!", + "Dear Brynn...", + "Malcolm has broken free!", + "Soon he will come for me.", + "Please help Brandon...", + "" +}; + +static const StringListProvider k1IntroStringsDOSEnglishProvider = { ARRAYSIZE(k1IntroStringsDOSEnglish), k1IntroStringsDOSEnglish }; + +static const char *const k1ItemNamesDOSEnglish[107] = { + "Garnet", + "Amethyst", + "Aquamarine", + "Diamond", + "Emerald", + "Pearl", + "Ruby", + "Peridot", + "Sapphire", + "Opal", + "Topaz", + "Onyx", + "Sunstone", + "Moonstone", + "Rainbowstone", + "Lodestone", + "Rose", + "Tulip", + "Orchid", + "Silver Rose", + "Silver Statuette", + "Silver Coin", + "Gold Coin", + "Gold Ring", + "Royal Chalice", + "Pinecone", + "Acorn", + "Walnut", + "Everglowing Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fish", + "Fish Bone", + "Mutton Leg", + "Bone", + "Apple", + "Apple Core", + "Blueberries", + "Mushroom", + "Note", + "Marble", + "Saw", + "Ankh", + "Feather", + "Egg", + "Leaf", + "Shamrock", + "Fallen Star", + "Crystal Ball", + "Teardrop", + "Mirror", + "Ice Shard", + "Flute", + "Hourglass", + "Iron Key", + "Jade Key", + "Obsidion Key", + "Red Potion", + "Red Potion", + "Blue Potion", + "Blue Potion", + "Yellow Potion", + "Yellow Potion", + "Green Potion", + "Orange Potion", + "Purple Potion", + "Potion of Rainbows", + "Fresh Water", + "Fresh Water", + "Salt Water", + "Salt Water", + "Mineral Water", + "Mineral Water", + "Magical Water", + "Magical Water", + "Empty Flask", + "Empty Flask", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Red Magestone", + "Orange Magestone", + "Yellow Magestone", + "Green Magestone", + "Blue-Green Magestone", + "Blue Magestone", + "Purple Magestone", + "Heavy rock", + "Royal Crown", + "Royal Sceptre", + "Gold key", + "Unknown item" +}; + +static const StringListProvider k1ItemNamesDOSEnglishProvider = { ARRAYSIZE(k1ItemNamesDOSEnglish), k1ItemNamesDOSEnglish }; + +static const char *const k1TakenStringsDOSEnglish[2] = { + " taken.", + " taken." +}; + +static const StringListProvider k1TakenStringsDOSEnglishProvider = { ARRAYSIZE(k1TakenStringsDOSEnglish), k1TakenStringsDOSEnglish }; + +static const char *const k1PlacedStringsDOSEnglish[1] = { + " placed." +}; + +static const StringListProvider k1PlacedStringsDOSEnglishProvider = { ARRAYSIZE(k1PlacedStringsDOSEnglish), k1PlacedStringsDOSEnglish }; + +static const char *const k1DroppedStringsDOSEnglish[1] = { + " dropped." +}; + +static const StringListProvider k1DroppedStringsDOSEnglishProvider = { ARRAYSIZE(k1DroppedStringsDOSEnglish), k1DroppedStringsDOSEnglish }; + +static const char *const k1NoDropStringsDOSEnglish[2] = { + "You can't drop any more items in this scene.", + "You can't put that there." +}; + +static const StringListProvider k1NoDropStringsDOSEnglishProvider = { ARRAYSIZE(k1NoDropStringsDOSEnglish), k1NoDropStringsDOSEnglish }; + +static const char *const k1PutDownStringDOSEnglish[1] = { + "Maybe I'd better put this down first." +}; + +static const StringListProvider k1PutDownStringDOSEnglishProvider = { ARRAYSIZE(k1PutDownStringDOSEnglish), k1PutDownStringDOSEnglish }; + +static const char *const k1WaitAmuletStringDOSEnglish[1] = { + "I guess I'll have to wait for my Amulet to regain its power." +}; + +static const StringListProvider k1WaitAmuletStringDOSEnglishProvider = { ARRAYSIZE(k1WaitAmuletStringDOSEnglish), k1WaitAmuletStringDOSEnglish }; + +static const char *const k1BlackJewelStringDOSEnglish[1] = { + "It's a jewel, but why is it black?" +}; + +static const StringListProvider k1BlackJewelStringDOSEnglishProvider = { ARRAYSIZE(k1BlackJewelStringDOSEnglish), k1BlackJewelStringDOSEnglish }; + +static const char *const k1HealingTipStringDOSEnglish[1] = { + "Gee, this could come in handy if I get hurt." +}; + +static const StringListProvider k1HealingTipStringDOSEnglishProvider = { ARRAYSIZE(k1HealingTipStringDOSEnglish), k1HealingTipStringDOSEnglish }; + +static const char *const k1PoisonGoneStringDOSEnglish[2] = { + "Amazing!", + "The effects of the poison are gone!" +}; + +static const StringListProvider k1PoisonGoneStringDOSEnglishProvider = { ARRAYSIZE(k1PoisonGoneStringDOSEnglish), k1PoisonGoneStringDOSEnglish }; + +static const char *const k1ThePoisonStringsDOSEnglish[4] = { + "The poison...", + "I can't breathe...", + "I don't feel so good...", + "That snake must\rbe poisonous!" +}; + +static const StringListProvider k1ThePoisonStringsDOSEnglishProvider = { ARRAYSIZE(k1ThePoisonStringsDOSEnglish), k1ThePoisonStringsDOSEnglish }; + +static const char *const k1FluteStringsDOSEnglish[2] = { + "Not very impressive sounding.", + "That last note sure was high!" +}; + +static const StringListProvider k1FluteStringsDOSEnglishProvider = { ARRAYSIZE(k1FluteStringsDOSEnglish), k1FluteStringsDOSEnglish }; + +static const char *const k1WispJewelStringsDOSEnglish[3] = { + "I'm not really feeling up to it right now.", + "I probably should put down my ", + ", first." +}; + +static const StringListProvider k1WispJewelStringsDOSEnglishProvider = { ARRAYSIZE(k1WispJewelStringsDOSEnglish), k1WispJewelStringsDOSEnglish }; + +static const char *const k1MagicJewelStringsDOSEnglish[1] = { + "That felt strange." +}; + +static const StringListProvider k1MagicJewelStringsDOSEnglishProvider = { ARRAYSIZE(k1MagicJewelStringsDOSEnglish), k1MagicJewelStringsDOSEnglish }; + +static const char *const k1FlaskFullStringDOSEnglish[1] = { + "This flask is already full." +}; + +static const StringListProvider k1FlaskFullStringDOSEnglishProvider = { ARRAYSIZE(k1FlaskFullStringDOSEnglish), k1FlaskFullStringDOSEnglish }; + +static const char *const k1FullFlaskStringDOSEnglish[4] = { + "The flask is now filled\rwith fresh, sparkling water.", + "The flask is now filled\rwith salt water.", + "The flask is now filled\rwith mineral water.", + "Magic water." +}; + +static const StringListProvider k1FullFlaskStringDOSEnglishProvider = { ARRAYSIZE(k1FullFlaskStringDOSEnglish), k1FullFlaskStringDOSEnglish }; + +static const char *const k1OutroHomeStringDOSEnglish[1] = { + "Home" +}; + +static const StringListProvider k1OutroHomeStringDOSEnglishProvider = { ARRAYSIZE(k1OutroHomeStringDOSEnglish), k1OutroHomeStringDOSEnglish }; + +static const char *const k1VeryCleverStringDOSEnglish[1] = { + "Very clever! But your feeble efforts are futile." +}; + +static const StringListProvider k1VeryCleverStringDOSEnglishProvider = { ARRAYSIZE(k1VeryCleverStringDOSEnglish), k1VeryCleverStringDOSEnglish }; + +static const char *const k1GUIStringsDOSEnglish[28] = { + "The Legend of Kyrandia", + "Load a game", + "Save this game", + "Game controls", + "Quit playing", + "Resume game", + "Game Controls", + "Which game would you like to reload?", + "Select a position to save to:", + "[ EMPTY SLOT ]", + "Cancel", + "Enter a description of your saved game:", + "Save", + "Rest in peace, Brandon.", + "Are you sure you want to quit playing?", + "XXX", + "XXX", + "XXXXXXX", + "XXXXXXXXX", + "Main menu", + "on", + "off", + "Yes", + "No", + "\x80\x0E\xFF""*""\x88\x0E\xFF""*""\x8D\x0E\xFF""*""\x94\x0E\xFF""*""\x99\x0E\xFF""*""\xA1\x0E\xFF""*""\xA9\x0E\xFF""*""\xB0\x0E\xFF""*""\xB5\x0E\xFF""*Walk speed ", + "Text speed ", + "Music is ", + "Sounds are " +}; + +static const StringListProvider k1GUIStringsDOSEnglishProvider = { ARRAYSIZE(k1GUIStringsDOSEnglish), k1GUIStringsDOSEnglish }; + +static const char *const k1NewGameStringDOSEnglish[1] = { + "[ START A NEW GAME ]" +}; + +static const StringListProvider k1NewGameStringDOSEnglishProvider = { ARRAYSIZE(k1NewGameStringDOSEnglish), k1NewGameStringDOSEnglish }; + +static const char *const k1ConfigStringsDOSEnglish[9] = { + "slowest", + "slow", + "normal", + "fast", + "fastest", + "slowest", + "normal", + "fast", + "clickable" +}; + +static const StringListProvider k1ConfigStringsDOSEnglishProvider = { ARRAYSIZE(k1ConfigStringsDOSEnglish), k1ConfigStringsDOSEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_dos_french.h b/devtools/create_kyradat/resources/lok_dos_french.h new file mode 100644 index 0000000000..c96652102c --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_french.h @@ -0,0 +1,341 @@ +static const char *const k1IntroStringsDOSFrench[51] = { + "This is a text test - 1", + "This is a text test - 2", + "Salut Kallak...", + "...Puissant Chef de l'Ordre des Mystiques Royaux!", + "Je t'ai fait peur?", + "Malcolm!", + "On m'a dit hier que tu t'""\x82""tais ""\x82""vad""\x82"".", + "Je t'attendais depuis longtemps.", + "Pourquoi me serais-je press""\x82""?", + "C'est moi qui gouverne ce pays!", + "Ton faible sort n'a pas d'effet sur moi.", + "Tue-moi maintenant!", + "Il ne me reste pas beaucoup de pouvoirs magiques.", + "Je veux te faire du mal, sois-en s""\x96""r...", + "...Maintenant, tu es transform""\x82"" en pierre...", + "...mais je te laisse tes yeux.", + "Je ne verse aucune larme pour Kyrandia...", + "...mais je ne peux pas te refuser les tiennes.", + "Malcolm le Bouffon est libre!", + "Il contr""\x93""le la Kyragemme maintenant...", + "...source de tous les pouvoirs magiques de Kyrandia!", + "", + "Comment oses-tu ME faire tr""\x82""bucher!", + "Mais non, quelque chose de sp""\x82""cial pour toi...", + "Un sort humoristique!", + "Mais je pr""\x82""viendrai.", + "Ne saute pas sur CET arbre!", + "Ne grimpe pas sur CET arbre, petit ""\x82""cureuil!", + "Hou!", + "C'est plus marrant comme ""\x87""a...", + "...n'est-ce pas?", + "Ha ha ha...", + "Les doigts ne sont-ils pas une chose merveilleuse?", + "C'est super d'""\x88""tre en vie!", + "Brandon!", + "Grand-P""\x8A""re! On y est arriv""\x82""!", + "Non! TU y es arriv""\x82""!", + "Longue vie au Roi Brandon!", + "Longue vie ""\x85"" l'Ordre des Mystiques Royaux!", + "Retournons mettre de l'ordre dans Kyrandia!", + "Bonne id""\x82""e!", + "En tant que Roi...", + "je d""\x82""clare que les sandales sont d""\x82""sormais les souliers officiels ""\x85"" Kyrandia!", + "Bien jou""\x82"", Brandon!", + "La Terre ne pleure plus...", + "Et tu as retrouv""\x82"" tes amis!", + "Ma Ch""\x8A""re Brynn...", + "Malcolm s'est ""\x82""vad""\x82""!", + "Il viendra me chercher bient""\x93""t.", + "S'il te pla""\x8C""t Brandon, aide-moi...", + "" +}; + +static const StringListProvider k1IntroStringsDOSFrenchProvider = { ARRAYSIZE(k1IntroStringsDOSFrench), k1IntroStringsDOSFrench }; + +static const char *const k1ItemNamesDOSFrench[108] = { + "Grenat", + "Am""\x82""thyste", + "Aigue-marine", + "Diamant", + "Emeraude", + "Perle", + "Rubis", + "Olivine", + "Saphir", + "Opale", + "Topaze", + "Onyx", + "Aventurine", + "Pierre de Lune", + "Pierre d'Iris", + "Magn""\x82""tite", + "Rose", + "Tulipe", + "Orchid""\x82""e", + "Rose d'argent", + "Statuette d'argent", + "Pi""\x8A""ce d'argent", + "Pi""\x8A""ce d'or", + "Bague en or", + "Calice royal", + "Pomme de pin", + "Gland", + "Noix", + "Baie de feu luisantes", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Baie de feu", + "Poisson", + "Ar""\x88""te", + "Gigot de mouton", + "Os", + "Pomme", + "Trognon de pomme", + "Myrtille", + "Champignon", + "Note", + "Bille", + "Scie", + "Croix ans""\x82""e", + "Plume", + "Oeuf", + "Feuille", + "Tr""\x8A""fle", + "Etoile bris""\x82""e", + "Boule de cristal", + "Larme", + "Miroir", + "Tesson de glace", + "Fl""\x96""te", + "Sablier", + "Cl""\x82"" m""\x82""tallique", + "Cl""\x82"" de jade", + "Cl""\x82"" obsidion", + "Potion rouge", + "Potion rouge", + "Potion bleue", + "Potion bleue", + "Potion jaune", + "Potion jaune", + "Potion verte", + "Potion orange", + "Potion violette", + "Potion d'arcs-en-ciel", + "Eau fraiche", + "Eau fraiche", + "Eau sal""\x82""e", + "Eau sal""\x82""e", + "Eau min""\x82""rale", + "Eau min""\x82""rale", + "Eau magique", + "Eau magique", + "Gourde vide", + "Gourde vide", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Morceau de parchemin", + "Pierre magique rouge", + "Pierre magique orange", + "Pierre magique jaune", + "Pierre magique verte", + "Pierre magique turquoise", + "Pierre magique bleue", + "Pierre magique violette", + "Rocher lourd", + "Couronne royale", + "Sceptre royal", + "Cl""\x82"" en or", + "Objet inconnu", + "" +}; + +static const StringListProvider k1ItemNamesDOSFrenchProvider = { ARRAYSIZE(k1ItemNamesDOSFrench), k1ItemNamesDOSFrench }; + +static const char *const k1TakenStringsDOSFrench[4] = { + " prise.", + " pris.", + " prise.", + " pris." +}; + +static const StringListProvider k1TakenStringsDOSFrenchProvider = { ARRAYSIZE(k1TakenStringsDOSFrench), k1TakenStringsDOSFrench }; + +static const char *const k1PlacedStringsDOSFrench[2] = { + " plac""\x82""e.", + " plac""\x82""." +}; + +static const StringListProvider k1PlacedStringsDOSFrenchProvider = { ARRAYSIZE(k1PlacedStringsDOSFrench), k1PlacedStringsDOSFrench }; + +static const char *const k1DroppedStringsDOSFrench[2] = { + " l""\x83""ch""\x82""e.", + " l""\x83""ch""\x82""." +}; + +static const StringListProvider k1DroppedStringsDOSFrenchProvider = { ARRAYSIZE(k1DroppedStringsDOSFrench), k1DroppedStringsDOSFrench }; + +static const char *const k1NoDropStringsDOSFrench[2] = { + "Vous ne pouvez pas l""\x83""cher autre chose ici.", + "Vous ne pouvez pas mettre ""\x87""a l""\x85""." +}; + +static const StringListProvider k1NoDropStringsDOSFrenchProvider = { ARRAYSIZE(k1NoDropStringsDOSFrench), k1NoDropStringsDOSFrench }; + +static const char *const k1PutDownStringDOSFrench[1] = { + "Il faudrait peut-""\x88""tre que je pose ""\x87""a d'abord." +}; + +static const StringListProvider k1PutDownStringDOSFrenchProvider = { ARRAYSIZE(k1PutDownStringDOSFrench), k1PutDownStringDOSFrench }; + +static const char *const k1WaitAmuletStringDOSFrench[1] = { + "Je suppose qu'il me faut attendre que mon amulette retrouve son pouvoir." +}; + +static const StringListProvider k1WaitAmuletStringDOSFrenchProvider = { ARRAYSIZE(k1WaitAmuletStringDOSFrench), k1WaitAmuletStringDOSFrench }; + +static const char *const k1BlackJewelStringDOSFrench[1] = { + "C'est un bijou, mais pourquoi est-il noir?" +}; + +static const StringListProvider k1BlackJewelStringDOSFrenchProvider = { ARRAYSIZE(k1BlackJewelStringDOSFrench), k1BlackJewelStringDOSFrench }; + +static const char *const k1HealingTipStringDOSFrench[1] = { + "Hue, ""\x87""a pourrait bien m'""\x88""tre utile si je suis bless""\x82""." +}; + +static const StringListProvider k1HealingTipStringDOSFrenchProvider = { ARRAYSIZE(k1HealingTipStringDOSFrench), k1HealingTipStringDOSFrench }; + +static const char *const k1PoisonGoneStringDOSFrench[3] = { + "G""\x82""nial!", + "Les effets du poison ont disparu!", + "MBL1ERREUR: Jeu sauvegard""\x82"" d'un autre produit." +}; + +static const StringListProvider k1PoisonGoneStringDOSFrenchProvider = { ARRAYSIZE(k1PoisonGoneStringDOSFrench), k1PoisonGoneStringDOSFrench }; + +static const char *const k1ThePoisonStringsDOSFrench[4] = { + "Le poison...", + "Je ne peux plus respirer...", + "Je ne me sens pas tr""\x8A""s bien...", + "Ce serpent doit ""\x88""tre \rvenimeux!" +}; + +static const StringListProvider k1ThePoisonStringsDOSFrenchProvider = { ARRAYSIZE(k1ThePoisonStringsDOSFrench), k1ThePoisonStringsDOSFrench }; + +static const char *const k1FluteStringsDOSFrench[2] = { + "\x80""a ne sonne pas tr""\x8A""s bien.", + "Cette derni""\x8A""re note ""\x82""tait vraiment aigue!" +}; + +static const StringListProvider k1FluteStringsDOSFrenchProvider = { ARRAYSIZE(k1FluteStringsDOSFrench), k1FluteStringsDOSFrench }; + +static const char *const k1WispJewelStringsDOSFrench[3] = { + "Je ne m'en sens pas vraiment capable maintenant.", + "Je devrait poser mon, ma, mes ", + ", d'abord." +}; + +static const StringListProvider k1WispJewelStringsDOSFrenchProvider = { ARRAYSIZE(k1WispJewelStringsDOSFrench), k1WispJewelStringsDOSFrench }; + +static const char *const k1MagicJewelStringsDOSFrench[1] = { + "C'""\x82""tait bizarre." +}; + +static const StringListProvider k1MagicJewelStringsDOSFrenchProvider = { ARRAYSIZE(k1MagicJewelStringsDOSFrench), k1MagicJewelStringsDOSFrench }; + +static const char *const k1FlaskFullStringDOSFrench[1] = { + "Cette gourde est d""\x82""j""\x85"" pleine." +}; + +static const StringListProvider k1FlaskFullStringDOSFrenchProvider = { ARRAYSIZE(k1FlaskFullStringDOSFrench), k1FlaskFullStringDOSFrench }; + +static const char *const k1FullFlaskStringDOSFrench[4] = { + "La gourde est remplie \rd'eau gazeuse fra""\x8C""che.", + "La gourde est remplie \rd'eau sal""\x82""e.", + "La gourde est remplie \rd'eau min""\x82""rale.", + "Eau magique." +}; + +static const StringListProvider k1FullFlaskStringDOSFrenchProvider = { ARRAYSIZE(k1FullFlaskStringDOSFrench), k1FullFlaskStringDOSFrench }; + +static const char *const k1OutroHomeStringDOSFrench[1] = { + "Maison" +}; + +static const StringListProvider k1OutroHomeStringDOSFrenchProvider = { ARRAYSIZE(k1OutroHomeStringDOSFrench), k1OutroHomeStringDOSFrench }; + +static const char *const k1VeryCleverStringDOSFrench[1] = { + "Malin! Mais vos efforts restent vains." +}; + +static const StringListProvider k1VeryCleverStringDOSFrenchProvider = { ARRAYSIZE(k1VeryCleverStringDOSFrench), k1VeryCleverStringDOSFrench }; + +static const char *const k1GUIStringsDOSFrench[28] = { + "The Legend of Kyrandia", + "Charger un jeu", + "Sauvegarder ce jeu", + "Contr""\x93""les du jeu", + "Quitter le jeu", + "Reprendre le jeu", + "Contr""\x93""les du jeu", + "Quel jeu voulez-vous re-charger?", + "S""\x82""lectionnez une position o""\x97"" sauvegarder:", + "[ EMPLACEMENT VIDE ]", + "Annuler", + "Entrez description de votre jeu sauvegard""\x82"".", + "Sauvegarder", + "Repose en paix, Brandon.", + "Vous voulez vraiment quitter le jeu?", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "Menu principal", + "activ""\x82", + "d""\x82""sactiv""\x82", + "Oui", + "Non", + "6""\x0F""f+@""\x0F""f+E""\x0F""f+L""\x0F""f+S""\x0F""f+_""\x0F""f+i""\x0F""f+p""\x0F""f+w""\x0F""f+Vitesse de d""\x82""placement", + "Vitesse du texte", + "La musique est ", + "Les sons sont " +}; + +static const StringListProvider k1GUIStringsDOSFrenchProvider = { ARRAYSIZE(k1GUIStringsDOSFrench), k1GUIStringsDOSFrench }; + +static const char *const k1NewGameStringDOSFrench[1] = { + "[ COMMENCER UN NOUVEAU JEU ]" +}; + +static const StringListProvider k1NewGameStringDOSFrenchProvider = { ARRAYSIZE(k1NewGameStringDOSFrench), k1NewGameStringDOSFrench }; + +static const char *const k1ConfigStringsDOSFrench[9] = { + "plus lent", + "lent", + "normal", + "rapide", + "plus rapide", + "plus lent", + "normal", + "rapide", + "cliquable" +}; + +static const StringListProvider k1ConfigStringsDOSFrenchProvider = { ARRAYSIZE(k1ConfigStringsDOSFrench), k1ConfigStringsDOSFrench }; + diff --git a/devtools/create_kyradat/resources/lok_dos_german.h b/devtools/create_kyradat/resources/lok_dos_german.h new file mode 100644 index 0000000000..5a5e9cfd06 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_german.h @@ -0,0 +1,361 @@ +static const char *const k1IntroStringsDOSGerman[52] = { + "This is a text test - 1", + "This is a text test - 2", + "Sei gegr""\x81\xE1""t, Kallak...", + "...M""\x84""chtiger Anf""\x81""hrer der k""\x94""niglichen Mystiker!", + "Habe ich dich erschreckt?", + "Malcolm!", + "Ich habe gestern von deiner Flucht geh""\x94""rt.", + "Ich habe dich fr""\x81""her erwartet.", + "Warum sollte ich mich beeilen?", + "Ich herrsche ""\x81""ber dieses Land!", + "Dein mickriger Fluch h""\x84""lt mich nicht zur""\x81""ck.", + "So, erschlag mich doch!", + "Ich habe nur noch wenig Magie ""\x81""brig.", + "Ich werde dir zu Leibe r""\x81""cken, zweifle blo""\xE1"" nicht daran...", + "...du bist jetzt aus Stein...", + "...Ich lasse dir allein deine Augen.", + "F""\x81""r Kyrandia vergie""\xE1""e ich nicht eine Tr""\x84""ne...", + "...aber deine will ich dir nicht nehmen.", + "Malcolm der Hofnarr ist ausgebrochen!", + "Er beherrscht nun den Kyragem...", + "...die Quelle aller Magie in Kyrandia!", + "", + "Wie kannst du es wagen, MICH umzuwerfen!", + "Nicht doch, etwas Besonderes f""\x81""r dich...", + "Was f""\x81""r ein l""\x84""cherlicher Fluch!", + "Ich warne dich vorher.", + "Springe nicht auf DIESEN Baum!", + "Klettre nicht auf diesen Baum, kleines Eichh""\x94""rnchen!", + "Buuh!", + "So ist es viel lustiger...", + "...nicht wahr?", + "Ha ha ha...", + "Sind Finger nicht 'was Tolles?", + "Es ist gro""\xE1""artig, am Leben zu sein!", + "Brandon!", + "Gro""\xE1""vater! Wir haben es geschafft!", + "Nein! DU hast es geschafft!", + "Lang lebe K""\x94""nig Brandon!", + "Lang leben die k""\x94""niglichen Mystiker!", + "Bauen wir Kyrandia wieder auf!", + "Eine gute Idee!", + "Als meine erste k""\x94""nigliche Proklamation,...", + "...erkl""\x84""re ich Sandalen zur offiziellen Fu""\xE1""bekleidung Kyrandias!", + "Sehr weise, Brandon!", + "Das Land ist nicht l""\x84""nger in Trauer!", + "Und deine Freunde sind gerettet.", + "Liebe Brynn...", + "Malcolm ist ausgebrochen!", + "Er wird bald zu mir kommen.", + "Bitte hilf Brandon...", + "", + "" +}; + +static const StringListProvider k1IntroStringsDOSGermanProvider = { ARRAYSIZE(k1IntroStringsDOSGerman), k1IntroStringsDOSGerman }; + +static const char *const k1ItemNamesDOSGerman[108] = { + "Granat", + "Amethyst", + "Aquamarin", + "Diamant", + "Smaragd", + "Perle", + "Rubin", + "Peridot", + "Saphir", + "Opal", + "Topas", + "Onyx", + "Sonnenstein", + "Mondstein", + "Regenbogenstein", + "Magnetstein", + "Rose", + "Tulpe", + "Orchidee", + "Silberne Rose", + "Silberne Statuette", + "Silberm""\x81""nze", + "Goldm""\x81""nze", + "Goldring", + "Der Kelch des K""\x94""nigs", + "Kienapfel", + "Eichel", + "Walnu""\xE1", + "Immerleuchtende Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Feuerbeeren", + "Fisch", + "Fischgr""\x84""te", + "Hammelkeule", + "Knochen", + "Apfel", + "Apfelgriebsch", + "Heidelbeeren", + "Pilz", + "Notiz", + "Murmel", + "S""\x84""ge", + "Henkelkreuz", + "Feder", + "Ei", + "Blatt", + "Kleeblatt", + "Sternschnuppe", + "Kristallkugel", + "Tr""\x84""ne", + "Spiegel", + "Eisst""\x81""ck", + "Fl""\x94""te", + "Sanduhr", + "Eisenschl""\x81""ssel", + "Jadeschl""\x81""ssel", + "Obsidianschl""\x81""ssel", + "Roter Trank", + "Roter Trank", + "Blauer Trank", + "Blauer Trank", + "Gelber Trank", + "Gelber Trank", + "Gr""\x81""ner Trank", + "Oranger Trank", + "Violetter Trank", + "Regenbogentrank", + "S""\x81\xE1""wasser", + "S""\x81\xE1""wasser", + "Salzwasser", + "Salzwasser", + "Mineralwasser", + "Mineralwasser", + "Magisches Wasser", + "Magisches Wasser", + "Leere Flasche", + "Leere Flasche", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Schriftrolle", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Pergamentfetzen", + "Roter Weisenstein", + "Oranger Weisenstein", + "Gelber Weisenstein", + "Gr""\x81""ner Weisenstein", + "T""\x81""rkiser Weisenstein", + "Blauer Weisenstein", + "Violetter Weisenstein", + "Schwerer Stein", + "K""\x94""nigliche Krone", + "K""\x94""nigliches Zepter", + "Goldschl""\x81""ssel", + "Unbekannter Gegenstand", + "" +}; + +static const StringListProvider k1ItemNamesDOSGermanProvider = { ARRAYSIZE(k1ItemNamesDOSGerman), k1ItemNamesDOSGerman }; + +static const char *const k1TakenStringsDOSGerman[2] = { + " aufgenommen.", + " aufgenommen." +}; + +static const StringListProvider k1TakenStringsDOSGermanProvider = { ARRAYSIZE(k1TakenStringsDOSGerman), k1TakenStringsDOSGerman }; + +static const char *const k1PlacedStringsDOSGerman[1] = { + " abgelegt." +}; + +static const StringListProvider k1PlacedStringsDOSGermanProvider = { ARRAYSIZE(k1PlacedStringsDOSGerman), k1PlacedStringsDOSGerman }; + +static const char *const k1DroppedStringsDOSGerman[1] = { + " fallengelassen." +}; + +static const StringListProvider k1DroppedStringsDOSGermanProvider = { ARRAYSIZE(k1DroppedStringsDOSGerman), k1DroppedStringsDOSGerman }; + +static const char *const k1NoDropStringsDOSGerman[2] = { + "Hier kann nichts mehr abgelegt werden.", + "Das kann hier nicht abgelegt werden." +}; + +static const StringListProvider k1NoDropStringsDOSGermanProvider = { ARRAYSIZE(k1NoDropStringsDOSGerman), k1NoDropStringsDOSGerman }; + +static const char *const k1PutDownStringDOSGerman[1] = { + "Vielleicht sollte ich es erst hinlegen." +}; + +static const StringListProvider k1PutDownStringDOSGermanProvider = { ARRAYSIZE(k1PutDownStringDOSGerman), k1PutDownStringDOSGerman }; + +static const char *const k1WaitAmuletStringDOSGerman[1] = { + "I nehme an, ich mu""\xE1"" warten, bis mein Amulett seine Kraft wiedererlangt." +}; + +static const StringListProvider k1WaitAmuletStringDOSGermanProvider = { ARRAYSIZE(k1WaitAmuletStringDOSGerman), k1WaitAmuletStringDOSGerman }; + +static const char *const k1BlackJewelStringDOSGerman[1] = { + "Es ist ein Edelstein, aber warum ist er schwarz?" +}; + +static const StringListProvider k1BlackJewelStringDOSGermanProvider = { ARRAYSIZE(k1BlackJewelStringDOSGerman), k1BlackJewelStringDOSGerman }; + +static const char *const k1HealingTipStringDOSGerman[1] = { + "Mann, das kann ganz n""\x81""tzlich sein, falls ich mich verletze!" +}; + +static const StringListProvider k1HealingTipStringDOSGermanProvider = { ARRAYSIZE(k1HealingTipStringDOSGerman), k1HealingTipStringDOSGerman }; + +static const char *const k1PoisonGoneStringDOSGerman[2] = { + "Erstaunlich!", + "Die Wirkung des Giftes hat nachgelassen!" +}; + +static const StringListProvider k1PoisonGoneStringDOSGermanProvider = { ARRAYSIZE(k1PoisonGoneStringDOSGerman), k1PoisonGoneStringDOSGerman }; + +static const char *const k1ThePoisonStringsDOSGerman[4] = { + "Das Gift...", + "Ich kann nicht atmen...", + "Ich f""\x81""hle mich nicht besonders wohl...", + "Die Schlange mu""\xE1"" \rgiftig gewesen sein!" +}; + +static const StringListProvider k1ThePoisonStringsDOSGermanProvider = { ARRAYSIZE(k1ThePoisonStringsDOSGerman), k1ThePoisonStringsDOSGerman }; + +static const char *const k1FluteStringsDOSGerman[2] = { + "Klingt nicht besonders beeindruckend.", + "Die letzte Note war hoch!" +}; + +static const StringListProvider k1FluteStringsDOSGermanProvider = { ARRAYSIZE(k1FluteStringsDOSGerman), k1FluteStringsDOSGerman }; + +static const char *const k1WispJewelStringsDOSGerman[3] = { + "Im Moment f""\x81""hle ich mich dazu nicht in der Lage.", + "Ich mu""\xE1"" wahrscheinlich erst mein(e)...", + "ablegen." +}; + +static const StringListProvider k1WispJewelStringsDOSGermanProvider = { ARRAYSIZE(k1WispJewelStringsDOSGerman), k1WispJewelStringsDOSGerman }; + +static const char *const k1MagicJewelStringsDOSGerman[1] = { + "Das war eigenartig." +}; + +static const StringListProvider k1MagicJewelStringsDOSGermanProvider = { ARRAYSIZE(k1MagicJewelStringsDOSGerman), k1MagicJewelStringsDOSGerman }; + +static const char *const k1FlaskFullStringDOSGerman[1] = { + "Die Flasche ist bereits voll." +}; + +static const StringListProvider k1FlaskFullStringDOSGermanProvider = { ARRAYSIZE(k1FlaskFullStringDOSGerman), k1FlaskFullStringDOSGerman }; + +static const char *const k1FullFlaskStringDOSGerman[4] = { + "Die Flasche ist jetzt mit \rfrischem, klarem Wasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rSalzwasser gef""\x81""llt.", + "Die Flasche ist jetzt mit \rMineralwasser gef""\x81""llt.", + "Magisches Wasser." +}; + +static const StringListProvider k1FullFlaskStringDOSGermanProvider = { ARRAYSIZE(k1FullFlaskStringDOSGerman), k1FullFlaskStringDOSGerman }; + +static const char *const k1OutroHomeStringDOSGerman[1] = { + "Ab nach Hause" +}; + +static const StringListProvider k1OutroHomeStringDOSGermanProvider = { ARRAYSIZE(k1OutroHomeStringDOSGerman), k1OutroHomeStringDOSGerman }; + +static const char *const k1VeryCleverStringDOSGerman[1] = { + "Sehr clever! Aber nichtige Versuche sind zum Scheitern verurteilt." +}; + +static const StringListProvider k1VeryCleverStringDOSGermanProvider = { ARRAYSIZE(k1VeryCleverStringDOSGerman), k1VeryCleverStringDOSGerman }; + +static const char *const k1GUIStringsDOSGerman[52] = { + "Die Legende von Kyrandia", + "Ein Spiel laden", + "Dieses Spiel sichern", + "Spielsteuerungen", + "Spiel beenden", + "Spiel wieder aufnehmen", + "Spielsteuerungen", + "Welches Spiel soll noch einmal geladen werden?", + "W""\x84""hlen Sie den Platz zum Sichern aus.", + "[ LEERER PLATZ ]", + "Abbrechen", + "Beschreibung des gesicherten Spiels eingeben.", + "Sichern", + "Ruhe in Frieden, Brandon.", + "Soll das Spiel wirklich beendet werden?", + "XXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXXXXXXXXXX", + "XXXXXXXXXXXXXXXXX", + "Hauptmen""\x81", + "An", + "Aus", + "Ja", + "Nein", + "V""\x0F""R+e""\x0F""R+m""\x0F""R+t""\x0F""R+|""\x0F""R+""\x8B\x0F""R+""\x9A\x0F""R+""\xA1\x0F""R+""\xA9\x0F""R+Schrittempo", + "Textgeschwindigkeit", + "Die Musik ist", + "Die Soundeffekte sind" +}; + +static const StringListProvider k1GUIStringsDOSGermanProvider = { ARRAYSIZE(k1GUIStringsDOSGerman), k1GUIStringsDOSGerman }; + +static const char *const k1NewGameStringDOSGerman[1] = { + "[ EIN NEUES SPIEL ANFANGEN ]" +}; + +static const StringListProvider k1NewGameStringDOSGermanProvider = { ARRAYSIZE(k1NewGameStringDOSGerman), k1NewGameStringDOSGerman }; + +static const char *const k1ConfigStringsDOSGerman[9] = { + "am langsamsten", + "langsam", + "normal", + "schnell", + "am schnellsten", + "am langsamsten", + "normal", + "schnell", + "anklickbar" +}; + +static const StringListProvider k1ConfigStringsDOSGermanProvider = { ARRAYSIZE(k1ConfigStringsDOSGerman), k1ConfigStringsDOSGerman }; + diff --git a/devtools/create_kyradat/resources/lok_dos_italian.h b/devtools/create_kyradat/resources/lok_dos_italian.h new file mode 100644 index 0000000000..65991769e5 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_italian.h @@ -0,0 +1,366 @@ +static const char *const k1IntroStringsDOSItalian[50] = { + "This is a text test - 1", + "This is a text test - 2", + "Salute, Kallak...", + "...Potente capo dei Mistici reali!", + "Ti ho spaventato?", + "Malcolm!", + "Ieri ho saputo della tua fuga.", + "E ti aspettavo prima di adesso.", + "Perch""\x82"" affrettarmi?", + "Sono io che governo questa terra!", + "La tua gracile maledizione non mi ha trattenuto affatto.", + "Quindi, uccidimi adesso!", + "Mi ""\x8A"" rimasta poca magia.", + "Intendo danneggiarti, non ho dubbi...", + "...Adesso tu sei di pietra...", + "...tuttavia, lascio i tuoi occhi.", + "Non ho versato alcuna lacrima per Kyrandia...", + "Ma non posso negarti le tue.", + "Malcolm il buffone si ""\x8A"" liberato!", + "Adesso ha il controllo della GemmaKyra...", + "...fonte di tutta la magia in Kyrandia!", + "", + "Come osi farMi lo sgambetto?", + "Ma niente, qualcosa di speciale per te...", + "Un malocchio spassoso!", + "Dar""\x95"" un giusto avvertimento.", + "Non saltare su QUELL'albero!", + "Non salire su QUELL'albero piccolo scoiattolo!", + "Bo!", + "E' divertente in questo modo...", + "...non ""\x8A"" vero?", + "Ah ah ah...", + "Non sono fantastiche le dita?", + "E' meraviglioso essere vivo!", + "Brandon!", + "Nonno! Ce l'abbiamo fatta!", + "No! TU ce l'hai fatta!", + "Lunga vita a Re Brandon!", + "Lunga vita ai Mistici Reali!", + "Adesso, rimettiamo insieme Kyrandia!", + "Buona idea!", + "Come mia prima Proclamazione Reale...", + "Nomino i sandali la calzatura ufficiale di Kyrandia!", + "Ben fatto, Brandon!", + "La Terra non versa pi""\x97"" lacrime...", + "E i tuoi amici sono stati recuperati!", + "Caro Brynn...", + "Malcolm si ""\x8A"" liberato!", + "Presto mi verr""\x85"" a cercare.", + "Per favore aiuta Brandon..." +}; + +static const StringListProvider k1IntroStringsDOSItalianProvider = { ARRAYSIZE(k1IntroStringsDOSItalian), k1IntroStringsDOSItalian }; + +static const char *const k1ItemNamesDOSItalian[107] = { + "Granito rosso", + "Ametista", + "Acquamarina", + "Diamante", + "Smeraldo", + "Perla", + "Rubino", + "Olivina", + "Zaffiro", + "Opale", + "Topazio", + "Onice", + "Pietra Solare", + "Pietra Lunare", + "Pietra-arcobaleno", + "Magnetite", + "Rosa", + "Tulipano", + "Orchidea", + "Rosa d'Argento", + "Statuetta d'Argento", + "Moneta d'Argento", + "Moneta d'Oro", + "Anello d'Oro", + "Calice Reale", + "Pigna", + "Ghianda", + "Noce", + "Baccheinfuocate Sempreardenti", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Baccheinfuocate", + "Pesce", + "Lisca di Pesce", + "Zampa di Montone", + "Osso", + "Mela", + "Torsolo di Mela", + "Mirtilli", + "Fungo", + "Nota", + "Marmo", + "Sega", + "Croce ansata", + "Piuma", + "Uovo", + "Foglia", + "Trifoglio", + "Stella Cadente", + "Sfera di Cristallo", + "Lacrima", + "Specchio", + "Frammento di ghiaccio", + "Flauto", + "Clessidra", + "Chiave di Ferro", + "Chiave di Giada", + "Chiave di Ossidione", + "Pozione Rossa", + "Pozione Rossa", + "Pozione Azzurra", + "Pozione Azzurra", + "Pozione Gialla", + "Pozione Gialla", + "Pozione Verde", + "Pozione Arancione", + "Pozione viola", + "Pozione di Arcobaleni", + "Acqua Fresca", + "Acqua Fresca", + "Acqua Salata", + "Acqua Salata", + "Acqua Minerale", + "Acqua Minerale", + "Acqua Magica", + "Acqua Magica", + "Bottiglietta Vuota", + "Bottiglietta Vuota", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Pergamena", + "Frammento di Pergamena", + "Frammento di Pergamena", + "Frammento di Pergamena", + "Frammento di Pergamena", + "Frammento di Pergamena", + "Pietramagica Rossa", + "Pietramagica Arancione", + "Pietramagica Gialla", + "Pietramagica Verde", + "Pietramagica Verde-Azzurra", + "Pietramagica Azzurra", + "Pietramagica Viola", + "Roccia Pesante", + "Corona Reale", + "Scettro Reale", + "Chiave d'oro", + "Articolo non conosciuto" +}; + +static const StringListProvider k1ItemNamesDOSItalianProvider = { ARRAYSIZE(k1ItemNamesDOSItalian), k1ItemNamesDOSItalian }; + +static const char *const k1TakenStringsDOSItalian[2] = { + " - preso.", + " - preso." +}; + +static const StringListProvider k1TakenStringsDOSItalianProvider = { ARRAYSIZE(k1TakenStringsDOSItalian), k1TakenStringsDOSItalian }; + +static const char *const k1PlacedStringsDOSItalian[1] = { + " - piazzato." +}; + +static const StringListProvider k1PlacedStringsDOSItalianProvider = { ARRAYSIZE(k1PlacedStringsDOSItalian), k1PlacedStringsDOSItalian }; + +static const char *const k1DroppedStringsDOSItalian[1] = { + " - caduto." +}; + +static const StringListProvider k1DroppedStringsDOSItalianProvider = { ARRAYSIZE(k1DroppedStringsDOSItalian), k1DroppedStringsDOSItalian }; + +static const char *const k1NoDropStringsDOSItalian[2] = { + "Qui, non ci puoi lasciare altri oggetti.", + "Non lo puoi mettere laggiu." +}; + +static const StringListProvider k1NoDropStringsDOSItalianProvider = { ARRAYSIZE(k1NoDropStringsDOSItalian), k1NoDropStringsDOSItalian }; + +static const char *const k1PutDownStringDOSItalian[1] = { + "Forse prima sarebbe meglio che mettessi gi""\x97"" questo." +}; + +static const StringListProvider k1PutDownStringDOSItalianProvider = { ARRAYSIZE(k1PutDownStringDOSItalian), k1PutDownStringDOSItalian }; + +static const char *const k1WaitAmuletStringDOSItalian[1] = { + "Suppongo che dovr""\x95"" aspettare che il mio Amuleto riacquisti il suo potere." +}; + +static const StringListProvider k1WaitAmuletStringDOSItalianProvider = { ARRAYSIZE(k1WaitAmuletStringDOSItalian), k1WaitAmuletStringDOSItalian }; + +static const char *const k1BlackJewelStringDOSItalian[1] = { + "E' un gioiello, ma perch""\x82"" ""\x8A"" nero?" +}; + +static const StringListProvider k1BlackJewelStringDOSItalianProvider = { ARRAYSIZE(k1BlackJewelStringDOSItalian), k1BlackJewelStringDOSItalian }; + +static const char *const k1HealingTipStringDOSItalian[1] = { + "Accidenti, questo potrebbe essere utile nel caso fossi ferito." +}; + +static const StringListProvider k1HealingTipStringDOSItalianProvider = { ARRAYSIZE(k1HealingTipStringDOSItalian), k1HealingTipStringDOSItalian }; + +static const char *const k1PoisonGoneStringDOSItalian[2] = { + "Incredibile!", + "Gli effetti del veleno sono scomparsi!" +}; + +static const StringListProvider k1PoisonGoneStringDOSItalianProvider = { ARRAYSIZE(k1PoisonGoneStringDOSItalian), k1PoisonGoneStringDOSItalian }; + +static const char *const k1ThePoisonStringsDOSItalian[4] = { + "Il veleno...", + "Non posso respirare...", + "Non mi sento molto bene...", + "Quel serpente deve\ressere velenoso!" +}; + +static const StringListProvider k1ThePoisonStringsDOSItalianProvider = { ARRAYSIZE(k1ThePoisonStringsDOSItalian), k1ThePoisonStringsDOSItalian }; + +static const char *const k1FluteStringsDOSItalian[2] = { + "Un suono non molto impressionante.", + "Quell'ultima nota era sicuramente acuta!" +}; + +static const StringListProvider k1FluteStringsDOSItalianProvider = { ARRAYSIZE(k1FluteStringsDOSItalian), k1FluteStringsDOSItalian }; + +static const char *const k1WispJewelStringsDOSItalian[3] = { + "Non mi sento effettivamente in grado di farlo, per adesso.", + "Probabilmente dovrei metter gi""\x97"" il mio", + ", per prima cosa." +}; + +static const StringListProvider k1WispJewelStringsDOSItalianProvider = { ARRAYSIZE(k1WispJewelStringsDOSItalian), k1WispJewelStringsDOSItalian }; + +static const char *const k1MagicJewelStringsDOSItalian[1] = { + "Questo mi ""\x8A"" sembrato strano." +}; + +static const StringListProvider k1MagicJewelStringsDOSItalianProvider = { ARRAYSIZE(k1MagicJewelStringsDOSItalian), k1MagicJewelStringsDOSItalian }; + +static const char *const k1FlaskFullStringDOSItalian[1] = { + "Questa bottiglietta ""\x8A"" gi""\x85"" piena." +}; + +static const StringListProvider k1FlaskFullStringDOSItalianProvider = { ARRAYSIZE(k1FlaskFullStringDOSItalian), k1FlaskFullStringDOSItalian }; + +static const char *const k1FullFlaskStringDOSItalian[4] = { + "Adesso la bottiglietta ""\x8A"" riempita\rcon acqua fresca e gasata.", + "Adesso la bottiglietta ""\x8A"" riempita\rcon acqua salata.", + "Adesso la bottiglietta ""\x8A"" riempita\rcon acqua minerale.", + "Acqua magica." +}; + +static const StringListProvider k1FullFlaskStringDOSItalianProvider = { ARRAYSIZE(k1FullFlaskStringDOSItalian), k1FullFlaskStringDOSItalian }; + +static const char *const k1OutroHomeStringDOSItalian[1] = { + "Casa" +}; + +static const StringListProvider k1OutroHomeStringDOSItalianProvider = { ARRAYSIZE(k1OutroHomeStringDOSItalian), k1OutroHomeStringDOSItalian }; + +static const char *const k1VeryCleverStringDOSItalian[1] = { + "Molto intelligente! Ma i tuoi deboli sforzi sono vani." +}; + +static const StringListProvider k1VeryCleverStringDOSItalianProvider = { ARRAYSIZE(k1VeryCleverStringDOSItalian), k1VeryCleverStringDOSItalian }; + +static const char *const k1GUIStringsDOSItalian[60] = { + "The Legend of Kyrandia", + "Carica un gioco", + "Salva questo gioco", + "Comandi di Gioco", + "Abbandona il gioco", + "Ricomincia il gioco", + "Comandi di gioco", + "Quale gioco desideri ricaricare?", + "Seleziona una posizione da salvare:", + "[ GRIGLIA VUOTA ]", + "Annulla", + "Inserisci descrizione del tuo gioco salvato:", + "Salva", + "Riposa in pace, Brandon.", + "Sei sicuro di voler abbandonare il gioco?", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "Menu principale", + "acceso", + "spento", + "Si", + "No", + "_""\x0F""T+k""\x0F""T+q""\x0F""T+y""\x0F""T+""\x80\x0F""T+""\x8D\x0F""T+""\x99\x0F""T+""\xA1\x0F""T+""\xA8\x0F""T+Velocit""\x85"" di movimento", + "Velocit""\x85"" del testo", + "Musica ""\x8A", + "Suoni sono" +}; + +static const StringListProvider k1GUIStringsDOSItalianProvider = { ARRAYSIZE(k1GUIStringsDOSItalian), k1GUIStringsDOSItalian }; + +static const char *const k1NewGameStringDOSItalian[1] = { + "[ INIZIARE UN NUOVO GIOCO ]" +}; + +static const StringListProvider k1NewGameStringDOSItalianProvider = { ARRAYSIZE(k1NewGameStringDOSItalian), k1NewGameStringDOSItalian }; + +static const char *const k1ConfigStringsDOSItalian[9] = { + "molto lento", + "lento", + "normale", + "veloce", + "molto veloce", + "molto lento", + "normale", + "veloce", + "cliccabile" +}; + +static const StringListProvider k1ConfigStringsDOSItalianProvider = { ARRAYSIZE(k1ConfigStringsDOSItalian), k1ConfigStringsDOSItalian }; + diff --git a/devtools/create_kyradat/resources/lok_dos_oldfloppy.h b/devtools/create_kyradat/resources/lok_dos_oldfloppy.h new file mode 100644 index 0000000000..e19cb5a6ef --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_oldfloppy.h @@ -0,0 +1,1911 @@ +static const byte k1KallakWritingSeqDOSOldFloppy[2037] = { + 0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, + 0x00, 0x19, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14, + 0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, + 0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, + 0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x06, + 0x3C, 0x00, 0x01, 0x00, 0x1D +}; + +static const ByteProvider k1KallakWritingSeqDOSOldFloppyProvider = { ARRAYSIZE(k1KallakWritingSeqDOSOldFloppy), k1KallakWritingSeqDOSOldFloppy }; + +static const byte k1MalcolmTreeSeqDOSOldFloppy[534] = { + 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01, + 0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x10, 0x19, 0x03, 0x09, 0x18, 0x1E, 0x14, 0x18, + 0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, + 0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, + 0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, + 0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, + 0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, + 0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, + 0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, + 0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, + 0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, + 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, + 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, + 0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, + 0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, + 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, + 0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, + 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, + 0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, + 0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, + 0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, + 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, + 0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x1D +}; + +static const ByteProvider k1MalcolmTreeSeqDOSOldFloppyProvider = { ARRAYSIZE(k1MalcolmTreeSeqDOSOldFloppy), k1MalcolmTreeSeqDOSOldFloppy }; + +static const byte k1WestwoodLogoSeqDOSOldFloppy[75] = { + 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03, + 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, + 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16, + 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, + 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, + 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13, + 0x01, 0x03, 0x1D +}; + +static const ByteProvider k1WestwoodLogoSeqDOSOldFloppyProvider = { ARRAYSIZE(k1WestwoodLogoSeqDOSOldFloppy), k1WestwoodLogoSeqDOSOldFloppy }; + +static const byte k1KyrandiaLogoSeqDOSOldFloppy[92] = { + 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, + 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, + 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, + 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, + 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, + 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x06, 0x1D +}; + +static const ByteProvider k1KyrandiaLogoSeqDOSOldFloppyProvider = { ARRAYSIZE(k1KyrandiaLogoSeqDOSOldFloppy), k1KyrandiaLogoSeqDOSOldFloppy }; + +static const byte k1KallakMalcolmSeqDOSOldFloppy[615] = { + 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03, + 0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, + 0xC7, 0x0C, 0x02, 0x19, 0x05, 0x02, 0x04, 0x00, + 0x10, 0x00, 0x3A, 0x09, 0x14, 0x18, 0x23, 0x0A, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x00, + 0x22, 0x00, 0x10, 0x02, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x01, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x01, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x03, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x02, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x02, 0x17, 0x00, 0x06, + 0x3C, 0x00, 0x10, 0x04, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x03, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x03, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x05, 0xF0, + 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, + 0x3C, 0x00, 0x10, 0x06, 0xF0, 0x00, 0x3A, 0x0F, + 0x0A, 0x04, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x04, 0x12, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x06, 0x78, 0x00, 0x10, 0x07, 0xF0, + 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x05, 0x11, 0x00, 0x06, 0x3C, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x08, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x06, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x09, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x07, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x07, 0x0A, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, + 0x0A, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x08, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x08, 0x10, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x10, 0x0B, 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x3C, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x0C, + 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x09, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x09, 0x0E, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x10, 0x0D, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x0A, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0A, 0x0E, + 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x0B, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x0B, 0x02, 0x00, 0x18, + 0x20, 0x0A, 0x0C, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x0C, 0x06, 0x00, 0x18, 0x21, 0x0A, 0x0D, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0D, 0x0C, + 0x00, 0x18, 0x22, 0x0A, 0x0E, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x0E, 0x0B, 0x00, 0x10, 0x0E, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x0F, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x0F, 0x09, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, + 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x10, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x10, 0x09, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x10, 0x10, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x11, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x11, 0x0F, + 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x10, 0x11, 0x50, 0x00, 0x3A, 0x05, 0x0A, + 0x12, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x12, + 0x14, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x13, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x06, 0x00, + 0x18, 0x23, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x13, 0x07, 0x00, 0x11, 0x06, 0x3C, + 0x00, 0x13, 0x19, 0x01, 0x01, 0x04, 0x1D +}; + +static const ByteProvider k1KallakMalcolmSeqDOSOldFloppyProvider = { ARRAYSIZE(k1KallakMalcolmSeqDOSOldFloppy), k1KallakMalcolmSeqDOSOldFloppy }; + +static const byte k1ForestSeqDOSOldFloppy[405] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, + 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, + 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, + 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, + 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, + 0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18, + 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02, + 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02, + 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13, + 0x01, 0x07, 0x01, 0x05, 0x1D +}; + +static const ByteProvider k1ForestSeqDOSOldFloppyProvider = { ARRAYSIZE(k1ForestSeqDOSOldFloppy), k1ForestSeqDOSOldFloppy }; + +static const char *const k1IntroCPSStringsDOSOldFloppy[2] = { + "mal-kal.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsDOSOldFloppyProvider = { ARRAYSIZE(k1IntroCPSStringsDOSOldFloppy), k1IntroCPSStringsDOSOldFloppy }; + +static const char *const k1IntroCOLStringsDOSOldFloppy[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsDOSOldFloppyProvider = { ARRAYSIZE(k1IntroCOLStringsDOSOldFloppy), k1IntroCOLStringsDOSOldFloppy }; + +static const char *const k1IntroWSAStringsDOSOldFloppy[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsDOSOldFloppyProvider = { ARRAYSIZE(k1IntroWSAStringsDOSOldFloppy), k1IntroWSAStringsDOSOldFloppy }; + +static const Room k1RoomListDOSOldFloppy[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 51, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 37, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListDOSOldFloppyProvider = { ARRAYSIZE(k1RoomListDOSOldFloppy), k1RoomListDOSOldFloppy }; + +static const char *const k1RoomFilenamesDOSOldFloppy[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesDOSOldFloppyProvider = { ARRAYSIZE(k1RoomFilenamesDOSOldFloppy), k1RoomFilenamesDOSOldFloppy }; + +static const char *const k1CharacterImageFilenamesDOSOldFloppy[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesDOSOldFloppyProvider = { ARRAYSIZE(k1CharacterImageFilenamesDOSOldFloppy), k1CharacterImageFilenamesDOSOldFloppy }; + +static const Shape k1DefaultShapesDOSOldFloppy[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesDOSOldFloppyProvider = { ARRAYSIZE(k1DefaultShapesDOSOldFloppy), k1DefaultShapesDOSOldFloppy }; + +static const byte k1AmuleteAnimSeqDOSOldFloppy[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqDOSOldFloppyProvider = { ARRAYSIZE(k1AmuleteAnimSeqDOSOldFloppy), k1AmuleteAnimSeqDOSOldFloppy }; + +static const byte k1SpecialPalette1DOSOldFloppy[21] = { + 0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D, + 0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D, + 0x12, 0x0D, 0x18, 0x0F, 0x0B +}; + +static const ByteProvider k1SpecialPalette1DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette1DOSOldFloppy), k1SpecialPalette1DOSOldFloppy }; + +static const byte k1SpecialPalette2DOSOldFloppy[51] = { + 0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25, + 0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26, + 0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C, + 0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27, + 0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A, + 0x17, 0x0C, 0x08 +}; + +static const ByteProvider k1SpecialPalette2DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette2DOSOldFloppy), k1SpecialPalette2DOSOldFloppy }; + +static const byte k1SpecialPalette3DOSOldFloppy[51] = { + 0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C, + 0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21, + 0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B, + 0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D, + 0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08, + 0x11, 0x0A, 0x05 +}; + +static const ByteProvider k1SpecialPalette3DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette3DOSOldFloppy), k1SpecialPalette3DOSOldFloppy }; + +static const byte k1SpecialPalette4DOSOldFloppy[51] = { + 0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21, + 0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24, + 0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05, + 0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A, + 0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22, + 0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03, + 0x12, 0x0A, 0x03 +}; + +static const ByteProvider k1SpecialPalette4DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette4DOSOldFloppy), k1SpecialPalette4DOSOldFloppy }; + +static const byte k1SpecialPalette5DOSOldFloppy[51] = { + 0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A, + 0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E, + 0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A, + 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08, + 0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19, + 0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, + 0x11, 0x08, 0x05 +}; + +static const ByteProvider k1SpecialPalette5DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette5DOSOldFloppy), k1SpecialPalette5DOSOldFloppy }; + +static const byte k1SpecialPalette6DOSOldFloppy[51] = { + 0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A, + 0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11, + 0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B, + 0x0A, 0x19, 0x0A +}; + +static const ByteProvider k1SpecialPalette6DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette6DOSOldFloppy), k1SpecialPalette6DOSOldFloppy }; + +static const byte k1SpecialPalette7DOSOldFloppy[54] = { + 0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00, + 0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A, + 0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25, + 0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14, + 0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14, + 0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B +}; + +static const ByteProvider k1SpecialPalette7DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette7DOSOldFloppy), k1SpecialPalette7DOSOldFloppy }; + +static const byte k1SpecialPalette8DOSOldFloppy[54] = { + 0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29, + 0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14, + 0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F, + 0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F, + 0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14, + 0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F, + 0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F +}; + +static const ByteProvider k1SpecialPalette8DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette8DOSOldFloppy), k1SpecialPalette8DOSOldFloppy }; + +static const byte k1SpecialPalette9DOSOldFloppy[45] = { + 0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette9DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette9DOSOldFloppy), k1SpecialPalette9DOSOldFloppy }; + +static const byte k1SpecialPalette10DOSOldFloppy[45] = { + 0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette10DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette10DOSOldFloppy), k1SpecialPalette10DOSOldFloppy }; + +static const byte k1SpecialPalette11DOSOldFloppy[45] = { + 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette11DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette11DOSOldFloppy), k1SpecialPalette11DOSOldFloppy }; + +static const byte k1SpecialPalette12DOSOldFloppy[45] = { + 0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette12DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette12DOSOldFloppy), k1SpecialPalette12DOSOldFloppy }; + +static const byte k1SpecialPalette13DOSOldFloppy[45] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette13DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette13DOSOldFloppy), k1SpecialPalette13DOSOldFloppy }; + +static const byte k1SpecialPalette14DOSOldFloppy[60] = { + 0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20, + 0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08, + 0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27, + 0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08, + 0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00, + 0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette14DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette14DOSOldFloppy), k1SpecialPalette14DOSOldFloppy }; + +static const byte k1SpecialPalette15DOSOldFloppy[45] = { + 0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00, + 0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17, + 0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E, + 0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00, + 0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05, + 0x00, 0x08, 0x01, 0x00, 0x03 +}; + +static const ByteProvider k1SpecialPalette15DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette15DOSOldFloppy), k1SpecialPalette15DOSOldFloppy }; + +static const byte k1SpecialPalette16DOSOldFloppy[33] = { + 0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34, + 0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00, + 0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F, + 0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette16DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette16DOSOldFloppy), k1SpecialPalette16DOSOldFloppy }; + +static const byte k1SpecialPalette17DOSOldFloppy[33] = { + 0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32, + 0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26, + 0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D, + 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette17DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette17DOSOldFloppy), k1SpecialPalette17DOSOldFloppy }; + +static const byte k1SpecialPalette18DOSOldFloppy[21] = { + 0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F, + 0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15, + 0x1E, 0x25, 0x11, 0x19, 0x1F +}; + +static const ByteProvider k1SpecialPalette18DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette18DOSOldFloppy), k1SpecialPalette18DOSOldFloppy }; + +static const byte k1SpecialPalette19DOSOldFloppy[21] = { + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, + 0x00, 0x25, 0x00, 0x00, 0x1F +}; + +static const ByteProvider k1SpecialPalette19DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette19DOSOldFloppy), k1SpecialPalette19DOSOldFloppy }; + +static const byte k1SpecialPalette20DOSOldFloppy[21] = { + 0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F, + 0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33, + 0x22, 0x23, 0x31, 0x1F, 0x20 +}; + +static const ByteProvider k1SpecialPalette20DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette20DOSOldFloppy), k1SpecialPalette20DOSOldFloppy }; + +static const byte k1SpecialPalette21DOSOldFloppy[21] = { + 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x1F, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette21DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette21DOSOldFloppy), k1SpecialPalette21DOSOldFloppy }; + +static const byte k1SpecialPalette22DOSOldFloppy[21] = { + 0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B, + 0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30, + 0x30, 0x19, 0x2D, 0x2D, 0x17 +}; + +static const ByteProvider k1SpecialPalette22DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette22DOSOldFloppy), k1SpecialPalette22DOSOldFloppy }; + +static const byte k1SpecialPalette23DOSOldFloppy[21] = { + 0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B, + 0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30, + 0x30, 0x00, 0x2D, 0x2D, 0x00 +}; + +static const ByteProvider k1SpecialPalette23DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette23DOSOldFloppy), k1SpecialPalette23DOSOldFloppy }; + +static const byte k1SpecialPalette24DOSOldFloppy[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, + 0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, + 0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08, + 0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06 +}; + +static const ByteProvider k1SpecialPalette24DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette24DOSOldFloppy), k1SpecialPalette24DOSOldFloppy }; + +static const byte k1SpecialPalette25DOSOldFloppy[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B, + 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A, + 0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06 +}; + +static const ByteProvider k1SpecialPalette25DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette25DOSOldFloppy), k1SpecialPalette25DOSOldFloppy }; + +static const byte k1SpecialPalette26DOSOldFloppy[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A, + 0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06 +}; + +static const ByteProvider k1SpecialPalette26DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette26DOSOldFloppy), k1SpecialPalette26DOSOldFloppy }; + +static const byte k1SpecialPalette27DOSOldFloppy[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08 +}; + +static const ByteProvider k1SpecialPalette27DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette27DOSOldFloppy), k1SpecialPalette27DOSOldFloppy }; + +static const byte k1SpecialPalette28DOSOldFloppy[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette28DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette28DOSOldFloppy), k1SpecialPalette28DOSOldFloppy }; + +static const byte k1SpecialPalette29DOSOldFloppy[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, + 0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette29DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette29DOSOldFloppy), k1SpecialPalette29DOSOldFloppy }; + +static const byte k1SpecialPalette30DOSOldFloppy[60] = { + 0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12, + 0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F, + 0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28, + 0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A, + 0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01, + 0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05, + 0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14, + 0x11, 0x0F, 0x0D, 0x00 +}; + +static const ByteProvider k1SpecialPalette30DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette30DOSOldFloppy), k1SpecialPalette30DOSOldFloppy }; + +static const byte k1SpecialPalette31DOSOldFloppy[39] = { + 0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14, + 0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18, + 0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15, + 0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03, + 0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette31DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette31DOSOldFloppy), k1SpecialPalette31DOSOldFloppy }; + +static const byte k1SpecialPalette32DOSOldFloppy[39] = { + 0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F, + 0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A, + 0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08, + 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette32DOSOldFloppyProvider = { ARRAYSIZE(k1SpecialPalette32DOSOldFloppy), k1SpecialPalette32DOSOldFloppy }; + +static const Shape k1Healing1ShapesDOSOldFloppy[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesDOSOldFloppyProvider = { ARRAYSIZE(k1Healing1ShapesDOSOldFloppy), k1Healing1ShapesDOSOldFloppy }; + +static const Shape k1Healing2ShapesDOSOldFloppy[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesDOSOldFloppyProvider = { ARRAYSIZE(k1Healing2ShapesDOSOldFloppy), k1Healing2ShapesDOSOldFloppy }; + +static const Shape k1PoisonDeathShapesDOSOldFloppy[20] = { + { 19, 0, 0, 8, 48, -32, -48 }, + { 19, 8, 0, 8, 48, -32, -48 }, + { 19, 16, 0, 8, 48, -32, -48 }, + { 19, 24, 0, 8, 48, -32, -48 }, + { 19, 32, 0, 8, 48, -32, -48 }, + { 19, 0, 48, 8, 48, -32, -48 }, + { 19, 8, 48, 8, 48, -32, -48 }, + { 19, 16, 48, 8, 48, -32, -48 }, + { 19, 24, 48, 8, 48, -32, -48 }, + { 19, 32, 48, 8, 48, -32, -48 }, + { 19, 0, 96, 8, 48, -32, -48 }, + { 19, 8, 96, 8, 48, -32, -48 }, + { 19, 16, 96, 8, 48, -32, -48 }, + { 19, 24, 96, 8, 48, -32, -48 }, + { 19, 32, 96, 8, 48, -32, -48 }, + { 19, 0, 144, 8, 48, -32, -48 }, + { 19, 8, 144, 8, 48, -32, -48 }, + { 19, 16, 144, 8, 48, -32, -48 }, + { 19, 24, 144, 8, 48, -32, -48 }, + { 19, 32, 144, 8, 48, -32, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesDOSOldFloppyProvider = { ARRAYSIZE(k1PoisonDeathShapesDOSOldFloppy), k1PoisonDeathShapesDOSOldFloppy }; + +static const Shape k1FluteShapesDOSOldFloppy[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesDOSOldFloppyProvider = { ARRAYSIZE(k1FluteShapesDOSOldFloppy), k1FluteShapesDOSOldFloppy }; + +static const Shape k1Winter1ShapesDOSOldFloppy[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesDOSOldFloppyProvider = { ARRAYSIZE(k1Winter1ShapesDOSOldFloppy), k1Winter1ShapesDOSOldFloppy }; + +static const Shape k1Winter2ShapesDOSOldFloppy[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 5, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 15, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 25, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 35, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 5, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 15, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 25, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 10, 35, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 5, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 15, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 25, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 35, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 5, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 15, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 25, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 35, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 5, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter2ShapesDOSOldFloppyProvider = { ARRAYSIZE(k1Winter2ShapesDOSOldFloppy), k1Winter2ShapesDOSOldFloppy }; + +static const Shape k1Winter3ShapesDOSOldFloppy[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesDOSOldFloppyProvider = { ARRAYSIZE(k1Winter3ShapesDOSOldFloppy), k1Winter3ShapesDOSOldFloppy }; + +static const Shape k1DrinkShapesDOSOldFloppy[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 7, 0, 0, 3, 43, -12, -43 }, + { 7, 3, 3, 2, 40, -8, -40 }, + { 7, 5, 7, 2, 36, -8, -36 }, + { 7, 7, 10, 2, 33, -8, -33 }, + { 7, 9, 12, 2, 31, -8, -31 }, + { 7, 11, 15, 2, 28, -8, -28 } +}; + +static const ShapeProvider k1DrinkShapesDOSOldFloppyProvider = { ARRAYSIZE(k1DrinkShapesDOSOldFloppy), k1DrinkShapesDOSOldFloppy }; + +static const Shape k1WispShapesDOSOldFloppy[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesDOSOldFloppyProvider = { ARRAYSIZE(k1WispShapesDOSOldFloppy), k1WispShapesDOSOldFloppy }; + +static const Shape k1MagicAnimShapesDOSOldFloppy[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesDOSOldFloppyProvider = { ARRAYSIZE(k1MagicAnimShapesDOSOldFloppy), k1MagicAnimShapesDOSOldFloppy }; + +static const Shape k1BranStoneShapesDOSOldFloppy[15] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 }, + { 0, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1BranStoneShapesDOSOldFloppyProvider = { ARRAYSIZE(k1BranStoneShapesDOSOldFloppy), k1BranStoneShapesDOSOldFloppy }; + +static const byte k1OutroReunionSeqDOSOldFloppy[1351] = { + 0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02, + 0x08, 0x00, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00, + 0x3A, 0x02, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x0E, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78, + 0x00, 0x3A, 0x0F, 0x0A, 0x03, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24, + 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x06, + 0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A, + 0x00, 0x3A, 0x02, 0x02, 0x08, 0x4E, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x51, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x52, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x53, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x28, + 0x78, 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x02, 0x08, + 0x59, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x5A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06, + 0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x0F, + 0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x5D, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x0B, + 0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x5E, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0x5A, + 0x00, 0x11, 0x18, 0x69, 0x02, 0x08, 0x64, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x65, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x74, + 0x02, 0x08, 0x66, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x67, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x18, 0x75, 0x02, 0x08, 0x68, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x69, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x10, 0x2B, + 0x96, 0x00, 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, + 0x6B, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, + 0x00, 0x06, 0x1E, 0x00, 0x10, 0x2C, 0x96, 0x00, + 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, + 0x1E, 0x00, 0x10, 0x2D, 0x96, 0x00, 0x1C, 0x22, + 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00, + 0x02, 0x08, 0x72, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x73, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x06, 0x14, 0x00, 0x02, 0x08, 0x74, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x75, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, + 0x78, 0x00, 0x13, 0x0E, 0x01, 0x08, 0x1D +}; + +static const ByteProvider k1OutroReunionSeqDOSOldFloppyProvider = { ARRAYSIZE(k1OutroReunionSeqDOSOldFloppy), k1OutroReunionSeqDOSOldFloppy }; + +static const char *const k1AudioTracksDOSOldFloppy[8] = { + "KYRA1A", + "KYRA1B", + "KYRA2A", + "KYRA3A", + "KYRA4A", + "KYRA4B", + "KYRA5A", + "KYRA5B" +}; + +static const StringListProvider k1AudioTracksDOSOldFloppyProvider = { ARRAYSIZE(k1AudioTracksDOSOldFloppy), k1AudioTracksDOSOldFloppy }; + +static const char *const k1AudioTracks2DOSOldFloppy[1] = { + "kyramisc" +}; + +static const StringListProvider k1AudioTracks2DOSOldFloppyProvider = { ARRAYSIZE(k1AudioTracks2DOSOldFloppy), k1AudioTracks2DOSOldFloppy }; + +static const char *const k1AudioTracksIntroDOSOldFloppy[1] = { + "intro" +}; + +static const StringListProvider k1AudioTracksIntroDOSOldFloppyProvider = { ARRAYSIZE(k1AudioTracksIntroDOSOldFloppy), k1AudioTracksIntroDOSOldFloppy }; + diff --git a/devtools/create_kyradat/resources/lok_dos_oldfloppy_russian.h b/devtools/create_kyradat/resources/lok_dos_oldfloppy_russian.h new file mode 100644 index 0000000000..d0afaf6c50 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_oldfloppy_russian.h @@ -0,0 +1,328 @@ +static const char *const k1IntroStringsDOSOldFloppyRussian[51] = { + "This is a text test - 1", + "This is a text test - 2", + "\x08""p""\x18\x14""e""\x1F"", Ka""\x1B\x1B""a""\x1A""...", + "...""\x08""o""\x14""e""\x1B\x18\x1F""e""\x1B""{ Kopo""\x1B""e""\x14""c""\x1A""o""\x19"" Ma""\x15\x18\x18""!", + "\x12"" ""\x1D""e ""\x18""c""\x1E""y""\x15""a""\x1B"" ""\x1F""e""\x13""~?", + "Ma""\x1B\x1A""o""\x1B\x1C""!", + "\x12"" ""\x14""\\epa y""\x17\x1D""a""\x1B"" o ""\x1F\x14""oe""\x1C"" ""\x1E""o""\x13""e""\x15""e...", + "... ""\x18"" o""\x7F\x18\x16""a""\x1B"" ""\x1F""e""\x13""~ y""\x14\x18\x16""e""\x1F""{.", + "K \\e""\x1C""y c""\x1E""e]""\x18\x1F""{?", + "\x12"" ""\x17\x16""ec{ ""\x02""oc""\x1E""o""\x16\x18\x1D""!", + "T""\x14""oe ""\x1E""po""\x1A\x1B""~""\x1F\x18""e ""\x1C""e""\x1D""~ ""\x1D""e y""\x16""ep""\x7F\x18\x1F"".", + "Ta""\x1A"" y""\x13""e""\x19"" ""\x1C""e""\x1D""~!", + "\t ""\x1C""e""\x1D""~ oc""\x1F""a""\x1B""ac{ e^e ""\x1C""a""\x15\x18""~", + "He co""\x1C\x1D""e""\x14""a""\x19""c~...", + "...""\x1F""e""\x1E""ep{ ""\x1F""` ""\x1A""a""\x1C""e""\x1D""{...", + "...""\x1D""o ~ oc""\x1F""a""\x14\x18\x1B"" ""\x15\x1B""a""\x17""a.", + "\x12"" ""\x1D""e ""\x13""y""\x16""y ""\x1E\x1B""a""\x1A""a""\x1F""{ o K""\x18""pa""\x1D\x16\x18\x18""...", + "...""\x1D""o ""\x17""a""\x1E""pe""\x1F\x18\x1F""{ ""\x1F""e""\x13""e ""\x1D""e ""\x1C""o""\x15""y.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "Ka""\x1A"" ""\x1F""` ""\x1E""oc""\x1C""e""\x1B""!", + "Ho ""\x1D\x18""\\e""\x15""o, y ""\x1C""e""\x1D""~ ec""\x1F""{ ""\x1A""oe-\\""\x1F""o...", + "Bo""\x1F"" ""\x1A""o""\x1C""e""\x16\x18""~!", + "Ho ~ \\ec""\x1F\x1D""o ""\x1E""pe""\x16""y""\x1E""pe""\x7F\x16""a}.", + "He ""\x1E""p`""\x15""a""\x19"" ""\x1D""a ""\x10""TO ""\x16""epe""\x14""o!", + "He ""\x14\x17\x13\x18""pa""\x19""c~ ""\x1D""a ""\x10""TO ""\x16""epe""\x14""o ""\x13""e""\x1B""o\\""\x1A""a!", + "\x02""AB!", + "Ta""\x1A"" c""\x1C""e]""\x1D""ee...", + "...He ""\x1F""a""\x1A"" ""\x1B\x18""?", + "Xa xa xa...", + "Pa""\x17\x14""e ""\x1E""a""\x1B""{[` ""\x1D""e ""\x1E""pe""\x1A""pac""\x1D""`", + "Ka""\x1A"" ""\x17\x16""opo""\x14""o o""\x7F\x18\x1F""{!", + "\x01""p|""\x1D\x16""o""\x1D""!", + "\x03""e""\x16""! M` c""\x16""e""\x1B""a""\x1B\x18"" |""\x1F""o!", + "He""\x1F""! T` c""\x16""e""\x1B""a""\x1B""!", + "\tpa Kopo""\x1B""} ""\x01""p|""\x1D\x16""o""\x1D""y!", + "\tpa Kopo""\x1B""e""\x14""c""\x1A""o""\x19"" Ma""\x15\x18\x18""!", + "Te""\x1E""ep{ ""\x1C""o""\x7F\x1D""o ""\x17""a""\x1D""~""\x1F""{c~ K""\x18""pa""\x1D\x16\x18""e""\x19"" ""\x14\x1C""ec""\x1F""e!", + "O""\x1F\x1B\x18""\\""\x1D""o!", + "\x06"" ""\x1C""o""\x19"" ""\x1E""ep""\x14""`""\x19"" Kopo""\x1B""e""\x14""c""\x1A\x18\x19"" \t""\x1A""a""\x17""...", + "\x12"" o""\x13""_~""\x14\x1B""~} ca""\x1D\x16""a""\x1B\x18\x18"" o@""\x18""[""\x18""a""\x1B""{""\x1D""o""\x19"" o""\x13""y""\x14""{} K""\x18""pa""\x1D\x16\x18\x18""!", + "O""\x1F\x1B\x18""\\""\x1D""o, ""\x01""p|""\x1D\x16""o""\x1D""!", + "\x05""e""\x1C\x1B""~ ""\x13""o""\x1B""{]e ""\x1D""e c""\x1F""pa""\x16""ae""\x1F""...", + "\x06"" c ""\x1F\x14""o""\x18""x ""\x16""py""\x17""e""\x19"" c""\x1D""~""\x1F""o ""\x17""a""\x1A\x1B""~""\x1F\x18""e!", + "\x03""opo""\x15""a~ ""\x01""p""\x18\x1D"".", + "Ma""\x1B\x1A""o""\x1B\x1C"" oc""\x14""o""\x13""o""\x16\x18\x1B""c~!", + "C""\x1A""opo o""\x1D"" ""\x1E""p""\x18\x16""e""\x1F"" ""\x17""a ""\x1C\x1D""o""\x19"".", + "\x08""o""\x1C""o""\x15\x18"" ""\x01""p|""\x1D\x16""o""\x1D""y...", + "" +}; + +static const StringListProvider k1IntroStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1IntroStringsDOSOldFloppyRussian), k1IntroStringsDOSOldFloppyRussian }; + +static const char *const k1ItemNamesDOSOldFloppyRussian[107] = { + "\x02""pa""\x1D""a""\x1F", + "A""\x1C""e""\x1F\x18""c""\x1F", + "A""\x1A\x14""a""\x1C""ap""\x18\x1D", + "A""\x1B\x1C""a""\x17", + "\x06\x17""y""\x1C""py""\x16", + "\x04""e""\x1C""\\y""\x7F\x18\x1D""a", + "Py""\x13\x18\x1D", + "\x08""ep""\x18\x16""o""\x1F", + "Ca""\x1E""@""\x18""p", + "O""\x1E""a""\x1B", + "To""\x1E""a""\x17", + "O""\x1D\x18\x1A""c", + "Co""\x1B\x1D""e\\""\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "\x07""y""\x1D\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "Pa""\x16""y""\x7F\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "Ko""\x1C\x1E""ac", + "Po""\x17""a", + "T}""\x1B""{""\x1E""a""\x1D", + "Opx""\x18\x16""e~", + "Cepe""\x13""p~""\x1D\x1D""a~ po""\x17""a", + "Cepe""\x13""p~""\x1D\x1D""a~ c""\x1F""a""\x1F""ye""\x1F\x1A""a", + "Cepe""\x13""p~""\x1D\x1D""a~ ""\x1C""o""\x1D""e""\x1F""a", + "\x05""o""\x1B""o""\x1F""a~ ""\x1C""o""\x1D""e""\x1F""a", + "\x05""o""\x1B""o""\x1F""oe ""\x1A""o""\x1B""{[o", + "Kopo""\x1B""e""\x14""c""\x1A""a~ \\a]a", + "\x0E\x18""]""\x1A""a", + "\x04""e""\x1B""y""\x16""{", + "Opex", + "Be\\""\x1D""oc""\x18""~}^""\x18""e ~""\x15""o""\x16""`", + "O""\x15\x1D""e""\x1D\x1D""`e ~""\x15""o""\x16""`", + "O""\x15\x1D""e""\x1D\x1D""`e ~""\x15""o""\x16""`", + "O""\x15\x1D""e""\x1D\x1D""`e ~""\x15""o""\x16""`", + "O""\x15\x1D""e""\x1D\x1D""`e ~""\x15""o""\x16""`", + "O""\x15\x1D""e""\x1D\x1D""`e ~""\x15""o""\x16""`", + "P`""\x13""a", + "C""\x1A""e""\x1B""e""\x1F"" p`""\x13""`", + "\x01""apa""\x1D""{~ ""\x1D""o""\x15""a", + "Koc""\x1F""{", + "\x12\x13\x1B""o""\x1A""o", + "O""\x15""p`""\x17""o""\x1A", + "C""\x18\x1D\x18""e ~""\x15""o""\x16""`", + "\x02""p""\x18\x13", + "\x05""a""\x1E\x18""c""\x1A""a", + "Mpa""\x1C""op", + "\x08\x18\x1B""a", + "A""\x1D\x1A", + "\x08""epo", + "\x12\x19""[o", + "\x07\x18""c""\x1F", + "Tp""\x18\x1B\x18""c""\x1F\x1D\x18\x1A", + "\t""\x1E""a""\x14""]a~ ""\x17\x14""e""\x17\x16""a", + "Xpyc""\x1F""a""\x1B""{""\x1D""`""\x19"" ]ap", + "C""\x1B""e""\x17""a", + "\x05""ep""\x1A""a""\x1B""o", + "\x07""{""\x16\x18\x1D\x1A""a", + "\n""\x1B""e""\x19\x1F""a", + "\x08""eco\\""\x1D""`e \\ac`", + "\x04""e""\x1B""e""\x17\x1D""`""\x19"" ""\x1A\x1B""}\\", + "He@p""\x18\x1F""o""\x14""`""\x19"" ""\x1A\x1B""}\\", + "O""\x13""c""\x18\x16\x18""a""\x1D""o""\x14""`""\x19"" ""\x1A\x1B""}\\", + "Kpac""\x1D""oe ""\x17""e""\x1B""{e", + "Kpac""\x1D""oe ""\x17""e""\x1B""{e", + "C""\x18\x1D""ee ""\x17""e""\x1B""{e", + "C""\x18\x1D""ee ""\x17""e""\x1B""{e", + "\x04""e""\x1B\x1F""oe ""\x17""e""\x1B""{e", + "\x04""e""\x1B\x1F""oe ""\x17""e""\x1B""{e", + "\x05""e""\x1B""e""\x1D""oe ""\x17""e""\x1B""{e", + "Opa""\x1D\x7F""e""\x14""oe ""\x17""e""\x1B""{e", + "\x08""yp""\x1E""yp""\x1D""oe ""\x17""e""\x1B""{e", + "Pa""\x16""y""\x7F\x1D""oe ""\x17""e""\x1B""{e", + "C""\x14""e""\x7F""a~ Bo""\x16""a", + "C""\x14""e""\x7F""a~ Bo""\x16""a", + "Co""\x1B""e""\x1D""a~ ""\x14""o""\x16""a", + "Co""\x1B""e""\x1D""a~ ""\x14""o""\x16""a", + "M""\x18\x1D""epa""\x1B""{""\x1D""a~ ""\x14""o""\x16""a", + "M""\x18\x1D""epa""\x1B""{""\x1D""a~ ""\x14""o""\x16""a", + "Bo""\x1B""]e""\x13\x1D""a~ ""\x14""o""\x16""a", + "Bo""\x1B""]e""\x13\x1D""a~ ""\x14""o""\x16""a", + "\x08""yc""\x1F""a~ @""\x1B""~""\x15""a", + "\x08""yc""\x1F""a~ @""\x1B""~""\x15""a", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "C""\x14\x18\x1F""o""\x1A", + "\x08""ep""\x15""a""\x1C""e""\x1D\x1F", + "\x08""ep""\x15""a""\x1C""e""\x1D\x1F", + "\x08""ep""\x15""a""\x1C""e""\x1D\x1F", + "\x08""ep""\x15""a""\x1C""e""\x1D\x1F", + "\x08""ep""\x15""a""\x1C""e""\x1D\x1F", + "Kpac""\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "Opa""\x1D\x7F""e""\x14""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "\x04""e""\x1B\x1F""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "\x05""e""\x1B""e""\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "C""\x18\x1D""e-""\x17""e""\x1B""e""\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "C""\x18\x1D\x18\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "\x08""yp""\x1E""yp""\x1D""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "T~""\x7F""e""\x1B""`""\x19"" ""\x1A""a""\x1C""e""\x1D""{", + "Kopo""\x1B""e""\x14""c""\x1A""a~ ""\x1A""opo""\x1D""a", + "Kopo""\x1B""e""\x14""c""\x1A\x18\x19"" c""\x1A\x18\x1E""e""\x1F""p", + "\x05""o""\x1B""o""\x1F""o""\x19"" ""\x1A\x1B""}\\", + "?" +}; + +static const StringListProvider k1ItemNamesDOSOldFloppyRussianProvider = { ARRAYSIZE(k1ItemNamesDOSOldFloppyRussian), k1ItemNamesDOSOldFloppyRussian }; + +static const char *const k1TakenStringsDOSOldFloppyRussian[2] = { + " - ""\x14\x17""~""\x1B", + " - ""\x14\x17""~""\x1B" +}; + +static const StringListProvider k1TakenStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1TakenStringsDOSOldFloppyRussian), k1TakenStringsDOSOldFloppyRussian }; + +static const char *const k1PlacedStringsDOSOldFloppyRussian[1] = { + " y ""\x1C""e""\x1D""~." +}; + +static const StringListProvider k1PlacedStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1PlacedStringsDOSOldFloppyRussian), k1PlacedStringsDOSOldFloppyRussian }; + +static const char *const k1DroppedStringsDOSOldFloppyRussian[1] = { + " - ""\x13""poc""\x18\x1B" +}; + +static const StringListProvider k1DroppedStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1DroppedStringsDOSOldFloppyRussian), k1DroppedStringsDOSOldFloppyRussian }; + +static const char *const k1PutDownStringDOSOldFloppyRussian[1] = { + "Ha""\x14""ep""\x1D""o ""\x1B""y\\]e |""\x1F""o ""\x14\x1D""a\\a""\x1B""e ""\x1E""o""\x1B""o""\x7F\x18\x1F""{." +}; + +static const StringListProvider k1PutDownStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1PutDownStringDOSOldFloppyRussian), k1PutDownStringDOSOldFloppyRussian }; + +static const char *const k1WaitAmuletStringDOSOldFloppyRussian[1] = { + "Ha""\x14""ep""\x1D""oe ""\x1D""a""\x16""o ""\x1E""o""\x16""o""\x7F\x16""a""\x1F""{, ""\x1E""o""\x1A""a A""\x1C""y""\x1B""e""\x1F"" ""\x14""occ""\x1F""a""\x1D""o""\x14\x18\x1F"" c""\x14""o} c""\x18\x1B""y." +}; + +static const StringListProvider k1WaitAmuletStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1WaitAmuletStringDOSOldFloppyRussian), k1WaitAmuletStringDOSOldFloppyRussian }; + +static const char *const k1BlackJewelStringDOSOldFloppyRussian[1] = { + "\x10\x1F""o ""\x1A""a""\x1C""e""\x1D""{, ""\x1D""o ""\x1E""o\\e""\x1C""y o""\x1D"" \\ep""\x1D""`""\x19""?" +}; + +static const StringListProvider k1BlackJewelStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1BlackJewelStringDOSOldFloppyRussian), k1BlackJewelStringDOSOldFloppyRussian }; + +static const char *const k1HealingTipStringDOSOldFloppyRussian[1] = { + "\x10\x1F""o ""\x1C""o""\x7F""e""\x1F"" ""\x1E""p""\x18\x15""o""\x16\x18\x1F""c~, ec""\x1B\x18"" ~ ""\x17""a""\x13""o""\x1B""e}." +}; + +static const StringListProvider k1HealingTipStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1HealingTipStringDOSOldFloppyRussian), k1HealingTipStringDOSOldFloppyRussian }; + +static const char *const k1PoisonGoneStringDOSOldFloppyRussian[2] = { + "\x05\x16""opo""\x14""o!", + "\x03""e""\x19""c""\x1F\x14\x18""e o""\x1F""pa""\x14""` ""\x1E""pe""\x1A""pa""\x1F\x18\x1B""oc{!" +}; + +static const StringListProvider k1PoisonGoneStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1PoisonGoneStringDOSOldFloppyRussian), k1PoisonGoneStringDOSOldFloppyRussian }; + +static const char *const k1ThePoisonStringsDOSOldFloppyRussian[4] = { + "O""\x1F""pa""\x14""a...", + "He ""\x1C""o""\x15""y ""\x16""`]a""\x1F""{...", + "M""\x1D""e ""\x1D""exopo]o...", + "\x10\x1F""a ""\x17\x1C""e~\r~""\x16""o""\x14\x18\x1F""a!" +}; + +static const StringListProvider k1ThePoisonStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1ThePoisonStringsDOSOldFloppyRussian), k1ThePoisonStringsDOSOldFloppyRussian }; + +static const char *const k1FluteStringsDOSOldFloppyRussian[2] = { + "Not very impressive sounding.", + "That last note sure was high!" +}; + +static const StringListProvider k1FluteStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1FluteStringsDOSOldFloppyRussian), k1FluteStringsDOSOldFloppyRussian }; + +static const char *const k1WispJewelStringsDOSOldFloppyRussian[3] = { + "I'm not really feeling up to it right now.", + "Ha""\x14""ep""\x1D""oe ~ ""\x16""o""\x1B\x7F""e""\x1D"" ""\x1E""o""\x1B""o""\x7F\x18\x1F""{ ", + ",c""\x1D""a\\a""\x1B""a" +}; + +static const StringListProvider k1WispJewelStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1WispJewelStringsDOSOldFloppyRussian), k1WispJewelStringsDOSOldFloppyRussian }; + +static const char *const k1MagicJewelStringsDOSOldFloppyRussian[1] = { + "C""\x1F""pa""\x1D\x1D""oe \\y""\x14""c""\x1F\x14""o." +}; + +static const StringListProvider k1MagicJewelStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1MagicJewelStringsDOSOldFloppyRussian), k1MagicJewelStringsDOSOldFloppyRussian }; + +static const char *const k1FlaskFullStringDOSOldFloppyRussian[1] = { + "\x10\x1F""a @""\x1B""~""\x7F\x1A""a y""\x7F""e ""\x17""a""\x1E""o""\x1B\x1D""e""\x1D""a." +}; + +static const StringListProvider k1FlaskFullStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1FlaskFullStringDOSOldFloppyRussian), k1FlaskFullStringDOSOldFloppyRussian }; + +static const char *const k1FullFlaskStringDOSOldFloppyRussian[4] = { + "\n""\x1B""~""\x7F\x1A""a ""\x1F""e""\x1E""ep{ ""\x1E""o""\x1B\x1D""a\red\rc""\x14""e""\x7F""e""\x19"", c""\x14""ep""\x1A""a }^e""\x19"" ""\x14""o""\x16""o""\x19"".", + "\n""\x1B""~""\x7F\x1A""a ""\x1F""e""\x1E""ep{ ""\x1E""o""\x1B\x1D""a\red\rco""\x1B""e""\x1D""o""\x19"" ""\x14""o""\x16""o""\x19"".", + "\n""\x1B""~""\x7F\x1A""a ""\x1F""e""\x1E""ep{ ""\x1E""o""\x1B\x1D""a\red\r""\x1C\x18\x1D""epa""\x1B""{""\x1D""o""\x19"" ""\x14""o""\x16""o""\x19"".", + " o""\x1B""]. ""\x14""o""\x16""o""\x19""." +}; + +static const StringListProvider k1FullFlaskStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1FullFlaskStringDOSOldFloppyRussian), k1FullFlaskStringDOSOldFloppyRussian }; + +static const char *const k1OutroHomeStringDOSOldFloppyRussian[1] = { + "\x03""o""\x1C""a" +}; + +static const StringListProvider k1OutroHomeStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1OutroHomeStringDOSOldFloppyRussian), k1OutroHomeStringDOSOldFloppyRussian }; + +static const char *const k1VeryCleverStringDOSOldFloppyRussian[1] = { + "Very clever! But your feeble efforts are futile." +}; + +static const StringListProvider k1VeryCleverStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1VeryCleverStringDOSOldFloppyRussian), k1VeryCleverStringDOSOldFloppyRussian }; + +static const char *const k1GUIStringsDOSOldFloppyRussian[28] = { + "\x07""e""\x15""e""\x1D\x16""a K""\x18""pa""\x1D\x16\x18\x18", + "\x05""a""\x15""py""\x17\x18\x1F""{", + "Coxpa""\x1D\x18\x1F""{ ""\x18\x15""py", + "\t""\x1E""pa""\x14\x1B""e""\x1D\x18""e", + "\x05""a""\x1A""o""\x1D""\\""\x18\x1F""{", + "\x08""po""\x16""o""\x1B\x7F\x18\x1F""{", + "\t""\x1E""pa""\x14\x1B""e""\x1D\x18""e", + "Ka""\x1A""y} ""\x18\x15""py B` xo""\x1F\x18\x1F""e ""\x17""a""\x15""py""\x17\x18\x1F""{?", + "B`""\x13""ep""\x18\x1F""e ""\x1E""o""\x17\x18""[""\x18""} coxpa""\x1D""e""\x1D\x18""~:", + "< ""\x08""\tCTO >", + "O""\x1F\x1C""e""\x1D""a", + "B""\x14""e""\x16\x18\x1F""e o""\x1E\x18""ca""\x1D\x18""e coxpa""\x1D""~e""\x1C""o""\x19"" ""\x18\x15""p`:", + "Save", + "C""\x1E\x18"" c""\x1E""o""\x1A""o""\x19\x1D""o, ""\x01""p|""\x1D\x16""o""\x1D"".", + "B` y""\x14""epe""\x1D""`, \\""\x1F""o xo""\x1F\x18\x1F""e ""\x17""a""\x1A""o""\x1D""\\""\x18\x1F""{ ""\x18\x15""py?", + "XXX", + "XXX", + "XXXXXXX", + "XXXXXXXXX", + "\x02\x1B""a""\x14"".""\x1C""e""\x1D""}", + "on", + "\x1D""e""\x1F", + "\x03""a ", + "No", + "\x10\x0F\xE0""(""\x18\x0F\xE0""(""\x1D\x0F\xE0""($""\x0F\xE0""()""\x0F\xE0""(1""\x0F\xE0""(9""\x0F\xE0""(@""\x0F\xE0""(E""\x0F\xE0""(""\x03\x14\x18\x7F""e""\x1D\x18""e ", + "Te""\x1A""c""\x1F"" ", + "My""\x17""`""\x1A""a ", + "\x05\x14""y""\x1A\x18"" ", +}; + +static const StringListProvider k1GUIStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1GUIStringsDOSOldFloppyRussian), k1GUIStringsDOSOldFloppyRussian }; + +static const char *const k1NewGameStringDOSOldFloppyRussian[1] = { + "< HOBA""\x12"" ""\x06\x02""PA >" +}; + +static const StringListProvider k1NewGameStringDOSOldFloppyRussianProvider = { ARRAYSIZE(k1NewGameStringDOSOldFloppyRussian), k1NewGameStringDOSOldFloppyRussian }; + +static const char *const k1ConfigStringsDOSOldFloppyRussian[9] = { + "\x1C\x18\x1D\x18\x1C""y""\x1C", + "\x1C""e""\x16\x1B", + "\x1D""op""\x1C""a""\x1B", + "\x13""`c""\x1F", + "\x1C""a""\x1A""c. ", + "\x1C\x18\x1D\x18\x1C""y""\x1C", + "\x1D""op""\x1C""a""\x1B", + "\x13""`c""\x1F", + "\x1E""o ""\x1A\x1B\x18\x1A""y " +}; + +static const StringListProvider k1ConfigStringsDOSOldFloppyRussianProvider = { ARRAYSIZE(k1ConfigStringsDOSOldFloppyRussian), k1ConfigStringsDOSOldFloppyRussian }; + diff --git a/devtools/create_kyradat/resources/lok_dos_spanish.h b/devtools/create_kyradat/resources/lok_dos_spanish.h new file mode 100644 index 0000000000..40e5bbb53e --- /dev/null +++ b/devtools/create_kyradat/resources/lok_dos_spanish.h @@ -0,0 +1,333 @@ +static const char *const k1IntroStringsDOSSpanish[53] = { + "This is a text test - 1", + "This is a text test - 2", + "Buenas Kallak...", + "...""\xAD""Poderoso jefe de la Orden de los M""\xA1""sticos reales!", + "\xA8""Te he asustado?", + "\xAD""Malcolm!", + "Me enter""\x82"" ayer de tu fuga.", + "Y te estaba esperando desde hace un rato.", + "\xA8""Por qu""\x82"" me iba a dar prisa?", + "\xAD""Soy yo el que gobierna este pa""\xA1""s!", + "Tu d""\x82""bil maleficio no me atemoriza.", + "\xAD""Anda, m""\xA0""tame de una vez!", + "Me queda poco poder m""\xA0""gico.", + "No te quepa ninguna duda de que vengo a hacerte da""\xA4""o...", + "...Ahora eres de piedra...", + "...pero he respetado tus ojos.", + "No he derramado ni una l""\xA0""grima por Kyrandia...", + "...pero no voy a negarte el placer de las tuyas.", + "\xAD""Malcolm el Buf""\xA2""n est""\xA0"" en libertad!", + "Y es ""\x82""l quien ahora controla la Kyragema...", + "...fuente de toda la magia de Kyrandia!", + "", + "\xAD""C""\xA2""mo te atreves a tropezar conmigo!", + "En absoluto, he reservado algo especial para ti...", + "\xAD""Un hechizo humor""\xA1""stico!", + "Pero te advertir""\x82"" honestamente.", + "\xAD""No saltes a ESE ""\xA0""rbol!", + "\xAD""No te subas a ESE ""\xA0""rbol ardillita!", + "\xAD""Buuu!", + "Es requete divertido de este modo...", + "...""\xA8""Verdad?", + "Ja ja ja...", + "\xA8""Verdad que los dedos son una maravilla?", + "\xAD""Es estupendo estar vivo!", + "\xAD""Brandon!", + "\xAD""Abuelo! ""\xAD""Lo hemos conseguido!", + "\xAD""No! ""\xAD""TU lo has hecho!", + "\xAD""Larga vida al rey Brandon!", + "\xAD""Larga vida a los M""\xA1""sticos reales!", + "\xAD""Ahora vamos a reconstruir Kyrandia!", + "\xAD""Buena idea!", + "En mi primera proclamaci""\xA2""n como rey...", + "\xAD""Declaro las sandalias como calzado oficial de Kyrandia!", + "\xAD""Bien hecho, Brandon!", + "La Tierra no sufre m""\xA0""s...", + "\xAD""Y tus amigos han regresado!", + "Querida Brynn...", + "\xAD""Malcolm se ha fugado!", + "Pronto vendr""\xA0"" a por m""\xA1"".", + "Por favor, ayuda a Brandon...", + "", + "", + "" +}; + +static const StringListProvider k1IntroStringsDOSSpanishProvider = { ARRAYSIZE(k1IntroStringsDOSSpanish), k1IntroStringsDOSSpanish }; + +static const char *const k1ItemNamesDOSSpanish[107] = { + "Granate", + "Amatista", + "Aguamarina", + "Diamante", + "Esmeralda", + "Perla", + "Rub""\xA1", + "Peridot", + "Zafiro", + "Opalo", + "Topacio", + "Onix", + "Piedra Solar", + "Piedra Lunar", + "Piedra Arco Iris", + "Piedra Magn""\x82""tica", + "Rosa", + "Tulip""\xA0""n", + "Orqu""\xA1""dea", + "Rosa de plata", + "Estatua de plata", + "Moneda de Plata", + "Moneda de oro", + "Anillo de oro", + "C""\xA0""liz real", + "Pi""\xA4""a pi""\xA4""onera", + "Bellota", + "Nuez", + "Fogofrutas brillantes", + "Fogofrutas", + "Fogofrutas", + "Fogofrutas", + "Fogofrutas", + "Fogofrutas", + "Pescado", + "Espina de pescado", + "Pierna de Cordero", + "Hueso", + "Manzana", + "Coraz""\xA2""n de Manzana", + "Ar""\xA0""ndanos", + "Champi""\xA4\xA2""n", + "Nota", + "Canica", + "Serrucho", + "Cruz de vida", + "Pluma", + "Huevo", + "Hoja", + "Tr""\x82""bol", + "Estrella Ca""\xA1""da", + "Bola de cristal", + "L""\xA0""grima", + "Espejo", + "Trozo de hielo", + "Flauta", + "Reloj de arena", + "Llave de hierro", + "Llave de jade", + "Llave de obsidiana", + "Poci""\xA2""n roja", + "Poci""\xA2""n roja", + "Poci""\xA2""n azul", + "Poci""\xA2""n azul", + "Poci""\xA2""n amarilla", + "Poci""\xA2""n amarilla", + "Poci""\xA2""n verde", + "Poci""\xA2""n naranja", + "Poci""\xA2""n morada", + "Poci""\xA2""n Arco Iris", + "Agua fresca", + "Agua fresca", + "Agua salada", + "Agua salada", + "Agua mineral", + "Agua mineral", + "Agua m""\xA0""gica", + "Agua m""\xA0""gica", + "Frasco vac""\xA1""o", + "Frasco vac""\xA1""o", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pergamino", + "Pedazo de pergamino", + "Pedazo de pergamino", + "Pedazo de pergamino", + "Pedazo de pergamino", + "Pedazo de pergamino", + "Piedra m""\xA0""gica roja", + "Piedra m""\xA0""gica naranja", + "Piedra m""\xA0""gica amarilla", + "Piedra m""\xA0""gica verde", + "Piedra m""\xA0""gica turquesa", + "Piedra m""\xA0""gica azul", + "Piedra m""\xA0""gica morada", + "Roca pesada", + "Corona real", + "Cetro real", + "Llave de oro", + "Objeto desconocido" +}; + +static const StringListProvider k1ItemNamesDOSSpanishProvider = { ARRAYSIZE(k1ItemNamesDOSSpanish), k1ItemNamesDOSSpanish }; + +static const char *const k1TakenStringsDOSSpanish[2] = { + " en mano.", + " en mano." +}; + +static const StringListProvider k1TakenStringsDOSSpanishProvider = { ARRAYSIZE(k1TakenStringsDOSSpanish), k1TakenStringsDOSSpanish }; + +static const char *const k1PlacedStringsDOSSpanish[1] = { + " en reserva." +}; + +static const StringListProvider k1PlacedStringsDOSSpanishProvider = { ARRAYSIZE(k1PlacedStringsDOSSpanish), k1PlacedStringsDOSSpanish }; + +static const char *const k1DroppedStringsDOSSpanish[1] = { + " fuera." +}; + +static const StringListProvider k1DroppedStringsDOSSpanishProvider = { ARRAYSIZE(k1DroppedStringsDOSSpanish), k1DroppedStringsDOSSpanish }; + +static const char *const k1NoDropStringsDOSSpanish[2] = { + "No puedes dejar m""\xA0""s objetos aqu""\xA1"".", + "No puedes colocar eso ah""\xA1""." +}; + +static const StringListProvider k1NoDropStringsDOSSpanishProvider = { ARRAYSIZE(k1NoDropStringsDOSSpanish), k1NoDropStringsDOSSpanish }; + +static const char *const k1PutDownStringDOSSpanish[1] = { + "Mejor ser""\xA0"" que deposite esto antes que nada." +}; + +static const StringListProvider k1PutDownStringDOSSpanishProvider = { ARRAYSIZE(k1PutDownStringDOSSpanish), k1PutDownStringDOSSpanish }; + +static const char *const k1WaitAmuletStringDOSSpanish[1] = { + "Supongo que tendr""\x82"" que esperar a que mi amuleto recobre su poder." +}; + +static const StringListProvider k1WaitAmuletStringDOSSpanishProvider = { ARRAYSIZE(k1WaitAmuletStringDOSSpanish), k1WaitAmuletStringDOSSpanish }; + +static const char *const k1BlackJewelStringDOSSpanish[1] = { + "Es una joya, pero ""\xA8""por qu""\x82"" es negra?" +}; + +static const StringListProvider k1BlackJewelStringDOSSpanishProvider = { ARRAYSIZE(k1BlackJewelStringDOSSpanish), k1BlackJewelStringDOSSpanish }; + +static const char *const k1HealingTipStringDOSSpanish[1] = { + "Oye, esto me ser""\xA0"" ""\xA3""til si me hago da""\xA4""o." +}; + +static const StringListProvider k1HealingTipStringDOSSpanishProvider = { ARRAYSIZE(k1HealingTipStringDOSSpanish), k1HealingTipStringDOSSpanish }; + +static const char *const k1PoisonGoneStringDOSSpanish[2] = { + "\xAD""Genial!", + "\xAD""Han desaparecido los efectos del veneno!" +}; + +static const StringListProvider k1PoisonGoneStringDOSSpanishProvider = { ARRAYSIZE(k1PoisonGoneStringDOSSpanish), k1PoisonGoneStringDOSSpanish }; + +static const char *const k1ThePoisonStringsDOSSpanish[4] = { + "El veneno...", + "No puedo respirar...", + "No me siento bien...", + "\xAD""Esa serpiente debe ser\rvenenosa!" +}; + +static const StringListProvider k1ThePoisonStringsDOSSpanishProvider = { ARRAYSIZE(k1ThePoisonStringsDOSSpanish), k1ThePoisonStringsDOSSpanish }; + +static const char *const k1FluteStringsDOSSpanish[2] = { + "No es un sonido muy impresionante que digamos.", + "\xAD""Fijo que la ""\xA3""ltima nota era alta!" +}; + +static const StringListProvider k1FluteStringsDOSSpanishProvider = { ARRAYSIZE(k1FluteStringsDOSSpanish), k1FluteStringsDOSSpanish }; + +static const char *const k1WispJewelStringsDOSSpanish[3] = { + "No me siento con fuerzas para hacerlo ahora mismo.", + "Deber""\xA1""a poner en el suelo mi ", + ", lo primero." +}; + +static const StringListProvider k1WispJewelStringsDOSSpanishProvider = { ARRAYSIZE(k1WispJewelStringsDOSSpanish), k1WispJewelStringsDOSSpanish }; + +static const char *const k1MagicJewelStringsDOSSpanish[1] = { + "Eso sienta raro." +}; + +static const StringListProvider k1MagicJewelStringsDOSSpanishProvider = { ARRAYSIZE(k1MagicJewelStringsDOSSpanish), k1MagicJewelStringsDOSSpanish }; + +static const char *const k1FlaskFullStringDOSSpanish[1] = { + "Este frasco ya est""\xA0"" lleno." +}; + +static const StringListProvider k1FlaskFullStringDOSSpanishProvider = { ARRAYSIZE(k1FlaskFullStringDOSSpanish), k1FlaskFullStringDOSSpanish }; + +static const char *const k1FullFlaskStringDOSSpanish[4] = { + "Ahora el frasco est""\xA0"" lleno\rde agua fresca y espumosa.", + "Ahora el frasco est""\xA0"" lleno\rde agua salada.", + "Ahora el frasco est""\xA0"" lleno\rde agua mineral.", + "Agua m""\xA0""gica." +}; + +static const StringListProvider k1FullFlaskStringDOSSpanishProvider = { ARRAYSIZE(k1FullFlaskStringDOSSpanish), k1FullFlaskStringDOSSpanish }; + +static const char *const k1OutroHomeStringDOSSpanish[1] = { + "Casa" +}; + +static const StringListProvider k1OutroHomeStringDOSSpanishProvider = { ARRAYSIZE(k1OutroHomeStringDOSSpanish), k1OutroHomeStringDOSSpanish }; + +static const char *const k1VeryCleverStringDOSSpanish[1] = { + "\xAD""Muy listo!, pero tus in""\xA3""tiles esfuerzos son en vano." +}; + +static const StringListProvider k1VeryCleverStringDOSSpanishProvider = { ARRAYSIZE(k1VeryCleverStringDOSSpanish), k1VeryCleverStringDOSSpanish }; + +static const char *const k1GUIStringsDOSSpanish[24] = { + "The Legend of Kyrandia", + "Cargar un juego", + "Salvar este juego", + "Controles de juego", + "Abandonar el juego", + "Reanudar el juego", + "Controles de juego", + "\xA8""Qu""\x82"" juego deseas recargar?", + "Seleccionar una posici""\xA2""n para salvar:", + "[ RANURA VACIA ]", + "Abandonar", + "Introduce una descripci""\xA2""n de tu juego salvado.", + "Salvar", + "Descansa en paz, Brandon.", + "\xA8""Est""\xA0""s seguro de que deseas Abandonar el juego?", + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMen""\xA3"" principal", + "activado", + "desactivado", + "S""\xA1", + "No", + "0""\x0F""R+:""\x0F""R+@""\x0F""R+G""\x0F""R+N""\x0F""R+Y""\x0F""R+c""\x0F""R+j""\x0F""R+q""\x0F""R+Velocidad al paso", + "Velocidad de texto", + "La m""\xA3""sica en ", + "Los sonidos en " +}; + +static const StringListProvider k1GUIStringsDOSSpanishProvider = { ARRAYSIZE(k1GUIStringsDOSSpanish), k1GUIStringsDOSSpanish }; + +static const char *const k1NewGameStringDOSSpanish[1] = { + "[ INICIAR UN JUEGO NUEVO ]" +}; + +static const StringListProvider k1NewGameStringDOSSpanishProvider = { ARRAYSIZE(k1NewGameStringDOSSpanish), k1NewGameStringDOSSpanish }; + +static const char *const k1ConfigStringsDOSSpanish[9] = { + "muy lento", + "lento", + "normal", + "r""\xA0""pido", + "muy r""\xA0""pido", + "muy lento", + "normal", + "r""\xA0""pido", + "pulsable" +}; + +static const StringListProvider k1ConfigStringsDOSSpanishProvider = { ARRAYSIZE(k1ConfigStringsDOSSpanish), k1ConfigStringsDOSSpanish }; + diff --git a/devtools/create_kyradat/resources/lok_fmtowns.h b/devtools/create_kyradat/resources/lok_fmtowns.h new file mode 100644 index 0000000000..7491f45a67 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_fmtowns.h @@ -0,0 +1,11637 @@ +static const byte k1KallakWritingSeqFMTowns[2039] = { + 0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, + 0x00, 0x19, 0x39, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14, + 0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, + 0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, + 0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x0E, + 0x06, 0x3C, 0x00, 0x13, 0x01, 0x00, 0x1D +}; + +static const ByteProvider k1KallakWritingSeqFMTownsProvider = { ARRAYSIZE(k1KallakWritingSeqFMTowns), k1KallakWritingSeqFMTowns }; + +static const byte k1MalcolmTreeSeqFMTowns[536] = { + 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01, + 0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x10, 0x19, 0x38, 0x09, 0x18, 0x1E, 0x14, 0x18, + 0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, + 0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, + 0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, + 0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, + 0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, + 0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, + 0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, + 0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, + 0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, + 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, + 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, + 0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, + 0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, + 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, + 0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, + 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, + 0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, + 0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, + 0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, + 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, + 0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, + 0x01, 0x0E, 0x01, 0x01, 0x13, 0x01, 0x02, 0x1D +}; + +static const ByteProvider k1MalcolmTreeSeqFMTownsProvider = { ARRAYSIZE(k1MalcolmTreeSeqFMTowns), k1MalcolmTreeSeqFMTowns }; + +static const byte k1WestwoodLogoSeqFMTowns[75] = { + 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03, + 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, + 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16, + 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, + 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, + 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13, + 0x01, 0x03, 0x1D +}; + +static const ByteProvider k1WestwoodLogoSeqFMTownsProvider = { ARRAYSIZE(k1WestwoodLogoSeqFMTowns), k1WestwoodLogoSeqFMTowns }; + +static const byte k1KyrandiaLogoSeqFMTowns[92] = { + 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, + 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, + 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, + 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, + 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, + 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x06, 0x1D +}; + +static const ByteProvider k1KyrandiaLogoSeqFMTownsProvider = { ARRAYSIZE(k1KyrandiaLogoSeqFMTowns), k1KyrandiaLogoSeqFMTowns }; + +static const byte k1KallakMalcolmSeqFMTowns[621] = { + 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03, + 0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, + 0xC7, 0x0C, 0x02, 0x19, 0x00, 0x02, 0x04, 0x00, + 0x10, 0x00, 0x3A, 0x09, 0x19, 0x00, 0x19, 0x3A, + 0x14, 0x18, 0x23, 0x0A, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x00, 0x22, 0x00, 0x10, 0x02, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x01, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x01, 0x07, 0x00, 0x06, + 0x3C, 0x00, 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x02, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x02, 0x17, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x04, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x0F, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x06, + 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x04, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x78, + 0x00, 0x10, 0x07, 0xF0, 0x00, 0x3A, 0x0F, 0x0A, + 0x05, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x05, + 0x11, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, + 0x08, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x06, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x06, 0x07, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x07, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0A, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0B, 0xF0, 0x00, + 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x0C, 0xF0, 0x00, 0x3A, 0x0F, + 0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0D, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x0A, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0A, 0x0E, 0x00, 0x06, 0x3C, 0x00, + 0x0A, 0x0B, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0B, 0x02, 0x00, 0x18, 0x20, 0x0A, 0x0C, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0C, 0x06, 0x00, + 0x18, 0x21, 0x0A, 0x0D, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0D, 0x0C, 0x00, 0x18, 0x22, 0x0A, + 0x0E, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0E, + 0x0B, 0x00, 0x10, 0x0E, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0F, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x10, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x10, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x10, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x11, 0x50, + 0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07, + 0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01, + 0x0E, 0x13, 0x01, 0x04, 0x1D +}; + +static const ByteProvider k1KallakMalcolmSeqFMTownsProvider = { ARRAYSIZE(k1KallakMalcolmSeqFMTowns), k1KallakMalcolmSeqFMTowns }; + +static const byte k1ForestSeqFMTowns[406] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, + 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, + 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, + 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, + 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, + 0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18, + 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02, + 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02, + 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13, + 0x13, 0x01, 0x07, 0x01, 0x05, 0x1D +}; + +static const ByteProvider k1ForestSeqFMTownsProvider = { ARRAYSIZE(k1ForestSeqFMTowns), k1ForestSeqFMTowns }; + +static const char *const k1IntroCPSStringsFMTowns[2] = { + "gemcut.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsFMTownsProvider = { ARRAYSIZE(k1IntroCPSStringsFMTowns), k1IntroCPSStringsFMTowns }; + +static const char *const k1IntroCOLStringsFMTowns[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsFMTownsProvider = { ARRAYSIZE(k1IntroCOLStringsFMTowns), k1IntroCOLStringsFMTowns }; + +static const char *const k1IntroWSAStringsFMTowns[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsFMTownsProvider = { ARRAYSIZE(k1IntroWSAStringsFMTowns), k1IntroWSAStringsFMTowns }; + +static const Room k1RoomListFMTowns[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 37, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 1, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListFMTownsProvider = { ARRAYSIZE(k1RoomListFMTowns), k1RoomListFMTowns }; + +static const char *const k1RoomFilenamesFMTowns[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesFMTownsProvider = { ARRAYSIZE(k1RoomFilenamesFMTowns), k1RoomFilenamesFMTowns }; + +static const char *const k1CharacterImageFilenamesFMTowns[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesFMTownsProvider = { ARRAYSIZE(k1CharacterImageFilenamesFMTowns), k1CharacterImageFilenamesFMTowns }; + +static const Shape k1DefaultShapesFMTowns[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesFMTownsProvider = { ARRAYSIZE(k1DefaultShapesFMTowns), k1DefaultShapesFMTowns }; + +static const byte k1AmuleteAnimSeqFMTowns[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqFMTownsProvider = { ARRAYSIZE(k1AmuleteAnimSeqFMTowns), k1AmuleteAnimSeqFMTowns }; + +static const byte k1SpecialPalette1FMTowns[21] = { + 0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D, + 0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D, + 0x12, 0x0D, 0x18, 0x0F, 0x0B +}; + +static const ByteProvider k1SpecialPalette1FMTownsProvider = { ARRAYSIZE(k1SpecialPalette1FMTowns), k1SpecialPalette1FMTowns }; + +static const byte k1SpecialPalette2FMTowns[51] = { + 0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25, + 0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26, + 0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C, + 0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27, + 0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A, + 0x17, 0x0C, 0x08 +}; + +static const ByteProvider k1SpecialPalette2FMTownsProvider = { ARRAYSIZE(k1SpecialPalette2FMTowns), k1SpecialPalette2FMTowns }; + +static const byte k1SpecialPalette3FMTowns[51] = { + 0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C, + 0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21, + 0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B, + 0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D, + 0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08, + 0x11, 0x0A, 0x05 +}; + +static const ByteProvider k1SpecialPalette3FMTownsProvider = { ARRAYSIZE(k1SpecialPalette3FMTowns), k1SpecialPalette3FMTowns }; + +static const byte k1SpecialPalette4FMTowns[51] = { + 0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21, + 0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24, + 0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05, + 0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A, + 0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22, + 0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03, + 0x12, 0x0A, 0x03 +}; + +static const ByteProvider k1SpecialPalette4FMTownsProvider = { ARRAYSIZE(k1SpecialPalette4FMTowns), k1SpecialPalette4FMTowns }; + +static const byte k1SpecialPalette5FMTowns[51] = { + 0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A, + 0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E, + 0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A, + 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08, + 0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19, + 0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, + 0x11, 0x08, 0x05 +}; + +static const ByteProvider k1SpecialPalette5FMTownsProvider = { ARRAYSIZE(k1SpecialPalette5FMTowns), k1SpecialPalette5FMTowns }; + +static const byte k1SpecialPalette6FMTowns[51] = { + 0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A, + 0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11, + 0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B, + 0x0A, 0x19, 0x0A +}; + +static const ByteProvider k1SpecialPalette6FMTownsProvider = { ARRAYSIZE(k1SpecialPalette6FMTowns), k1SpecialPalette6FMTowns }; + +static const byte k1SpecialPalette7FMTowns[54] = { + 0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00, + 0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A, + 0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25, + 0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14, + 0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14, + 0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B +}; + +static const ByteProvider k1SpecialPalette7FMTownsProvider = { ARRAYSIZE(k1SpecialPalette7FMTowns), k1SpecialPalette7FMTowns }; + +static const byte k1SpecialPalette8FMTowns[54] = { + 0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29, + 0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14, + 0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F, + 0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F, + 0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14, + 0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F, + 0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F +}; + +static const ByteProvider k1SpecialPalette8FMTownsProvider = { ARRAYSIZE(k1SpecialPalette8FMTowns), k1SpecialPalette8FMTowns }; + +static const byte k1SpecialPalette9FMTowns[45] = { + 0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette9FMTownsProvider = { ARRAYSIZE(k1SpecialPalette9FMTowns), k1SpecialPalette9FMTowns }; + +static const byte k1SpecialPalette10FMTowns[45] = { + 0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette10FMTownsProvider = { ARRAYSIZE(k1SpecialPalette10FMTowns), k1SpecialPalette10FMTowns }; + +static const byte k1SpecialPalette11FMTowns[45] = { + 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette11FMTownsProvider = { ARRAYSIZE(k1SpecialPalette11FMTowns), k1SpecialPalette11FMTowns }; + +static const byte k1SpecialPalette12FMTowns[45] = { + 0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette12FMTownsProvider = { ARRAYSIZE(k1SpecialPalette12FMTowns), k1SpecialPalette12FMTowns }; + +static const byte k1SpecialPalette13FMTowns[45] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette13FMTownsProvider = { ARRAYSIZE(k1SpecialPalette13FMTowns), k1SpecialPalette13FMTowns }; + +static const byte k1SpecialPalette14FMTowns[60] = { + 0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20, + 0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08, + 0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27, + 0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08, + 0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00, + 0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette14FMTownsProvider = { ARRAYSIZE(k1SpecialPalette14FMTowns), k1SpecialPalette14FMTowns }; + +static const byte k1SpecialPalette15FMTowns[45] = { + 0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00, + 0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17, + 0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E, + 0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00, + 0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05, + 0x00, 0x08, 0x01, 0x00, 0x03 +}; + +static const ByteProvider k1SpecialPalette15FMTownsProvider = { ARRAYSIZE(k1SpecialPalette15FMTowns), k1SpecialPalette15FMTowns }; + +static const byte k1SpecialPalette16FMTowns[33] = { + 0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34, + 0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00, + 0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F, + 0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette16FMTownsProvider = { ARRAYSIZE(k1SpecialPalette16FMTowns), k1SpecialPalette16FMTowns }; + +static const byte k1SpecialPalette17FMTowns[33] = { + 0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32, + 0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26, + 0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D, + 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette17FMTownsProvider = { ARRAYSIZE(k1SpecialPalette17FMTowns), k1SpecialPalette17FMTowns }; + +static const byte k1SpecialPalette18FMTowns[21] = { + 0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F, + 0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15, + 0x1E, 0x25, 0x11, 0x19, 0x1F +}; + +static const ByteProvider k1SpecialPalette18FMTownsProvider = { ARRAYSIZE(k1SpecialPalette18FMTowns), k1SpecialPalette18FMTowns }; + +static const byte k1SpecialPalette19FMTowns[21] = { + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, + 0x00, 0x25, 0x00, 0x00, 0x1F +}; + +static const ByteProvider k1SpecialPalette19FMTownsProvider = { ARRAYSIZE(k1SpecialPalette19FMTowns), k1SpecialPalette19FMTowns }; + +static const byte k1SpecialPalette20FMTowns[21] = { + 0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F, + 0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33, + 0x22, 0x23, 0x31, 0x1F, 0x20 +}; + +static const ByteProvider k1SpecialPalette20FMTownsProvider = { ARRAYSIZE(k1SpecialPalette20FMTowns), k1SpecialPalette20FMTowns }; + +static const byte k1SpecialPalette21FMTowns[21] = { + 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x1F, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette21FMTownsProvider = { ARRAYSIZE(k1SpecialPalette21FMTowns), k1SpecialPalette21FMTowns }; + +static const byte k1SpecialPalette22FMTowns[21] = { + 0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B, + 0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30, + 0x30, 0x19, 0x2D, 0x2D, 0x17 +}; + +static const ByteProvider k1SpecialPalette22FMTownsProvider = { ARRAYSIZE(k1SpecialPalette22FMTowns), k1SpecialPalette22FMTowns }; + +static const byte k1SpecialPalette23FMTowns[21] = { + 0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B, + 0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30, + 0x30, 0x00, 0x2D, 0x2D, 0x00 +}; + +static const ByteProvider k1SpecialPalette23FMTownsProvider = { ARRAYSIZE(k1SpecialPalette23FMTowns), k1SpecialPalette23FMTowns }; + +static const byte k1SpecialPalette24FMTowns[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, + 0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, + 0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08, + 0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06 +}; + +static const ByteProvider k1SpecialPalette24FMTownsProvider = { ARRAYSIZE(k1SpecialPalette24FMTowns), k1SpecialPalette24FMTowns }; + +static const byte k1SpecialPalette25FMTowns[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B, + 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A, + 0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06 +}; + +static const ByteProvider k1SpecialPalette25FMTownsProvider = { ARRAYSIZE(k1SpecialPalette25FMTowns), k1SpecialPalette25FMTowns }; + +static const byte k1SpecialPalette26FMTowns[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A, + 0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06 +}; + +static const ByteProvider k1SpecialPalette26FMTownsProvider = { ARRAYSIZE(k1SpecialPalette26FMTowns), k1SpecialPalette26FMTowns }; + +static const byte k1SpecialPalette27FMTowns[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08 +}; + +static const ByteProvider k1SpecialPalette27FMTownsProvider = { ARRAYSIZE(k1SpecialPalette27FMTowns), k1SpecialPalette27FMTowns }; + +static const byte k1SpecialPalette28FMTowns[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette28FMTownsProvider = { ARRAYSIZE(k1SpecialPalette28FMTowns), k1SpecialPalette28FMTowns }; + +static const byte k1SpecialPalette29FMTowns[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, + 0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette29FMTownsProvider = { ARRAYSIZE(k1SpecialPalette29FMTowns), k1SpecialPalette29FMTowns }; + +static const byte k1SpecialPalette30FMTowns[60] = { + 0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12, + 0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F, + 0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28, + 0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A, + 0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01, + 0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05, + 0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14, + 0x11, 0x0F, 0x0D, 0x00 +}; + +static const ByteProvider k1SpecialPalette30FMTownsProvider = { ARRAYSIZE(k1SpecialPalette30FMTowns), k1SpecialPalette30FMTowns }; + +static const byte k1SpecialPalette31FMTowns[39] = { + 0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14, + 0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18, + 0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15, + 0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03, + 0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette31FMTownsProvider = { ARRAYSIZE(k1SpecialPalette31FMTowns), k1SpecialPalette31FMTowns }; + +static const byte k1SpecialPalette32FMTowns[39] = { + 0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F, + 0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A, + 0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08, + 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette32FMTownsProvider = { ARRAYSIZE(k1SpecialPalette32FMTowns), k1SpecialPalette32FMTowns }; + +static const byte k1SpecialPalette33FMTowns[60] = { + 0x3F, 0x3D, 0x2F, 0x3F, 0x3D, 0x29, 0x3F, 0x3D, + 0x23, 0x3F, 0x3D, 0x1D, 0x3F, 0x3B, 0x17, 0x3F, + 0x3B, 0x11, 0x3F, 0x3B, 0x0B, 0x3F, 0x3B, 0x05, + 0x3F, 0x3B, 0x00, 0x3D, 0x38, 0x00, 0x3B, 0x34, + 0x00, 0x39, 0x33, 0x00, 0x39, 0x30, 0x00, 0x37, + 0x2D, 0x00, 0x36, 0x2B, 0x00, 0x34, 0x28, 0x00, + 0x33, 0x26, 0x00, 0x32, 0x24, 0x00, 0x30, 0x22, + 0x00, 0x2F, 0x20, 0x00 +}; + +static const ByteProvider k1SpecialPalette33FMTownsProvider = { ARRAYSIZE(k1SpecialPalette33FMTowns), k1SpecialPalette33FMTowns }; + +static const Shape k1Healing1ShapesFMTowns[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesFMTownsProvider = { ARRAYSIZE(k1Healing1ShapesFMTowns), k1Healing1ShapesFMTowns }; + +static const Shape k1Healing2ShapesFMTowns[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesFMTownsProvider = { ARRAYSIZE(k1Healing2ShapesFMTowns), k1Healing2ShapesFMTowns }; + +static const Shape k1PoisonDeathShapesFMTowns[20] = { + { 19, 0, 0, 8, 48, -31, -48 }, + { 19, 8, 0, 8, 48, -31, -48 }, + { 19, 16, 0, 8, 48, -31, -48 }, + { 19, 24, 0, 8, 48, -31, -48 }, + { 19, 32, 0, 8, 48, -31, -48 }, + { 19, 0, 48, 8, 48, -31, -48 }, + { 19, 8, 48, 8, 48, -31, -48 }, + { 19, 16, 48, 8, 48, -31, -48 }, + { 19, 24, 48, 8, 48, -31, -48 }, + { 19, 32, 48, 8, 48, -31, -48 }, + { 19, 0, 96, 8, 48, -31, -48 }, + { 19, 8, 96, 8, 48, -31, -48 }, + { 19, 16, 96, 8, 48, -31, -48 }, + { 19, 24, 96, 8, 48, -31, -48 }, + { 19, 32, 96, 8, 48, -31, -48 }, + { 19, 0, 144, 8, 48, -31, -48 }, + { 19, 8, 144, 8, 48, -31, -48 }, + { 19, 16, 144, 8, 48, -31, -48 }, + { 19, 24, 144, 8, 48, -31, -48 }, + { 19, 32, 144, 8, 48, -31, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesFMTownsProvider = { ARRAYSIZE(k1PoisonDeathShapesFMTowns), k1PoisonDeathShapesFMTowns }; + +static const Shape k1FluteShapesFMTowns[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesFMTownsProvider = { ARRAYSIZE(k1FluteShapesFMTowns), k1FluteShapesFMTowns }; + +static const Shape k1Winter1ShapesFMTowns[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesFMTownsProvider = { ARRAYSIZE(k1Winter1ShapesFMTowns), k1Winter1ShapesFMTowns }; + +static const Shape k1Winter2ShapesFMTowns[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 5, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 15, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 25, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 35, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 5, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 15, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 25, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 10, 35, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 5, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 15, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 25, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 35, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 5, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 15, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 25, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 35, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 5, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter2ShapesFMTownsProvider = { ARRAYSIZE(k1Winter2ShapesFMTowns), k1Winter2ShapesFMTowns }; + +static const Shape k1Winter3ShapesFMTowns[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesFMTownsProvider = { ARRAYSIZE(k1Winter3ShapesFMTowns), k1Winter3ShapesFMTowns }; + +static const Shape k1DrinkShapesFMTowns[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 0, 7, 0, 0, 3, 43, -12 }, + { 213, 7, 3, 3, 2, 40, -8 }, + { 216, 7, 5, 7, 2, 36, -8 }, + { 220, 7, 7, 10, 2, 33, -8 }, + { 223, 7, 9, 12, 2, 31, -8 }, + { 225, 7, 11, 15, 2, 28, -8 } +}; + +static const ShapeProvider k1DrinkShapesFMTownsProvider = { ARRAYSIZE(k1DrinkShapesFMTowns), k1DrinkShapesFMTowns }; + +static const Shape k1WispShapesFMTowns[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesFMTownsProvider = { ARRAYSIZE(k1WispShapesFMTowns), k1WispShapesFMTowns }; + +static const Shape k1MagicAnimShapesFMTowns[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesFMTownsProvider = { ARRAYSIZE(k1MagicAnimShapesFMTowns), k1MagicAnimShapesFMTowns }; + +static const Shape k1BranStoneShapesFMTowns[14] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 } +}; + +static const ShapeProvider k1BranStoneShapesFMTownsProvider = { ARRAYSIZE(k1BranStoneShapesFMTowns), k1BranStoneShapesFMTowns }; + +static const byte k1OutroReunionSeqFMTowns[1351] = { + 0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02, + 0x08, 0x00, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00, + 0x3A, 0x02, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x0E, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78, + 0x00, 0x3A, 0x0F, 0x0A, 0x03, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24, + 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x06, + 0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A, + 0x00, 0x3A, 0x02, 0x02, 0x08, 0x4E, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x51, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x52, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x53, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x78, 0x00, 0x10, 0x28, + 0x78, 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x02, 0x08, + 0x59, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x5A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06, + 0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x0F, + 0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x5D, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x0B, + 0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x5E, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0xB4, + 0x00, 0x11, 0x18, 0x69, 0x02, 0x08, 0x64, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x65, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x74, + 0x02, 0x08, 0x66, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x67, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x18, 0x75, 0x02, 0x08, 0x68, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x69, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x10, 0x2B, + 0x96, 0x00, 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, + 0x6B, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, + 0x00, 0x06, 0x1E, 0x00, 0x10, 0x2C, 0x96, 0x00, + 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, + 0x1E, 0x00, 0x10, 0x2D, 0x96, 0x00, 0x1C, 0x22, + 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00, + 0x02, 0x08, 0x72, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x73, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x06, 0x14, 0x00, 0x02, 0x08, 0x74, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x75, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, + 0x78, 0x00, 0x13, 0x0E, 0x01, 0x08, 0x1D +}; + +static const ByteProvider k1OutroReunionSeqFMTownsProvider = { ARRAYSIZE(k1OutroReunionSeqFMTowns), k1OutroReunionSeqFMTowns }; + +static const byte k1TownsMusicFadeTableFMTowns[1416] = { + 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, + 0x6E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, + 0x24, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6A, 0x00, 0x70, 0x00, 0x70, 0x00, 0x64, 0x00, + 0x64, 0x00, 0x00, 0x00, 0x32, 0x00, 0x30, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x66, 0x00, 0x64, 0x00, 0x64, 0x00, + 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6A, 0x00, 0x6A, 0x00, 0x66, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x72, 0x00, 0x6A, 0x00, 0x6A, 0x00, + 0x6A, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6A, 0x00, + 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6A, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x2A, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x66, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6A, 0x00, 0x72, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0x00, 0x62, 0x00, 0x62, 0x00, 0x64, 0x00, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0x64, 0x00, 0x70, 0x00, 0x62, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x30, 0x00, 0x28, 0x00, + 0x20, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, 0x62, 0x00, + 0x62, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x74, 0x00, 0x74, 0x00, 0x74, 0x00, 0x74, 0x00, + 0x74, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, + 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x5A, 0x00, + 0x5C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x24, 0x00, + 0x28, 0x00, 0x2C, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6A, 0x00, + 0x6A, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x50, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x00, 0x66, 0x00, 0x62, 0x00, 0x6E, 0x00, + 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, + 0x64, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x70, 0x00, 0x66, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6A, 0x00, 0x6A, 0x00, 0x72, 0x00, 0x72, 0x00, + 0x72, 0x00, 0x00, 0x00, 0x32, 0x00, 0x2A, 0x00, + 0x1E, 0x00, 0x34, 0x00, 0x1E, 0x00, 0x28, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x62, 0x00, + 0x62, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x70, 0x00, 0x6C, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x46, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x76, 0x00, 0x76, 0x00, 0x76, 0x00, 0x76, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x64, 0x00, + 0x69, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x66, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, + 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, 0x6E, 0x00, + 0x6E, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x66, 0x00, 0x38, 0x00, 0x24, 0x00, + 0x14, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6C, 0x00, + 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x76, 0x00, 0x64, 0x00, 0x6A, 0x00, 0x6A, 0x00, + 0x6A, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, + 0x70, 0x00, 0x70, 0x00, 0x4C, 0x00, 0x4C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x66, 0x00, 0x66, 0x00, 0x68, 0x00, 0x5E, 0x00, + 0x78, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, 0x68, 0x00, + 0x68, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1TownsMusicFadeTableFMTownsProvider = { ARRAYSIZE(k1TownsMusicFadeTableFMTowns), k1TownsMusicFadeTableFMTowns }; + +static const byte k1TownsSFXwdTableFMTowns[75266] = { + 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x12, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x16, 0x00, 0x02, 0x00, 0x05, 0x00, 0x1A, 0x00, + 0x03, 0x00, 0x07, 0x00, 0x1E, 0x00, 0x04, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x02, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x02, 0x00, + 0x01, 0x00, 0xEE, 0xFF, 0x02, 0x00, 0x03, 0x00, + 0xEA, 0xFF, 0x02, 0x00, 0x05, 0x00, 0xE6, 0xFF, + 0x03, 0x00, 0x07, 0x00, 0xE2, 0xFF, 0x04, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x12, 0x00, 0x06, 0x00, 0x03, 0x00, + 0x16, 0x00, 0x07, 0x00, 0x05, 0x00, 0x1A, 0x00, + 0x0A, 0x00, 0x07, 0x00, 0x1E, 0x00, 0x0C, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x06, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x06, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x06, 0x00, + 0x01, 0x00, 0xEE, 0xFF, 0x06, 0x00, 0x03, 0x00, + 0xEA, 0xFF, 0x07, 0x00, 0x05, 0x00, 0xE6, 0xFF, + 0x0A, 0x00, 0x07, 0x00, 0xE2, 0xFF, 0x0C, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x0A, 0x00, + 0x01, 0x00, 0x12, 0x00, 0x0B, 0x00, 0x03, 0x00, + 0x16, 0x00, 0x0D, 0x00, 0x05, 0x00, 0x1A, 0x00, + 0x11, 0x00, 0x07, 0x00, 0x1E, 0x00, 0x15, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0A, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x0A, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x0A, 0x00, + 0x01, 0x00, 0xEE, 0xFF, 0x0B, 0x00, 0x03, 0x00, + 0xEA, 0xFF, 0x0D, 0x00, 0x05, 0x00, 0xE6, 0xFF, + 0x11, 0x00, 0x07, 0x00, 0xE2, 0xFF, 0x15, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x01, 0x00, 0x12, 0x00, 0x0F, 0x00, 0x03, 0x00, + 0x16, 0x00, 0x12, 0x00, 0x05, 0x00, 0x1A, 0x00, + 0x18, 0x00, 0x07, 0x00, 0x1E, 0x00, 0x1D, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0E, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x0E, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x0E, 0x00, + 0x01, 0x00, 0xEE, 0xFF, 0x0F, 0x00, 0x03, 0x00, + 0xEA, 0xFF, 0x12, 0x00, 0x05, 0x00, 0xE6, 0xFF, + 0x18, 0x00, 0x07, 0x00, 0xE2, 0xFF, 0x1D, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x02, 0x00, + 0x06, 0x00, 0x12, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x12, 0x00, + 0x04, 0x00, 0x12, 0x00, 0x15, 0x00, 0x06, 0x00, + 0x16, 0x00, 0x19, 0x00, 0x08, 0x00, 0x1A, 0x00, + 0x1F, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x26, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x12, 0x00, 0x02, 0x00, + 0xFA, 0xFF, 0x12, 0x00, 0x02, 0x00, 0xF6, 0xFF, + 0x12, 0x00, 0x02, 0x00, 0xF2, 0xFF, 0x12, 0x00, + 0x04, 0x00, 0xEE, 0xFF, 0x15, 0x00, 0x06, 0x00, + 0xEA, 0xFF, 0x19, 0x00, 0x08, 0x00, 0xE6, 0xFF, + 0x1F, 0x00, 0x0A, 0x00, 0xE2, 0xFF, 0x26, 0x00, + 0x04, 0x00, 0x02, 0x00, 0x16, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x16, 0x00, 0x04, 0x00, 0x0A, 0x00, + 0x16, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x16, 0x00, + 0x06, 0x00, 0x12, 0x00, 0x19, 0x00, 0x08, 0x00, + 0x16, 0x00, 0x1E, 0x00, 0x0A, 0x00, 0x1A, 0x00, + 0x26, 0x00, 0x0C, 0x00, 0x1E, 0x00, 0x2E, 0x00, + 0x04, 0x00, 0xFE, 0xFF, 0x16, 0x00, 0x04, 0x00, + 0xFA, 0xFF, 0x16, 0x00, 0x04, 0x00, 0xF6, 0xFF, + 0x16, 0x00, 0x04, 0x00, 0xF2, 0xFF, 0x16, 0x00, + 0x06, 0x00, 0xEE, 0xFF, 0x19, 0x00, 0x08, 0x00, + 0xEA, 0xFF, 0x1E, 0x00, 0x0A, 0x00, 0xE6, 0xFF, + 0x26, 0x00, 0x0C, 0x00, 0xE2, 0xFF, 0x2E, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x06, 0x00, + 0x06, 0x00, 0x1A, 0x00, 0x06, 0x00, 0x0A, 0x00, + 0x1A, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x1A, 0x00, + 0x08, 0x00, 0x12, 0x00, 0x1E, 0x00, 0x0A, 0x00, + 0x16, 0x00, 0x24, 0x00, 0x0C, 0x00, 0x1A, 0x00, + 0x2D, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x37, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x1A, 0x00, 0x06, 0x00, + 0xFA, 0xFF, 0x1A, 0x00, 0x06, 0x00, 0xF6, 0xFF, + 0x1A, 0x00, 0x06, 0x00, 0xF2, 0xFF, 0x1A, 0x00, + 0x08, 0x00, 0xEE, 0xFF, 0x1E, 0x00, 0x0A, 0x00, + 0xEA, 0xFF, 0x24, 0x00, 0x0C, 0x00, 0xE6, 0xFF, + 0x2D, 0x00, 0x0E, 0x00, 0xE2, 0xFF, 0x37, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x1E, 0x00, 0x08, 0x00, + 0x06, 0x00, 0x1E, 0x00, 0x08, 0x00, 0x0A, 0x00, + 0x1E, 0x00, 0x08, 0x00, 0x0E, 0x00, 0x1E, 0x00, + 0x0A, 0x00, 0x12, 0x00, 0x22, 0x00, 0x0C, 0x00, + 0x16, 0x00, 0x29, 0x00, 0x0E, 0x00, 0x1A, 0x00, + 0x34, 0x00, 0x10, 0x00, 0x1E, 0x00, 0x3F, 0x00, + 0x08, 0x00, 0xFE, 0xFF, 0x1E, 0x00, 0x08, 0x00, + 0xFA, 0xFF, 0x1E, 0x00, 0x08, 0x00, 0xF6, 0xFF, + 0x1E, 0x00, 0x08, 0x00, 0xF2, 0xFF, 0x1E, 0x00, + 0x0A, 0x00, 0xEE, 0xFF, 0x22, 0x00, 0x0C, 0x00, + 0xEA, 0xFF, 0x29, 0x00, 0x0E, 0x00, 0xE6, 0xFF, + 0x34, 0x00, 0x10, 0x00, 0xE2, 0xFF, 0x3F, 0x00, + 0x00, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xFE, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xFE, 0xFF, + 0x01, 0x00, 0x12, 0x00, 0xFE, 0xFF, 0x03, 0x00, + 0x16, 0x00, 0xFE, 0xFF, 0x05, 0x00, 0x1A, 0x00, + 0xFD, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0xFC, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFE, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xFE, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xFE, 0xFF, + 0x01, 0x00, 0xEE, 0xFF, 0xFE, 0xFF, 0x03, 0x00, + 0xEA, 0xFF, 0xFE, 0xFF, 0x05, 0x00, 0xE6, 0xFF, + 0xFD, 0xFF, 0x07, 0x00, 0xE2, 0xFF, 0xFC, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xFA, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFA, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xFA, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xFA, 0xFF, + 0x01, 0x00, 0x12, 0x00, 0xFA, 0xFF, 0x03, 0x00, + 0x16, 0x00, 0xF9, 0xFF, 0x05, 0x00, 0x1A, 0x00, + 0xF6, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0xF4, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFA, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFA, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xFA, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xFA, 0xFF, + 0x01, 0x00, 0xEE, 0xFF, 0xFA, 0xFF, 0x03, 0x00, + 0xEA, 0xFF, 0xF9, 0xFF, 0x05, 0x00, 0xE6, 0xFF, + 0xF6, 0xFF, 0x07, 0x00, 0xE2, 0xFF, 0xF4, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF6, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xF6, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xF6, 0xFF, + 0x01, 0x00, 0x12, 0x00, 0xF5, 0xFF, 0x03, 0x00, + 0x16, 0x00, 0xF3, 0xFF, 0x05, 0x00, 0x1A, 0x00, + 0xEF, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0xEB, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF6, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF6, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xF6, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xF6, 0xFF, + 0x01, 0x00, 0xEE, 0xFF, 0xF5, 0xFF, 0x03, 0x00, + 0xEA, 0xFF, 0xF3, 0xFF, 0x05, 0x00, 0xE6, 0xFF, + 0xEF, 0xFF, 0x07, 0x00, 0xE2, 0xFF, 0xEB, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF2, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF2, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xF2, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xF2, 0xFF, + 0x01, 0x00, 0x12, 0x00, 0xF1, 0xFF, 0x03, 0x00, + 0x16, 0x00, 0xEE, 0xFF, 0x05, 0x00, 0x1A, 0x00, + 0xE8, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0xE3, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF2, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF2, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xF2, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xF2, 0xFF, + 0x01, 0x00, 0xEE, 0xFF, 0xF1, 0xFF, 0x03, 0x00, + 0xEA, 0xFF, 0xEE, 0xFF, 0x05, 0x00, 0xE6, 0xFF, + 0xE8, 0xFF, 0x07, 0x00, 0xE2, 0xFF, 0xE3, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x02, 0x00, + 0x06, 0x00, 0xEE, 0xFF, 0x02, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x02, 0x00, 0x0E, 0x00, 0xEE, 0xFF, + 0x04, 0x00, 0x12, 0x00, 0xEB, 0xFF, 0x06, 0x00, + 0x16, 0x00, 0xE7, 0xFF, 0x08, 0x00, 0x1A, 0x00, + 0xE1, 0xFF, 0x0A, 0x00, 0x1E, 0x00, 0xDA, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xEE, 0xFF, 0x02, 0x00, + 0xFA, 0xFF, 0xEE, 0xFF, 0x02, 0x00, 0xF6, 0xFF, + 0xEE, 0xFF, 0x02, 0x00, 0xF2, 0xFF, 0xEE, 0xFF, + 0x04, 0x00, 0xEE, 0xFF, 0xEB, 0xFF, 0x06, 0x00, + 0xEA, 0xFF, 0xE7, 0xFF, 0x08, 0x00, 0xE6, 0xFF, + 0xE1, 0xFF, 0x0A, 0x00, 0xE2, 0xFF, 0xDA, 0xFF, + 0x04, 0x00, 0x02, 0x00, 0xEA, 0xFF, 0x04, 0x00, + 0x06, 0x00, 0xEA, 0xFF, 0x04, 0x00, 0x0A, 0x00, + 0xEA, 0xFF, 0x04, 0x00, 0x0E, 0x00, 0xEA, 0xFF, + 0x06, 0x00, 0x12, 0x00, 0xE7, 0xFF, 0x08, 0x00, + 0x16, 0x00, 0xE2, 0xFF, 0x0A, 0x00, 0x1A, 0x00, + 0xDA, 0xFF, 0x0C, 0x00, 0x1E, 0x00, 0xD2, 0xFF, + 0x04, 0x00, 0xFE, 0xFF, 0xEA, 0xFF, 0x04, 0x00, + 0xFA, 0xFF, 0xEA, 0xFF, 0x04, 0x00, 0xF6, 0xFF, + 0xEA, 0xFF, 0x04, 0x00, 0xF2, 0xFF, 0xEA, 0xFF, + 0x06, 0x00, 0xEE, 0xFF, 0xE7, 0xFF, 0x08, 0x00, + 0xEA, 0xFF, 0xE2, 0xFF, 0x0A, 0x00, 0xE6, 0xFF, + 0xDA, 0xFF, 0x0C, 0x00, 0xE2, 0xFF, 0xD2, 0xFF, + 0x06, 0x00, 0x02, 0x00, 0xE6, 0xFF, 0x06, 0x00, + 0x06, 0x00, 0xE6, 0xFF, 0x06, 0x00, 0x0A, 0x00, + 0xE6, 0xFF, 0x06, 0x00, 0x0E, 0x00, 0xE6, 0xFF, + 0x08, 0x00, 0x12, 0x00, 0xE2, 0xFF, 0x0A, 0x00, + 0x16, 0x00, 0xDC, 0xFF, 0x0C, 0x00, 0x1A, 0x00, + 0xD3, 0xFF, 0x0E, 0x00, 0x1E, 0x00, 0xC9, 0xFF, + 0x06, 0x00, 0xFE, 0xFF, 0xE6, 0xFF, 0x06, 0x00, + 0xFA, 0xFF, 0xE6, 0xFF, 0x06, 0x00, 0xF6, 0xFF, + 0xE6, 0xFF, 0x06, 0x00, 0xF2, 0xFF, 0xE6, 0xFF, + 0x08, 0x00, 0xEE, 0xFF, 0xE2, 0xFF, 0x0A, 0x00, + 0xEA, 0xFF, 0xDC, 0xFF, 0x0C, 0x00, 0xE6, 0xFF, + 0xD3, 0xFF, 0x0E, 0x00, 0xE2, 0xFF, 0xC9, 0xFF, + 0x08, 0x00, 0x02, 0x00, 0xE2, 0xFF, 0x08, 0x00, + 0x06, 0x00, 0xE2, 0xFF, 0x08, 0x00, 0x0A, 0x00, + 0xE2, 0xFF, 0x08, 0x00, 0x0E, 0x00, 0xE2, 0xFF, + 0x0A, 0x00, 0x12, 0x00, 0xDE, 0xFF, 0x0C, 0x00, + 0x16, 0x00, 0xD7, 0xFF, 0x0E, 0x00, 0x1A, 0x00, + 0xCC, 0xFF, 0x10, 0x00, 0x1E, 0x00, 0xC1, 0xFF, + 0x08, 0x00, 0xFE, 0xFF, 0xE2, 0xFF, 0x08, 0x00, + 0xFA, 0xFF, 0xE2, 0xFF, 0x08, 0x00, 0xF6, 0xFF, + 0xE2, 0xFF, 0x08, 0x00, 0xF2, 0xFF, 0xE2, 0xFF, + 0x0A, 0x00, 0xEE, 0xFF, 0xDE, 0xFF, 0x0C, 0x00, + 0xEA, 0xFF, 0xD7, 0xFF, 0x0E, 0x00, 0xE6, 0xFF, + 0xCC, 0xFF, 0x10, 0x00, 0xE2, 0xFF, 0xC1, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x17, 0x00, 0x03, 0x00, 0x06, 0x00, 0x1B, 0x00, + 0x03, 0x00, 0x08, 0x00, 0x1F, 0x00, 0x04, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x02, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x02, 0x00, + 0x02, 0x00, 0xED, 0xFF, 0x02, 0x00, 0x04, 0x00, + 0xE9, 0xFF, 0x03, 0x00, 0x06, 0x00, 0xE5, 0xFF, + 0x03, 0x00, 0x08, 0x00, 0xE1, 0xFF, 0x04, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x06, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x07, 0x00, 0x04, 0x00, + 0x17, 0x00, 0x09, 0x00, 0x06, 0x00, 0x1B, 0x00, + 0x0A, 0x00, 0x08, 0x00, 0x1F, 0x00, 0x0D, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x06, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x06, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x06, 0x00, + 0x02, 0x00, 0xED, 0xFF, 0x07, 0x00, 0x04, 0x00, + 0xE9, 0xFF, 0x09, 0x00, 0x06, 0x00, 0xE5, 0xFF, + 0x0A, 0x00, 0x08, 0x00, 0xE1, 0xFF, 0x0D, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x0A, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x0C, 0x00, 0x04, 0x00, + 0x17, 0x00, 0x0F, 0x00, 0x06, 0x00, 0x1B, 0x00, + 0x12, 0x00, 0x08, 0x00, 0x1F, 0x00, 0x16, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0A, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x0A, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x0A, 0x00, + 0x02, 0x00, 0xED, 0xFF, 0x0C, 0x00, 0x04, 0x00, + 0xE9, 0xFF, 0x0F, 0x00, 0x06, 0x00, 0xE5, 0xFF, + 0x12, 0x00, 0x08, 0x00, 0xE1, 0xFF, 0x16, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0A, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x11, 0x00, 0x04, 0x00, + 0x17, 0x00, 0x15, 0x00, 0x06, 0x00, 0x1B, 0x00, + 0x19, 0x00, 0x08, 0x00, 0x1F, 0x00, 0x1F, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0E, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0xF6, 0xFF, + 0x0E, 0x00, 0x00, 0x00, 0xF2, 0xFF, 0x0E, 0x00, + 0x02, 0x00, 0xED, 0xFF, 0x11, 0x00, 0x04, 0x00, + 0xE9, 0xFF, 0x15, 0x00, 0x06, 0x00, 0xE5, 0xFF, + 0x19, 0x00, 0x08, 0x00, 0xE1, 0xFF, 0x1F, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x02, 0x00, + 0x06, 0x00, 0x12, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x12, 0x00, + 0x05, 0x00, 0x13, 0x00, 0x17, 0x00, 0x07, 0x00, + 0x17, 0x00, 0x1C, 0x00, 0x09, 0x00, 0x1B, 0x00, + 0x22, 0x00, 0x0B, 0x00, 0x1F, 0x00, 0x29, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x12, 0x00, 0x02, 0x00, + 0xFA, 0xFF, 0x12, 0x00, 0x02, 0x00, 0xF6, 0xFF, + 0x12, 0x00, 0x02, 0x00, 0xF2, 0xFF, 0x12, 0x00, + 0x05, 0x00, 0xED, 0xFF, 0x17, 0x00, 0x07, 0x00, + 0xE9, 0xFF, 0x1C, 0x00, 0x09, 0x00, 0xE5, 0xFF, + 0x22, 0x00, 0x0B, 0x00, 0xE1, 0xFF, 0x29, 0x00, + 0x04, 0x00, 0x02, 0x00, 0x16, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x16, 0x00, 0x04, 0x00, 0x0A, 0x00, + 0x16, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x16, 0x00, + 0x07, 0x00, 0x13, 0x00, 0x1C, 0x00, 0x09, 0x00, + 0x17, 0x00, 0x22, 0x00, 0x0B, 0x00, 0x1B, 0x00, + 0x29, 0x00, 0x0D, 0x00, 0x1F, 0x00, 0x32, 0x00, + 0x04, 0x00, 0xFE, 0xFF, 0x16, 0x00, 0x04, 0x00, + 0xFA, 0xFF, 0x16, 0x00, 0x04, 0x00, 0xF6, 0xFF, + 0x16, 0x00, 0x04, 0x00, 0xF2, 0xFF, 0x16, 0x00, + 0x07, 0x00, 0xED, 0xFF, 0x1C, 0x00, 0x09, 0x00, + 0xE9, 0xFF, 0x22, 0x00, 0x0B, 0x00, 0xE5, 0xFF, + 0x29, 0x00, 0x0D, 0x00, 0xE1, 0xFF, 0x32, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x06, 0x00, + 0x06, 0x00, 0x1A, 0x00, 0x06, 0x00, 0x0A, 0x00, + 0x1A, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x1A, 0x00, + 0x09, 0x00, 0x13, 0x00, 0x21, 0x00, 0x0B, 0x00, + 0x17, 0x00, 0x28, 0x00, 0x0D, 0x00, 0x1B, 0x00, + 0x31, 0x00, 0x0F, 0x00, 0x1F, 0x00, 0x3B, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x1A, 0x00, 0x06, 0x00, + 0xFA, 0xFF, 0x1A, 0x00, 0x06, 0x00, 0xF6, 0xFF, + 0x1A, 0x00, 0x06, 0x00, 0xF2, 0xFF, 0x1A, 0x00, + 0x09, 0x00, 0xED, 0xFF, 0x21, 0x00, 0x0B, 0x00, + 0xE9, 0xFF, 0x28, 0x00, 0x0D, 0x00, 0xE5, 0xFF, + 0x31, 0x00, 0x0F, 0x00, 0xE1, 0xFF, 0x3B, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x1E, 0x00, 0x08, 0x00, + 0x06, 0x00, 0x1E, 0x00, 0x08, 0x00, 0x0A, 0x00, + 0x1E, 0x00, 0x08, 0x00, 0x0E, 0x00, 0x1E, 0x00, + 0x0B, 0x00, 0x13, 0x00, 0x26, 0x00, 0x0D, 0x00, + 0x17, 0x00, 0x2E, 0x00, 0x0F, 0x00, 0x1B, 0x00, + 0x38, 0x00, 0x11, 0x00, 0x1F, 0x00, 0x44, 0x00, + 0x08, 0x00, 0xFE, 0xFF, 0x1E, 0x00, 0x08, 0x00, + 0xFA, 0xFF, 0x1E, 0x00, 0x08, 0x00, 0xF6, 0xFF, + 0x1E, 0x00, 0x08, 0x00, 0xF2, 0xFF, 0x1E, 0x00, + 0x0B, 0x00, 0xED, 0xFF, 0x26, 0x00, 0x0D, 0x00, + 0xE9, 0xFF, 0x2E, 0x00, 0x0F, 0x00, 0xE5, 0xFF, + 0x38, 0x00, 0x11, 0x00, 0xE1, 0xFF, 0x44, 0x00, + 0x00, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xFE, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xFE, 0xFF, + 0x02, 0x00, 0x13, 0x00, 0xFE, 0xFF, 0x04, 0x00, + 0x17, 0x00, 0xFD, 0xFF, 0x06, 0x00, 0x1B, 0x00, + 0xFD, 0xFF, 0x08, 0x00, 0x1F, 0x00, 0xFC, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFE, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xFE, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xFE, 0xFF, + 0x02, 0x00, 0xED, 0xFF, 0xFE, 0xFF, 0x04, 0x00, + 0xE9, 0xFF, 0xFD, 0xFF, 0x06, 0x00, 0xE5, 0xFF, + 0xFD, 0xFF, 0x08, 0x00, 0xE1, 0xFF, 0xFC, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xFA, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFA, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xFA, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xFA, 0xFF, + 0x02, 0x00, 0x13, 0x00, 0xF9, 0xFF, 0x04, 0x00, + 0x17, 0x00, 0xF7, 0xFF, 0x06, 0x00, 0x1B, 0x00, + 0xF6, 0xFF, 0x08, 0x00, 0x1F, 0x00, 0xF3, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFA, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFA, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xFA, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xFA, 0xFF, + 0x02, 0x00, 0xED, 0xFF, 0xF9, 0xFF, 0x04, 0x00, + 0xE9, 0xFF, 0xF7, 0xFF, 0x06, 0x00, 0xE5, 0xFF, + 0xF6, 0xFF, 0x08, 0x00, 0xE1, 0xFF, 0xF3, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF6, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xF6, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xF6, 0xFF, + 0x02, 0x00, 0x13, 0x00, 0xF4, 0xFF, 0x04, 0x00, + 0x17, 0x00, 0xF1, 0xFF, 0x06, 0x00, 0x1B, 0x00, + 0xEE, 0xFF, 0x08, 0x00, 0x1F, 0x00, 0xEA, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF6, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF6, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xF6, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xF6, 0xFF, + 0x02, 0x00, 0xED, 0xFF, 0xF4, 0xFF, 0x04, 0x00, + 0xE9, 0xFF, 0xF1, 0xFF, 0x06, 0x00, 0xE5, 0xFF, + 0xEE, 0xFF, 0x08, 0x00, 0xE1, 0xFF, 0xEA, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF2, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF2, 0xFF, 0x00, 0x00, 0x0A, 0x00, + 0xF2, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0xF2, 0xFF, + 0x02, 0x00, 0x13, 0x00, 0xEF, 0xFF, 0x04, 0x00, + 0x17, 0x00, 0xEB, 0xFF, 0x06, 0x00, 0x1B, 0x00, + 0xE7, 0xFF, 0x08, 0x00, 0x1F, 0x00, 0xE1, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF2, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF2, 0xFF, 0x00, 0x00, 0xF6, 0xFF, + 0xF2, 0xFF, 0x00, 0x00, 0xF2, 0xFF, 0xF2, 0xFF, + 0x02, 0x00, 0xED, 0xFF, 0xEF, 0xFF, 0x04, 0x00, + 0xE9, 0xFF, 0xEB, 0xFF, 0x06, 0x00, 0xE5, 0xFF, + 0xE7, 0xFF, 0x08, 0x00, 0xE1, 0xFF, 0xE1, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x02, 0x00, + 0x06, 0x00, 0xEE, 0xFF, 0x02, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x02, 0x00, 0x0E, 0x00, 0xEE, 0xFF, + 0x05, 0x00, 0x13, 0x00, 0xE9, 0xFF, 0x07, 0x00, + 0x17, 0x00, 0xE4, 0xFF, 0x09, 0x00, 0x1B, 0x00, + 0xDE, 0xFF, 0x0B, 0x00, 0x1F, 0x00, 0xD7, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xEE, 0xFF, 0x02, 0x00, + 0xFA, 0xFF, 0xEE, 0xFF, 0x02, 0x00, 0xF6, 0xFF, + 0xEE, 0xFF, 0x02, 0x00, 0xF2, 0xFF, 0xEE, 0xFF, + 0x05, 0x00, 0xED, 0xFF, 0xE9, 0xFF, 0x07, 0x00, + 0xE9, 0xFF, 0xE4, 0xFF, 0x09, 0x00, 0xE5, 0xFF, + 0xDE, 0xFF, 0x0B, 0x00, 0xE1, 0xFF, 0xD7, 0xFF, + 0x04, 0x00, 0x02, 0x00, 0xEA, 0xFF, 0x04, 0x00, + 0x06, 0x00, 0xEA, 0xFF, 0x04, 0x00, 0x0A, 0x00, + 0xEA, 0xFF, 0x04, 0x00, 0x0E, 0x00, 0xEA, 0xFF, + 0x07, 0x00, 0x13, 0x00, 0xE4, 0xFF, 0x09, 0x00, + 0x17, 0x00, 0xDE, 0xFF, 0x0B, 0x00, 0x1B, 0x00, + 0xD7, 0xFF, 0x0D, 0x00, 0x1F, 0x00, 0xCE, 0xFF, + 0x04, 0x00, 0xFE, 0xFF, 0xEA, 0xFF, 0x04, 0x00, + 0xFA, 0xFF, 0xEA, 0xFF, 0x04, 0x00, 0xF6, 0xFF, + 0xEA, 0xFF, 0x04, 0x00, 0xF2, 0xFF, 0xEA, 0xFF, + 0x07, 0x00, 0xED, 0xFF, 0xE4, 0xFF, 0x09, 0x00, + 0xE9, 0xFF, 0xDE, 0xFF, 0x0B, 0x00, 0xE5, 0xFF, + 0xD7, 0xFF, 0x0D, 0x00, 0xE1, 0xFF, 0xCE, 0xFF, + 0x06, 0x00, 0x02, 0x00, 0xE6, 0xFF, 0x06, 0x00, + 0x06, 0x00, 0xE6, 0xFF, 0x06, 0x00, 0x0A, 0x00, + 0xE6, 0xFF, 0x06, 0x00, 0x0E, 0x00, 0xE6, 0xFF, + 0x09, 0x00, 0x13, 0x00, 0xDF, 0xFF, 0x0B, 0x00, + 0x17, 0x00, 0xD8, 0xFF, 0x0D, 0x00, 0x1B, 0x00, + 0xCF, 0xFF, 0x0F, 0x00, 0x1F, 0x00, 0xC5, 0xFF, + 0x06, 0x00, 0xFE, 0xFF, 0xE6, 0xFF, 0x06, 0x00, + 0xFA, 0xFF, 0xE6, 0xFF, 0x06, 0x00, 0xF6, 0xFF, + 0xE6, 0xFF, 0x06, 0x00, 0xF2, 0xFF, 0xE6, 0xFF, + 0x09, 0x00, 0xED, 0xFF, 0xDF, 0xFF, 0x0B, 0x00, + 0xE9, 0xFF, 0xD8, 0xFF, 0x0D, 0x00, 0xE5, 0xFF, + 0xCF, 0xFF, 0x0F, 0x00, 0xE1, 0xFF, 0xC5, 0xFF, + 0x08, 0x00, 0x02, 0x00, 0xE2, 0xFF, 0x08, 0x00, + 0x06, 0x00, 0xE2, 0xFF, 0x08, 0x00, 0x0A, 0x00, + 0xE2, 0xFF, 0x08, 0x00, 0x0E, 0x00, 0xE2, 0xFF, + 0x0B, 0x00, 0x13, 0x00, 0xDA, 0xFF, 0x0D, 0x00, + 0x17, 0x00, 0xD2, 0xFF, 0x0F, 0x00, 0x1B, 0x00, + 0xC8, 0xFF, 0x11, 0x00, 0x1F, 0x00, 0xBC, 0xFF, + 0x08, 0x00, 0xFE, 0xFF, 0xE2, 0xFF, 0x08, 0x00, + 0xFA, 0xFF, 0xE2, 0xFF, 0x08, 0x00, 0xF6, 0xFF, + 0xE2, 0xFF, 0x08, 0x00, 0xF2, 0xFF, 0xE2, 0xFF, + 0x0B, 0x00, 0xED, 0xFF, 0xDA, 0xFF, 0x0D, 0x00, + 0xE9, 0xFF, 0xD2, 0xFF, 0x0F, 0x00, 0xE5, 0xFF, + 0xC8, 0xFF, 0x11, 0x00, 0xE1, 0xFF, 0xBC, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x15, 0x00, 0x02, 0x00, 0x05, 0x00, + 0x19, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1E, 0x00, + 0x04, 0x00, 0x09, 0x00, 0x22, 0x00, 0x05, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xF5, 0xFF, + 0x02, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x02, 0x00, + 0x03, 0x00, 0xEB, 0xFF, 0x02, 0x00, 0x05, 0x00, + 0xE7, 0xFF, 0x03, 0x00, 0x07, 0x00, 0xE2, 0xFF, + 0x04, 0x00, 0x09, 0x00, 0xDE, 0xFF, 0x05, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x06, 0x00, + 0x03, 0x00, 0x15, 0x00, 0x07, 0x00, 0x05, 0x00, + 0x19, 0x00, 0x0A, 0x00, 0x07, 0x00, 0x1E, 0x00, + 0x0C, 0x00, 0x09, 0x00, 0x22, 0x00, 0x0F, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x06, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xF5, 0xFF, + 0x06, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x06, 0x00, + 0x03, 0x00, 0xEB, 0xFF, 0x07, 0x00, 0x05, 0x00, + 0xE7, 0xFF, 0x0A, 0x00, 0x07, 0x00, 0xE2, 0xFF, + 0x0C, 0x00, 0x09, 0x00, 0xDE, 0xFF, 0x0F, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0A, 0x00, + 0x03, 0x00, 0x15, 0x00, 0x0D, 0x00, 0x05, 0x00, + 0x19, 0x00, 0x11, 0x00, 0x07, 0x00, 0x1E, 0x00, + 0x15, 0x00, 0x09, 0x00, 0x22, 0x00, 0x19, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0A, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0xF5, 0xFF, + 0x0A, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0A, 0x00, + 0x03, 0x00, 0xEB, 0xFF, 0x0D, 0x00, 0x05, 0x00, + 0xE7, 0xFF, 0x11, 0x00, 0x07, 0x00, 0xE2, 0xFF, + 0x15, 0x00, 0x09, 0x00, 0xDE, 0xFF, 0x19, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0B, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x0E, 0x00, + 0x03, 0x00, 0x15, 0x00, 0x12, 0x00, 0x05, 0x00, + 0x19, 0x00, 0x18, 0x00, 0x07, 0x00, 0x1E, 0x00, + 0x1D, 0x00, 0x09, 0x00, 0x22, 0x00, 0x23, 0x00, + 0x00, 0x00, 0xFE, 0xFF, 0x0E, 0x00, 0x00, 0x00, + 0xFA, 0xFF, 0x0E, 0x00, 0x00, 0x00, 0xF5, 0xFF, + 0x0E, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0x0E, 0x00, + 0x03, 0x00, 0xEB, 0xFF, 0x12, 0x00, 0x05, 0x00, + 0xE7, 0xFF, 0x18, 0x00, 0x07, 0x00, 0xE2, 0xFF, + 0x1D, 0x00, 0x09, 0x00, 0xDE, 0xFF, 0x23, 0x00, + 0x03, 0x00, 0x02, 0x00, 0x13, 0x00, 0x03, 0x00, + 0x06, 0x00, 0x13, 0x00, 0x03, 0x00, 0x0B, 0x00, + 0x13, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x13, 0x00, + 0x06, 0x00, 0x15, 0x00, 0x19, 0x00, 0x08, 0x00, + 0x19, 0x00, 0x1F, 0x00, 0x0A, 0x00, 0x1E, 0x00, + 0x26, 0x00, 0x0C, 0x00, 0x22, 0x00, 0x2E, 0x00, + 0x03, 0x00, 0xFE, 0xFF, 0x13, 0x00, 0x03, 0x00, + 0xFA, 0xFF, 0x13, 0x00, 0x03, 0x00, 0xF5, 0xFF, + 0x13, 0x00, 0x03, 0x00, 0xF1, 0xFF, 0x13, 0x00, + 0x06, 0x00, 0xEB, 0xFF, 0x19, 0x00, 0x08, 0x00, + 0xE7, 0xFF, 0x1F, 0x00, 0x0A, 0x00, 0xE2, 0xFF, + 0x26, 0x00, 0x0C, 0x00, 0xDE, 0xFF, 0x2E, 0x00, + 0x05, 0x00, 0x02, 0x00, 0x17, 0x00, 0x05, 0x00, + 0x06, 0x00, 0x17, 0x00, 0x05, 0x00, 0x0B, 0x00, + 0x17, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x17, 0x00, + 0x08, 0x00, 0x15, 0x00, 0x1E, 0x00, 0x0A, 0x00, + 0x19, 0x00, 0x26, 0x00, 0x0C, 0x00, 0x1E, 0x00, + 0x2E, 0x00, 0x0E, 0x00, 0x22, 0x00, 0x38, 0x00, + 0x05, 0x00, 0xFE, 0xFF, 0x17, 0x00, 0x05, 0x00, + 0xFA, 0xFF, 0x17, 0x00, 0x05, 0x00, 0xF5, 0xFF, + 0x17, 0x00, 0x05, 0x00, 0xF1, 0xFF, 0x17, 0x00, + 0x08, 0x00, 0xEB, 0xFF, 0x1E, 0x00, 0x0A, 0x00, + 0xE7, 0xFF, 0x26, 0x00, 0x0C, 0x00, 0xE2, 0xFF, + 0x2E, 0x00, 0x0E, 0x00, 0xDE, 0xFF, 0x38, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x07, 0x00, + 0x06, 0x00, 0x1B, 0x00, 0x07, 0x00, 0x0B, 0x00, + 0x1B, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x1B, 0x00, + 0x0A, 0x00, 0x15, 0x00, 0x24, 0x00, 0x0C, 0x00, + 0x19, 0x00, 0x2D, 0x00, 0x0E, 0x00, 0x1E, 0x00, + 0x37, 0x00, 0x10, 0x00, 0x22, 0x00, 0x42, 0x00, + 0x07, 0x00, 0xFE, 0xFF, 0x1B, 0x00, 0x07, 0x00, + 0xFA, 0xFF, 0x1B, 0x00, 0x07, 0x00, 0xF5, 0xFF, + 0x1B, 0x00, 0x07, 0x00, 0xF1, 0xFF, 0x1B, 0x00, + 0x0A, 0x00, 0xEB, 0xFF, 0x24, 0x00, 0x0C, 0x00, + 0xE7, 0xFF, 0x2D, 0x00, 0x0E, 0x00, 0xE2, 0xFF, + 0x37, 0x00, 0x10, 0x00, 0xDE, 0xFF, 0x42, 0x00, + 0x09, 0x00, 0x02, 0x00, 0x1F, 0x00, 0x09, 0x00, + 0x06, 0x00, 0x1F, 0x00, 0x09, 0x00, 0x0B, 0x00, + 0x1F, 0x00, 0x09, 0x00, 0x0F, 0x00, 0x1F, 0x00, + 0x0C, 0x00, 0x15, 0x00, 0x29, 0x00, 0x0E, 0x00, + 0x19, 0x00, 0x34, 0x00, 0x10, 0x00, 0x1E, 0x00, + 0x3F, 0x00, 0x12, 0x00, 0x22, 0x00, 0x4C, 0x00, + 0x09, 0x00, 0xFE, 0xFF, 0x1F, 0x00, 0x09, 0x00, + 0xFA, 0xFF, 0x1F, 0x00, 0x09, 0x00, 0xF5, 0xFF, + 0x1F, 0x00, 0x09, 0x00, 0xF1, 0xFF, 0x1F, 0x00, + 0x0C, 0x00, 0xEB, 0xFF, 0x29, 0x00, 0x0E, 0x00, + 0xE7, 0xFF, 0x34, 0x00, 0x10, 0x00, 0xE2, 0xFF, + 0x3F, 0x00, 0x12, 0x00, 0xDE, 0xFF, 0x4C, 0x00, + 0x00, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x0B, 0x00, + 0xFE, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0xFE, 0xFF, + 0x03, 0x00, 0x15, 0x00, 0xFE, 0xFF, 0x05, 0x00, + 0x19, 0x00, 0xFD, 0xFF, 0x07, 0x00, 0x1E, 0x00, + 0xFC, 0xFF, 0x09, 0x00, 0x22, 0x00, 0xFB, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFE, 0xFF, 0x00, 0x00, 0xF5, 0xFF, + 0xFE, 0xFF, 0x00, 0x00, 0xF1, 0xFF, 0xFE, 0xFF, + 0x03, 0x00, 0xEB, 0xFF, 0xFE, 0xFF, 0x05, 0x00, + 0xE7, 0xFF, 0xFD, 0xFF, 0x07, 0x00, 0xE2, 0xFF, + 0xFC, 0xFF, 0x09, 0x00, 0xDE, 0xFF, 0xFB, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xFA, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xFA, 0xFF, 0x00, 0x00, 0x0B, 0x00, + 0xFA, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0xFA, 0xFF, + 0x03, 0x00, 0x15, 0x00, 0xF9, 0xFF, 0x05, 0x00, + 0x19, 0x00, 0xF6, 0xFF, 0x07, 0x00, 0x1E, 0x00, + 0xF4, 0xFF, 0x09, 0x00, 0x22, 0x00, 0xF1, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xFA, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xFA, 0xFF, 0x00, 0x00, 0xF5, 0xFF, + 0xFA, 0xFF, 0x00, 0x00, 0xF1, 0xFF, 0xFA, 0xFF, + 0x03, 0x00, 0xEB, 0xFF, 0xF9, 0xFF, 0x05, 0x00, + 0xE7, 0xFF, 0xF6, 0xFF, 0x07, 0x00, 0xE2, 0xFF, + 0xF4, 0xFF, 0x09, 0x00, 0xDE, 0xFF, 0xF1, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF6, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x0B, 0x00, + 0xF6, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0xF6, 0xFF, + 0x03, 0x00, 0x15, 0x00, 0xF3, 0xFF, 0x05, 0x00, + 0x19, 0x00, 0xEF, 0xFF, 0x07, 0x00, 0x1E, 0x00, + 0xEB, 0xFF, 0x09, 0x00, 0x22, 0x00, 0xE7, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF6, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF6, 0xFF, 0x00, 0x00, 0xF5, 0xFF, + 0xF6, 0xFF, 0x00, 0x00, 0xF1, 0xFF, 0xF6, 0xFF, + 0x03, 0x00, 0xEB, 0xFF, 0xF3, 0xFF, 0x05, 0x00, + 0xE7, 0xFF, 0xEF, 0xFF, 0x07, 0x00, 0xE2, 0xFF, + 0xEB, 0xFF, 0x09, 0x00, 0xDE, 0xFF, 0xE7, 0xFF, + 0x00, 0x00, 0x02, 0x00, 0xF2, 0xFF, 0x00, 0x00, + 0x06, 0x00, 0xF2, 0xFF, 0x00, 0x00, 0x0B, 0x00, + 0xF2, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0xF2, 0xFF, + 0x03, 0x00, 0x15, 0x00, 0xEE, 0xFF, 0x05, 0x00, + 0x19, 0x00, 0xE8, 0xFF, 0x07, 0x00, 0x1E, 0x00, + 0xE3, 0xFF, 0x09, 0x00, 0x22, 0x00, 0xDD, 0xFF, + 0x00, 0x00, 0xFE, 0xFF, 0xF2, 0xFF, 0x00, 0x00, + 0xFA, 0xFF, 0xF2, 0xFF, 0x00, 0x00, 0xF5, 0xFF, + 0xF2, 0xFF, 0x00, 0x00, 0xF1, 0xFF, 0xF2, 0xFF, + 0x03, 0x00, 0xEB, 0xFF, 0xEE, 0xFF, 0x05, 0x00, + 0xE7, 0xFF, 0xE8, 0xFF, 0x07, 0x00, 0xE2, 0xFF, + 0xE3, 0xFF, 0x09, 0x00, 0xDE, 0xFF, 0xDD, 0xFF, + 0x03, 0x00, 0x02, 0x00, 0xED, 0xFF, 0x03, 0x00, + 0x06, 0x00, 0xED, 0xFF, 0x03, 0x00, 0x0B, 0x00, + 0xED, 0xFF, 0x03, 0x00, 0x0F, 0x00, 0xED, 0xFF, + 0x06, 0x00, 0x15, 0x00, 0xE7, 0xFF, 0x08, 0x00, + 0x19, 0x00, 0xE1, 0xFF, 0x0A, 0x00, 0x1E, 0x00, + 0xDA, 0xFF, 0x0C, 0x00, 0x22, 0x00, 0xD2, 0xFF, + 0x03, 0x00, 0xFE, 0xFF, 0xED, 0xFF, 0x03, 0x00, + 0xFA, 0xFF, 0xED, 0xFF, 0x03, 0x00, 0xF5, 0xFF, + 0xED, 0xFF, 0x03, 0x00, 0xF1, 0xFF, 0xED, 0xFF, + 0x06, 0x00, 0xEB, 0xFF, 0xE7, 0xFF, 0x08, 0x00, + 0xE7, 0xFF, 0xE1, 0xFF, 0x0A, 0x00, 0xE2, 0xFF, + 0xDA, 0xFF, 0x0C, 0x00, 0xDE, 0xFF, 0xD2, 0xFF, + 0x05, 0x00, 0x02, 0x00, 0xE9, 0xFF, 0x05, 0x00, + 0x06, 0x00, 0xE9, 0xFF, 0x05, 0x00, 0x0B, 0x00, + 0xE9, 0xFF, 0x05, 0x00, 0x0F, 0x00, 0xE9, 0xFF, + 0x08, 0x00, 0x15, 0x00, 0xE2, 0xFF, 0x0A, 0x00, + 0x19, 0x00, 0xDA, 0xFF, 0x0C, 0x00, 0x1E, 0x00, + 0xD2, 0xFF, 0x0E, 0x00, 0x22, 0x00, 0xC8, 0xFF, + 0x05, 0x00, 0xFE, 0xFF, 0xE9, 0xFF, 0x05, 0x00, + 0xFA, 0xFF, 0xE9, 0xFF, 0x05, 0x00, 0xF5, 0xFF, + 0xE9, 0xFF, 0x05, 0x00, 0xF1, 0xFF, 0xE9, 0xFF, + 0x08, 0x00, 0xEB, 0xFF, 0xE2, 0xFF, 0x0A, 0x00, + 0xE7, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, 0xE2, 0xFF, + 0xD2, 0xFF, 0x0E, 0x00, 0xDE, 0xFF, 0xC8, 0xFF, + 0x07, 0x00, 0x02, 0x00, 0xE5, 0xFF, 0x07, 0x00, + 0x06, 0x00, 0xE5, 0xFF, 0x07, 0x00, 0x0B, 0x00, + 0xE5, 0xFF, 0x07, 0x00, 0x0F, 0x00, 0xE5, 0xFF, + 0x0A, 0x00, 0x15, 0x00, 0xDC, 0xFF, 0x0C, 0x00, + 0x19, 0x00, 0xD3, 0xFF, 0x0E, 0x00, 0x1E, 0x00, + 0xC9, 0xFF, 0x10, 0x00, 0x22, 0x00, 0xBE, 0xFF, + 0x07, 0x00, 0xFE, 0xFF, 0xE5, 0xFF, 0x07, 0x00, + 0xFA, 0xFF, 0xE5, 0xFF, 0x07, 0x00, 0xF5, 0xFF, + 0xE5, 0xFF, 0x07, 0x00, 0xF1, 0xFF, 0xE5, 0xFF, + 0x0A, 0x00, 0xEB, 0xFF, 0xDC, 0xFF, 0x0C, 0x00, + 0xE7, 0xFF, 0xD3, 0xFF, 0x0E, 0x00, 0xE2, 0xFF, + 0xC9, 0xFF, 0x10, 0x00, 0xDE, 0xFF, 0xBE, 0xFF, + 0x09, 0x00, 0x02, 0x00, 0xE1, 0xFF, 0x09, 0x00, + 0x06, 0x00, 0xE1, 0xFF, 0x09, 0x00, 0x0B, 0x00, + 0xE1, 0xFF, 0x09, 0x00, 0x0F, 0x00, 0xE1, 0xFF, + 0x0C, 0x00, 0x15, 0x00, 0xD7, 0xFF, 0x0E, 0x00, + 0x19, 0x00, 0xCC, 0xFF, 0x10, 0x00, 0x1E, 0x00, + 0xC1, 0xFF, 0x12, 0x00, 0x22, 0x00, 0xB4, 0xFF, + 0x09, 0x00, 0xFE, 0xFF, 0xE1, 0xFF, 0x09, 0x00, + 0xFA, 0xFF, 0xE1, 0xFF, 0x09, 0x00, 0xF5, 0xFF, + 0xE1, 0xFF, 0x09, 0x00, 0xF1, 0xFF, 0xE1, 0xFF, + 0x0C, 0x00, 0xEB, 0xFF, 0xD7, 0xFF, 0x0E, 0x00, + 0xE7, 0xFF, 0xCC, 0xFF, 0x10, 0x00, 0xE2, 0xFF, + 0xC1, 0xFF, 0x12, 0x00, 0xDE, 0xFF, 0xB4, 0xFF, + 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x01, 0x00, 0x0C, 0x00, + 0x02, 0x00, 0x01, 0x00, 0x11, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x17, 0x00, 0x03, 0x00, 0x06, 0x00, + 0x1C, 0x00, 0x03, 0x00, 0x08, 0x00, 0x21, 0x00, + 0x04, 0x00, 0x0A, 0x00, 0x26, 0x00, 0x05, 0x00, + 0x01, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x01, 0x00, + 0xF9, 0xFF, 0x02, 0x00, 0x01, 0x00, 0xF4, 0xFF, + 0x02, 0x00, 0x01, 0x00, 0xEF, 0xFF, 0x02, 0x00, + 0x04, 0x00, 0xE9, 0xFF, 0x03, 0x00, 0x06, 0x00, + 0xE4, 0xFF, 0x03, 0x00, 0x08, 0x00, 0xDF, 0xFF, + 0x04, 0x00, 0x0A, 0x00, 0xDA, 0xFF, 0x05, 0x00, + 0x01, 0x00, 0x02, 0x00, 0x06, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x06, 0x00, 0x01, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x01, 0x00, 0x11, 0x00, 0x06, 0x00, + 0x04, 0x00, 0x17, 0x00, 0x09, 0x00, 0x06, 0x00, + 0x1C, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x21, 0x00, + 0x0D, 0x00, 0x0A, 0x00, 0x26, 0x00, 0x10, 0x00, + 0x01, 0x00, 0xFE, 0xFF, 0x06, 0x00, 0x01, 0x00, + 0xF9, 0xFF, 0x06, 0x00, 0x01, 0x00, 0xF4, 0xFF, + 0x06, 0x00, 0x01, 0x00, 0xEF, 0xFF, 0x06, 0x00, + 0x04, 0x00, 0xE9, 0xFF, 0x09, 0x00, 0x06, 0x00, + 0xE4, 0xFF, 0x0A, 0x00, 0x08, 0x00, 0xDF, 0xFF, + 0x0D, 0x00, 0x0A, 0x00, 0xDA, 0xFF, 0x10, 0x00, + 0x01, 0x00, 0x02, 0x00, 0x0B, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x0C, 0x00, + 0x0B, 0x00, 0x01, 0x00, 0x11, 0x00, 0x0B, 0x00, + 0x04, 0x00, 0x17, 0x00, 0x0F, 0x00, 0x06, 0x00, + 0x1C, 0x00, 0x12, 0x00, 0x08, 0x00, 0x21, 0x00, + 0x16, 0x00, 0x0A, 0x00, 0x26, 0x00, 0x1B, 0x00, + 0x01, 0x00, 0xFE, 0xFF, 0x0B, 0x00, 0x01, 0x00, + 0xF9, 0xFF, 0x0B, 0x00, 0x01, 0x00, 0xF4, 0xFF, + 0x0B, 0x00, 0x01, 0x00, 0xEF, 0xFF, 0x0B, 0x00, + 0x04, 0x00, 0xE9, 0xFF, 0x0F, 0x00, 0x06, 0x00, + 0xE4, 0xFF, 0x12, 0x00, 0x08, 0x00, 0xDF, 0xFF, + 0x16, 0x00, 0x0A, 0x00, 0xDA, 0xFF, 0x1B, 0x00, + 0x01, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x0C, 0x00, + 0x0F, 0x00, 0x01, 0x00, 0x11, 0x00, 0x0F, 0x00, + 0x04, 0x00, 0x17, 0x00, 0x15, 0x00, 0x06, 0x00, + 0x1C, 0x00, 0x19, 0x00, 0x08, 0x00, 0x21, 0x00, + 0x1F, 0x00, 0x0A, 0x00, 0x26, 0x00, 0x26, 0x00, + 0x01, 0x00, 0xFE, 0xFF, 0x0F, 0x00, 0x01, 0x00, + 0xF9, 0xFF, 0x0F, 0x00, 0x01, 0x00, 0xF4, 0xFF, + 0x0F, 0x00, 0x01, 0x00, 0xEF, 0xFF, 0x0F, 0x00, + 0x04, 0x00, 0xE9, 0xFF, 0x15, 0x00, 0x06, 0x00, + 0xE4, 0xFF, 0x19, 0x00, 0x08, 0x00, 0xDF, 0xFF, + 0x1F, 0x00, 0x0A, 0x00, 0xDA, 0xFF, 0x26, 0x00, + 0x04, 0x00, 0x02, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0C, 0x00, + 0x15, 0x00, 0x04, 0x00, 0x11, 0x00, 0x15, 0x00, + 0x07, 0x00, 0x17, 0x00, 0x1C, 0x00, 0x09, 0x00, + 0x1C, 0x00, 0x22, 0x00, 0x0B, 0x00, 0x21, 0x00, + 0x29, 0x00, 0x0D, 0x00, 0x26, 0x00, 0x32, 0x00, + 0x04, 0x00, 0xFE, 0xFF, 0x15, 0x00, 0x04, 0x00, + 0xF9, 0xFF, 0x15, 0x00, 0x04, 0x00, 0xF4, 0xFF, + 0x15, 0x00, 0x04, 0x00, 0xEF, 0xFF, 0x15, 0x00, + 0x07, 0x00, 0xE9, 0xFF, 0x1C, 0x00, 0x09, 0x00, + 0xE4, 0xFF, 0x22, 0x00, 0x0B, 0x00, 0xDF, 0xFF, + 0x29, 0x00, 0x0D, 0x00, 0xDA, 0xFF, 0x32, 0x00, + 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x06, 0x00, + 0x07, 0x00, 0x19, 0x00, 0x06, 0x00, 0x0C, 0x00, + 0x19, 0x00, 0x06, 0x00, 0x11, 0x00, 0x19, 0x00, + 0x09, 0x00, 0x17, 0x00, 0x22, 0x00, 0x0B, 0x00, + 0x1C, 0x00, 0x29, 0x00, 0x0D, 0x00, 0x21, 0x00, + 0x32, 0x00, 0x0F, 0x00, 0x26, 0x00, 0x3D, 0x00, + 0x06, 0x00, 0xFE, 0xFF, 0x19, 0x00, 0x06, 0x00, + 0xF9, 0xFF, 0x19, 0x00, 0x06, 0x00, 0xF4, 0xFF, + 0x19, 0x00, 0x06, 0x00, 0xEF, 0xFF, 0x19, 0x00, + 0x09, 0x00, 0xE9, 0xFF, 0x22, 0x00, 0x0B, 0x00, + 0xE4, 0xFF, 0x29, 0x00, 0x0D, 0x00, 0xDF, 0xFF, + 0x32, 0x00, 0x0F, 0x00, 0xDA, 0xFF, 0x3D, 0x00, + 0x08, 0x00, 0x02, 0x00, 0x1E, 0x00, 0x08, 0x00, + 0x07, 0x00, 0x1E, 0x00, 0x08, 0x00, 0x0C, 0x00, + 0x1E, 0x00, 0x08, 0x00, 0x11, 0x00, 0x1E, 0x00, + 0x0B, 0x00, 0x17, 0x00, 0x28, 0x00, 0x0D, 0x00, + 0x1C, 0x00, 0x31, 0x00, 0x0F, 0x00, 0x21, 0x00, + 0x3B, 0x00, 0x11, 0x00, 0x26, 0x00, 0x48, 0x00, + 0x08, 0x00, 0xFE, 0xFF, 0x1E, 0x00, 0x08, 0x00, + 0xF9, 0xFF, 0x1E, 0x00, 0x08, 0x00, 0xF4, 0xFF, + 0x1E, 0x00, 0x08, 0x00, 0xEF, 0xFF, 0x1E, 0x00, + 0x0B, 0x00, 0xE9, 0xFF, 0x28, 0x00, 0x0D, 0x00, + 0xE4, 0xFF, 0x31, 0x00, 0x0F, 0x00, 0xDF, 0xFF, + 0x3B, 0x00, 0x11, 0x00, 0xDA, 0xFF, 0x48, 0x00, + 0x0A, 0x00, 0x02, 0x00, 0x22, 0x00, 0x0A, 0x00, + 0x07, 0x00, 0x22, 0x00, 0x0A, 0x00, 0x0C, 0x00, + 0x22, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x22, 0x00, + 0x0D, 0x00, 0x17, 0x00, 0x2E, 0x00, 0x0F, 0x00, + 0x1C, 0x00, 0x38, 0x00, 0x11, 0x00, 0x21, 0x00, + 0x44, 0x00, 0x13, 0x00, 0x26, 0x00, 0x53, 0x00, + 0x0A, 0x00, 0xFE, 0xFF, 0x22, 0x00, 0x0A, 0x00, + 0xF9, 0xFF, 0x22, 0x00, 0x0A, 0x00, 0xF4, 0xFF, + 0x22, 0x00, 0x0A, 0x00, 0xEF, 0xFF, 0x22, 0x00, + 0x0D, 0x00, 0xE9, 0xFF, 0x2E, 0x00, 0x0F, 0x00, + 0xE4, 0xFF, 0x38, 0x00, 0x11, 0x00, 0xDF, 0xFF, + 0x44, 0x00, 0x13, 0x00, 0xDA, 0xFF, 0x53, 0x00, + 0x01, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0x01, 0x00, + 0x07, 0x00, 0xFE, 0xFF, 0x01, 0x00, 0x0C, 0x00, + 0xFE, 0xFF, 0x01, 0x00, 0x11, 0x00, 0xFE, 0xFF, + 0x04, 0x00, 0x17, 0x00, 0xFD, 0xFF, 0x06, 0x00, + 0x1C, 0x00, 0xFD, 0xFF, 0x08, 0x00, 0x21, 0x00, + 0xFC, 0xFF, 0x0A, 0x00, 0x26, 0x00, 0xFB, 0xFF, + 0x01, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x01, 0x00, + 0xF9, 0xFF, 0xFE, 0xFF, 0x01, 0x00, 0xF4, 0xFF, + 0xFE, 0xFF, 0x01, 0x00, 0xEF, 0xFF, 0xFE, 0xFF, + 0x04, 0x00, 0xE9, 0xFF, 0xFD, 0xFF, 0x06, 0x00, + 0xE4, 0xFF, 0xFD, 0xFF, 0x08, 0x00, 0xDF, 0xFF, + 0xFC, 0xFF, 0x0A, 0x00, 0xDA, 0xFF, 0xFB, 0xFF, + 0x01, 0x00, 0x02, 0x00, 0xFA, 0xFF, 0x01, 0x00, + 0x07, 0x00, 0xFA, 0xFF, 0x01, 0x00, 0x0C, 0x00, + 0xFA, 0xFF, 0x01, 0x00, 0x11, 0x00, 0xFA, 0xFF, + 0x04, 0x00, 0x17, 0x00, 0xF7, 0xFF, 0x06, 0x00, + 0x1C, 0x00, 0xF6, 0xFF, 0x08, 0x00, 0x21, 0x00, + 0xF3, 0xFF, 0x0A, 0x00, 0x26, 0x00, 0xF0, 0xFF, + 0x01, 0x00, 0xFE, 0xFF, 0xFA, 0xFF, 0x01, 0x00, + 0xF9, 0xFF, 0xFA, 0xFF, 0x01, 0x00, 0xF4, 0xFF, + 0xFA, 0xFF, 0x01, 0x00, 0xEF, 0xFF, 0xFA, 0xFF, + 0x04, 0x00, 0xE9, 0xFF, 0xF7, 0xFF, 0x06, 0x00, + 0xE4, 0xFF, 0xF6, 0xFF, 0x08, 0x00, 0xDF, 0xFF, + 0xF3, 0xFF, 0x0A, 0x00, 0xDA, 0xFF, 0xF0, 0xFF, + 0x01, 0x00, 0x02, 0x00, 0xF5, 0xFF, 0x01, 0x00, + 0x07, 0x00, 0xF5, 0xFF, 0x01, 0x00, 0x0C, 0x00, + 0xF5, 0xFF, 0x01, 0x00, 0x11, 0x00, 0xF5, 0xFF, + 0x04, 0x00, 0x17, 0x00, 0xF1, 0xFF, 0x06, 0x00, + 0x1C, 0x00, 0xEE, 0xFF, 0x08, 0x00, 0x21, 0x00, + 0xEA, 0xFF, 0x0A, 0x00, 0x26, 0x00, 0xE5, 0xFF, + 0x01, 0x00, 0xFE, 0xFF, 0xF5, 0xFF, 0x01, 0x00, + 0xF9, 0xFF, 0xF5, 0xFF, 0x01, 0x00, 0xF4, 0xFF, + 0xF5, 0xFF, 0x01, 0x00, 0xEF, 0xFF, 0xF5, 0xFF, + 0x04, 0x00, 0xE9, 0xFF, 0xF1, 0xFF, 0x06, 0x00, + 0xE4, 0xFF, 0xEE, 0xFF, 0x08, 0x00, 0xDF, 0xFF, + 0xEA, 0xFF, 0x0A, 0x00, 0xDA, 0xFF, 0xE5, 0xFF, + 0x01, 0x00, 0x02, 0x00, 0xF1, 0xFF, 0x01, 0x00, + 0x07, 0x00, 0xF1, 0xFF, 0x01, 0x00, 0x0C, 0x00, + 0xF1, 0xFF, 0x01, 0x00, 0x11, 0x00, 0xF1, 0xFF, + 0x04, 0x00, 0x17, 0x00, 0xEB, 0xFF, 0x06, 0x00, + 0x1C, 0x00, 0xE7, 0xFF, 0x08, 0x00, 0x21, 0x00, + 0xE1, 0xFF, 0x0A, 0x00, 0x26, 0x00, 0xDA, 0xFF, + 0x01, 0x00, 0xFE, 0xFF, 0xF1, 0xFF, 0x01, 0x00, + 0xF9, 0xFF, 0xF1, 0xFF, 0x01, 0x00, 0xF4, 0xFF, + 0xF1, 0xFF, 0x01, 0x00, 0xEF, 0xFF, 0xF1, 0xFF, + 0x04, 0x00, 0xE9, 0xFF, 0xEB, 0xFF, 0x06, 0x00, + 0xE4, 0xFF, 0xE7, 0xFF, 0x08, 0x00, 0xDF, 0xFF, + 0xE1, 0xFF, 0x0A, 0x00, 0xDA, 0xFF, 0xDA, 0xFF, + 0x04, 0x00, 0x02, 0x00, 0xEB, 0xFF, 0x04, 0x00, + 0x07, 0x00, 0xEB, 0xFF, 0x04, 0x00, 0x0C, 0x00, + 0xEB, 0xFF, 0x04, 0x00, 0x11, 0x00, 0xEB, 0xFF, + 0x07, 0x00, 0x17, 0x00, 0xE4, 0xFF, 0x09, 0x00, + 0x1C, 0x00, 0xDE, 0xFF, 0x0B, 0x00, 0x21, 0x00, + 0xD7, 0xFF, 0x0D, 0x00, 0x26, 0x00, 0xCE, 0xFF, + 0x04, 0x00, 0xFE, 0xFF, 0xEB, 0xFF, 0x04, 0x00, + 0xF9, 0xFF, 0xEB, 0xFF, 0x04, 0x00, 0xF4, 0xFF, + 0xEB, 0xFF, 0x04, 0x00, 0xEF, 0xFF, 0xEB, 0xFF, + 0x07, 0x00, 0xE9, 0xFF, 0xE4, 0xFF, 0x09, 0x00, + 0xE4, 0xFF, 0xDE, 0xFF, 0x0B, 0x00, 0xDF, 0xFF, + 0xD7, 0xFF, 0x0D, 0x00, 0xDA, 0xFF, 0xCE, 0xFF, + 0x06, 0x00, 0x02, 0x00, 0xE7, 0xFF, 0x06, 0x00, + 0x07, 0x00, 0xE7, 0xFF, 0x06, 0x00, 0x0C, 0x00, + 0xE7, 0xFF, 0x06, 0x00, 0x11, 0x00, 0xE7, 0xFF, + 0x09, 0x00, 0x17, 0x00, 0xDE, 0xFF, 0x0B, 0x00, + 0x1C, 0x00, 0xD7, 0xFF, 0x0D, 0x00, 0x21, 0x00, + 0xCE, 0xFF, 0x0F, 0x00, 0x26, 0x00, 0xC3, 0xFF, + 0x06, 0x00, 0xFE, 0xFF, 0xE7, 0xFF, 0x06, 0x00, + 0xF9, 0xFF, 0xE7, 0xFF, 0x06, 0x00, 0xF4, 0xFF, + 0xE7, 0xFF, 0x06, 0x00, 0xEF, 0xFF, 0xE7, 0xFF, + 0x09, 0x00, 0xE9, 0xFF, 0xDE, 0xFF, 0x0B, 0x00, + 0xE4, 0xFF, 0xD7, 0xFF, 0x0D, 0x00, 0xDF, 0xFF, + 0xCE, 0xFF, 0x0F, 0x00, 0xDA, 0xFF, 0xC3, 0xFF, + 0x08, 0x00, 0x02, 0x00, 0xE2, 0xFF, 0x08, 0x00, + 0x07, 0x00, 0xE2, 0xFF, 0x08, 0x00, 0x0C, 0x00, + 0xE2, 0xFF, 0x08, 0x00, 0x11, 0x00, 0xE2, 0xFF, + 0x0B, 0x00, 0x17, 0x00, 0xD8, 0xFF, 0x0D, 0x00, + 0x1C, 0x00, 0xCF, 0xFF, 0x0F, 0x00, 0x21, 0x00, + 0xC5, 0xFF, 0x11, 0x00, 0x26, 0x00, 0xB8, 0xFF, + 0x08, 0x00, 0xFE, 0xFF, 0xE2, 0xFF, 0x08, 0x00, + 0xF9, 0xFF, 0xE2, 0xFF, 0x08, 0x00, 0xF4, 0xFF, + 0xE2, 0xFF, 0x08, 0x00, 0xEF, 0xFF, 0xE2, 0xFF, + 0x0B, 0x00, 0xE9, 0xFF, 0xD8, 0xFF, 0x0D, 0x00, + 0xE4, 0xFF, 0xCF, 0xFF, 0x0F, 0x00, 0xDF, 0xFF, + 0xC5, 0xFF, 0x11, 0x00, 0xDA, 0xFF, 0xB8, 0xFF, + 0x0A, 0x00, 0x02, 0x00, 0xDE, 0xFF, 0x0A, 0x00, + 0x07, 0x00, 0xDE, 0xFF, 0x0A, 0x00, 0x0C, 0x00, + 0xDE, 0xFF, 0x0A, 0x00, 0x11, 0x00, 0xDE, 0xFF, + 0x0D, 0x00, 0x17, 0x00, 0xD2, 0xFF, 0x0F, 0x00, + 0x1C, 0x00, 0xC8, 0xFF, 0x11, 0x00, 0x21, 0x00, + 0xBC, 0xFF, 0x13, 0x00, 0x26, 0x00, 0xAD, 0xFF, + 0x0A, 0x00, 0xFE, 0xFF, 0xDE, 0xFF, 0x0A, 0x00, + 0xF9, 0xFF, 0xDE, 0xFF, 0x0A, 0x00, 0xF4, 0xFF, + 0xDE, 0xFF, 0x0A, 0x00, 0xEF, 0xFF, 0xDE, 0xFF, + 0x0D, 0x00, 0xE9, 0xFF, 0xD2, 0xFF, 0x0F, 0x00, + 0xE4, 0xFF, 0xC8, 0xFF, 0x11, 0x00, 0xDF, 0xFF, + 0xBC, 0xFF, 0x13, 0x00, 0xDA, 0xFF, 0xAD, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x19, 0x00, 0x03, 0x00, 0x07, 0x00, + 0x1E, 0x00, 0x04, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x05, 0x00, 0x0B, 0x00, 0x29, 0x00, 0x06, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x02, 0x00, + 0xF9, 0xFF, 0x02, 0x00, 0x02, 0x00, 0xF3, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x02, 0x00, + 0x05, 0x00, 0xE7, 0xFF, 0x03, 0x00, 0x07, 0x00, + 0xE2, 0xFF, 0x04, 0x00, 0x09, 0x00, 0xDC, 0xFF, + 0x05, 0x00, 0x0B, 0x00, 0xD7, 0xFF, 0x06, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x07, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x07, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x12, 0x00, 0x07, 0x00, + 0x05, 0x00, 0x19, 0x00, 0x0A, 0x00, 0x07, 0x00, + 0x1E, 0x00, 0x0C, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x0F, 0x00, 0x0B, 0x00, 0x29, 0x00, 0x12, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x07, 0x00, 0x02, 0x00, + 0xF9, 0xFF, 0x07, 0x00, 0x02, 0x00, 0xF3, 0xFF, + 0x07, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x07, 0x00, + 0x05, 0x00, 0xE7, 0xFF, 0x0A, 0x00, 0x07, 0x00, + 0xE2, 0xFF, 0x0C, 0x00, 0x09, 0x00, 0xDC, 0xFF, + 0x0F, 0x00, 0x0B, 0x00, 0xD7, 0xFF, 0x12, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x0C, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x0C, 0x00, 0x02, 0x00, 0x12, 0x00, 0x0C, 0x00, + 0x05, 0x00, 0x19, 0x00, 0x11, 0x00, 0x07, 0x00, + 0x1E, 0x00, 0x15, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x19, 0x00, 0x0B, 0x00, 0x29, 0x00, 0x1F, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x0C, 0x00, 0x02, 0x00, + 0xF9, 0xFF, 0x0C, 0x00, 0x02, 0x00, 0xF3, 0xFF, + 0x0C, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x0C, 0x00, + 0x05, 0x00, 0xE7, 0xFF, 0x11, 0x00, 0x07, 0x00, + 0xE2, 0xFF, 0x15, 0x00, 0x09, 0x00, 0xDC, 0xFF, + 0x19, 0x00, 0x0B, 0x00, 0xD7, 0xFF, 0x1F, 0x00, + 0x02, 0x00, 0x02, 0x00, 0x11, 0x00, 0x02, 0x00, + 0x07, 0x00, 0x11, 0x00, 0x02, 0x00, 0x0D, 0x00, + 0x11, 0x00, 0x02, 0x00, 0x12, 0x00, 0x11, 0x00, + 0x05, 0x00, 0x19, 0x00, 0x18, 0x00, 0x07, 0x00, + 0x1E, 0x00, 0x1D, 0x00, 0x09, 0x00, 0x24, 0x00, + 0x23, 0x00, 0x0B, 0x00, 0x29, 0x00, 0x2B, 0x00, + 0x02, 0x00, 0xFE, 0xFF, 0x11, 0x00, 0x02, 0x00, + 0xF9, 0xFF, 0x11, 0x00, 0x02, 0x00, 0xF3, 0xFF, + 0x11, 0x00, 0x02, 0x00, 0xEE, 0xFF, 0x11, 0x00, + 0x05, 0x00, 0xE7, 0xFF, 0x18, 0x00, 0x07, 0x00, + 0xE2, 0xFF, 0x1D, 0x00, 0x09, 0x00, 0xDC, 0xFF, + 0x23, 0x00, 0x0B, 0x00, 0xD7, 0xFF, 0x2B, 0x00, + 0x05, 0x00, 0x02, 0x00, 0x17, 0x00, 0x05, 0x00, + 0x07, 0x00, 0x17, 0x00, 0x05, 0x00, 0x0D, 0x00, + 0x17, 0x00, 0x05, 0x00, 0x12, 0x00, 0x17, 0x00, + 0x08, 0x00, 0x19, 0x00, 0x1F, 0x00, 0x0A, 0x00, + 0x1E, 0x00, 0x26, 0x00, 0x0C, 0x00, 0x24, 0x00, + 0x2E, 0x00, 0x0E, 0x00, 0x29, 0x00, 0x38, 0x00, + 0x05, 0x00, 0xFE, 0xFF, 0x17, 0x00, 0x05, 0x00, + 0xF9, 0xFF, 0x17, 0x00, 0x05, 0x00, 0xF3, 0xFF, + 0x17, 0x00, 0x05, 0x00, 0xEE, 0xFF, 0x17, 0x00, + 0x08, 0x00, 0xE7, 0xFF, 0x1F, 0x00, 0x0A, 0x00, + 0xE2, 0xFF, 0x26, 0x00, 0x0C, 0x00, 0xDC, 0xFF, + 0x2E, 0x00, 0x0E, 0x00, 0xD7, 0xFF, 0x38, 0x00, + 0x07, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x07, 0x00, + 0x07, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x0D, 0x00, + 0x1C, 0x00, 0x07, 0x00, 0x12, 0x00, 0x1C, 0x00, + 0x0A, 0x00, 0x19, 0x00, 0x26, 0x00, 0x0C, 0x00, + 0x1E, 0x00, 0x2E, 0x00, 0x0E, 0x00, 0x24, 0x00, + 0x38, 0x00, 0x10, 0x00, 0x29, 0x00, 0x44, 0x00, + 0x07, 0x00, 0xFE, 0xFF, 0x1C, 0x00, 0x07, 0x00, + 0xF9, 0xFF, 0x1C, 0x00, 0x07, 0x00, 0xF3, 0xFF, + 0x1C, 0x00, 0x07, 0x00, 0xEE, 0xFF, 0x1C, 0x00, + 0x0A, 0x00, 0xE7, 0xFF, 0x26, 0x00, 0x0C, 0x00, + 0xE2, 0xFF, 0x2E, 0x00, 0x0E, 0x00, 0xDC, 0xFF, + 0x38, 0x00, 0x10, 0x00, 0xD7, 0xFF, 0x44, 0x00, + 0x09, 0x00, 0x02, 0x00, 0x21, 0x00, 0x09, 0x00, + 0x07, 0x00, 0x21, 0x00, 0x09, 0x00, 0x0D, 0x00, + 0x21, 0x00, 0x09, 0x00, 0x12, 0x00, 0x21, 0x00, + 0x0C, 0x00, 0x19, 0x00, 0x2D, 0x00, 0x0E, 0x00, + 0x1E, 0x00, 0x37, 0x00, 0x10, 0x00, 0x24, 0x00, + 0x42, 0x00, 0x12, 0x00, 0x29, 0x00, 0x51, 0x00, + 0x09, 0x00, 0xFE, 0xFF, 0x21, 0x00, 0x09, 0x00, + 0xF9, 0xFF, 0x21, 0x00, 0x09, 0x00, 0xF3, 0xFF, + 0x21, 0x00, 0x09, 0x00, 0xEE, 0xFF, 0x21, 0x00, + 0x0C, 0x00, 0xE7, 0xFF, 0x2D, 0x00, 0x0E, 0x00, + 0xE2, 0xFF, 0x37, 0x00, 0x10, 0x00, 0xDC, 0xFF, + 0x42, 0x00, 0x12, 0x00, 0xD7, 0xFF, 0x51, 0x00, + 0x0B, 0x00, 0x02, 0x00, 0x26, 0x00, 0x0B, 0x00, + 0x07, 0x00, 0x26, 0x00, 0x0B, 0x00, 0x0D, 0x00, + 0x26, 0x00, 0x0B, 0x00, 0x12, 0x00, 0x26, 0x00, + 0x0E, 0x00, 0x19, 0x00, 0x34, 0x00, 0x10, 0x00, + 0x1E, 0x00, 0x3F, 0x00, 0x12, 0x00, 0x24, 0x00, + 0x4C, 0x00, 0x14, 0x00, 0x29, 0x00, 0x5D, 0x00, + 0x0B, 0x00, 0xFE, 0xFF, 0x26, 0x00, 0x0B, 0x00, + 0xF9, 0xFF, 0x26, 0x00, 0x0B, 0x00, 0xF3, 0xFF, + 0x26, 0x00, 0x0B, 0x00, 0xEE, 0xFF, 0x26, 0x00, + 0x0E, 0x00, 0xE7, 0xFF, 0x34, 0x00, 0x10, 0x00, + 0xE2, 0xFF, 0x3F, 0x00, 0x12, 0x00, 0xDC, 0xFF, + 0x4C, 0x00, 0x14, 0x00, 0xD7, 0xFF, 0x5D, 0x00, + 0x02, 0x00, 0x02, 0x00, 0xFE, 0xFF, 0x02, 0x00, + 0x07, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0x0D, 0x00, + 0xFE, 0xFF, 0x02, 0x00, 0x12, 0x00, 0xFE, 0xFF, + 0x05, 0x00, 0x19, 0x00, 0xFD, 0xFF, 0x07, 0x00, + 0x1E, 0x00, 0xFC, 0xFF, 0x09, 0x00, 0x24, 0x00, + 0xFB, 0xFF, 0x0B, 0x00, 0x29, 0x00, 0xFA, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x02, 0x00, + 0xF9, 0xFF, 0xFE, 0xFF, 0x02, 0x00, 0xF3, 0xFF, + 0xFE, 0xFF, 0x02, 0x00, 0xEE, 0xFF, 0xFE, 0xFF, + 0x05, 0x00, 0xE7, 0xFF, 0xFD, 0xFF, 0x07, 0x00, + 0xE2, 0xFF, 0xFC, 0xFF, 0x09, 0x00, 0xDC, 0xFF, + 0xFB, 0xFF, 0x0B, 0x00, 0xD7, 0xFF, 0xFA, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xF9, 0xFF, 0x02, 0x00, + 0x07, 0x00, 0xF9, 0xFF, 0x02, 0x00, 0x0D, 0x00, + 0xF9, 0xFF, 0x02, 0x00, 0x12, 0x00, 0xF9, 0xFF, + 0x05, 0x00, 0x19, 0x00, 0xF6, 0xFF, 0x07, 0x00, + 0x1E, 0x00, 0xF4, 0xFF, 0x09, 0x00, 0x24, 0x00, + 0xF1, 0xFF, 0x0B, 0x00, 0x29, 0x00, 0xEE, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xF9, 0xFF, 0x02, 0x00, + 0xF9, 0xFF, 0xF9, 0xFF, 0x02, 0x00, 0xF3, 0xFF, + 0xF9, 0xFF, 0x02, 0x00, 0xEE, 0xFF, 0xF9, 0xFF, + 0x05, 0x00, 0xE7, 0xFF, 0xF6, 0xFF, 0x07, 0x00, + 0xE2, 0xFF, 0xF4, 0xFF, 0x09, 0x00, 0xDC, 0xFF, + 0xF1, 0xFF, 0x0B, 0x00, 0xD7, 0xFF, 0xEE, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xF4, 0xFF, 0x02, 0x00, + 0x07, 0x00, 0xF4, 0xFF, 0x02, 0x00, 0x0D, 0x00, + 0xF4, 0xFF, 0x02, 0x00, 0x12, 0x00, 0xF4, 0xFF, + 0x05, 0x00, 0x19, 0x00, 0xEF, 0xFF, 0x07, 0x00, + 0x1E, 0x00, 0xEB, 0xFF, 0x09, 0x00, 0x24, 0x00, + 0xE7, 0xFF, 0x0B, 0x00, 0x29, 0x00, 0xE1, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xF4, 0xFF, 0x02, 0x00, + 0xF9, 0xFF, 0xF4, 0xFF, 0x02, 0x00, 0xF3, 0xFF, + 0xF4, 0xFF, 0x02, 0x00, 0xEE, 0xFF, 0xF4, 0xFF, + 0x05, 0x00, 0xE7, 0xFF, 0xEF, 0xFF, 0x07, 0x00, + 0xE2, 0xFF, 0xEB, 0xFF, 0x09, 0x00, 0xDC, 0xFF, + 0xE7, 0xFF, 0x0B, 0x00, 0xD7, 0xFF, 0xE1, 0xFF, + 0x02, 0x00, 0x02, 0x00, 0xEF, 0xFF, 0x02, 0x00, + 0x07, 0x00, 0xEF, 0xFF, 0x02, 0x00, 0x0D, 0x00, + 0xEF, 0xFF, 0x02, 0x00, 0x12, 0x00, 0xEF, 0xFF, + 0x05, 0x00, 0x19, 0x00, 0xE8, 0xFF, 0x07, 0x00, + 0x1E, 0x00, 0xE3, 0xFF, 0x09, 0x00, 0x24, 0x00, + 0xDD, 0xFF, 0x0B, 0x00, 0x29, 0x00, 0xD5, 0xFF, + 0x02, 0x00, 0xFE, 0xFF, 0xEF, 0xFF, 0x02, 0x00, + 0xF9, 0xFF, 0xEF, 0xFF, 0x02, 0x00, 0xF3, 0xFF, + 0xEF, 0xFF, 0x02, 0x00, 0xEE, 0xFF, 0xEF, 0xFF, + 0x05, 0x00, 0xE7, 0xFF, 0xE8, 0xFF, 0x07, 0x00, + 0xE2, 0xFF, 0xE3, 0xFF, 0x09, 0x00, 0xDC, 0xFF, + 0xDD, 0xFF, 0x0B, 0x00, 0xD7, 0xFF, 0xD5, 0xFF, + 0x05, 0x00, 0x02, 0x00, 0xE9, 0xFF, 0x05, 0x00, + 0x07, 0x00, 0xE9, 0xFF, 0x05, 0x00, 0x0D, 0x00, + 0xE9, 0xFF, 0x05, 0x00, 0x12, 0x00, 0xE9, 0xFF, + 0x08, 0x00, 0x19, 0x00, 0xE1, 0xFF, 0x0A, 0x00, + 0x1E, 0x00, 0xDA, 0xFF, 0x0C, 0x00, 0x24, 0x00, + 0xD2, 0xFF, 0x0E, 0x00, 0x29, 0x00, 0xC8, 0xFF, + 0x05, 0x00, 0xFE, 0xFF, 0xE9, 0xFF, 0x05, 0x00, + 0xF9, 0xFF, 0xE9, 0xFF, 0x05, 0x00, 0xF3, 0xFF, + 0xE9, 0xFF, 0x05, 0x00, 0xEE, 0xFF, 0xE9, 0xFF, + 0x08, 0x00, 0xE7, 0xFF, 0xE1, 0xFF, 0x0A, 0x00, + 0xE2, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, 0xDC, 0xFF, + 0xD2, 0xFF, 0x0E, 0x00, 0xD7, 0xFF, 0xC8, 0xFF, + 0x07, 0x00, 0x02, 0x00, 0xE4, 0xFF, 0x07, 0x00, + 0x07, 0x00, 0xE4, 0xFF, 0x07, 0x00, 0x0D, 0x00, + 0xE4, 0xFF, 0x07, 0x00, 0x12, 0x00, 0xE4, 0xFF, + 0x0A, 0x00, 0x19, 0x00, 0xDA, 0xFF, 0x0C, 0x00, + 0x1E, 0x00, 0xD2, 0xFF, 0x0E, 0x00, 0x24, 0x00, + 0xC8, 0xFF, 0x10, 0x00, 0x29, 0x00, 0xBC, 0xFF, + 0x07, 0x00, 0xFE, 0xFF, 0xE4, 0xFF, 0x07, 0x00, + 0xF9, 0xFF, 0xE4, 0xFF, 0x07, 0x00, 0xF3, 0xFF, + 0xE4, 0xFF, 0x07, 0x00, 0xEE, 0xFF, 0xE4, 0xFF, + 0x0A, 0x00, 0xE7, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, + 0xE2, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, 0xDC, 0xFF, + 0xC8, 0xFF, 0x10, 0x00, 0xD7, 0xFF, 0xBC, 0xFF, + 0x09, 0x00, 0x02, 0x00, 0xDF, 0xFF, 0x09, 0x00, + 0x07, 0x00, 0xDF, 0xFF, 0x09, 0x00, 0x0D, 0x00, + 0xDF, 0xFF, 0x09, 0x00, 0x12, 0x00, 0xDF, 0xFF, + 0x0C, 0x00, 0x19, 0x00, 0xD3, 0xFF, 0x0E, 0x00, + 0x1E, 0x00, 0xC9, 0xFF, 0x10, 0x00, 0x24, 0x00, + 0xBE, 0xFF, 0x12, 0x00, 0x29, 0x00, 0xAF, 0xFF, + 0x09, 0x00, 0xFE, 0xFF, 0xDF, 0xFF, 0x09, 0x00, + 0xF9, 0xFF, 0xDF, 0xFF, 0x09, 0x00, 0xF3, 0xFF, + 0xDF, 0xFF, 0x09, 0x00, 0xEE, 0xFF, 0xDF, 0xFF, + 0x0C, 0x00, 0xE7, 0xFF, 0xD3, 0xFF, 0x0E, 0x00, + 0xE2, 0xFF, 0xC9, 0xFF, 0x10, 0x00, 0xDC, 0xFF, + 0xBE, 0xFF, 0x12, 0x00, 0xD7, 0xFF, 0xAF, 0xFF, + 0x0B, 0x00, 0x02, 0x00, 0xDA, 0xFF, 0x0B, 0x00, + 0x07, 0x00, 0xDA, 0xFF, 0x0B, 0x00, 0x0D, 0x00, + 0xDA, 0xFF, 0x0B, 0x00, 0x12, 0x00, 0xDA, 0xFF, + 0x0E, 0x00, 0x19, 0x00, 0xCC, 0xFF, 0x10, 0x00, + 0x1E, 0x00, 0xC1, 0xFF, 0x12, 0x00, 0x24, 0x00, + 0xB4, 0xFF, 0x14, 0x00, 0x29, 0x00, 0xA3, 0xFF, + 0x0B, 0x00, 0xFE, 0xFF, 0xDA, 0xFF, 0x0B, 0x00, + 0xF9, 0xFF, 0xDA, 0xFF, 0x0B, 0x00, 0xF3, 0xFF, + 0xDA, 0xFF, 0x0B, 0x00, 0xEE, 0xFF, 0xDA, 0xFF, + 0x0E, 0x00, 0xE7, 0xFF, 0xCC, 0xFF, 0x10, 0x00, + 0xE2, 0xFF, 0xC1, 0xFF, 0x12, 0x00, 0xDC, 0xFF, + 0xB4, 0xFF, 0x14, 0x00, 0xD7, 0xFF, 0xA3, 0xFF, + 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x02, 0x00, 0x03, 0x00, 0x0F, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x15, 0x00, 0x02, 0x00, + 0x06, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x08, 0x00, + 0x22, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x28, 0x00, + 0x05, 0x00, 0x0C, 0x00, 0x2E, 0x00, 0x06, 0x00, + 0x03, 0x00, 0xFD, 0xFF, 0x02, 0x00, 0x03, 0x00, + 0xF7, 0xFF, 0x02, 0x00, 0x03, 0x00, 0xF1, 0xFF, + 0x02, 0x00, 0x03, 0x00, 0xEB, 0xFF, 0x02, 0x00, + 0x06, 0x00, 0xE4, 0xFF, 0x03, 0x00, 0x08, 0x00, + 0xDE, 0xFF, 0x04, 0x00, 0x0A, 0x00, 0xD8, 0xFF, + 0x05, 0x00, 0x0C, 0x00, 0xD2, 0xFF, 0x06, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x07, 0x00, 0x03, 0x00, 0x0F, 0x00, + 0x07, 0x00, 0x03, 0x00, 0x15, 0x00, 0x07, 0x00, + 0x06, 0x00, 0x1C, 0x00, 0x0A, 0x00, 0x08, 0x00, + 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x28, 0x00, + 0x10, 0x00, 0x0C, 0x00, 0x2E, 0x00, 0x13, 0x00, + 0x03, 0x00, 0xFD, 0xFF, 0x07, 0x00, 0x03, 0x00, + 0xF7, 0xFF, 0x07, 0x00, 0x03, 0x00, 0xF1, 0xFF, + 0x07, 0x00, 0x03, 0x00, 0xEB, 0xFF, 0x07, 0x00, + 0x06, 0x00, 0xE4, 0xFF, 0x0A, 0x00, 0x08, 0x00, + 0xDE, 0xFF, 0x0D, 0x00, 0x0A, 0x00, 0xD8, 0xFF, + 0x10, 0x00, 0x0C, 0x00, 0xD2, 0xFF, 0x13, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x0D, 0x00, 0x03, 0x00, 0x0F, 0x00, + 0x0D, 0x00, 0x03, 0x00, 0x15, 0x00, 0x0D, 0x00, + 0x06, 0x00, 0x1C, 0x00, 0x12, 0x00, 0x08, 0x00, + 0x22, 0x00, 0x16, 0x00, 0x0A, 0x00, 0x28, 0x00, + 0x1B, 0x00, 0x0C, 0x00, 0x2E, 0x00, 0x21, 0x00, + 0x03, 0x00, 0xFD, 0xFF, 0x0D, 0x00, 0x03, 0x00, + 0xF7, 0xFF, 0x0D, 0x00, 0x03, 0x00, 0xF1, 0xFF, + 0x0D, 0x00, 0x03, 0x00, 0xEB, 0xFF, 0x0D, 0x00, + 0x06, 0x00, 0xE4, 0xFF, 0x12, 0x00, 0x08, 0x00, + 0xDE, 0xFF, 0x16, 0x00, 0x0A, 0x00, 0xD8, 0xFF, + 0x1B, 0x00, 0x0C, 0x00, 0xD2, 0xFF, 0x21, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x12, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x12, 0x00, 0x03, 0x00, 0x0F, 0x00, + 0x12, 0x00, 0x03, 0x00, 0x15, 0x00, 0x12, 0x00, + 0x06, 0x00, 0x1C, 0x00, 0x19, 0x00, 0x08, 0x00, + 0x22, 0x00, 0x1F, 0x00, 0x0A, 0x00, 0x28, 0x00, + 0x26, 0x00, 0x0C, 0x00, 0x2E, 0x00, 0x2E, 0x00, + 0x03, 0x00, 0xFD, 0xFF, 0x12, 0x00, 0x03, 0x00, + 0xF7, 0xFF, 0x12, 0x00, 0x03, 0x00, 0xF1, 0xFF, + 0x12, 0x00, 0x03, 0x00, 0xEB, 0xFF, 0x12, 0x00, + 0x06, 0x00, 0xE4, 0xFF, 0x19, 0x00, 0x08, 0x00, + 0xDE, 0xFF, 0x1F, 0x00, 0x0A, 0x00, 0xD8, 0xFF, + 0x26, 0x00, 0x0C, 0x00, 0xD2, 0xFF, 0x2E, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x19, 0x00, 0x06, 0x00, + 0x09, 0x00, 0x19, 0x00, 0x06, 0x00, 0x0F, 0x00, + 0x19, 0x00, 0x06, 0x00, 0x15, 0x00, 0x19, 0x00, + 0x09, 0x00, 0x1C, 0x00, 0x22, 0x00, 0x0B, 0x00, + 0x22, 0x00, 0x29, 0x00, 0x0D, 0x00, 0x28, 0x00, + 0x32, 0x00, 0x0F, 0x00, 0x2E, 0x00, 0x3D, 0x00, + 0x06, 0x00, 0xFD, 0xFF, 0x19, 0x00, 0x06, 0x00, + 0xF7, 0xFF, 0x19, 0x00, 0x06, 0x00, 0xF1, 0xFF, + 0x19, 0x00, 0x06, 0x00, 0xEB, 0xFF, 0x19, 0x00, + 0x09, 0x00, 0xE4, 0xFF, 0x22, 0x00, 0x0B, 0x00, + 0xDE, 0xFF, 0x29, 0x00, 0x0D, 0x00, 0xD8, 0xFF, + 0x32, 0x00, 0x0F, 0x00, 0xD2, 0xFF, 0x3D, 0x00, + 0x08, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x08, 0x00, + 0x09, 0x00, 0x1E, 0x00, 0x08, 0x00, 0x0F, 0x00, + 0x1E, 0x00, 0x08, 0x00, 0x15, 0x00, 0x1E, 0x00, + 0x0B, 0x00, 0x1C, 0x00, 0x29, 0x00, 0x0D, 0x00, + 0x22, 0x00, 0x32, 0x00, 0x0F, 0x00, 0x28, 0x00, + 0x3D, 0x00, 0x11, 0x00, 0x2E, 0x00, 0x4A, 0x00, + 0x08, 0x00, 0xFD, 0xFF, 0x1E, 0x00, 0x08, 0x00, + 0xF7, 0xFF, 0x1E, 0x00, 0x08, 0x00, 0xF1, 0xFF, + 0x1E, 0x00, 0x08, 0x00, 0xEB, 0xFF, 0x1E, 0x00, + 0x0B, 0x00, 0xE4, 0xFF, 0x29, 0x00, 0x0D, 0x00, + 0xDE, 0xFF, 0x32, 0x00, 0x0F, 0x00, 0xD8, 0xFF, + 0x3D, 0x00, 0x11, 0x00, 0xD2, 0xFF, 0x4A, 0x00, + 0x0A, 0x00, 0x03, 0x00, 0x24, 0x00, 0x0A, 0x00, + 0x09, 0x00, 0x24, 0x00, 0x0A, 0x00, 0x0F, 0x00, + 0x24, 0x00, 0x0A, 0x00, 0x15, 0x00, 0x24, 0x00, + 0x0D, 0x00, 0x1C, 0x00, 0x31, 0x00, 0x0F, 0x00, + 0x22, 0x00, 0x3B, 0x00, 0x11, 0x00, 0x28, 0x00, + 0x48, 0x00, 0x13, 0x00, 0x2E, 0x00, 0x58, 0x00, + 0x0A, 0x00, 0xFD, 0xFF, 0x24, 0x00, 0x0A, 0x00, + 0xF7, 0xFF, 0x24, 0x00, 0x0A, 0x00, 0xF1, 0xFF, + 0x24, 0x00, 0x0A, 0x00, 0xEB, 0xFF, 0x24, 0x00, + 0x0D, 0x00, 0xE4, 0xFF, 0x31, 0x00, 0x0F, 0x00, + 0xDE, 0xFF, 0x3B, 0x00, 0x11, 0x00, 0xD8, 0xFF, + 0x48, 0x00, 0x13, 0x00, 0xD2, 0xFF, 0x58, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x29, 0x00, 0x0C, 0x00, + 0x09, 0x00, 0x29, 0x00, 0x0C, 0x00, 0x0F, 0x00, + 0x29, 0x00, 0x0C, 0x00, 0x15, 0x00, 0x29, 0x00, + 0x0F, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x11, 0x00, + 0x22, 0x00, 0x44, 0x00, 0x13, 0x00, 0x28, 0x00, + 0x53, 0x00, 0x15, 0x00, 0x2E, 0x00, 0x65, 0x00, + 0x0C, 0x00, 0xFD, 0xFF, 0x29, 0x00, 0x0C, 0x00, + 0xF7, 0xFF, 0x29, 0x00, 0x0C, 0x00, 0xF1, 0xFF, + 0x29, 0x00, 0x0C, 0x00, 0xEB, 0xFF, 0x29, 0x00, + 0x0F, 0x00, 0xE4, 0xFF, 0x38, 0x00, 0x11, 0x00, + 0xDE, 0xFF, 0x44, 0x00, 0x13, 0x00, 0xD8, 0xFF, + 0x53, 0x00, 0x15, 0x00, 0xD2, 0xFF, 0x65, 0x00, + 0x03, 0x00, 0x03, 0x00, 0xFE, 0xFF, 0x03, 0x00, + 0x09, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x0F, 0x00, + 0xFE, 0xFF, 0x03, 0x00, 0x15, 0x00, 0xFE, 0xFF, + 0x06, 0x00, 0x1C, 0x00, 0xFD, 0xFF, 0x08, 0x00, + 0x22, 0x00, 0xFC, 0xFF, 0x0A, 0x00, 0x28, 0x00, + 0xFB, 0xFF, 0x0C, 0x00, 0x2E, 0x00, 0xFA, 0xFF, + 0x03, 0x00, 0xFD, 0xFF, 0xFE, 0xFF, 0x03, 0x00, + 0xF7, 0xFF, 0xFE, 0xFF, 0x03, 0x00, 0xF1, 0xFF, + 0xFE, 0xFF, 0x03, 0x00, 0xEB, 0xFF, 0xFE, 0xFF, + 0x06, 0x00, 0xE4, 0xFF, 0xFD, 0xFF, 0x08, 0x00, + 0xDE, 0xFF, 0xFC, 0xFF, 0x0A, 0x00, 0xD8, 0xFF, + 0xFB, 0xFF, 0x0C, 0x00, 0xD2, 0xFF, 0xFA, 0xFF, + 0x03, 0x00, 0x03, 0x00, 0xF9, 0xFF, 0x03, 0x00, + 0x09, 0x00, 0xF9, 0xFF, 0x03, 0x00, 0x0F, 0x00, + 0xF9, 0xFF, 0x03, 0x00, 0x15, 0x00, 0xF9, 0xFF, + 0x06, 0x00, 0x1C, 0x00, 0xF6, 0xFF, 0x08, 0x00, + 0x22, 0x00, 0xF3, 0xFF, 0x0A, 0x00, 0x28, 0x00, + 0xF0, 0xFF, 0x0C, 0x00, 0x2E, 0x00, 0xED, 0xFF, + 0x03, 0x00, 0xFD, 0xFF, 0xF9, 0xFF, 0x03, 0x00, + 0xF7, 0xFF, 0xF9, 0xFF, 0x03, 0x00, 0xF1, 0xFF, + 0xF9, 0xFF, 0x03, 0x00, 0xEB, 0xFF, 0xF9, 0xFF, + 0x06, 0x00, 0xE4, 0xFF, 0xF6, 0xFF, 0x08, 0x00, + 0xDE, 0xFF, 0xF3, 0xFF, 0x0A, 0x00, 0xD8, 0xFF, + 0xF0, 0xFF, 0x0C, 0x00, 0xD2, 0xFF, 0xED, 0xFF, + 0x03, 0x00, 0x03, 0x00, 0xF3, 0xFF, 0x03, 0x00, + 0x09, 0x00, 0xF3, 0xFF, 0x03, 0x00, 0x0F, 0x00, + 0xF3, 0xFF, 0x03, 0x00, 0x15, 0x00, 0xF3, 0xFF, + 0x06, 0x00, 0x1C, 0x00, 0xEE, 0xFF, 0x08, 0x00, + 0x22, 0x00, 0xEA, 0xFF, 0x0A, 0x00, 0x28, 0x00, + 0xE5, 0xFF, 0x0C, 0x00, 0x2E, 0x00, 0xDF, 0xFF, + 0x03, 0x00, 0xFD, 0xFF, 0xF3, 0xFF, 0x03, 0x00, + 0xF7, 0xFF, 0xF3, 0xFF, 0x03, 0x00, 0xF1, 0xFF, + 0xF3, 0xFF, 0x03, 0x00, 0xEB, 0xFF, 0xF3, 0xFF, + 0x06, 0x00, 0xE4, 0xFF, 0xEE, 0xFF, 0x08, 0x00, + 0xDE, 0xFF, 0xEA, 0xFF, 0x0A, 0x00, 0xD8, 0xFF, + 0xE5, 0xFF, 0x0C, 0x00, 0xD2, 0xFF, 0xDF, 0xFF, + 0x03, 0x00, 0x03, 0x00, 0xEE, 0xFF, 0x03, 0x00, + 0x09, 0x00, 0xEE, 0xFF, 0x03, 0x00, 0x0F, 0x00, + 0xEE, 0xFF, 0x03, 0x00, 0x15, 0x00, 0xEE, 0xFF, + 0x06, 0x00, 0x1C, 0x00, 0xE7, 0xFF, 0x08, 0x00, + 0x22, 0x00, 0xE1, 0xFF, 0x0A, 0x00, 0x28, 0x00, + 0xDA, 0xFF, 0x0C, 0x00, 0x2E, 0x00, 0xD2, 0xFF, + 0x03, 0x00, 0xFD, 0xFF, 0xEE, 0xFF, 0x03, 0x00, + 0xF7, 0xFF, 0xEE, 0xFF, 0x03, 0x00, 0xF1, 0xFF, + 0xEE, 0xFF, 0x03, 0x00, 0xEB, 0xFF, 0xEE, 0xFF, + 0x06, 0x00, 0xE4, 0xFF, 0xE7, 0xFF, 0x08, 0x00, + 0xDE, 0xFF, 0xE1, 0xFF, 0x0A, 0x00, 0xD8, 0xFF, + 0xDA, 0xFF, 0x0C, 0x00, 0xD2, 0xFF, 0xD2, 0xFF, + 0x06, 0x00, 0x03, 0x00, 0xE7, 0xFF, 0x06, 0x00, + 0x09, 0x00, 0xE7, 0xFF, 0x06, 0x00, 0x0F, 0x00, + 0xE7, 0xFF, 0x06, 0x00, 0x15, 0x00, 0xE7, 0xFF, + 0x09, 0x00, 0x1C, 0x00, 0xDE, 0xFF, 0x0B, 0x00, + 0x22, 0x00, 0xD7, 0xFF, 0x0D, 0x00, 0x28, 0x00, + 0xCE, 0xFF, 0x0F, 0x00, 0x2E, 0x00, 0xC3, 0xFF, + 0x06, 0x00, 0xFD, 0xFF, 0xE7, 0xFF, 0x06, 0x00, + 0xF7, 0xFF, 0xE7, 0xFF, 0x06, 0x00, 0xF1, 0xFF, + 0xE7, 0xFF, 0x06, 0x00, 0xEB, 0xFF, 0xE7, 0xFF, + 0x09, 0x00, 0xE4, 0xFF, 0xDE, 0xFF, 0x0B, 0x00, + 0xDE, 0xFF, 0xD7, 0xFF, 0x0D, 0x00, 0xD8, 0xFF, + 0xCE, 0xFF, 0x0F, 0x00, 0xD2, 0xFF, 0xC3, 0xFF, + 0x08, 0x00, 0x03, 0x00, 0xE2, 0xFF, 0x08, 0x00, + 0x09, 0x00, 0xE2, 0xFF, 0x08, 0x00, 0x0F, 0x00, + 0xE2, 0xFF, 0x08, 0x00, 0x15, 0x00, 0xE2, 0xFF, + 0x0B, 0x00, 0x1C, 0x00, 0xD7, 0xFF, 0x0D, 0x00, + 0x22, 0x00, 0xCE, 0xFF, 0x0F, 0x00, 0x28, 0x00, + 0xC3, 0xFF, 0x11, 0x00, 0x2E, 0x00, 0xB6, 0xFF, + 0x08, 0x00, 0xFD, 0xFF, 0xE2, 0xFF, 0x08, 0x00, + 0xF7, 0xFF, 0xE2, 0xFF, 0x08, 0x00, 0xF1, 0xFF, + 0xE2, 0xFF, 0x08, 0x00, 0xEB, 0xFF, 0xE2, 0xFF, + 0x0B, 0x00, 0xE4, 0xFF, 0xD7, 0xFF, 0x0D, 0x00, + 0xDE, 0xFF, 0xCE, 0xFF, 0x0F, 0x00, 0xD8, 0xFF, + 0xC3, 0xFF, 0x11, 0x00, 0xD2, 0xFF, 0xB6, 0xFF, + 0x0A, 0x00, 0x03, 0x00, 0xDC, 0xFF, 0x0A, 0x00, + 0x09, 0x00, 0xDC, 0xFF, 0x0A, 0x00, 0x0F, 0x00, + 0xDC, 0xFF, 0x0A, 0x00, 0x15, 0x00, 0xDC, 0xFF, + 0x0D, 0x00, 0x1C, 0x00, 0xCF, 0xFF, 0x0F, 0x00, + 0x22, 0x00, 0xC5, 0xFF, 0x11, 0x00, 0x28, 0x00, + 0xB8, 0xFF, 0x13, 0x00, 0x2E, 0x00, 0xA8, 0xFF, + 0x0A, 0x00, 0xFD, 0xFF, 0xDC, 0xFF, 0x0A, 0x00, + 0xF7, 0xFF, 0xDC, 0xFF, 0x0A, 0x00, 0xF1, 0xFF, + 0xDC, 0xFF, 0x0A, 0x00, 0xEB, 0xFF, 0xDC, 0xFF, + 0x0D, 0x00, 0xE4, 0xFF, 0xCF, 0xFF, 0x0F, 0x00, + 0xDE, 0xFF, 0xC5, 0xFF, 0x11, 0x00, 0xD8, 0xFF, + 0xB8, 0xFF, 0x13, 0x00, 0xD2, 0xFF, 0xA8, 0xFF, + 0x0C, 0x00, 0x03, 0x00, 0xD7, 0xFF, 0x0C, 0x00, + 0x09, 0x00, 0xD7, 0xFF, 0x0C, 0x00, 0x0F, 0x00, + 0xD7, 0xFF, 0x0C, 0x00, 0x15, 0x00, 0xD7, 0xFF, + 0x0F, 0x00, 0x1C, 0x00, 0xC8, 0xFF, 0x11, 0x00, + 0x22, 0x00, 0xBC, 0xFF, 0x13, 0x00, 0x28, 0x00, + 0xAD, 0xFF, 0x15, 0x00, 0x2E, 0x00, 0x9B, 0xFF, + 0x0C, 0x00, 0xFD, 0xFF, 0xD7, 0xFF, 0x0C, 0x00, + 0xF7, 0xFF, 0xD7, 0xFF, 0x0C, 0x00, 0xF1, 0xFF, + 0xD7, 0xFF, 0x0C, 0x00, 0xEB, 0xFF, 0xD7, 0xFF, + 0x0F, 0x00, 0xE4, 0xFF, 0xC8, 0xFF, 0x11, 0x00, + 0xDE, 0xFF, 0xBC, 0xFF, 0x13, 0x00, 0xD8, 0xFF, + 0xAD, 0xFF, 0x15, 0x00, 0xD2, 0xFF, 0x9B, 0xFF, + 0x04, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x03, 0x00, 0x04, 0x00, 0x11, 0x00, + 0x03, 0x00, 0x04, 0x00, 0x18, 0x00, 0x03, 0x00, + 0x07, 0x00, 0x1F, 0x00, 0x04, 0x00, 0x09, 0x00, + 0x26, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x2D, 0x00, + 0x06, 0x00, 0x0D, 0x00, 0x34, 0x00, 0x07, 0x00, + 0x04, 0x00, 0xFD, 0xFF, 0x03, 0x00, 0x04, 0x00, + 0xF6, 0xFF, 0x03, 0x00, 0x04, 0x00, 0xEF, 0xFF, + 0x03, 0x00, 0x04, 0x00, 0xE8, 0xFF, 0x03, 0x00, + 0x07, 0x00, 0xE1, 0xFF, 0x04, 0x00, 0x09, 0x00, + 0xDA, 0xFF, 0x05, 0x00, 0x0B, 0x00, 0xD3, 0xFF, + 0x06, 0x00, 0x0D, 0x00, 0xCC, 0xFF, 0x07, 0x00, + 0x04, 0x00, 0x03, 0x00, 0x09, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x09, 0x00, 0x04, 0x00, 0x11, 0x00, + 0x09, 0x00, 0x04, 0x00, 0x18, 0x00, 0x09, 0x00, + 0x07, 0x00, 0x1F, 0x00, 0x0C, 0x00, 0x09, 0x00, + 0x26, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x2D, 0x00, + 0x12, 0x00, 0x0D, 0x00, 0x34, 0x00, 0x16, 0x00, + 0x04, 0x00, 0xFD, 0xFF, 0x09, 0x00, 0x04, 0x00, + 0xF6, 0xFF, 0x09, 0x00, 0x04, 0x00, 0xEF, 0xFF, + 0x09, 0x00, 0x04, 0x00, 0xE8, 0xFF, 0x09, 0x00, + 0x07, 0x00, 0xE1, 0xFF, 0x0C, 0x00, 0x09, 0x00, + 0xDA, 0xFF, 0x0F, 0x00, 0x0B, 0x00, 0xD3, 0xFF, + 0x12, 0x00, 0x0D, 0x00, 0xCC, 0xFF, 0x16, 0x00, + 0x04, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x0F, 0x00, 0x04, 0x00, 0x11, 0x00, + 0x0F, 0x00, 0x04, 0x00, 0x18, 0x00, 0x0F, 0x00, + 0x07, 0x00, 0x1F, 0x00, 0x15, 0x00, 0x09, 0x00, + 0x26, 0x00, 0x19, 0x00, 0x0B, 0x00, 0x2D, 0x00, + 0x1F, 0x00, 0x0D, 0x00, 0x34, 0x00, 0x25, 0x00, + 0x04, 0x00, 0xFD, 0xFF, 0x0F, 0x00, 0x04, 0x00, + 0xF6, 0xFF, 0x0F, 0x00, 0x04, 0x00, 0xEF, 0xFF, + 0x0F, 0x00, 0x04, 0x00, 0xE8, 0xFF, 0x0F, 0x00, + 0x07, 0x00, 0xE1, 0xFF, 0x15, 0x00, 0x09, 0x00, + 0xDA, 0xFF, 0x19, 0x00, 0x0B, 0x00, 0xD3, 0xFF, + 0x1F, 0x00, 0x0D, 0x00, 0xCC, 0xFF, 0x25, 0x00, + 0x04, 0x00, 0x03, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x15, 0x00, 0x04, 0x00, 0x11, 0x00, + 0x15, 0x00, 0x04, 0x00, 0x18, 0x00, 0x15, 0x00, + 0x07, 0x00, 0x1F, 0x00, 0x1D, 0x00, 0x09, 0x00, + 0x26, 0x00, 0x23, 0x00, 0x0B, 0x00, 0x2D, 0x00, + 0x2B, 0x00, 0x0D, 0x00, 0x34, 0x00, 0x34, 0x00, + 0x04, 0x00, 0xFD, 0xFF, 0x15, 0x00, 0x04, 0x00, + 0xF6, 0xFF, 0x15, 0x00, 0x04, 0x00, 0xEF, 0xFF, + 0x15, 0x00, 0x04, 0x00, 0xE8, 0xFF, 0x15, 0x00, + 0x07, 0x00, 0xE1, 0xFF, 0x1D, 0x00, 0x09, 0x00, + 0xDA, 0xFF, 0x23, 0x00, 0x0B, 0x00, 0xD3, 0xFF, + 0x2B, 0x00, 0x0D, 0x00, 0xCC, 0xFF, 0x34, 0x00, + 0x07, 0x00, 0x03, 0x00, 0x1C, 0x00, 0x07, 0x00, + 0x0A, 0x00, 0x1C, 0x00, 0x07, 0x00, 0x11, 0x00, + 0x1C, 0x00, 0x07, 0x00, 0x18, 0x00, 0x1C, 0x00, + 0x0A, 0x00, 0x1F, 0x00, 0x26, 0x00, 0x0C, 0x00, + 0x26, 0x00, 0x2E, 0x00, 0x0E, 0x00, 0x2D, 0x00, + 0x38, 0x00, 0x10, 0x00, 0x34, 0x00, 0x43, 0x00, + 0x07, 0x00, 0xFD, 0xFF, 0x1C, 0x00, 0x07, 0x00, + 0xF6, 0xFF, 0x1C, 0x00, 0x07, 0x00, 0xEF, 0xFF, + 0x1C, 0x00, 0x07, 0x00, 0xE8, 0xFF, 0x1C, 0x00, + 0x0A, 0x00, 0xE1, 0xFF, 0x26, 0x00, 0x0C, 0x00, + 0xDA, 0xFF, 0x2E, 0x00, 0x0E, 0x00, 0xD3, 0xFF, + 0x38, 0x00, 0x10, 0x00, 0xCC, 0xFF, 0x43, 0x00, + 0x09, 0x00, 0x03, 0x00, 0x22, 0x00, 0x09, 0x00, + 0x0A, 0x00, 0x22, 0x00, 0x09, 0x00, 0x11, 0x00, + 0x22, 0x00, 0x09, 0x00, 0x18, 0x00, 0x22, 0x00, + 0x0C, 0x00, 0x1F, 0x00, 0x2E, 0x00, 0x0E, 0x00, + 0x26, 0x00, 0x38, 0x00, 0x10, 0x00, 0x2D, 0x00, + 0x44, 0x00, 0x12, 0x00, 0x34, 0x00, 0x52, 0x00, + 0x09, 0x00, 0xFD, 0xFF, 0x22, 0x00, 0x09, 0x00, + 0xF6, 0xFF, 0x22, 0x00, 0x09, 0x00, 0xEF, 0xFF, + 0x22, 0x00, 0x09, 0x00, 0xE8, 0xFF, 0x22, 0x00, + 0x0C, 0x00, 0xE1, 0xFF, 0x2E, 0x00, 0x0E, 0x00, + 0xDA, 0xFF, 0x38, 0x00, 0x10, 0x00, 0xD3, 0xFF, + 0x44, 0x00, 0x12, 0x00, 0xCC, 0xFF, 0x52, 0x00, + 0x0B, 0x00, 0x03, 0x00, 0x28, 0x00, 0x0B, 0x00, + 0x0A, 0x00, 0x28, 0x00, 0x0B, 0x00, 0x11, 0x00, + 0x28, 0x00, 0x0B, 0x00, 0x18, 0x00, 0x28, 0x00, + 0x0E, 0x00, 0x1F, 0x00, 0x37, 0x00, 0x10, 0x00, + 0x26, 0x00, 0x42, 0x00, 0x12, 0x00, 0x2D, 0x00, + 0x51, 0x00, 0x14, 0x00, 0x34, 0x00, 0x61, 0x00, + 0x0B, 0x00, 0xFD, 0xFF, 0x28, 0x00, 0x0B, 0x00, + 0xF6, 0xFF, 0x28, 0x00, 0x0B, 0x00, 0xEF, 0xFF, + 0x28, 0x00, 0x0B, 0x00, 0xE8, 0xFF, 0x28, 0x00, + 0x0E, 0x00, 0xE1, 0xFF, 0x37, 0x00, 0x10, 0x00, + 0xDA, 0xFF, 0x42, 0x00, 0x12, 0x00, 0xD3, 0xFF, + 0x51, 0x00, 0x14, 0x00, 0xCC, 0xFF, 0x61, 0x00, + 0x0D, 0x00, 0x03, 0x00, 0x2E, 0x00, 0x0D, 0x00, + 0x0A, 0x00, 0x2E, 0x00, 0x0D, 0x00, 0x11, 0x00, + 0x2E, 0x00, 0x0D, 0x00, 0x18, 0x00, 0x2E, 0x00, + 0x10, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0x12, 0x00, + 0x26, 0x00, 0x4C, 0x00, 0x14, 0x00, 0x2D, 0x00, + 0x5D, 0x00, 0x16, 0x00, 0x34, 0x00, 0x70, 0x00, + 0x0D, 0x00, 0xFD, 0xFF, 0x2E, 0x00, 0x0D, 0x00, + 0xF6, 0xFF, 0x2E, 0x00, 0x0D, 0x00, 0xEF, 0xFF, + 0x2E, 0x00, 0x0D, 0x00, 0xE8, 0xFF, 0x2E, 0x00, + 0x10, 0x00, 0xE1, 0xFF, 0x3F, 0x00, 0x12, 0x00, + 0xDA, 0xFF, 0x4C, 0x00, 0x14, 0x00, 0xD3, 0xFF, + 0x5D, 0x00, 0x16, 0x00, 0xCC, 0xFF, 0x70, 0x00, + 0x04, 0x00, 0x03, 0x00, 0xFD, 0xFF, 0x04, 0x00, + 0x0A, 0x00, 0xFD, 0xFF, 0x04, 0x00, 0x11, 0x00, + 0xFD, 0xFF, 0x04, 0x00, 0x18, 0x00, 0xFD, 0xFF, + 0x07, 0x00, 0x1F, 0x00, 0xFC, 0xFF, 0x09, 0x00, + 0x26, 0x00, 0xFB, 0xFF, 0x0B, 0x00, 0x2D, 0x00, + 0xFA, 0xFF, 0x0D, 0x00, 0x34, 0x00, 0xF9, 0xFF, + 0x04, 0x00, 0xFD, 0xFF, 0xFD, 0xFF, 0x04, 0x00, + 0xF6, 0xFF, 0xFD, 0xFF, 0x04, 0x00, 0xEF, 0xFF, + 0xFD, 0xFF, 0x04, 0x00, 0xE8, 0xFF, 0xFD, 0xFF, + 0x07, 0x00, 0xE1, 0xFF, 0xFC, 0xFF, 0x09, 0x00, + 0xDA, 0xFF, 0xFB, 0xFF, 0x0B, 0x00, 0xD3, 0xFF, + 0xFA, 0xFF, 0x0D, 0x00, 0xCC, 0xFF, 0xF9, 0xFF, + 0x04, 0x00, 0x03, 0x00, 0xF7, 0xFF, 0x04, 0x00, + 0x0A, 0x00, 0xF7, 0xFF, 0x04, 0x00, 0x11, 0x00, + 0xF7, 0xFF, 0x04, 0x00, 0x18, 0x00, 0xF7, 0xFF, + 0x07, 0x00, 0x1F, 0x00, 0xF4, 0xFF, 0x09, 0x00, + 0x26, 0x00, 0xF1, 0xFF, 0x0B, 0x00, 0x2D, 0x00, + 0xEE, 0xFF, 0x0D, 0x00, 0x34, 0x00, 0xEA, 0xFF, + 0x04, 0x00, 0xFD, 0xFF, 0xF7, 0xFF, 0x04, 0x00, + 0xF6, 0xFF, 0xF7, 0xFF, 0x04, 0x00, 0xEF, 0xFF, + 0xF7, 0xFF, 0x04, 0x00, 0xE8, 0xFF, 0xF7, 0xFF, + 0x07, 0x00, 0xE1, 0xFF, 0xF4, 0xFF, 0x09, 0x00, + 0xDA, 0xFF, 0xF1, 0xFF, 0x0B, 0x00, 0xD3, 0xFF, + 0xEE, 0xFF, 0x0D, 0x00, 0xCC, 0xFF, 0xEA, 0xFF, + 0x04, 0x00, 0x03, 0x00, 0xF1, 0xFF, 0x04, 0x00, + 0x0A, 0x00, 0xF1, 0xFF, 0x04, 0x00, 0x11, 0x00, + 0xF1, 0xFF, 0x04, 0x00, 0x18, 0x00, 0xF1, 0xFF, + 0x07, 0x00, 0x1F, 0x00, 0xEB, 0xFF, 0x09, 0x00, + 0x26, 0x00, 0xE7, 0xFF, 0x0B, 0x00, 0x2D, 0x00, + 0xE1, 0xFF, 0x0D, 0x00, 0x34, 0x00, 0xDB, 0xFF, + 0x04, 0x00, 0xFD, 0xFF, 0xF1, 0xFF, 0x04, 0x00, + 0xF6, 0xFF, 0xF1, 0xFF, 0x04, 0x00, 0xEF, 0xFF, + 0xF1, 0xFF, 0x04, 0x00, 0xE8, 0xFF, 0xF1, 0xFF, + 0x07, 0x00, 0xE1, 0xFF, 0xEB, 0xFF, 0x09, 0x00, + 0xDA, 0xFF, 0xE7, 0xFF, 0x0B, 0x00, 0xD3, 0xFF, + 0xE1, 0xFF, 0x0D, 0x00, 0xCC, 0xFF, 0xDB, 0xFF, + 0x04, 0x00, 0x03, 0x00, 0xEB, 0xFF, 0x04, 0x00, + 0x0A, 0x00, 0xEB, 0xFF, 0x04, 0x00, 0x11, 0x00, + 0xEB, 0xFF, 0x04, 0x00, 0x18, 0x00, 0xEB, 0xFF, + 0x07, 0x00, 0x1F, 0x00, 0xE3, 0xFF, 0x09, 0x00, + 0x26, 0x00, 0xDD, 0xFF, 0x0B, 0x00, 0x2D, 0x00, + 0xD5, 0xFF, 0x0D, 0x00, 0x34, 0x00, 0xCC, 0xFF, + 0x04, 0x00, 0xFD, 0xFF, 0xEB, 0xFF, 0x04, 0x00, + 0xF6, 0xFF, 0xEB, 0xFF, 0x04, 0x00, 0xEF, 0xFF, + 0xEB, 0xFF, 0x04, 0x00, 0xE8, 0xFF, 0xEB, 0xFF, + 0x07, 0x00, 0xE1, 0xFF, 0xE3, 0xFF, 0x09, 0x00, + 0xDA, 0xFF, 0xDD, 0xFF, 0x0B, 0x00, 0xD3, 0xFF, + 0xD5, 0xFF, 0x0D, 0x00, 0xCC, 0xFF, 0xCC, 0xFF, + 0x07, 0x00, 0x03, 0x00, 0xE4, 0xFF, 0x07, 0x00, + 0x0A, 0x00, 0xE4, 0xFF, 0x07, 0x00, 0x11, 0x00, + 0xE4, 0xFF, 0x07, 0x00, 0x18, 0x00, 0xE4, 0xFF, + 0x0A, 0x00, 0x1F, 0x00, 0xDA, 0xFF, 0x0C, 0x00, + 0x26, 0x00, 0xD2, 0xFF, 0x0E, 0x00, 0x2D, 0x00, + 0xC8, 0xFF, 0x10, 0x00, 0x34, 0x00, 0xBD, 0xFF, + 0x07, 0x00, 0xFD, 0xFF, 0xE4, 0xFF, 0x07, 0x00, + 0xF6, 0xFF, 0xE4, 0xFF, 0x07, 0x00, 0xEF, 0xFF, + 0xE4, 0xFF, 0x07, 0x00, 0xE8, 0xFF, 0xE4, 0xFF, + 0x0A, 0x00, 0xE1, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, + 0xDA, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, 0xD3, 0xFF, + 0xC8, 0xFF, 0x10, 0x00, 0xCC, 0xFF, 0xBD, 0xFF, + 0x09, 0x00, 0x03, 0x00, 0xDE, 0xFF, 0x09, 0x00, + 0x0A, 0x00, 0xDE, 0xFF, 0x09, 0x00, 0x11, 0x00, + 0xDE, 0xFF, 0x09, 0x00, 0x18, 0x00, 0xDE, 0xFF, + 0x0C, 0x00, 0x1F, 0x00, 0xD2, 0xFF, 0x0E, 0x00, + 0x26, 0x00, 0xC8, 0xFF, 0x10, 0x00, 0x2D, 0x00, + 0xBC, 0xFF, 0x12, 0x00, 0x34, 0x00, 0xAE, 0xFF, + 0x09, 0x00, 0xFD, 0xFF, 0xDE, 0xFF, 0x09, 0x00, + 0xF6, 0xFF, 0xDE, 0xFF, 0x09, 0x00, 0xEF, 0xFF, + 0xDE, 0xFF, 0x09, 0x00, 0xE8, 0xFF, 0xDE, 0xFF, + 0x0C, 0x00, 0xE1, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, + 0xDA, 0xFF, 0xC8, 0xFF, 0x10, 0x00, 0xD3, 0xFF, + 0xBC, 0xFF, 0x12, 0x00, 0xCC, 0xFF, 0xAE, 0xFF, + 0x0B, 0x00, 0x03, 0x00, 0xD8, 0xFF, 0x0B, 0x00, + 0x0A, 0x00, 0xD8, 0xFF, 0x0B, 0x00, 0x11, 0x00, + 0xD8, 0xFF, 0x0B, 0x00, 0x18, 0x00, 0xD8, 0xFF, + 0x0E, 0x00, 0x1F, 0x00, 0xC9, 0xFF, 0x10, 0x00, + 0x26, 0x00, 0xBE, 0xFF, 0x12, 0x00, 0x2D, 0x00, + 0xAF, 0xFF, 0x14, 0x00, 0x34, 0x00, 0x9F, 0xFF, + 0x0B, 0x00, 0xFD, 0xFF, 0xD8, 0xFF, 0x0B, 0x00, + 0xF6, 0xFF, 0xD8, 0xFF, 0x0B, 0x00, 0xEF, 0xFF, + 0xD8, 0xFF, 0x0B, 0x00, 0xE8, 0xFF, 0xD8, 0xFF, + 0x0E, 0x00, 0xE1, 0xFF, 0xC9, 0xFF, 0x10, 0x00, + 0xDA, 0xFF, 0xBE, 0xFF, 0x12, 0x00, 0xD3, 0xFF, + 0xAF, 0xFF, 0x14, 0x00, 0xCC, 0xFF, 0x9F, 0xFF, + 0x0D, 0x00, 0x03, 0x00, 0xD2, 0xFF, 0x0D, 0x00, + 0x0A, 0x00, 0xD2, 0xFF, 0x0D, 0x00, 0x11, 0x00, + 0xD2, 0xFF, 0x0D, 0x00, 0x18, 0x00, 0xD2, 0xFF, + 0x10, 0x00, 0x1F, 0x00, 0xC1, 0xFF, 0x12, 0x00, + 0x26, 0x00, 0xB4, 0xFF, 0x14, 0x00, 0x2D, 0x00, + 0xA3, 0xFF, 0x16, 0x00, 0x34, 0x00, 0x90, 0xFF, + 0x0D, 0x00, 0xFD, 0xFF, 0xD2, 0xFF, 0x0D, 0x00, + 0xF6, 0xFF, 0xD2, 0xFF, 0x0D, 0x00, 0xEF, 0xFF, + 0xD2, 0xFF, 0x0D, 0x00, 0xE8, 0xFF, 0xD2, 0xFF, + 0x10, 0x00, 0xE1, 0xFF, 0xC1, 0xFF, 0x12, 0x00, + 0xDA, 0xFF, 0xB4, 0xFF, 0x14, 0x00, 0xD3, 0xFF, + 0xA3, 0xFF, 0x16, 0x00, 0xCC, 0xFF, 0x90, 0xFF, + 0x05, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, + 0x0A, 0x00, 0x03, 0x00, 0x05, 0x00, 0x12, 0x00, + 0x03, 0x00, 0x05, 0x00, 0x19, 0x00, 0x03, 0x00, + 0x08, 0x00, 0x22, 0x00, 0x04, 0x00, 0x0A, 0x00, + 0x29, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x31, 0x00, + 0x06, 0x00, 0x0E, 0x00, 0x38, 0x00, 0x08, 0x00, + 0x05, 0x00, 0xFD, 0xFF, 0x03, 0x00, 0x05, 0x00, + 0xF6, 0xFF, 0x03, 0x00, 0x05, 0x00, 0xEE, 0xFF, + 0x03, 0x00, 0x05, 0x00, 0xE7, 0xFF, 0x03, 0x00, + 0x08, 0x00, 0xDE, 0xFF, 0x04, 0x00, 0x0A, 0x00, + 0xD7, 0xFF, 0x05, 0x00, 0x0C, 0x00, 0xCF, 0xFF, + 0x06, 0x00, 0x0E, 0x00, 0xC8, 0xFF, 0x08, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x05, 0x00, + 0x0A, 0x00, 0x0A, 0x00, 0x05, 0x00, 0x12, 0x00, + 0x0A, 0x00, 0x05, 0x00, 0x19, 0x00, 0x0A, 0x00, + 0x08, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x0A, 0x00, + 0x29, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x31, 0x00, + 0x13, 0x00, 0x0E, 0x00, 0x38, 0x00, 0x18, 0x00, + 0x05, 0x00, 0xFD, 0xFF, 0x0A, 0x00, 0x05, 0x00, + 0xF6, 0xFF, 0x0A, 0x00, 0x05, 0x00, 0xEE, 0xFF, + 0x0A, 0x00, 0x05, 0x00, 0xE7, 0xFF, 0x0A, 0x00, + 0x08, 0x00, 0xDE, 0xFF, 0x0D, 0x00, 0x0A, 0x00, + 0xD7, 0xFF, 0x10, 0x00, 0x0C, 0x00, 0xCF, 0xFF, + 0x13, 0x00, 0x0E, 0x00, 0xC8, 0xFF, 0x18, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x11, 0x00, 0x05, 0x00, + 0x0A, 0x00, 0x11, 0x00, 0x05, 0x00, 0x12, 0x00, + 0x11, 0x00, 0x05, 0x00, 0x19, 0x00, 0x11, 0x00, + 0x08, 0x00, 0x22, 0x00, 0x16, 0x00, 0x0A, 0x00, + 0x29, 0x00, 0x1B, 0x00, 0x0C, 0x00, 0x31, 0x00, + 0x21, 0x00, 0x0E, 0x00, 0x38, 0x00, 0x29, 0x00, + 0x05, 0x00, 0xFD, 0xFF, 0x11, 0x00, 0x05, 0x00, + 0xF6, 0xFF, 0x11, 0x00, 0x05, 0x00, 0xEE, 0xFF, + 0x11, 0x00, 0x05, 0x00, 0xE7, 0xFF, 0x11, 0x00, + 0x08, 0x00, 0xDE, 0xFF, 0x16, 0x00, 0x0A, 0x00, + 0xD7, 0xFF, 0x1B, 0x00, 0x0C, 0x00, 0xCF, 0xFF, + 0x21, 0x00, 0x0E, 0x00, 0xC8, 0xFF, 0x29, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x18, 0x00, 0x05, 0x00, + 0x0A, 0x00, 0x18, 0x00, 0x05, 0x00, 0x12, 0x00, + 0x18, 0x00, 0x05, 0x00, 0x19, 0x00, 0x18, 0x00, + 0x08, 0x00, 0x22, 0x00, 0x1F, 0x00, 0x0A, 0x00, + 0x29, 0x00, 0x26, 0x00, 0x0C, 0x00, 0x31, 0x00, + 0x2E, 0x00, 0x0E, 0x00, 0x38, 0x00, 0x39, 0x00, + 0x05, 0x00, 0xFD, 0xFF, 0x18, 0x00, 0x05, 0x00, + 0xF6, 0xFF, 0x18, 0x00, 0x05, 0x00, 0xEE, 0xFF, + 0x18, 0x00, 0x05, 0x00, 0xE7, 0xFF, 0x18, 0x00, + 0x08, 0x00, 0xDE, 0xFF, 0x1F, 0x00, 0x0A, 0x00, + 0xD7, 0xFF, 0x26, 0x00, 0x0C, 0x00, 0xCF, 0xFF, + 0x2E, 0x00, 0x0E, 0x00, 0xC8, 0xFF, 0x39, 0x00, + 0x08, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x08, 0x00, + 0x0A, 0x00, 0x1F, 0x00, 0x08, 0x00, 0x12, 0x00, + 0x1F, 0x00, 0x08, 0x00, 0x19, 0x00, 0x1F, 0x00, + 0x0B, 0x00, 0x22, 0x00, 0x29, 0x00, 0x0D, 0x00, + 0x29, 0x00, 0x32, 0x00, 0x0F, 0x00, 0x31, 0x00, + 0x3D, 0x00, 0x11, 0x00, 0x38, 0x00, 0x4A, 0x00, + 0x08, 0x00, 0xFD, 0xFF, 0x1F, 0x00, 0x08, 0x00, + 0xF6, 0xFF, 0x1F, 0x00, 0x08, 0x00, 0xEE, 0xFF, + 0x1F, 0x00, 0x08, 0x00, 0xE7, 0xFF, 0x1F, 0x00, + 0x0B, 0x00, 0xDE, 0xFF, 0x29, 0x00, 0x0D, 0x00, + 0xD7, 0xFF, 0x32, 0x00, 0x0F, 0x00, 0xCF, 0xFF, + 0x3D, 0x00, 0x11, 0x00, 0xC8, 0xFF, 0x4A, 0x00, + 0x0A, 0x00, 0x03, 0x00, 0x26, 0x00, 0x0A, 0x00, + 0x0A, 0x00, 0x26, 0x00, 0x0A, 0x00, 0x12, 0x00, + 0x26, 0x00, 0x0A, 0x00, 0x19, 0x00, 0x26, 0x00, + 0x0D, 0x00, 0x22, 0x00, 0x32, 0x00, 0x0F, 0x00, + 0x29, 0x00, 0x3D, 0x00, 0x11, 0x00, 0x31, 0x00, + 0x4A, 0x00, 0x13, 0x00, 0x38, 0x00, 0x5A, 0x00, + 0x0A, 0x00, 0xFD, 0xFF, 0x26, 0x00, 0x0A, 0x00, + 0xF6, 0xFF, 0x26, 0x00, 0x0A, 0x00, 0xEE, 0xFF, + 0x26, 0x00, 0x0A, 0x00, 0xE7, 0xFF, 0x26, 0x00, + 0x0D, 0x00, 0xDE, 0xFF, 0x32, 0x00, 0x0F, 0x00, + 0xD7, 0xFF, 0x3D, 0x00, 0x11, 0x00, 0xCF, 0xFF, + 0x4A, 0x00, 0x13, 0x00, 0xC8, 0xFF, 0x5A, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x2D, 0x00, 0x0C, 0x00, + 0x0A, 0x00, 0x2D, 0x00, 0x0C, 0x00, 0x12, 0x00, + 0x2D, 0x00, 0x0C, 0x00, 0x19, 0x00, 0x2D, 0x00, + 0x0F, 0x00, 0x22, 0x00, 0x3B, 0x00, 0x11, 0x00, + 0x29, 0x00, 0x48, 0x00, 0x13, 0x00, 0x31, 0x00, + 0x58, 0x00, 0x15, 0x00, 0x38, 0x00, 0x6B, 0x00, + 0x0C, 0x00, 0xFD, 0xFF, 0x2D, 0x00, 0x0C, 0x00, + 0xF6, 0xFF, 0x2D, 0x00, 0x0C, 0x00, 0xEE, 0xFF, + 0x2D, 0x00, 0x0C, 0x00, 0xE7, 0xFF, 0x2D, 0x00, + 0x0F, 0x00, 0xDE, 0xFF, 0x3B, 0x00, 0x11, 0x00, + 0xD7, 0xFF, 0x48, 0x00, 0x13, 0x00, 0xCF, 0xFF, + 0x58, 0x00, 0x15, 0x00, 0xC8, 0xFF, 0x6B, 0x00, + 0x0E, 0x00, 0x03, 0x00, 0x34, 0x00, 0x0E, 0x00, + 0x0A, 0x00, 0x34, 0x00, 0x0E, 0x00, 0x12, 0x00, + 0x34, 0x00, 0x0E, 0x00, 0x19, 0x00, 0x34, 0x00, + 0x11, 0x00, 0x22, 0x00, 0x44, 0x00, 0x13, 0x00, + 0x29, 0x00, 0x53, 0x00, 0x15, 0x00, 0x31, 0x00, + 0x65, 0x00, 0x17, 0x00, 0x38, 0x00, 0x7B, 0x00, + 0x0E, 0x00, 0xFD, 0xFF, 0x34, 0x00, 0x0E, 0x00, + 0xF6, 0xFF, 0x34, 0x00, 0x0E, 0x00, 0xEE, 0xFF, + 0x34, 0x00, 0x0E, 0x00, 0xE7, 0xFF, 0x34, 0x00, + 0x11, 0x00, 0xDE, 0xFF, 0x44, 0x00, 0x13, 0x00, + 0xD7, 0xFF, 0x53, 0x00, 0x15, 0x00, 0xCF, 0xFF, + 0x65, 0x00, 0x17, 0x00, 0xC8, 0xFF, 0x7B, 0x00, + 0x05, 0x00, 0x03, 0x00, 0xFD, 0xFF, 0x05, 0x00, + 0x0A, 0x00, 0xFD, 0xFF, 0x05, 0x00, 0x12, 0x00, + 0xFD, 0xFF, 0x05, 0x00, 0x19, 0x00, 0xFD, 0xFF, + 0x08, 0x00, 0x22, 0x00, 0xFC, 0xFF, 0x0A, 0x00, + 0x29, 0x00, 0xFB, 0xFF, 0x0C, 0x00, 0x31, 0x00, + 0xFA, 0xFF, 0x0E, 0x00, 0x38, 0x00, 0xF8, 0xFF, + 0x05, 0x00, 0xFD, 0xFF, 0xFD, 0xFF, 0x05, 0x00, + 0xF6, 0xFF, 0xFD, 0xFF, 0x05, 0x00, 0xEE, 0xFF, + 0xFD, 0xFF, 0x05, 0x00, 0xE7, 0xFF, 0xFD, 0xFF, + 0x08, 0x00, 0xDE, 0xFF, 0xFC, 0xFF, 0x0A, 0x00, + 0xD7, 0xFF, 0xFB, 0xFF, 0x0C, 0x00, 0xCF, 0xFF, + 0xFA, 0xFF, 0x0E, 0x00, 0xC8, 0xFF, 0xF8, 0xFF, + 0x05, 0x00, 0x03, 0x00, 0xF6, 0xFF, 0x05, 0x00, + 0x0A, 0x00, 0xF6, 0xFF, 0x05, 0x00, 0x12, 0x00, + 0xF6, 0xFF, 0x05, 0x00, 0x19, 0x00, 0xF6, 0xFF, + 0x08, 0x00, 0x22, 0x00, 0xF3, 0xFF, 0x0A, 0x00, + 0x29, 0x00, 0xF0, 0xFF, 0x0C, 0x00, 0x31, 0x00, + 0xED, 0xFF, 0x0E, 0x00, 0x38, 0x00, 0xE8, 0xFF, + 0x05, 0x00, 0xFD, 0xFF, 0xF6, 0xFF, 0x05, 0x00, + 0xF6, 0xFF, 0xF6, 0xFF, 0x05, 0x00, 0xEE, 0xFF, + 0xF6, 0xFF, 0x05, 0x00, 0xE7, 0xFF, 0xF6, 0xFF, + 0x08, 0x00, 0xDE, 0xFF, 0xF3, 0xFF, 0x0A, 0x00, + 0xD7, 0xFF, 0xF0, 0xFF, 0x0C, 0x00, 0xCF, 0xFF, + 0xED, 0xFF, 0x0E, 0x00, 0xC8, 0xFF, 0xE8, 0xFF, + 0x05, 0x00, 0x03, 0x00, 0xEF, 0xFF, 0x05, 0x00, + 0x0A, 0x00, 0xEF, 0xFF, 0x05, 0x00, 0x12, 0x00, + 0xEF, 0xFF, 0x05, 0x00, 0x19, 0x00, 0xEF, 0xFF, + 0x08, 0x00, 0x22, 0x00, 0xEA, 0xFF, 0x0A, 0x00, + 0x29, 0x00, 0xE5, 0xFF, 0x0C, 0x00, 0x31, 0x00, + 0xDF, 0xFF, 0x0E, 0x00, 0x38, 0x00, 0xD7, 0xFF, + 0x05, 0x00, 0xFD, 0xFF, 0xEF, 0xFF, 0x05, 0x00, + 0xF6, 0xFF, 0xEF, 0xFF, 0x05, 0x00, 0xEE, 0xFF, + 0xEF, 0xFF, 0x05, 0x00, 0xE7, 0xFF, 0xEF, 0xFF, + 0x08, 0x00, 0xDE, 0xFF, 0xEA, 0xFF, 0x0A, 0x00, + 0xD7, 0xFF, 0xE5, 0xFF, 0x0C, 0x00, 0xCF, 0xFF, + 0xDF, 0xFF, 0x0E, 0x00, 0xC8, 0xFF, 0xD7, 0xFF, + 0x05, 0x00, 0x03, 0x00, 0xE8, 0xFF, 0x05, 0x00, + 0x0A, 0x00, 0xE8, 0xFF, 0x05, 0x00, 0x12, 0x00, + 0xE8, 0xFF, 0x05, 0x00, 0x19, 0x00, 0xE8, 0xFF, + 0x08, 0x00, 0x22, 0x00, 0xE1, 0xFF, 0x0A, 0x00, + 0x29, 0x00, 0xDA, 0xFF, 0x0C, 0x00, 0x31, 0x00, + 0xD2, 0xFF, 0x0E, 0x00, 0x38, 0x00, 0xC7, 0xFF, + 0x05, 0x00, 0xFD, 0xFF, 0xE8, 0xFF, 0x05, 0x00, + 0xF6, 0xFF, 0xE8, 0xFF, 0x05, 0x00, 0xEE, 0xFF, + 0xE8, 0xFF, 0x05, 0x00, 0xE7, 0xFF, 0xE8, 0xFF, + 0x08, 0x00, 0xDE, 0xFF, 0xE1, 0xFF, 0x0A, 0x00, + 0xD7, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, 0xCF, 0xFF, + 0xD2, 0xFF, 0x0E, 0x00, 0xC8, 0xFF, 0xC7, 0xFF, + 0x08, 0x00, 0x03, 0x00, 0xE1, 0xFF, 0x08, 0x00, + 0x0A, 0x00, 0xE1, 0xFF, 0x08, 0x00, 0x12, 0x00, + 0xE1, 0xFF, 0x08, 0x00, 0x19, 0x00, 0xE1, 0xFF, + 0x0B, 0x00, 0x22, 0x00, 0xD7, 0xFF, 0x0D, 0x00, + 0x29, 0x00, 0xCE, 0xFF, 0x0F, 0x00, 0x31, 0x00, + 0xC3, 0xFF, 0x11, 0x00, 0x38, 0x00, 0xB6, 0xFF, + 0x08, 0x00, 0xFD, 0xFF, 0xE1, 0xFF, 0x08, 0x00, + 0xF6, 0xFF, 0xE1, 0xFF, 0x08, 0x00, 0xEE, 0xFF, + 0xE1, 0xFF, 0x08, 0x00, 0xE7, 0xFF, 0xE1, 0xFF, + 0x0B, 0x00, 0xDE, 0xFF, 0xD7, 0xFF, 0x0D, 0x00, + 0xD7, 0xFF, 0xCE, 0xFF, 0x0F, 0x00, 0xCF, 0xFF, + 0xC3, 0xFF, 0x11, 0x00, 0xC8, 0xFF, 0xB6, 0xFF, + 0x0A, 0x00, 0x03, 0x00, 0xDA, 0xFF, 0x0A, 0x00, + 0x0A, 0x00, 0xDA, 0xFF, 0x0A, 0x00, 0x12, 0x00, + 0xDA, 0xFF, 0x0A, 0x00, 0x19, 0x00, 0xDA, 0xFF, + 0x0D, 0x00, 0x22, 0x00, 0xCE, 0xFF, 0x0F, 0x00, + 0x29, 0x00, 0xC3, 0xFF, 0x11, 0x00, 0x31, 0x00, + 0xB6, 0xFF, 0x13, 0x00, 0x38, 0x00, 0xA6, 0xFF, + 0x0A, 0x00, 0xFD, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, + 0xF6, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, 0xEE, 0xFF, + 0xDA, 0xFF, 0x0A, 0x00, 0xE7, 0xFF, 0xDA, 0xFF, + 0x0D, 0x00, 0xDE, 0xFF, 0xCE, 0xFF, 0x0F, 0x00, + 0xD7, 0xFF, 0xC3, 0xFF, 0x11, 0x00, 0xCF, 0xFF, + 0xB6, 0xFF, 0x13, 0x00, 0xC8, 0xFF, 0xA6, 0xFF, + 0x0C, 0x00, 0x03, 0x00, 0xD3, 0xFF, 0x0C, 0x00, + 0x0A, 0x00, 0xD3, 0xFF, 0x0C, 0x00, 0x12, 0x00, + 0xD3, 0xFF, 0x0C, 0x00, 0x19, 0x00, 0xD3, 0xFF, + 0x0F, 0x00, 0x22, 0x00, 0xC5, 0xFF, 0x11, 0x00, + 0x29, 0x00, 0xB8, 0xFF, 0x13, 0x00, 0x31, 0x00, + 0xA8, 0xFF, 0x15, 0x00, 0x38, 0x00, 0x95, 0xFF, + 0x0C, 0x00, 0xFD, 0xFF, 0xD3, 0xFF, 0x0C, 0x00, + 0xF6, 0xFF, 0xD3, 0xFF, 0x0C, 0x00, 0xEE, 0xFF, + 0xD3, 0xFF, 0x0C, 0x00, 0xE7, 0xFF, 0xD3, 0xFF, + 0x0F, 0x00, 0xDE, 0xFF, 0xC5, 0xFF, 0x11, 0x00, + 0xD7, 0xFF, 0xB8, 0xFF, 0x13, 0x00, 0xCF, 0xFF, + 0xA8, 0xFF, 0x15, 0x00, 0xC8, 0xFF, 0x95, 0xFF, + 0x0E, 0x00, 0x03, 0x00, 0xCC, 0xFF, 0x0E, 0x00, + 0x0A, 0x00, 0xCC, 0xFF, 0x0E, 0x00, 0x12, 0x00, + 0xCC, 0xFF, 0x0E, 0x00, 0x19, 0x00, 0xCC, 0xFF, + 0x11, 0x00, 0x22, 0x00, 0xBC, 0xFF, 0x13, 0x00, + 0x29, 0x00, 0xAD, 0xFF, 0x15, 0x00, 0x31, 0x00, + 0x9B, 0xFF, 0x17, 0x00, 0x38, 0x00, 0x85, 0xFF, + 0x0E, 0x00, 0xFD, 0xFF, 0xCC, 0xFF, 0x0E, 0x00, + 0xF6, 0xFF, 0xCC, 0xFF, 0x0E, 0x00, 0xEE, 0xFF, + 0xCC, 0xFF, 0x0E, 0x00, 0xE7, 0xFF, 0xCC, 0xFF, + 0x11, 0x00, 0xDE, 0xFF, 0xBC, 0xFF, 0x13, 0x00, + 0xD7, 0xFF, 0xAD, 0xFF, 0x15, 0x00, 0xCF, 0xFF, + 0x9B, 0xFF, 0x17, 0x00, 0xC8, 0xFF, 0x85, 0xFF, + 0x06, 0x00, 0x04, 0x00, 0x03, 0x00, 0x06, 0x00, + 0x0C, 0x00, 0x03, 0x00, 0x06, 0x00, 0x15, 0x00, + 0x03, 0x00, 0x06, 0x00, 0x1D, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x26, 0x00, 0x05, 0x00, 0x0B, 0x00, + 0x2E, 0x00, 0x06, 0x00, 0x0D, 0x00, 0x37, 0x00, + 0x07, 0x00, 0x0F, 0x00, 0x3F, 0x00, 0x09, 0x00, + 0x06, 0x00, 0xFC, 0xFF, 0x03, 0x00, 0x06, 0x00, + 0xF4, 0xFF, 0x03, 0x00, 0x06, 0x00, 0xEB, 0xFF, + 0x03, 0x00, 0x06, 0x00, 0xE3, 0xFF, 0x03, 0x00, + 0x09, 0x00, 0xDA, 0xFF, 0x05, 0x00, 0x0B, 0x00, + 0xD2, 0xFF, 0x06, 0x00, 0x0D, 0x00, 0xC9, 0xFF, + 0x07, 0x00, 0x0F, 0x00, 0xC1, 0xFF, 0x09, 0x00, + 0x06, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x06, 0x00, + 0x0C, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x15, 0x00, + 0x0A, 0x00, 0x06, 0x00, 0x1D, 0x00, 0x0A, 0x00, + 0x09, 0x00, 0x26, 0x00, 0x0F, 0x00, 0x0B, 0x00, + 0x2E, 0x00, 0x12, 0x00, 0x0D, 0x00, 0x37, 0x00, + 0x16, 0x00, 0x0F, 0x00, 0x3F, 0x00, 0x1B, 0x00, + 0x06, 0x00, 0xFC, 0xFF, 0x0A, 0x00, 0x06, 0x00, + 0xF4, 0xFF, 0x0A, 0x00, 0x06, 0x00, 0xEB, 0xFF, + 0x0A, 0x00, 0x06, 0x00, 0xE3, 0xFF, 0x0A, 0x00, + 0x09, 0x00, 0xDA, 0xFF, 0x0F, 0x00, 0x0B, 0x00, + 0xD2, 0xFF, 0x12, 0x00, 0x0D, 0x00, 0xC9, 0xFF, + 0x16, 0x00, 0x0F, 0x00, 0xC1, 0xFF, 0x1B, 0x00, + 0x06, 0x00, 0x04, 0x00, 0x12, 0x00, 0x06, 0x00, + 0x0C, 0x00, 0x12, 0x00, 0x06, 0x00, 0x15, 0x00, + 0x12, 0x00, 0x06, 0x00, 0x1D, 0x00, 0x12, 0x00, + 0x09, 0x00, 0x26, 0x00, 0x19, 0x00, 0x0B, 0x00, + 0x2E, 0x00, 0x1F, 0x00, 0x0D, 0x00, 0x37, 0x00, + 0x25, 0x00, 0x0F, 0x00, 0x3F, 0x00, 0x2D, 0x00, + 0x06, 0x00, 0xFC, 0xFF, 0x12, 0x00, 0x06, 0x00, + 0xF4, 0xFF, 0x12, 0x00, 0x06, 0x00, 0xEB, 0xFF, + 0x12, 0x00, 0x06, 0x00, 0xE3, 0xFF, 0x12, 0x00, + 0x09, 0x00, 0xDA, 0xFF, 0x19, 0x00, 0x0B, 0x00, + 0xD2, 0xFF, 0x1F, 0x00, 0x0D, 0x00, 0xC9, 0xFF, + 0x25, 0x00, 0x0F, 0x00, 0xC1, 0xFF, 0x2D, 0x00, + 0x06, 0x00, 0x04, 0x00, 0x19, 0x00, 0x06, 0x00, + 0x0C, 0x00, 0x19, 0x00, 0x06, 0x00, 0x15, 0x00, + 0x19, 0x00, 0x06, 0x00, 0x1D, 0x00, 0x19, 0x00, + 0x09, 0x00, 0x26, 0x00, 0x23, 0x00, 0x0B, 0x00, + 0x2E, 0x00, 0x2B, 0x00, 0x0D, 0x00, 0x37, 0x00, + 0x34, 0x00, 0x0F, 0x00, 0x3F, 0x00, 0x3F, 0x00, + 0x06, 0x00, 0xFC, 0xFF, 0x19, 0x00, 0x06, 0x00, + 0xF4, 0xFF, 0x19, 0x00, 0x06, 0x00, 0xEB, 0xFF, + 0x19, 0x00, 0x06, 0x00, 0xE3, 0xFF, 0x19, 0x00, + 0x09, 0x00, 0xDA, 0xFF, 0x23, 0x00, 0x0B, 0x00, + 0xD2, 0xFF, 0x2B, 0x00, 0x0D, 0x00, 0xC9, 0xFF, + 0x34, 0x00, 0x0F, 0x00, 0xC1, 0xFF, 0x3F, 0x00, + 0x09, 0x00, 0x04, 0x00, 0x22, 0x00, 0x09, 0x00, + 0x0C, 0x00, 0x22, 0x00, 0x09, 0x00, 0x15, 0x00, + 0x22, 0x00, 0x09, 0x00, 0x1D, 0x00, 0x22, 0x00, + 0x0C, 0x00, 0x26, 0x00, 0x2E, 0x00, 0x0E, 0x00, + 0x2E, 0x00, 0x38, 0x00, 0x10, 0x00, 0x37, 0x00, + 0x43, 0x00, 0x12, 0x00, 0x3F, 0x00, 0x52, 0x00, + 0x09, 0x00, 0xFC, 0xFF, 0x22, 0x00, 0x09, 0x00, + 0xF4, 0xFF, 0x22, 0x00, 0x09, 0x00, 0xEB, 0xFF, + 0x22, 0x00, 0x09, 0x00, 0xE3, 0xFF, 0x22, 0x00, + 0x0C, 0x00, 0xDA, 0xFF, 0x2E, 0x00, 0x0E, 0x00, + 0xD2, 0xFF, 0x38, 0x00, 0x10, 0x00, 0xC9, 0xFF, + 0x43, 0x00, 0x12, 0x00, 0xC1, 0xFF, 0x52, 0x00, + 0x0B, 0x00, 0x04, 0x00, 0x29, 0x00, 0x0B, 0x00, + 0x0C, 0x00, 0x29, 0x00, 0x0B, 0x00, 0x15, 0x00, + 0x29, 0x00, 0x0B, 0x00, 0x1D, 0x00, 0x29, 0x00, + 0x0E, 0x00, 0x26, 0x00, 0x38, 0x00, 0x10, 0x00, + 0x2E, 0x00, 0x44, 0x00, 0x12, 0x00, 0x37, 0x00, + 0x52, 0x00, 0x14, 0x00, 0x3F, 0x00, 0x64, 0x00, + 0x0B, 0x00, 0xFC, 0xFF, 0x29, 0x00, 0x0B, 0x00, + 0xF4, 0xFF, 0x29, 0x00, 0x0B, 0x00, 0xEB, 0xFF, + 0x29, 0x00, 0x0B, 0x00, 0xE3, 0xFF, 0x29, 0x00, + 0x0E, 0x00, 0xDA, 0xFF, 0x38, 0x00, 0x10, 0x00, + 0xD2, 0xFF, 0x44, 0x00, 0x12, 0x00, 0xC9, 0xFF, + 0x52, 0x00, 0x14, 0x00, 0xC1, 0xFF, 0x64, 0x00, + 0x0D, 0x00, 0x04, 0x00, 0x31, 0x00, 0x0D, 0x00, + 0x0C, 0x00, 0x31, 0x00, 0x0D, 0x00, 0x15, 0x00, + 0x31, 0x00, 0x0D, 0x00, 0x1D, 0x00, 0x31, 0x00, + 0x10, 0x00, 0x26, 0x00, 0x42, 0x00, 0x12, 0x00, + 0x2E, 0x00, 0x51, 0x00, 0x14, 0x00, 0x37, 0x00, + 0x61, 0x00, 0x16, 0x00, 0x3F, 0x00, 0x76, 0x00, + 0x0D, 0x00, 0xFC, 0xFF, 0x31, 0x00, 0x0D, 0x00, + 0xF4, 0xFF, 0x31, 0x00, 0x0D, 0x00, 0xEB, 0xFF, + 0x31, 0x00, 0x0D, 0x00, 0xE3, 0xFF, 0x31, 0x00, + 0x10, 0x00, 0xDA, 0xFF, 0x42, 0x00, 0x12, 0x00, + 0xD2, 0xFF, 0x51, 0x00, 0x14, 0x00, 0xC9, 0xFF, + 0x61, 0x00, 0x16, 0x00, 0xC1, 0xFF, 0x76, 0x00, + 0x0F, 0x00, 0x04, 0x00, 0x38, 0x00, 0x0F, 0x00, + 0x0C, 0x00, 0x38, 0x00, 0x0F, 0x00, 0x15, 0x00, + 0x38, 0x00, 0x0F, 0x00, 0x1D, 0x00, 0x38, 0x00, + 0x12, 0x00, 0x26, 0x00, 0x4C, 0x00, 0x14, 0x00, + 0x2E, 0x00, 0x5D, 0x00, 0x16, 0x00, 0x37, 0x00, + 0x70, 0x00, 0x18, 0x00, 0x3F, 0x00, 0x88, 0x00, + 0x0F, 0x00, 0xFC, 0xFF, 0x38, 0x00, 0x0F, 0x00, + 0xF4, 0xFF, 0x38, 0x00, 0x0F, 0x00, 0xEB, 0xFF, + 0x38, 0x00, 0x0F, 0x00, 0xE3, 0xFF, 0x38, 0x00, + 0x12, 0x00, 0xDA, 0xFF, 0x4C, 0x00, 0x14, 0x00, + 0xD2, 0xFF, 0x5D, 0x00, 0x16, 0x00, 0xC9, 0xFF, + 0x70, 0x00, 0x18, 0x00, 0xC1, 0xFF, 0x88, 0x00, + 0x06, 0x00, 0x04, 0x00, 0xFD, 0xFF, 0x06, 0x00, + 0x0C, 0x00, 0xFD, 0xFF, 0x06, 0x00, 0x15, 0x00, + 0xFD, 0xFF, 0x06, 0x00, 0x1D, 0x00, 0xFD, 0xFF, + 0x09, 0x00, 0x26, 0x00, 0xFB, 0xFF, 0x0B, 0x00, + 0x2E, 0x00, 0xFA, 0xFF, 0x0D, 0x00, 0x37, 0x00, + 0xF9, 0xFF, 0x0F, 0x00, 0x3F, 0x00, 0xF7, 0xFF, + 0x06, 0x00, 0xFC, 0xFF, 0xFD, 0xFF, 0x06, 0x00, + 0xF4, 0xFF, 0xFD, 0xFF, 0x06, 0x00, 0xEB, 0xFF, + 0xFD, 0xFF, 0x06, 0x00, 0xE3, 0xFF, 0xFD, 0xFF, + 0x09, 0x00, 0xDA, 0xFF, 0xFB, 0xFF, 0x0B, 0x00, + 0xD2, 0xFF, 0xFA, 0xFF, 0x0D, 0x00, 0xC9, 0xFF, + 0xF9, 0xFF, 0x0F, 0x00, 0xC1, 0xFF, 0xF7, 0xFF, + 0x06, 0x00, 0x04, 0x00, 0xF6, 0xFF, 0x06, 0x00, + 0x0C, 0x00, 0xF6, 0xFF, 0x06, 0x00, 0x15, 0x00, + 0xF6, 0xFF, 0x06, 0x00, 0x1D, 0x00, 0xF6, 0xFF, + 0x09, 0x00, 0x26, 0x00, 0xF1, 0xFF, 0x0B, 0x00, + 0x2E, 0x00, 0xEE, 0xFF, 0x0D, 0x00, 0x37, 0x00, + 0xEA, 0xFF, 0x0F, 0x00, 0x3F, 0x00, 0xE5, 0xFF, + 0x06, 0x00, 0xFC, 0xFF, 0xF6, 0xFF, 0x06, 0x00, + 0xF4, 0xFF, 0xF6, 0xFF, 0x06, 0x00, 0xEB, 0xFF, + 0xF6, 0xFF, 0x06, 0x00, 0xE3, 0xFF, 0xF6, 0xFF, + 0x09, 0x00, 0xDA, 0xFF, 0xF1, 0xFF, 0x0B, 0x00, + 0xD2, 0xFF, 0xEE, 0xFF, 0x0D, 0x00, 0xC9, 0xFF, + 0xEA, 0xFF, 0x0F, 0x00, 0xC1, 0xFF, 0xE5, 0xFF, + 0x06, 0x00, 0x04, 0x00, 0xEE, 0xFF, 0x06, 0x00, + 0x0C, 0x00, 0xEE, 0xFF, 0x06, 0x00, 0x15, 0x00, + 0xEE, 0xFF, 0x06, 0x00, 0x1D, 0x00, 0xEE, 0xFF, + 0x09, 0x00, 0x26, 0x00, 0xE7, 0xFF, 0x0B, 0x00, + 0x2E, 0x00, 0xE1, 0xFF, 0x0D, 0x00, 0x37, 0x00, + 0xDB, 0xFF, 0x0F, 0x00, 0x3F, 0x00, 0xD3, 0xFF, + 0x06, 0x00, 0xFC, 0xFF, 0xEE, 0xFF, 0x06, 0x00, + 0xF4, 0xFF, 0xEE, 0xFF, 0x06, 0x00, 0xEB, 0xFF, + 0xEE, 0xFF, 0x06, 0x00, 0xE3, 0xFF, 0xEE, 0xFF, + 0x09, 0x00, 0xDA, 0xFF, 0xE7, 0xFF, 0x0B, 0x00, + 0xD2, 0xFF, 0xE1, 0xFF, 0x0D, 0x00, 0xC9, 0xFF, + 0xDB, 0xFF, 0x0F, 0x00, 0xC1, 0xFF, 0xD3, 0xFF, + 0x06, 0x00, 0x04, 0x00, 0xE7, 0xFF, 0x06, 0x00, + 0x0C, 0x00, 0xE7, 0xFF, 0x06, 0x00, 0x15, 0x00, + 0xE7, 0xFF, 0x06, 0x00, 0x1D, 0x00, 0xE7, 0xFF, + 0x09, 0x00, 0x26, 0x00, 0xDD, 0xFF, 0x0B, 0x00, + 0x2E, 0x00, 0xD5, 0xFF, 0x0D, 0x00, 0x37, 0x00, + 0xCC, 0xFF, 0x0F, 0x00, 0x3F, 0x00, 0xC1, 0xFF, + 0x06, 0x00, 0xFC, 0xFF, 0xE7, 0xFF, 0x06, 0x00, + 0xF4, 0xFF, 0xE7, 0xFF, 0x06, 0x00, 0xEB, 0xFF, + 0xE7, 0xFF, 0x06, 0x00, 0xE3, 0xFF, 0xE7, 0xFF, + 0x09, 0x00, 0xDA, 0xFF, 0xDD, 0xFF, 0x0B, 0x00, + 0xD2, 0xFF, 0xD5, 0xFF, 0x0D, 0x00, 0xC9, 0xFF, + 0xCC, 0xFF, 0x0F, 0x00, 0xC1, 0xFF, 0xC1, 0xFF, + 0x09, 0x00, 0x04, 0x00, 0xDE, 0xFF, 0x09, 0x00, + 0x0C, 0x00, 0xDE, 0xFF, 0x09, 0x00, 0x15, 0x00, + 0xDE, 0xFF, 0x09, 0x00, 0x1D, 0x00, 0xDE, 0xFF, + 0x0C, 0x00, 0x26, 0x00, 0xD2, 0xFF, 0x0E, 0x00, + 0x2E, 0x00, 0xC8, 0xFF, 0x10, 0x00, 0x37, 0x00, + 0xBD, 0xFF, 0x12, 0x00, 0x3F, 0x00, 0xAE, 0xFF, + 0x09, 0x00, 0xFC, 0xFF, 0xDE, 0xFF, 0x09, 0x00, + 0xF4, 0xFF, 0xDE, 0xFF, 0x09, 0x00, 0xEB, 0xFF, + 0xDE, 0xFF, 0x09, 0x00, 0xE3, 0xFF, 0xDE, 0xFF, + 0x0C, 0x00, 0xDA, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, + 0xD2, 0xFF, 0xC8, 0xFF, 0x10, 0x00, 0xC9, 0xFF, + 0xBD, 0xFF, 0x12, 0x00, 0xC1, 0xFF, 0xAE, 0xFF, + 0x0B, 0x00, 0x04, 0x00, 0xD7, 0xFF, 0x0B, 0x00, + 0x0C, 0x00, 0xD7, 0xFF, 0x0B, 0x00, 0x15, 0x00, + 0xD7, 0xFF, 0x0B, 0x00, 0x1D, 0x00, 0xD7, 0xFF, + 0x0E, 0x00, 0x26, 0x00, 0xC8, 0xFF, 0x10, 0x00, + 0x2E, 0x00, 0xBC, 0xFF, 0x12, 0x00, 0x37, 0x00, + 0xAE, 0xFF, 0x14, 0x00, 0x3F, 0x00, 0x9C, 0xFF, + 0x0B, 0x00, 0xFC, 0xFF, 0xD7, 0xFF, 0x0B, 0x00, + 0xF4, 0xFF, 0xD7, 0xFF, 0x0B, 0x00, 0xEB, 0xFF, + 0xD7, 0xFF, 0x0B, 0x00, 0xE3, 0xFF, 0xD7, 0xFF, + 0x0E, 0x00, 0xDA, 0xFF, 0xC8, 0xFF, 0x10, 0x00, + 0xD2, 0xFF, 0xBC, 0xFF, 0x12, 0x00, 0xC9, 0xFF, + 0xAE, 0xFF, 0x14, 0x00, 0xC1, 0xFF, 0x9C, 0xFF, + 0x0D, 0x00, 0x04, 0x00, 0xCF, 0xFF, 0x0D, 0x00, + 0x0C, 0x00, 0xCF, 0xFF, 0x0D, 0x00, 0x15, 0x00, + 0xCF, 0xFF, 0x0D, 0x00, 0x1D, 0x00, 0xCF, 0xFF, + 0x10, 0x00, 0x26, 0x00, 0xBE, 0xFF, 0x12, 0x00, + 0x2E, 0x00, 0xAF, 0xFF, 0x14, 0x00, 0x37, 0x00, + 0x9F, 0xFF, 0x16, 0x00, 0x3F, 0x00, 0x8A, 0xFF, + 0x0D, 0x00, 0xFC, 0xFF, 0xCF, 0xFF, 0x0D, 0x00, + 0xF4, 0xFF, 0xCF, 0xFF, 0x0D, 0x00, 0xEB, 0xFF, + 0xCF, 0xFF, 0x0D, 0x00, 0xE3, 0xFF, 0xCF, 0xFF, + 0x10, 0x00, 0xDA, 0xFF, 0xBE, 0xFF, 0x12, 0x00, + 0xD2, 0xFF, 0xAF, 0xFF, 0x14, 0x00, 0xC9, 0xFF, + 0x9F, 0xFF, 0x16, 0x00, 0xC1, 0xFF, 0x8A, 0xFF, + 0x0F, 0x00, 0x04, 0x00, 0xC8, 0xFF, 0x0F, 0x00, + 0x0C, 0x00, 0xC8, 0xFF, 0x0F, 0x00, 0x15, 0x00, + 0xC8, 0xFF, 0x0F, 0x00, 0x1D, 0x00, 0xC8, 0xFF, + 0x12, 0x00, 0x26, 0x00, 0xB4, 0xFF, 0x14, 0x00, + 0x2E, 0x00, 0xA3, 0xFF, 0x16, 0x00, 0x37, 0x00, + 0x90, 0xFF, 0x18, 0x00, 0x3F, 0x00, 0x78, 0xFF, + 0x0F, 0x00, 0xFC, 0xFF, 0xC8, 0xFF, 0x0F, 0x00, + 0xF4, 0xFF, 0xC8, 0xFF, 0x0F, 0x00, 0xEB, 0xFF, + 0xC8, 0xFF, 0x0F, 0x00, 0xE3, 0xFF, 0xC8, 0xFF, + 0x12, 0x00, 0xDA, 0xFF, 0xB4, 0xFF, 0x14, 0x00, + 0xD2, 0xFF, 0xA3, 0xFF, 0x16, 0x00, 0xC9, 0xFF, + 0x90, 0xFF, 0x18, 0x00, 0xC1, 0xFF, 0x78, 0xFF, + 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x07, 0x00, + 0x0D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x16, 0x00, + 0x04, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x29, 0x00, 0x05, 0x00, 0x0C, 0x00, + 0x32, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x3B, 0x00, + 0x08, 0x00, 0x10, 0x00, 0x44, 0x00, 0x0A, 0x00, + 0x07, 0x00, 0xFC, 0xFF, 0x04, 0x00, 0x07, 0x00, + 0xF3, 0xFF, 0x04, 0x00, 0x07, 0x00, 0xEA, 0xFF, + 0x04, 0x00, 0x07, 0x00, 0xE1, 0xFF, 0x04, 0x00, + 0x0A, 0x00, 0xD7, 0xFF, 0x05, 0x00, 0x0C, 0x00, + 0xCE, 0xFF, 0x06, 0x00, 0x0E, 0x00, 0xC5, 0xFF, + 0x08, 0x00, 0x10, 0x00, 0xBC, 0xFF, 0x0A, 0x00, + 0x07, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x07, 0x00, + 0x0D, 0x00, 0x0C, 0x00, 0x07, 0x00, 0x16, 0x00, + 0x0C, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x0C, 0x00, + 0x0A, 0x00, 0x29, 0x00, 0x10, 0x00, 0x0C, 0x00, + 0x32, 0x00, 0x13, 0x00, 0x0E, 0x00, 0x3B, 0x00, + 0x18, 0x00, 0x10, 0x00, 0x44, 0x00, 0x1E, 0x00, + 0x07, 0x00, 0xFC, 0xFF, 0x0C, 0x00, 0x07, 0x00, + 0xF3, 0xFF, 0x0C, 0x00, 0x07, 0x00, 0xEA, 0xFF, + 0x0C, 0x00, 0x07, 0x00, 0xE1, 0xFF, 0x0C, 0x00, + 0x0A, 0x00, 0xD7, 0xFF, 0x10, 0x00, 0x0C, 0x00, + 0xCE, 0xFF, 0x13, 0x00, 0x0E, 0x00, 0xC5, 0xFF, + 0x18, 0x00, 0x10, 0x00, 0xBC, 0xFF, 0x1E, 0x00, + 0x07, 0x00, 0x04, 0x00, 0x15, 0x00, 0x07, 0x00, + 0x0D, 0x00, 0x15, 0x00, 0x07, 0x00, 0x16, 0x00, + 0x15, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x15, 0x00, + 0x0A, 0x00, 0x29, 0x00, 0x1B, 0x00, 0x0C, 0x00, + 0x32, 0x00, 0x21, 0x00, 0x0E, 0x00, 0x3B, 0x00, + 0x29, 0x00, 0x10, 0x00, 0x44, 0x00, 0x32, 0x00, + 0x07, 0x00, 0xFC, 0xFF, 0x15, 0x00, 0x07, 0x00, + 0xF3, 0xFF, 0x15, 0x00, 0x07, 0x00, 0xEA, 0xFF, + 0x15, 0x00, 0x07, 0x00, 0xE1, 0xFF, 0x15, 0x00, + 0x0A, 0x00, 0xD7, 0xFF, 0x1B, 0x00, 0x0C, 0x00, + 0xCE, 0xFF, 0x21, 0x00, 0x0E, 0x00, 0xC5, 0xFF, + 0x29, 0x00, 0x10, 0x00, 0xBC, 0xFF, 0x32, 0x00, + 0x07, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x07, 0x00, + 0x0D, 0x00, 0x1D, 0x00, 0x07, 0x00, 0x16, 0x00, + 0x1D, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x1D, 0x00, + 0x0A, 0x00, 0x29, 0x00, 0x26, 0x00, 0x0C, 0x00, + 0x32, 0x00, 0x2E, 0x00, 0x0E, 0x00, 0x3B, 0x00, + 0x39, 0x00, 0x10, 0x00, 0x44, 0x00, 0x46, 0x00, + 0x07, 0x00, 0xFC, 0xFF, 0x1D, 0x00, 0x07, 0x00, + 0xF3, 0xFF, 0x1D, 0x00, 0x07, 0x00, 0xEA, 0xFF, + 0x1D, 0x00, 0x07, 0x00, 0xE1, 0xFF, 0x1D, 0x00, + 0x0A, 0x00, 0xD7, 0xFF, 0x26, 0x00, 0x0C, 0x00, + 0xCE, 0xFF, 0x2E, 0x00, 0x0E, 0x00, 0xC5, 0xFF, + 0x39, 0x00, 0x10, 0x00, 0xBC, 0xFF, 0x46, 0x00, + 0x0A, 0x00, 0x04, 0x00, 0x26, 0x00, 0x0A, 0x00, + 0x0D, 0x00, 0x26, 0x00, 0x0A, 0x00, 0x16, 0x00, + 0x26, 0x00, 0x0A, 0x00, 0x1F, 0x00, 0x26, 0x00, + 0x0D, 0x00, 0x29, 0x00, 0x32, 0x00, 0x0F, 0x00, + 0x32, 0x00, 0x3D, 0x00, 0x11, 0x00, 0x3B, 0x00, + 0x4A, 0x00, 0x13, 0x00, 0x44, 0x00, 0x5A, 0x00, + 0x0A, 0x00, 0xFC, 0xFF, 0x26, 0x00, 0x0A, 0x00, + 0xF3, 0xFF, 0x26, 0x00, 0x0A, 0x00, 0xEA, 0xFF, + 0x26, 0x00, 0x0A, 0x00, 0xE1, 0xFF, 0x26, 0x00, + 0x0D, 0x00, 0xD7, 0xFF, 0x32, 0x00, 0x0F, 0x00, + 0xCE, 0xFF, 0x3D, 0x00, 0x11, 0x00, 0xC5, 0xFF, + 0x4A, 0x00, 0x13, 0x00, 0xBC, 0xFF, 0x5A, 0x00, + 0x0C, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x0C, 0x00, + 0x0D, 0x00, 0x2E, 0x00, 0x0C, 0x00, 0x16, 0x00, + 0x2E, 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x2E, 0x00, + 0x0F, 0x00, 0x29, 0x00, 0x3D, 0x00, 0x11, 0x00, + 0x32, 0x00, 0x4A, 0x00, 0x13, 0x00, 0x3B, 0x00, + 0x5A, 0x00, 0x15, 0x00, 0x44, 0x00, 0x6E, 0x00, + 0x0C, 0x00, 0xFC, 0xFF, 0x2E, 0x00, 0x0C, 0x00, + 0xF3, 0xFF, 0x2E, 0x00, 0x0C, 0x00, 0xEA, 0xFF, + 0x2E, 0x00, 0x0C, 0x00, 0xE1, 0xFF, 0x2E, 0x00, + 0x0F, 0x00, 0xD7, 0xFF, 0x3D, 0x00, 0x11, 0x00, + 0xCE, 0xFF, 0x4A, 0x00, 0x13, 0x00, 0xC5, 0xFF, + 0x5A, 0x00, 0x15, 0x00, 0xBC, 0xFF, 0x6E, 0x00, + 0x0E, 0x00, 0x04, 0x00, 0x37, 0x00, 0x0E, 0x00, + 0x0D, 0x00, 0x37, 0x00, 0x0E, 0x00, 0x16, 0x00, + 0x37, 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x37, 0x00, + 0x11, 0x00, 0x29, 0x00, 0x48, 0x00, 0x13, 0x00, + 0x32, 0x00, 0x58, 0x00, 0x15, 0x00, 0x3B, 0x00, + 0x6B, 0x00, 0x17, 0x00, 0x44, 0x00, 0x82, 0x00, + 0x0E, 0x00, 0xFC, 0xFF, 0x37, 0x00, 0x0E, 0x00, + 0xF3, 0xFF, 0x37, 0x00, 0x0E, 0x00, 0xEA, 0xFF, + 0x37, 0x00, 0x0E, 0x00, 0xE1, 0xFF, 0x37, 0x00, + 0x11, 0x00, 0xD7, 0xFF, 0x48, 0x00, 0x13, 0x00, + 0xCE, 0xFF, 0x58, 0x00, 0x15, 0x00, 0xC5, 0xFF, + 0x6B, 0x00, 0x17, 0x00, 0xBC, 0xFF, 0x82, 0x00, + 0x10, 0x00, 0x04, 0x00, 0x3F, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x3F, 0x00, 0x10, 0x00, 0x16, 0x00, + 0x3F, 0x00, 0x10, 0x00, 0x1F, 0x00, 0x3F, 0x00, + 0x13, 0x00, 0x29, 0x00, 0x53, 0x00, 0x15, 0x00, + 0x32, 0x00, 0x65, 0x00, 0x17, 0x00, 0x3B, 0x00, + 0x7B, 0x00, 0x19, 0x00, 0x44, 0x00, 0x96, 0x00, + 0x10, 0x00, 0xFC, 0xFF, 0x3F, 0x00, 0x10, 0x00, + 0xF3, 0xFF, 0x3F, 0x00, 0x10, 0x00, 0xEA, 0xFF, + 0x3F, 0x00, 0x10, 0x00, 0xE1, 0xFF, 0x3F, 0x00, + 0x13, 0x00, 0xD7, 0xFF, 0x53, 0x00, 0x15, 0x00, + 0xCE, 0xFF, 0x65, 0x00, 0x17, 0x00, 0xC5, 0xFF, + 0x7B, 0x00, 0x19, 0x00, 0xBC, 0xFF, 0x96, 0x00, + 0x07, 0x00, 0x04, 0x00, 0xFC, 0xFF, 0x07, 0x00, + 0x0D, 0x00, 0xFC, 0xFF, 0x07, 0x00, 0x16, 0x00, + 0xFC, 0xFF, 0x07, 0x00, 0x1F, 0x00, 0xFC, 0xFF, + 0x0A, 0x00, 0x29, 0x00, 0xFB, 0xFF, 0x0C, 0x00, + 0x32, 0x00, 0xFA, 0xFF, 0x0E, 0x00, 0x3B, 0x00, + 0xF8, 0xFF, 0x10, 0x00, 0x44, 0x00, 0xF6, 0xFF, + 0x07, 0x00, 0xFC, 0xFF, 0xFC, 0xFF, 0x07, 0x00, + 0xF3, 0xFF, 0xFC, 0xFF, 0x07, 0x00, 0xEA, 0xFF, + 0xFC, 0xFF, 0x07, 0x00, 0xE1, 0xFF, 0xFC, 0xFF, + 0x0A, 0x00, 0xD7, 0xFF, 0xFB, 0xFF, 0x0C, 0x00, + 0xCE, 0xFF, 0xFA, 0xFF, 0x0E, 0x00, 0xC5, 0xFF, + 0xF8, 0xFF, 0x10, 0x00, 0xBC, 0xFF, 0xF6, 0xFF, + 0x07, 0x00, 0x04, 0x00, 0xF4, 0xFF, 0x07, 0x00, + 0x0D, 0x00, 0xF4, 0xFF, 0x07, 0x00, 0x16, 0x00, + 0xF4, 0xFF, 0x07, 0x00, 0x1F, 0x00, 0xF4, 0xFF, + 0x0A, 0x00, 0x29, 0x00, 0xF0, 0xFF, 0x0C, 0x00, + 0x32, 0x00, 0xED, 0xFF, 0x0E, 0x00, 0x3B, 0x00, + 0xE8, 0xFF, 0x10, 0x00, 0x44, 0x00, 0xE2, 0xFF, + 0x07, 0x00, 0xFC, 0xFF, 0xF4, 0xFF, 0x07, 0x00, + 0xF3, 0xFF, 0xF4, 0xFF, 0x07, 0x00, 0xEA, 0xFF, + 0xF4, 0xFF, 0x07, 0x00, 0xE1, 0xFF, 0xF4, 0xFF, + 0x0A, 0x00, 0xD7, 0xFF, 0xF0, 0xFF, 0x0C, 0x00, + 0xCE, 0xFF, 0xED, 0xFF, 0x0E, 0x00, 0xC5, 0xFF, + 0xE8, 0xFF, 0x10, 0x00, 0xBC, 0xFF, 0xE2, 0xFF, + 0x07, 0x00, 0x04, 0x00, 0xEB, 0xFF, 0x07, 0x00, + 0x0D, 0x00, 0xEB, 0xFF, 0x07, 0x00, 0x16, 0x00, + 0xEB, 0xFF, 0x07, 0x00, 0x1F, 0x00, 0xEB, 0xFF, + 0x0A, 0x00, 0x29, 0x00, 0xE5, 0xFF, 0x0C, 0x00, + 0x32, 0x00, 0xDF, 0xFF, 0x0E, 0x00, 0x3B, 0x00, + 0xD7, 0xFF, 0x10, 0x00, 0x44, 0x00, 0xCE, 0xFF, + 0x07, 0x00, 0xFC, 0xFF, 0xEB, 0xFF, 0x07, 0x00, + 0xF3, 0xFF, 0xEB, 0xFF, 0x07, 0x00, 0xEA, 0xFF, + 0xEB, 0xFF, 0x07, 0x00, 0xE1, 0xFF, 0xEB, 0xFF, + 0x0A, 0x00, 0xD7, 0xFF, 0xE5, 0xFF, 0x0C, 0x00, + 0xCE, 0xFF, 0xDF, 0xFF, 0x0E, 0x00, 0xC5, 0xFF, + 0xD7, 0xFF, 0x10, 0x00, 0xBC, 0xFF, 0xCE, 0xFF, + 0x07, 0x00, 0x04, 0x00, 0xE3, 0xFF, 0x07, 0x00, + 0x0D, 0x00, 0xE3, 0xFF, 0x07, 0x00, 0x16, 0x00, + 0xE3, 0xFF, 0x07, 0x00, 0x1F, 0x00, 0xE3, 0xFF, + 0x0A, 0x00, 0x29, 0x00, 0xDA, 0xFF, 0x0C, 0x00, + 0x32, 0x00, 0xD2, 0xFF, 0x0E, 0x00, 0x3B, 0x00, + 0xC7, 0xFF, 0x10, 0x00, 0x44, 0x00, 0xBA, 0xFF, + 0x07, 0x00, 0xFC, 0xFF, 0xE3, 0xFF, 0x07, 0x00, + 0xF3, 0xFF, 0xE3, 0xFF, 0x07, 0x00, 0xEA, 0xFF, + 0xE3, 0xFF, 0x07, 0x00, 0xE1, 0xFF, 0xE3, 0xFF, + 0x0A, 0x00, 0xD7, 0xFF, 0xDA, 0xFF, 0x0C, 0x00, + 0xCE, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, 0xC5, 0xFF, + 0xC7, 0xFF, 0x10, 0x00, 0xBC, 0xFF, 0xBA, 0xFF, + 0x0A, 0x00, 0x04, 0x00, 0xDA, 0xFF, 0x0A, 0x00, + 0x0D, 0x00, 0xDA, 0xFF, 0x0A, 0x00, 0x16, 0x00, + 0xDA, 0xFF, 0x0A, 0x00, 0x1F, 0x00, 0xDA, 0xFF, + 0x0D, 0x00, 0x29, 0x00, 0xCE, 0xFF, 0x0F, 0x00, + 0x32, 0x00, 0xC3, 0xFF, 0x11, 0x00, 0x3B, 0x00, + 0xB6, 0xFF, 0x13, 0x00, 0x44, 0x00, 0xA6, 0xFF, + 0x0A, 0x00, 0xFC, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, + 0xF3, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, 0xEA, 0xFF, + 0xDA, 0xFF, 0x0A, 0x00, 0xE1, 0xFF, 0xDA, 0xFF, + 0x0D, 0x00, 0xD7, 0xFF, 0xCE, 0xFF, 0x0F, 0x00, + 0xCE, 0xFF, 0xC3, 0xFF, 0x11, 0x00, 0xC5, 0xFF, + 0xB6, 0xFF, 0x13, 0x00, 0xBC, 0xFF, 0xA6, 0xFF, + 0x0C, 0x00, 0x04, 0x00, 0xD2, 0xFF, 0x0C, 0x00, + 0x0D, 0x00, 0xD2, 0xFF, 0x0C, 0x00, 0x16, 0x00, + 0xD2, 0xFF, 0x0C, 0x00, 0x1F, 0x00, 0xD2, 0xFF, + 0x0F, 0x00, 0x29, 0x00, 0xC3, 0xFF, 0x11, 0x00, + 0x32, 0x00, 0xB6, 0xFF, 0x13, 0x00, 0x3B, 0x00, + 0xA6, 0xFF, 0x15, 0x00, 0x44, 0x00, 0x92, 0xFF, + 0x0C, 0x00, 0xFC, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, + 0xF3, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, 0xEA, 0xFF, + 0xD2, 0xFF, 0x0C, 0x00, 0xE1, 0xFF, 0xD2, 0xFF, + 0x0F, 0x00, 0xD7, 0xFF, 0xC3, 0xFF, 0x11, 0x00, + 0xCE, 0xFF, 0xB6, 0xFF, 0x13, 0x00, 0xC5, 0xFF, + 0xA6, 0xFF, 0x15, 0x00, 0xBC, 0xFF, 0x92, 0xFF, + 0x0E, 0x00, 0x04, 0x00, 0xC9, 0xFF, 0x0E, 0x00, + 0x0D, 0x00, 0xC9, 0xFF, 0x0E, 0x00, 0x16, 0x00, + 0xC9, 0xFF, 0x0E, 0x00, 0x1F, 0x00, 0xC9, 0xFF, + 0x11, 0x00, 0x29, 0x00, 0xB8, 0xFF, 0x13, 0x00, + 0x32, 0x00, 0xA8, 0xFF, 0x15, 0x00, 0x3B, 0x00, + 0x95, 0xFF, 0x17, 0x00, 0x44, 0x00, 0x7E, 0xFF, + 0x0E, 0x00, 0xFC, 0xFF, 0xC9, 0xFF, 0x0E, 0x00, + 0xF3, 0xFF, 0xC9, 0xFF, 0x0E, 0x00, 0xEA, 0xFF, + 0xC9, 0xFF, 0x0E, 0x00, 0xE1, 0xFF, 0xC9, 0xFF, + 0x11, 0x00, 0xD7, 0xFF, 0xB8, 0xFF, 0x13, 0x00, + 0xCE, 0xFF, 0xA8, 0xFF, 0x15, 0x00, 0xC5, 0xFF, + 0x95, 0xFF, 0x17, 0x00, 0xBC, 0xFF, 0x7E, 0xFF, + 0x10, 0x00, 0x04, 0x00, 0xC1, 0xFF, 0x10, 0x00, + 0x0D, 0x00, 0xC1, 0xFF, 0x10, 0x00, 0x16, 0x00, + 0xC1, 0xFF, 0x10, 0x00, 0x1F, 0x00, 0xC1, 0xFF, + 0x13, 0x00, 0x29, 0x00, 0xAD, 0xFF, 0x15, 0x00, + 0x32, 0x00, 0x9B, 0xFF, 0x17, 0x00, 0x3B, 0x00, + 0x85, 0xFF, 0x19, 0x00, 0x44, 0x00, 0x6A, 0xFF, + 0x10, 0x00, 0xFC, 0xFF, 0xC1, 0xFF, 0x10, 0x00, + 0xF3, 0xFF, 0xC1, 0xFF, 0x10, 0x00, 0xEA, 0xFF, + 0xC1, 0xFF, 0x10, 0x00, 0xE1, 0xFF, 0xC1, 0xFF, + 0x13, 0x00, 0xD7, 0xFF, 0xAD, 0xFF, 0x15, 0x00, + 0xCE, 0xFF, 0x9B, 0xFF, 0x17, 0x00, 0xC5, 0xFF, + 0x85, 0xFF, 0x19, 0x00, 0xBC, 0xFF, 0x6A, 0xFF, + 0x08, 0x00, 0x05, 0x00, 0x04, 0x00, 0x08, 0x00, + 0x0F, 0x00, 0x04, 0x00, 0x08, 0x00, 0x19, 0x00, + 0x04, 0x00, 0x08, 0x00, 0x23, 0x00, 0x04, 0x00, + 0x0B, 0x00, 0x2E, 0x00, 0x06, 0x00, 0x0D, 0x00, + 0x38, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x42, 0x00, + 0x09, 0x00, 0x11, 0x00, 0x4C, 0x00, 0x0B, 0x00, + 0x08, 0x00, 0xFB, 0xFF, 0x04, 0x00, 0x08, 0x00, + 0xF1, 0xFF, 0x04, 0x00, 0x08, 0x00, 0xE7, 0xFF, + 0x04, 0x00, 0x08, 0x00, 0xDD, 0xFF, 0x04, 0x00, + 0x0B, 0x00, 0xD2, 0xFF, 0x06, 0x00, 0x0D, 0x00, + 0xC8, 0xFF, 0x07, 0x00, 0x0F, 0x00, 0xBE, 0xFF, + 0x09, 0x00, 0x11, 0x00, 0xB4, 0xFF, 0x0B, 0x00, + 0x08, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x08, 0x00, + 0x0F, 0x00, 0x0D, 0x00, 0x08, 0x00, 0x19, 0x00, + 0x0D, 0x00, 0x08, 0x00, 0x23, 0x00, 0x0D, 0x00, + 0x0B, 0x00, 0x2E, 0x00, 0x12, 0x00, 0x0D, 0x00, + 0x38, 0x00, 0x16, 0x00, 0x0F, 0x00, 0x42, 0x00, + 0x1B, 0x00, 0x11, 0x00, 0x4C, 0x00, 0x21, 0x00, + 0x08, 0x00, 0xFB, 0xFF, 0x0D, 0x00, 0x08, 0x00, + 0xF1, 0xFF, 0x0D, 0x00, 0x08, 0x00, 0xE7, 0xFF, + 0x0D, 0x00, 0x08, 0x00, 0xDD, 0xFF, 0x0D, 0x00, + 0x0B, 0x00, 0xD2, 0xFF, 0x12, 0x00, 0x0D, 0x00, + 0xC8, 0xFF, 0x16, 0x00, 0x0F, 0x00, 0xBE, 0xFF, + 0x1B, 0x00, 0x11, 0x00, 0xB4, 0xFF, 0x21, 0x00, + 0x08, 0x00, 0x05, 0x00, 0x16, 0x00, 0x08, 0x00, + 0x0F, 0x00, 0x16, 0x00, 0x08, 0x00, 0x19, 0x00, + 0x16, 0x00, 0x08, 0x00, 0x23, 0x00, 0x16, 0x00, + 0x0B, 0x00, 0x2E, 0x00, 0x1F, 0x00, 0x0D, 0x00, + 0x38, 0x00, 0x25, 0x00, 0x0F, 0x00, 0x42, 0x00, + 0x2D, 0x00, 0x11, 0x00, 0x4C, 0x00, 0x37, 0x00, + 0x08, 0x00, 0xFB, 0xFF, 0x16, 0x00, 0x08, 0x00, + 0xF1, 0xFF, 0x16, 0x00, 0x08, 0x00, 0xE7, 0xFF, + 0x16, 0x00, 0x08, 0x00, 0xDD, 0xFF, 0x16, 0x00, + 0x0B, 0x00, 0xD2, 0xFF, 0x1F, 0x00, 0x0D, 0x00, + 0xC8, 0xFF, 0x25, 0x00, 0x0F, 0x00, 0xBE, 0xFF, + 0x2D, 0x00, 0x11, 0x00, 0xB4, 0xFF, 0x37, 0x00, + 0x08, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x08, 0x00, + 0x0F, 0x00, 0x1F, 0x00, 0x08, 0x00, 0x19, 0x00, + 0x1F, 0x00, 0x08, 0x00, 0x23, 0x00, 0x1F, 0x00, + 0x0B, 0x00, 0x2E, 0x00, 0x2B, 0x00, 0x0D, 0x00, + 0x38, 0x00, 0x34, 0x00, 0x0F, 0x00, 0x42, 0x00, + 0x3F, 0x00, 0x11, 0x00, 0x4C, 0x00, 0x4D, 0x00, + 0x08, 0x00, 0xFB, 0xFF, 0x1F, 0x00, 0x08, 0x00, + 0xF1, 0xFF, 0x1F, 0x00, 0x08, 0x00, 0xE7, 0xFF, + 0x1F, 0x00, 0x08, 0x00, 0xDD, 0xFF, 0x1F, 0x00, + 0x0B, 0x00, 0xD2, 0xFF, 0x2B, 0x00, 0x0D, 0x00, + 0xC8, 0xFF, 0x34, 0x00, 0x0F, 0x00, 0xBE, 0xFF, + 0x3F, 0x00, 0x11, 0x00, 0xB4, 0xFF, 0x4D, 0x00, + 0x0B, 0x00, 0x05, 0x00, 0x29, 0x00, 0x0B, 0x00, + 0x0F, 0x00, 0x29, 0x00, 0x0B, 0x00, 0x19, 0x00, + 0x29, 0x00, 0x0B, 0x00, 0x23, 0x00, 0x29, 0x00, + 0x0E, 0x00, 0x2E, 0x00, 0x38, 0x00, 0x10, 0x00, + 0x38, 0x00, 0x43, 0x00, 0x12, 0x00, 0x42, 0x00, + 0x52, 0x00, 0x14, 0x00, 0x4C, 0x00, 0x63, 0x00, + 0x0B, 0x00, 0xFB, 0xFF, 0x29, 0x00, 0x0B, 0x00, + 0xF1, 0xFF, 0x29, 0x00, 0x0B, 0x00, 0xE7, 0xFF, + 0x29, 0x00, 0x0B, 0x00, 0xDD, 0xFF, 0x29, 0x00, + 0x0E, 0x00, 0xD2, 0xFF, 0x38, 0x00, 0x10, 0x00, + 0xC8, 0xFF, 0x43, 0x00, 0x12, 0x00, 0xBE, 0xFF, + 0x52, 0x00, 0x14, 0x00, 0xB4, 0xFF, 0x63, 0x00, + 0x0D, 0x00, 0x05, 0x00, 0x32, 0x00, 0x0D, 0x00, + 0x0F, 0x00, 0x32, 0x00, 0x0D, 0x00, 0x19, 0x00, + 0x32, 0x00, 0x0D, 0x00, 0x23, 0x00, 0x32, 0x00, + 0x10, 0x00, 0x2E, 0x00, 0x44, 0x00, 0x12, 0x00, + 0x38, 0x00, 0x52, 0x00, 0x14, 0x00, 0x42, 0x00, + 0x64, 0x00, 0x16, 0x00, 0x4C, 0x00, 0x79, 0x00, + 0x0D, 0x00, 0xFB, 0xFF, 0x32, 0x00, 0x0D, 0x00, + 0xF1, 0xFF, 0x32, 0x00, 0x0D, 0x00, 0xE7, 0xFF, + 0x32, 0x00, 0x0D, 0x00, 0xDD, 0xFF, 0x32, 0x00, + 0x10, 0x00, 0xD2, 0xFF, 0x44, 0x00, 0x12, 0x00, + 0xC8, 0xFF, 0x52, 0x00, 0x14, 0x00, 0xBE, 0xFF, + 0x64, 0x00, 0x16, 0x00, 0xB4, 0xFF, 0x79, 0x00, + 0x0F, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x0F, 0x00, + 0x0F, 0x00, 0x3B, 0x00, 0x0F, 0x00, 0x19, 0x00, + 0x3B, 0x00, 0x0F, 0x00, 0x23, 0x00, 0x3B, 0x00, + 0x12, 0x00, 0x2E, 0x00, 0x51, 0x00, 0x14, 0x00, + 0x38, 0x00, 0x61, 0x00, 0x16, 0x00, 0x42, 0x00, + 0x76, 0x00, 0x18, 0x00, 0x4C, 0x00, 0x8F, 0x00, + 0x0F, 0x00, 0xFB, 0xFF, 0x3B, 0x00, 0x0F, 0x00, + 0xF1, 0xFF, 0x3B, 0x00, 0x0F, 0x00, 0xE7, 0xFF, + 0x3B, 0x00, 0x0F, 0x00, 0xDD, 0xFF, 0x3B, 0x00, + 0x12, 0x00, 0xD2, 0xFF, 0x51, 0x00, 0x14, 0x00, + 0xC8, 0xFF, 0x61, 0x00, 0x16, 0x00, 0xBE, 0xFF, + 0x76, 0x00, 0x18, 0x00, 0xB4, 0xFF, 0x8F, 0x00, + 0x11, 0x00, 0x05, 0x00, 0x44, 0x00, 0x11, 0x00, + 0x0F, 0x00, 0x44, 0x00, 0x11, 0x00, 0x19, 0x00, + 0x44, 0x00, 0x11, 0x00, 0x23, 0x00, 0x44, 0x00, + 0x14, 0x00, 0x2E, 0x00, 0x5D, 0x00, 0x16, 0x00, + 0x38, 0x00, 0x70, 0x00, 0x18, 0x00, 0x42, 0x00, + 0x88, 0x00, 0x1A, 0x00, 0x4C, 0x00, 0xA5, 0x00, + 0x11, 0x00, 0xFB, 0xFF, 0x44, 0x00, 0x11, 0x00, + 0xF1, 0xFF, 0x44, 0x00, 0x11, 0x00, 0xE7, 0xFF, + 0x44, 0x00, 0x11, 0x00, 0xDD, 0xFF, 0x44, 0x00, + 0x14, 0x00, 0xD2, 0xFF, 0x5D, 0x00, 0x16, 0x00, + 0xC8, 0xFF, 0x70, 0x00, 0x18, 0x00, 0xBE, 0xFF, + 0x88, 0x00, 0x1A, 0x00, 0xB4, 0xFF, 0xA5, 0x00, + 0x08, 0x00, 0x05, 0x00, 0xFC, 0xFF, 0x08, 0x00, + 0x0F, 0x00, 0xFC, 0xFF, 0x08, 0x00, 0x19, 0x00, + 0xFC, 0xFF, 0x08, 0x00, 0x23, 0x00, 0xFC, 0xFF, + 0x0B, 0x00, 0x2E, 0x00, 0xFA, 0xFF, 0x0D, 0x00, + 0x38, 0x00, 0xF9, 0xFF, 0x0F, 0x00, 0x42, 0x00, + 0xF7, 0xFF, 0x11, 0x00, 0x4C, 0x00, 0xF5, 0xFF, + 0x08, 0x00, 0xFB, 0xFF, 0xFC, 0xFF, 0x08, 0x00, + 0xF1, 0xFF, 0xFC, 0xFF, 0x08, 0x00, 0xE7, 0xFF, + 0xFC, 0xFF, 0x08, 0x00, 0xDD, 0xFF, 0xFC, 0xFF, + 0x0B, 0x00, 0xD2, 0xFF, 0xFA, 0xFF, 0x0D, 0x00, + 0xC8, 0xFF, 0xF9, 0xFF, 0x0F, 0x00, 0xBE, 0xFF, + 0xF7, 0xFF, 0x11, 0x00, 0xB4, 0xFF, 0xF5, 0xFF, + 0x08, 0x00, 0x05, 0x00, 0xF3, 0xFF, 0x08, 0x00, + 0x0F, 0x00, 0xF3, 0xFF, 0x08, 0x00, 0x19, 0x00, + 0xF3, 0xFF, 0x08, 0x00, 0x23, 0x00, 0xF3, 0xFF, + 0x0B, 0x00, 0x2E, 0x00, 0xEE, 0xFF, 0x0D, 0x00, + 0x38, 0x00, 0xEA, 0xFF, 0x0F, 0x00, 0x42, 0x00, + 0xE5, 0xFF, 0x11, 0x00, 0x4C, 0x00, 0xDF, 0xFF, + 0x08, 0x00, 0xFB, 0xFF, 0xF3, 0xFF, 0x08, 0x00, + 0xF1, 0xFF, 0xF3, 0xFF, 0x08, 0x00, 0xE7, 0xFF, + 0xF3, 0xFF, 0x08, 0x00, 0xDD, 0xFF, 0xF3, 0xFF, + 0x0B, 0x00, 0xD2, 0xFF, 0xEE, 0xFF, 0x0D, 0x00, + 0xC8, 0xFF, 0xEA, 0xFF, 0x0F, 0x00, 0xBE, 0xFF, + 0xE5, 0xFF, 0x11, 0x00, 0xB4, 0xFF, 0xDF, 0xFF, + 0x08, 0x00, 0x05, 0x00, 0xEA, 0xFF, 0x08, 0x00, + 0x0F, 0x00, 0xEA, 0xFF, 0x08, 0x00, 0x19, 0x00, + 0xEA, 0xFF, 0x08, 0x00, 0x23, 0x00, 0xEA, 0xFF, + 0x0B, 0x00, 0x2E, 0x00, 0xE1, 0xFF, 0x0D, 0x00, + 0x38, 0x00, 0xDB, 0xFF, 0x0F, 0x00, 0x42, 0x00, + 0xD3, 0xFF, 0x11, 0x00, 0x4C, 0x00, 0xC9, 0xFF, + 0x08, 0x00, 0xFB, 0xFF, 0xEA, 0xFF, 0x08, 0x00, + 0xF1, 0xFF, 0xEA, 0xFF, 0x08, 0x00, 0xE7, 0xFF, + 0xEA, 0xFF, 0x08, 0x00, 0xDD, 0xFF, 0xEA, 0xFF, + 0x0B, 0x00, 0xD2, 0xFF, 0xE1, 0xFF, 0x0D, 0x00, + 0xC8, 0xFF, 0xDB, 0xFF, 0x0F, 0x00, 0xBE, 0xFF, + 0xD3, 0xFF, 0x11, 0x00, 0xB4, 0xFF, 0xC9, 0xFF, + 0x08, 0x00, 0x05, 0x00, 0xE1, 0xFF, 0x08, 0x00, + 0x0F, 0x00, 0xE1, 0xFF, 0x08, 0x00, 0x19, 0x00, + 0xE1, 0xFF, 0x08, 0x00, 0x23, 0x00, 0xE1, 0xFF, + 0x0B, 0x00, 0x2E, 0x00, 0xD5, 0xFF, 0x0D, 0x00, + 0x38, 0x00, 0xCC, 0xFF, 0x0F, 0x00, 0x42, 0x00, + 0xC1, 0xFF, 0x11, 0x00, 0x4C, 0x00, 0xB3, 0xFF, + 0x08, 0x00, 0xFB, 0xFF, 0xE1, 0xFF, 0x08, 0x00, + 0xF1, 0xFF, 0xE1, 0xFF, 0x08, 0x00, 0xE7, 0xFF, + 0xE1, 0xFF, 0x08, 0x00, 0xDD, 0xFF, 0xE1, 0xFF, + 0x0B, 0x00, 0xD2, 0xFF, 0xD5, 0xFF, 0x0D, 0x00, + 0xC8, 0xFF, 0xCC, 0xFF, 0x0F, 0x00, 0xBE, 0xFF, + 0xC1, 0xFF, 0x11, 0x00, 0xB4, 0xFF, 0xB3, 0xFF, + 0x0B, 0x00, 0x05, 0x00, 0xD7, 0xFF, 0x0B, 0x00, + 0x0F, 0x00, 0xD7, 0xFF, 0x0B, 0x00, 0x19, 0x00, + 0xD7, 0xFF, 0x0B, 0x00, 0x23, 0x00, 0xD7, 0xFF, + 0x0E, 0x00, 0x2E, 0x00, 0xC8, 0xFF, 0x10, 0x00, + 0x38, 0x00, 0xBD, 0xFF, 0x12, 0x00, 0x42, 0x00, + 0xAE, 0xFF, 0x14, 0x00, 0x4C, 0x00, 0x9D, 0xFF, + 0x0B, 0x00, 0xFB, 0xFF, 0xD7, 0xFF, 0x0B, 0x00, + 0xF1, 0xFF, 0xD7, 0xFF, 0x0B, 0x00, 0xE7, 0xFF, + 0xD7, 0xFF, 0x0B, 0x00, 0xDD, 0xFF, 0xD7, 0xFF, + 0x0E, 0x00, 0xD2, 0xFF, 0xC8, 0xFF, 0x10, 0x00, + 0xC8, 0xFF, 0xBD, 0xFF, 0x12, 0x00, 0xBE, 0xFF, + 0xAE, 0xFF, 0x14, 0x00, 0xB4, 0xFF, 0x9D, 0xFF, + 0x0D, 0x00, 0x05, 0x00, 0xCE, 0xFF, 0x0D, 0x00, + 0x0F, 0x00, 0xCE, 0xFF, 0x0D, 0x00, 0x19, 0x00, + 0xCE, 0xFF, 0x0D, 0x00, 0x23, 0x00, 0xCE, 0xFF, + 0x10, 0x00, 0x2E, 0x00, 0xBC, 0xFF, 0x12, 0x00, + 0x38, 0x00, 0xAE, 0xFF, 0x14, 0x00, 0x42, 0x00, + 0x9C, 0xFF, 0x16, 0x00, 0x4C, 0x00, 0x87, 0xFF, + 0x0D, 0x00, 0xFB, 0xFF, 0xCE, 0xFF, 0x0D, 0x00, + 0xF1, 0xFF, 0xCE, 0xFF, 0x0D, 0x00, 0xE7, 0xFF, + 0xCE, 0xFF, 0x0D, 0x00, 0xDD, 0xFF, 0xCE, 0xFF, + 0x10, 0x00, 0xD2, 0xFF, 0xBC, 0xFF, 0x12, 0x00, + 0xC8, 0xFF, 0xAE, 0xFF, 0x14, 0x00, 0xBE, 0xFF, + 0x9C, 0xFF, 0x16, 0x00, 0xB4, 0xFF, 0x87, 0xFF, + 0x0F, 0x00, 0x05, 0x00, 0xC5, 0xFF, 0x0F, 0x00, + 0x0F, 0x00, 0xC5, 0xFF, 0x0F, 0x00, 0x19, 0x00, + 0xC5, 0xFF, 0x0F, 0x00, 0x23, 0x00, 0xC5, 0xFF, + 0x12, 0x00, 0x2E, 0x00, 0xAF, 0xFF, 0x14, 0x00, + 0x38, 0x00, 0x9F, 0xFF, 0x16, 0x00, 0x42, 0x00, + 0x8A, 0xFF, 0x18, 0x00, 0x4C, 0x00, 0x71, 0xFF, + 0x0F, 0x00, 0xFB, 0xFF, 0xC5, 0xFF, 0x0F, 0x00, + 0xF1, 0xFF, 0xC5, 0xFF, 0x0F, 0x00, 0xE7, 0xFF, + 0xC5, 0xFF, 0x0F, 0x00, 0xDD, 0xFF, 0xC5, 0xFF, + 0x12, 0x00, 0xD2, 0xFF, 0xAF, 0xFF, 0x14, 0x00, + 0xC8, 0xFF, 0x9F, 0xFF, 0x16, 0x00, 0xBE, 0xFF, + 0x8A, 0xFF, 0x18, 0x00, 0xB4, 0xFF, 0x71, 0xFF, + 0x11, 0x00, 0x05, 0x00, 0xBC, 0xFF, 0x11, 0x00, + 0x0F, 0x00, 0xBC, 0xFF, 0x11, 0x00, 0x19, 0x00, + 0xBC, 0xFF, 0x11, 0x00, 0x23, 0x00, 0xBC, 0xFF, + 0x14, 0x00, 0x2E, 0x00, 0xA3, 0xFF, 0x16, 0x00, + 0x38, 0x00, 0x90, 0xFF, 0x18, 0x00, 0x42, 0x00, + 0x78, 0xFF, 0x1A, 0x00, 0x4C, 0x00, 0x5B, 0xFF, + 0x11, 0x00, 0xFB, 0xFF, 0xBC, 0xFF, 0x11, 0x00, + 0xF1, 0xFF, 0xBC, 0xFF, 0x11, 0x00, 0xE7, 0xFF, + 0xBC, 0xFF, 0x11, 0x00, 0xDD, 0xFF, 0xBC, 0xFF, + 0x14, 0x00, 0xD2, 0xFF, 0xA3, 0xFF, 0x16, 0x00, + 0xC8, 0xFF, 0x90, 0xFF, 0x18, 0x00, 0xBE, 0xFF, + 0x78, 0xFF, 0x1A, 0x00, 0xB4, 0xFF, 0x5B, 0xFF, + 0x09, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, + 0x10, 0x00, 0x05, 0x00, 0x09, 0x00, 0x1B, 0x00, + 0x05, 0x00, 0x09, 0x00, 0x26, 0x00, 0x05, 0x00, + 0x0C, 0x00, 0x32, 0x00, 0x06, 0x00, 0x0E, 0x00, + 0x3D, 0x00, 0x08, 0x00, 0x10, 0x00, 0x48, 0x00, + 0x0A, 0x00, 0x12, 0x00, 0x53, 0x00, 0x0C, 0x00, + 0x09, 0x00, 0xFB, 0xFF, 0x05, 0x00, 0x09, 0x00, + 0xF0, 0xFF, 0x05, 0x00, 0x09, 0x00, 0xE5, 0xFF, + 0x05, 0x00, 0x09, 0x00, 0xDA, 0xFF, 0x05, 0x00, + 0x0C, 0x00, 0xCE, 0xFF, 0x06, 0x00, 0x0E, 0x00, + 0xC3, 0xFF, 0x08, 0x00, 0x10, 0x00, 0xB8, 0xFF, + 0x0A, 0x00, 0x12, 0x00, 0xAD, 0xFF, 0x0C, 0x00, + 0x09, 0x00, 0x05, 0x00, 0x0F, 0x00, 0x09, 0x00, + 0x10, 0x00, 0x0F, 0x00, 0x09, 0x00, 0x1B, 0x00, + 0x0F, 0x00, 0x09, 0x00, 0x26, 0x00, 0x0F, 0x00, + 0x0C, 0x00, 0x32, 0x00, 0x13, 0x00, 0x0E, 0x00, + 0x3D, 0x00, 0x18, 0x00, 0x10, 0x00, 0x48, 0x00, + 0x1E, 0x00, 0x12, 0x00, 0x53, 0x00, 0x24, 0x00, + 0x09, 0x00, 0xFB, 0xFF, 0x0F, 0x00, 0x09, 0x00, + 0xF0, 0xFF, 0x0F, 0x00, 0x09, 0x00, 0xE5, 0xFF, + 0x0F, 0x00, 0x09, 0x00, 0xDA, 0xFF, 0x0F, 0x00, + 0x0C, 0x00, 0xCE, 0xFF, 0x13, 0x00, 0x0E, 0x00, + 0xC3, 0xFF, 0x18, 0x00, 0x10, 0x00, 0xB8, 0xFF, + 0x1E, 0x00, 0x12, 0x00, 0xAD, 0xFF, 0x24, 0x00, + 0x09, 0x00, 0x05, 0x00, 0x19, 0x00, 0x09, 0x00, + 0x10, 0x00, 0x19, 0x00, 0x09, 0x00, 0x1B, 0x00, + 0x19, 0x00, 0x09, 0x00, 0x26, 0x00, 0x19, 0x00, + 0x0C, 0x00, 0x32, 0x00, 0x21, 0x00, 0x0E, 0x00, + 0x3D, 0x00, 0x29, 0x00, 0x10, 0x00, 0x48, 0x00, + 0x32, 0x00, 0x12, 0x00, 0x53, 0x00, 0x3C, 0x00, + 0x09, 0x00, 0xFB, 0xFF, 0x19, 0x00, 0x09, 0x00, + 0xF0, 0xFF, 0x19, 0x00, 0x09, 0x00, 0xE5, 0xFF, + 0x19, 0x00, 0x09, 0x00, 0xDA, 0xFF, 0x19, 0x00, + 0x0C, 0x00, 0xCE, 0xFF, 0x21, 0x00, 0x0E, 0x00, + 0xC3, 0xFF, 0x29, 0x00, 0x10, 0x00, 0xB8, 0xFF, + 0x32, 0x00, 0x12, 0x00, 0xAD, 0xFF, 0x3C, 0x00, + 0x09, 0x00, 0x05, 0x00, 0x23, 0x00, 0x09, 0x00, + 0x10, 0x00, 0x23, 0x00, 0x09, 0x00, 0x1B, 0x00, + 0x23, 0x00, 0x09, 0x00, 0x26, 0x00, 0x23, 0x00, + 0x0C, 0x00, 0x32, 0x00, 0x2E, 0x00, 0x0E, 0x00, + 0x3D, 0x00, 0x39, 0x00, 0x10, 0x00, 0x48, 0x00, + 0x46, 0x00, 0x12, 0x00, 0x53, 0x00, 0x54, 0x00, + 0x09, 0x00, 0xFB, 0xFF, 0x23, 0x00, 0x09, 0x00, + 0xF0, 0xFF, 0x23, 0x00, 0x09, 0x00, 0xE5, 0xFF, + 0x23, 0x00, 0x09, 0x00, 0xDA, 0xFF, 0x23, 0x00, + 0x0C, 0x00, 0xCE, 0xFF, 0x2E, 0x00, 0x0E, 0x00, + 0xC3, 0xFF, 0x39, 0x00, 0x10, 0x00, 0xB8, 0xFF, + 0x46, 0x00, 0x12, 0x00, 0xAD, 0xFF, 0x54, 0x00, + 0x0C, 0x00, 0x05, 0x00, 0x2E, 0x00, 0x0C, 0x00, + 0x10, 0x00, 0x2E, 0x00, 0x0C, 0x00, 0x1B, 0x00, + 0x2E, 0x00, 0x0C, 0x00, 0x26, 0x00, 0x2E, 0x00, + 0x0F, 0x00, 0x32, 0x00, 0x3D, 0x00, 0x11, 0x00, + 0x3D, 0x00, 0x4A, 0x00, 0x13, 0x00, 0x48, 0x00, + 0x5A, 0x00, 0x15, 0x00, 0x53, 0x00, 0x6D, 0x00, + 0x0C, 0x00, 0xFB, 0xFF, 0x2E, 0x00, 0x0C, 0x00, + 0xF0, 0xFF, 0x2E, 0x00, 0x0C, 0x00, 0xE5, 0xFF, + 0x2E, 0x00, 0x0C, 0x00, 0xDA, 0xFF, 0x2E, 0x00, + 0x0F, 0x00, 0xCE, 0xFF, 0x3D, 0x00, 0x11, 0x00, + 0xC3, 0xFF, 0x4A, 0x00, 0x13, 0x00, 0xB8, 0xFF, + 0x5A, 0x00, 0x15, 0x00, 0xAD, 0xFF, 0x6D, 0x00, + 0x0E, 0x00, 0x05, 0x00, 0x38, 0x00, 0x0E, 0x00, + 0x10, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x1B, 0x00, + 0x38, 0x00, 0x0E, 0x00, 0x26, 0x00, 0x38, 0x00, + 0x11, 0x00, 0x32, 0x00, 0x4A, 0x00, 0x13, 0x00, + 0x3D, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x48, 0x00, + 0x6E, 0x00, 0x17, 0x00, 0x53, 0x00, 0x85, 0x00, + 0x0E, 0x00, 0xFB, 0xFF, 0x38, 0x00, 0x0E, 0x00, + 0xF0, 0xFF, 0x38, 0x00, 0x0E, 0x00, 0xE5, 0xFF, + 0x38, 0x00, 0x0E, 0x00, 0xDA, 0xFF, 0x38, 0x00, + 0x11, 0x00, 0xCE, 0xFF, 0x4A, 0x00, 0x13, 0x00, + 0xC3, 0xFF, 0x5A, 0x00, 0x15, 0x00, 0xB8, 0xFF, + 0x6E, 0x00, 0x17, 0x00, 0xAD, 0xFF, 0x85, 0x00, + 0x10, 0x00, 0x05, 0x00, 0x42, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x42, 0x00, 0x10, 0x00, 0x1B, 0x00, + 0x42, 0x00, 0x10, 0x00, 0x26, 0x00, 0x42, 0x00, + 0x13, 0x00, 0x32, 0x00, 0x58, 0x00, 0x15, 0x00, + 0x3D, 0x00, 0x6B, 0x00, 0x17, 0x00, 0x48, 0x00, + 0x82, 0x00, 0x19, 0x00, 0x53, 0x00, 0x9D, 0x00, + 0x10, 0x00, 0xFB, 0xFF, 0x42, 0x00, 0x10, 0x00, + 0xF0, 0xFF, 0x42, 0x00, 0x10, 0x00, 0xE5, 0xFF, + 0x42, 0x00, 0x10, 0x00, 0xDA, 0xFF, 0x42, 0x00, + 0x13, 0x00, 0xCE, 0xFF, 0x58, 0x00, 0x15, 0x00, + 0xC3, 0xFF, 0x6B, 0x00, 0x17, 0x00, 0xB8, 0xFF, + 0x82, 0x00, 0x19, 0x00, 0xAD, 0xFF, 0x9D, 0x00, + 0x12, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x12, 0x00, + 0x10, 0x00, 0x4C, 0x00, 0x12, 0x00, 0x1B, 0x00, + 0x4C, 0x00, 0x12, 0x00, 0x26, 0x00, 0x4C, 0x00, + 0x15, 0x00, 0x32, 0x00, 0x65, 0x00, 0x17, 0x00, + 0x3D, 0x00, 0x7B, 0x00, 0x19, 0x00, 0x48, 0x00, + 0x96, 0x00, 0x1B, 0x00, 0x53, 0x00, 0xB5, 0x00, + 0x12, 0x00, 0xFB, 0xFF, 0x4C, 0x00, 0x12, 0x00, + 0xF0, 0xFF, 0x4C, 0x00, 0x12, 0x00, 0xE5, 0xFF, + 0x4C, 0x00, 0x12, 0x00, 0xDA, 0xFF, 0x4C, 0x00, + 0x15, 0x00, 0xCE, 0xFF, 0x65, 0x00, 0x17, 0x00, + 0xC3, 0xFF, 0x7B, 0x00, 0x19, 0x00, 0xB8, 0xFF, + 0x96, 0x00, 0x1B, 0x00, 0xAD, 0xFF, 0xB5, 0x00, + 0x09, 0x00, 0x05, 0x00, 0xFB, 0xFF, 0x09, 0x00, + 0x10, 0x00, 0xFB, 0xFF, 0x09, 0x00, 0x1B, 0x00, + 0xFB, 0xFF, 0x09, 0x00, 0x26, 0x00, 0xFB, 0xFF, + 0x0C, 0x00, 0x32, 0x00, 0xFA, 0xFF, 0x0E, 0x00, + 0x3D, 0x00, 0xF8, 0xFF, 0x10, 0x00, 0x48, 0x00, + 0xF6, 0xFF, 0x12, 0x00, 0x53, 0x00, 0xF4, 0xFF, + 0x09, 0x00, 0xFB, 0xFF, 0xFB, 0xFF, 0x09, 0x00, + 0xF0, 0xFF, 0xFB, 0xFF, 0x09, 0x00, 0xE5, 0xFF, + 0xFB, 0xFF, 0x09, 0x00, 0xDA, 0xFF, 0xFB, 0xFF, + 0x0C, 0x00, 0xCE, 0xFF, 0xFA, 0xFF, 0x0E, 0x00, + 0xC3, 0xFF, 0xF8, 0xFF, 0x10, 0x00, 0xB8, 0xFF, + 0xF6, 0xFF, 0x12, 0x00, 0xAD, 0xFF, 0xF4, 0xFF, + 0x09, 0x00, 0x05, 0x00, 0xF1, 0xFF, 0x09, 0x00, + 0x10, 0x00, 0xF1, 0xFF, 0x09, 0x00, 0x1B, 0x00, + 0xF1, 0xFF, 0x09, 0x00, 0x26, 0x00, 0xF1, 0xFF, + 0x0C, 0x00, 0x32, 0x00, 0xED, 0xFF, 0x0E, 0x00, + 0x3D, 0x00, 0xE8, 0xFF, 0x10, 0x00, 0x48, 0x00, + 0xE2, 0xFF, 0x12, 0x00, 0x53, 0x00, 0xDC, 0xFF, + 0x09, 0x00, 0xFB, 0xFF, 0xF1, 0xFF, 0x09, 0x00, + 0xF0, 0xFF, 0xF1, 0xFF, 0x09, 0x00, 0xE5, 0xFF, + 0xF1, 0xFF, 0x09, 0x00, 0xDA, 0xFF, 0xF1, 0xFF, + 0x0C, 0x00, 0xCE, 0xFF, 0xED, 0xFF, 0x0E, 0x00, + 0xC3, 0xFF, 0xE8, 0xFF, 0x10, 0x00, 0xB8, 0xFF, + 0xE2, 0xFF, 0x12, 0x00, 0xAD, 0xFF, 0xDC, 0xFF, + 0x09, 0x00, 0x05, 0x00, 0xE7, 0xFF, 0x09, 0x00, + 0x10, 0x00, 0xE7, 0xFF, 0x09, 0x00, 0x1B, 0x00, + 0xE7, 0xFF, 0x09, 0x00, 0x26, 0x00, 0xE7, 0xFF, + 0x0C, 0x00, 0x32, 0x00, 0xDF, 0xFF, 0x0E, 0x00, + 0x3D, 0x00, 0xD7, 0xFF, 0x10, 0x00, 0x48, 0x00, + 0xCE, 0xFF, 0x12, 0x00, 0x53, 0x00, 0xC4, 0xFF, + 0x09, 0x00, 0xFB, 0xFF, 0xE7, 0xFF, 0x09, 0x00, + 0xF0, 0xFF, 0xE7, 0xFF, 0x09, 0x00, 0xE5, 0xFF, + 0xE7, 0xFF, 0x09, 0x00, 0xDA, 0xFF, 0xE7, 0xFF, + 0x0C, 0x00, 0xCE, 0xFF, 0xDF, 0xFF, 0x0E, 0x00, + 0xC3, 0xFF, 0xD7, 0xFF, 0x10, 0x00, 0xB8, 0xFF, + 0xCE, 0xFF, 0x12, 0x00, 0xAD, 0xFF, 0xC4, 0xFF, + 0x09, 0x00, 0x05, 0x00, 0xDD, 0xFF, 0x09, 0x00, + 0x10, 0x00, 0xDD, 0xFF, 0x09, 0x00, 0x1B, 0x00, + 0xDD, 0xFF, 0x09, 0x00, 0x26, 0x00, 0xDD, 0xFF, + 0x0C, 0x00, 0x32, 0x00, 0xD2, 0xFF, 0x0E, 0x00, + 0x3D, 0x00, 0xC7, 0xFF, 0x10, 0x00, 0x48, 0x00, + 0xBA, 0xFF, 0x12, 0x00, 0x53, 0x00, 0xAC, 0xFF, + 0x09, 0x00, 0xFB, 0xFF, 0xDD, 0xFF, 0x09, 0x00, + 0xF0, 0xFF, 0xDD, 0xFF, 0x09, 0x00, 0xE5, 0xFF, + 0xDD, 0xFF, 0x09, 0x00, 0xDA, 0xFF, 0xDD, 0xFF, + 0x0C, 0x00, 0xCE, 0xFF, 0xD2, 0xFF, 0x0E, 0x00, + 0xC3, 0xFF, 0xC7, 0xFF, 0x10, 0x00, 0xB8, 0xFF, + 0xBA, 0xFF, 0x12, 0x00, 0xAD, 0xFF, 0xAC, 0xFF, + 0x0C, 0x00, 0x05, 0x00, 0xD2, 0xFF, 0x0C, 0x00, + 0x10, 0x00, 0xD2, 0xFF, 0x0C, 0x00, 0x1B, 0x00, + 0xD2, 0xFF, 0x0C, 0x00, 0x26, 0x00, 0xD2, 0xFF, + 0x0F, 0x00, 0x32, 0x00, 0xC3, 0xFF, 0x11, 0x00, + 0x3D, 0x00, 0xB6, 0xFF, 0x13, 0x00, 0x48, 0x00, + 0xA6, 0xFF, 0x15, 0x00, 0x53, 0x00, 0x93, 0xFF, + 0x0C, 0x00, 0xFB, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, + 0xF0, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, 0xE5, 0xFF, + 0xD2, 0xFF, 0x0C, 0x00, 0xDA, 0xFF, 0xD2, 0xFF, + 0x0F, 0x00, 0xCE, 0xFF, 0xC3, 0xFF, 0x11, 0x00, + 0xC3, 0xFF, 0xB6, 0xFF, 0x13, 0x00, 0xB8, 0xFF, + 0xA6, 0xFF, 0x15, 0x00, 0xAD, 0xFF, 0x93, 0xFF, + 0x0E, 0x00, 0x05, 0x00, 0xC8, 0xFF, 0x0E, 0x00, + 0x10, 0x00, 0xC8, 0xFF, 0x0E, 0x00, 0x1B, 0x00, + 0xC8, 0xFF, 0x0E, 0x00, 0x26, 0x00, 0xC8, 0xFF, + 0x11, 0x00, 0x32, 0x00, 0xB6, 0xFF, 0x13, 0x00, + 0x3D, 0x00, 0xA6, 0xFF, 0x15, 0x00, 0x48, 0x00, + 0x92, 0xFF, 0x17, 0x00, 0x53, 0x00, 0x7B, 0xFF, + 0x0E, 0x00, 0xFB, 0xFF, 0xC8, 0xFF, 0x0E, 0x00, + 0xF0, 0xFF, 0xC8, 0xFF, 0x0E, 0x00, 0xE5, 0xFF, + 0xC8, 0xFF, 0x0E, 0x00, 0xDA, 0xFF, 0xC8, 0xFF, + 0x11, 0x00, 0xCE, 0xFF, 0xB6, 0xFF, 0x13, 0x00, + 0xC3, 0xFF, 0xA6, 0xFF, 0x15, 0x00, 0xB8, 0xFF, + 0x92, 0xFF, 0x17, 0x00, 0xAD, 0xFF, 0x7B, 0xFF, + 0x10, 0x00, 0x05, 0x00, 0xBE, 0xFF, 0x10, 0x00, + 0x10, 0x00, 0xBE, 0xFF, 0x10, 0x00, 0x1B, 0x00, + 0xBE, 0xFF, 0x10, 0x00, 0x26, 0x00, 0xBE, 0xFF, + 0x13, 0x00, 0x32, 0x00, 0xA8, 0xFF, 0x15, 0x00, + 0x3D, 0x00, 0x95, 0xFF, 0x17, 0x00, 0x48, 0x00, + 0x7E, 0xFF, 0x19, 0x00, 0x53, 0x00, 0x63, 0xFF, + 0x10, 0x00, 0xFB, 0xFF, 0xBE, 0xFF, 0x10, 0x00, + 0xF0, 0xFF, 0xBE, 0xFF, 0x10, 0x00, 0xE5, 0xFF, + 0xBE, 0xFF, 0x10, 0x00, 0xDA, 0xFF, 0xBE, 0xFF, + 0x13, 0x00, 0xCE, 0xFF, 0xA8, 0xFF, 0x15, 0x00, + 0xC3, 0xFF, 0x95, 0xFF, 0x17, 0x00, 0xB8, 0xFF, + 0x7E, 0xFF, 0x19, 0x00, 0xAD, 0xFF, 0x63, 0xFF, + 0x12, 0x00, 0x05, 0x00, 0xB4, 0xFF, 0x12, 0x00, + 0x10, 0x00, 0xB4, 0xFF, 0x12, 0x00, 0x1B, 0x00, + 0xB4, 0xFF, 0x12, 0x00, 0x26, 0x00, 0xB4, 0xFF, + 0x15, 0x00, 0x32, 0x00, 0x9B, 0xFF, 0x17, 0x00, + 0x3D, 0x00, 0x85, 0xFF, 0x19, 0x00, 0x48, 0x00, + 0x6A, 0xFF, 0x1B, 0x00, 0x53, 0x00, 0x4B, 0xFF, + 0x12, 0x00, 0xFB, 0xFF, 0xB4, 0xFF, 0x12, 0x00, + 0xF0, 0xFF, 0xB4, 0xFF, 0x12, 0x00, 0xE5, 0xFF, + 0xB4, 0xFF, 0x12, 0x00, 0xDA, 0xFF, 0xB4, 0xFF, + 0x15, 0x00, 0xCE, 0xFF, 0x9B, 0xFF, 0x17, 0x00, + 0xC3, 0xFF, 0x85, 0xFF, 0x19, 0x00, 0xB8, 0xFF, + 0x6A, 0xFF, 0x1B, 0x00, 0xAD, 0xFF, 0x4B, 0xFF, + 0x0A, 0x00, 0x06, 0x00, 0x05, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x1F, 0x00, + 0x05, 0x00, 0x0A, 0x00, 0x2B, 0x00, 0x05, 0x00, + 0x0D, 0x00, 0x38, 0x00, 0x07, 0x00, 0x0F, 0x00, + 0x44, 0x00, 0x09, 0x00, 0x11, 0x00, 0x51, 0x00, + 0x0B, 0x00, 0x13, 0x00, 0x5D, 0x00, 0x0D, 0x00, + 0x0A, 0x00, 0xFA, 0xFF, 0x05, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x05, 0x00, 0x0A, 0x00, 0xE1, 0xFF, + 0x05, 0x00, 0x0A, 0x00, 0xD5, 0xFF, 0x05, 0x00, + 0x0D, 0x00, 0xC8, 0xFF, 0x07, 0x00, 0x0F, 0x00, + 0xBC, 0xFF, 0x09, 0x00, 0x11, 0x00, 0xAF, 0xFF, + 0x0B, 0x00, 0x13, 0x00, 0xA3, 0xFF, 0x0D, 0x00, + 0x0A, 0x00, 0x06, 0x00, 0x10, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x1F, 0x00, + 0x10, 0x00, 0x0A, 0x00, 0x2B, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x38, 0x00, 0x16, 0x00, 0x0F, 0x00, + 0x44, 0x00, 0x1B, 0x00, 0x11, 0x00, 0x51, 0x00, + 0x21, 0x00, 0x13, 0x00, 0x5D, 0x00, 0x27, 0x00, + 0x0A, 0x00, 0xFA, 0xFF, 0x10, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x10, 0x00, 0x0A, 0x00, 0xE1, 0xFF, + 0x10, 0x00, 0x0A, 0x00, 0xD5, 0xFF, 0x10, 0x00, + 0x0D, 0x00, 0xC8, 0xFF, 0x16, 0x00, 0x0F, 0x00, + 0xBC, 0xFF, 0x1B, 0x00, 0x11, 0x00, 0xAF, 0xFF, + 0x21, 0x00, 0x13, 0x00, 0xA3, 0xFF, 0x27, 0x00, + 0x0A, 0x00, 0x06, 0x00, 0x1B, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x1B, 0x00, 0x0A, 0x00, 0x1F, 0x00, + 0x1B, 0x00, 0x0A, 0x00, 0x2B, 0x00, 0x1B, 0x00, + 0x0D, 0x00, 0x38, 0x00, 0x25, 0x00, 0x0F, 0x00, + 0x44, 0x00, 0x2D, 0x00, 0x11, 0x00, 0x51, 0x00, + 0x37, 0x00, 0x13, 0x00, 0x5D, 0x00, 0x42, 0x00, + 0x0A, 0x00, 0xFA, 0xFF, 0x1B, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x1B, 0x00, 0x0A, 0x00, 0xE1, 0xFF, + 0x1B, 0x00, 0x0A, 0x00, 0xD5, 0xFF, 0x1B, 0x00, + 0x0D, 0x00, 0xC8, 0xFF, 0x25, 0x00, 0x0F, 0x00, + 0xBC, 0xFF, 0x2D, 0x00, 0x11, 0x00, 0xAF, 0xFF, + 0x37, 0x00, 0x13, 0x00, 0xA3, 0xFF, 0x42, 0x00, + 0x0A, 0x00, 0x06, 0x00, 0x26, 0x00, 0x0A, 0x00, + 0x12, 0x00, 0x26, 0x00, 0x0A, 0x00, 0x1F, 0x00, + 0x26, 0x00, 0x0A, 0x00, 0x2B, 0x00, 0x26, 0x00, + 0x0D, 0x00, 0x38, 0x00, 0x34, 0x00, 0x0F, 0x00, + 0x44, 0x00, 0x3F, 0x00, 0x11, 0x00, 0x51, 0x00, + 0x4D, 0x00, 0x13, 0x00, 0x5D, 0x00, 0x5C, 0x00, + 0x0A, 0x00, 0xFA, 0xFF, 0x26, 0x00, 0x0A, 0x00, + 0xEE, 0xFF, 0x26, 0x00, 0x0A, 0x00, 0xE1, 0xFF, + 0x26, 0x00, 0x0A, 0x00, 0xD5, 0xFF, 0x26, 0x00, + 0x0D, 0x00, 0xC8, 0xFF, 0x34, 0x00, 0x0F, 0x00, + 0xBC, 0xFF, 0x3F, 0x00, 0x11, 0x00, 0xAF, 0xFF, + 0x4D, 0x00, 0x13, 0x00, 0xA3, 0xFF, 0x5C, 0x00, + 0x0D, 0x00, 0x06, 0x00, 0x32, 0x00, 0x0D, 0x00, + 0x12, 0x00, 0x32, 0x00, 0x0D, 0x00, 0x1F, 0x00, + 0x32, 0x00, 0x0D, 0x00, 0x2B, 0x00, 0x32, 0x00, + 0x10, 0x00, 0x38, 0x00, 0x43, 0x00, 0x12, 0x00, + 0x44, 0x00, 0x52, 0x00, 0x14, 0x00, 0x51, 0x00, + 0x63, 0x00, 0x16, 0x00, 0x5D, 0x00, 0x78, 0x00, + 0x0D, 0x00, 0xFA, 0xFF, 0x32, 0x00, 0x0D, 0x00, + 0xEE, 0xFF, 0x32, 0x00, 0x0D, 0x00, 0xE1, 0xFF, + 0x32, 0x00, 0x0D, 0x00, 0xD5, 0xFF, 0x32, 0x00, + 0x10, 0x00, 0xC8, 0xFF, 0x43, 0x00, 0x12, 0x00, + 0xBC, 0xFF, 0x52, 0x00, 0x14, 0x00, 0xAF, 0xFF, + 0x63, 0x00, 0x16, 0x00, 0xA3, 0xFF, 0x78, 0x00, + 0x0F, 0x00, 0x06, 0x00, 0x3D, 0x00, 0x0F, 0x00, + 0x12, 0x00, 0x3D, 0x00, 0x0F, 0x00, 0x1F, 0x00, + 0x3D, 0x00, 0x0F, 0x00, 0x2B, 0x00, 0x3D, 0x00, + 0x12, 0x00, 0x38, 0x00, 0x52, 0x00, 0x14, 0x00, + 0x44, 0x00, 0x64, 0x00, 0x16, 0x00, 0x51, 0x00, + 0x79, 0x00, 0x18, 0x00, 0x5D, 0x00, 0x92, 0x00, + 0x0F, 0x00, 0xFA, 0xFF, 0x3D, 0x00, 0x0F, 0x00, + 0xEE, 0xFF, 0x3D, 0x00, 0x0F, 0x00, 0xE1, 0xFF, + 0x3D, 0x00, 0x0F, 0x00, 0xD5, 0xFF, 0x3D, 0x00, + 0x12, 0x00, 0xC8, 0xFF, 0x52, 0x00, 0x14, 0x00, + 0xBC, 0xFF, 0x64, 0x00, 0x16, 0x00, 0xAF, 0xFF, + 0x79, 0x00, 0x18, 0x00, 0xA3, 0xFF, 0x92, 0x00, + 0x11, 0x00, 0x06, 0x00, 0x48, 0x00, 0x11, 0x00, + 0x12, 0x00, 0x48, 0x00, 0x11, 0x00, 0x1F, 0x00, + 0x48, 0x00, 0x11, 0x00, 0x2B, 0x00, 0x48, 0x00, + 0x14, 0x00, 0x38, 0x00, 0x61, 0x00, 0x16, 0x00, + 0x44, 0x00, 0x76, 0x00, 0x18, 0x00, 0x51, 0x00, + 0x8F, 0x00, 0x1A, 0x00, 0x5D, 0x00, 0xAD, 0x00, + 0x11, 0x00, 0xFA, 0xFF, 0x48, 0x00, 0x11, 0x00, + 0xEE, 0xFF, 0x48, 0x00, 0x11, 0x00, 0xE1, 0xFF, + 0x48, 0x00, 0x11, 0x00, 0xD5, 0xFF, 0x48, 0x00, + 0x14, 0x00, 0xC8, 0xFF, 0x61, 0x00, 0x16, 0x00, + 0xBC, 0xFF, 0x76, 0x00, 0x18, 0x00, 0xAF, 0xFF, + 0x8F, 0x00, 0x1A, 0x00, 0xA3, 0xFF, 0xAD, 0x00, + 0x13, 0x00, 0x06, 0x00, 0x53, 0x00, 0x13, 0x00, + 0x12, 0x00, 0x53, 0x00, 0x13, 0x00, 0x1F, 0x00, + 0x53, 0x00, 0x13, 0x00, 0x2B, 0x00, 0x53, 0x00, + 0x16, 0x00, 0x38, 0x00, 0x70, 0x00, 0x18, 0x00, + 0x44, 0x00, 0x88, 0x00, 0x1A, 0x00, 0x51, 0x00, + 0xA5, 0x00, 0x1C, 0x00, 0x5D, 0x00, 0xC7, 0x00, + 0x13, 0x00, 0xFA, 0xFF, 0x53, 0x00, 0x13, 0x00, + 0xEE, 0xFF, 0x53, 0x00, 0x13, 0x00, 0xE1, 0xFF, + 0x53, 0x00, 0x13, 0x00, 0xD5, 0xFF, 0x53, 0x00, + 0x16, 0x00, 0xC8, 0xFF, 0x70, 0x00, 0x18, 0x00, + 0xBC, 0xFF, 0x88, 0x00, 0x1A, 0x00, 0xAF, 0xFF, + 0xA5, 0x00, 0x1C, 0x00, 0xA3, 0xFF, 0xC7, 0x00, + 0x0A, 0x00, 0x06, 0x00, 0xFB, 0xFF, 0x0A, 0x00, + 0x12, 0x00, 0xFB, 0xFF, 0x0A, 0x00, 0x1F, 0x00, + 0xFB, 0xFF, 0x0A, 0x00, 0x2B, 0x00, 0xFB, 0xFF, + 0x0D, 0x00, 0x38, 0x00, 0xF9, 0xFF, 0x0F, 0x00, + 0x44, 0x00, 0xF7, 0xFF, 0x11, 0x00, 0x51, 0x00, + 0xF5, 0xFF, 0x13, 0x00, 0x5D, 0x00, 0xF3, 0xFF, + 0x0A, 0x00, 0xFA, 0xFF, 0xFB, 0xFF, 0x0A, 0x00, + 0xEE, 0xFF, 0xFB, 0xFF, 0x0A, 0x00, 0xE1, 0xFF, + 0xFB, 0xFF, 0x0A, 0x00, 0xD5, 0xFF, 0xFB, 0xFF, + 0x0D, 0x00, 0xC8, 0xFF, 0xF9, 0xFF, 0x0F, 0x00, + 0xBC, 0xFF, 0xF7, 0xFF, 0x11, 0x00, 0xAF, 0xFF, + 0xF5, 0xFF, 0x13, 0x00, 0xA3, 0xFF, 0xF3, 0xFF, + 0x0A, 0x00, 0x06, 0x00, 0xF0, 0xFF, 0x0A, 0x00, + 0x12, 0x00, 0xF0, 0xFF, 0x0A, 0x00, 0x1F, 0x00, + 0xF0, 0xFF, 0x0A, 0x00, 0x2B, 0x00, 0xF0, 0xFF, + 0x0D, 0x00, 0x38, 0x00, 0xEA, 0xFF, 0x0F, 0x00, + 0x44, 0x00, 0xE5, 0xFF, 0x11, 0x00, 0x51, 0x00, + 0xDF, 0xFF, 0x13, 0x00, 0x5D, 0x00, 0xD9, 0xFF, + 0x0A, 0x00, 0xFA, 0xFF, 0xF0, 0xFF, 0x0A, 0x00, + 0xEE, 0xFF, 0xF0, 0xFF, 0x0A, 0x00, 0xE1, 0xFF, + 0xF0, 0xFF, 0x0A, 0x00, 0xD5, 0xFF, 0xF0, 0xFF, + 0x0D, 0x00, 0xC8, 0xFF, 0xEA, 0xFF, 0x0F, 0x00, + 0xBC, 0xFF, 0xE5, 0xFF, 0x11, 0x00, 0xAF, 0xFF, + 0xDF, 0xFF, 0x13, 0x00, 0xA3, 0xFF, 0xD9, 0xFF, + 0x0A, 0x00, 0x06, 0x00, 0xE5, 0xFF, 0x0A, 0x00, + 0x12, 0x00, 0xE5, 0xFF, 0x0A, 0x00, 0x1F, 0x00, + 0xE5, 0xFF, 0x0A, 0x00, 0x2B, 0x00, 0xE5, 0xFF, + 0x0D, 0x00, 0x38, 0x00, 0xDB, 0xFF, 0x0F, 0x00, + 0x44, 0x00, 0xD3, 0xFF, 0x11, 0x00, 0x51, 0x00, + 0xC9, 0xFF, 0x13, 0x00, 0x5D, 0x00, 0xBE, 0xFF, + 0x0A, 0x00, 0xFA, 0xFF, 0xE5, 0xFF, 0x0A, 0x00, + 0xEE, 0xFF, 0xE5, 0xFF, 0x0A, 0x00, 0xE1, 0xFF, + 0xE5, 0xFF, 0x0A, 0x00, 0xD5, 0xFF, 0xE5, 0xFF, + 0x0D, 0x00, 0xC8, 0xFF, 0xDB, 0xFF, 0x0F, 0x00, + 0xBC, 0xFF, 0xD3, 0xFF, 0x11, 0x00, 0xAF, 0xFF, + 0xC9, 0xFF, 0x13, 0x00, 0xA3, 0xFF, 0xBE, 0xFF, + 0x0A, 0x00, 0x06, 0x00, 0xDA, 0xFF, 0x0A, 0x00, + 0x12, 0x00, 0xDA, 0xFF, 0x0A, 0x00, 0x1F, 0x00, + 0xDA, 0xFF, 0x0A, 0x00, 0x2B, 0x00, 0xDA, 0xFF, + 0x0D, 0x00, 0x38, 0x00, 0xCC, 0xFF, 0x0F, 0x00, + 0x44, 0x00, 0xC1, 0xFF, 0x11, 0x00, 0x51, 0x00, + 0xB3, 0xFF, 0x13, 0x00, 0x5D, 0x00, 0xA4, 0xFF, + 0x0A, 0x00, 0xFA, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, + 0xEE, 0xFF, 0xDA, 0xFF, 0x0A, 0x00, 0xE1, 0xFF, + 0xDA, 0xFF, 0x0A, 0x00, 0xD5, 0xFF, 0xDA, 0xFF, + 0x0D, 0x00, 0xC8, 0xFF, 0xCC, 0xFF, 0x0F, 0x00, + 0xBC, 0xFF, 0xC1, 0xFF, 0x11, 0x00, 0xAF, 0xFF, + 0xB3, 0xFF, 0x13, 0x00, 0xA3, 0xFF, 0xA4, 0xFF, + 0x0D, 0x00, 0x06, 0x00, 0xCE, 0xFF, 0x0D, 0x00, + 0x12, 0x00, 0xCE, 0xFF, 0x0D, 0x00, 0x1F, 0x00, + 0xCE, 0xFF, 0x0D, 0x00, 0x2B, 0x00, 0xCE, 0xFF, + 0x10, 0x00, 0x38, 0x00, 0xBD, 0xFF, 0x12, 0x00, + 0x44, 0x00, 0xAE, 0xFF, 0x14, 0x00, 0x51, 0x00, + 0x9D, 0xFF, 0x16, 0x00, 0x5D, 0x00, 0x88, 0xFF, + 0x0D, 0x00, 0xFA, 0xFF, 0xCE, 0xFF, 0x0D, 0x00, + 0xEE, 0xFF, 0xCE, 0xFF, 0x0D, 0x00, 0xE1, 0xFF, + 0xCE, 0xFF, 0x0D, 0x00, 0xD5, 0xFF, 0xCE, 0xFF, + 0x10, 0x00, 0xC8, 0xFF, 0xBD, 0xFF, 0x12, 0x00, + 0xBC, 0xFF, 0xAE, 0xFF, 0x14, 0x00, 0xAF, 0xFF, + 0x9D, 0xFF, 0x16, 0x00, 0xA3, 0xFF, 0x88, 0xFF, + 0x0F, 0x00, 0x06, 0x00, 0xC3, 0xFF, 0x0F, 0x00, + 0x12, 0x00, 0xC3, 0xFF, 0x0F, 0x00, 0x1F, 0x00, + 0xC3, 0xFF, 0x0F, 0x00, 0x2B, 0x00, 0xC3, 0xFF, + 0x12, 0x00, 0x38, 0x00, 0xAE, 0xFF, 0x14, 0x00, + 0x44, 0x00, 0x9C, 0xFF, 0x16, 0x00, 0x51, 0x00, + 0x87, 0xFF, 0x18, 0x00, 0x5D, 0x00, 0x6E, 0xFF, + 0x0F, 0x00, 0xFA, 0xFF, 0xC3, 0xFF, 0x0F, 0x00, + 0xEE, 0xFF, 0xC3, 0xFF, 0x0F, 0x00, 0xE1, 0xFF, + 0xC3, 0xFF, 0x0F, 0x00, 0xD5, 0xFF, 0xC3, 0xFF, + 0x12, 0x00, 0xC8, 0xFF, 0xAE, 0xFF, 0x14, 0x00, + 0xBC, 0xFF, 0x9C, 0xFF, 0x16, 0x00, 0xAF, 0xFF, + 0x87, 0xFF, 0x18, 0x00, 0xA3, 0xFF, 0x6E, 0xFF, + 0x11, 0x00, 0x06, 0x00, 0xB8, 0xFF, 0x11, 0x00, + 0x12, 0x00, 0xB8, 0xFF, 0x11, 0x00, 0x1F, 0x00, + 0xB8, 0xFF, 0x11, 0x00, 0x2B, 0x00, 0xB8, 0xFF, + 0x14, 0x00, 0x38, 0x00, 0x9F, 0xFF, 0x16, 0x00, + 0x44, 0x00, 0x8A, 0xFF, 0x18, 0x00, 0x51, 0x00, + 0x71, 0xFF, 0x1A, 0x00, 0x5D, 0x00, 0x53, 0xFF, + 0x11, 0x00, 0xFA, 0xFF, 0xB8, 0xFF, 0x11, 0x00, + 0xEE, 0xFF, 0xB8, 0xFF, 0x11, 0x00, 0xE1, 0xFF, + 0xB8, 0xFF, 0x11, 0x00, 0xD5, 0xFF, 0xB8, 0xFF, + 0x14, 0x00, 0xC8, 0xFF, 0x9F, 0xFF, 0x16, 0x00, + 0xBC, 0xFF, 0x8A, 0xFF, 0x18, 0x00, 0xAF, 0xFF, + 0x71, 0xFF, 0x1A, 0x00, 0xA3, 0xFF, 0x53, 0xFF, + 0x13, 0x00, 0x06, 0x00, 0xAD, 0xFF, 0x13, 0x00, + 0x12, 0x00, 0xAD, 0xFF, 0x13, 0x00, 0x1F, 0x00, + 0xAD, 0xFF, 0x13, 0x00, 0x2B, 0x00, 0xAD, 0xFF, + 0x16, 0x00, 0x38, 0x00, 0x90, 0xFF, 0x18, 0x00, + 0x44, 0x00, 0x78, 0xFF, 0x1A, 0x00, 0x51, 0x00, + 0x5B, 0xFF, 0x1C, 0x00, 0x5D, 0x00, 0x39, 0xFF, + 0x13, 0x00, 0xFA, 0xFF, 0xAD, 0xFF, 0x13, 0x00, + 0xEE, 0xFF, 0xAD, 0xFF, 0x13, 0x00, 0xE1, 0xFF, + 0xAD, 0xFF, 0x13, 0x00, 0xD5, 0xFF, 0xAD, 0xFF, + 0x16, 0x00, 0xC8, 0xFF, 0x90, 0xFF, 0x18, 0x00, + 0xBC, 0xFF, 0x78, 0xFF, 0x1A, 0x00, 0xAF, 0xFF, + 0x5B, 0xFF, 0x1C, 0x00, 0xA3, 0xFF, 0x39, 0xFF, + 0x0B, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0B, 0x00, + 0x13, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x21, 0x00, + 0x06, 0x00, 0x0B, 0x00, 0x2E, 0x00, 0x06, 0x00, + 0x0E, 0x00, 0x3D, 0x00, 0x08, 0x00, 0x10, 0x00, + 0x4A, 0x00, 0x0A, 0x00, 0x12, 0x00, 0x58, 0x00, + 0x0C, 0x00, 0x14, 0x00, 0x65, 0x00, 0x0E, 0x00, + 0x0B, 0x00, 0xFA, 0xFF, 0x06, 0x00, 0x0B, 0x00, + 0xED, 0xFF, 0x06, 0x00, 0x0B, 0x00, 0xDF, 0xFF, + 0x06, 0x00, 0x0B, 0x00, 0xD2, 0xFF, 0x06, 0x00, + 0x0E, 0x00, 0xC3, 0xFF, 0x08, 0x00, 0x10, 0x00, + 0xB6, 0xFF, 0x0A, 0x00, 0x12, 0x00, 0xA8, 0xFF, + 0x0C, 0x00, 0x14, 0x00, 0x9B, 0xFF, 0x0E, 0x00, + 0x0B, 0x00, 0x06, 0x00, 0x12, 0x00, 0x0B, 0x00, + 0x13, 0x00, 0x12, 0x00, 0x0B, 0x00, 0x21, 0x00, + 0x12, 0x00, 0x0B, 0x00, 0x2E, 0x00, 0x12, 0x00, + 0x0E, 0x00, 0x3D, 0x00, 0x18, 0x00, 0x10, 0x00, + 0x4A, 0x00, 0x1E, 0x00, 0x12, 0x00, 0x58, 0x00, + 0x24, 0x00, 0x14, 0x00, 0x65, 0x00, 0x2B, 0x00, + 0x0B, 0x00, 0xFA, 0xFF, 0x12, 0x00, 0x0B, 0x00, + 0xED, 0xFF, 0x12, 0x00, 0x0B, 0x00, 0xDF, 0xFF, + 0x12, 0x00, 0x0B, 0x00, 0xD2, 0xFF, 0x12, 0x00, + 0x0E, 0x00, 0xC3, 0xFF, 0x18, 0x00, 0x10, 0x00, + 0xB6, 0xFF, 0x1E, 0x00, 0x12, 0x00, 0xA8, 0xFF, + 0x24, 0x00, 0x14, 0x00, 0x9B, 0xFF, 0x2B, 0x00, + 0x0B, 0x00, 0x06, 0x00, 0x1F, 0x00, 0x0B, 0x00, + 0x13, 0x00, 0x1F, 0x00, 0x0B, 0x00, 0x21, 0x00, + 0x1F, 0x00, 0x0B, 0x00, 0x2E, 0x00, 0x1F, 0x00, + 0x0E, 0x00, 0x3D, 0x00, 0x29, 0x00, 0x10, 0x00, + 0x4A, 0x00, 0x32, 0x00, 0x12, 0x00, 0x58, 0x00, + 0x3C, 0x00, 0x14, 0x00, 0x65, 0x00, 0x49, 0x00, + 0x0B, 0x00, 0xFA, 0xFF, 0x1F, 0x00, 0x0B, 0x00, + 0xED, 0xFF, 0x1F, 0x00, 0x0B, 0x00, 0xDF, 0xFF, + 0x1F, 0x00, 0x0B, 0x00, 0xD2, 0xFF, 0x1F, 0x00, + 0x0E, 0x00, 0xC3, 0xFF, 0x29, 0x00, 0x10, 0x00, + 0xB6, 0xFF, 0x32, 0x00, 0x12, 0x00, 0xA8, 0xFF, + 0x3C, 0x00, 0x14, 0x00, 0x9B, 0xFF, 0x49, 0x00, + 0x0B, 0x00, 0x06, 0x00, 0x2B, 0x00, 0x0B, 0x00, + 0x13, 0x00, 0x2B, 0x00, 0x0B, 0x00, 0x21, 0x00, + 0x2B, 0x00, 0x0B, 0x00, 0x2E, 0x00, 0x2B, 0x00, + 0x0E, 0x00, 0x3D, 0x00, 0x39, 0x00, 0x10, 0x00, + 0x4A, 0x00, 0x46, 0x00, 0x12, 0x00, 0x58, 0x00, + 0x54, 0x00, 0x14, 0x00, 0x65, 0x00, 0x66, 0x00, + 0x0B, 0x00, 0xFA, 0xFF, 0x2B, 0x00, 0x0B, 0x00, + 0xED, 0xFF, 0x2B, 0x00, 0x0B, 0x00, 0xDF, 0xFF, + 0x2B, 0x00, 0x0B, 0x00, 0xD2, 0xFF, 0x2B, 0x00, + 0x0E, 0x00, 0xC3, 0xFF, 0x39, 0x00, 0x10, 0x00, + 0xB6, 0xFF, 0x46, 0x00, 0x12, 0x00, 0xA8, 0xFF, + 0x54, 0x00, 0x14, 0x00, 0x9B, 0xFF, 0x66, 0x00, + 0x0E, 0x00, 0x06, 0x00, 0x38, 0x00, 0x0E, 0x00, + 0x13, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x21, 0x00, + 0x38, 0x00, 0x0E, 0x00, 0x2E, 0x00, 0x38, 0x00, + 0x11, 0x00, 0x3D, 0x00, 0x4A, 0x00, 0x13, 0x00, + 0x4A, 0x00, 0x5A, 0x00, 0x15, 0x00, 0x58, 0x00, + 0x6D, 0x00, 0x17, 0x00, 0x65, 0x00, 0x84, 0x00, + 0x0E, 0x00, 0xFA, 0xFF, 0x38, 0x00, 0x0E, 0x00, + 0xED, 0xFF, 0x38, 0x00, 0x0E, 0x00, 0xDF, 0xFF, + 0x38, 0x00, 0x0E, 0x00, 0xD2, 0xFF, 0x38, 0x00, + 0x11, 0x00, 0xC3, 0xFF, 0x4A, 0x00, 0x13, 0x00, + 0xB6, 0xFF, 0x5A, 0x00, 0x15, 0x00, 0xA8, 0xFF, + 0x6D, 0x00, 0x17, 0x00, 0x9B, 0xFF, 0x84, 0x00, + 0x10, 0x00, 0x06, 0x00, 0x44, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x44, 0x00, 0x10, 0x00, 0x21, 0x00, + 0x44, 0x00, 0x10, 0x00, 0x2E, 0x00, 0x44, 0x00, + 0x13, 0x00, 0x3D, 0x00, 0x5A, 0x00, 0x15, 0x00, + 0x4A, 0x00, 0x6E, 0x00, 0x17, 0x00, 0x58, 0x00, + 0x85, 0x00, 0x19, 0x00, 0x65, 0x00, 0xA1, 0x00, + 0x10, 0x00, 0xFA, 0xFF, 0x44, 0x00, 0x10, 0x00, + 0xED, 0xFF, 0x44, 0x00, 0x10, 0x00, 0xDF, 0xFF, + 0x44, 0x00, 0x10, 0x00, 0xD2, 0xFF, 0x44, 0x00, + 0x13, 0x00, 0xC3, 0xFF, 0x5A, 0x00, 0x15, 0x00, + 0xB6, 0xFF, 0x6E, 0x00, 0x17, 0x00, 0xA8, 0xFF, + 0x85, 0x00, 0x19, 0x00, 0x9B, 0xFF, 0xA1, 0x00, + 0x12, 0x00, 0x06, 0x00, 0x51, 0x00, 0x12, 0x00, + 0x13, 0x00, 0x51, 0x00, 0x12, 0x00, 0x21, 0x00, + 0x51, 0x00, 0x12, 0x00, 0x2E, 0x00, 0x51, 0x00, + 0x15, 0x00, 0x3D, 0x00, 0x6B, 0x00, 0x17, 0x00, + 0x4A, 0x00, 0x82, 0x00, 0x19, 0x00, 0x58, 0x00, + 0x9D, 0x00, 0x1B, 0x00, 0x65, 0x00, 0xBF, 0x00, + 0x12, 0x00, 0xFA, 0xFF, 0x51, 0x00, 0x12, 0x00, + 0xED, 0xFF, 0x51, 0x00, 0x12, 0x00, 0xDF, 0xFF, + 0x51, 0x00, 0x12, 0x00, 0xD2, 0xFF, 0x51, 0x00, + 0x15, 0x00, 0xC3, 0xFF, 0x6B, 0x00, 0x17, 0x00, + 0xB6, 0xFF, 0x82, 0x00, 0x19, 0x00, 0xA8, 0xFF, + 0x9D, 0x00, 0x1B, 0x00, 0x9B, 0xFF, 0xBF, 0x00, + 0x14, 0x00, 0x06, 0x00, 0x5D, 0x00, 0x14, 0x00, + 0x13, 0x00, 0x5D, 0x00, 0x14, 0x00, 0x21, 0x00, + 0x5D, 0x00, 0x14, 0x00, 0x2E, 0x00, 0x5D, 0x00, + 0x17, 0x00, 0x3D, 0x00, 0x7B, 0x00, 0x19, 0x00, + 0x4A, 0x00, 0x96, 0x00, 0x1B, 0x00, 0x58, 0x00, + 0xB5, 0x00, 0x1D, 0x00, 0x65, 0x00, 0xDC, 0x00, + 0x14, 0x00, 0xFA, 0xFF, 0x5D, 0x00, 0x14, 0x00, + 0xED, 0xFF, 0x5D, 0x00, 0x14, 0x00, 0xDF, 0xFF, + 0x5D, 0x00, 0x14, 0x00, 0xD2, 0xFF, 0x5D, 0x00, + 0x17, 0x00, 0xC3, 0xFF, 0x7B, 0x00, 0x19, 0x00, + 0xB6, 0xFF, 0x96, 0x00, 0x1B, 0x00, 0xA8, 0xFF, + 0xB5, 0x00, 0x1D, 0x00, 0x9B, 0xFF, 0xDC, 0x00, + 0x0B, 0x00, 0x06, 0x00, 0xFA, 0xFF, 0x0B, 0x00, + 0x13, 0x00, 0xFA, 0xFF, 0x0B, 0x00, 0x21, 0x00, + 0xFA, 0xFF, 0x0B, 0x00, 0x2E, 0x00, 0xFA, 0xFF, + 0x0E, 0x00, 0x3D, 0x00, 0xF8, 0xFF, 0x10, 0x00, + 0x4A, 0x00, 0xF6, 0xFF, 0x12, 0x00, 0x58, 0x00, + 0xF4, 0xFF, 0x14, 0x00, 0x65, 0x00, 0xF2, 0xFF, + 0x0B, 0x00, 0xFA, 0xFF, 0xFA, 0xFF, 0x0B, 0x00, + 0xED, 0xFF, 0xFA, 0xFF, 0x0B, 0x00, 0xDF, 0xFF, + 0xFA, 0xFF, 0x0B, 0x00, 0xD2, 0xFF, 0xFA, 0xFF, + 0x0E, 0x00, 0xC3, 0xFF, 0xF8, 0xFF, 0x10, 0x00, + 0xB6, 0xFF, 0xF6, 0xFF, 0x12, 0x00, 0xA8, 0xFF, + 0xF4, 0xFF, 0x14, 0x00, 0x9B, 0xFF, 0xF2, 0xFF, + 0x0B, 0x00, 0x06, 0x00, 0xEE, 0xFF, 0x0B, 0x00, + 0x13, 0x00, 0xEE, 0xFF, 0x0B, 0x00, 0x21, 0x00, + 0xEE, 0xFF, 0x0B, 0x00, 0x2E, 0x00, 0xEE, 0xFF, + 0x0E, 0x00, 0x3D, 0x00, 0xE8, 0xFF, 0x10, 0x00, + 0x4A, 0x00, 0xE2, 0xFF, 0x12, 0x00, 0x58, 0x00, + 0xDC, 0xFF, 0x14, 0x00, 0x65, 0x00, 0xD5, 0xFF, + 0x0B, 0x00, 0xFA, 0xFF, 0xEE, 0xFF, 0x0B, 0x00, + 0xED, 0xFF, 0xEE, 0xFF, 0x0B, 0x00, 0xDF, 0xFF, + 0xEE, 0xFF, 0x0B, 0x00, 0xD2, 0xFF, 0xEE, 0xFF, + 0x0E, 0x00, 0xC3, 0xFF, 0xE8, 0xFF, 0x10, 0x00, + 0xB6, 0xFF, 0xE2, 0xFF, 0x12, 0x00, 0xA8, 0xFF, + 0xDC, 0xFF, 0x14, 0x00, 0x9B, 0xFF, 0xD5, 0xFF, + 0x0B, 0x00, 0x06, 0x00, 0xE1, 0xFF, 0x0B, 0x00, + 0x13, 0x00, 0xE1, 0xFF, 0x0B, 0x00, 0x21, 0x00, + 0xE1, 0xFF, 0x0B, 0x00, 0x2E, 0x00, 0xE1, 0xFF, + 0x0E, 0x00, 0x3D, 0x00, 0xD7, 0xFF, 0x10, 0x00, + 0x4A, 0x00, 0xCE, 0xFF, 0x12, 0x00, 0x58, 0x00, + 0xC4, 0xFF, 0x14, 0x00, 0x65, 0x00, 0xB7, 0xFF, + 0x0B, 0x00, 0xFA, 0xFF, 0xE1, 0xFF, 0x0B, 0x00, + 0xED, 0xFF, 0xE1, 0xFF, 0x0B, 0x00, 0xDF, 0xFF, + 0xE1, 0xFF, 0x0B, 0x00, 0xD2, 0xFF, 0xE1, 0xFF, + 0x0E, 0x00, 0xC3, 0xFF, 0xD7, 0xFF, 0x10, 0x00, + 0xB6, 0xFF, 0xCE, 0xFF, 0x12, 0x00, 0xA8, 0xFF, + 0xC4, 0xFF, 0x14, 0x00, 0x9B, 0xFF, 0xB7, 0xFF, + 0x0B, 0x00, 0x06, 0x00, 0xD5, 0xFF, 0x0B, 0x00, + 0x13, 0x00, 0xD5, 0xFF, 0x0B, 0x00, 0x21, 0x00, + 0xD5, 0xFF, 0x0B, 0x00, 0x2E, 0x00, 0xD5, 0xFF, + 0x0E, 0x00, 0x3D, 0x00, 0xC7, 0xFF, 0x10, 0x00, + 0x4A, 0x00, 0xBA, 0xFF, 0x12, 0x00, 0x58, 0x00, + 0xAC, 0xFF, 0x14, 0x00, 0x65, 0x00, 0x9A, 0xFF, + 0x0B, 0x00, 0xFA, 0xFF, 0xD5, 0xFF, 0x0B, 0x00, + 0xED, 0xFF, 0xD5, 0xFF, 0x0B, 0x00, 0xDF, 0xFF, + 0xD5, 0xFF, 0x0B, 0x00, 0xD2, 0xFF, 0xD5, 0xFF, + 0x0E, 0x00, 0xC3, 0xFF, 0xC7, 0xFF, 0x10, 0x00, + 0xB6, 0xFF, 0xBA, 0xFF, 0x12, 0x00, 0xA8, 0xFF, + 0xAC, 0xFF, 0x14, 0x00, 0x9B, 0xFF, 0x9A, 0xFF, + 0x0E, 0x00, 0x06, 0x00, 0xC8, 0xFF, 0x0E, 0x00, + 0x13, 0x00, 0xC8, 0xFF, 0x0E, 0x00, 0x21, 0x00, + 0xC8, 0xFF, 0x0E, 0x00, 0x2E, 0x00, 0xC8, 0xFF, + 0x11, 0x00, 0x3D, 0x00, 0xB6, 0xFF, 0x13, 0x00, + 0x4A, 0x00, 0xA6, 0xFF, 0x15, 0x00, 0x58, 0x00, + 0x93, 0xFF, 0x17, 0x00, 0x65, 0x00, 0x7C, 0xFF, + 0x0E, 0x00, 0xFA, 0xFF, 0xC8, 0xFF, 0x0E, 0x00, + 0xED, 0xFF, 0xC8, 0xFF, 0x0E, 0x00, 0xDF, 0xFF, + 0xC8, 0xFF, 0x0E, 0x00, 0xD2, 0xFF, 0xC8, 0xFF, + 0x11, 0x00, 0xC3, 0xFF, 0xB6, 0xFF, 0x13, 0x00, + 0xB6, 0xFF, 0xA6, 0xFF, 0x15, 0x00, 0xA8, 0xFF, + 0x93, 0xFF, 0x17, 0x00, 0x9B, 0xFF, 0x7C, 0xFF, + 0x10, 0x00, 0x06, 0x00, 0xBC, 0xFF, 0x10, 0x00, + 0x13, 0x00, 0xBC, 0xFF, 0x10, 0x00, 0x21, 0x00, + 0xBC, 0xFF, 0x10, 0x00, 0x2E, 0x00, 0xBC, 0xFF, + 0x13, 0x00, 0x3D, 0x00, 0xA6, 0xFF, 0x15, 0x00, + 0x4A, 0x00, 0x92, 0xFF, 0x17, 0x00, 0x58, 0x00, + 0x7B, 0xFF, 0x19, 0x00, 0x65, 0x00, 0x5F, 0xFF, + 0x10, 0x00, 0xFA, 0xFF, 0xBC, 0xFF, 0x10, 0x00, + 0xED, 0xFF, 0xBC, 0xFF, 0x10, 0x00, 0xDF, 0xFF, + 0xBC, 0xFF, 0x10, 0x00, 0xD2, 0xFF, 0xBC, 0xFF, + 0x13, 0x00, 0xC3, 0xFF, 0xA6, 0xFF, 0x15, 0x00, + 0xB6, 0xFF, 0x92, 0xFF, 0x17, 0x00, 0xA8, 0xFF, + 0x7B, 0xFF, 0x19, 0x00, 0x9B, 0xFF, 0x5F, 0xFF, + 0x12, 0x00, 0x06, 0x00, 0xAF, 0xFF, 0x12, 0x00, + 0x13, 0x00, 0xAF, 0xFF, 0x12, 0x00, 0x21, 0x00, + 0xAF, 0xFF, 0x12, 0x00, 0x2E, 0x00, 0xAF, 0xFF, + 0x15, 0x00, 0x3D, 0x00, 0x95, 0xFF, 0x17, 0x00, + 0x4A, 0x00, 0x7E, 0xFF, 0x19, 0x00, 0x58, 0x00, + 0x63, 0xFF, 0x1B, 0x00, 0x65, 0x00, 0x41, 0xFF, + 0x12, 0x00, 0xFA, 0xFF, 0xAF, 0xFF, 0x12, 0x00, + 0xED, 0xFF, 0xAF, 0xFF, 0x12, 0x00, 0xDF, 0xFF, + 0xAF, 0xFF, 0x12, 0x00, 0xD2, 0xFF, 0xAF, 0xFF, + 0x15, 0x00, 0xC3, 0xFF, 0x95, 0xFF, 0x17, 0x00, + 0xB6, 0xFF, 0x7E, 0xFF, 0x19, 0x00, 0xA8, 0xFF, + 0x63, 0xFF, 0x1B, 0x00, 0x9B, 0xFF, 0x41, 0xFF, + 0x14, 0x00, 0x06, 0x00, 0xA3, 0xFF, 0x14, 0x00, + 0x13, 0x00, 0xA3, 0xFF, 0x14, 0x00, 0x21, 0x00, + 0xA3, 0xFF, 0x14, 0x00, 0x2E, 0x00, 0xA3, 0xFF, + 0x17, 0x00, 0x3D, 0x00, 0x85, 0xFF, 0x19, 0x00, + 0x4A, 0x00, 0x6A, 0xFF, 0x1B, 0x00, 0x58, 0x00, + 0x4B, 0xFF, 0x1D, 0x00, 0x65, 0x00, 0x24, 0xFF, + 0x14, 0x00, 0xFA, 0xFF, 0xA3, 0xFF, 0x14, 0x00, + 0xED, 0xFF, 0xA3, 0xFF, 0x14, 0x00, 0xDF, 0xFF, + 0xA3, 0xFF, 0x14, 0x00, 0xD2, 0xFF, 0xA3, 0xFF, + 0x17, 0x00, 0xC3, 0xFF, 0x85, 0xFF, 0x19, 0x00, + 0xB6, 0xFF, 0x6A, 0xFF, 0x1B, 0x00, 0xA8, 0xFF, + 0x4B, 0xFF, 0x1D, 0x00, 0x9B, 0xFF, 0x24, 0xFF, + 0x0C, 0x00, 0x07, 0x00, 0x06, 0x00, 0x0C, 0x00, + 0x16, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x25, 0x00, + 0x06, 0x00, 0x0C, 0x00, 0x34, 0x00, 0x06, 0x00, + 0x0F, 0x00, 0x43, 0x00, 0x09, 0x00, 0x11, 0x00, + 0x52, 0x00, 0x0B, 0x00, 0x13, 0x00, 0x61, 0x00, + 0x0D, 0x00, 0x15, 0x00, 0x70, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0xF9, 0xFF, 0x06, 0x00, 0x0C, 0x00, + 0xEA, 0xFF, 0x06, 0x00, 0x0C, 0x00, 0xDB, 0xFF, + 0x06, 0x00, 0x0C, 0x00, 0xCC, 0xFF, 0x06, 0x00, + 0x0F, 0x00, 0xBD, 0xFF, 0x09, 0x00, 0x11, 0x00, + 0xAE, 0xFF, 0x0B, 0x00, 0x13, 0x00, 0x9F, 0xFF, + 0x0D, 0x00, 0x15, 0x00, 0x90, 0xFF, 0x10, 0x00, + 0x0C, 0x00, 0x07, 0x00, 0x13, 0x00, 0x0C, 0x00, + 0x16, 0x00, 0x13, 0x00, 0x0C, 0x00, 0x25, 0x00, + 0x13, 0x00, 0x0C, 0x00, 0x34, 0x00, 0x13, 0x00, + 0x0F, 0x00, 0x43, 0x00, 0x1B, 0x00, 0x11, 0x00, + 0x52, 0x00, 0x21, 0x00, 0x13, 0x00, 0x61, 0x00, + 0x27, 0x00, 0x15, 0x00, 0x70, 0x00, 0x30, 0x00, + 0x0C, 0x00, 0xF9, 0xFF, 0x13, 0x00, 0x0C, 0x00, + 0xEA, 0xFF, 0x13, 0x00, 0x0C, 0x00, 0xDB, 0xFF, + 0x13, 0x00, 0x0C, 0x00, 0xCC, 0xFF, 0x13, 0x00, + 0x0F, 0x00, 0xBD, 0xFF, 0x1B, 0x00, 0x11, 0x00, + 0xAE, 0xFF, 0x21, 0x00, 0x13, 0x00, 0x9F, 0xFF, + 0x27, 0x00, 0x15, 0x00, 0x90, 0xFF, 0x30, 0x00, + 0x0C, 0x00, 0x07, 0x00, 0x21, 0x00, 0x0C, 0x00, + 0x16, 0x00, 0x21, 0x00, 0x0C, 0x00, 0x25, 0x00, + 0x21, 0x00, 0x0C, 0x00, 0x34, 0x00, 0x21, 0x00, + 0x0F, 0x00, 0x43, 0x00, 0x2D, 0x00, 0x11, 0x00, + 0x52, 0x00, 0x37, 0x00, 0x13, 0x00, 0x61, 0x00, + 0x42, 0x00, 0x15, 0x00, 0x70, 0x00, 0x51, 0x00, + 0x0C, 0x00, 0xF9, 0xFF, 0x21, 0x00, 0x0C, 0x00, + 0xEA, 0xFF, 0x21, 0x00, 0x0C, 0x00, 0xDB, 0xFF, + 0x21, 0x00, 0x0C, 0x00, 0xCC, 0xFF, 0x21, 0x00, + 0x0F, 0x00, 0xBD, 0xFF, 0x2D, 0x00, 0x11, 0x00, + 0xAE, 0xFF, 0x37, 0x00, 0x13, 0x00, 0x9F, 0xFF, + 0x42, 0x00, 0x15, 0x00, 0x90, 0xFF, 0x51, 0x00, + 0x0C, 0x00, 0x07, 0x00, 0x2E, 0x00, 0x0C, 0x00, + 0x16, 0x00, 0x2E, 0x00, 0x0C, 0x00, 0x25, 0x00, + 0x2E, 0x00, 0x0C, 0x00, 0x34, 0x00, 0x2E, 0x00, + 0x0F, 0x00, 0x43, 0x00, 0x3F, 0x00, 0x11, 0x00, + 0x52, 0x00, 0x4D, 0x00, 0x13, 0x00, 0x61, 0x00, + 0x5C, 0x00, 0x15, 0x00, 0x70, 0x00, 0x71, 0x00, + 0x0C, 0x00, 0xF9, 0xFF, 0x2E, 0x00, 0x0C, 0x00, + 0xEA, 0xFF, 0x2E, 0x00, 0x0C, 0x00, 0xDB, 0xFF, + 0x2E, 0x00, 0x0C, 0x00, 0xCC, 0xFF, 0x2E, 0x00, + 0x0F, 0x00, 0xBD, 0xFF, 0x3F, 0x00, 0x11, 0x00, + 0xAE, 0xFF, 0x4D, 0x00, 0x13, 0x00, 0x9F, 0xFF, + 0x5C, 0x00, 0x15, 0x00, 0x90, 0xFF, 0x71, 0x00, + 0x0F, 0x00, 0x07, 0x00, 0x3D, 0x00, 0x0F, 0x00, + 0x16, 0x00, 0x3D, 0x00, 0x0F, 0x00, 0x25, 0x00, + 0x3D, 0x00, 0x0F, 0x00, 0x34, 0x00, 0x3D, 0x00, + 0x12, 0x00, 0x43, 0x00, 0x52, 0x00, 0x14, 0x00, + 0x52, 0x00, 0x63, 0x00, 0x16, 0x00, 0x61, 0x00, + 0x78, 0x00, 0x18, 0x00, 0x70, 0x00, 0x92, 0x00, + 0x0F, 0x00, 0xF9, 0xFF, 0x3D, 0x00, 0x0F, 0x00, + 0xEA, 0xFF, 0x3D, 0x00, 0x0F, 0x00, 0xDB, 0xFF, + 0x3D, 0x00, 0x0F, 0x00, 0xCC, 0xFF, 0x3D, 0x00, + 0x12, 0x00, 0xBD, 0xFF, 0x52, 0x00, 0x14, 0x00, + 0xAE, 0xFF, 0x63, 0x00, 0x16, 0x00, 0x9F, 0xFF, + 0x78, 0x00, 0x18, 0x00, 0x90, 0xFF, 0x92, 0x00, + 0x11, 0x00, 0x07, 0x00, 0x4A, 0x00, 0x11, 0x00, + 0x16, 0x00, 0x4A, 0x00, 0x11, 0x00, 0x25, 0x00, + 0x4A, 0x00, 0x11, 0x00, 0x34, 0x00, 0x4A, 0x00, + 0x14, 0x00, 0x43, 0x00, 0x64, 0x00, 0x16, 0x00, + 0x52, 0x00, 0x79, 0x00, 0x18, 0x00, 0x61, 0x00, + 0x92, 0x00, 0x1A, 0x00, 0x70, 0x00, 0xB2, 0x00, + 0x11, 0x00, 0xF9, 0xFF, 0x4A, 0x00, 0x11, 0x00, + 0xEA, 0xFF, 0x4A, 0x00, 0x11, 0x00, 0xDB, 0xFF, + 0x4A, 0x00, 0x11, 0x00, 0xCC, 0xFF, 0x4A, 0x00, + 0x14, 0x00, 0xBD, 0xFF, 0x64, 0x00, 0x16, 0x00, + 0xAE, 0xFF, 0x79, 0x00, 0x18, 0x00, 0x9F, 0xFF, + 0x92, 0x00, 0x1A, 0x00, 0x90, 0xFF, 0xB2, 0x00, + 0x13, 0x00, 0x07, 0x00, 0x58, 0x00, 0x13, 0x00, + 0x16, 0x00, 0x58, 0x00, 0x13, 0x00, 0x25, 0x00, + 0x58, 0x00, 0x13, 0x00, 0x34, 0x00, 0x58, 0x00, + 0x16, 0x00, 0x43, 0x00, 0x76, 0x00, 0x18, 0x00, + 0x52, 0x00, 0x8F, 0x00, 0x1A, 0x00, 0x61, 0x00, + 0xAD, 0x00, 0x1C, 0x00, 0x70, 0x00, 0xD3, 0x00, + 0x13, 0x00, 0xF9, 0xFF, 0x58, 0x00, 0x13, 0x00, + 0xEA, 0xFF, 0x58, 0x00, 0x13, 0x00, 0xDB, 0xFF, + 0x58, 0x00, 0x13, 0x00, 0xCC, 0xFF, 0x58, 0x00, + 0x16, 0x00, 0xBD, 0xFF, 0x76, 0x00, 0x18, 0x00, + 0xAE, 0xFF, 0x8F, 0x00, 0x1A, 0x00, 0x9F, 0xFF, + 0xAD, 0x00, 0x1C, 0x00, 0x90, 0xFF, 0xD3, 0x00, + 0x15, 0x00, 0x07, 0x00, 0x65, 0x00, 0x15, 0x00, + 0x16, 0x00, 0x65, 0x00, 0x15, 0x00, 0x25, 0x00, + 0x65, 0x00, 0x15, 0x00, 0x34, 0x00, 0x65, 0x00, + 0x18, 0x00, 0x43, 0x00, 0x88, 0x00, 0x1A, 0x00, + 0x52, 0x00, 0xA5, 0x00, 0x1C, 0x00, 0x61, 0x00, + 0xC7, 0x00, 0x1E, 0x00, 0x70, 0x00, 0xF3, 0x00, + 0x15, 0x00, 0xF9, 0xFF, 0x65, 0x00, 0x15, 0x00, + 0xEA, 0xFF, 0x65, 0x00, 0x15, 0x00, 0xDB, 0xFF, + 0x65, 0x00, 0x15, 0x00, 0xCC, 0xFF, 0x65, 0x00, + 0x18, 0x00, 0xBD, 0xFF, 0x88, 0x00, 0x1A, 0x00, + 0xAE, 0xFF, 0xA5, 0x00, 0x1C, 0x00, 0x9F, 0xFF, + 0xC7, 0x00, 0x1E, 0x00, 0x90, 0xFF, 0xF3, 0x00, + 0x0C, 0x00, 0x07, 0x00, 0xFA, 0xFF, 0x0C, 0x00, + 0x16, 0x00, 0xFA, 0xFF, 0x0C, 0x00, 0x25, 0x00, + 0xFA, 0xFF, 0x0C, 0x00, 0x34, 0x00, 0xFA, 0xFF, + 0x0F, 0x00, 0x43, 0x00, 0xF7, 0xFF, 0x11, 0x00, + 0x52, 0x00, 0xF5, 0xFF, 0x13, 0x00, 0x61, 0x00, + 0xF3, 0xFF, 0x15, 0x00, 0x70, 0x00, 0xF0, 0xFF, + 0x0C, 0x00, 0xF9, 0xFF, 0xFA, 0xFF, 0x0C, 0x00, + 0xEA, 0xFF, 0xFA, 0xFF, 0x0C, 0x00, 0xDB, 0xFF, + 0xFA, 0xFF, 0x0C, 0x00, 0xCC, 0xFF, 0xFA, 0xFF, + 0x0F, 0x00, 0xBD, 0xFF, 0xF7, 0xFF, 0x11, 0x00, + 0xAE, 0xFF, 0xF5, 0xFF, 0x13, 0x00, 0x9F, 0xFF, + 0xF3, 0xFF, 0x15, 0x00, 0x90, 0xFF, 0xF0, 0xFF, + 0x0C, 0x00, 0x07, 0x00, 0xED, 0xFF, 0x0C, 0x00, + 0x16, 0x00, 0xED, 0xFF, 0x0C, 0x00, 0x25, 0x00, + 0xED, 0xFF, 0x0C, 0x00, 0x34, 0x00, 0xED, 0xFF, + 0x0F, 0x00, 0x43, 0x00, 0xE5, 0xFF, 0x11, 0x00, + 0x52, 0x00, 0xDF, 0xFF, 0x13, 0x00, 0x61, 0x00, + 0xD9, 0xFF, 0x15, 0x00, 0x70, 0x00, 0xD0, 0xFF, + 0x0C, 0x00, 0xF9, 0xFF, 0xED, 0xFF, 0x0C, 0x00, + 0xEA, 0xFF, 0xED, 0xFF, 0x0C, 0x00, 0xDB, 0xFF, + 0xED, 0xFF, 0x0C, 0x00, 0xCC, 0xFF, 0xED, 0xFF, + 0x0F, 0x00, 0xBD, 0xFF, 0xE5, 0xFF, 0x11, 0x00, + 0xAE, 0xFF, 0xDF, 0xFF, 0x13, 0x00, 0x9F, 0xFF, + 0xD9, 0xFF, 0x15, 0x00, 0x90, 0xFF, 0xD0, 0xFF, + 0x0C, 0x00, 0x07, 0x00, 0xDF, 0xFF, 0x0C, 0x00, + 0x16, 0x00, 0xDF, 0xFF, 0x0C, 0x00, 0x25, 0x00, + 0xDF, 0xFF, 0x0C, 0x00, 0x34, 0x00, 0xDF, 0xFF, + 0x0F, 0x00, 0x43, 0x00, 0xD3, 0xFF, 0x11, 0x00, + 0x52, 0x00, 0xC9, 0xFF, 0x13, 0x00, 0x61, 0x00, + 0xBE, 0xFF, 0x15, 0x00, 0x70, 0x00, 0xAF, 0xFF, + 0x0C, 0x00, 0xF9, 0xFF, 0xDF, 0xFF, 0x0C, 0x00, + 0xEA, 0xFF, 0xDF, 0xFF, 0x0C, 0x00, 0xDB, 0xFF, + 0xDF, 0xFF, 0x0C, 0x00, 0xCC, 0xFF, 0xDF, 0xFF, + 0x0F, 0x00, 0xBD, 0xFF, 0xD3, 0xFF, 0x11, 0x00, + 0xAE, 0xFF, 0xC9, 0xFF, 0x13, 0x00, 0x9F, 0xFF, + 0xBE, 0xFF, 0x15, 0x00, 0x90, 0xFF, 0xAF, 0xFF, + 0x0C, 0x00, 0x07, 0x00, 0xD2, 0xFF, 0x0C, 0x00, + 0x16, 0x00, 0xD2, 0xFF, 0x0C, 0x00, 0x25, 0x00, + 0xD2, 0xFF, 0x0C, 0x00, 0x34, 0x00, 0xD2, 0xFF, + 0x0F, 0x00, 0x43, 0x00, 0xC1, 0xFF, 0x11, 0x00, + 0x52, 0x00, 0xB3, 0xFF, 0x13, 0x00, 0x61, 0x00, + 0xA4, 0xFF, 0x15, 0x00, 0x70, 0x00, 0x8F, 0xFF, + 0x0C, 0x00, 0xF9, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, + 0xEA, 0xFF, 0xD2, 0xFF, 0x0C, 0x00, 0xDB, 0xFF, + 0xD2, 0xFF, 0x0C, 0x00, 0xCC, 0xFF, 0xD2, 0xFF, + 0x0F, 0x00, 0xBD, 0xFF, 0xC1, 0xFF, 0x11, 0x00, + 0xAE, 0xFF, 0xB3, 0xFF, 0x13, 0x00, 0x9F, 0xFF, + 0xA4, 0xFF, 0x15, 0x00, 0x90, 0xFF, 0x8F, 0xFF, + 0x0F, 0x00, 0x07, 0x00, 0xC3, 0xFF, 0x0F, 0x00, + 0x16, 0x00, 0xC3, 0xFF, 0x0F, 0x00, 0x25, 0x00, + 0xC3, 0xFF, 0x0F, 0x00, 0x34, 0x00, 0xC3, 0xFF, + 0x12, 0x00, 0x43, 0x00, 0xAE, 0xFF, 0x14, 0x00, + 0x52, 0x00, 0x9D, 0xFF, 0x16, 0x00, 0x61, 0x00, + 0x88, 0xFF, 0x18, 0x00, 0x70, 0x00, 0x6E, 0xFF, + 0x0F, 0x00, 0xF9, 0xFF, 0xC3, 0xFF, 0x0F, 0x00, + 0xEA, 0xFF, 0xC3, 0xFF, 0x0F, 0x00, 0xDB, 0xFF, + 0xC3, 0xFF, 0x0F, 0x00, 0xCC, 0xFF, 0xC3, 0xFF, + 0x12, 0x00, 0xBD, 0xFF, 0xAE, 0xFF, 0x14, 0x00, + 0xAE, 0xFF, 0x9D, 0xFF, 0x16, 0x00, 0x9F, 0xFF, + 0x88, 0xFF, 0x18, 0x00, 0x90, 0xFF, 0x6E, 0xFF, + 0x11, 0x00, 0x07, 0x00, 0xB6, 0xFF, 0x11, 0x00, + 0x16, 0x00, 0xB6, 0xFF, 0x11, 0x00, 0x25, 0x00, + 0xB6, 0xFF, 0x11, 0x00, 0x34, 0x00, 0xB6, 0xFF, + 0x14, 0x00, 0x43, 0x00, 0x9C, 0xFF, 0x16, 0x00, + 0x52, 0x00, 0x87, 0xFF, 0x18, 0x00, 0x61, 0x00, + 0x6E, 0xFF, 0x1A, 0x00, 0x70, 0x00, 0x4E, 0xFF, + 0x11, 0x00, 0xF9, 0xFF, 0xB6, 0xFF, 0x11, 0x00, + 0xEA, 0xFF, 0xB6, 0xFF, 0x11, 0x00, 0xDB, 0xFF, + 0xB6, 0xFF, 0x11, 0x00, 0xCC, 0xFF, 0xB6, 0xFF, + 0x14, 0x00, 0xBD, 0xFF, 0x9C, 0xFF, 0x16, 0x00, + 0xAE, 0xFF, 0x87, 0xFF, 0x18, 0x00, 0x9F, 0xFF, + 0x6E, 0xFF, 0x1A, 0x00, 0x90, 0xFF, 0x4E, 0xFF, + 0x13, 0x00, 0x07, 0x00, 0xA8, 0xFF, 0x13, 0x00, + 0x16, 0x00, 0xA8, 0xFF, 0x13, 0x00, 0x25, 0x00, + 0xA8, 0xFF, 0x13, 0x00, 0x34, 0x00, 0xA8, 0xFF, + 0x16, 0x00, 0x43, 0x00, 0x8A, 0xFF, 0x18, 0x00, + 0x52, 0x00, 0x71, 0xFF, 0x1A, 0x00, 0x61, 0x00, + 0x53, 0xFF, 0x1C, 0x00, 0x70, 0x00, 0x2D, 0xFF, + 0x13, 0x00, 0xF9, 0xFF, 0xA8, 0xFF, 0x13, 0x00, + 0xEA, 0xFF, 0xA8, 0xFF, 0x13, 0x00, 0xDB, 0xFF, + 0xA8, 0xFF, 0x13, 0x00, 0xCC, 0xFF, 0xA8, 0xFF, + 0x16, 0x00, 0xBD, 0xFF, 0x8A, 0xFF, 0x18, 0x00, + 0xAE, 0xFF, 0x71, 0xFF, 0x1A, 0x00, 0x9F, 0xFF, + 0x53, 0xFF, 0x1C, 0x00, 0x90, 0xFF, 0x2D, 0xFF, + 0x15, 0x00, 0x07, 0x00, 0x9B, 0xFF, 0x15, 0x00, + 0x16, 0x00, 0x9B, 0xFF, 0x15, 0x00, 0x25, 0x00, + 0x9B, 0xFF, 0x15, 0x00, 0x34, 0x00, 0x9B, 0xFF, + 0x18, 0x00, 0x43, 0x00, 0x78, 0xFF, 0x1A, 0x00, + 0x52, 0x00, 0x5B, 0xFF, 0x1C, 0x00, 0x61, 0x00, + 0x39, 0xFF, 0x1E, 0x00, 0x70, 0x00, 0x0D, 0xFF, + 0x15, 0x00, 0xF9, 0xFF, 0x9B, 0xFF, 0x15, 0x00, + 0xEA, 0xFF, 0x9B, 0xFF, 0x15, 0x00, 0xDB, 0xFF, + 0x9B, 0xFF, 0x15, 0x00, 0xCC, 0xFF, 0x9B, 0xFF, + 0x18, 0x00, 0xBD, 0xFF, 0x78, 0xFF, 0x1A, 0x00, + 0xAE, 0xFF, 0x5B, 0xFF, 0x1C, 0x00, 0x9F, 0xFF, + 0x39, 0xFF, 0x1E, 0x00, 0x90, 0xFF, 0x0D, 0xFF, + 0x0D, 0x00, 0x08, 0x00, 0x07, 0x00, 0x0D, 0x00, + 0x18, 0x00, 0x07, 0x00, 0x0D, 0x00, 0x29, 0x00, + 0x07, 0x00, 0x0D, 0x00, 0x39, 0x00, 0x07, 0x00, + 0x10, 0x00, 0x4A, 0x00, 0x0A, 0x00, 0x12, 0x00, + 0x5A, 0x00, 0x0C, 0x00, 0x14, 0x00, 0x6B, 0x00, + 0x0E, 0x00, 0x16, 0x00, 0x7B, 0x00, 0x11, 0x00, + 0x0D, 0x00, 0xF8, 0xFF, 0x07, 0x00, 0x0D, 0x00, + 0xE8, 0xFF, 0x07, 0x00, 0x0D, 0x00, 0xD7, 0xFF, + 0x07, 0x00, 0x0D, 0x00, 0xC7, 0xFF, 0x07, 0x00, + 0x10, 0x00, 0xB6, 0xFF, 0x0A, 0x00, 0x12, 0x00, + 0xA6, 0xFF, 0x0C, 0x00, 0x14, 0x00, 0x95, 0xFF, + 0x0E, 0x00, 0x16, 0x00, 0x85, 0xFF, 0x11, 0x00, + 0x0D, 0x00, 0x08, 0x00, 0x16, 0x00, 0x0D, 0x00, + 0x18, 0x00, 0x16, 0x00, 0x0D, 0x00, 0x29, 0x00, + 0x16, 0x00, 0x0D, 0x00, 0x39, 0x00, 0x16, 0x00, + 0x10, 0x00, 0x4A, 0x00, 0x1E, 0x00, 0x12, 0x00, + 0x5A, 0x00, 0x24, 0x00, 0x14, 0x00, 0x6B, 0x00, + 0x2B, 0x00, 0x16, 0x00, 0x7B, 0x00, 0x34, 0x00, + 0x0D, 0x00, 0xF8, 0xFF, 0x16, 0x00, 0x0D, 0x00, + 0xE8, 0xFF, 0x16, 0x00, 0x0D, 0x00, 0xD7, 0xFF, + 0x16, 0x00, 0x0D, 0x00, 0xC7, 0xFF, 0x16, 0x00, + 0x10, 0x00, 0xB6, 0xFF, 0x1E, 0x00, 0x12, 0x00, + 0xA6, 0xFF, 0x24, 0x00, 0x14, 0x00, 0x95, 0xFF, + 0x2B, 0x00, 0x16, 0x00, 0x85, 0xFF, 0x34, 0x00, + 0x0D, 0x00, 0x08, 0x00, 0x25, 0x00, 0x0D, 0x00, + 0x18, 0x00, 0x25, 0x00, 0x0D, 0x00, 0x29, 0x00, + 0x25, 0x00, 0x0D, 0x00, 0x39, 0x00, 0x25, 0x00, + 0x10, 0x00, 0x4A, 0x00, 0x32, 0x00, 0x12, 0x00, + 0x5A, 0x00, 0x3C, 0x00, 0x14, 0x00, 0x6B, 0x00, + 0x49, 0x00, 0x16, 0x00, 0x7B, 0x00, 0x58, 0x00, + 0x0D, 0x00, 0xF8, 0xFF, 0x25, 0x00, 0x0D, 0x00, + 0xE8, 0xFF, 0x25, 0x00, 0x0D, 0x00, 0xD7, 0xFF, + 0x25, 0x00, 0x0D, 0x00, 0xC7, 0xFF, 0x25, 0x00, + 0x10, 0x00, 0xB6, 0xFF, 0x32, 0x00, 0x12, 0x00, + 0xA6, 0xFF, 0x3C, 0x00, 0x14, 0x00, 0x95, 0xFF, + 0x49, 0x00, 0x16, 0x00, 0x85, 0xFF, 0x58, 0x00, + 0x0D, 0x00, 0x08, 0x00, 0x34, 0x00, 0x0D, 0x00, + 0x18, 0x00, 0x34, 0x00, 0x0D, 0x00, 0x29, 0x00, + 0x34, 0x00, 0x0D, 0x00, 0x39, 0x00, 0x34, 0x00, + 0x10, 0x00, 0x4A, 0x00, 0x46, 0x00, 0x12, 0x00, + 0x5A, 0x00, 0x54, 0x00, 0x14, 0x00, 0x6B, 0x00, + 0x66, 0x00, 0x16, 0x00, 0x7B, 0x00, 0x7B, 0x00, + 0x0D, 0x00, 0xF8, 0xFF, 0x34, 0x00, 0x0D, 0x00, + 0xE8, 0xFF, 0x34, 0x00, 0x0D, 0x00, 0xD7, 0xFF, + 0x34, 0x00, 0x0D, 0x00, 0xC7, 0xFF, 0x34, 0x00, + 0x10, 0x00, 0xB6, 0xFF, 0x46, 0x00, 0x12, 0x00, + 0xA6, 0xFF, 0x54, 0x00, 0x14, 0x00, 0x95, 0xFF, + 0x66, 0x00, 0x16, 0x00, 0x85, 0xFF, 0x7B, 0x00, + 0x10, 0x00, 0x08, 0x00, 0x43, 0x00, 0x10, 0x00, + 0x18, 0x00, 0x43, 0x00, 0x10, 0x00, 0x29, 0x00, + 0x43, 0x00, 0x10, 0x00, 0x39, 0x00, 0x43, 0x00, + 0x13, 0x00, 0x4A, 0x00, 0x5A, 0x00, 0x15, 0x00, + 0x5A, 0x00, 0x6D, 0x00, 0x17, 0x00, 0x6B, 0x00, + 0x84, 0x00, 0x19, 0x00, 0x7B, 0x00, 0xA0, 0x00, + 0x10, 0x00, 0xF8, 0xFF, 0x43, 0x00, 0x10, 0x00, + 0xE8, 0xFF, 0x43, 0x00, 0x10, 0x00, 0xD7, 0xFF, + 0x43, 0x00, 0x10, 0x00, 0xC7, 0xFF, 0x43, 0x00, + 0x13, 0x00, 0xB6, 0xFF, 0x5A, 0x00, 0x15, 0x00, + 0xA6, 0xFF, 0x6D, 0x00, 0x17, 0x00, 0x95, 0xFF, + 0x84, 0x00, 0x19, 0x00, 0x85, 0xFF, 0xA0, 0x00, + 0x12, 0x00, 0x08, 0x00, 0x52, 0x00, 0x12, 0x00, + 0x18, 0x00, 0x52, 0x00, 0x12, 0x00, 0x29, 0x00, + 0x52, 0x00, 0x12, 0x00, 0x39, 0x00, 0x52, 0x00, + 0x15, 0x00, 0x4A, 0x00, 0x6E, 0x00, 0x17, 0x00, + 0x5A, 0x00, 0x85, 0x00, 0x19, 0x00, 0x6B, 0x00, + 0xA1, 0x00, 0x1B, 0x00, 0x7B, 0x00, 0xC3, 0x00, + 0x12, 0x00, 0xF8, 0xFF, 0x52, 0x00, 0x12, 0x00, + 0xE8, 0xFF, 0x52, 0x00, 0x12, 0x00, 0xD7, 0xFF, + 0x52, 0x00, 0x12, 0x00, 0xC7, 0xFF, 0x52, 0x00, + 0x15, 0x00, 0xB6, 0xFF, 0x6E, 0x00, 0x17, 0x00, + 0xA6, 0xFF, 0x85, 0x00, 0x19, 0x00, 0x95, 0xFF, + 0xA1, 0x00, 0x1B, 0x00, 0x85, 0xFF, 0xC3, 0x00, + 0x14, 0x00, 0x08, 0x00, 0x61, 0x00, 0x14, 0x00, + 0x18, 0x00, 0x61, 0x00, 0x14, 0x00, 0x29, 0x00, + 0x61, 0x00, 0x14, 0x00, 0x39, 0x00, 0x61, 0x00, + 0x17, 0x00, 0x4A, 0x00, 0x82, 0x00, 0x19, 0x00, + 0x5A, 0x00, 0x9D, 0x00, 0x1B, 0x00, 0x6B, 0x00, + 0xBF, 0x00, 0x1D, 0x00, 0x7B, 0x00, 0xE7, 0x00, + 0x14, 0x00, 0xF8, 0xFF, 0x61, 0x00, 0x14, 0x00, + 0xE8, 0xFF, 0x61, 0x00, 0x14, 0x00, 0xD7, 0xFF, + 0x61, 0x00, 0x14, 0x00, 0xC7, 0xFF, 0x61, 0x00, + 0x17, 0x00, 0xB6, 0xFF, 0x82, 0x00, 0x19, 0x00, + 0xA6, 0xFF, 0x9D, 0x00, 0x1B, 0x00, 0x95, 0xFF, + 0xBF, 0x00, 0x1D, 0x00, 0x85, 0xFF, 0xE7, 0x00, + 0x16, 0x00, 0x08, 0x00, 0x70, 0x00, 0x16, 0x00, + 0x18, 0x00, 0x70, 0x00, 0x16, 0x00, 0x29, 0x00, + 0x70, 0x00, 0x16, 0x00, 0x39, 0x00, 0x70, 0x00, + 0x19, 0x00, 0x4A, 0x00, 0x96, 0x00, 0x1B, 0x00, + 0x5A, 0x00, 0xB5, 0x00, 0x1D, 0x00, 0x6B, 0x00, + 0xDC, 0x00, 0x1F, 0x00, 0x7B, 0x00, 0x0A, 0x01, + 0x16, 0x00, 0xF8, 0xFF, 0x70, 0x00, 0x16, 0x00, + 0xE8, 0xFF, 0x70, 0x00, 0x16, 0x00, 0xD7, 0xFF, + 0x70, 0x00, 0x16, 0x00, 0xC7, 0xFF, 0x70, 0x00, + 0x19, 0x00, 0xB6, 0xFF, 0x96, 0x00, 0x1B, 0x00, + 0xA6, 0xFF, 0xB5, 0x00, 0x1D, 0x00, 0x95, 0xFF, + 0xDC, 0x00, 0x1F, 0x00, 0x85, 0xFF, 0x0A, 0x01, + 0x0D, 0x00, 0x08, 0x00, 0xF9, 0xFF, 0x0D, 0x00, + 0x18, 0x00, 0xF9, 0xFF, 0x0D, 0x00, 0x29, 0x00, + 0xF9, 0xFF, 0x0D, 0x00, 0x39, 0x00, 0xF9, 0xFF, + 0x10, 0x00, 0x4A, 0x00, 0xF6, 0xFF, 0x12, 0x00, + 0x5A, 0x00, 0xF4, 0xFF, 0x14, 0x00, 0x6B, 0x00, + 0xF2, 0xFF, 0x16, 0x00, 0x7B, 0x00, 0xEF, 0xFF, + 0x0D, 0x00, 0xF8, 0xFF, 0xF9, 0xFF, 0x0D, 0x00, + 0xE8, 0xFF, 0xF9, 0xFF, 0x0D, 0x00, 0xD7, 0xFF, + 0xF9, 0xFF, 0x0D, 0x00, 0xC7, 0xFF, 0xF9, 0xFF, + 0x10, 0x00, 0xB6, 0xFF, 0xF6, 0xFF, 0x12, 0x00, + 0xA6, 0xFF, 0xF4, 0xFF, 0x14, 0x00, 0x95, 0xFF, + 0xF2, 0xFF, 0x16, 0x00, 0x85, 0xFF, 0xEF, 0xFF, + 0x0D, 0x00, 0x08, 0x00, 0xEA, 0xFF, 0x0D, 0x00, + 0x18, 0x00, 0xEA, 0xFF, 0x0D, 0x00, 0x29, 0x00, + 0xEA, 0xFF, 0x0D, 0x00, 0x39, 0x00, 0xEA, 0xFF, + 0x10, 0x00, 0x4A, 0x00, 0xE2, 0xFF, 0x12, 0x00, + 0x5A, 0x00, 0xDC, 0xFF, 0x14, 0x00, 0x6B, 0x00, + 0xD5, 0xFF, 0x16, 0x00, 0x7B, 0x00, 0xCC, 0xFF, + 0x0D, 0x00, 0xF8, 0xFF, 0xEA, 0xFF, 0x0D, 0x00, + 0xE8, 0xFF, 0xEA, 0xFF, 0x0D, 0x00, 0xD7, 0xFF, + 0xEA, 0xFF, 0x0D, 0x00, 0xC7, 0xFF, 0xEA, 0xFF, + 0x10, 0x00, 0xB6, 0xFF, 0xE2, 0xFF, 0x12, 0x00, + 0xA6, 0xFF, 0xDC, 0xFF, 0x14, 0x00, 0x95, 0xFF, + 0xD5, 0xFF, 0x16, 0x00, 0x85, 0xFF, 0xCC, 0xFF, + 0x0D, 0x00, 0x08, 0x00, 0xDB, 0xFF, 0x0D, 0x00, + 0x18, 0x00, 0xDB, 0xFF, 0x0D, 0x00, 0x29, 0x00, + 0xDB, 0xFF, 0x0D, 0x00, 0x39, 0x00, 0xDB, 0xFF, + 0x10, 0x00, 0x4A, 0x00, 0xCE, 0xFF, 0x12, 0x00, + 0x5A, 0x00, 0xC4, 0xFF, 0x14, 0x00, 0x6B, 0x00, + 0xB7, 0xFF, 0x16, 0x00, 0x7B, 0x00, 0xA8, 0xFF, + 0x0D, 0x00, 0xF8, 0xFF, 0xDB, 0xFF, 0x0D, 0x00, + 0xE8, 0xFF, 0xDB, 0xFF, 0x0D, 0x00, 0xD7, 0xFF, + 0xDB, 0xFF, 0x0D, 0x00, 0xC7, 0xFF, 0xDB, 0xFF, + 0x10, 0x00, 0xB6, 0xFF, 0xCE, 0xFF, 0x12, 0x00, + 0xA6, 0xFF, 0xC4, 0xFF, 0x14, 0x00, 0x95, 0xFF, + 0xB7, 0xFF, 0x16, 0x00, 0x85, 0xFF, 0xA8, 0xFF, + 0x0D, 0x00, 0x08, 0x00, 0xCC, 0xFF, 0x0D, 0x00, + 0x18, 0x00, 0xCC, 0xFF, 0x0D, 0x00, 0x29, 0x00, + 0xCC, 0xFF, 0x0D, 0x00, 0x39, 0x00, 0xCC, 0xFF, + 0x10, 0x00, 0x4A, 0x00, 0xBA, 0xFF, 0x12, 0x00, + 0x5A, 0x00, 0xAC, 0xFF, 0x14, 0x00, 0x6B, 0x00, + 0x9A, 0xFF, 0x16, 0x00, 0x7B, 0x00, 0x85, 0xFF, + 0x0D, 0x00, 0xF8, 0xFF, 0xCC, 0xFF, 0x0D, 0x00, + 0xE8, 0xFF, 0xCC, 0xFF, 0x0D, 0x00, 0xD7, 0xFF, + 0xCC, 0xFF, 0x0D, 0x00, 0xC7, 0xFF, 0xCC, 0xFF, + 0x10, 0x00, 0xB6, 0xFF, 0xBA, 0xFF, 0x12, 0x00, + 0xA6, 0xFF, 0xAC, 0xFF, 0x14, 0x00, 0x95, 0xFF, + 0x9A, 0xFF, 0x16, 0x00, 0x85, 0xFF, 0x85, 0xFF, + 0x10, 0x00, 0x08, 0x00, 0xBD, 0xFF, 0x10, 0x00, + 0x18, 0x00, 0xBD, 0xFF, 0x10, 0x00, 0x29, 0x00, + 0xBD, 0xFF, 0x10, 0x00, 0x39, 0x00, 0xBD, 0xFF, + 0x13, 0x00, 0x4A, 0x00, 0xA6, 0xFF, 0x15, 0x00, + 0x5A, 0x00, 0x93, 0xFF, 0x17, 0x00, 0x6B, 0x00, + 0x7C, 0xFF, 0x19, 0x00, 0x7B, 0x00, 0x60, 0xFF, + 0x10, 0x00, 0xF8, 0xFF, 0xBD, 0xFF, 0x10, 0x00, + 0xE8, 0xFF, 0xBD, 0xFF, 0x10, 0x00, 0xD7, 0xFF, + 0xBD, 0xFF, 0x10, 0x00, 0xC7, 0xFF, 0xBD, 0xFF, + 0x13, 0x00, 0xB6, 0xFF, 0xA6, 0xFF, 0x15, 0x00, + 0xA6, 0xFF, 0x93, 0xFF, 0x17, 0x00, 0x95, 0xFF, + 0x7C, 0xFF, 0x19, 0x00, 0x85, 0xFF, 0x60, 0xFF, + 0x12, 0x00, 0x08, 0x00, 0xAE, 0xFF, 0x12, 0x00, + 0x18, 0x00, 0xAE, 0xFF, 0x12, 0x00, 0x29, 0x00, + 0xAE, 0xFF, 0x12, 0x00, 0x39, 0x00, 0xAE, 0xFF, + 0x15, 0x00, 0x4A, 0x00, 0x92, 0xFF, 0x17, 0x00, + 0x5A, 0x00, 0x7B, 0xFF, 0x19, 0x00, 0x6B, 0x00, + 0x5F, 0xFF, 0x1B, 0x00, 0x7B, 0x00, 0x3D, 0xFF, + 0x12, 0x00, 0xF8, 0xFF, 0xAE, 0xFF, 0x12, 0x00, + 0xE8, 0xFF, 0xAE, 0xFF, 0x12, 0x00, 0xD7, 0xFF, + 0xAE, 0xFF, 0x12, 0x00, 0xC7, 0xFF, 0xAE, 0xFF, + 0x15, 0x00, 0xB6, 0xFF, 0x92, 0xFF, 0x17, 0x00, + 0xA6, 0xFF, 0x7B, 0xFF, 0x19, 0x00, 0x95, 0xFF, + 0x5F, 0xFF, 0x1B, 0x00, 0x85, 0xFF, 0x3D, 0xFF, + 0x14, 0x00, 0x08, 0x00, 0x9F, 0xFF, 0x14, 0x00, + 0x18, 0x00, 0x9F, 0xFF, 0x14, 0x00, 0x29, 0x00, + 0x9F, 0xFF, 0x14, 0x00, 0x39, 0x00, 0x9F, 0xFF, + 0x17, 0x00, 0x4A, 0x00, 0x7E, 0xFF, 0x19, 0x00, + 0x5A, 0x00, 0x63, 0xFF, 0x1B, 0x00, 0x6B, 0x00, + 0x41, 0xFF, 0x1D, 0x00, 0x7B, 0x00, 0x19, 0xFF, + 0x14, 0x00, 0xF8, 0xFF, 0x9F, 0xFF, 0x14, 0x00, + 0xE8, 0xFF, 0x9F, 0xFF, 0x14, 0x00, 0xD7, 0xFF, + 0x9F, 0xFF, 0x14, 0x00, 0xC7, 0xFF, 0x9F, 0xFF, + 0x17, 0x00, 0xB6, 0xFF, 0x7E, 0xFF, 0x19, 0x00, + 0xA6, 0xFF, 0x63, 0xFF, 0x1B, 0x00, 0x95, 0xFF, + 0x41, 0xFF, 0x1D, 0x00, 0x85, 0xFF, 0x19, 0xFF, + 0x16, 0x00, 0x08, 0x00, 0x90, 0xFF, 0x16, 0x00, + 0x18, 0x00, 0x90, 0xFF, 0x16, 0x00, 0x29, 0x00, + 0x90, 0xFF, 0x16, 0x00, 0x39, 0x00, 0x90, 0xFF, + 0x19, 0x00, 0x4A, 0x00, 0x6A, 0xFF, 0x1B, 0x00, + 0x5A, 0x00, 0x4B, 0xFF, 0x1D, 0x00, 0x6B, 0x00, + 0x24, 0xFF, 0x1F, 0x00, 0x7B, 0x00, 0xF6, 0xFE, + 0x16, 0x00, 0xF8, 0xFF, 0x90, 0xFF, 0x16, 0x00, + 0xE8, 0xFF, 0x90, 0xFF, 0x16, 0x00, 0xD7, 0xFF, + 0x90, 0xFF, 0x16, 0x00, 0xC7, 0xFF, 0x90, 0xFF, + 0x19, 0x00, 0xB6, 0xFF, 0x6A, 0xFF, 0x1B, 0x00, + 0xA6, 0xFF, 0x4B, 0xFF, 0x1D, 0x00, 0x95, 0xFF, + 0x24, 0xFF, 0x1F, 0x00, 0x85, 0xFF, 0xF6, 0xFE, + 0x0E, 0x00, 0x09, 0x00, 0x08, 0x00, 0x0E, 0x00, + 0x1B, 0x00, 0x08, 0x00, 0x0E, 0x00, 0x2D, 0x00, + 0x08, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x08, 0x00, + 0x11, 0x00, 0x52, 0x00, 0x0B, 0x00, 0x13, 0x00, + 0x64, 0x00, 0x0D, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x10, 0x00, 0x17, 0x00, 0x88, 0x00, 0x13, 0x00, + 0x0E, 0x00, 0xF7, 0xFF, 0x08, 0x00, 0x0E, 0x00, + 0xE5, 0xFF, 0x08, 0x00, 0x0E, 0x00, 0xD3, 0xFF, + 0x08, 0x00, 0x0E, 0x00, 0xC1, 0xFF, 0x08, 0x00, + 0x11, 0x00, 0xAE, 0xFF, 0x0B, 0x00, 0x13, 0x00, + 0x9C, 0xFF, 0x0D, 0x00, 0x15, 0x00, 0x8A, 0xFF, + 0x10, 0x00, 0x17, 0x00, 0x78, 0xFF, 0x13, 0x00, + 0x0E, 0x00, 0x09, 0x00, 0x18, 0x00, 0x0E, 0x00, + 0x1B, 0x00, 0x18, 0x00, 0x0E, 0x00, 0x2D, 0x00, + 0x18, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x18, 0x00, + 0x11, 0x00, 0x52, 0x00, 0x21, 0x00, 0x13, 0x00, + 0x64, 0x00, 0x27, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x30, 0x00, 0x17, 0x00, 0x88, 0x00, 0x3A, 0x00, + 0x0E, 0x00, 0xF7, 0xFF, 0x18, 0x00, 0x0E, 0x00, + 0xE5, 0xFF, 0x18, 0x00, 0x0E, 0x00, 0xD3, 0xFF, + 0x18, 0x00, 0x0E, 0x00, 0xC1, 0xFF, 0x18, 0x00, + 0x11, 0x00, 0xAE, 0xFF, 0x21, 0x00, 0x13, 0x00, + 0x9C, 0xFF, 0x27, 0x00, 0x15, 0x00, 0x8A, 0xFF, + 0x30, 0x00, 0x17, 0x00, 0x78, 0xFF, 0x3A, 0x00, + 0x0E, 0x00, 0x09, 0x00, 0x29, 0x00, 0x0E, 0x00, + 0x1B, 0x00, 0x29, 0x00, 0x0E, 0x00, 0x2D, 0x00, + 0x29, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x29, 0x00, + 0x11, 0x00, 0x52, 0x00, 0x37, 0x00, 0x13, 0x00, + 0x64, 0x00, 0x42, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x51, 0x00, 0x17, 0x00, 0x88, 0x00, 0x61, 0x00, + 0x0E, 0x00, 0xF7, 0xFF, 0x29, 0x00, 0x0E, 0x00, + 0xE5, 0xFF, 0x29, 0x00, 0x0E, 0x00, 0xD3, 0xFF, + 0x29, 0x00, 0x0E, 0x00, 0xC1, 0xFF, 0x29, 0x00, + 0x11, 0x00, 0xAE, 0xFF, 0x37, 0x00, 0x13, 0x00, + 0x9C, 0xFF, 0x42, 0x00, 0x15, 0x00, 0x8A, 0xFF, + 0x51, 0x00, 0x17, 0x00, 0x78, 0xFF, 0x61, 0x00, + 0x0E, 0x00, 0x09, 0x00, 0x39, 0x00, 0x0E, 0x00, + 0x1B, 0x00, 0x39, 0x00, 0x0E, 0x00, 0x2D, 0x00, + 0x39, 0x00, 0x0E, 0x00, 0x3F, 0x00, 0x39, 0x00, + 0x11, 0x00, 0x52, 0x00, 0x4D, 0x00, 0x13, 0x00, + 0x64, 0x00, 0x5C, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x71, 0x00, 0x17, 0x00, 0x88, 0x00, 0x88, 0x00, + 0x0E, 0x00, 0xF7, 0xFF, 0x39, 0x00, 0x0E, 0x00, + 0xE5, 0xFF, 0x39, 0x00, 0x0E, 0x00, 0xD3, 0xFF, + 0x39, 0x00, 0x0E, 0x00, 0xC1, 0xFF, 0x39, 0x00, + 0x11, 0x00, 0xAE, 0xFF, 0x4D, 0x00, 0x13, 0x00, + 0x9C, 0xFF, 0x5C, 0x00, 0x15, 0x00, 0x8A, 0xFF, + 0x71, 0x00, 0x17, 0x00, 0x78, 0xFF, 0x88, 0x00, + 0x11, 0x00, 0x09, 0x00, 0x4A, 0x00, 0x11, 0x00, + 0x1B, 0x00, 0x4A, 0x00, 0x11, 0x00, 0x2D, 0x00, + 0x4A, 0x00, 0x11, 0x00, 0x3F, 0x00, 0x4A, 0x00, + 0x14, 0x00, 0x52, 0x00, 0x63, 0x00, 0x16, 0x00, + 0x64, 0x00, 0x78, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x92, 0x00, 0x1A, 0x00, 0x88, 0x00, 0xB0, 0x00, + 0x11, 0x00, 0xF7, 0xFF, 0x4A, 0x00, 0x11, 0x00, + 0xE5, 0xFF, 0x4A, 0x00, 0x11, 0x00, 0xD3, 0xFF, + 0x4A, 0x00, 0x11, 0x00, 0xC1, 0xFF, 0x4A, 0x00, + 0x14, 0x00, 0xAE, 0xFF, 0x63, 0x00, 0x16, 0x00, + 0x9C, 0xFF, 0x78, 0x00, 0x18, 0x00, 0x8A, 0xFF, + 0x92, 0x00, 0x1A, 0x00, 0x78, 0xFF, 0xB0, 0x00, + 0x13, 0x00, 0x09, 0x00, 0x5A, 0x00, 0x13, 0x00, + 0x1B, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x2D, 0x00, + 0x5A, 0x00, 0x13, 0x00, 0x3F, 0x00, 0x5A, 0x00, + 0x16, 0x00, 0x52, 0x00, 0x79, 0x00, 0x18, 0x00, + 0x64, 0x00, 0x92, 0x00, 0x1A, 0x00, 0x76, 0x00, + 0xB2, 0x00, 0x1C, 0x00, 0x88, 0x00, 0xD7, 0x00, + 0x13, 0x00, 0xF7, 0xFF, 0x5A, 0x00, 0x13, 0x00, + 0xE5, 0xFF, 0x5A, 0x00, 0x13, 0x00, 0xD3, 0xFF, + 0x5A, 0x00, 0x13, 0x00, 0xC1, 0xFF, 0x5A, 0x00, + 0x16, 0x00, 0xAE, 0xFF, 0x79, 0x00, 0x18, 0x00, + 0x9C, 0xFF, 0x92, 0x00, 0x1A, 0x00, 0x8A, 0xFF, + 0xB2, 0x00, 0x1C, 0x00, 0x78, 0xFF, 0xD7, 0x00, + 0x15, 0x00, 0x09, 0x00, 0x6B, 0x00, 0x15, 0x00, + 0x1B, 0x00, 0x6B, 0x00, 0x15, 0x00, 0x2D, 0x00, + 0x6B, 0x00, 0x15, 0x00, 0x3F, 0x00, 0x6B, 0x00, + 0x18, 0x00, 0x52, 0x00, 0x8F, 0x00, 0x1A, 0x00, + 0x64, 0x00, 0xAD, 0x00, 0x1C, 0x00, 0x76, 0x00, + 0xD3, 0x00, 0x1E, 0x00, 0x88, 0x00, 0xFE, 0x00, + 0x15, 0x00, 0xF7, 0xFF, 0x6B, 0x00, 0x15, 0x00, + 0xE5, 0xFF, 0x6B, 0x00, 0x15, 0x00, 0xD3, 0xFF, + 0x6B, 0x00, 0x15, 0x00, 0xC1, 0xFF, 0x6B, 0x00, + 0x18, 0x00, 0xAE, 0xFF, 0x8F, 0x00, 0x1A, 0x00, + 0x9C, 0xFF, 0xAD, 0x00, 0x1C, 0x00, 0x8A, 0xFF, + 0xD3, 0x00, 0x1E, 0x00, 0x78, 0xFF, 0xFE, 0x00, + 0x17, 0x00, 0x09, 0x00, 0x7B, 0x00, 0x17, 0x00, + 0x1B, 0x00, 0x7B, 0x00, 0x17, 0x00, 0x2D, 0x00, + 0x7B, 0x00, 0x17, 0x00, 0x3F, 0x00, 0x7B, 0x00, + 0x1A, 0x00, 0x52, 0x00, 0xA5, 0x00, 0x1C, 0x00, + 0x64, 0x00, 0xC7, 0x00, 0x1E, 0x00, 0x76, 0x00, + 0xF3, 0x00, 0x20, 0x00, 0x88, 0x00, 0x25, 0x01, + 0x17, 0x00, 0xF7, 0xFF, 0x7B, 0x00, 0x17, 0x00, + 0xE5, 0xFF, 0x7B, 0x00, 0x17, 0x00, 0xD3, 0xFF, + 0x7B, 0x00, 0x17, 0x00, 0xC1, 0xFF, 0x7B, 0x00, + 0x1A, 0x00, 0xAE, 0xFF, 0xA5, 0x00, 0x1C, 0x00, + 0x9C, 0xFF, 0xC7, 0x00, 0x1E, 0x00, 0x8A, 0xFF, + 0xF3, 0x00, 0x20, 0x00, 0x78, 0xFF, 0x25, 0x01, + 0x0E, 0x00, 0x09, 0x00, 0xF8, 0xFF, 0x0E, 0x00, + 0x1B, 0x00, 0xF8, 0xFF, 0x0E, 0x00, 0x2D, 0x00, + 0xF8, 0xFF, 0x0E, 0x00, 0x3F, 0x00, 0xF8, 0xFF, + 0x11, 0x00, 0x52, 0x00, 0xF5, 0xFF, 0x13, 0x00, + 0x64, 0x00, 0xF3, 0xFF, 0x15, 0x00, 0x76, 0x00, + 0xF0, 0xFF, 0x17, 0x00, 0x88, 0x00, 0xED, 0xFF, + 0x0E, 0x00, 0xF7, 0xFF, 0xF8, 0xFF, 0x0E, 0x00, + 0xE5, 0xFF, 0xF8, 0xFF, 0x0E, 0x00, 0xD3, 0xFF, + 0xF8, 0xFF, 0x0E, 0x00, 0xC1, 0xFF, 0xF8, 0xFF, + 0x11, 0x00, 0xAE, 0xFF, 0xF5, 0xFF, 0x13, 0x00, + 0x9C, 0xFF, 0xF3, 0xFF, 0x15, 0x00, 0x8A, 0xFF, + 0xF0, 0xFF, 0x17, 0x00, 0x78, 0xFF, 0xED, 0xFF, + 0x0E, 0x00, 0x09, 0x00, 0xE8, 0xFF, 0x0E, 0x00, + 0x1B, 0x00, 0xE8, 0xFF, 0x0E, 0x00, 0x2D, 0x00, + 0xE8, 0xFF, 0x0E, 0x00, 0x3F, 0x00, 0xE8, 0xFF, + 0x11, 0x00, 0x52, 0x00, 0xDF, 0xFF, 0x13, 0x00, + 0x64, 0x00, 0xD9, 0xFF, 0x15, 0x00, 0x76, 0x00, + 0xD0, 0xFF, 0x17, 0x00, 0x88, 0x00, 0xC6, 0xFF, + 0x0E, 0x00, 0xF7, 0xFF, 0xE8, 0xFF, 0x0E, 0x00, + 0xE5, 0xFF, 0xE8, 0xFF, 0x0E, 0x00, 0xD3, 0xFF, + 0xE8, 0xFF, 0x0E, 0x00, 0xC1, 0xFF, 0xE8, 0xFF, + 0x11, 0x00, 0xAE, 0xFF, 0xDF, 0xFF, 0x13, 0x00, + 0x9C, 0xFF, 0xD9, 0xFF, 0x15, 0x00, 0x8A, 0xFF, + 0xD0, 0xFF, 0x17, 0x00, 0x78, 0xFF, 0xC6, 0xFF, + 0x0E, 0x00, 0x09, 0x00, 0xD7, 0xFF, 0x0E, 0x00, + 0x1B, 0x00, 0xD7, 0xFF, 0x0E, 0x00, 0x2D, 0x00, + 0xD7, 0xFF, 0x0E, 0x00, 0x3F, 0x00, 0xD7, 0xFF, + 0x11, 0x00, 0x52, 0x00, 0xC9, 0xFF, 0x13, 0x00, + 0x64, 0x00, 0xBE, 0xFF, 0x15, 0x00, 0x76, 0x00, + 0xAF, 0xFF, 0x17, 0x00, 0x88, 0x00, 0x9F, 0xFF, + 0x0E, 0x00, 0xF7, 0xFF, 0xD7, 0xFF, 0x0E, 0x00, + 0xE5, 0xFF, 0xD7, 0xFF, 0x0E, 0x00, 0xD3, 0xFF, + 0xD7, 0xFF, 0x0E, 0x00, 0xC1, 0xFF, 0xD7, 0xFF, + 0x11, 0x00, 0xAE, 0xFF, 0xC9, 0xFF, 0x13, 0x00, + 0x9C, 0xFF, 0xBE, 0xFF, 0x15, 0x00, 0x8A, 0xFF, + 0xAF, 0xFF, 0x17, 0x00, 0x78, 0xFF, 0x9F, 0xFF, + 0x0E, 0x00, 0x09, 0x00, 0xC7, 0xFF, 0x0E, 0x00, + 0x1B, 0x00, 0xC7, 0xFF, 0x0E, 0x00, 0x2D, 0x00, + 0xC7, 0xFF, 0x0E, 0x00, 0x3F, 0x00, 0xC7, 0xFF, + 0x11, 0x00, 0x52, 0x00, 0xB3, 0xFF, 0x13, 0x00, + 0x64, 0x00, 0xA4, 0xFF, 0x15, 0x00, 0x76, 0x00, + 0x8F, 0xFF, 0x17, 0x00, 0x88, 0x00, 0x78, 0xFF, + 0x0E, 0x00, 0xF7, 0xFF, 0xC7, 0xFF, 0x0E, 0x00, + 0xE5, 0xFF, 0xC7, 0xFF, 0x0E, 0x00, 0xD3, 0xFF, + 0xC7, 0xFF, 0x0E, 0x00, 0xC1, 0xFF, 0xC7, 0xFF, + 0x11, 0x00, 0xAE, 0xFF, 0xB3, 0xFF, 0x13, 0x00, + 0x9C, 0xFF, 0xA4, 0xFF, 0x15, 0x00, 0x8A, 0xFF, + 0x8F, 0xFF, 0x17, 0x00, 0x78, 0xFF, 0x78, 0xFF, + 0x11, 0x00, 0x09, 0x00, 0xB6, 0xFF, 0x11, 0x00, + 0x1B, 0x00, 0xB6, 0xFF, 0x11, 0x00, 0x2D, 0x00, + 0xB6, 0xFF, 0x11, 0x00, 0x3F, 0x00, 0xB6, 0xFF, + 0x14, 0x00, 0x52, 0x00, 0x9D, 0xFF, 0x16, 0x00, + 0x64, 0x00, 0x88, 0xFF, 0x18, 0x00, 0x76, 0x00, + 0x6E, 0xFF, 0x1A, 0x00, 0x88, 0x00, 0x50, 0xFF, + 0x11, 0x00, 0xF7, 0xFF, 0xB6, 0xFF, 0x11, 0x00, + 0xE5, 0xFF, 0xB6, 0xFF, 0x11, 0x00, 0xD3, 0xFF, + 0xB6, 0xFF, 0x11, 0x00, 0xC1, 0xFF, 0xB6, 0xFF, + 0x14, 0x00, 0xAE, 0xFF, 0x9D, 0xFF, 0x16, 0x00, + 0x9C, 0xFF, 0x88, 0xFF, 0x18, 0x00, 0x8A, 0xFF, + 0x6E, 0xFF, 0x1A, 0x00, 0x78, 0xFF, 0x50, 0xFF, + 0x13, 0x00, 0x09, 0x00, 0xA6, 0xFF, 0x13, 0x00, + 0x1B, 0x00, 0xA6, 0xFF, 0x13, 0x00, 0x2D, 0x00, + 0xA6, 0xFF, 0x13, 0x00, 0x3F, 0x00, 0xA6, 0xFF, + 0x16, 0x00, 0x52, 0x00, 0x87, 0xFF, 0x18, 0x00, + 0x64, 0x00, 0x6E, 0xFF, 0x1A, 0x00, 0x76, 0x00, + 0x4E, 0xFF, 0x1C, 0x00, 0x88, 0x00, 0x29, 0xFF, + 0x13, 0x00, 0xF7, 0xFF, 0xA6, 0xFF, 0x13, 0x00, + 0xE5, 0xFF, 0xA6, 0xFF, 0x13, 0x00, 0xD3, 0xFF, + 0xA6, 0xFF, 0x13, 0x00, 0xC1, 0xFF, 0xA6, 0xFF, + 0x16, 0x00, 0xAE, 0xFF, 0x87, 0xFF, 0x18, 0x00, + 0x9C, 0xFF, 0x6E, 0xFF, 0x1A, 0x00, 0x8A, 0xFF, + 0x4E, 0xFF, 0x1C, 0x00, 0x78, 0xFF, 0x29, 0xFF, + 0x15, 0x00, 0x09, 0x00, 0x95, 0xFF, 0x15, 0x00, + 0x1B, 0x00, 0x95, 0xFF, 0x15, 0x00, 0x2D, 0x00, + 0x95, 0xFF, 0x15, 0x00, 0x3F, 0x00, 0x95, 0xFF, + 0x18, 0x00, 0x52, 0x00, 0x71, 0xFF, 0x1A, 0x00, + 0x64, 0x00, 0x53, 0xFF, 0x1C, 0x00, 0x76, 0x00, + 0x2D, 0xFF, 0x1E, 0x00, 0x88, 0x00, 0x02, 0xFF, + 0x15, 0x00, 0xF7, 0xFF, 0x95, 0xFF, 0x15, 0x00, + 0xE5, 0xFF, 0x95, 0xFF, 0x15, 0x00, 0xD3, 0xFF, + 0x95, 0xFF, 0x15, 0x00, 0xC1, 0xFF, 0x95, 0xFF, + 0x18, 0x00, 0xAE, 0xFF, 0x71, 0xFF, 0x1A, 0x00, + 0x9C, 0xFF, 0x53, 0xFF, 0x1C, 0x00, 0x8A, 0xFF, + 0x2D, 0xFF, 0x1E, 0x00, 0x78, 0xFF, 0x02, 0xFF, + 0x17, 0x00, 0x09, 0x00, 0x85, 0xFF, 0x17, 0x00, + 0x1B, 0x00, 0x85, 0xFF, 0x17, 0x00, 0x2D, 0x00, + 0x85, 0xFF, 0x17, 0x00, 0x3F, 0x00, 0x85, 0xFF, + 0x1A, 0x00, 0x52, 0x00, 0x5B, 0xFF, 0x1C, 0x00, + 0x64, 0x00, 0x39, 0xFF, 0x1E, 0x00, 0x76, 0x00, + 0x0D, 0xFF, 0x20, 0x00, 0x88, 0x00, 0xDB, 0xFE, + 0x17, 0x00, 0xF7, 0xFF, 0x85, 0xFF, 0x17, 0x00, + 0xE5, 0xFF, 0x85, 0xFF, 0x17, 0x00, 0xD3, 0xFF, + 0x85, 0xFF, 0x17, 0x00, 0xC1, 0xFF, 0x85, 0xFF, + 0x1A, 0x00, 0xAE, 0xFF, 0x5B, 0xFF, 0x1C, 0x00, + 0x9C, 0xFF, 0x39, 0xFF, 0x1E, 0x00, 0x8A, 0xFF, + 0x0D, 0xFF, 0x20, 0x00, 0x78, 0xFF, 0xDB, 0xFE, + 0x0F, 0x00, 0x0A, 0x00, 0x09, 0x00, 0x0F, 0x00, + 0x1E, 0x00, 0x09, 0x00, 0x0F, 0x00, 0x32, 0x00, + 0x09, 0x00, 0x0F, 0x00, 0x46, 0x00, 0x09, 0x00, + 0x12, 0x00, 0x5A, 0x00, 0x0C, 0x00, 0x14, 0x00, + 0x6E, 0x00, 0x0E, 0x00, 0x16, 0x00, 0x82, 0x00, + 0x11, 0x00, 0x18, 0x00, 0x96, 0x00, 0x15, 0x00, + 0x0F, 0x00, 0xF6, 0xFF, 0x09, 0x00, 0x0F, 0x00, + 0xE2, 0xFF, 0x09, 0x00, 0x0F, 0x00, 0xCE, 0xFF, + 0x09, 0x00, 0x0F, 0x00, 0xBA, 0xFF, 0x09, 0x00, + 0x12, 0x00, 0xA6, 0xFF, 0x0C, 0x00, 0x14, 0x00, + 0x92, 0xFF, 0x0E, 0x00, 0x16, 0x00, 0x7E, 0xFF, + 0x11, 0x00, 0x18, 0x00, 0x6A, 0xFF, 0x15, 0x00, + 0x0F, 0x00, 0x0A, 0x00, 0x1B, 0x00, 0x0F, 0x00, + 0x1E, 0x00, 0x1B, 0x00, 0x0F, 0x00, 0x32, 0x00, + 0x1B, 0x00, 0x0F, 0x00, 0x46, 0x00, 0x1B, 0x00, + 0x12, 0x00, 0x5A, 0x00, 0x24, 0x00, 0x14, 0x00, + 0x6E, 0x00, 0x2B, 0x00, 0x16, 0x00, 0x82, 0x00, + 0x34, 0x00, 0x18, 0x00, 0x96, 0x00, 0x40, 0x00, + 0x0F, 0x00, 0xF6, 0xFF, 0x1B, 0x00, 0x0F, 0x00, + 0xE2, 0xFF, 0x1B, 0x00, 0x0F, 0x00, 0xCE, 0xFF, + 0x1B, 0x00, 0x0F, 0x00, 0xBA, 0xFF, 0x1B, 0x00, + 0x12, 0x00, 0xA6, 0xFF, 0x24, 0x00, 0x14, 0x00, + 0x92, 0xFF, 0x2B, 0x00, 0x16, 0x00, 0x7E, 0xFF, + 0x34, 0x00, 0x18, 0x00, 0x6A, 0xFF, 0x40, 0x00, + 0x0F, 0x00, 0x0A, 0x00, 0x2D, 0x00, 0x0F, 0x00, + 0x1E, 0x00, 0x2D, 0x00, 0x0F, 0x00, 0x32, 0x00, + 0x2D, 0x00, 0x0F, 0x00, 0x46, 0x00, 0x2D, 0x00, + 0x12, 0x00, 0x5A, 0x00, 0x3C, 0x00, 0x14, 0x00, + 0x6E, 0x00, 0x49, 0x00, 0x16, 0x00, 0x82, 0x00, + 0x58, 0x00, 0x18, 0x00, 0x96, 0x00, 0x6B, 0x00, + 0x0F, 0x00, 0xF6, 0xFF, 0x2D, 0x00, 0x0F, 0x00, + 0xE2, 0xFF, 0x2D, 0x00, 0x0F, 0x00, 0xCE, 0xFF, + 0x2D, 0x00, 0x0F, 0x00, 0xBA, 0xFF, 0x2D, 0x00, + 0x12, 0x00, 0xA6, 0xFF, 0x3C, 0x00, 0x14, 0x00, + 0x92, 0xFF, 0x49, 0x00, 0x16, 0x00, 0x7E, 0xFF, + 0x58, 0x00, 0x18, 0x00, 0x6A, 0xFF, 0x6B, 0x00, + 0x0F, 0x00, 0x0A, 0x00, 0x3F, 0x00, 0x0F, 0x00, + 0x1E, 0x00, 0x3F, 0x00, 0x0F, 0x00, 0x32, 0x00, + 0x3F, 0x00, 0x0F, 0x00, 0x46, 0x00, 0x3F, 0x00, + 0x12, 0x00, 0x5A, 0x00, 0x54, 0x00, 0x14, 0x00, + 0x6E, 0x00, 0x66, 0x00, 0x16, 0x00, 0x82, 0x00, + 0x7B, 0x00, 0x18, 0x00, 0x96, 0x00, 0x96, 0x00, + 0x0F, 0x00, 0xF6, 0xFF, 0x3F, 0x00, 0x0F, 0x00, + 0xE2, 0xFF, 0x3F, 0x00, 0x0F, 0x00, 0xCE, 0xFF, + 0x3F, 0x00, 0x0F, 0x00, 0xBA, 0xFF, 0x3F, 0x00, + 0x12, 0x00, 0xA6, 0xFF, 0x54, 0x00, 0x14, 0x00, + 0x92, 0xFF, 0x66, 0x00, 0x16, 0x00, 0x7E, 0xFF, + 0x7B, 0x00, 0x18, 0x00, 0x6A, 0xFF, 0x96, 0x00, + 0x12, 0x00, 0x0A, 0x00, 0x52, 0x00, 0x12, 0x00, + 0x1E, 0x00, 0x52, 0x00, 0x12, 0x00, 0x32, 0x00, + 0x52, 0x00, 0x12, 0x00, 0x46, 0x00, 0x52, 0x00, + 0x15, 0x00, 0x5A, 0x00, 0x6D, 0x00, 0x17, 0x00, + 0x6E, 0x00, 0x84, 0x00, 0x19, 0x00, 0x82, 0x00, + 0xA0, 0x00, 0x1B, 0x00, 0x96, 0x00, 0xC2, 0x00, + 0x12, 0x00, 0xF6, 0xFF, 0x52, 0x00, 0x12, 0x00, + 0xE2, 0xFF, 0x52, 0x00, 0x12, 0x00, 0xCE, 0xFF, + 0x52, 0x00, 0x12, 0x00, 0xBA, 0xFF, 0x52, 0x00, + 0x15, 0x00, 0xA6, 0xFF, 0x6D, 0x00, 0x17, 0x00, + 0x92, 0xFF, 0x84, 0x00, 0x19, 0x00, 0x7E, 0xFF, + 0xA0, 0x00, 0x1B, 0x00, 0x6A, 0xFF, 0xC2, 0x00, + 0x14, 0x00, 0x0A, 0x00, 0x64, 0x00, 0x14, 0x00, + 0x1E, 0x00, 0x64, 0x00, 0x14, 0x00, 0x32, 0x00, + 0x64, 0x00, 0x14, 0x00, 0x46, 0x00, 0x64, 0x00, + 0x17, 0x00, 0x5A, 0x00, 0x85, 0x00, 0x19, 0x00, + 0x6E, 0x00, 0xA1, 0x00, 0x1B, 0x00, 0x82, 0x00, + 0xC3, 0x00, 0x1D, 0x00, 0x96, 0x00, 0xED, 0x00, + 0x14, 0x00, 0xF6, 0xFF, 0x64, 0x00, 0x14, 0x00, + 0xE2, 0xFF, 0x64, 0x00, 0x14, 0x00, 0xCE, 0xFF, + 0x64, 0x00, 0x14, 0x00, 0xBA, 0xFF, 0x64, 0x00, + 0x17, 0x00, 0xA6, 0xFF, 0x85, 0x00, 0x19, 0x00, + 0x92, 0xFF, 0xA1, 0x00, 0x1B, 0x00, 0x7E, 0xFF, + 0xC3, 0x00, 0x1D, 0x00, 0x6A, 0xFF, 0xED, 0x00, + 0x16, 0x00, 0x0A, 0x00, 0x76, 0x00, 0x16, 0x00, + 0x1E, 0x00, 0x76, 0x00, 0x16, 0x00, 0x32, 0x00, + 0x76, 0x00, 0x16, 0x00, 0x46, 0x00, 0x76, 0x00, + 0x19, 0x00, 0x5A, 0x00, 0x9D, 0x00, 0x1B, 0x00, + 0x6E, 0x00, 0xBF, 0x00, 0x1D, 0x00, 0x82, 0x00, + 0xE7, 0x00, 0x1F, 0x00, 0x96, 0x00, 0x18, 0x01, + 0x16, 0x00, 0xF6, 0xFF, 0x76, 0x00, 0x16, 0x00, + 0xE2, 0xFF, 0x76, 0x00, 0x16, 0x00, 0xCE, 0xFF, + 0x76, 0x00, 0x16, 0x00, 0xBA, 0xFF, 0x76, 0x00, + 0x19, 0x00, 0xA6, 0xFF, 0x9D, 0x00, 0x1B, 0x00, + 0x92, 0xFF, 0xBF, 0x00, 0x1D, 0x00, 0x7E, 0xFF, + 0xE7, 0x00, 0x1F, 0x00, 0x6A, 0xFF, 0x18, 0x01, + 0x18, 0x00, 0x0A, 0x00, 0x88, 0x00, 0x18, 0x00, + 0x1E, 0x00, 0x88, 0x00, 0x18, 0x00, 0x32, 0x00, + 0x88, 0x00, 0x18, 0x00, 0x46, 0x00, 0x88, 0x00, + 0x1B, 0x00, 0x5A, 0x00, 0xB5, 0x00, 0x1D, 0x00, + 0x6E, 0x00, 0xDC, 0x00, 0x1F, 0x00, 0x82, 0x00, + 0x0A, 0x01, 0x21, 0x00, 0x96, 0x00, 0x43, 0x01, + 0x18, 0x00, 0xF6, 0xFF, 0x88, 0x00, 0x18, 0x00, + 0xE2, 0xFF, 0x88, 0x00, 0x18, 0x00, 0xCE, 0xFF, + 0x88, 0x00, 0x18, 0x00, 0xBA, 0xFF, 0x88, 0x00, + 0x1B, 0x00, 0xA6, 0xFF, 0xB5, 0x00, 0x1D, 0x00, + 0x92, 0xFF, 0xDC, 0x00, 0x1F, 0x00, 0x7E, 0xFF, + 0x0A, 0x01, 0x21, 0x00, 0x6A, 0xFF, 0x43, 0x01, + 0x0F, 0x00, 0x0A, 0x00, 0xF7, 0xFF, 0x0F, 0x00, + 0x1E, 0x00, 0xF7, 0xFF, 0x0F, 0x00, 0x32, 0x00, + 0xF7, 0xFF, 0x0F, 0x00, 0x46, 0x00, 0xF7, 0xFF, + 0x12, 0x00, 0x5A, 0x00, 0xF4, 0xFF, 0x14, 0x00, + 0x6E, 0x00, 0xF2, 0xFF, 0x16, 0x00, 0x82, 0x00, + 0xEF, 0xFF, 0x18, 0x00, 0x96, 0x00, 0xEB, 0xFF, + 0x0F, 0x00, 0xF6, 0xFF, 0xF7, 0xFF, 0x0F, 0x00, + 0xE2, 0xFF, 0xF7, 0xFF, 0x0F, 0x00, 0xCE, 0xFF, + 0xF7, 0xFF, 0x0F, 0x00, 0xBA, 0xFF, 0xF7, 0xFF, + 0x12, 0x00, 0xA6, 0xFF, 0xF4, 0xFF, 0x14, 0x00, + 0x92, 0xFF, 0xF2, 0xFF, 0x16, 0x00, 0x7E, 0xFF, + 0xEF, 0xFF, 0x18, 0x00, 0x6A, 0xFF, 0xEB, 0xFF, + 0x0F, 0x00, 0x0A, 0x00, 0xE5, 0xFF, 0x0F, 0x00, + 0x1E, 0x00, 0xE5, 0xFF, 0x0F, 0x00, 0x32, 0x00, + 0xE5, 0xFF, 0x0F, 0x00, 0x46, 0x00, 0xE5, 0xFF, + 0x12, 0x00, 0x5A, 0x00, 0xDC, 0xFF, 0x14, 0x00, + 0x6E, 0x00, 0xD5, 0xFF, 0x16, 0x00, 0x82, 0x00, + 0xCC, 0xFF, 0x18, 0x00, 0x96, 0x00, 0xC0, 0xFF, + 0x0F, 0x00, 0xF6, 0xFF, 0xE5, 0xFF, 0x0F, 0x00, + 0xE2, 0xFF, 0xE5, 0xFF, 0x0F, 0x00, 0xCE, 0xFF, + 0xE5, 0xFF, 0x0F, 0x00, 0xBA, 0xFF, 0xE5, 0xFF, + 0x12, 0x00, 0xA6, 0xFF, 0xDC, 0xFF, 0x14, 0x00, + 0x92, 0xFF, 0xD5, 0xFF, 0x16, 0x00, 0x7E, 0xFF, + 0xCC, 0xFF, 0x18, 0x00, 0x6A, 0xFF, 0xC0, 0xFF, + 0x0F, 0x00, 0x0A, 0x00, 0xD3, 0xFF, 0x0F, 0x00, + 0x1E, 0x00, 0xD3, 0xFF, 0x0F, 0x00, 0x32, 0x00, + 0xD3, 0xFF, 0x0F, 0x00, 0x46, 0x00, 0xD3, 0xFF, + 0x12, 0x00, 0x5A, 0x00, 0xC4, 0xFF, 0x14, 0x00, + 0x6E, 0x00, 0xB7, 0xFF, 0x16, 0x00, 0x82, 0x00, + 0xA8, 0xFF, 0x18, 0x00, 0x96, 0x00, 0x95, 0xFF, + 0x0F, 0x00, 0xF6, 0xFF, 0xD3, 0xFF, 0x0F, 0x00, + 0xE2, 0xFF, 0xD3, 0xFF, 0x0F, 0x00, 0xCE, 0xFF, + 0xD3, 0xFF, 0x0F, 0x00, 0xBA, 0xFF, 0xD3, 0xFF, + 0x12, 0x00, 0xA6, 0xFF, 0xC4, 0xFF, 0x14, 0x00, + 0x92, 0xFF, 0xB7, 0xFF, 0x16, 0x00, 0x7E, 0xFF, + 0xA8, 0xFF, 0x18, 0x00, 0x6A, 0xFF, 0x95, 0xFF, + 0x0F, 0x00, 0x0A, 0x00, 0xC1, 0xFF, 0x0F, 0x00, + 0x1E, 0x00, 0xC1, 0xFF, 0x0F, 0x00, 0x32, 0x00, + 0xC1, 0xFF, 0x0F, 0x00, 0x46, 0x00, 0xC1, 0xFF, + 0x12, 0x00, 0x5A, 0x00, 0xAC, 0xFF, 0x14, 0x00, + 0x6E, 0x00, 0x9A, 0xFF, 0x16, 0x00, 0x82, 0x00, + 0x85, 0xFF, 0x18, 0x00, 0x96, 0x00, 0x6A, 0xFF, + 0x0F, 0x00, 0xF6, 0xFF, 0xC1, 0xFF, 0x0F, 0x00, + 0xE2, 0xFF, 0xC1, 0xFF, 0x0F, 0x00, 0xCE, 0xFF, + 0xC1, 0xFF, 0x0F, 0x00, 0xBA, 0xFF, 0xC1, 0xFF, + 0x12, 0x00, 0xA6, 0xFF, 0xAC, 0xFF, 0x14, 0x00, + 0x92, 0xFF, 0x9A, 0xFF, 0x16, 0x00, 0x7E, 0xFF, + 0x85, 0xFF, 0x18, 0x00, 0x6A, 0xFF, 0x6A, 0xFF, + 0x12, 0x00, 0x0A, 0x00, 0xAE, 0xFF, 0x12, 0x00, + 0x1E, 0x00, 0xAE, 0xFF, 0x12, 0x00, 0x32, 0x00, + 0xAE, 0xFF, 0x12, 0x00, 0x46, 0x00, 0xAE, 0xFF, + 0x15, 0x00, 0x5A, 0x00, 0x93, 0xFF, 0x17, 0x00, + 0x6E, 0x00, 0x7C, 0xFF, 0x19, 0x00, 0x82, 0x00, + 0x60, 0xFF, 0x1B, 0x00, 0x96, 0x00, 0x3E, 0xFF, + 0x12, 0x00, 0xF6, 0xFF, 0xAE, 0xFF, 0x12, 0x00, + 0xE2, 0xFF, 0xAE, 0xFF, 0x12, 0x00, 0xCE, 0xFF, + 0xAE, 0xFF, 0x12, 0x00, 0xBA, 0xFF, 0xAE, 0xFF, + 0x15, 0x00, 0xA6, 0xFF, 0x93, 0xFF, 0x17, 0x00, + 0x92, 0xFF, 0x7C, 0xFF, 0x19, 0x00, 0x7E, 0xFF, + 0x60, 0xFF, 0x1B, 0x00, 0x6A, 0xFF, 0x3E, 0xFF, + 0x14, 0x00, 0x0A, 0x00, 0x9C, 0xFF, 0x14, 0x00, + 0x1E, 0x00, 0x9C, 0xFF, 0x14, 0x00, 0x32, 0x00, + 0x9C, 0xFF, 0x14, 0x00, 0x46, 0x00, 0x9C, 0xFF, + 0x17, 0x00, 0x5A, 0x00, 0x7B, 0xFF, 0x19, 0x00, + 0x6E, 0x00, 0x5F, 0xFF, 0x1B, 0x00, 0x82, 0x00, + 0x3D, 0xFF, 0x1D, 0x00, 0x96, 0x00, 0x13, 0xFF, + 0x14, 0x00, 0xF6, 0xFF, 0x9C, 0xFF, 0x14, 0x00, + 0xE2, 0xFF, 0x9C, 0xFF, 0x14, 0x00, 0xCE, 0xFF, + 0x9C, 0xFF, 0x14, 0x00, 0xBA, 0xFF, 0x9C, 0xFF, + 0x17, 0x00, 0xA6, 0xFF, 0x7B, 0xFF, 0x19, 0x00, + 0x92, 0xFF, 0x5F, 0xFF, 0x1B, 0x00, 0x7E, 0xFF, + 0x3D, 0xFF, 0x1D, 0x00, 0x6A, 0xFF, 0x13, 0xFF, + 0x16, 0x00, 0x0A, 0x00, 0x8A, 0xFF, 0x16, 0x00, + 0x1E, 0x00, 0x8A, 0xFF, 0x16, 0x00, 0x32, 0x00, + 0x8A, 0xFF, 0x16, 0x00, 0x46, 0x00, 0x8A, 0xFF, + 0x19, 0x00, 0x5A, 0x00, 0x63, 0xFF, 0x1B, 0x00, + 0x6E, 0x00, 0x41, 0xFF, 0x1D, 0x00, 0x82, 0x00, + 0x19, 0xFF, 0x1F, 0x00, 0x96, 0x00, 0xE8, 0xFE, + 0x16, 0x00, 0xF6, 0xFF, 0x8A, 0xFF, 0x16, 0x00, + 0xE2, 0xFF, 0x8A, 0xFF, 0x16, 0x00, 0xCE, 0xFF, + 0x8A, 0xFF, 0x16, 0x00, 0xBA, 0xFF, 0x8A, 0xFF, + 0x19, 0x00, 0xA6, 0xFF, 0x63, 0xFF, 0x1B, 0x00, + 0x92, 0xFF, 0x41, 0xFF, 0x1D, 0x00, 0x7E, 0xFF, + 0x19, 0xFF, 0x1F, 0x00, 0x6A, 0xFF, 0xE8, 0xFE, + 0x18, 0x00, 0x0A, 0x00, 0x78, 0xFF, 0x18, 0x00, + 0x1E, 0x00, 0x78, 0xFF, 0x18, 0x00, 0x32, 0x00, + 0x78, 0xFF, 0x18, 0x00, 0x46, 0x00, 0x78, 0xFF, + 0x1B, 0x00, 0x5A, 0x00, 0x4B, 0xFF, 0x1D, 0x00, + 0x6E, 0x00, 0x24, 0xFF, 0x1F, 0x00, 0x82, 0x00, + 0xF6, 0xFE, 0x21, 0x00, 0x96, 0x00, 0xBD, 0xFE, + 0x18, 0x00, 0xF6, 0xFF, 0x78, 0xFF, 0x18, 0x00, + 0xE2, 0xFF, 0x78, 0xFF, 0x18, 0x00, 0xCE, 0xFF, + 0x78, 0xFF, 0x18, 0x00, 0xBA, 0xFF, 0x78, 0xFF, + 0x1B, 0x00, 0xA6, 0xFF, 0x4B, 0xFF, 0x1D, 0x00, + 0x92, 0xFF, 0x24, 0xFF, 0x1F, 0x00, 0x7E, 0xFF, + 0xF6, 0xFE, 0x21, 0x00, 0x6A, 0xFF, 0xBD, 0xFE, + 0x10, 0x00, 0x0B, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x21, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x37, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x4D, 0x00, 0x0A, 0x00, + 0x13, 0x00, 0x63, 0x00, 0x0D, 0x00, 0x15, 0x00, + 0x79, 0x00, 0x10, 0x00, 0x17, 0x00, 0x8F, 0x00, + 0x13, 0x00, 0x19, 0x00, 0xA5, 0x00, 0x17, 0x00, + 0x10, 0x00, 0xF5, 0xFF, 0x0A, 0x00, 0x10, 0x00, + 0xDF, 0xFF, 0x0A, 0x00, 0x10, 0x00, 0xC9, 0xFF, + 0x0A, 0x00, 0x10, 0x00, 0xB3, 0xFF, 0x0A, 0x00, + 0x13, 0x00, 0x9D, 0xFF, 0x0D, 0x00, 0x15, 0x00, + 0x87, 0xFF, 0x10, 0x00, 0x17, 0x00, 0x71, 0xFF, + 0x13, 0x00, 0x19, 0x00, 0x5B, 0xFF, 0x17, 0x00, + 0x10, 0x00, 0x0B, 0x00, 0x1E, 0x00, 0x10, 0x00, + 0x21, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x37, 0x00, + 0x1E, 0x00, 0x10, 0x00, 0x4D, 0x00, 0x1E, 0x00, + 0x13, 0x00, 0x63, 0x00, 0x27, 0x00, 0x15, 0x00, + 0x79, 0x00, 0x30, 0x00, 0x17, 0x00, 0x8F, 0x00, + 0x3A, 0x00, 0x19, 0x00, 0xA5, 0x00, 0x46, 0x00, + 0x10, 0x00, 0xF5, 0xFF, 0x1E, 0x00, 0x10, 0x00, + 0xDF, 0xFF, 0x1E, 0x00, 0x10, 0x00, 0xC9, 0xFF, + 0x1E, 0x00, 0x10, 0x00, 0xB3, 0xFF, 0x1E, 0x00, + 0x13, 0x00, 0x9D, 0xFF, 0x27, 0x00, 0x15, 0x00, + 0x87, 0xFF, 0x30, 0x00, 0x17, 0x00, 0x71, 0xFF, + 0x3A, 0x00, 0x19, 0x00, 0x5B, 0xFF, 0x46, 0x00, + 0x10, 0x00, 0x0B, 0x00, 0x32, 0x00, 0x10, 0x00, + 0x21, 0x00, 0x32, 0x00, 0x10, 0x00, 0x37, 0x00, + 0x32, 0x00, 0x10, 0x00, 0x4D, 0x00, 0x32, 0x00, + 0x13, 0x00, 0x63, 0x00, 0x42, 0x00, 0x15, 0x00, + 0x79, 0x00, 0x51, 0x00, 0x17, 0x00, 0x8F, 0x00, + 0x61, 0x00, 0x19, 0x00, 0xA5, 0x00, 0x76, 0x00, + 0x10, 0x00, 0xF5, 0xFF, 0x32, 0x00, 0x10, 0x00, + 0xDF, 0xFF, 0x32, 0x00, 0x10, 0x00, 0xC9, 0xFF, + 0x32, 0x00, 0x10, 0x00, 0xB3, 0xFF, 0x32, 0x00, + 0x13, 0x00, 0x9D, 0xFF, 0x42, 0x00, 0x15, 0x00, + 0x87, 0xFF, 0x51, 0x00, 0x17, 0x00, 0x71, 0xFF, + 0x61, 0x00, 0x19, 0x00, 0x5B, 0xFF, 0x76, 0x00, + 0x10, 0x00, 0x0B, 0x00, 0x46, 0x00, 0x10, 0x00, + 0x21, 0x00, 0x46, 0x00, 0x10, 0x00, 0x37, 0x00, + 0x46, 0x00, 0x10, 0x00, 0x4D, 0x00, 0x46, 0x00, + 0x13, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x15, 0x00, + 0x79, 0x00, 0x71, 0x00, 0x17, 0x00, 0x8F, 0x00, + 0x88, 0x00, 0x19, 0x00, 0xA5, 0x00, 0xA5, 0x00, + 0x10, 0x00, 0xF5, 0xFF, 0x46, 0x00, 0x10, 0x00, + 0xDF, 0xFF, 0x46, 0x00, 0x10, 0x00, 0xC9, 0xFF, + 0x46, 0x00, 0x10, 0x00, 0xB3, 0xFF, 0x46, 0x00, + 0x13, 0x00, 0x9D, 0xFF, 0x5C, 0x00, 0x15, 0x00, + 0x87, 0xFF, 0x71, 0x00, 0x17, 0x00, 0x71, 0xFF, + 0x88, 0x00, 0x19, 0x00, 0x5B, 0xFF, 0xA5, 0x00, + 0x13, 0x00, 0x0B, 0x00, 0x5A, 0x00, 0x13, 0x00, + 0x21, 0x00, 0x5A, 0x00, 0x13, 0x00, 0x37, 0x00, + 0x5A, 0x00, 0x13, 0x00, 0x4D, 0x00, 0x5A, 0x00, + 0x16, 0x00, 0x63, 0x00, 0x78, 0x00, 0x18, 0x00, + 0x79, 0x00, 0x92, 0x00, 0x1A, 0x00, 0x8F, 0x00, + 0xB0, 0x00, 0x1C, 0x00, 0xA5, 0x00, 0xD5, 0x00, + 0x13, 0x00, 0xF5, 0xFF, 0x5A, 0x00, 0x13, 0x00, + 0xDF, 0xFF, 0x5A, 0x00, 0x13, 0x00, 0xC9, 0xFF, + 0x5A, 0x00, 0x13, 0x00, 0xB3, 0xFF, 0x5A, 0x00, + 0x16, 0x00, 0x9D, 0xFF, 0x78, 0x00, 0x18, 0x00, + 0x87, 0xFF, 0x92, 0x00, 0x1A, 0x00, 0x71, 0xFF, + 0xB0, 0x00, 0x1C, 0x00, 0x5B, 0xFF, 0xD5, 0x00, + 0x15, 0x00, 0x0B, 0x00, 0x6E, 0x00, 0x15, 0x00, + 0x21, 0x00, 0x6E, 0x00, 0x15, 0x00, 0x37, 0x00, + 0x6E, 0x00, 0x15, 0x00, 0x4D, 0x00, 0x6E, 0x00, + 0x18, 0x00, 0x63, 0x00, 0x92, 0x00, 0x1A, 0x00, + 0x79, 0x00, 0xB2, 0x00, 0x1C, 0x00, 0x8F, 0x00, + 0xD7, 0x00, 0x1E, 0x00, 0xA5, 0x00, 0x04, 0x01, + 0x15, 0x00, 0xF5, 0xFF, 0x6E, 0x00, 0x15, 0x00, + 0xDF, 0xFF, 0x6E, 0x00, 0x15, 0x00, 0xC9, 0xFF, + 0x6E, 0x00, 0x15, 0x00, 0xB3, 0xFF, 0x6E, 0x00, + 0x18, 0x00, 0x9D, 0xFF, 0x92, 0x00, 0x1A, 0x00, + 0x87, 0xFF, 0xB2, 0x00, 0x1C, 0x00, 0x71, 0xFF, + 0xD7, 0x00, 0x1E, 0x00, 0x5B, 0xFF, 0x04, 0x01, + 0x17, 0x00, 0x0B, 0x00, 0x82, 0x00, 0x17, 0x00, + 0x21, 0x00, 0x82, 0x00, 0x17, 0x00, 0x37, 0x00, + 0x82, 0x00, 0x17, 0x00, 0x4D, 0x00, 0x82, 0x00, + 0x1A, 0x00, 0x63, 0x00, 0xAD, 0x00, 0x1C, 0x00, + 0x79, 0x00, 0xD3, 0x00, 0x1E, 0x00, 0x8F, 0x00, + 0xFE, 0x00, 0x20, 0x00, 0xA5, 0x00, 0x34, 0x01, + 0x17, 0x00, 0xF5, 0xFF, 0x82, 0x00, 0x17, 0x00, + 0xDF, 0xFF, 0x82, 0x00, 0x17, 0x00, 0xC9, 0xFF, + 0x82, 0x00, 0x17, 0x00, 0xB3, 0xFF, 0x82, 0x00, + 0x1A, 0x00, 0x9D, 0xFF, 0xAD, 0x00, 0x1C, 0x00, + 0x87, 0xFF, 0xD3, 0x00, 0x1E, 0x00, 0x71, 0xFF, + 0xFE, 0x00, 0x20, 0x00, 0x5B, 0xFF, 0x34, 0x01, + 0x19, 0x00, 0x0B, 0x00, 0x96, 0x00, 0x19, 0x00, + 0x21, 0x00, 0x96, 0x00, 0x19, 0x00, 0x37, 0x00, + 0x96, 0x00, 0x19, 0x00, 0x4D, 0x00, 0x96, 0x00, + 0x1C, 0x00, 0x63, 0x00, 0xC7, 0x00, 0x1E, 0x00, + 0x79, 0x00, 0xF3, 0x00, 0x20, 0x00, 0x8F, 0x00, + 0x25, 0x01, 0x22, 0x00, 0xA5, 0x00, 0x63, 0x01, + 0x19, 0x00, 0xF5, 0xFF, 0x96, 0x00, 0x19, 0x00, + 0xDF, 0xFF, 0x96, 0x00, 0x19, 0x00, 0xC9, 0xFF, + 0x96, 0x00, 0x19, 0x00, 0xB3, 0xFF, 0x96, 0x00, + 0x1C, 0x00, 0x9D, 0xFF, 0xC7, 0x00, 0x1E, 0x00, + 0x87, 0xFF, 0xF3, 0x00, 0x20, 0x00, 0x71, 0xFF, + 0x25, 0x01, 0x22, 0x00, 0x5B, 0xFF, 0x63, 0x01, + 0x10, 0x00, 0x0B, 0x00, 0xF6, 0xFF, 0x10, 0x00, + 0x21, 0x00, 0xF6, 0xFF, 0x10, 0x00, 0x37, 0x00, + 0xF6, 0xFF, 0x10, 0x00, 0x4D, 0x00, 0xF6, 0xFF, + 0x13, 0x00, 0x63, 0x00, 0xF3, 0xFF, 0x15, 0x00, + 0x79, 0x00, 0xF0, 0xFF, 0x17, 0x00, 0x8F, 0x00, + 0xED, 0xFF, 0x19, 0x00, 0xA5, 0x00, 0xE9, 0xFF, + 0x10, 0x00, 0xF5, 0xFF, 0xF6, 0xFF, 0x10, 0x00, + 0xDF, 0xFF, 0xF6, 0xFF, 0x10, 0x00, 0xC9, 0xFF, + 0xF6, 0xFF, 0x10, 0x00, 0xB3, 0xFF, 0xF6, 0xFF, + 0x13, 0x00, 0x9D, 0xFF, 0xF3, 0xFF, 0x15, 0x00, + 0x87, 0xFF, 0xF0, 0xFF, 0x17, 0x00, 0x71, 0xFF, + 0xED, 0xFF, 0x19, 0x00, 0x5B, 0xFF, 0xE9, 0xFF, + 0x10, 0x00, 0x0B, 0x00, 0xE2, 0xFF, 0x10, 0x00, + 0x21, 0x00, 0xE2, 0xFF, 0x10, 0x00, 0x37, 0x00, + 0xE2, 0xFF, 0x10, 0x00, 0x4D, 0x00, 0xE2, 0xFF, + 0x13, 0x00, 0x63, 0x00, 0xD9, 0xFF, 0x15, 0x00, + 0x79, 0x00, 0xD0, 0xFF, 0x17, 0x00, 0x8F, 0x00, + 0xC6, 0xFF, 0x19, 0x00, 0xA5, 0x00, 0xBA, 0xFF, + 0x10, 0x00, 0xF5, 0xFF, 0xE2, 0xFF, 0x10, 0x00, + 0xDF, 0xFF, 0xE2, 0xFF, 0x10, 0x00, 0xC9, 0xFF, + 0xE2, 0xFF, 0x10, 0x00, 0xB3, 0xFF, 0xE2, 0xFF, + 0x13, 0x00, 0x9D, 0xFF, 0xD9, 0xFF, 0x15, 0x00, + 0x87, 0xFF, 0xD0, 0xFF, 0x17, 0x00, 0x71, 0xFF, + 0xC6, 0xFF, 0x19, 0x00, 0x5B, 0xFF, 0xBA, 0xFF, + 0x10, 0x00, 0x0B, 0x00, 0xCE, 0xFF, 0x10, 0x00, + 0x21, 0x00, 0xCE, 0xFF, 0x10, 0x00, 0x37, 0x00, + 0xCE, 0xFF, 0x10, 0x00, 0x4D, 0x00, 0xCE, 0xFF, + 0x13, 0x00, 0x63, 0x00, 0xBE, 0xFF, 0x15, 0x00, + 0x79, 0x00, 0xAF, 0xFF, 0x17, 0x00, 0x8F, 0x00, + 0x9F, 0xFF, 0x19, 0x00, 0xA5, 0x00, 0x8A, 0xFF, + 0x10, 0x00, 0xF5, 0xFF, 0xCE, 0xFF, 0x10, 0x00, + 0xDF, 0xFF, 0xCE, 0xFF, 0x10, 0x00, 0xC9, 0xFF, + 0xCE, 0xFF, 0x10, 0x00, 0xB3, 0xFF, 0xCE, 0xFF, + 0x13, 0x00, 0x9D, 0xFF, 0xBE, 0xFF, 0x15, 0x00, + 0x87, 0xFF, 0xAF, 0xFF, 0x17, 0x00, 0x71, 0xFF, + 0x9F, 0xFF, 0x19, 0x00, 0x5B, 0xFF, 0x8A, 0xFF, + 0x10, 0x00, 0x0B, 0x00, 0xBA, 0xFF, 0x10, 0x00, + 0x21, 0x00, 0xBA, 0xFF, 0x10, 0x00, 0x37, 0x00, + 0xBA, 0xFF, 0x10, 0x00, 0x4D, 0x00, 0xBA, 0xFF, + 0x13, 0x00, 0x63, 0x00, 0xA4, 0xFF, 0x15, 0x00, + 0x79, 0x00, 0x8F, 0xFF, 0x17, 0x00, 0x8F, 0x00, + 0x78, 0xFF, 0x19, 0x00, 0xA5, 0x00, 0x5B, 0xFF, + 0x10, 0x00, 0xF5, 0xFF, 0xBA, 0xFF, 0x10, 0x00, + 0xDF, 0xFF, 0xBA, 0xFF, 0x10, 0x00, 0xC9, 0xFF, + 0xBA, 0xFF, 0x10, 0x00, 0xB3, 0xFF, 0xBA, 0xFF, + 0x13, 0x00, 0x9D, 0xFF, 0xA4, 0xFF, 0x15, 0x00, + 0x87, 0xFF, 0x8F, 0xFF, 0x17, 0x00, 0x71, 0xFF, + 0x78, 0xFF, 0x19, 0x00, 0x5B, 0xFF, 0x5B, 0xFF, + 0x13, 0x00, 0x0B, 0x00, 0xA6, 0xFF, 0x13, 0x00, + 0x21, 0x00, 0xA6, 0xFF, 0x13, 0x00, 0x37, 0x00, + 0xA6, 0xFF, 0x13, 0x00, 0x4D, 0x00, 0xA6, 0xFF, + 0x16, 0x00, 0x63, 0x00, 0x88, 0xFF, 0x18, 0x00, + 0x79, 0x00, 0x6E, 0xFF, 0x1A, 0x00, 0x8F, 0x00, + 0x50, 0xFF, 0x1C, 0x00, 0xA5, 0x00, 0x2B, 0xFF, + 0x13, 0x00, 0xF5, 0xFF, 0xA6, 0xFF, 0x13, 0x00, + 0xDF, 0xFF, 0xA6, 0xFF, 0x13, 0x00, 0xC9, 0xFF, + 0xA6, 0xFF, 0x13, 0x00, 0xB3, 0xFF, 0xA6, 0xFF, + 0x16, 0x00, 0x9D, 0xFF, 0x88, 0xFF, 0x18, 0x00, + 0x87, 0xFF, 0x6E, 0xFF, 0x1A, 0x00, 0x71, 0xFF, + 0x50, 0xFF, 0x1C, 0x00, 0x5B, 0xFF, 0x2B, 0xFF, + 0x15, 0x00, 0x0B, 0x00, 0x92, 0xFF, 0x15, 0x00, + 0x21, 0x00, 0x92, 0xFF, 0x15, 0x00, 0x37, 0x00, + 0x92, 0xFF, 0x15, 0x00, 0x4D, 0x00, 0x92, 0xFF, + 0x18, 0x00, 0x63, 0x00, 0x6E, 0xFF, 0x1A, 0x00, + 0x79, 0x00, 0x4E, 0xFF, 0x1C, 0x00, 0x8F, 0x00, + 0x29, 0xFF, 0x1E, 0x00, 0xA5, 0x00, 0xFC, 0xFE, + 0x15, 0x00, 0xF5, 0xFF, 0x92, 0xFF, 0x15, 0x00, + 0xDF, 0xFF, 0x92, 0xFF, 0x15, 0x00, 0xC9, 0xFF, + 0x92, 0xFF, 0x15, 0x00, 0xB3, 0xFF, 0x92, 0xFF, + 0x18, 0x00, 0x9D, 0xFF, 0x6E, 0xFF, 0x1A, 0x00, + 0x87, 0xFF, 0x4E, 0xFF, 0x1C, 0x00, 0x71, 0xFF, + 0x29, 0xFF, 0x1E, 0x00, 0x5B, 0xFF, 0xFC, 0xFE, + 0x17, 0x00, 0x0B, 0x00, 0x7E, 0xFF, 0x17, 0x00, + 0x21, 0x00, 0x7E, 0xFF, 0x17, 0x00, 0x37, 0x00, + 0x7E, 0xFF, 0x17, 0x00, 0x4D, 0x00, 0x7E, 0xFF, + 0x1A, 0x00, 0x63, 0x00, 0x53, 0xFF, 0x1C, 0x00, + 0x79, 0x00, 0x2D, 0xFF, 0x1E, 0x00, 0x8F, 0x00, + 0x02, 0xFF, 0x20, 0x00, 0xA5, 0x00, 0xCC, 0xFE, + 0x17, 0x00, 0xF5, 0xFF, 0x7E, 0xFF, 0x17, 0x00, + 0xDF, 0xFF, 0x7E, 0xFF, 0x17, 0x00, 0xC9, 0xFF, + 0x7E, 0xFF, 0x17, 0x00, 0xB3, 0xFF, 0x7E, 0xFF, + 0x1A, 0x00, 0x9D, 0xFF, 0x53, 0xFF, 0x1C, 0x00, + 0x87, 0xFF, 0x2D, 0xFF, 0x1E, 0x00, 0x71, 0xFF, + 0x02, 0xFF, 0x20, 0x00, 0x5B, 0xFF, 0xCC, 0xFE, + 0x19, 0x00, 0x0B, 0x00, 0x6A, 0xFF, 0x19, 0x00, + 0x21, 0x00, 0x6A, 0xFF, 0x19, 0x00, 0x37, 0x00, + 0x6A, 0xFF, 0x19, 0x00, 0x4D, 0x00, 0x6A, 0xFF, + 0x1C, 0x00, 0x63, 0x00, 0x39, 0xFF, 0x1E, 0x00, + 0x79, 0x00, 0x0D, 0xFF, 0x20, 0x00, 0x8F, 0x00, + 0xDB, 0xFE, 0x22, 0x00, 0xA5, 0x00, 0x9D, 0xFE, + 0x19, 0x00, 0xF5, 0xFF, 0x6A, 0xFF, 0x19, 0x00, + 0xDF, 0xFF, 0x6A, 0xFF, 0x19, 0x00, 0xC9, 0xFF, + 0x6A, 0xFF, 0x19, 0x00, 0xB3, 0xFF, 0x6A, 0xFF, + 0x1C, 0x00, 0x9D, 0xFF, 0x39, 0xFF, 0x1E, 0x00, + 0x87, 0xFF, 0x0D, 0xFF, 0x20, 0x00, 0x71, 0xFF, + 0xDB, 0xFE, 0x22, 0x00, 0x5B, 0xFF, 0x9D, 0xFE, + 0x11, 0x00, 0x0C, 0x00, 0x0B, 0x00, 0x11, 0x00, + 0x24, 0x00, 0x0B, 0x00, 0x11, 0x00, 0x3C, 0x00, + 0x0B, 0x00, 0x11, 0x00, 0x54, 0x00, 0x0B, 0x00, + 0x14, 0x00, 0x6D, 0x00, 0x0E, 0x00, 0x16, 0x00, + 0x85, 0x00, 0x11, 0x00, 0x18, 0x00, 0x9D, 0x00, + 0x15, 0x00, 0x1A, 0x00, 0xB5, 0x00, 0x1A, 0x00, + 0x11, 0x00, 0xF4, 0xFF, 0x0B, 0x00, 0x11, 0x00, + 0xDC, 0xFF, 0x0B, 0x00, 0x11, 0x00, 0xC4, 0xFF, + 0x0B, 0x00, 0x11, 0x00, 0xAC, 0xFF, 0x0B, 0x00, + 0x14, 0x00, 0x93, 0xFF, 0x0E, 0x00, 0x16, 0x00, + 0x7B, 0xFF, 0x11, 0x00, 0x18, 0x00, 0x63, 0xFF, + 0x15, 0x00, 0x1A, 0x00, 0x4B, 0xFF, 0x1A, 0x00, + 0x11, 0x00, 0x0C, 0x00, 0x21, 0x00, 0x11, 0x00, + 0x24, 0x00, 0x21, 0x00, 0x11, 0x00, 0x3C, 0x00, + 0x21, 0x00, 0x11, 0x00, 0x54, 0x00, 0x21, 0x00, + 0x14, 0x00, 0x6D, 0x00, 0x2B, 0x00, 0x16, 0x00, + 0x85, 0x00, 0x34, 0x00, 0x18, 0x00, 0x9D, 0x00, + 0x40, 0x00, 0x1A, 0x00, 0xB5, 0x00, 0x4E, 0x00, + 0x11, 0x00, 0xF4, 0xFF, 0x21, 0x00, 0x11, 0x00, + 0xDC, 0xFF, 0x21, 0x00, 0x11, 0x00, 0xC4, 0xFF, + 0x21, 0x00, 0x11, 0x00, 0xAC, 0xFF, 0x21, 0x00, + 0x14, 0x00, 0x93, 0xFF, 0x2B, 0x00, 0x16, 0x00, + 0x7B, 0xFF, 0x34, 0x00, 0x18, 0x00, 0x63, 0xFF, + 0x40, 0x00, 0x1A, 0x00, 0x4B, 0xFF, 0x4E, 0x00, + 0x11, 0x00, 0x0C, 0x00, 0x37, 0x00, 0x11, 0x00, + 0x24, 0x00, 0x37, 0x00, 0x11, 0x00, 0x3C, 0x00, + 0x37, 0x00, 0x11, 0x00, 0x54, 0x00, 0x37, 0x00, + 0x14, 0x00, 0x6D, 0x00, 0x49, 0x00, 0x16, 0x00, + 0x85, 0x00, 0x58, 0x00, 0x18, 0x00, 0x9D, 0x00, + 0x6B, 0x00, 0x1A, 0x00, 0xB5, 0x00, 0x82, 0x00, + 0x11, 0x00, 0xF4, 0xFF, 0x37, 0x00, 0x11, 0x00, + 0xDC, 0xFF, 0x37, 0x00, 0x11, 0x00, 0xC4, 0xFF, + 0x37, 0x00, 0x11, 0x00, 0xAC, 0xFF, 0x37, 0x00, + 0x14, 0x00, 0x93, 0xFF, 0x49, 0x00, 0x16, 0x00, + 0x7B, 0xFF, 0x58, 0x00, 0x18, 0x00, 0x63, 0xFF, + 0x6B, 0x00, 0x1A, 0x00, 0x4B, 0xFF, 0x82, 0x00, + 0x11, 0x00, 0x0C, 0x00, 0x4D, 0x00, 0x11, 0x00, + 0x24, 0x00, 0x4D, 0x00, 0x11, 0x00, 0x3C, 0x00, + 0x4D, 0x00, 0x11, 0x00, 0x54, 0x00, 0x4D, 0x00, + 0x14, 0x00, 0x6D, 0x00, 0x66, 0x00, 0x16, 0x00, + 0x85, 0x00, 0x7B, 0x00, 0x18, 0x00, 0x9D, 0x00, + 0x96, 0x00, 0x1A, 0x00, 0xB5, 0x00, 0xB6, 0x00, + 0x11, 0x00, 0xF4, 0xFF, 0x4D, 0x00, 0x11, 0x00, + 0xDC, 0xFF, 0x4D, 0x00, 0x11, 0x00, 0xC4, 0xFF, + 0x4D, 0x00, 0x11, 0x00, 0xAC, 0xFF, 0x4D, 0x00, + 0x14, 0x00, 0x93, 0xFF, 0x66, 0x00, 0x16, 0x00, + 0x7B, 0xFF, 0x7B, 0x00, 0x18, 0x00, 0x63, 0xFF, + 0x96, 0x00, 0x1A, 0x00, 0x4B, 0xFF, 0xB6, 0x00, + 0x14, 0x00, 0x0C, 0x00, 0x63, 0x00, 0x14, 0x00, + 0x24, 0x00, 0x63, 0x00, 0x14, 0x00, 0x3C, 0x00, + 0x63, 0x00, 0x14, 0x00, 0x54, 0x00, 0x63, 0x00, + 0x17, 0x00, 0x6D, 0x00, 0x84, 0x00, 0x19, 0x00, + 0x85, 0x00, 0xA0, 0x00, 0x1B, 0x00, 0x9D, 0x00, + 0xC2, 0x00, 0x1D, 0x00, 0xB5, 0x00, 0xEB, 0x00, + 0x14, 0x00, 0xF4, 0xFF, 0x63, 0x00, 0x14, 0x00, + 0xDC, 0xFF, 0x63, 0x00, 0x14, 0x00, 0xC4, 0xFF, + 0x63, 0x00, 0x14, 0x00, 0xAC, 0xFF, 0x63, 0x00, + 0x17, 0x00, 0x93, 0xFF, 0x84, 0x00, 0x19, 0x00, + 0x7B, 0xFF, 0xA0, 0x00, 0x1B, 0x00, 0x63, 0xFF, + 0xC2, 0x00, 0x1D, 0x00, 0x4B, 0xFF, 0xEB, 0x00, + 0x16, 0x00, 0x0C, 0x00, 0x79, 0x00, 0x16, 0x00, + 0x24, 0x00, 0x79, 0x00, 0x16, 0x00, 0x3C, 0x00, + 0x79, 0x00, 0x16, 0x00, 0x54, 0x00, 0x79, 0x00, + 0x19, 0x00, 0x6D, 0x00, 0xA1, 0x00, 0x1B, 0x00, + 0x85, 0x00, 0xC3, 0x00, 0x1D, 0x00, 0x9D, 0x00, + 0xED, 0x00, 0x1F, 0x00, 0xB5, 0x00, 0x1F, 0x01, + 0x16, 0x00, 0xF4, 0xFF, 0x79, 0x00, 0x16, 0x00, + 0xDC, 0xFF, 0x79, 0x00, 0x16, 0x00, 0xC4, 0xFF, + 0x79, 0x00, 0x16, 0x00, 0xAC, 0xFF, 0x79, 0x00, + 0x19, 0x00, 0x93, 0xFF, 0xA1, 0x00, 0x1B, 0x00, + 0x7B, 0xFF, 0xC3, 0x00, 0x1D, 0x00, 0x63, 0xFF, + 0xED, 0x00, 0x1F, 0x00, 0x4B, 0xFF, 0x1F, 0x01, + 0x18, 0x00, 0x0C, 0x00, 0x8F, 0x00, 0x18, 0x00, + 0x24, 0x00, 0x8F, 0x00, 0x18, 0x00, 0x3C, 0x00, + 0x8F, 0x00, 0x18, 0x00, 0x54, 0x00, 0x8F, 0x00, + 0x1B, 0x00, 0x6D, 0x00, 0xBF, 0x00, 0x1D, 0x00, + 0x85, 0x00, 0xE7, 0x00, 0x1F, 0x00, 0x9D, 0x00, + 0x18, 0x01, 0x21, 0x00, 0xB5, 0x00, 0x53, 0x01, + 0x18, 0x00, 0xF4, 0xFF, 0x8F, 0x00, 0x18, 0x00, + 0xDC, 0xFF, 0x8F, 0x00, 0x18, 0x00, 0xC4, 0xFF, + 0x8F, 0x00, 0x18, 0x00, 0xAC, 0xFF, 0x8F, 0x00, + 0x1B, 0x00, 0x93, 0xFF, 0xBF, 0x00, 0x1D, 0x00, + 0x7B, 0xFF, 0xE7, 0x00, 0x1F, 0x00, 0x63, 0xFF, + 0x18, 0x01, 0x21, 0x00, 0x4B, 0xFF, 0x53, 0x01, + 0x1A, 0x00, 0x0C, 0x00, 0xA5, 0x00, 0x1A, 0x00, + 0x24, 0x00, 0xA5, 0x00, 0x1A, 0x00, 0x3C, 0x00, + 0xA5, 0x00, 0x1A, 0x00, 0x54, 0x00, 0xA5, 0x00, + 0x1D, 0x00, 0x6D, 0x00, 0xDC, 0x00, 0x1F, 0x00, + 0x85, 0x00, 0x0A, 0x01, 0x21, 0x00, 0x9D, 0x00, + 0x43, 0x01, 0x23, 0x00, 0xB5, 0x00, 0x87, 0x01, + 0x1A, 0x00, 0xF4, 0xFF, 0xA5, 0x00, 0x1A, 0x00, + 0xDC, 0xFF, 0xA5, 0x00, 0x1A, 0x00, 0xC4, 0xFF, + 0xA5, 0x00, 0x1A, 0x00, 0xAC, 0xFF, 0xA5, 0x00, + 0x1D, 0x00, 0x93, 0xFF, 0xDC, 0x00, 0x1F, 0x00, + 0x7B, 0xFF, 0x0A, 0x01, 0x21, 0x00, 0x63, 0xFF, + 0x43, 0x01, 0x23, 0x00, 0x4B, 0xFF, 0x87, 0x01, + 0x11, 0x00, 0x0C, 0x00, 0xF5, 0xFF, 0x11, 0x00, + 0x24, 0x00, 0xF5, 0xFF, 0x11, 0x00, 0x3C, 0x00, + 0xF5, 0xFF, 0x11, 0x00, 0x54, 0x00, 0xF5, 0xFF, + 0x14, 0x00, 0x6D, 0x00, 0xF2, 0xFF, 0x16, 0x00, + 0x85, 0x00, 0xEF, 0xFF, 0x18, 0x00, 0x9D, 0x00, + 0xEB, 0xFF, 0x1A, 0x00, 0xB5, 0x00, 0xE6, 0xFF, + 0x11, 0x00, 0xF4, 0xFF, 0xF5, 0xFF, 0x11, 0x00, + 0xDC, 0xFF, 0xF5, 0xFF, 0x11, 0x00, 0xC4, 0xFF, + 0xF5, 0xFF, 0x11, 0x00, 0xAC, 0xFF, 0xF5, 0xFF, + 0x14, 0x00, 0x93, 0xFF, 0xF2, 0xFF, 0x16, 0x00, + 0x7B, 0xFF, 0xEF, 0xFF, 0x18, 0x00, 0x63, 0xFF, + 0xEB, 0xFF, 0x1A, 0x00, 0x4B, 0xFF, 0xE6, 0xFF, + 0x11, 0x00, 0x0C, 0x00, 0xDF, 0xFF, 0x11, 0x00, + 0x24, 0x00, 0xDF, 0xFF, 0x11, 0x00, 0x3C, 0x00, + 0xDF, 0xFF, 0x11, 0x00, 0x54, 0x00, 0xDF, 0xFF, + 0x14, 0x00, 0x6D, 0x00, 0xD5, 0xFF, 0x16, 0x00, + 0x85, 0x00, 0xCC, 0xFF, 0x18, 0x00, 0x9D, 0x00, + 0xC0, 0xFF, 0x1A, 0x00, 0xB5, 0x00, 0xB2, 0xFF, + 0x11, 0x00, 0xF4, 0xFF, 0xDF, 0xFF, 0x11, 0x00, + 0xDC, 0xFF, 0xDF, 0xFF, 0x11, 0x00, 0xC4, 0xFF, + 0xDF, 0xFF, 0x11, 0x00, 0xAC, 0xFF, 0xDF, 0xFF, + 0x14, 0x00, 0x93, 0xFF, 0xD5, 0xFF, 0x16, 0x00, + 0x7B, 0xFF, 0xCC, 0xFF, 0x18, 0x00, 0x63, 0xFF, + 0xC0, 0xFF, 0x1A, 0x00, 0x4B, 0xFF, 0xB2, 0xFF, + 0x11, 0x00, 0x0C, 0x00, 0xC9, 0xFF, 0x11, 0x00, + 0x24, 0x00, 0xC9, 0xFF, 0x11, 0x00, 0x3C, 0x00, + 0xC9, 0xFF, 0x11, 0x00, 0x54, 0x00, 0xC9, 0xFF, + 0x14, 0x00, 0x6D, 0x00, 0xB7, 0xFF, 0x16, 0x00, + 0x85, 0x00, 0xA8, 0xFF, 0x18, 0x00, 0x9D, 0x00, + 0x95, 0xFF, 0x1A, 0x00, 0xB5, 0x00, 0x7E, 0xFF, + 0x11, 0x00, 0xF4, 0xFF, 0xC9, 0xFF, 0x11, 0x00, + 0xDC, 0xFF, 0xC9, 0xFF, 0x11, 0x00, 0xC4, 0xFF, + 0xC9, 0xFF, 0x11, 0x00, 0xAC, 0xFF, 0xC9, 0xFF, + 0x14, 0x00, 0x93, 0xFF, 0xB7, 0xFF, 0x16, 0x00, + 0x7B, 0xFF, 0xA8, 0xFF, 0x18, 0x00, 0x63, 0xFF, + 0x95, 0xFF, 0x1A, 0x00, 0x4B, 0xFF, 0x7E, 0xFF, + 0x11, 0x00, 0x0C, 0x00, 0xB3, 0xFF, 0x11, 0x00, + 0x24, 0x00, 0xB3, 0xFF, 0x11, 0x00, 0x3C, 0x00, + 0xB3, 0xFF, 0x11, 0x00, 0x54, 0x00, 0xB3, 0xFF, + 0x14, 0x00, 0x6D, 0x00, 0x9A, 0xFF, 0x16, 0x00, + 0x85, 0x00, 0x85, 0xFF, 0x18, 0x00, 0x9D, 0x00, + 0x6A, 0xFF, 0x1A, 0x00, 0xB5, 0x00, 0x4A, 0xFF, + 0x11, 0x00, 0xF4, 0xFF, 0xB3, 0xFF, 0x11, 0x00, + 0xDC, 0xFF, 0xB3, 0xFF, 0x11, 0x00, 0xC4, 0xFF, + 0xB3, 0xFF, 0x11, 0x00, 0xAC, 0xFF, 0xB3, 0xFF, + 0x14, 0x00, 0x93, 0xFF, 0x9A, 0xFF, 0x16, 0x00, + 0x7B, 0xFF, 0x85, 0xFF, 0x18, 0x00, 0x63, 0xFF, + 0x6A, 0xFF, 0x1A, 0x00, 0x4B, 0xFF, 0x4A, 0xFF, + 0x14, 0x00, 0x0C, 0x00, 0x9D, 0xFF, 0x14, 0x00, + 0x24, 0x00, 0x9D, 0xFF, 0x14, 0x00, 0x3C, 0x00, + 0x9D, 0xFF, 0x14, 0x00, 0x54, 0x00, 0x9D, 0xFF, + 0x17, 0x00, 0x6D, 0x00, 0x7C, 0xFF, 0x19, 0x00, + 0x85, 0x00, 0x60, 0xFF, 0x1B, 0x00, 0x9D, 0x00, + 0x3E, 0xFF, 0x1D, 0x00, 0xB5, 0x00, 0x15, 0xFF, + 0x14, 0x00, 0xF4, 0xFF, 0x9D, 0xFF, 0x14, 0x00, + 0xDC, 0xFF, 0x9D, 0xFF, 0x14, 0x00, 0xC4, 0xFF, + 0x9D, 0xFF, 0x14, 0x00, 0xAC, 0xFF, 0x9D, 0xFF, + 0x17, 0x00, 0x93, 0xFF, 0x7C, 0xFF, 0x19, 0x00, + 0x7B, 0xFF, 0x60, 0xFF, 0x1B, 0x00, 0x63, 0xFF, + 0x3E, 0xFF, 0x1D, 0x00, 0x4B, 0xFF, 0x15, 0xFF, + 0x16, 0x00, 0x0C, 0x00, 0x87, 0xFF, 0x16, 0x00, + 0x24, 0x00, 0x87, 0xFF, 0x16, 0x00, 0x3C, 0x00, + 0x87, 0xFF, 0x16, 0x00, 0x54, 0x00, 0x87, 0xFF, + 0x19, 0x00, 0x6D, 0x00, 0x5F, 0xFF, 0x1B, 0x00, + 0x85, 0x00, 0x3D, 0xFF, 0x1D, 0x00, 0x9D, 0x00, + 0x13, 0xFF, 0x1F, 0x00, 0xB5, 0x00, 0xE1, 0xFE, + 0x16, 0x00, 0xF4, 0xFF, 0x87, 0xFF, 0x16, 0x00, + 0xDC, 0xFF, 0x87, 0xFF, 0x16, 0x00, 0xC4, 0xFF, + 0x87, 0xFF, 0x16, 0x00, 0xAC, 0xFF, 0x87, 0xFF, + 0x19, 0x00, 0x93, 0xFF, 0x5F, 0xFF, 0x1B, 0x00, + 0x7B, 0xFF, 0x3D, 0xFF, 0x1D, 0x00, 0x63, 0xFF, + 0x13, 0xFF, 0x1F, 0x00, 0x4B, 0xFF, 0xE1, 0xFE, + 0x18, 0x00, 0x0C, 0x00, 0x71, 0xFF, 0x18, 0x00, + 0x24, 0x00, 0x71, 0xFF, 0x18, 0x00, 0x3C, 0x00, + 0x71, 0xFF, 0x18, 0x00, 0x54, 0x00, 0x71, 0xFF, + 0x1B, 0x00, 0x6D, 0x00, 0x41, 0xFF, 0x1D, 0x00, + 0x85, 0x00, 0x19, 0xFF, 0x1F, 0x00, 0x9D, 0x00, + 0xE8, 0xFE, 0x21, 0x00, 0xB5, 0x00, 0xAD, 0xFE, + 0x18, 0x00, 0xF4, 0xFF, 0x71, 0xFF, 0x18, 0x00, + 0xDC, 0xFF, 0x71, 0xFF, 0x18, 0x00, 0xC4, 0xFF, + 0x71, 0xFF, 0x18, 0x00, 0xAC, 0xFF, 0x71, 0xFF, + 0x1B, 0x00, 0x93, 0xFF, 0x41, 0xFF, 0x1D, 0x00, + 0x7B, 0xFF, 0x19, 0xFF, 0x1F, 0x00, 0x63, 0xFF, + 0xE8, 0xFE, 0x21, 0x00, 0x4B, 0xFF, 0xAD, 0xFE, + 0x1A, 0x00, 0x0C, 0x00, 0x5B, 0xFF, 0x1A, 0x00, + 0x24, 0x00, 0x5B, 0xFF, 0x1A, 0x00, 0x3C, 0x00, + 0x5B, 0xFF, 0x1A, 0x00, 0x54, 0x00, 0x5B, 0xFF, + 0x1D, 0x00, 0x6D, 0x00, 0x24, 0xFF, 0x1F, 0x00, + 0x85, 0x00, 0xF6, 0xFE, 0x21, 0x00, 0x9D, 0x00, + 0xBD, 0xFE, 0x23, 0x00, 0xB5, 0x00, 0x79, 0xFE, + 0x1A, 0x00, 0xF4, 0xFF, 0x5B, 0xFF, 0x1A, 0x00, + 0xDC, 0xFF, 0x5B, 0xFF, 0x1A, 0x00, 0xC4, 0xFF, + 0x5B, 0xFF, 0x1A, 0x00, 0xAC, 0xFF, 0x5B, 0xFF, + 0x1D, 0x00, 0x93, 0xFF, 0x24, 0xFF, 0x1F, 0x00, + 0x7B, 0xFF, 0xF6, 0xFE, 0x21, 0x00, 0x63, 0xFF, + 0xBD, 0xFE, 0x23, 0x00, 0x4B, 0xFF, 0x79, 0xFE, + 0x12, 0x00, 0x0D, 0x00, 0x0C, 0x00, 0x12, 0x00, + 0x27, 0x00, 0x0C, 0x00, 0x12, 0x00, 0x42, 0x00, + 0x0C, 0x00, 0x12, 0x00, 0x5C, 0x00, 0x0C, 0x00, + 0x15, 0x00, 0x78, 0x00, 0x10, 0x00, 0x17, 0x00, + 0x92, 0x00, 0x13, 0x00, 0x19, 0x00, 0xAD, 0x00, + 0x17, 0x00, 0x1B, 0x00, 0xC7, 0x00, 0x1C, 0x00, + 0x12, 0x00, 0xF3, 0xFF, 0x0C, 0x00, 0x12, 0x00, + 0xD9, 0xFF, 0x0C, 0x00, 0x12, 0x00, 0xBE, 0xFF, + 0x0C, 0x00, 0x12, 0x00, 0xA4, 0xFF, 0x0C, 0x00, + 0x15, 0x00, 0x88, 0xFF, 0x10, 0x00, 0x17, 0x00, + 0x6E, 0xFF, 0x13, 0x00, 0x19, 0x00, 0x53, 0xFF, + 0x17, 0x00, 0x1B, 0x00, 0x39, 0xFF, 0x1C, 0x00, + 0x12, 0x00, 0x0D, 0x00, 0x24, 0x00, 0x12, 0x00, + 0x27, 0x00, 0x24, 0x00, 0x12, 0x00, 0x42, 0x00, + 0x24, 0x00, 0x12, 0x00, 0x5C, 0x00, 0x24, 0x00, + 0x15, 0x00, 0x78, 0x00, 0x30, 0x00, 0x17, 0x00, + 0x92, 0x00, 0x3A, 0x00, 0x19, 0x00, 0xAD, 0x00, + 0x46, 0x00, 0x1B, 0x00, 0xC7, 0x00, 0x55, 0x00, + 0x12, 0x00, 0xF3, 0xFF, 0x24, 0x00, 0x12, 0x00, + 0xD9, 0xFF, 0x24, 0x00, 0x12, 0x00, 0xBE, 0xFF, + 0x24, 0x00, 0x12, 0x00, 0xA4, 0xFF, 0x24, 0x00, + 0x15, 0x00, 0x88, 0xFF, 0x30, 0x00, 0x17, 0x00, + 0x6E, 0xFF, 0x3A, 0x00, 0x19, 0x00, 0x53, 0xFF, + 0x46, 0x00, 0x1B, 0x00, 0x39, 0xFF, 0x55, 0x00, + 0x12, 0x00, 0x0D, 0x00, 0x3C, 0x00, 0x12, 0x00, + 0x27, 0x00, 0x3C, 0x00, 0x12, 0x00, 0x42, 0x00, + 0x3C, 0x00, 0x12, 0x00, 0x5C, 0x00, 0x3C, 0x00, + 0x15, 0x00, 0x78, 0x00, 0x51, 0x00, 0x17, 0x00, + 0x92, 0x00, 0x61, 0x00, 0x19, 0x00, 0xAD, 0x00, + 0x76, 0x00, 0x1B, 0x00, 0xC7, 0x00, 0x8F, 0x00, + 0x12, 0x00, 0xF3, 0xFF, 0x3C, 0x00, 0x12, 0x00, + 0xD9, 0xFF, 0x3C, 0x00, 0x12, 0x00, 0xBE, 0xFF, + 0x3C, 0x00, 0x12, 0x00, 0xA4, 0xFF, 0x3C, 0x00, + 0x15, 0x00, 0x88, 0xFF, 0x51, 0x00, 0x17, 0x00, + 0x6E, 0xFF, 0x61, 0x00, 0x19, 0x00, 0x53, 0xFF, + 0x76, 0x00, 0x1B, 0x00, 0x39, 0xFF, 0x8F, 0x00, + 0x12, 0x00, 0x0D, 0x00, 0x54, 0x00, 0x12, 0x00, + 0x27, 0x00, 0x54, 0x00, 0x12, 0x00, 0x42, 0x00, + 0x54, 0x00, 0x12, 0x00, 0x5C, 0x00, 0x54, 0x00, + 0x15, 0x00, 0x78, 0x00, 0x71, 0x00, 0x17, 0x00, + 0x92, 0x00, 0x88, 0x00, 0x19, 0x00, 0xAD, 0x00, + 0xA5, 0x00, 0x1B, 0x00, 0xC7, 0x00, 0xC8, 0x00, + 0x12, 0x00, 0xF3, 0xFF, 0x54, 0x00, 0x12, 0x00, + 0xD9, 0xFF, 0x54, 0x00, 0x12, 0x00, 0xBE, 0xFF, + 0x54, 0x00, 0x12, 0x00, 0xA4, 0xFF, 0x54, 0x00, + 0x15, 0x00, 0x88, 0xFF, 0x71, 0x00, 0x17, 0x00, + 0x6E, 0xFF, 0x88, 0x00, 0x19, 0x00, 0x53, 0xFF, + 0xA5, 0x00, 0x1B, 0x00, 0x39, 0xFF, 0xC8, 0x00, + 0x15, 0x00, 0x0D, 0x00, 0x6D, 0x00, 0x15, 0x00, + 0x27, 0x00, 0x6D, 0x00, 0x15, 0x00, 0x42, 0x00, + 0x6D, 0x00, 0x15, 0x00, 0x5C, 0x00, 0x6D, 0x00, + 0x18, 0x00, 0x78, 0x00, 0x92, 0x00, 0x1A, 0x00, + 0x92, 0x00, 0xB0, 0x00, 0x1C, 0x00, 0xAD, 0x00, + 0xD5, 0x00, 0x1E, 0x00, 0xC7, 0x00, 0x02, 0x01, + 0x15, 0x00, 0xF3, 0xFF, 0x6D, 0x00, 0x15, 0x00, + 0xD9, 0xFF, 0x6D, 0x00, 0x15, 0x00, 0xBE, 0xFF, + 0x6D, 0x00, 0x15, 0x00, 0xA4, 0xFF, 0x6D, 0x00, + 0x18, 0x00, 0x88, 0xFF, 0x92, 0x00, 0x1A, 0x00, + 0x6E, 0xFF, 0xB0, 0x00, 0x1C, 0x00, 0x53, 0xFF, + 0xD5, 0x00, 0x1E, 0x00, 0x39, 0xFF, 0x02, 0x01, + 0x17, 0x00, 0x0D, 0x00, 0x85, 0x00, 0x17, 0x00, + 0x27, 0x00, 0x85, 0x00, 0x17, 0x00, 0x42, 0x00, + 0x85, 0x00, 0x17, 0x00, 0x5C, 0x00, 0x85, 0x00, + 0x1A, 0x00, 0x78, 0x00, 0xB2, 0x00, 0x1C, 0x00, + 0x92, 0x00, 0xD7, 0x00, 0x1E, 0x00, 0xAD, 0x00, + 0x04, 0x01, 0x20, 0x00, 0xC7, 0x00, 0x3B, 0x01, + 0x17, 0x00, 0xF3, 0xFF, 0x85, 0x00, 0x17, 0x00, + 0xD9, 0xFF, 0x85, 0x00, 0x17, 0x00, 0xBE, 0xFF, + 0x85, 0x00, 0x17, 0x00, 0xA4, 0xFF, 0x85, 0x00, + 0x1A, 0x00, 0x88, 0xFF, 0xB2, 0x00, 0x1C, 0x00, + 0x6E, 0xFF, 0xD7, 0x00, 0x1E, 0x00, 0x53, 0xFF, + 0x04, 0x01, 0x20, 0x00, 0x39, 0xFF, 0x3B, 0x01, + 0x19, 0x00, 0x0D, 0x00, 0x9D, 0x00, 0x19, 0x00, + 0x27, 0x00, 0x9D, 0x00, 0x19, 0x00, 0x42, 0x00, + 0x9D, 0x00, 0x19, 0x00, 0x5C, 0x00, 0x9D, 0x00, + 0x1C, 0x00, 0x78, 0x00, 0xD3, 0x00, 0x1E, 0x00, + 0x92, 0x00, 0xFE, 0x00, 0x20, 0x00, 0xAD, 0x00, + 0x34, 0x01, 0x22, 0x00, 0xC7, 0x00, 0x75, 0x01, + 0x19, 0x00, 0xF3, 0xFF, 0x9D, 0x00, 0x19, 0x00, + 0xD9, 0xFF, 0x9D, 0x00, 0x19, 0x00, 0xBE, 0xFF, + 0x9D, 0x00, 0x19, 0x00, 0xA4, 0xFF, 0x9D, 0x00, + 0x1C, 0x00, 0x88, 0xFF, 0xD3, 0x00, 0x1E, 0x00, + 0x6E, 0xFF, 0xFE, 0x00, 0x20, 0x00, 0x53, 0xFF, + 0x34, 0x01, 0x22, 0x00, 0x39, 0xFF, 0x75, 0x01, + 0x1B, 0x00, 0x0D, 0x00, 0xB5, 0x00, 0x1B, 0x00, + 0x27, 0x00, 0xB5, 0x00, 0x1B, 0x00, 0x42, 0x00, + 0xB5, 0x00, 0x1B, 0x00, 0x5C, 0x00, 0xB5, 0x00, + 0x1E, 0x00, 0x78, 0x00, 0xF3, 0x00, 0x20, 0x00, + 0x92, 0x00, 0x25, 0x01, 0x22, 0x00, 0xAD, 0x00, + 0x63, 0x01, 0x24, 0x00, 0xC7, 0x00, 0xAE, 0x01, + 0x1B, 0x00, 0xF3, 0xFF, 0xB5, 0x00, 0x1B, 0x00, + 0xD9, 0xFF, 0xB5, 0x00, 0x1B, 0x00, 0xBE, 0xFF, + 0xB5, 0x00, 0x1B, 0x00, 0xA4, 0xFF, 0xB5, 0x00, + 0x1E, 0x00, 0x88, 0xFF, 0xF3, 0x00, 0x20, 0x00, + 0x6E, 0xFF, 0x25, 0x01, 0x22, 0x00, 0x53, 0xFF, + 0x63, 0x01, 0x24, 0x00, 0x39, 0xFF, 0xAE, 0x01, + 0x12, 0x00, 0x0D, 0x00, 0xF4, 0xFF, 0x12, 0x00, + 0x27, 0x00, 0xF4, 0xFF, 0x12, 0x00, 0x42, 0x00, + 0xF4, 0xFF, 0x12, 0x00, 0x5C, 0x00, 0xF4, 0xFF, + 0x15, 0x00, 0x78, 0x00, 0xF0, 0xFF, 0x17, 0x00, + 0x92, 0x00, 0xED, 0xFF, 0x19, 0x00, 0xAD, 0x00, + 0xE9, 0xFF, 0x1B, 0x00, 0xC7, 0x00, 0xE4, 0xFF, + 0x12, 0x00, 0xF3, 0xFF, 0xF4, 0xFF, 0x12, 0x00, + 0xD9, 0xFF, 0xF4, 0xFF, 0x12, 0x00, 0xBE, 0xFF, + 0xF4, 0xFF, 0x12, 0x00, 0xA4, 0xFF, 0xF4, 0xFF, + 0x15, 0x00, 0x88, 0xFF, 0xF0, 0xFF, 0x17, 0x00, + 0x6E, 0xFF, 0xED, 0xFF, 0x19, 0x00, 0x53, 0xFF, + 0xE9, 0xFF, 0x1B, 0x00, 0x39, 0xFF, 0xE4, 0xFF, + 0x12, 0x00, 0x0D, 0x00, 0xDC, 0xFF, 0x12, 0x00, + 0x27, 0x00, 0xDC, 0xFF, 0x12, 0x00, 0x42, 0x00, + 0xDC, 0xFF, 0x12, 0x00, 0x5C, 0x00, 0xDC, 0xFF, + 0x15, 0x00, 0x78, 0x00, 0xD0, 0xFF, 0x17, 0x00, + 0x92, 0x00, 0xC6, 0xFF, 0x19, 0x00, 0xAD, 0x00, + 0xBA, 0xFF, 0x1B, 0x00, 0xC7, 0x00, 0xAB, 0xFF, + 0x12, 0x00, 0xF3, 0xFF, 0xDC, 0xFF, 0x12, 0x00, + 0xD9, 0xFF, 0xDC, 0xFF, 0x12, 0x00, 0xBE, 0xFF, + 0xDC, 0xFF, 0x12, 0x00, 0xA4, 0xFF, 0xDC, 0xFF, + 0x15, 0x00, 0x88, 0xFF, 0xD0, 0xFF, 0x17, 0x00, + 0x6E, 0xFF, 0xC6, 0xFF, 0x19, 0x00, 0x53, 0xFF, + 0xBA, 0xFF, 0x1B, 0x00, 0x39, 0xFF, 0xAB, 0xFF, + 0x12, 0x00, 0x0D, 0x00, 0xC4, 0xFF, 0x12, 0x00, + 0x27, 0x00, 0xC4, 0xFF, 0x12, 0x00, 0x42, 0x00, + 0xC4, 0xFF, 0x12, 0x00, 0x5C, 0x00, 0xC4, 0xFF, + 0x15, 0x00, 0x78, 0x00, 0xAF, 0xFF, 0x17, 0x00, + 0x92, 0x00, 0x9F, 0xFF, 0x19, 0x00, 0xAD, 0x00, + 0x8A, 0xFF, 0x1B, 0x00, 0xC7, 0x00, 0x71, 0xFF, + 0x12, 0x00, 0xF3, 0xFF, 0xC4, 0xFF, 0x12, 0x00, + 0xD9, 0xFF, 0xC4, 0xFF, 0x12, 0x00, 0xBE, 0xFF, + 0xC4, 0xFF, 0x12, 0x00, 0xA4, 0xFF, 0xC4, 0xFF, + 0x15, 0x00, 0x88, 0xFF, 0xAF, 0xFF, 0x17, 0x00, + 0x6E, 0xFF, 0x9F, 0xFF, 0x19, 0x00, 0x53, 0xFF, + 0x8A, 0xFF, 0x1B, 0x00, 0x39, 0xFF, 0x71, 0xFF, + 0x12, 0x00, 0x0D, 0x00, 0xAC, 0xFF, 0x12, 0x00, + 0x27, 0x00, 0xAC, 0xFF, 0x12, 0x00, 0x42, 0x00, + 0xAC, 0xFF, 0x12, 0x00, 0x5C, 0x00, 0xAC, 0xFF, + 0x15, 0x00, 0x78, 0x00, 0x8F, 0xFF, 0x17, 0x00, + 0x92, 0x00, 0x78, 0xFF, 0x19, 0x00, 0xAD, 0x00, + 0x5B, 0xFF, 0x1B, 0x00, 0xC7, 0x00, 0x38, 0xFF, + 0x12, 0x00, 0xF3, 0xFF, 0xAC, 0xFF, 0x12, 0x00, + 0xD9, 0xFF, 0xAC, 0xFF, 0x12, 0x00, 0xBE, 0xFF, + 0xAC, 0xFF, 0x12, 0x00, 0xA4, 0xFF, 0xAC, 0xFF, + 0x15, 0x00, 0x88, 0xFF, 0x8F, 0xFF, 0x17, 0x00, + 0x6E, 0xFF, 0x78, 0xFF, 0x19, 0x00, 0x53, 0xFF, + 0x5B, 0xFF, 0x1B, 0x00, 0x39, 0xFF, 0x38, 0xFF, + 0x15, 0x00, 0x0D, 0x00, 0x93, 0xFF, 0x15, 0x00, + 0x27, 0x00, 0x93, 0xFF, 0x15, 0x00, 0x42, 0x00, + 0x93, 0xFF, 0x15, 0x00, 0x5C, 0x00, 0x93, 0xFF, + 0x18, 0x00, 0x78, 0x00, 0x6E, 0xFF, 0x1A, 0x00, + 0x92, 0x00, 0x50, 0xFF, 0x1C, 0x00, 0xAD, 0x00, + 0x2B, 0xFF, 0x1E, 0x00, 0xC7, 0x00, 0xFE, 0xFE, + 0x15, 0x00, 0xF3, 0xFF, 0x93, 0xFF, 0x15, 0x00, + 0xD9, 0xFF, 0x93, 0xFF, 0x15, 0x00, 0xBE, 0xFF, + 0x93, 0xFF, 0x15, 0x00, 0xA4, 0xFF, 0x93, 0xFF, + 0x18, 0x00, 0x88, 0xFF, 0x6E, 0xFF, 0x1A, 0x00, + 0x6E, 0xFF, 0x50, 0xFF, 0x1C, 0x00, 0x53, 0xFF, + 0x2B, 0xFF, 0x1E, 0x00, 0x39, 0xFF, 0xFE, 0xFE, + 0x17, 0x00, 0x0D, 0x00, 0x7B, 0xFF, 0x17, 0x00, + 0x27, 0x00, 0x7B, 0xFF, 0x17, 0x00, 0x42, 0x00, + 0x7B, 0xFF, 0x17, 0x00, 0x5C, 0x00, 0x7B, 0xFF, + 0x1A, 0x00, 0x78, 0x00, 0x4E, 0xFF, 0x1C, 0x00, + 0x92, 0x00, 0x29, 0xFF, 0x1E, 0x00, 0xAD, 0x00, + 0xFC, 0xFE, 0x20, 0x00, 0xC7, 0x00, 0xC5, 0xFE, + 0x17, 0x00, 0xF3, 0xFF, 0x7B, 0xFF, 0x17, 0x00, + 0xD9, 0xFF, 0x7B, 0xFF, 0x17, 0x00, 0xBE, 0xFF, + 0x7B, 0xFF, 0x17, 0x00, 0xA4, 0xFF, 0x7B, 0xFF, + 0x1A, 0x00, 0x88, 0xFF, 0x4E, 0xFF, 0x1C, 0x00, + 0x6E, 0xFF, 0x29, 0xFF, 0x1E, 0x00, 0x53, 0xFF, + 0xFC, 0xFE, 0x20, 0x00, 0x39, 0xFF, 0xC5, 0xFE, + 0x19, 0x00, 0x0D, 0x00, 0x63, 0xFF, 0x19, 0x00, + 0x27, 0x00, 0x63, 0xFF, 0x19, 0x00, 0x42, 0x00, + 0x63, 0xFF, 0x19, 0x00, 0x5C, 0x00, 0x63, 0xFF, + 0x1C, 0x00, 0x78, 0x00, 0x2D, 0xFF, 0x1E, 0x00, + 0x92, 0x00, 0x02, 0xFF, 0x20, 0x00, 0xAD, 0x00, + 0xCC, 0xFE, 0x22, 0x00, 0xC7, 0x00, 0x8B, 0xFE, + 0x19, 0x00, 0xF3, 0xFF, 0x63, 0xFF, 0x19, 0x00, + 0xD9, 0xFF, 0x63, 0xFF, 0x19, 0x00, 0xBE, 0xFF, + 0x63, 0xFF, 0x19, 0x00, 0xA4, 0xFF, 0x63, 0xFF, + 0x1C, 0x00, 0x88, 0xFF, 0x2D, 0xFF, 0x1E, 0x00, + 0x6E, 0xFF, 0x02, 0xFF, 0x20, 0x00, 0x53, 0xFF, + 0xCC, 0xFE, 0x22, 0x00, 0x39, 0xFF, 0x8B, 0xFE, + 0x1B, 0x00, 0x0D, 0x00, 0x4B, 0xFF, 0x1B, 0x00, + 0x27, 0x00, 0x4B, 0xFF, 0x1B, 0x00, 0x42, 0x00, + 0x4B, 0xFF, 0x1B, 0x00, 0x5C, 0x00, 0x4B, 0xFF, + 0x1E, 0x00, 0x78, 0x00, 0x0D, 0xFF, 0x20, 0x00, + 0x92, 0x00, 0xDB, 0xFE, 0x22, 0x00, 0xAD, 0x00, + 0x9D, 0xFE, 0x24, 0x00, 0xC7, 0x00, 0x52, 0xFE, + 0x1B, 0x00, 0xF3, 0xFF, 0x4B, 0xFF, 0x1B, 0x00, + 0xD9, 0xFF, 0x4B, 0xFF, 0x1B, 0x00, 0xBE, 0xFF, + 0x4B, 0xFF, 0x1B, 0x00, 0xA4, 0xFF, 0x4B, 0xFF, + 0x1E, 0x00, 0x88, 0xFF, 0x0D, 0xFF, 0x20, 0x00, + 0x6E, 0xFF, 0xDB, 0xFE, 0x22, 0x00, 0x53, 0xFF, + 0x9D, 0xFE, 0x24, 0x00, 0x39, 0xFF, 0x52, 0xFE, + 0x13, 0x00, 0x0E, 0x00, 0x0D, 0x00, 0x13, 0x00, + 0x2B, 0x00, 0x0D, 0x00, 0x13, 0x00, 0x49, 0x00, + 0x0D, 0x00, 0x13, 0x00, 0x66, 0x00, 0x0D, 0x00, + 0x16, 0x00, 0x84, 0x00, 0x11, 0x00, 0x18, 0x00, + 0xA1, 0x00, 0x15, 0x00, 0x1A, 0x00, 0xBF, 0x00, + 0x1A, 0x00, 0x1C, 0x00, 0xDC, 0x00, 0x1F, 0x00, + 0x13, 0x00, 0xF2, 0xFF, 0x0D, 0x00, 0x13, 0x00, + 0xD5, 0xFF, 0x0D, 0x00, 0x13, 0x00, 0xB7, 0xFF, + 0x0D, 0x00, 0x13, 0x00, 0x9A, 0xFF, 0x0D, 0x00, + 0x16, 0x00, 0x7C, 0xFF, 0x11, 0x00, 0x18, 0x00, + 0x5F, 0xFF, 0x15, 0x00, 0x1A, 0x00, 0x41, 0xFF, + 0x1A, 0x00, 0x1C, 0x00, 0x24, 0xFF, 0x1F, 0x00, + 0x13, 0x00, 0x0E, 0x00, 0x27, 0x00, 0x13, 0x00, + 0x2B, 0x00, 0x27, 0x00, 0x13, 0x00, 0x49, 0x00, + 0x27, 0x00, 0x13, 0x00, 0x66, 0x00, 0x27, 0x00, + 0x16, 0x00, 0x84, 0x00, 0x34, 0x00, 0x18, 0x00, + 0xA1, 0x00, 0x40, 0x00, 0x1A, 0x00, 0xBF, 0x00, + 0x4E, 0x00, 0x1C, 0x00, 0xDC, 0x00, 0x5E, 0x00, + 0x13, 0x00, 0xF2, 0xFF, 0x27, 0x00, 0x13, 0x00, + 0xD5, 0xFF, 0x27, 0x00, 0x13, 0x00, 0xB7, 0xFF, + 0x27, 0x00, 0x13, 0x00, 0x9A, 0xFF, 0x27, 0x00, + 0x16, 0x00, 0x7C, 0xFF, 0x34, 0x00, 0x18, 0x00, + 0x5F, 0xFF, 0x40, 0x00, 0x1A, 0x00, 0x41, 0xFF, + 0x4E, 0x00, 0x1C, 0x00, 0x24, 0xFF, 0x5E, 0x00, + 0x13, 0x00, 0x0E, 0x00, 0x42, 0x00, 0x13, 0x00, + 0x2B, 0x00, 0x42, 0x00, 0x13, 0x00, 0x49, 0x00, + 0x42, 0x00, 0x13, 0x00, 0x66, 0x00, 0x42, 0x00, + 0x16, 0x00, 0x84, 0x00, 0x58, 0x00, 0x18, 0x00, + 0xA1, 0x00, 0x6B, 0x00, 0x1A, 0x00, 0xBF, 0x00, + 0x82, 0x00, 0x1C, 0x00, 0xDC, 0x00, 0x9D, 0x00, + 0x13, 0x00, 0xF2, 0xFF, 0x42, 0x00, 0x13, 0x00, + 0xD5, 0xFF, 0x42, 0x00, 0x13, 0x00, 0xB7, 0xFF, + 0x42, 0x00, 0x13, 0x00, 0x9A, 0xFF, 0x42, 0x00, + 0x16, 0x00, 0x7C, 0xFF, 0x58, 0x00, 0x18, 0x00, + 0x5F, 0xFF, 0x6B, 0x00, 0x1A, 0x00, 0x41, 0xFF, + 0x82, 0x00, 0x1C, 0x00, 0x24, 0xFF, 0x9D, 0x00, + 0x13, 0x00, 0x0E, 0x00, 0x5C, 0x00, 0x13, 0x00, + 0x2B, 0x00, 0x5C, 0x00, 0x13, 0x00, 0x49, 0x00, + 0x5C, 0x00, 0x13, 0x00, 0x66, 0x00, 0x5C, 0x00, + 0x16, 0x00, 0x84, 0x00, 0x7B, 0x00, 0x18, 0x00, + 0xA1, 0x00, 0x96, 0x00, 0x1A, 0x00, 0xBF, 0x00, + 0xB6, 0x00, 0x1C, 0x00, 0xDC, 0x00, 0xDC, 0x00, + 0x13, 0x00, 0xF2, 0xFF, 0x5C, 0x00, 0x13, 0x00, + 0xD5, 0xFF, 0x5C, 0x00, 0x13, 0x00, 0xB7, 0xFF, + 0x5C, 0x00, 0x13, 0x00, 0x9A, 0xFF, 0x5C, 0x00, + 0x16, 0x00, 0x7C, 0xFF, 0x7B, 0x00, 0x18, 0x00, + 0x5F, 0xFF, 0x96, 0x00, 0x1A, 0x00, 0x41, 0xFF, + 0xB6, 0x00, 0x1C, 0x00, 0x24, 0xFF, 0xDC, 0x00, + 0x16, 0x00, 0x0E, 0x00, 0x78, 0x00, 0x16, 0x00, + 0x2B, 0x00, 0x78, 0x00, 0x16, 0x00, 0x49, 0x00, + 0x78, 0x00, 0x16, 0x00, 0x66, 0x00, 0x78, 0x00, + 0x19, 0x00, 0x84, 0x00, 0xA0, 0x00, 0x1B, 0x00, + 0xA1, 0x00, 0xC2, 0x00, 0x1D, 0x00, 0xBF, 0x00, + 0xEB, 0x00, 0x1F, 0x00, 0xDC, 0x00, 0x1C, 0x01, + 0x16, 0x00, 0xF2, 0xFF, 0x78, 0x00, 0x16, 0x00, + 0xD5, 0xFF, 0x78, 0x00, 0x16, 0x00, 0xB7, 0xFF, + 0x78, 0x00, 0x16, 0x00, 0x9A, 0xFF, 0x78, 0x00, + 0x19, 0x00, 0x7C, 0xFF, 0xA0, 0x00, 0x1B, 0x00, + 0x5F, 0xFF, 0xC2, 0x00, 0x1D, 0x00, 0x41, 0xFF, + 0xEB, 0x00, 0x1F, 0x00, 0x24, 0xFF, 0x1C, 0x01, + 0x18, 0x00, 0x0E, 0x00, 0x92, 0x00, 0x18, 0x00, + 0x2B, 0x00, 0x92, 0x00, 0x18, 0x00, 0x49, 0x00, + 0x92, 0x00, 0x18, 0x00, 0x66, 0x00, 0x92, 0x00, + 0x1B, 0x00, 0x84, 0x00, 0xC3, 0x00, 0x1D, 0x00, + 0xA1, 0x00, 0xED, 0x00, 0x1F, 0x00, 0xBF, 0x00, + 0x1F, 0x01, 0x21, 0x00, 0xDC, 0x00, 0x5B, 0x01, + 0x18, 0x00, 0xF2, 0xFF, 0x92, 0x00, 0x18, 0x00, + 0xD5, 0xFF, 0x92, 0x00, 0x18, 0x00, 0xB7, 0xFF, + 0x92, 0x00, 0x18, 0x00, 0x9A, 0xFF, 0x92, 0x00, + 0x1B, 0x00, 0x7C, 0xFF, 0xC3, 0x00, 0x1D, 0x00, + 0x5F, 0xFF, 0xED, 0x00, 0x1F, 0x00, 0x41, 0xFF, + 0x1F, 0x01, 0x21, 0x00, 0x24, 0xFF, 0x5B, 0x01, + 0x1A, 0x00, 0x0E, 0x00, 0xAD, 0x00, 0x1A, 0x00, + 0x2B, 0x00, 0xAD, 0x00, 0x1A, 0x00, 0x49, 0x00, + 0xAD, 0x00, 0x1A, 0x00, 0x66, 0x00, 0xAD, 0x00, + 0x1D, 0x00, 0x84, 0x00, 0xE7, 0x00, 0x1F, 0x00, + 0xA1, 0x00, 0x18, 0x01, 0x21, 0x00, 0xBF, 0x00, + 0x53, 0x01, 0x23, 0x00, 0xDC, 0x00, 0x9A, 0x01, + 0x1A, 0x00, 0xF2, 0xFF, 0xAD, 0x00, 0x1A, 0x00, + 0xD5, 0xFF, 0xAD, 0x00, 0x1A, 0x00, 0xB7, 0xFF, + 0xAD, 0x00, 0x1A, 0x00, 0x9A, 0xFF, 0xAD, 0x00, + 0x1D, 0x00, 0x7C, 0xFF, 0xE7, 0x00, 0x1F, 0x00, + 0x5F, 0xFF, 0x18, 0x01, 0x21, 0x00, 0x41, 0xFF, + 0x53, 0x01, 0x23, 0x00, 0x24, 0xFF, 0x9A, 0x01, + 0x1C, 0x00, 0x0E, 0x00, 0xC7, 0x00, 0x1C, 0x00, + 0x2B, 0x00, 0xC7, 0x00, 0x1C, 0x00, 0x49, 0x00, + 0xC7, 0x00, 0x1C, 0x00, 0x66, 0x00, 0xC7, 0x00, + 0x1F, 0x00, 0x84, 0x00, 0x0A, 0x01, 0x21, 0x00, + 0xA1, 0x00, 0x43, 0x01, 0x23, 0x00, 0xBF, 0x00, + 0x87, 0x01, 0x25, 0x00, 0xDC, 0x00, 0xD9, 0x01, + 0x1C, 0x00, 0xF2, 0xFF, 0xC7, 0x00, 0x1C, 0x00, + 0xD5, 0xFF, 0xC7, 0x00, 0x1C, 0x00, 0xB7, 0xFF, + 0xC7, 0x00, 0x1C, 0x00, 0x9A, 0xFF, 0xC7, 0x00, + 0x1F, 0x00, 0x7C, 0xFF, 0x0A, 0x01, 0x21, 0x00, + 0x5F, 0xFF, 0x43, 0x01, 0x23, 0x00, 0x41, 0xFF, + 0x87, 0x01, 0x25, 0x00, 0x24, 0xFF, 0xD9, 0x01, + 0x13, 0x00, 0x0E, 0x00, 0xF3, 0xFF, 0x13, 0x00, + 0x2B, 0x00, 0xF3, 0xFF, 0x13, 0x00, 0x49, 0x00, + 0xF3, 0xFF, 0x13, 0x00, 0x66, 0x00, 0xF3, 0xFF, + 0x16, 0x00, 0x84, 0x00, 0xEF, 0xFF, 0x18, 0x00, + 0xA1, 0x00, 0xEB, 0xFF, 0x1A, 0x00, 0xBF, 0x00, + 0xE6, 0xFF, 0x1C, 0x00, 0xDC, 0x00, 0xE1, 0xFF, + 0x13, 0x00, 0xF2, 0xFF, 0xF3, 0xFF, 0x13, 0x00, + 0xD5, 0xFF, 0xF3, 0xFF, 0x13, 0x00, 0xB7, 0xFF, + 0xF3, 0xFF, 0x13, 0x00, 0x9A, 0xFF, 0xF3, 0xFF, + 0x16, 0x00, 0x7C, 0xFF, 0xEF, 0xFF, 0x18, 0x00, + 0x5F, 0xFF, 0xEB, 0xFF, 0x1A, 0x00, 0x41, 0xFF, + 0xE6, 0xFF, 0x1C, 0x00, 0x24, 0xFF, 0xE1, 0xFF, + 0x13, 0x00, 0x0E, 0x00, 0xD9, 0xFF, 0x13, 0x00, + 0x2B, 0x00, 0xD9, 0xFF, 0x13, 0x00, 0x49, 0x00, + 0xD9, 0xFF, 0x13, 0x00, 0x66, 0x00, 0xD9, 0xFF, + 0x16, 0x00, 0x84, 0x00, 0xCC, 0xFF, 0x18, 0x00, + 0xA1, 0x00, 0xC0, 0xFF, 0x1A, 0x00, 0xBF, 0x00, + 0xB2, 0xFF, 0x1C, 0x00, 0xDC, 0x00, 0xA2, 0xFF, + 0x13, 0x00, 0xF2, 0xFF, 0xD9, 0xFF, 0x13, 0x00, + 0xD5, 0xFF, 0xD9, 0xFF, 0x13, 0x00, 0xB7, 0xFF, + 0xD9, 0xFF, 0x13, 0x00, 0x9A, 0xFF, 0xD9, 0xFF, + 0x16, 0x00, 0x7C, 0xFF, 0xCC, 0xFF, 0x18, 0x00, + 0x5F, 0xFF, 0xC0, 0xFF, 0x1A, 0x00, 0x41, 0xFF, + 0xB2, 0xFF, 0x1C, 0x00, 0x24, 0xFF, 0xA2, 0xFF, + 0x13, 0x00, 0x0E, 0x00, 0xBE, 0xFF, 0x13, 0x00, + 0x2B, 0x00, 0xBE, 0xFF, 0x13, 0x00, 0x49, 0x00, + 0xBE, 0xFF, 0x13, 0x00, 0x66, 0x00, 0xBE, 0xFF, + 0x16, 0x00, 0x84, 0x00, 0xA8, 0xFF, 0x18, 0x00, + 0xA1, 0x00, 0x95, 0xFF, 0x1A, 0x00, 0xBF, 0x00, + 0x7E, 0xFF, 0x1C, 0x00, 0xDC, 0x00, 0x63, 0xFF, + 0x13, 0x00, 0xF2, 0xFF, 0xBE, 0xFF, 0x13, 0x00, + 0xD5, 0xFF, 0xBE, 0xFF, 0x13, 0x00, 0xB7, 0xFF, + 0xBE, 0xFF, 0x13, 0x00, 0x9A, 0xFF, 0xBE, 0xFF, + 0x16, 0x00, 0x7C, 0xFF, 0xA8, 0xFF, 0x18, 0x00, + 0x5F, 0xFF, 0x95, 0xFF, 0x1A, 0x00, 0x41, 0xFF, + 0x7E, 0xFF, 0x1C, 0x00, 0x24, 0xFF, 0x63, 0xFF, + 0x13, 0x00, 0x0E, 0x00, 0xA4, 0xFF, 0x13, 0x00, + 0x2B, 0x00, 0xA4, 0xFF, 0x13, 0x00, 0x49, 0x00, + 0xA4, 0xFF, 0x13, 0x00, 0x66, 0x00, 0xA4, 0xFF, + 0x16, 0x00, 0x84, 0x00, 0x85, 0xFF, 0x18, 0x00, + 0xA1, 0x00, 0x6A, 0xFF, 0x1A, 0x00, 0xBF, 0x00, + 0x4A, 0xFF, 0x1C, 0x00, 0xDC, 0x00, 0x24, 0xFF, + 0x13, 0x00, 0xF2, 0xFF, 0xA4, 0xFF, 0x13, 0x00, + 0xD5, 0xFF, 0xA4, 0xFF, 0x13, 0x00, 0xB7, 0xFF, + 0xA4, 0xFF, 0x13, 0x00, 0x9A, 0xFF, 0xA4, 0xFF, + 0x16, 0x00, 0x7C, 0xFF, 0x85, 0xFF, 0x18, 0x00, + 0x5F, 0xFF, 0x6A, 0xFF, 0x1A, 0x00, 0x41, 0xFF, + 0x4A, 0xFF, 0x1C, 0x00, 0x24, 0xFF, 0x24, 0xFF, + 0x16, 0x00, 0x0E, 0x00, 0x88, 0xFF, 0x16, 0x00, + 0x2B, 0x00, 0x88, 0xFF, 0x16, 0x00, 0x49, 0x00, + 0x88, 0xFF, 0x16, 0x00, 0x66, 0x00, 0x88, 0xFF, + 0x19, 0x00, 0x84, 0x00, 0x60, 0xFF, 0x1B, 0x00, + 0xA1, 0x00, 0x3E, 0xFF, 0x1D, 0x00, 0xBF, 0x00, + 0x15, 0xFF, 0x1F, 0x00, 0xDC, 0x00, 0xE4, 0xFE, + 0x16, 0x00, 0xF2, 0xFF, 0x88, 0xFF, 0x16, 0x00, + 0xD5, 0xFF, 0x88, 0xFF, 0x16, 0x00, 0xB7, 0xFF, + 0x88, 0xFF, 0x16, 0x00, 0x9A, 0xFF, 0x88, 0xFF, + 0x19, 0x00, 0x7C, 0xFF, 0x60, 0xFF, 0x1B, 0x00, + 0x5F, 0xFF, 0x3E, 0xFF, 0x1D, 0x00, 0x41, 0xFF, + 0x15, 0xFF, 0x1F, 0x00, 0x24, 0xFF, 0xE4, 0xFE, + 0x18, 0x00, 0x0E, 0x00, 0x6E, 0xFF, 0x18, 0x00, + 0x2B, 0x00, 0x6E, 0xFF, 0x18, 0x00, 0x49, 0x00, + 0x6E, 0xFF, 0x18, 0x00, 0x66, 0x00, 0x6E, 0xFF, + 0x1B, 0x00, 0x84, 0x00, 0x3D, 0xFF, 0x1D, 0x00, + 0xA1, 0x00, 0x13, 0xFF, 0x1F, 0x00, 0xBF, 0x00, + 0xE1, 0xFE, 0x21, 0x00, 0xDC, 0x00, 0xA5, 0xFE, + 0x18, 0x00, 0xF2, 0xFF, 0x6E, 0xFF, 0x18, 0x00, + 0xD5, 0xFF, 0x6E, 0xFF, 0x18, 0x00, 0xB7, 0xFF, + 0x6E, 0xFF, 0x18, 0x00, 0x9A, 0xFF, 0x6E, 0xFF, + 0x1B, 0x00, 0x7C, 0xFF, 0x3D, 0xFF, 0x1D, 0x00, + 0x5F, 0xFF, 0x13, 0xFF, 0x1F, 0x00, 0x41, 0xFF, + 0xE1, 0xFE, 0x21, 0x00, 0x24, 0xFF, 0xA5, 0xFE, + 0x1A, 0x00, 0x0E, 0x00, 0x53, 0xFF, 0x1A, 0x00, + 0x2B, 0x00, 0x53, 0xFF, 0x1A, 0x00, 0x49, 0x00, + 0x53, 0xFF, 0x1A, 0x00, 0x66, 0x00, 0x53, 0xFF, + 0x1D, 0x00, 0x84, 0x00, 0x19, 0xFF, 0x1F, 0x00, + 0xA1, 0x00, 0xE8, 0xFE, 0x21, 0x00, 0xBF, 0x00, + 0xAD, 0xFE, 0x23, 0x00, 0xDC, 0x00, 0x66, 0xFE, + 0x1A, 0x00, 0xF2, 0xFF, 0x53, 0xFF, 0x1A, 0x00, + 0xD5, 0xFF, 0x53, 0xFF, 0x1A, 0x00, 0xB7, 0xFF, + 0x53, 0xFF, 0x1A, 0x00, 0x9A, 0xFF, 0x53, 0xFF, + 0x1D, 0x00, 0x7C, 0xFF, 0x19, 0xFF, 0x1F, 0x00, + 0x5F, 0xFF, 0xE8, 0xFE, 0x21, 0x00, 0x41, 0xFF, + 0xAD, 0xFE, 0x23, 0x00, 0x24, 0xFF, 0x66, 0xFE, + 0x1C, 0x00, 0x0E, 0x00, 0x39, 0xFF, 0x1C, 0x00, + 0x2B, 0x00, 0x39, 0xFF, 0x1C, 0x00, 0x49, 0x00, + 0x39, 0xFF, 0x1C, 0x00, 0x66, 0x00, 0x39, 0xFF, + 0x1F, 0x00, 0x84, 0x00, 0xF6, 0xFE, 0x21, 0x00, + 0xA1, 0x00, 0xBD, 0xFE, 0x23, 0x00, 0xBF, 0x00, + 0x79, 0xFE, 0x25, 0x00, 0xDC, 0x00, 0x27, 0xFE, + 0x1C, 0x00, 0xF2, 0xFF, 0x39, 0xFF, 0x1C, 0x00, + 0xD5, 0xFF, 0x39, 0xFF, 0x1C, 0x00, 0xB7, 0xFF, + 0x39, 0xFF, 0x1C, 0x00, 0x9A, 0xFF, 0x39, 0xFF, + 0x1F, 0x00, 0x7C, 0xFF, 0xF6, 0xFE, 0x21, 0x00, + 0x5F, 0xFF, 0xBD, 0xFE, 0x23, 0x00, 0x41, 0xFF, + 0x79, 0xFE, 0x25, 0x00, 0x24, 0xFF, 0x27, 0xFE, + 0x14, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x14, 0x00, + 0x30, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x51, 0x00, + 0x0E, 0x00, 0x14, 0x00, 0x71, 0x00, 0x0E, 0x00, + 0x17, 0x00, 0x92, 0x00, 0x13, 0x00, 0x19, 0x00, + 0xB2, 0x00, 0x17, 0x00, 0x1B, 0x00, 0xD3, 0x00, + 0x1C, 0x00, 0x1D, 0x00, 0xF3, 0x00, 0x22, 0x00, + 0x14, 0x00, 0xF0, 0xFF, 0x0E, 0x00, 0x14, 0x00, + 0xD0, 0xFF, 0x0E, 0x00, 0x14, 0x00, 0xAF, 0xFF, + 0x0E, 0x00, 0x14, 0x00, 0x8F, 0xFF, 0x0E, 0x00, + 0x17, 0x00, 0x6E, 0xFF, 0x13, 0x00, 0x19, 0x00, + 0x4E, 0xFF, 0x17, 0x00, 0x1B, 0x00, 0x2D, 0xFF, + 0x1C, 0x00, 0x1D, 0x00, 0x0D, 0xFF, 0x22, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x2B, 0x00, 0x14, 0x00, + 0x30, 0x00, 0x2B, 0x00, 0x14, 0x00, 0x51, 0x00, + 0x2B, 0x00, 0x14, 0x00, 0x71, 0x00, 0x2B, 0x00, + 0x17, 0x00, 0x92, 0x00, 0x3A, 0x00, 0x19, 0x00, + 0xB2, 0x00, 0x46, 0x00, 0x1B, 0x00, 0xD3, 0x00, + 0x55, 0x00, 0x1D, 0x00, 0xF3, 0x00, 0x67, 0x00, + 0x14, 0x00, 0xF0, 0xFF, 0x2B, 0x00, 0x14, 0x00, + 0xD0, 0xFF, 0x2B, 0x00, 0x14, 0x00, 0xAF, 0xFF, + 0x2B, 0x00, 0x14, 0x00, 0x8F, 0xFF, 0x2B, 0x00, + 0x17, 0x00, 0x6E, 0xFF, 0x3A, 0x00, 0x19, 0x00, + 0x4E, 0xFF, 0x46, 0x00, 0x1B, 0x00, 0x2D, 0xFF, + 0x55, 0x00, 0x1D, 0x00, 0x0D, 0xFF, 0x67, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x49, 0x00, 0x14, 0x00, + 0x30, 0x00, 0x49, 0x00, 0x14, 0x00, 0x51, 0x00, + 0x49, 0x00, 0x14, 0x00, 0x71, 0x00, 0x49, 0x00, + 0x17, 0x00, 0x92, 0x00, 0x61, 0x00, 0x19, 0x00, + 0xB2, 0x00, 0x76, 0x00, 0x1B, 0x00, 0xD3, 0x00, + 0x8F, 0x00, 0x1D, 0x00, 0xF3, 0x00, 0xAD, 0x00, + 0x14, 0x00, 0xF0, 0xFF, 0x49, 0x00, 0x14, 0x00, + 0xD0, 0xFF, 0x49, 0x00, 0x14, 0x00, 0xAF, 0xFF, + 0x49, 0x00, 0x14, 0x00, 0x8F, 0xFF, 0x49, 0x00, + 0x17, 0x00, 0x6E, 0xFF, 0x61, 0x00, 0x19, 0x00, + 0x4E, 0xFF, 0x76, 0x00, 0x1B, 0x00, 0x2D, 0xFF, + 0x8F, 0x00, 0x1D, 0x00, 0x0D, 0xFF, 0xAD, 0x00, + 0x14, 0x00, 0x10, 0x00, 0x66, 0x00, 0x14, 0x00, + 0x30, 0x00, 0x66, 0x00, 0x14, 0x00, 0x51, 0x00, + 0x66, 0x00, 0x14, 0x00, 0x71, 0x00, 0x66, 0x00, + 0x17, 0x00, 0x92, 0x00, 0x88, 0x00, 0x19, 0x00, + 0xB2, 0x00, 0xA5, 0x00, 0x1B, 0x00, 0xD3, 0x00, + 0xC8, 0x00, 0x1D, 0x00, 0xF3, 0x00, 0xF2, 0x00, + 0x14, 0x00, 0xF0, 0xFF, 0x66, 0x00, 0x14, 0x00, + 0xD0, 0xFF, 0x66, 0x00, 0x14, 0x00, 0xAF, 0xFF, + 0x66, 0x00, 0x14, 0x00, 0x8F, 0xFF, 0x66, 0x00, + 0x17, 0x00, 0x6E, 0xFF, 0x88, 0x00, 0x19, 0x00, + 0x4E, 0xFF, 0xA5, 0x00, 0x1B, 0x00, 0x2D, 0xFF, + 0xC8, 0x00, 0x1D, 0x00, 0x0D, 0xFF, 0xF2, 0x00, + 0x17, 0x00, 0x10, 0x00, 0x84, 0x00, 0x17, 0x00, + 0x30, 0x00, 0x84, 0x00, 0x17, 0x00, 0x51, 0x00, + 0x84, 0x00, 0x17, 0x00, 0x71, 0x00, 0x84, 0x00, + 0x1A, 0x00, 0x92, 0x00, 0xB0, 0x00, 0x1C, 0x00, + 0xB2, 0x00, 0xD5, 0x00, 0x1E, 0x00, 0xD3, 0x00, + 0x02, 0x01, 0x20, 0x00, 0xF3, 0x00, 0x39, 0x01, + 0x17, 0x00, 0xF0, 0xFF, 0x84, 0x00, 0x17, 0x00, + 0xD0, 0xFF, 0x84, 0x00, 0x17, 0x00, 0xAF, 0xFF, + 0x84, 0x00, 0x17, 0x00, 0x8F, 0xFF, 0x84, 0x00, + 0x1A, 0x00, 0x6E, 0xFF, 0xB0, 0x00, 0x1C, 0x00, + 0x4E, 0xFF, 0xD5, 0x00, 0x1E, 0x00, 0x2D, 0xFF, + 0x02, 0x01, 0x20, 0x00, 0x0D, 0xFF, 0x39, 0x01, + 0x19, 0x00, 0x10, 0x00, 0xA1, 0x00, 0x19, 0x00, + 0x30, 0x00, 0xA1, 0x00, 0x19, 0x00, 0x51, 0x00, + 0xA1, 0x00, 0x19, 0x00, 0x71, 0x00, 0xA1, 0x00, + 0x1C, 0x00, 0x92, 0x00, 0xD7, 0x00, 0x1E, 0x00, + 0xB2, 0x00, 0x04, 0x01, 0x20, 0x00, 0xD3, 0x00, + 0x3B, 0x01, 0x22, 0x00, 0xF3, 0x00, 0x7E, 0x01, + 0x19, 0x00, 0xF0, 0xFF, 0xA1, 0x00, 0x19, 0x00, + 0xD0, 0xFF, 0xA1, 0x00, 0x19, 0x00, 0xAF, 0xFF, + 0xA1, 0x00, 0x19, 0x00, 0x8F, 0xFF, 0xA1, 0x00, + 0x1C, 0x00, 0x6E, 0xFF, 0xD7, 0x00, 0x1E, 0x00, + 0x4E, 0xFF, 0x04, 0x01, 0x20, 0x00, 0x2D, 0xFF, + 0x3B, 0x01, 0x22, 0x00, 0x0D, 0xFF, 0x7E, 0x01, + 0x1B, 0x00, 0x10, 0x00, 0xBF, 0x00, 0x1B, 0x00, + 0x30, 0x00, 0xBF, 0x00, 0x1B, 0x00, 0x51, 0x00, + 0xBF, 0x00, 0x1B, 0x00, 0x71, 0x00, 0xBF, 0x00, + 0x1E, 0x00, 0x92, 0x00, 0xFE, 0x00, 0x20, 0x00, + 0xB2, 0x00, 0x34, 0x01, 0x22, 0x00, 0xD3, 0x00, + 0x75, 0x01, 0x24, 0x00, 0xF3, 0x00, 0xC4, 0x01, + 0x1B, 0x00, 0xF0, 0xFF, 0xBF, 0x00, 0x1B, 0x00, + 0xD0, 0xFF, 0xBF, 0x00, 0x1B, 0x00, 0xAF, 0xFF, + 0xBF, 0x00, 0x1B, 0x00, 0x8F, 0xFF, 0xBF, 0x00, + 0x1E, 0x00, 0x6E, 0xFF, 0xFE, 0x00, 0x20, 0x00, + 0x4E, 0xFF, 0x34, 0x01, 0x22, 0x00, 0x2D, 0xFF, + 0x75, 0x01, 0x24, 0x00, 0x0D, 0xFF, 0xC4, 0x01, + 0x1D, 0x00, 0x10, 0x00, 0xDC, 0x00, 0x1D, 0x00, + 0x30, 0x00, 0xDC, 0x00, 0x1D, 0x00, 0x51, 0x00, + 0xDC, 0x00, 0x1D, 0x00, 0x71, 0x00, 0xDC, 0x00, + 0x20, 0x00, 0x92, 0x00, 0x25, 0x01, 0x22, 0x00, + 0xB2, 0x00, 0x63, 0x01, 0x24, 0x00, 0xD3, 0x00, + 0xAE, 0x01, 0x26, 0x00, 0xF3, 0x00, 0x09, 0x02, + 0x1D, 0x00, 0xF0, 0xFF, 0xDC, 0x00, 0x1D, 0x00, + 0xD0, 0xFF, 0xDC, 0x00, 0x1D, 0x00, 0xAF, 0xFF, + 0xDC, 0x00, 0x1D, 0x00, 0x8F, 0xFF, 0xDC, 0x00, + 0x20, 0x00, 0x6E, 0xFF, 0x25, 0x01, 0x22, 0x00, + 0x4E, 0xFF, 0x63, 0x01, 0x24, 0x00, 0x2D, 0xFF, + 0xAE, 0x01, 0x26, 0x00, 0x0D, 0xFF, 0x09, 0x02, + 0x14, 0x00, 0x10, 0x00, 0xF2, 0xFF, 0x14, 0x00, + 0x30, 0x00, 0xF2, 0xFF, 0x14, 0x00, 0x51, 0x00, + 0xF2, 0xFF, 0x14, 0x00, 0x71, 0x00, 0xF2, 0xFF, + 0x17, 0x00, 0x92, 0x00, 0xED, 0xFF, 0x19, 0x00, + 0xB2, 0x00, 0xE9, 0xFF, 0x1B, 0x00, 0xD3, 0x00, + 0xE4, 0xFF, 0x1D, 0x00, 0xF3, 0x00, 0xDE, 0xFF, + 0x14, 0x00, 0xF0, 0xFF, 0xF2, 0xFF, 0x14, 0x00, + 0xD0, 0xFF, 0xF2, 0xFF, 0x14, 0x00, 0xAF, 0xFF, + 0xF2, 0xFF, 0x14, 0x00, 0x8F, 0xFF, 0xF2, 0xFF, + 0x17, 0x00, 0x6E, 0xFF, 0xED, 0xFF, 0x19, 0x00, + 0x4E, 0xFF, 0xE9, 0xFF, 0x1B, 0x00, 0x2D, 0xFF, + 0xE4, 0xFF, 0x1D, 0x00, 0x0D, 0xFF, 0xDE, 0xFF, + 0x14, 0x00, 0x10, 0x00, 0xD5, 0xFF, 0x14, 0x00, + 0x30, 0x00, 0xD5, 0xFF, 0x14, 0x00, 0x51, 0x00, + 0xD5, 0xFF, 0x14, 0x00, 0x71, 0x00, 0xD5, 0xFF, + 0x17, 0x00, 0x92, 0x00, 0xC6, 0xFF, 0x19, 0x00, + 0xB2, 0x00, 0xBA, 0xFF, 0x1B, 0x00, 0xD3, 0x00, + 0xAB, 0xFF, 0x1D, 0x00, 0xF3, 0x00, 0x99, 0xFF, + 0x14, 0x00, 0xF0, 0xFF, 0xD5, 0xFF, 0x14, 0x00, + 0xD0, 0xFF, 0xD5, 0xFF, 0x14, 0x00, 0xAF, 0xFF, + 0xD5, 0xFF, 0x14, 0x00, 0x8F, 0xFF, 0xD5, 0xFF, + 0x17, 0x00, 0x6E, 0xFF, 0xC6, 0xFF, 0x19, 0x00, + 0x4E, 0xFF, 0xBA, 0xFF, 0x1B, 0x00, 0x2D, 0xFF, + 0xAB, 0xFF, 0x1D, 0x00, 0x0D, 0xFF, 0x99, 0xFF, + 0x14, 0x00, 0x10, 0x00, 0xB7, 0xFF, 0x14, 0x00, + 0x30, 0x00, 0xB7, 0xFF, 0x14, 0x00, 0x51, 0x00, + 0xB7, 0xFF, 0x14, 0x00, 0x71, 0x00, 0xB7, 0xFF, + 0x17, 0x00, 0x92, 0x00, 0x9F, 0xFF, 0x19, 0x00, + 0xB2, 0x00, 0x8A, 0xFF, 0x1B, 0x00, 0xD3, 0x00, + 0x71, 0xFF, 0x1D, 0x00, 0xF3, 0x00, 0x53, 0xFF, + 0x14, 0x00, 0xF0, 0xFF, 0xB7, 0xFF, 0x14, 0x00, + 0xD0, 0xFF, 0xB7, 0xFF, 0x14, 0x00, 0xAF, 0xFF, + 0xB7, 0xFF, 0x14, 0x00, 0x8F, 0xFF, 0xB7, 0xFF, + 0x17, 0x00, 0x6E, 0xFF, 0x9F, 0xFF, 0x19, 0x00, + 0x4E, 0xFF, 0x8A, 0xFF, 0x1B, 0x00, 0x2D, 0xFF, + 0x71, 0xFF, 0x1D, 0x00, 0x0D, 0xFF, 0x53, 0xFF, + 0x14, 0x00, 0x10, 0x00, 0x9A, 0xFF, 0x14, 0x00, + 0x30, 0x00, 0x9A, 0xFF, 0x14, 0x00, 0x51, 0x00, + 0x9A, 0xFF, 0x14, 0x00, 0x71, 0x00, 0x9A, 0xFF, + 0x17, 0x00, 0x92, 0x00, 0x78, 0xFF, 0x19, 0x00, + 0xB2, 0x00, 0x5B, 0xFF, 0x1B, 0x00, 0xD3, 0x00, + 0x38, 0xFF, 0x1D, 0x00, 0xF3, 0x00, 0x0E, 0xFF, + 0x14, 0x00, 0xF0, 0xFF, 0x9A, 0xFF, 0x14, 0x00, + 0xD0, 0xFF, 0x9A, 0xFF, 0x14, 0x00, 0xAF, 0xFF, + 0x9A, 0xFF, 0x14, 0x00, 0x8F, 0xFF, 0x9A, 0xFF, + 0x17, 0x00, 0x6E, 0xFF, 0x78, 0xFF, 0x19, 0x00, + 0x4E, 0xFF, 0x5B, 0xFF, 0x1B, 0x00, 0x2D, 0xFF, + 0x38, 0xFF, 0x1D, 0x00, 0x0D, 0xFF, 0x0E, 0xFF, + 0x17, 0x00, 0x10, 0x00, 0x7C, 0xFF, 0x17, 0x00, + 0x30, 0x00, 0x7C, 0xFF, 0x17, 0x00, 0x51, 0x00, + 0x7C, 0xFF, 0x17, 0x00, 0x71, 0x00, 0x7C, 0xFF, + 0x1A, 0x00, 0x92, 0x00, 0x50, 0xFF, 0x1C, 0x00, + 0xB2, 0x00, 0x2B, 0xFF, 0x1E, 0x00, 0xD3, 0x00, + 0xFE, 0xFE, 0x20, 0x00, 0xF3, 0x00, 0xC7, 0xFE, + 0x17, 0x00, 0xF0, 0xFF, 0x7C, 0xFF, 0x17, 0x00, + 0xD0, 0xFF, 0x7C, 0xFF, 0x17, 0x00, 0xAF, 0xFF, + 0x7C, 0xFF, 0x17, 0x00, 0x8F, 0xFF, 0x7C, 0xFF, + 0x1A, 0x00, 0x6E, 0xFF, 0x50, 0xFF, 0x1C, 0x00, + 0x4E, 0xFF, 0x2B, 0xFF, 0x1E, 0x00, 0x2D, 0xFF, + 0xFE, 0xFE, 0x20, 0x00, 0x0D, 0xFF, 0xC7, 0xFE, + 0x19, 0x00, 0x10, 0x00, 0x5F, 0xFF, 0x19, 0x00, + 0x30, 0x00, 0x5F, 0xFF, 0x19, 0x00, 0x51, 0x00, + 0x5F, 0xFF, 0x19, 0x00, 0x71, 0x00, 0x5F, 0xFF, + 0x1C, 0x00, 0x92, 0x00, 0x29, 0xFF, 0x1E, 0x00, + 0xB2, 0x00, 0xFC, 0xFE, 0x20, 0x00, 0xD3, 0x00, + 0xC5, 0xFE, 0x22, 0x00, 0xF3, 0x00, 0x82, 0xFE, + 0x19, 0x00, 0xF0, 0xFF, 0x5F, 0xFF, 0x19, 0x00, + 0xD0, 0xFF, 0x5F, 0xFF, 0x19, 0x00, 0xAF, 0xFF, + 0x5F, 0xFF, 0x19, 0x00, 0x8F, 0xFF, 0x5F, 0xFF, + 0x1C, 0x00, 0x6E, 0xFF, 0x29, 0xFF, 0x1E, 0x00, + 0x4E, 0xFF, 0xFC, 0xFE, 0x20, 0x00, 0x2D, 0xFF, + 0xC5, 0xFE, 0x22, 0x00, 0x0D, 0xFF, 0x82, 0xFE, + 0x1B, 0x00, 0x10, 0x00, 0x41, 0xFF, 0x1B, 0x00, + 0x30, 0x00, 0x41, 0xFF, 0x1B, 0x00, 0x51, 0x00, + 0x41, 0xFF, 0x1B, 0x00, 0x71, 0x00, 0x41, 0xFF, + 0x1E, 0x00, 0x92, 0x00, 0x02, 0xFF, 0x20, 0x00, + 0xB2, 0x00, 0xCC, 0xFE, 0x22, 0x00, 0xD3, 0x00, + 0x8B, 0xFE, 0x24, 0x00, 0xF3, 0x00, 0x3C, 0xFE, + 0x1B, 0x00, 0xF0, 0xFF, 0x41, 0xFF, 0x1B, 0x00, + 0xD0, 0xFF, 0x41, 0xFF, 0x1B, 0x00, 0xAF, 0xFF, + 0x41, 0xFF, 0x1B, 0x00, 0x8F, 0xFF, 0x41, 0xFF, + 0x1E, 0x00, 0x6E, 0xFF, 0x02, 0xFF, 0x20, 0x00, + 0x4E, 0xFF, 0xCC, 0xFE, 0x22, 0x00, 0x2D, 0xFF, + 0x8B, 0xFE, 0x24, 0x00, 0x0D, 0xFF, 0x3C, 0xFE, + 0x1D, 0x00, 0x10, 0x00, 0x24, 0xFF, 0x1D, 0x00, + 0x30, 0x00, 0x24, 0xFF, 0x1D, 0x00, 0x51, 0x00, + 0x24, 0xFF, 0x1D, 0x00, 0x71, 0x00, 0x24, 0xFF, + 0x20, 0x00, 0x92, 0x00, 0xDB, 0xFE, 0x22, 0x00, + 0xB2, 0x00, 0x9D, 0xFE, 0x24, 0x00, 0xD3, 0x00, + 0x52, 0xFE, 0x26, 0x00, 0xF3, 0x00, 0xF7, 0xFD, + 0x1D, 0x00, 0xF0, 0xFF, 0x24, 0xFF, 0x1D, 0x00, + 0xD0, 0xFF, 0x24, 0xFF, 0x1D, 0x00, 0xAF, 0xFF, + 0x24, 0xFF, 0x1D, 0x00, 0x8F, 0xFF, 0x24, 0xFF, + 0x20, 0x00, 0x6E, 0xFF, 0xDB, 0xFE, 0x22, 0x00, + 0x4E, 0xFF, 0x9D, 0xFE, 0x24, 0x00, 0x2D, 0xFF, + 0x52, 0xFE, 0x26, 0x00, 0x0D, 0xFF, 0xF7, 0xFD, + 0x15, 0x00, 0x11, 0x00, 0x10, 0x00, 0x15, 0x00, + 0x34, 0x00, 0x10, 0x00, 0x15, 0x00, 0x58, 0x00, + 0x10, 0x00, 0x15, 0x00, 0x7B, 0x00, 0x10, 0x00, + 0x18, 0x00, 0xA0, 0x00, 0x15, 0x00, 0x1A, 0x00, + 0xC3, 0x00, 0x1A, 0x00, 0x1C, 0x00, 0xE7, 0x00, + 0x1F, 0x00, 0x1E, 0x00, 0x0A, 0x01, 0x26, 0x00, + 0x15, 0x00, 0xEF, 0xFF, 0x10, 0x00, 0x15, 0x00, + 0xCC, 0xFF, 0x10, 0x00, 0x15, 0x00, 0xA8, 0xFF, + 0x10, 0x00, 0x15, 0x00, 0x85, 0xFF, 0x10, 0x00, + 0x18, 0x00, 0x60, 0xFF, 0x15, 0x00, 0x1A, 0x00, + 0x3D, 0xFF, 0x1A, 0x00, 0x1C, 0x00, 0x19, 0xFF, + 0x1F, 0x00, 0x1E, 0x00, 0xF6, 0xFE, 0x26, 0x00, + 0x15, 0x00, 0x11, 0x00, 0x30, 0x00, 0x15, 0x00, + 0x34, 0x00, 0x30, 0x00, 0x15, 0x00, 0x58, 0x00, + 0x30, 0x00, 0x15, 0x00, 0x7B, 0x00, 0x30, 0x00, + 0x18, 0x00, 0xA0, 0x00, 0x40, 0x00, 0x1A, 0x00, + 0xC3, 0x00, 0x4E, 0x00, 0x1C, 0x00, 0xE7, 0x00, + 0x5E, 0x00, 0x1E, 0x00, 0x0A, 0x01, 0x72, 0x00, + 0x15, 0x00, 0xEF, 0xFF, 0x30, 0x00, 0x15, 0x00, + 0xCC, 0xFF, 0x30, 0x00, 0x15, 0x00, 0xA8, 0xFF, + 0x30, 0x00, 0x15, 0x00, 0x85, 0xFF, 0x30, 0x00, + 0x18, 0x00, 0x60, 0xFF, 0x40, 0x00, 0x1A, 0x00, + 0x3D, 0xFF, 0x4E, 0x00, 0x1C, 0x00, 0x19, 0xFF, + 0x5E, 0x00, 0x1E, 0x00, 0xF6, 0xFE, 0x72, 0x00, + 0x15, 0x00, 0x11, 0x00, 0x51, 0x00, 0x15, 0x00, + 0x34, 0x00, 0x51, 0x00, 0x15, 0x00, 0x58, 0x00, + 0x51, 0x00, 0x15, 0x00, 0x7B, 0x00, 0x51, 0x00, + 0x18, 0x00, 0xA0, 0x00, 0x6B, 0x00, 0x1A, 0x00, + 0xC3, 0x00, 0x82, 0x00, 0x1C, 0x00, 0xE7, 0x00, + 0x9D, 0x00, 0x1E, 0x00, 0x0A, 0x01, 0xBF, 0x00, + 0x15, 0x00, 0xEF, 0xFF, 0x51, 0x00, 0x15, 0x00, + 0xCC, 0xFF, 0x51, 0x00, 0x15, 0x00, 0xA8, 0xFF, + 0x51, 0x00, 0x15, 0x00, 0x85, 0xFF, 0x51, 0x00, + 0x18, 0x00, 0x60, 0xFF, 0x6B, 0x00, 0x1A, 0x00, + 0x3D, 0xFF, 0x82, 0x00, 0x1C, 0x00, 0x19, 0xFF, + 0x9D, 0x00, 0x1E, 0x00, 0xF6, 0xFE, 0xBF, 0x00, + 0x15, 0x00, 0x11, 0x00, 0x71, 0x00, 0x15, 0x00, + 0x34, 0x00, 0x71, 0x00, 0x15, 0x00, 0x58, 0x00, + 0x71, 0x00, 0x15, 0x00, 0x7B, 0x00, 0x71, 0x00, + 0x18, 0x00, 0xA0, 0x00, 0x96, 0x00, 0x1A, 0x00, + 0xC3, 0x00, 0xB6, 0x00, 0x1C, 0x00, 0xE7, 0x00, + 0xDC, 0x00, 0x1E, 0x00, 0x0A, 0x01, 0x0B, 0x01, + 0x15, 0x00, 0xEF, 0xFF, 0x71, 0x00, 0x15, 0x00, + 0xCC, 0xFF, 0x71, 0x00, 0x15, 0x00, 0xA8, 0xFF, + 0x71, 0x00, 0x15, 0x00, 0x85, 0xFF, 0x71, 0x00, + 0x18, 0x00, 0x60, 0xFF, 0x96, 0x00, 0x1A, 0x00, + 0x3D, 0xFF, 0xB6, 0x00, 0x1C, 0x00, 0x19, 0xFF, + 0xDC, 0x00, 0x1E, 0x00, 0xF6, 0xFE, 0x0B, 0x01, + 0x18, 0x00, 0x11, 0x00, 0x92, 0x00, 0x18, 0x00, + 0x34, 0x00, 0x92, 0x00, 0x18, 0x00, 0x58, 0x00, + 0x92, 0x00, 0x18, 0x00, 0x7B, 0x00, 0x92, 0x00, + 0x1B, 0x00, 0xA0, 0x00, 0xC2, 0x00, 0x1D, 0x00, + 0xC3, 0x00, 0xEB, 0x00, 0x1F, 0x00, 0xE7, 0x00, + 0x1C, 0x01, 0x21, 0x00, 0x0A, 0x01, 0x59, 0x01, + 0x18, 0x00, 0xEF, 0xFF, 0x92, 0x00, 0x18, 0x00, + 0xCC, 0xFF, 0x92, 0x00, 0x18, 0x00, 0xA8, 0xFF, + 0x92, 0x00, 0x18, 0x00, 0x85, 0xFF, 0x92, 0x00, + 0x1B, 0x00, 0x60, 0xFF, 0xC2, 0x00, 0x1D, 0x00, + 0x3D, 0xFF, 0xEB, 0x00, 0x1F, 0x00, 0x19, 0xFF, + 0x1C, 0x01, 0x21, 0x00, 0xF6, 0xFE, 0x59, 0x01, + 0x1A, 0x00, 0x11, 0x00, 0xB2, 0x00, 0x1A, 0x00, + 0x34, 0x00, 0xB2, 0x00, 0x1A, 0x00, 0x58, 0x00, + 0xB2, 0x00, 0x1A, 0x00, 0x7B, 0x00, 0xB2, 0x00, + 0x1D, 0x00, 0xA0, 0x00, 0xED, 0x00, 0x1F, 0x00, + 0xC3, 0x00, 0x1F, 0x01, 0x21, 0x00, 0xE7, 0x00, + 0x5B, 0x01, 0x23, 0x00, 0x0A, 0x01, 0xA5, 0x01, + 0x1A, 0x00, 0xEF, 0xFF, 0xB2, 0x00, 0x1A, 0x00, + 0xCC, 0xFF, 0xB2, 0x00, 0x1A, 0x00, 0xA8, 0xFF, + 0xB2, 0x00, 0x1A, 0x00, 0x85, 0xFF, 0xB2, 0x00, + 0x1D, 0x00, 0x60, 0xFF, 0xED, 0x00, 0x1F, 0x00, + 0x3D, 0xFF, 0x1F, 0x01, 0x21, 0x00, 0x19, 0xFF, + 0x5B, 0x01, 0x23, 0x00, 0xF6, 0xFE, 0xA5, 0x01, + 0x1C, 0x00, 0x11, 0x00, 0xD3, 0x00, 0x1C, 0x00, + 0x34, 0x00, 0xD3, 0x00, 0x1C, 0x00, 0x58, 0x00, + 0xD3, 0x00, 0x1C, 0x00, 0x7B, 0x00, 0xD3, 0x00, + 0x1F, 0x00, 0xA0, 0x00, 0x18, 0x01, 0x21, 0x00, + 0xC3, 0x00, 0x53, 0x01, 0x23, 0x00, 0xE7, 0x00, + 0x9A, 0x01, 0x25, 0x00, 0x0A, 0x01, 0xF2, 0x01, + 0x1C, 0x00, 0xEF, 0xFF, 0xD3, 0x00, 0x1C, 0x00, + 0xCC, 0xFF, 0xD3, 0x00, 0x1C, 0x00, 0xA8, 0xFF, + 0xD3, 0x00, 0x1C, 0x00, 0x85, 0xFF, 0xD3, 0x00, + 0x1F, 0x00, 0x60, 0xFF, 0x18, 0x01, 0x21, 0x00, + 0x3D, 0xFF, 0x53, 0x01, 0x23, 0x00, 0x19, 0xFF, + 0x9A, 0x01, 0x25, 0x00, 0xF6, 0xFE, 0xF2, 0x01, + 0x1E, 0x00, 0x11, 0x00, 0xF3, 0x00, 0x1E, 0x00, + 0x34, 0x00, 0xF3, 0x00, 0x1E, 0x00, 0x58, 0x00, + 0xF3, 0x00, 0x1E, 0x00, 0x7B, 0x00, 0xF3, 0x00, + 0x21, 0x00, 0xA0, 0x00, 0x43, 0x01, 0x23, 0x00, + 0xC3, 0x00, 0x87, 0x01, 0x25, 0x00, 0xE7, 0x00, + 0xD9, 0x01, 0x27, 0x00, 0x0A, 0x01, 0x3E, 0x02, + 0x1E, 0x00, 0xEF, 0xFF, 0xF3, 0x00, 0x1E, 0x00, + 0xCC, 0xFF, 0xF3, 0x00, 0x1E, 0x00, 0xA8, 0xFF, + 0xF3, 0x00, 0x1E, 0x00, 0x85, 0xFF, 0xF3, 0x00, + 0x21, 0x00, 0x60, 0xFF, 0x43, 0x01, 0x23, 0x00, + 0x3D, 0xFF, 0x87, 0x01, 0x25, 0x00, 0x19, 0xFF, + 0xD9, 0x01, 0x27, 0x00, 0xF6, 0xFE, 0x3E, 0x02, + 0x15, 0x00, 0x11, 0x00, 0xF0, 0xFF, 0x15, 0x00, + 0x34, 0x00, 0xF0, 0xFF, 0x15, 0x00, 0x58, 0x00, + 0xF0, 0xFF, 0x15, 0x00, 0x7B, 0x00, 0xF0, 0xFF, + 0x18, 0x00, 0xA0, 0x00, 0xEB, 0xFF, 0x1A, 0x00, + 0xC3, 0x00, 0xE6, 0xFF, 0x1C, 0x00, 0xE7, 0x00, + 0xE1, 0xFF, 0x1E, 0x00, 0x0A, 0x01, 0xDA, 0xFF, + 0x15, 0x00, 0xEF, 0xFF, 0xF0, 0xFF, 0x15, 0x00, + 0xCC, 0xFF, 0xF0, 0xFF, 0x15, 0x00, 0xA8, 0xFF, + 0xF0, 0xFF, 0x15, 0x00, 0x85, 0xFF, 0xF0, 0xFF, + 0x18, 0x00, 0x60, 0xFF, 0xEB, 0xFF, 0x1A, 0x00, + 0x3D, 0xFF, 0xE6, 0xFF, 0x1C, 0x00, 0x19, 0xFF, + 0xE1, 0xFF, 0x1E, 0x00, 0xF6, 0xFE, 0xDA, 0xFF, + 0x15, 0x00, 0x11, 0x00, 0xD0, 0xFF, 0x15, 0x00, + 0x34, 0x00, 0xD0, 0xFF, 0x15, 0x00, 0x58, 0x00, + 0xD0, 0xFF, 0x15, 0x00, 0x7B, 0x00, 0xD0, 0xFF, + 0x18, 0x00, 0xA0, 0x00, 0xC0, 0xFF, 0x1A, 0x00, + 0xC3, 0x00, 0xB2, 0xFF, 0x1C, 0x00, 0xE7, 0x00, + 0xA2, 0xFF, 0x1E, 0x00, 0x0A, 0x01, 0x8E, 0xFF, + 0x15, 0x00, 0xEF, 0xFF, 0xD0, 0xFF, 0x15, 0x00, + 0xCC, 0xFF, 0xD0, 0xFF, 0x15, 0x00, 0xA8, 0xFF, + 0xD0, 0xFF, 0x15, 0x00, 0x85, 0xFF, 0xD0, 0xFF, + 0x18, 0x00, 0x60, 0xFF, 0xC0, 0xFF, 0x1A, 0x00, + 0x3D, 0xFF, 0xB2, 0xFF, 0x1C, 0x00, 0x19, 0xFF, + 0xA2, 0xFF, 0x1E, 0x00, 0xF6, 0xFE, 0x8E, 0xFF, + 0x15, 0x00, 0x11, 0x00, 0xAF, 0xFF, 0x15, 0x00, + 0x34, 0x00, 0xAF, 0xFF, 0x15, 0x00, 0x58, 0x00, + 0xAF, 0xFF, 0x15, 0x00, 0x7B, 0x00, 0xAF, 0xFF, + 0x18, 0x00, 0xA0, 0x00, 0x95, 0xFF, 0x1A, 0x00, + 0xC3, 0x00, 0x7E, 0xFF, 0x1C, 0x00, 0xE7, 0x00, + 0x63, 0xFF, 0x1E, 0x00, 0x0A, 0x01, 0x41, 0xFF, + 0x15, 0x00, 0xEF, 0xFF, 0xAF, 0xFF, 0x15, 0x00, + 0xCC, 0xFF, 0xAF, 0xFF, 0x15, 0x00, 0xA8, 0xFF, + 0xAF, 0xFF, 0x15, 0x00, 0x85, 0xFF, 0xAF, 0xFF, + 0x18, 0x00, 0x60, 0xFF, 0x95, 0xFF, 0x1A, 0x00, + 0x3D, 0xFF, 0x7E, 0xFF, 0x1C, 0x00, 0x19, 0xFF, + 0x63, 0xFF, 0x1E, 0x00, 0xF6, 0xFE, 0x41, 0xFF, + 0x15, 0x00, 0x11, 0x00, 0x8F, 0xFF, 0x15, 0x00, + 0x34, 0x00, 0x8F, 0xFF, 0x15, 0x00, 0x58, 0x00, + 0x8F, 0xFF, 0x15, 0x00, 0x7B, 0x00, 0x8F, 0xFF, + 0x18, 0x00, 0xA0, 0x00, 0x6A, 0xFF, 0x1A, 0x00, + 0xC3, 0x00, 0x4A, 0xFF, 0x1C, 0x00, 0xE7, 0x00, + 0x24, 0xFF, 0x1E, 0x00, 0x0A, 0x01, 0xF5, 0xFE, + 0x15, 0x00, 0xEF, 0xFF, 0x8F, 0xFF, 0x15, 0x00, + 0xCC, 0xFF, 0x8F, 0xFF, 0x15, 0x00, 0xA8, 0xFF, + 0x8F, 0xFF, 0x15, 0x00, 0x85, 0xFF, 0x8F, 0xFF, + 0x18, 0x00, 0x60, 0xFF, 0x6A, 0xFF, 0x1A, 0x00, + 0x3D, 0xFF, 0x4A, 0xFF, 0x1C, 0x00, 0x19, 0xFF, + 0x24, 0xFF, 0x1E, 0x00, 0xF6, 0xFE, 0xF5, 0xFE, + 0x18, 0x00, 0x11, 0x00, 0x6E, 0xFF, 0x18, 0x00, + 0x34, 0x00, 0x6E, 0xFF, 0x18, 0x00, 0x58, 0x00, + 0x6E, 0xFF, 0x18, 0x00, 0x7B, 0x00, 0x6E, 0xFF, + 0x1B, 0x00, 0xA0, 0x00, 0x3E, 0xFF, 0x1D, 0x00, + 0xC3, 0x00, 0x15, 0xFF, 0x1F, 0x00, 0xE7, 0x00, + 0xE4, 0xFE, 0x21, 0x00, 0x0A, 0x01, 0xA7, 0xFE, + 0x18, 0x00, 0xEF, 0xFF, 0x6E, 0xFF, 0x18, 0x00, + 0xCC, 0xFF, 0x6E, 0xFF, 0x18, 0x00, 0xA8, 0xFF, + 0x6E, 0xFF, 0x18, 0x00, 0x85, 0xFF, 0x6E, 0xFF, + 0x1B, 0x00, 0x60, 0xFF, 0x3E, 0xFF, 0x1D, 0x00, + 0x3D, 0xFF, 0x15, 0xFF, 0x1F, 0x00, 0x19, 0xFF, + 0xE4, 0xFE, 0x21, 0x00, 0xF6, 0xFE, 0xA7, 0xFE, + 0x1A, 0x00, 0x11, 0x00, 0x4E, 0xFF, 0x1A, 0x00, + 0x34, 0x00, 0x4E, 0xFF, 0x1A, 0x00, 0x58, 0x00, + 0x4E, 0xFF, 0x1A, 0x00, 0x7B, 0x00, 0x4E, 0xFF, + 0x1D, 0x00, 0xA0, 0x00, 0x13, 0xFF, 0x1F, 0x00, + 0xC3, 0x00, 0xE1, 0xFE, 0x21, 0x00, 0xE7, 0x00, + 0xA5, 0xFE, 0x23, 0x00, 0x0A, 0x01, 0x5B, 0xFE, + 0x1A, 0x00, 0xEF, 0xFF, 0x4E, 0xFF, 0x1A, 0x00, + 0xCC, 0xFF, 0x4E, 0xFF, 0x1A, 0x00, 0xA8, 0xFF, + 0x4E, 0xFF, 0x1A, 0x00, 0x85, 0xFF, 0x4E, 0xFF, + 0x1D, 0x00, 0x60, 0xFF, 0x13, 0xFF, 0x1F, 0x00, + 0x3D, 0xFF, 0xE1, 0xFE, 0x21, 0x00, 0x19, 0xFF, + 0xA5, 0xFE, 0x23, 0x00, 0xF6, 0xFE, 0x5B, 0xFE, + 0x1C, 0x00, 0x11, 0x00, 0x2D, 0xFF, 0x1C, 0x00, + 0x34, 0x00, 0x2D, 0xFF, 0x1C, 0x00, 0x58, 0x00, + 0x2D, 0xFF, 0x1C, 0x00, 0x7B, 0x00, 0x2D, 0xFF, + 0x1F, 0x00, 0xA0, 0x00, 0xE8, 0xFE, 0x21, 0x00, + 0xC3, 0x00, 0xAD, 0xFE, 0x23, 0x00, 0xE7, 0x00, + 0x66, 0xFE, 0x25, 0x00, 0x0A, 0x01, 0x0E, 0xFE, + 0x1C, 0x00, 0xEF, 0xFF, 0x2D, 0xFF, 0x1C, 0x00, + 0xCC, 0xFF, 0x2D, 0xFF, 0x1C, 0x00, 0xA8, 0xFF, + 0x2D, 0xFF, 0x1C, 0x00, 0x85, 0xFF, 0x2D, 0xFF, + 0x1F, 0x00, 0x60, 0xFF, 0xE8, 0xFE, 0x21, 0x00, + 0x3D, 0xFF, 0xAD, 0xFE, 0x23, 0x00, 0x19, 0xFF, + 0x66, 0xFE, 0x25, 0x00, 0xF6, 0xFE, 0x0E, 0xFE, + 0x1E, 0x00, 0x11, 0x00, 0x0D, 0xFF, 0x1E, 0x00, + 0x34, 0x00, 0x0D, 0xFF, 0x1E, 0x00, 0x58, 0x00, + 0x0D, 0xFF, 0x1E, 0x00, 0x7B, 0x00, 0x0D, 0xFF, + 0x21, 0x00, 0xA0, 0x00, 0xBD, 0xFE, 0x23, 0x00, + 0xC3, 0x00, 0x79, 0xFE, 0x25, 0x00, 0xE7, 0x00, + 0x27, 0xFE, 0x27, 0x00, 0x0A, 0x01, 0xC2, 0xFD, + 0x1E, 0x00, 0xEF, 0xFF, 0x0D, 0xFF, 0x1E, 0x00, + 0xCC, 0xFF, 0x0D, 0xFF, 0x1E, 0x00, 0xA8, 0xFF, + 0x0D, 0xFF, 0x1E, 0x00, 0x85, 0xFF, 0x0D, 0xFF, + 0x21, 0x00, 0x60, 0xFF, 0xBD, 0xFE, 0x23, 0x00, + 0x3D, 0xFF, 0x79, 0xFE, 0x25, 0x00, 0x19, 0xFF, + 0x27, 0xFE, 0x27, 0x00, 0xF6, 0xFE, 0xC2, 0xFD, + 0x16, 0x00, 0x13, 0x00, 0x11, 0x00, 0x16, 0x00, + 0x3A, 0x00, 0x11, 0x00, 0x16, 0x00, 0x61, 0x00, + 0x11, 0x00, 0x16, 0x00, 0x88, 0x00, 0x11, 0x00, + 0x19, 0x00, 0xB0, 0x00, 0x17, 0x00, 0x1B, 0x00, + 0xD7, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0xFE, 0x00, + 0x22, 0x00, 0x1F, 0x00, 0x25, 0x01, 0x2A, 0x00, + 0x16, 0x00, 0xED, 0xFF, 0x11, 0x00, 0x16, 0x00, + 0xC6, 0xFF, 0x11, 0x00, 0x16, 0x00, 0x9F, 0xFF, + 0x11, 0x00, 0x16, 0x00, 0x78, 0xFF, 0x11, 0x00, + 0x19, 0x00, 0x50, 0xFF, 0x17, 0x00, 0x1B, 0x00, + 0x29, 0xFF, 0x1C, 0x00, 0x1D, 0x00, 0x02, 0xFF, + 0x22, 0x00, 0x1F, 0x00, 0xDB, 0xFE, 0x2A, 0x00, + 0x16, 0x00, 0x13, 0x00, 0x34, 0x00, 0x16, 0x00, + 0x3A, 0x00, 0x34, 0x00, 0x16, 0x00, 0x61, 0x00, + 0x34, 0x00, 0x16, 0x00, 0x88, 0x00, 0x34, 0x00, + 0x19, 0x00, 0xB0, 0x00, 0x46, 0x00, 0x1B, 0x00, + 0xD7, 0x00, 0x55, 0x00, 0x1D, 0x00, 0xFE, 0x00, + 0x67, 0x00, 0x1F, 0x00, 0x25, 0x01, 0x7E, 0x00, + 0x16, 0x00, 0xED, 0xFF, 0x34, 0x00, 0x16, 0x00, + 0xC6, 0xFF, 0x34, 0x00, 0x16, 0x00, 0x9F, 0xFF, + 0x34, 0x00, 0x16, 0x00, 0x78, 0xFF, 0x34, 0x00, + 0x19, 0x00, 0x50, 0xFF, 0x46, 0x00, 0x1B, 0x00, + 0x29, 0xFF, 0x55, 0x00, 0x1D, 0x00, 0x02, 0xFF, + 0x67, 0x00, 0x1F, 0x00, 0xDB, 0xFE, 0x7E, 0x00, + 0x16, 0x00, 0x13, 0x00, 0x58, 0x00, 0x16, 0x00, + 0x3A, 0x00, 0x58, 0x00, 0x16, 0x00, 0x61, 0x00, + 0x58, 0x00, 0x16, 0x00, 0x88, 0x00, 0x58, 0x00, + 0x19, 0x00, 0xB0, 0x00, 0x76, 0x00, 0x1B, 0x00, + 0xD7, 0x00, 0x8F, 0x00, 0x1D, 0x00, 0xFE, 0x00, + 0xAD, 0x00, 0x1F, 0x00, 0x25, 0x01, 0xD2, 0x00, + 0x16, 0x00, 0xED, 0xFF, 0x58, 0x00, 0x16, 0x00, + 0xC6, 0xFF, 0x58, 0x00, 0x16, 0x00, 0x9F, 0xFF, + 0x58, 0x00, 0x16, 0x00, 0x78, 0xFF, 0x58, 0x00, + 0x19, 0x00, 0x50, 0xFF, 0x76, 0x00, 0x1B, 0x00, + 0x29, 0xFF, 0x8F, 0x00, 0x1D, 0x00, 0x02, 0xFF, + 0xAD, 0x00, 0x1F, 0x00, 0xDB, 0xFE, 0xD2, 0x00, + 0x16, 0x00, 0x13, 0x00, 0x7B, 0x00, 0x16, 0x00, + 0x3A, 0x00, 0x7B, 0x00, 0x16, 0x00, 0x61, 0x00, + 0x7B, 0x00, 0x16, 0x00, 0x88, 0x00, 0x7B, 0x00, + 0x19, 0x00, 0xB0, 0x00, 0xA5, 0x00, 0x1B, 0x00, + 0xD7, 0x00, 0xC8, 0x00, 0x1D, 0x00, 0xFE, 0x00, + 0xF2, 0x00, 0x1F, 0x00, 0x25, 0x01, 0x26, 0x01, + 0x16, 0x00, 0xED, 0xFF, 0x7B, 0x00, 0x16, 0x00, + 0xC6, 0xFF, 0x7B, 0x00, 0x16, 0x00, 0x9F, 0xFF, + 0x7B, 0x00, 0x16, 0x00, 0x78, 0xFF, 0x7B, 0x00, + 0x19, 0x00, 0x50, 0xFF, 0xA5, 0x00, 0x1B, 0x00, + 0x29, 0xFF, 0xC8, 0x00, 0x1D, 0x00, 0x02, 0xFF, + 0xF2, 0x00, 0x1F, 0x00, 0xDB, 0xFE, 0x26, 0x01, + 0x19, 0x00, 0x13, 0x00, 0xA0, 0x00, 0x19, 0x00, + 0x3A, 0x00, 0xA0, 0x00, 0x19, 0x00, 0x61, 0x00, + 0xA0, 0x00, 0x19, 0x00, 0x88, 0x00, 0xA0, 0x00, + 0x1C, 0x00, 0xB0, 0x00, 0xD5, 0x00, 0x1E, 0x00, + 0xD7, 0x00, 0x02, 0x01, 0x20, 0x00, 0xFE, 0x00, + 0x39, 0x01, 0x22, 0x00, 0x25, 0x01, 0x7B, 0x01, + 0x19, 0x00, 0xED, 0xFF, 0xA0, 0x00, 0x19, 0x00, + 0xC6, 0xFF, 0xA0, 0x00, 0x19, 0x00, 0x9F, 0xFF, + 0xA0, 0x00, 0x19, 0x00, 0x78, 0xFF, 0xA0, 0x00, + 0x1C, 0x00, 0x50, 0xFF, 0xD5, 0x00, 0x1E, 0x00, + 0x29, 0xFF, 0x02, 0x01, 0x20, 0x00, 0x02, 0xFF, + 0x39, 0x01, 0x22, 0x00, 0xDB, 0xFE, 0x7B, 0x01, + 0x1B, 0x00, 0x13, 0x00, 0xC3, 0x00, 0x1B, 0x00, + 0x3A, 0x00, 0xC3, 0x00, 0x1B, 0x00, 0x61, 0x00, + 0xC3, 0x00, 0x1B, 0x00, 0x88, 0x00, 0xC3, 0x00, + 0x1E, 0x00, 0xB0, 0x00, 0x04, 0x01, 0x20, 0x00, + 0xD7, 0x00, 0x3B, 0x01, 0x22, 0x00, 0xFE, 0x00, + 0x7E, 0x01, 0x24, 0x00, 0x25, 0x01, 0xCF, 0x01, + 0x1B, 0x00, 0xED, 0xFF, 0xC3, 0x00, 0x1B, 0x00, + 0xC6, 0xFF, 0xC3, 0x00, 0x1B, 0x00, 0x9F, 0xFF, + 0xC3, 0x00, 0x1B, 0x00, 0x78, 0xFF, 0xC3, 0x00, + 0x1E, 0x00, 0x50, 0xFF, 0x04, 0x01, 0x20, 0x00, + 0x29, 0xFF, 0x3B, 0x01, 0x22, 0x00, 0x02, 0xFF, + 0x7E, 0x01, 0x24, 0x00, 0xDB, 0xFE, 0xCF, 0x01, + 0x1D, 0x00, 0x13, 0x00, 0xE7, 0x00, 0x1D, 0x00, + 0x3A, 0x00, 0xE7, 0x00, 0x1D, 0x00, 0x61, 0x00, + 0xE7, 0x00, 0x1D, 0x00, 0x88, 0x00, 0xE7, 0x00, + 0x20, 0x00, 0xB0, 0x00, 0x34, 0x01, 0x22, 0x00, + 0xD7, 0x00, 0x75, 0x01, 0x24, 0x00, 0xFE, 0x00, + 0xC4, 0x01, 0x26, 0x00, 0x25, 0x01, 0x23, 0x02, + 0x1D, 0x00, 0xED, 0xFF, 0xE7, 0x00, 0x1D, 0x00, + 0xC6, 0xFF, 0xE7, 0x00, 0x1D, 0x00, 0x9F, 0xFF, + 0xE7, 0x00, 0x1D, 0x00, 0x78, 0xFF, 0xE7, 0x00, + 0x20, 0x00, 0x50, 0xFF, 0x34, 0x01, 0x22, 0x00, + 0x29, 0xFF, 0x75, 0x01, 0x24, 0x00, 0x02, 0xFF, + 0xC4, 0x01, 0x26, 0x00, 0xDB, 0xFE, 0x23, 0x02, + 0x1F, 0x00, 0x13, 0x00, 0x0A, 0x01, 0x1F, 0x00, + 0x3A, 0x00, 0x0A, 0x01, 0x1F, 0x00, 0x61, 0x00, + 0x0A, 0x01, 0x1F, 0x00, 0x88, 0x00, 0x0A, 0x01, + 0x22, 0x00, 0xB0, 0x00, 0x63, 0x01, 0x24, 0x00, + 0xD7, 0x00, 0xAE, 0x01, 0x26, 0x00, 0xFE, 0x00, + 0x09, 0x02, 0x28, 0x00, 0x25, 0x01, 0x77, 0x02, + 0x1F, 0x00, 0xED, 0xFF, 0x0A, 0x01, 0x1F, 0x00, + 0xC6, 0xFF, 0x0A, 0x01, 0x1F, 0x00, 0x9F, 0xFF, + 0x0A, 0x01, 0x1F, 0x00, 0x78, 0xFF, 0x0A, 0x01, + 0x22, 0x00, 0x50, 0xFF, 0x63, 0x01, 0x24, 0x00, + 0x29, 0xFF, 0xAE, 0x01, 0x26, 0x00, 0x02, 0xFF, + 0x09, 0x02, 0x28, 0x00, 0xDB, 0xFE, 0x77, 0x02, + 0x16, 0x00, 0x13, 0x00, 0xEF, 0xFF, 0x16, 0x00, + 0x3A, 0x00, 0xEF, 0xFF, 0x16, 0x00, 0x61, 0x00, + 0xEF, 0xFF, 0x16, 0x00, 0x88, 0x00, 0xEF, 0xFF, + 0x19, 0x00, 0xB0, 0x00, 0xE9, 0xFF, 0x1B, 0x00, + 0xD7, 0x00, 0xE4, 0xFF, 0x1D, 0x00, 0xFE, 0x00, + 0xDE, 0xFF, 0x1F, 0x00, 0x25, 0x01, 0xD6, 0xFF, + 0x16, 0x00, 0xED, 0xFF, 0xEF, 0xFF, 0x16, 0x00, + 0xC6, 0xFF, 0xEF, 0xFF, 0x16, 0x00, 0x9F, 0xFF, + 0xEF, 0xFF, 0x16, 0x00, 0x78, 0xFF, 0xEF, 0xFF, + 0x19, 0x00, 0x50, 0xFF, 0xE9, 0xFF, 0x1B, 0x00, + 0x29, 0xFF, 0xE4, 0xFF, 0x1D, 0x00, 0x02, 0xFF, + 0xDE, 0xFF, 0x1F, 0x00, 0xDB, 0xFE, 0xD6, 0xFF, + 0x16, 0x00, 0x13, 0x00, 0xCC, 0xFF, 0x16, 0x00, + 0x3A, 0x00, 0xCC, 0xFF, 0x16, 0x00, 0x61, 0x00, + 0xCC, 0xFF, 0x16, 0x00, 0x88, 0x00, 0xCC, 0xFF, + 0x19, 0x00, 0xB0, 0x00, 0xBA, 0xFF, 0x1B, 0x00, + 0xD7, 0x00, 0xAB, 0xFF, 0x1D, 0x00, 0xFE, 0x00, + 0x99, 0xFF, 0x1F, 0x00, 0x25, 0x01, 0x82, 0xFF, + 0x16, 0x00, 0xED, 0xFF, 0xCC, 0xFF, 0x16, 0x00, + 0xC6, 0xFF, 0xCC, 0xFF, 0x16, 0x00, 0x9F, 0xFF, + 0xCC, 0xFF, 0x16, 0x00, 0x78, 0xFF, 0xCC, 0xFF, + 0x19, 0x00, 0x50, 0xFF, 0xBA, 0xFF, 0x1B, 0x00, + 0x29, 0xFF, 0xAB, 0xFF, 0x1D, 0x00, 0x02, 0xFF, + 0x99, 0xFF, 0x1F, 0x00, 0xDB, 0xFE, 0x82, 0xFF, + 0x16, 0x00, 0x13, 0x00, 0xA8, 0xFF, 0x16, 0x00, + 0x3A, 0x00, 0xA8, 0xFF, 0x16, 0x00, 0x61, 0x00, + 0xA8, 0xFF, 0x16, 0x00, 0x88, 0x00, 0xA8, 0xFF, + 0x19, 0x00, 0xB0, 0x00, 0x8A, 0xFF, 0x1B, 0x00, + 0xD7, 0x00, 0x71, 0xFF, 0x1D, 0x00, 0xFE, 0x00, + 0x53, 0xFF, 0x1F, 0x00, 0x25, 0x01, 0x2E, 0xFF, + 0x16, 0x00, 0xED, 0xFF, 0xA8, 0xFF, 0x16, 0x00, + 0xC6, 0xFF, 0xA8, 0xFF, 0x16, 0x00, 0x9F, 0xFF, + 0xA8, 0xFF, 0x16, 0x00, 0x78, 0xFF, 0xA8, 0xFF, + 0x19, 0x00, 0x50, 0xFF, 0x8A, 0xFF, 0x1B, 0x00, + 0x29, 0xFF, 0x71, 0xFF, 0x1D, 0x00, 0x02, 0xFF, + 0x53, 0xFF, 0x1F, 0x00, 0xDB, 0xFE, 0x2E, 0xFF, + 0x16, 0x00, 0x13, 0x00, 0x85, 0xFF, 0x16, 0x00, + 0x3A, 0x00, 0x85, 0xFF, 0x16, 0x00, 0x61, 0x00, + 0x85, 0xFF, 0x16, 0x00, 0x88, 0x00, 0x85, 0xFF, + 0x19, 0x00, 0xB0, 0x00, 0x5B, 0xFF, 0x1B, 0x00, + 0xD7, 0x00, 0x38, 0xFF, 0x1D, 0x00, 0xFE, 0x00, + 0x0E, 0xFF, 0x1F, 0x00, 0x25, 0x01, 0xDA, 0xFE, + 0x16, 0x00, 0xED, 0xFF, 0x85, 0xFF, 0x16, 0x00, + 0xC6, 0xFF, 0x85, 0xFF, 0x16, 0x00, 0x9F, 0xFF, + 0x85, 0xFF, 0x16, 0x00, 0x78, 0xFF, 0x85, 0xFF, + 0x19, 0x00, 0x50, 0xFF, 0x5B, 0xFF, 0x1B, 0x00, + 0x29, 0xFF, 0x38, 0xFF, 0x1D, 0x00, 0x02, 0xFF, + 0x0E, 0xFF, 0x1F, 0x00, 0xDB, 0xFE, 0xDA, 0xFE, + 0x19, 0x00, 0x13, 0x00, 0x60, 0xFF, 0x19, 0x00, + 0x3A, 0x00, 0x60, 0xFF, 0x19, 0x00, 0x61, 0x00, + 0x60, 0xFF, 0x19, 0x00, 0x88, 0x00, 0x60, 0xFF, + 0x1C, 0x00, 0xB0, 0x00, 0x2B, 0xFF, 0x1E, 0x00, + 0xD7, 0x00, 0xFE, 0xFE, 0x20, 0x00, 0xFE, 0x00, + 0xC7, 0xFE, 0x22, 0x00, 0x25, 0x01, 0x85, 0xFE, + 0x19, 0x00, 0xED, 0xFF, 0x60, 0xFF, 0x19, 0x00, + 0xC6, 0xFF, 0x60, 0xFF, 0x19, 0x00, 0x9F, 0xFF, + 0x60, 0xFF, 0x19, 0x00, 0x78, 0xFF, 0x60, 0xFF, + 0x1C, 0x00, 0x50, 0xFF, 0x2B, 0xFF, 0x1E, 0x00, + 0x29, 0xFF, 0xFE, 0xFE, 0x20, 0x00, 0x02, 0xFF, + 0xC7, 0xFE, 0x22, 0x00, 0xDB, 0xFE, 0x85, 0xFE, + 0x1B, 0x00, 0x13, 0x00, 0x3D, 0xFF, 0x1B, 0x00, + 0x3A, 0x00, 0x3D, 0xFF, 0x1B, 0x00, 0x61, 0x00, + 0x3D, 0xFF, 0x1B, 0x00, 0x88, 0x00, 0x3D, 0xFF, + 0x1E, 0x00, 0xB0, 0x00, 0xFC, 0xFE, 0x20, 0x00, + 0xD7, 0x00, 0xC5, 0xFE, 0x22, 0x00, 0xFE, 0x00, + 0x82, 0xFE, 0x24, 0x00, 0x25, 0x01, 0x31, 0xFE, + 0x1B, 0x00, 0xED, 0xFF, 0x3D, 0xFF, 0x1B, 0x00, + 0xC6, 0xFF, 0x3D, 0xFF, 0x1B, 0x00, 0x9F, 0xFF, + 0x3D, 0xFF, 0x1B, 0x00, 0x78, 0xFF, 0x3D, 0xFF, + 0x1E, 0x00, 0x50, 0xFF, 0xFC, 0xFE, 0x20, 0x00, + 0x29, 0xFF, 0xC5, 0xFE, 0x22, 0x00, 0x02, 0xFF, + 0x82, 0xFE, 0x24, 0x00, 0xDB, 0xFE, 0x31, 0xFE, + 0x1D, 0x00, 0x13, 0x00, 0x19, 0xFF, 0x1D, 0x00, + 0x3A, 0x00, 0x19, 0xFF, 0x1D, 0x00, 0x61, 0x00, + 0x19, 0xFF, 0x1D, 0x00, 0x88, 0x00, 0x19, 0xFF, + 0x20, 0x00, 0xB0, 0x00, 0xCC, 0xFE, 0x22, 0x00, + 0xD7, 0x00, 0x8B, 0xFE, 0x24, 0x00, 0xFE, 0x00, + 0x3C, 0xFE, 0x26, 0x00, 0x25, 0x01, 0xDD, 0xFD, + 0x1D, 0x00, 0xED, 0xFF, 0x19, 0xFF, 0x1D, 0x00, + 0xC6, 0xFF, 0x19, 0xFF, 0x1D, 0x00, 0x9F, 0xFF, + 0x19, 0xFF, 0x1D, 0x00, 0x78, 0xFF, 0x19, 0xFF, + 0x20, 0x00, 0x50, 0xFF, 0xCC, 0xFE, 0x22, 0x00, + 0x29, 0xFF, 0x8B, 0xFE, 0x24, 0x00, 0x02, 0xFF, + 0x3C, 0xFE, 0x26, 0x00, 0xDB, 0xFE, 0xDD, 0xFD, + 0x1F, 0x00, 0x13, 0x00, 0xF6, 0xFE, 0x1F, 0x00, + 0x3A, 0x00, 0xF6, 0xFE, 0x1F, 0x00, 0x61, 0x00, + 0xF6, 0xFE, 0x1F, 0x00, 0x88, 0x00, 0xF6, 0xFE, + 0x22, 0x00, 0xB0, 0x00, 0x9D, 0xFE, 0x24, 0x00, + 0xD7, 0x00, 0x52, 0xFE, 0x26, 0x00, 0xFE, 0x00, + 0xF7, 0xFD, 0x28, 0x00, 0x25, 0x01, 0x89, 0xFD, + 0x1F, 0x00, 0xED, 0xFF, 0xF6, 0xFE, 0x1F, 0x00, + 0xC6, 0xFF, 0xF6, 0xFE, 0x1F, 0x00, 0x9F, 0xFF, + 0xF6, 0xFE, 0x1F, 0x00, 0x78, 0xFF, 0xF6, 0xFE, + 0x22, 0x00, 0x50, 0xFF, 0x9D, 0xFE, 0x24, 0x00, + 0x29, 0xFF, 0x52, 0xFE, 0x26, 0x00, 0x02, 0xFF, + 0xF7, 0xFD, 0x28, 0x00, 0xDB, 0xFE, 0x89, 0xFD, + 0x17, 0x00, 0x15, 0x00, 0x13, 0x00, 0x17, 0x00, + 0x40, 0x00, 0x13, 0x00, 0x17, 0x00, 0x6B, 0x00, + 0x13, 0x00, 0x17, 0x00, 0x96, 0x00, 0x13, 0x00, + 0x1A, 0x00, 0xC2, 0x00, 0x1A, 0x00, 0x1C, 0x00, + 0xED, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x18, 0x01, + 0x26, 0x00, 0x20, 0x00, 0x43, 0x01, 0x2E, 0x00, + 0x17, 0x00, 0xEB, 0xFF, 0x13, 0x00, 0x17, 0x00, + 0xC0, 0xFF, 0x13, 0x00, 0x17, 0x00, 0x95, 0xFF, + 0x13, 0x00, 0x17, 0x00, 0x6A, 0xFF, 0x13, 0x00, + 0x1A, 0x00, 0x3E, 0xFF, 0x1A, 0x00, 0x1C, 0x00, + 0x13, 0xFF, 0x1F, 0x00, 0x1E, 0x00, 0xE8, 0xFE, + 0x26, 0x00, 0x20, 0x00, 0xBD, 0xFE, 0x2E, 0x00, + 0x17, 0x00, 0x15, 0x00, 0x3A, 0x00, 0x17, 0x00, + 0x40, 0x00, 0x3A, 0x00, 0x17, 0x00, 0x6B, 0x00, + 0x3A, 0x00, 0x17, 0x00, 0x96, 0x00, 0x3A, 0x00, + 0x1A, 0x00, 0xC2, 0x00, 0x4E, 0x00, 0x1C, 0x00, + 0xED, 0x00, 0x5E, 0x00, 0x1E, 0x00, 0x18, 0x01, + 0x72, 0x00, 0x20, 0x00, 0x43, 0x01, 0x8A, 0x00, + 0x17, 0x00, 0xEB, 0xFF, 0x3A, 0x00, 0x17, 0x00, + 0xC0, 0xFF, 0x3A, 0x00, 0x17, 0x00, 0x95, 0xFF, + 0x3A, 0x00, 0x17, 0x00, 0x6A, 0xFF, 0x3A, 0x00, + 0x1A, 0x00, 0x3E, 0xFF, 0x4E, 0x00, 0x1C, 0x00, + 0x13, 0xFF, 0x5E, 0x00, 0x1E, 0x00, 0xE8, 0xFE, + 0x72, 0x00, 0x20, 0x00, 0xBD, 0xFE, 0x8A, 0x00, + 0x17, 0x00, 0x15, 0x00, 0x61, 0x00, 0x17, 0x00, + 0x40, 0x00, 0x61, 0x00, 0x17, 0x00, 0x6B, 0x00, + 0x61, 0x00, 0x17, 0x00, 0x96, 0x00, 0x61, 0x00, + 0x1A, 0x00, 0xC2, 0x00, 0x82, 0x00, 0x1C, 0x00, + 0xED, 0x00, 0x9D, 0x00, 0x1E, 0x00, 0x18, 0x01, + 0xBF, 0x00, 0x20, 0x00, 0x43, 0x01, 0xE7, 0x00, + 0x17, 0x00, 0xEB, 0xFF, 0x61, 0x00, 0x17, 0x00, + 0xC0, 0xFF, 0x61, 0x00, 0x17, 0x00, 0x95, 0xFF, + 0x61, 0x00, 0x17, 0x00, 0x6A, 0xFF, 0x61, 0x00, + 0x1A, 0x00, 0x3E, 0xFF, 0x82, 0x00, 0x1C, 0x00, + 0x13, 0xFF, 0x9D, 0x00, 0x1E, 0x00, 0xE8, 0xFE, + 0xBF, 0x00, 0x20, 0x00, 0xBD, 0xFE, 0xE7, 0x00, + 0x17, 0x00, 0x15, 0x00, 0x88, 0x00, 0x17, 0x00, + 0x40, 0x00, 0x88, 0x00, 0x17, 0x00, 0x6B, 0x00, + 0x88, 0x00, 0x17, 0x00, 0x96, 0x00, 0x88, 0x00, + 0x1A, 0x00, 0xC2, 0x00, 0xB6, 0x00, 0x1C, 0x00, + 0xED, 0x00, 0xDC, 0x00, 0x1E, 0x00, 0x18, 0x01, + 0x0B, 0x01, 0x20, 0x00, 0x43, 0x01, 0x43, 0x01, + 0x17, 0x00, 0xEB, 0xFF, 0x88, 0x00, 0x17, 0x00, + 0xC0, 0xFF, 0x88, 0x00, 0x17, 0x00, 0x95, 0xFF, + 0x88, 0x00, 0x17, 0x00, 0x6A, 0xFF, 0x88, 0x00, + 0x1A, 0x00, 0x3E, 0xFF, 0xB6, 0x00, 0x1C, 0x00, + 0x13, 0xFF, 0xDC, 0x00, 0x1E, 0x00, 0xE8, 0xFE, + 0x0B, 0x01, 0x20, 0x00, 0xBD, 0xFE, 0x43, 0x01, + 0x1A, 0x00, 0x15, 0x00, 0xB0, 0x00, 0x1A, 0x00, + 0x40, 0x00, 0xB0, 0x00, 0x1A, 0x00, 0x6B, 0x00, + 0xB0, 0x00, 0x1A, 0x00, 0x96, 0x00, 0xB0, 0x00, + 0x1D, 0x00, 0xC2, 0x00, 0xEB, 0x00, 0x1F, 0x00, + 0xED, 0x00, 0x1C, 0x01, 0x21, 0x00, 0x18, 0x01, + 0x59, 0x01, 0x23, 0x00, 0x43, 0x01, 0xA1, 0x01, + 0x1A, 0x00, 0xEB, 0xFF, 0xB0, 0x00, 0x1A, 0x00, + 0xC0, 0xFF, 0xB0, 0x00, 0x1A, 0x00, 0x95, 0xFF, + 0xB0, 0x00, 0x1A, 0x00, 0x6A, 0xFF, 0xB0, 0x00, + 0x1D, 0x00, 0x3E, 0xFF, 0xEB, 0x00, 0x1F, 0x00, + 0x13, 0xFF, 0x1C, 0x01, 0x21, 0x00, 0xE8, 0xFE, + 0x59, 0x01, 0x23, 0x00, 0xBD, 0xFE, 0xA1, 0x01, + 0x1C, 0x00, 0x15, 0x00, 0xD7, 0x00, 0x1C, 0x00, + 0x40, 0x00, 0xD7, 0x00, 0x1C, 0x00, 0x6B, 0x00, + 0xD7, 0x00, 0x1C, 0x00, 0x96, 0x00, 0xD7, 0x00, + 0x1F, 0x00, 0xC2, 0x00, 0x1F, 0x01, 0x21, 0x00, + 0xED, 0x00, 0x5B, 0x01, 0x23, 0x00, 0x18, 0x01, + 0xA5, 0x01, 0x25, 0x00, 0x43, 0x01, 0xFD, 0x01, + 0x1C, 0x00, 0xEB, 0xFF, 0xD7, 0x00, 0x1C, 0x00, + 0xC0, 0xFF, 0xD7, 0x00, 0x1C, 0x00, 0x95, 0xFF, + 0xD7, 0x00, 0x1C, 0x00, 0x6A, 0xFF, 0xD7, 0x00, + 0x1F, 0x00, 0x3E, 0xFF, 0x1F, 0x01, 0x21, 0x00, + 0x13, 0xFF, 0x5B, 0x01, 0x23, 0x00, 0xE8, 0xFE, + 0xA5, 0x01, 0x25, 0x00, 0xBD, 0xFE, 0xFD, 0x01, + 0x1E, 0x00, 0x15, 0x00, 0xFE, 0x00, 0x1E, 0x00, + 0x40, 0x00, 0xFE, 0x00, 0x1E, 0x00, 0x6B, 0x00, + 0xFE, 0x00, 0x1E, 0x00, 0x96, 0x00, 0xFE, 0x00, + 0x21, 0x00, 0xC2, 0x00, 0x53, 0x01, 0x23, 0x00, + 0xED, 0x00, 0x9A, 0x01, 0x25, 0x00, 0x18, 0x01, + 0xF2, 0x01, 0x27, 0x00, 0x43, 0x01, 0x5A, 0x02, + 0x1E, 0x00, 0xEB, 0xFF, 0xFE, 0x00, 0x1E, 0x00, + 0xC0, 0xFF, 0xFE, 0x00, 0x1E, 0x00, 0x95, 0xFF, + 0xFE, 0x00, 0x1E, 0x00, 0x6A, 0xFF, 0xFE, 0x00, + 0x21, 0x00, 0x3E, 0xFF, 0x53, 0x01, 0x23, 0x00, + 0x13, 0xFF, 0x9A, 0x01, 0x25, 0x00, 0xE8, 0xFE, + 0xF2, 0x01, 0x27, 0x00, 0xBD, 0xFE, 0x5A, 0x02, + 0x20, 0x00, 0x15, 0x00, 0x25, 0x01, 0x20, 0x00, + 0x40, 0x00, 0x25, 0x01, 0x20, 0x00, 0x6B, 0x00, + 0x25, 0x01, 0x20, 0x00, 0x96, 0x00, 0x25, 0x01, + 0x23, 0x00, 0xC2, 0x00, 0x87, 0x01, 0x25, 0x00, + 0xED, 0x00, 0xD9, 0x01, 0x27, 0x00, 0x18, 0x01, + 0x3E, 0x02, 0x29, 0x00, 0x43, 0x01, 0xB6, 0x02, + 0x20, 0x00, 0xEB, 0xFF, 0x25, 0x01, 0x20, 0x00, + 0xC0, 0xFF, 0x25, 0x01, 0x20, 0x00, 0x95, 0xFF, + 0x25, 0x01, 0x20, 0x00, 0x6A, 0xFF, 0x25, 0x01, + 0x23, 0x00, 0x3E, 0xFF, 0x87, 0x01, 0x25, 0x00, + 0x13, 0xFF, 0xD9, 0x01, 0x27, 0x00, 0xE8, 0xFE, + 0x3E, 0x02, 0x29, 0x00, 0xBD, 0xFE, 0xB6, 0x02, + 0x17, 0x00, 0x15, 0x00, 0xED, 0xFF, 0x17, 0x00, + 0x40, 0x00, 0xED, 0xFF, 0x17, 0x00, 0x6B, 0x00, + 0xED, 0xFF, 0x17, 0x00, 0x96, 0x00, 0xED, 0xFF, + 0x1A, 0x00, 0xC2, 0x00, 0xE6, 0xFF, 0x1C, 0x00, + 0xED, 0x00, 0xE1, 0xFF, 0x1E, 0x00, 0x18, 0x01, + 0xDA, 0xFF, 0x20, 0x00, 0x43, 0x01, 0xD2, 0xFF, + 0x17, 0x00, 0xEB, 0xFF, 0xED, 0xFF, 0x17, 0x00, + 0xC0, 0xFF, 0xED, 0xFF, 0x17, 0x00, 0x95, 0xFF, + 0xED, 0xFF, 0x17, 0x00, 0x6A, 0xFF, 0xED, 0xFF, + 0x1A, 0x00, 0x3E, 0xFF, 0xE6, 0xFF, 0x1C, 0x00, + 0x13, 0xFF, 0xE1, 0xFF, 0x1E, 0x00, 0xE8, 0xFE, + 0xDA, 0xFF, 0x20, 0x00, 0xBD, 0xFE, 0xD2, 0xFF, + 0x17, 0x00, 0x15, 0x00, 0xC6, 0xFF, 0x17, 0x00, + 0x40, 0x00, 0xC6, 0xFF, 0x17, 0x00, 0x6B, 0x00, + 0xC6, 0xFF, 0x17, 0x00, 0x96, 0x00, 0xC6, 0xFF, + 0x1A, 0x00, 0xC2, 0x00, 0xB2, 0xFF, 0x1C, 0x00, + 0xED, 0x00, 0xA2, 0xFF, 0x1E, 0x00, 0x18, 0x01, + 0x8E, 0xFF, 0x20, 0x00, 0x43, 0x01, 0x76, 0xFF, + 0x17, 0x00, 0xEB, 0xFF, 0xC6, 0xFF, 0x17, 0x00, + 0xC0, 0xFF, 0xC6, 0xFF, 0x17, 0x00, 0x95, 0xFF, + 0xC6, 0xFF, 0x17, 0x00, 0x6A, 0xFF, 0xC6, 0xFF, + 0x1A, 0x00, 0x3E, 0xFF, 0xB2, 0xFF, 0x1C, 0x00, + 0x13, 0xFF, 0xA2, 0xFF, 0x1E, 0x00, 0xE8, 0xFE, + 0x8E, 0xFF, 0x20, 0x00, 0xBD, 0xFE, 0x76, 0xFF, + 0x17, 0x00, 0x15, 0x00, 0x9F, 0xFF, 0x17, 0x00, + 0x40, 0x00, 0x9F, 0xFF, 0x17, 0x00, 0x6B, 0x00, + 0x9F, 0xFF, 0x17, 0x00, 0x96, 0x00, 0x9F, 0xFF, + 0x1A, 0x00, 0xC2, 0x00, 0x7E, 0xFF, 0x1C, 0x00, + 0xED, 0x00, 0x63, 0xFF, 0x1E, 0x00, 0x18, 0x01, + 0x41, 0xFF, 0x20, 0x00, 0x43, 0x01, 0x19, 0xFF, + 0x17, 0x00, 0xEB, 0xFF, 0x9F, 0xFF, 0x17, 0x00, + 0xC0, 0xFF, 0x9F, 0xFF, 0x17, 0x00, 0x95, 0xFF, + 0x9F, 0xFF, 0x17, 0x00, 0x6A, 0xFF, 0x9F, 0xFF, + 0x1A, 0x00, 0x3E, 0xFF, 0x7E, 0xFF, 0x1C, 0x00, + 0x13, 0xFF, 0x63, 0xFF, 0x1E, 0x00, 0xE8, 0xFE, + 0x41, 0xFF, 0x20, 0x00, 0xBD, 0xFE, 0x19, 0xFF, + 0x17, 0x00, 0x15, 0x00, 0x78, 0xFF, 0x17, 0x00, + 0x40, 0x00, 0x78, 0xFF, 0x17, 0x00, 0x6B, 0x00, + 0x78, 0xFF, 0x17, 0x00, 0x96, 0x00, 0x78, 0xFF, + 0x1A, 0x00, 0xC2, 0x00, 0x4A, 0xFF, 0x1C, 0x00, + 0xED, 0x00, 0x24, 0xFF, 0x1E, 0x00, 0x18, 0x01, + 0xF5, 0xFE, 0x20, 0x00, 0x43, 0x01, 0xBD, 0xFE, + 0x17, 0x00, 0xEB, 0xFF, 0x78, 0xFF, 0x17, 0x00, + 0xC0, 0xFF, 0x78, 0xFF, 0x17, 0x00, 0x95, 0xFF, + 0x78, 0xFF, 0x17, 0x00, 0x6A, 0xFF, 0x78, 0xFF, + 0x1A, 0x00, 0x3E, 0xFF, 0x4A, 0xFF, 0x1C, 0x00, + 0x13, 0xFF, 0x24, 0xFF, 0x1E, 0x00, 0xE8, 0xFE, + 0xF5, 0xFE, 0x20, 0x00, 0xBD, 0xFE, 0xBD, 0xFE, + 0x1A, 0x00, 0x15, 0x00, 0x50, 0xFF, 0x1A, 0x00, + 0x40, 0x00, 0x50, 0xFF, 0x1A, 0x00, 0x6B, 0x00, + 0x50, 0xFF, 0x1A, 0x00, 0x96, 0x00, 0x50, 0xFF, + 0x1D, 0x00, 0xC2, 0x00, 0x15, 0xFF, 0x1F, 0x00, + 0xED, 0x00, 0xE4, 0xFE, 0x21, 0x00, 0x18, 0x01, + 0xA7, 0xFE, 0x23, 0x00, 0x43, 0x01, 0x5F, 0xFE, + 0x1A, 0x00, 0xEB, 0xFF, 0x50, 0xFF, 0x1A, 0x00, + 0xC0, 0xFF, 0x50, 0xFF, 0x1A, 0x00, 0x95, 0xFF, + 0x50, 0xFF, 0x1A, 0x00, 0x6A, 0xFF, 0x50, 0xFF, + 0x1D, 0x00, 0x3E, 0xFF, 0x15, 0xFF, 0x1F, 0x00, + 0x13, 0xFF, 0xE4, 0xFE, 0x21, 0x00, 0xE8, 0xFE, + 0xA7, 0xFE, 0x23, 0x00, 0xBD, 0xFE, 0x5F, 0xFE, + 0x1C, 0x00, 0x15, 0x00, 0x29, 0xFF, 0x1C, 0x00, + 0x40, 0x00, 0x29, 0xFF, 0x1C, 0x00, 0x6B, 0x00, + 0x29, 0xFF, 0x1C, 0x00, 0x96, 0x00, 0x29, 0xFF, + 0x1F, 0x00, 0xC2, 0x00, 0xE1, 0xFE, 0x21, 0x00, + 0xED, 0x00, 0xA5, 0xFE, 0x23, 0x00, 0x18, 0x01, + 0x5B, 0xFE, 0x25, 0x00, 0x43, 0x01, 0x03, 0xFE, + 0x1C, 0x00, 0xEB, 0xFF, 0x29, 0xFF, 0x1C, 0x00, + 0xC0, 0xFF, 0x29, 0xFF, 0x1C, 0x00, 0x95, 0xFF, + 0x29, 0xFF, 0x1C, 0x00, 0x6A, 0xFF, 0x29, 0xFF, + 0x1F, 0x00, 0x3E, 0xFF, 0xE1, 0xFE, 0x21, 0x00, + 0x13, 0xFF, 0xA5, 0xFE, 0x23, 0x00, 0xE8, 0xFE, + 0x5B, 0xFE, 0x25, 0x00, 0xBD, 0xFE, 0x03, 0xFE, + 0x1E, 0x00, 0x15, 0x00, 0x02, 0xFF, 0x1E, 0x00, + 0x40, 0x00, 0x02, 0xFF, 0x1E, 0x00, 0x6B, 0x00, + 0x02, 0xFF, 0x1E, 0x00, 0x96, 0x00, 0x02, 0xFF, + 0x21, 0x00, 0xC2, 0x00, 0xAD, 0xFE, 0x23, 0x00, + 0xED, 0x00, 0x66, 0xFE, 0x25, 0x00, 0x18, 0x01, + 0x0E, 0xFE, 0x27, 0x00, 0x43, 0x01, 0xA6, 0xFD, + 0x1E, 0x00, 0xEB, 0xFF, 0x02, 0xFF, 0x1E, 0x00, + 0xC0, 0xFF, 0x02, 0xFF, 0x1E, 0x00, 0x95, 0xFF, + 0x02, 0xFF, 0x1E, 0x00, 0x6A, 0xFF, 0x02, 0xFF, + 0x21, 0x00, 0x3E, 0xFF, 0xAD, 0xFE, 0x23, 0x00, + 0x13, 0xFF, 0x66, 0xFE, 0x25, 0x00, 0xE8, 0xFE, + 0x0E, 0xFE, 0x27, 0x00, 0xBD, 0xFE, 0xA6, 0xFD, + 0x20, 0x00, 0x15, 0x00, 0xDB, 0xFE, 0x20, 0x00, + 0x40, 0x00, 0xDB, 0xFE, 0x20, 0x00, 0x6B, 0x00, + 0xDB, 0xFE, 0x20, 0x00, 0x96, 0x00, 0xDB, 0xFE, + 0x23, 0x00, 0xC2, 0x00, 0x79, 0xFE, 0x25, 0x00, + 0xED, 0x00, 0x27, 0xFE, 0x27, 0x00, 0x18, 0x01, + 0xC2, 0xFD, 0x29, 0x00, 0x43, 0x01, 0x4A, 0xFD, + 0x20, 0x00, 0xEB, 0xFF, 0xDB, 0xFE, 0x20, 0x00, + 0xC0, 0xFF, 0xDB, 0xFE, 0x20, 0x00, 0x95, 0xFF, + 0xDB, 0xFE, 0x20, 0x00, 0x6A, 0xFF, 0xDB, 0xFE, + 0x23, 0x00, 0x3E, 0xFF, 0x79, 0xFE, 0x25, 0x00, + 0x13, 0xFF, 0x27, 0xFE, 0x27, 0x00, 0xE8, 0xFE, + 0xC2, 0xFD, 0x29, 0x00, 0xBD, 0xFE, 0x4A, 0xFD, + 0x18, 0x00, 0x17, 0x00, 0x15, 0x00, 0x18, 0x00, + 0x46, 0x00, 0x15, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x15, 0x00, 0x18, 0x00, 0xA5, 0x00, 0x15, 0x00, + 0x1B, 0x00, 0xD5, 0x00, 0x1C, 0x00, 0x1D, 0x00, + 0x04, 0x01, 0x22, 0x00, 0x1F, 0x00, 0x34, 0x01, + 0x2A, 0x00, 0x21, 0x00, 0x63, 0x01, 0x33, 0x00, + 0x18, 0x00, 0xE9, 0xFF, 0x15, 0x00, 0x18, 0x00, + 0xBA, 0xFF, 0x15, 0x00, 0x18, 0x00, 0x8A, 0xFF, + 0x15, 0x00, 0x18, 0x00, 0x5B, 0xFF, 0x15, 0x00, + 0x1B, 0x00, 0x2B, 0xFF, 0x1C, 0x00, 0x1D, 0x00, + 0xFC, 0xFE, 0x22, 0x00, 0x1F, 0x00, 0xCC, 0xFE, + 0x2A, 0x00, 0x21, 0x00, 0x9D, 0xFE, 0x33, 0x00, + 0x18, 0x00, 0x17, 0x00, 0x40, 0x00, 0x18, 0x00, + 0x46, 0x00, 0x40, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x40, 0x00, 0x18, 0x00, 0xA5, 0x00, 0x40, 0x00, + 0x1B, 0x00, 0xD5, 0x00, 0x55, 0x00, 0x1D, 0x00, + 0x04, 0x01, 0x67, 0x00, 0x1F, 0x00, 0x34, 0x01, + 0x7E, 0x00, 0x21, 0x00, 0x63, 0x01, 0x99, 0x00, + 0x18, 0x00, 0xE9, 0xFF, 0x40, 0x00, 0x18, 0x00, + 0xBA, 0xFF, 0x40, 0x00, 0x18, 0x00, 0x8A, 0xFF, + 0x40, 0x00, 0x18, 0x00, 0x5B, 0xFF, 0x40, 0x00, + 0x1B, 0x00, 0x2B, 0xFF, 0x55, 0x00, 0x1D, 0x00, + 0xFC, 0xFE, 0x67, 0x00, 0x1F, 0x00, 0xCC, 0xFE, + 0x7E, 0x00, 0x21, 0x00, 0x9D, 0xFE, 0x99, 0x00, + 0x18, 0x00, 0x17, 0x00, 0x6B, 0x00, 0x18, 0x00, + 0x46, 0x00, 0x6B, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x6B, 0x00, 0x18, 0x00, 0xA5, 0x00, 0x6B, 0x00, + 0x1B, 0x00, 0xD5, 0x00, 0x8F, 0x00, 0x1D, 0x00, + 0x04, 0x01, 0xAD, 0x00, 0x1F, 0x00, 0x34, 0x01, + 0xD2, 0x00, 0x21, 0x00, 0x63, 0x01, 0xFF, 0x00, + 0x18, 0x00, 0xE9, 0xFF, 0x6B, 0x00, 0x18, 0x00, + 0xBA, 0xFF, 0x6B, 0x00, 0x18, 0x00, 0x8A, 0xFF, + 0x6B, 0x00, 0x18, 0x00, 0x5B, 0xFF, 0x6B, 0x00, + 0x1B, 0x00, 0x2B, 0xFF, 0x8F, 0x00, 0x1D, 0x00, + 0xFC, 0xFE, 0xAD, 0x00, 0x1F, 0x00, 0xCC, 0xFE, + 0xD2, 0x00, 0x21, 0x00, 0x9D, 0xFE, 0xFF, 0x00, + 0x18, 0x00, 0x17, 0x00, 0x96, 0x00, 0x18, 0x00, + 0x46, 0x00, 0x96, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x96, 0x00, 0x18, 0x00, 0xA5, 0x00, 0x96, 0x00, + 0x1B, 0x00, 0xD5, 0x00, 0xC8, 0x00, 0x1D, 0x00, + 0x04, 0x01, 0xF2, 0x00, 0x1F, 0x00, 0x34, 0x01, + 0x26, 0x01, 0x21, 0x00, 0x63, 0x01, 0x65, 0x01, + 0x18, 0x00, 0xE9, 0xFF, 0x96, 0x00, 0x18, 0x00, + 0xBA, 0xFF, 0x96, 0x00, 0x18, 0x00, 0x8A, 0xFF, + 0x96, 0x00, 0x18, 0x00, 0x5B, 0xFF, 0x96, 0x00, + 0x1B, 0x00, 0x2B, 0xFF, 0xC8, 0x00, 0x1D, 0x00, + 0xFC, 0xFE, 0xF2, 0x00, 0x1F, 0x00, 0xCC, 0xFE, + 0x26, 0x01, 0x21, 0x00, 0x9D, 0xFE, 0x65, 0x01, + 0x1B, 0x00, 0x17, 0x00, 0xC2, 0x00, 0x1B, 0x00, + 0x46, 0x00, 0xC2, 0x00, 0x1B, 0x00, 0x76, 0x00, + 0xC2, 0x00, 0x1B, 0x00, 0xA5, 0x00, 0xC2, 0x00, + 0x1E, 0x00, 0xD5, 0x00, 0x02, 0x01, 0x20, 0x00, + 0x04, 0x01, 0x39, 0x01, 0x22, 0x00, 0x34, 0x01, + 0x7B, 0x01, 0x24, 0x00, 0x63, 0x01, 0xCB, 0x01, + 0x1B, 0x00, 0xE9, 0xFF, 0xC2, 0x00, 0x1B, 0x00, + 0xBA, 0xFF, 0xC2, 0x00, 0x1B, 0x00, 0x8A, 0xFF, + 0xC2, 0x00, 0x1B, 0x00, 0x5B, 0xFF, 0xC2, 0x00, + 0x1E, 0x00, 0x2B, 0xFF, 0x02, 0x01, 0x20, 0x00, + 0xFC, 0xFE, 0x39, 0x01, 0x22, 0x00, 0xCC, 0xFE, + 0x7B, 0x01, 0x24, 0x00, 0x9D, 0xFE, 0xCB, 0x01, + 0x1D, 0x00, 0x17, 0x00, 0xED, 0x00, 0x1D, 0x00, + 0x46, 0x00, 0xED, 0x00, 0x1D, 0x00, 0x76, 0x00, + 0xED, 0x00, 0x1D, 0x00, 0xA5, 0x00, 0xED, 0x00, + 0x20, 0x00, 0xD5, 0x00, 0x3B, 0x01, 0x22, 0x00, + 0x04, 0x01, 0x7E, 0x01, 0x24, 0x00, 0x34, 0x01, + 0xCF, 0x01, 0x26, 0x00, 0x63, 0x01, 0x31, 0x02, + 0x1D, 0x00, 0xE9, 0xFF, 0xED, 0x00, 0x1D, 0x00, + 0xBA, 0xFF, 0xED, 0x00, 0x1D, 0x00, 0x8A, 0xFF, + 0xED, 0x00, 0x1D, 0x00, 0x5B, 0xFF, 0xED, 0x00, + 0x20, 0x00, 0x2B, 0xFF, 0x3B, 0x01, 0x22, 0x00, + 0xFC, 0xFE, 0x7E, 0x01, 0x24, 0x00, 0xCC, 0xFE, + 0xCF, 0x01, 0x26, 0x00, 0x9D, 0xFE, 0x31, 0x02, + 0x1F, 0x00, 0x17, 0x00, 0x18, 0x01, 0x1F, 0x00, + 0x46, 0x00, 0x18, 0x01, 0x1F, 0x00, 0x76, 0x00, + 0x18, 0x01, 0x1F, 0x00, 0xA5, 0x00, 0x18, 0x01, + 0x22, 0x00, 0xD5, 0x00, 0x75, 0x01, 0x24, 0x00, + 0x04, 0x01, 0xC4, 0x01, 0x26, 0x00, 0x34, 0x01, + 0x23, 0x02, 0x28, 0x00, 0x63, 0x01, 0x97, 0x02, + 0x1F, 0x00, 0xE9, 0xFF, 0x18, 0x01, 0x1F, 0x00, + 0xBA, 0xFF, 0x18, 0x01, 0x1F, 0x00, 0x8A, 0xFF, + 0x18, 0x01, 0x1F, 0x00, 0x5B, 0xFF, 0x18, 0x01, + 0x22, 0x00, 0x2B, 0xFF, 0x75, 0x01, 0x24, 0x00, + 0xFC, 0xFE, 0xC4, 0x01, 0x26, 0x00, 0xCC, 0xFE, + 0x23, 0x02, 0x28, 0x00, 0x9D, 0xFE, 0x97, 0x02, + 0x21, 0x00, 0x17, 0x00, 0x43, 0x01, 0x21, 0x00, + 0x46, 0x00, 0x43, 0x01, 0x21, 0x00, 0x76, 0x00, + 0x43, 0x01, 0x21, 0x00, 0xA5, 0x00, 0x43, 0x01, + 0x24, 0x00, 0xD5, 0x00, 0xAE, 0x01, 0x26, 0x00, + 0x04, 0x01, 0x09, 0x02, 0x28, 0x00, 0x34, 0x01, + 0x77, 0x02, 0x2A, 0x00, 0x63, 0x01, 0xFD, 0x02, + 0x21, 0x00, 0xE9, 0xFF, 0x43, 0x01, 0x21, 0x00, + 0xBA, 0xFF, 0x43, 0x01, 0x21, 0x00, 0x8A, 0xFF, + 0x43, 0x01, 0x21, 0x00, 0x5B, 0xFF, 0x43, 0x01, + 0x24, 0x00, 0x2B, 0xFF, 0xAE, 0x01, 0x26, 0x00, + 0xFC, 0xFE, 0x09, 0x02, 0x28, 0x00, 0xCC, 0xFE, + 0x77, 0x02, 0x2A, 0x00, 0x9D, 0xFE, 0xFD, 0x02, + 0x18, 0x00, 0x17, 0x00, 0xEB, 0xFF, 0x18, 0x00, + 0x46, 0x00, 0xEB, 0xFF, 0x18, 0x00, 0x76, 0x00, + 0xEB, 0xFF, 0x18, 0x00, 0xA5, 0x00, 0xEB, 0xFF, + 0x1B, 0x00, 0xD5, 0x00, 0xE4, 0xFF, 0x1D, 0x00, + 0x04, 0x01, 0xDE, 0xFF, 0x1F, 0x00, 0x34, 0x01, + 0xD6, 0xFF, 0x21, 0x00, 0x63, 0x01, 0xCD, 0xFF, + 0x18, 0x00, 0xE9, 0xFF, 0xEB, 0xFF, 0x18, 0x00, + 0xBA, 0xFF, 0xEB, 0xFF, 0x18, 0x00, 0x8A, 0xFF, + 0xEB, 0xFF, 0x18, 0x00, 0x5B, 0xFF, 0xEB, 0xFF, + 0x1B, 0x00, 0x2B, 0xFF, 0xE4, 0xFF, 0x1D, 0x00, + 0xFC, 0xFE, 0xDE, 0xFF, 0x1F, 0x00, 0xCC, 0xFE, + 0xD6, 0xFF, 0x21, 0x00, 0x9D, 0xFE, 0xCD, 0xFF, + 0x18, 0x00, 0x17, 0x00, 0xC0, 0xFF, 0x18, 0x00, + 0x46, 0x00, 0xC0, 0xFF, 0x18, 0x00, 0x76, 0x00, + 0xC0, 0xFF, 0x18, 0x00, 0xA5, 0x00, 0xC0, 0xFF, + 0x1B, 0x00, 0xD5, 0x00, 0xAB, 0xFF, 0x1D, 0x00, + 0x04, 0x01, 0x99, 0xFF, 0x1F, 0x00, 0x34, 0x01, + 0x82, 0xFF, 0x21, 0x00, 0x63, 0x01, 0x67, 0xFF, + 0x18, 0x00, 0xE9, 0xFF, 0xC0, 0xFF, 0x18, 0x00, + 0xBA, 0xFF, 0xC0, 0xFF, 0x18, 0x00, 0x8A, 0xFF, + 0xC0, 0xFF, 0x18, 0x00, 0x5B, 0xFF, 0xC0, 0xFF, + 0x1B, 0x00, 0x2B, 0xFF, 0xAB, 0xFF, 0x1D, 0x00, + 0xFC, 0xFE, 0x99, 0xFF, 0x1F, 0x00, 0xCC, 0xFE, + 0x82, 0xFF, 0x21, 0x00, 0x9D, 0xFE, 0x67, 0xFF, + 0x18, 0x00, 0x17, 0x00, 0x95, 0xFF, 0x18, 0x00, + 0x46, 0x00, 0x95, 0xFF, 0x18, 0x00, 0x76, 0x00, + 0x95, 0xFF, 0x18, 0x00, 0xA5, 0x00, 0x95, 0xFF, + 0x1B, 0x00, 0xD5, 0x00, 0x71, 0xFF, 0x1D, 0x00, + 0x04, 0x01, 0x53, 0xFF, 0x1F, 0x00, 0x34, 0x01, + 0x2E, 0xFF, 0x21, 0x00, 0x63, 0x01, 0x01, 0xFF, + 0x18, 0x00, 0xE9, 0xFF, 0x95, 0xFF, 0x18, 0x00, + 0xBA, 0xFF, 0x95, 0xFF, 0x18, 0x00, 0x8A, 0xFF, + 0x95, 0xFF, 0x18, 0x00, 0x5B, 0xFF, 0x95, 0xFF, + 0x1B, 0x00, 0x2B, 0xFF, 0x71, 0xFF, 0x1D, 0x00, + 0xFC, 0xFE, 0x53, 0xFF, 0x1F, 0x00, 0xCC, 0xFE, + 0x2E, 0xFF, 0x21, 0x00, 0x9D, 0xFE, 0x01, 0xFF, + 0x18, 0x00, 0x17, 0x00, 0x6A, 0xFF, 0x18, 0x00, + 0x46, 0x00, 0x6A, 0xFF, 0x18, 0x00, 0x76, 0x00, + 0x6A, 0xFF, 0x18, 0x00, 0xA5, 0x00, 0x6A, 0xFF, + 0x1B, 0x00, 0xD5, 0x00, 0x38, 0xFF, 0x1D, 0x00, + 0x04, 0x01, 0x0E, 0xFF, 0x1F, 0x00, 0x34, 0x01, + 0xDA, 0xFE, 0x21, 0x00, 0x63, 0x01, 0x9B, 0xFE, + 0x18, 0x00, 0xE9, 0xFF, 0x6A, 0xFF, 0x18, 0x00, + 0xBA, 0xFF, 0x6A, 0xFF, 0x18, 0x00, 0x8A, 0xFF, + 0x6A, 0xFF, 0x18, 0x00, 0x5B, 0xFF, 0x6A, 0xFF, + 0x1B, 0x00, 0x2B, 0xFF, 0x38, 0xFF, 0x1D, 0x00, + 0xFC, 0xFE, 0x0E, 0xFF, 0x1F, 0x00, 0xCC, 0xFE, + 0xDA, 0xFE, 0x21, 0x00, 0x9D, 0xFE, 0x9B, 0xFE, + 0x1B, 0x00, 0x17, 0x00, 0x3E, 0xFF, 0x1B, 0x00, + 0x46, 0x00, 0x3E, 0xFF, 0x1B, 0x00, 0x76, 0x00, + 0x3E, 0xFF, 0x1B, 0x00, 0xA5, 0x00, 0x3E, 0xFF, + 0x1E, 0x00, 0xD5, 0x00, 0xFE, 0xFE, 0x20, 0x00, + 0x04, 0x01, 0xC7, 0xFE, 0x22, 0x00, 0x34, 0x01, + 0x85, 0xFE, 0x24, 0x00, 0x63, 0x01, 0x35, 0xFE, + 0x1B, 0x00, 0xE9, 0xFF, 0x3E, 0xFF, 0x1B, 0x00, + 0xBA, 0xFF, 0x3E, 0xFF, 0x1B, 0x00, 0x8A, 0xFF, + 0x3E, 0xFF, 0x1B, 0x00, 0x5B, 0xFF, 0x3E, 0xFF, + 0x1E, 0x00, 0x2B, 0xFF, 0xFE, 0xFE, 0x20, 0x00, + 0xFC, 0xFE, 0xC7, 0xFE, 0x22, 0x00, 0xCC, 0xFE, + 0x85, 0xFE, 0x24, 0x00, 0x9D, 0xFE, 0x35, 0xFE, + 0x1D, 0x00, 0x17, 0x00, 0x13, 0xFF, 0x1D, 0x00, + 0x46, 0x00, 0x13, 0xFF, 0x1D, 0x00, 0x76, 0x00, + 0x13, 0xFF, 0x1D, 0x00, 0xA5, 0x00, 0x13, 0xFF, + 0x20, 0x00, 0xD5, 0x00, 0xC5, 0xFE, 0x22, 0x00, + 0x04, 0x01, 0x82, 0xFE, 0x24, 0x00, 0x34, 0x01, + 0x31, 0xFE, 0x26, 0x00, 0x63, 0x01, 0xCF, 0xFD, + 0x1D, 0x00, 0xE9, 0xFF, 0x13, 0xFF, 0x1D, 0x00, + 0xBA, 0xFF, 0x13, 0xFF, 0x1D, 0x00, 0x8A, 0xFF, + 0x13, 0xFF, 0x1D, 0x00, 0x5B, 0xFF, 0x13, 0xFF, + 0x20, 0x00, 0x2B, 0xFF, 0xC5, 0xFE, 0x22, 0x00, + 0xFC, 0xFE, 0x82, 0xFE, 0x24, 0x00, 0xCC, 0xFE, + 0x31, 0xFE, 0x26, 0x00, 0x9D, 0xFE, 0xCF, 0xFD, + 0x1F, 0x00, 0x17, 0x00, 0xE8, 0xFE, 0x1F, 0x00, + 0x46, 0x00, 0xE8, 0xFE, 0x1F, 0x00, 0x76, 0x00, + 0xE8, 0xFE, 0x1F, 0x00, 0xA5, 0x00, 0xE8, 0xFE, + 0x22, 0x00, 0xD5, 0x00, 0x8B, 0xFE, 0x24, 0x00, + 0x04, 0x01, 0x3C, 0xFE, 0x26, 0x00, 0x34, 0x01, + 0xDD, 0xFD, 0x28, 0x00, 0x63, 0x01, 0x69, 0xFD, + 0x1F, 0x00, 0xE9, 0xFF, 0xE8, 0xFE, 0x1F, 0x00, + 0xBA, 0xFF, 0xE8, 0xFE, 0x1F, 0x00, 0x8A, 0xFF, + 0xE8, 0xFE, 0x1F, 0x00, 0x5B, 0xFF, 0xE8, 0xFE, + 0x22, 0x00, 0x2B, 0xFF, 0x8B, 0xFE, 0x24, 0x00, + 0xFC, 0xFE, 0x3C, 0xFE, 0x26, 0x00, 0xCC, 0xFE, + 0xDD, 0xFD, 0x28, 0x00, 0x9D, 0xFE, 0x69, 0xFD, + 0x21, 0x00, 0x17, 0x00, 0xBD, 0xFE, 0x21, 0x00, + 0x46, 0x00, 0xBD, 0xFE, 0x21, 0x00, 0x76, 0x00, + 0xBD, 0xFE, 0x21, 0x00, 0xA5, 0x00, 0xBD, 0xFE, + 0x24, 0x00, 0xD5, 0x00, 0x52, 0xFE, 0x26, 0x00, + 0x04, 0x01, 0xF7, 0xFD, 0x28, 0x00, 0x34, 0x01, + 0x89, 0xFD, 0x2A, 0x00, 0x63, 0x01, 0x03, 0xFD, + 0x21, 0x00, 0xE9, 0xFF, 0xBD, 0xFE, 0x21, 0x00, + 0xBA, 0xFF, 0xBD, 0xFE, 0x21, 0x00, 0x8A, 0xFF, + 0xBD, 0xFE, 0x21, 0x00, 0x5B, 0xFF, 0xBD, 0xFE, + 0x24, 0x00, 0x2B, 0xFF, 0x52, 0xFE, 0x26, 0x00, + 0xFC, 0xFE, 0xF7, 0xFD, 0x28, 0x00, 0xCC, 0xFE, + 0x89, 0xFD, 0x2A, 0x00, 0x9D, 0xFE, 0x03, 0xFD, + 0x19, 0x00, 0x1A, 0x00, 0x17, 0x00, 0x19, 0x00, + 0x4E, 0x00, 0x17, 0x00, 0x19, 0x00, 0x82, 0x00, + 0x17, 0x00, 0x19, 0x00, 0xB6, 0x00, 0x17, 0x00, + 0x1C, 0x00, 0xEB, 0x00, 0x1F, 0x00, 0x1E, 0x00, + 0x1F, 0x01, 0x26, 0x00, 0x20, 0x00, 0x53, 0x01, + 0x2E, 0x00, 0x22, 0x00, 0x87, 0x01, 0x38, 0x00, + 0x19, 0x00, 0xE6, 0xFF, 0x17, 0x00, 0x19, 0x00, + 0xB2, 0xFF, 0x17, 0x00, 0x19, 0x00, 0x7E, 0xFF, + 0x17, 0x00, 0x19, 0x00, 0x4A, 0xFF, 0x17, 0x00, + 0x1C, 0x00, 0x15, 0xFF, 0x1F, 0x00, 0x1E, 0x00, + 0xE1, 0xFE, 0x26, 0x00, 0x20, 0x00, 0xAD, 0xFE, + 0x2E, 0x00, 0x22, 0x00, 0x79, 0xFE, 0x38, 0x00, + 0x19, 0x00, 0x1A, 0x00, 0x46, 0x00, 0x19, 0x00, + 0x4E, 0x00, 0x46, 0x00, 0x19, 0x00, 0x82, 0x00, + 0x46, 0x00, 0x19, 0x00, 0xB6, 0x00, 0x46, 0x00, + 0x1C, 0x00, 0xEB, 0x00, 0x5E, 0x00, 0x1E, 0x00, + 0x1F, 0x01, 0x72, 0x00, 0x20, 0x00, 0x53, 0x01, + 0x8A, 0x00, 0x22, 0x00, 0x87, 0x01, 0xA8, 0x00, + 0x19, 0x00, 0xE6, 0xFF, 0x46, 0x00, 0x19, 0x00, + 0xB2, 0xFF, 0x46, 0x00, 0x19, 0x00, 0x7E, 0xFF, + 0x46, 0x00, 0x19, 0x00, 0x4A, 0xFF, 0x46, 0x00, + 0x1C, 0x00, 0x15, 0xFF, 0x5E, 0x00, 0x1E, 0x00, + 0xE1, 0xFE, 0x72, 0x00, 0x20, 0x00, 0xAD, 0xFE, + 0x8A, 0x00, 0x22, 0x00, 0x79, 0xFE, 0xA8, 0x00, + 0x19, 0x00, 0x1A, 0x00, 0x76, 0x00, 0x19, 0x00, + 0x4E, 0x00, 0x76, 0x00, 0x19, 0x00, 0x82, 0x00, + 0x76, 0x00, 0x19, 0x00, 0xB6, 0x00, 0x76, 0x00, + 0x1C, 0x00, 0xEB, 0x00, 0x9D, 0x00, 0x1E, 0x00, + 0x1F, 0x01, 0xBF, 0x00, 0x20, 0x00, 0x53, 0x01, + 0xE7, 0x00, 0x22, 0x00, 0x87, 0x01, 0x18, 0x01, + 0x19, 0x00, 0xE6, 0xFF, 0x76, 0x00, 0x19, 0x00, + 0xB2, 0xFF, 0x76, 0x00, 0x19, 0x00, 0x7E, 0xFF, + 0x76, 0x00, 0x19, 0x00, 0x4A, 0xFF, 0x76, 0x00, + 0x1C, 0x00, 0x15, 0xFF, 0x9D, 0x00, 0x1E, 0x00, + 0xE1, 0xFE, 0xBF, 0x00, 0x20, 0x00, 0xAD, 0xFE, + 0xE7, 0x00, 0x22, 0x00, 0x79, 0xFE, 0x18, 0x01, + 0x19, 0x00, 0x1A, 0x00, 0xA5, 0x00, 0x19, 0x00, + 0x4E, 0x00, 0xA5, 0x00, 0x19, 0x00, 0x82, 0x00, + 0xA5, 0x00, 0x19, 0x00, 0xB6, 0x00, 0xA5, 0x00, + 0x1C, 0x00, 0xEB, 0x00, 0xDC, 0x00, 0x1E, 0x00, + 0x1F, 0x01, 0x0B, 0x01, 0x20, 0x00, 0x53, 0x01, + 0x43, 0x01, 0x22, 0x00, 0x87, 0x01, 0x88, 0x01, + 0x19, 0x00, 0xE6, 0xFF, 0xA5, 0x00, 0x19, 0x00, + 0xB2, 0xFF, 0xA5, 0x00, 0x19, 0x00, 0x7E, 0xFF, + 0xA5, 0x00, 0x19, 0x00, 0x4A, 0xFF, 0xA5, 0x00, + 0x1C, 0x00, 0x15, 0xFF, 0xDC, 0x00, 0x1E, 0x00, + 0xE1, 0xFE, 0x0B, 0x01, 0x20, 0x00, 0xAD, 0xFE, + 0x43, 0x01, 0x22, 0x00, 0x79, 0xFE, 0x88, 0x01, + 0x1C, 0x00, 0x1A, 0x00, 0xD5, 0x00, 0x1C, 0x00, + 0x4E, 0x00, 0xD5, 0x00, 0x1C, 0x00, 0x82, 0x00, + 0xD5, 0x00, 0x1C, 0x00, 0xB6, 0x00, 0xD5, 0x00, + 0x1F, 0x00, 0xEB, 0x00, 0x1C, 0x01, 0x21, 0x00, + 0x1F, 0x01, 0x59, 0x01, 0x23, 0x00, 0x53, 0x01, + 0xA1, 0x01, 0x25, 0x00, 0x87, 0x01, 0xF9, 0x01, + 0x1C, 0x00, 0xE6, 0xFF, 0xD5, 0x00, 0x1C, 0x00, + 0xB2, 0xFF, 0xD5, 0x00, 0x1C, 0x00, 0x7E, 0xFF, + 0xD5, 0x00, 0x1C, 0x00, 0x4A, 0xFF, 0xD5, 0x00, + 0x1F, 0x00, 0x15, 0xFF, 0x1C, 0x01, 0x21, 0x00, + 0xE1, 0xFE, 0x59, 0x01, 0x23, 0x00, 0xAD, 0xFE, + 0xA1, 0x01, 0x25, 0x00, 0x79, 0xFE, 0xF9, 0x01, + 0x1E, 0x00, 0x1A, 0x00, 0x04, 0x01, 0x1E, 0x00, + 0x4E, 0x00, 0x04, 0x01, 0x1E, 0x00, 0x82, 0x00, + 0x04, 0x01, 0x1E, 0x00, 0xB6, 0x00, 0x04, 0x01, + 0x21, 0x00, 0xEB, 0x00, 0x5B, 0x01, 0x23, 0x00, + 0x1F, 0x01, 0xA5, 0x01, 0x25, 0x00, 0x53, 0x01, + 0xFD, 0x01, 0x27, 0x00, 0x87, 0x01, 0x69, 0x02, + 0x1E, 0x00, 0xE6, 0xFF, 0x04, 0x01, 0x1E, 0x00, + 0xB2, 0xFF, 0x04, 0x01, 0x1E, 0x00, 0x7E, 0xFF, + 0x04, 0x01, 0x1E, 0x00, 0x4A, 0xFF, 0x04, 0x01, + 0x21, 0x00, 0x15, 0xFF, 0x5B, 0x01, 0x23, 0x00, + 0xE1, 0xFE, 0xA5, 0x01, 0x25, 0x00, 0xAD, 0xFE, + 0xFD, 0x01, 0x27, 0x00, 0x79, 0xFE, 0x69, 0x02, + 0x20, 0x00, 0x1A, 0x00, 0x34, 0x01, 0x20, 0x00, + 0x4E, 0x00, 0x34, 0x01, 0x20, 0x00, 0x82, 0x00, + 0x34, 0x01, 0x20, 0x00, 0xB6, 0x00, 0x34, 0x01, + 0x23, 0x00, 0xEB, 0x00, 0x9A, 0x01, 0x25, 0x00, + 0x1F, 0x01, 0xF2, 0x01, 0x27, 0x00, 0x53, 0x01, + 0x5A, 0x02, 0x29, 0x00, 0x87, 0x01, 0xD9, 0x02, + 0x20, 0x00, 0xE6, 0xFF, 0x34, 0x01, 0x20, 0x00, + 0xB2, 0xFF, 0x34, 0x01, 0x20, 0x00, 0x7E, 0xFF, + 0x34, 0x01, 0x20, 0x00, 0x4A, 0xFF, 0x34, 0x01, + 0x23, 0x00, 0x15, 0xFF, 0x9A, 0x01, 0x25, 0x00, + 0xE1, 0xFE, 0xF2, 0x01, 0x27, 0x00, 0xAD, 0xFE, + 0x5A, 0x02, 0x29, 0x00, 0x79, 0xFE, 0xD9, 0x02, + 0x22, 0x00, 0x1A, 0x00, 0x63, 0x01, 0x22, 0x00, + 0x4E, 0x00, 0x63, 0x01, 0x22, 0x00, 0x82, 0x00, + 0x63, 0x01, 0x22, 0x00, 0xB6, 0x00, 0x63, 0x01, + 0x25, 0x00, 0xEB, 0x00, 0xD9, 0x01, 0x27, 0x00, + 0x1F, 0x01, 0x3E, 0x02, 0x29, 0x00, 0x53, 0x01, + 0xB6, 0x02, 0x2B, 0x00, 0x87, 0x01, 0x49, 0x03, + 0x22, 0x00, 0xE6, 0xFF, 0x63, 0x01, 0x22, 0x00, + 0xB2, 0xFF, 0x63, 0x01, 0x22, 0x00, 0x7E, 0xFF, + 0x63, 0x01, 0x22, 0x00, 0x4A, 0xFF, 0x63, 0x01, + 0x25, 0x00, 0x15, 0xFF, 0xD9, 0x01, 0x27, 0x00, + 0xE1, 0xFE, 0x3E, 0x02, 0x29, 0x00, 0xAD, 0xFE, + 0xB6, 0x02, 0x2B, 0x00, 0x79, 0xFE, 0x49, 0x03, + 0x19, 0x00, 0x1A, 0x00, 0xE9, 0xFF, 0x19, 0x00, + 0x4E, 0x00, 0xE9, 0xFF, 0x19, 0x00, 0x82, 0x00, + 0xE9, 0xFF, 0x19, 0x00, 0xB6, 0x00, 0xE9, 0xFF, + 0x1C, 0x00, 0xEB, 0x00, 0xE1, 0xFF, 0x1E, 0x00, + 0x1F, 0x01, 0xDA, 0xFF, 0x20, 0x00, 0x53, 0x01, + 0xD2, 0xFF, 0x22, 0x00, 0x87, 0x01, 0xC8, 0xFF, + 0x19, 0x00, 0xE6, 0xFF, 0xE9, 0xFF, 0x19, 0x00, + 0xB2, 0xFF, 0xE9, 0xFF, 0x19, 0x00, 0x7E, 0xFF, + 0xE9, 0xFF, 0x19, 0x00, 0x4A, 0xFF, 0xE9, 0xFF, + 0x1C, 0x00, 0x15, 0xFF, 0xE1, 0xFF, 0x1E, 0x00, + 0xE1, 0xFE, 0xDA, 0xFF, 0x20, 0x00, 0xAD, 0xFE, + 0xD2, 0xFF, 0x22, 0x00, 0x79, 0xFE, 0xC8, 0xFF, + 0x19, 0x00, 0x1A, 0x00, 0xBA, 0xFF, 0x19, 0x00, + 0x4E, 0x00, 0xBA, 0xFF, 0x19, 0x00, 0x82, 0x00, + 0xBA, 0xFF, 0x19, 0x00, 0xB6, 0x00, 0xBA, 0xFF, + 0x1C, 0x00, 0xEB, 0x00, 0xA2, 0xFF, 0x1E, 0x00, + 0x1F, 0x01, 0x8E, 0xFF, 0x20, 0x00, 0x53, 0x01, + 0x76, 0xFF, 0x22, 0x00, 0x87, 0x01, 0x58, 0xFF, + 0x19, 0x00, 0xE6, 0xFF, 0xBA, 0xFF, 0x19, 0x00, + 0xB2, 0xFF, 0xBA, 0xFF, 0x19, 0x00, 0x7E, 0xFF, + 0xBA, 0xFF, 0x19, 0x00, 0x4A, 0xFF, 0xBA, 0xFF, + 0x1C, 0x00, 0x15, 0xFF, 0xA2, 0xFF, 0x1E, 0x00, + 0xE1, 0xFE, 0x8E, 0xFF, 0x20, 0x00, 0xAD, 0xFE, + 0x76, 0xFF, 0x22, 0x00, 0x79, 0xFE, 0x58, 0xFF, + 0x19, 0x00, 0x1A, 0x00, 0x8A, 0xFF, 0x19, 0x00, + 0x4E, 0x00, 0x8A, 0xFF, 0x19, 0x00, 0x82, 0x00, + 0x8A, 0xFF, 0x19, 0x00, 0xB6, 0x00, 0x8A, 0xFF, + 0x1C, 0x00, 0xEB, 0x00, 0x63, 0xFF, 0x1E, 0x00, + 0x1F, 0x01, 0x41, 0xFF, 0x20, 0x00, 0x53, 0x01, + 0x19, 0xFF, 0x22, 0x00, 0x87, 0x01, 0xE8, 0xFE, + 0x19, 0x00, 0xE6, 0xFF, 0x8A, 0xFF, 0x19, 0x00, + 0xB2, 0xFF, 0x8A, 0xFF, 0x19, 0x00, 0x7E, 0xFF, + 0x8A, 0xFF, 0x19, 0x00, 0x4A, 0xFF, 0x8A, 0xFF, + 0x1C, 0x00, 0x15, 0xFF, 0x63, 0xFF, 0x1E, 0x00, + 0xE1, 0xFE, 0x41, 0xFF, 0x20, 0x00, 0xAD, 0xFE, + 0x19, 0xFF, 0x22, 0x00, 0x79, 0xFE, 0xE8, 0xFE, + 0x19, 0x00, 0x1A, 0x00, 0x5B, 0xFF, 0x19, 0x00, + 0x4E, 0x00, 0x5B, 0xFF, 0x19, 0x00, 0x82, 0x00, + 0x5B, 0xFF, 0x19, 0x00, 0xB6, 0x00, 0x5B, 0xFF, + 0x1C, 0x00, 0xEB, 0x00, 0x24, 0xFF, 0x1E, 0x00, + 0x1F, 0x01, 0xF5, 0xFE, 0x20, 0x00, 0x53, 0x01, + 0xBD, 0xFE, 0x22, 0x00, 0x87, 0x01, 0x78, 0xFE, + 0x19, 0x00, 0xE6, 0xFF, 0x5B, 0xFF, 0x19, 0x00, + 0xB2, 0xFF, 0x5B, 0xFF, 0x19, 0x00, 0x7E, 0xFF, + 0x5B, 0xFF, 0x19, 0x00, 0x4A, 0xFF, 0x5B, 0xFF, + 0x1C, 0x00, 0x15, 0xFF, 0x24, 0xFF, 0x1E, 0x00, + 0xE1, 0xFE, 0xF5, 0xFE, 0x20, 0x00, 0xAD, 0xFE, + 0xBD, 0xFE, 0x22, 0x00, 0x79, 0xFE, 0x78, 0xFE, + 0x1C, 0x00, 0x1A, 0x00, 0x2B, 0xFF, 0x1C, 0x00, + 0x4E, 0x00, 0x2B, 0xFF, 0x1C, 0x00, 0x82, 0x00, + 0x2B, 0xFF, 0x1C, 0x00, 0xB6, 0x00, 0x2B, 0xFF, + 0x1F, 0x00, 0xEB, 0x00, 0xE4, 0xFE, 0x21, 0x00, + 0x1F, 0x01, 0xA7, 0xFE, 0x23, 0x00, 0x53, 0x01, + 0x5F, 0xFE, 0x25, 0x00, 0x87, 0x01, 0x07, 0xFE, + 0x1C, 0x00, 0xE6, 0xFF, 0x2B, 0xFF, 0x1C, 0x00, + 0xB2, 0xFF, 0x2B, 0xFF, 0x1C, 0x00, 0x7E, 0xFF, + 0x2B, 0xFF, 0x1C, 0x00, 0x4A, 0xFF, 0x2B, 0xFF, + 0x1F, 0x00, 0x15, 0xFF, 0xE4, 0xFE, 0x21, 0x00, + 0xE1, 0xFE, 0xA7, 0xFE, 0x23, 0x00, 0xAD, 0xFE, + 0x5F, 0xFE, 0x25, 0x00, 0x79, 0xFE, 0x07, 0xFE, + 0x1E, 0x00, 0x1A, 0x00, 0xFC, 0xFE, 0x1E, 0x00, + 0x4E, 0x00, 0xFC, 0xFE, 0x1E, 0x00, 0x82, 0x00, + 0xFC, 0xFE, 0x1E, 0x00, 0xB6, 0x00, 0xFC, 0xFE, + 0x21, 0x00, 0xEB, 0x00, 0xA5, 0xFE, 0x23, 0x00, + 0x1F, 0x01, 0x5B, 0xFE, 0x25, 0x00, 0x53, 0x01, + 0x03, 0xFE, 0x27, 0x00, 0x87, 0x01, 0x97, 0xFD, + 0x1E, 0x00, 0xE6, 0xFF, 0xFC, 0xFE, 0x1E, 0x00, + 0xB2, 0xFF, 0xFC, 0xFE, 0x1E, 0x00, 0x7E, 0xFF, + 0xFC, 0xFE, 0x1E, 0x00, 0x4A, 0xFF, 0xFC, 0xFE, + 0x21, 0x00, 0x15, 0xFF, 0xA5, 0xFE, 0x23, 0x00, + 0xE1, 0xFE, 0x5B, 0xFE, 0x25, 0x00, 0xAD, 0xFE, + 0x03, 0xFE, 0x27, 0x00, 0x79, 0xFE, 0x97, 0xFD, + 0x20, 0x00, 0x1A, 0x00, 0xCC, 0xFE, 0x20, 0x00, + 0x4E, 0x00, 0xCC, 0xFE, 0x20, 0x00, 0x82, 0x00, + 0xCC, 0xFE, 0x20, 0x00, 0xB6, 0x00, 0xCC, 0xFE, + 0x23, 0x00, 0xEB, 0x00, 0x66, 0xFE, 0x25, 0x00, + 0x1F, 0x01, 0x0E, 0xFE, 0x27, 0x00, 0x53, 0x01, + 0xA6, 0xFD, 0x29, 0x00, 0x87, 0x01, 0x27, 0xFD, + 0x20, 0x00, 0xE6, 0xFF, 0xCC, 0xFE, 0x20, 0x00, + 0xB2, 0xFF, 0xCC, 0xFE, 0x20, 0x00, 0x7E, 0xFF, + 0xCC, 0xFE, 0x20, 0x00, 0x4A, 0xFF, 0xCC, 0xFE, + 0x23, 0x00, 0x15, 0xFF, 0x66, 0xFE, 0x25, 0x00, + 0xE1, 0xFE, 0x0E, 0xFE, 0x27, 0x00, 0xAD, 0xFE, + 0xA6, 0xFD, 0x29, 0x00, 0x79, 0xFE, 0x27, 0xFD, + 0x22, 0x00, 0x1A, 0x00, 0x9D, 0xFE, 0x22, 0x00, + 0x4E, 0x00, 0x9D, 0xFE, 0x22, 0x00, 0x82, 0x00, + 0x9D, 0xFE, 0x22, 0x00, 0xB6, 0x00, 0x9D, 0xFE, + 0x25, 0x00, 0xEB, 0x00, 0x27, 0xFE, 0x27, 0x00, + 0x1F, 0x01, 0xC2, 0xFD, 0x29, 0x00, 0x53, 0x01, + 0x4A, 0xFD, 0x2B, 0x00, 0x87, 0x01, 0xB7, 0xFC, + 0x22, 0x00, 0xE6, 0xFF, 0x9D, 0xFE, 0x22, 0x00, + 0xB2, 0xFF, 0x9D, 0xFE, 0x22, 0x00, 0x7E, 0xFF, + 0x9D, 0xFE, 0x22, 0x00, 0x4A, 0xFF, 0x9D, 0xFE, + 0x25, 0x00, 0x15, 0xFF, 0x27, 0xFE, 0x27, 0x00, + 0xE1, 0xFE, 0xC2, 0xFD, 0x29, 0x00, 0xAD, 0xFE, + 0x4A, 0xFD, 0x2B, 0x00, 0x79, 0xFE, 0xB7, 0xFC, + 0x1A, 0x00, 0x1C, 0x00, 0x1A, 0x00, 0x1A, 0x00, + 0x55, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x8F, 0x00, + 0x1A, 0x00, 0x1A, 0x00, 0xC8, 0x00, 0x1A, 0x00, + 0x1D, 0x00, 0x02, 0x01, 0x22, 0x00, 0x1F, 0x00, + 0x3B, 0x01, 0x2A, 0x00, 0x21, 0x00, 0x75, 0x01, + 0x33, 0x00, 0x23, 0x00, 0xAE, 0x01, 0x3D, 0x00, + 0x1A, 0x00, 0xE4, 0xFF, 0x1A, 0x00, 0x1A, 0x00, + 0xAB, 0xFF, 0x1A, 0x00, 0x1A, 0x00, 0x71, 0xFF, + 0x1A, 0x00, 0x1A, 0x00, 0x38, 0xFF, 0x1A, 0x00, + 0x1D, 0x00, 0xFE, 0xFE, 0x22, 0x00, 0x1F, 0x00, + 0xC5, 0xFE, 0x2A, 0x00, 0x21, 0x00, 0x8B, 0xFE, + 0x33, 0x00, 0x23, 0x00, 0x52, 0xFE, 0x3D, 0x00, + 0x1A, 0x00, 0x1C, 0x00, 0x4E, 0x00, 0x1A, 0x00, + 0x55, 0x00, 0x4E, 0x00, 0x1A, 0x00, 0x8F, 0x00, + 0x4E, 0x00, 0x1A, 0x00, 0xC8, 0x00, 0x4E, 0x00, + 0x1D, 0x00, 0x02, 0x01, 0x67, 0x00, 0x1F, 0x00, + 0x3B, 0x01, 0x7E, 0x00, 0x21, 0x00, 0x75, 0x01, + 0x99, 0x00, 0x23, 0x00, 0xAE, 0x01, 0xB8, 0x00, + 0x1A, 0x00, 0xE4, 0xFF, 0x4E, 0x00, 0x1A, 0x00, + 0xAB, 0xFF, 0x4E, 0x00, 0x1A, 0x00, 0x71, 0xFF, + 0x4E, 0x00, 0x1A, 0x00, 0x38, 0xFF, 0x4E, 0x00, + 0x1D, 0x00, 0xFE, 0xFE, 0x67, 0x00, 0x1F, 0x00, + 0xC5, 0xFE, 0x7E, 0x00, 0x21, 0x00, 0x8B, 0xFE, + 0x99, 0x00, 0x23, 0x00, 0x52, 0xFE, 0xB8, 0x00, + 0x1A, 0x00, 0x1C, 0x00, 0x82, 0x00, 0x1A, 0x00, + 0x55, 0x00, 0x82, 0x00, 0x1A, 0x00, 0x8F, 0x00, + 0x82, 0x00, 0x1A, 0x00, 0xC8, 0x00, 0x82, 0x00, + 0x1D, 0x00, 0x02, 0x01, 0xAD, 0x00, 0x1F, 0x00, + 0x3B, 0x01, 0xD2, 0x00, 0x21, 0x00, 0x75, 0x01, + 0xFF, 0x00, 0x23, 0x00, 0xAE, 0x01, 0x34, 0x01, + 0x1A, 0x00, 0xE4, 0xFF, 0x82, 0x00, 0x1A, 0x00, + 0xAB, 0xFF, 0x82, 0x00, 0x1A, 0x00, 0x71, 0xFF, + 0x82, 0x00, 0x1A, 0x00, 0x38, 0xFF, 0x82, 0x00, + 0x1D, 0x00, 0xFE, 0xFE, 0xAD, 0x00, 0x1F, 0x00, + 0xC5, 0xFE, 0xD2, 0x00, 0x21, 0x00, 0x8B, 0xFE, + 0xFF, 0x00, 0x23, 0x00, 0x52, 0xFE, 0x34, 0x01, + 0x1A, 0x00, 0x1C, 0x00, 0xB6, 0x00, 0x1A, 0x00, + 0x55, 0x00, 0xB6, 0x00, 0x1A, 0x00, 0x8F, 0x00, + 0xB6, 0x00, 0x1A, 0x00, 0xC8, 0x00, 0xB6, 0x00, + 0x1D, 0x00, 0x02, 0x01, 0xF2, 0x00, 0x1F, 0x00, + 0x3B, 0x01, 0x26, 0x01, 0x21, 0x00, 0x75, 0x01, + 0x65, 0x01, 0x23, 0x00, 0xAE, 0x01, 0xAF, 0x01, + 0x1A, 0x00, 0xE4, 0xFF, 0xB6, 0x00, 0x1A, 0x00, + 0xAB, 0xFF, 0xB6, 0x00, 0x1A, 0x00, 0x71, 0xFF, + 0xB6, 0x00, 0x1A, 0x00, 0x38, 0xFF, 0xB6, 0x00, + 0x1D, 0x00, 0xFE, 0xFE, 0xF2, 0x00, 0x1F, 0x00, + 0xC5, 0xFE, 0x26, 0x01, 0x21, 0x00, 0x8B, 0xFE, + 0x65, 0x01, 0x23, 0x00, 0x52, 0xFE, 0xAF, 0x01, + 0x1D, 0x00, 0x1C, 0x00, 0xEB, 0x00, 0x1D, 0x00, + 0x55, 0x00, 0xEB, 0x00, 0x1D, 0x00, 0x8F, 0x00, + 0xEB, 0x00, 0x1D, 0x00, 0xC8, 0x00, 0xEB, 0x00, + 0x20, 0x00, 0x02, 0x01, 0x39, 0x01, 0x22, 0x00, + 0x3B, 0x01, 0x7B, 0x01, 0x24, 0x00, 0x75, 0x01, + 0xCB, 0x01, 0x26, 0x00, 0xAE, 0x01, 0x2B, 0x02, + 0x1D, 0x00, 0xE4, 0xFF, 0xEB, 0x00, 0x1D, 0x00, + 0xAB, 0xFF, 0xEB, 0x00, 0x1D, 0x00, 0x71, 0xFF, + 0xEB, 0x00, 0x1D, 0x00, 0x38, 0xFF, 0xEB, 0x00, + 0x20, 0x00, 0xFE, 0xFE, 0x39, 0x01, 0x22, 0x00, + 0xC5, 0xFE, 0x7B, 0x01, 0x24, 0x00, 0x8B, 0xFE, + 0xCB, 0x01, 0x26, 0x00, 0x52, 0xFE, 0x2B, 0x02, + 0x1F, 0x00, 0x1C, 0x00, 0x1F, 0x01, 0x1F, 0x00, + 0x55, 0x00, 0x1F, 0x01, 0x1F, 0x00, 0x8F, 0x00, + 0x1F, 0x01, 0x1F, 0x00, 0xC8, 0x00, 0x1F, 0x01, + 0x22, 0x00, 0x02, 0x01, 0x7E, 0x01, 0x24, 0x00, + 0x3B, 0x01, 0xCF, 0x01, 0x26, 0x00, 0x75, 0x01, + 0x31, 0x02, 0x28, 0x00, 0xAE, 0x01, 0xA6, 0x02, + 0x1F, 0x00, 0xE4, 0xFF, 0x1F, 0x01, 0x1F, 0x00, + 0xAB, 0xFF, 0x1F, 0x01, 0x1F, 0x00, 0x71, 0xFF, + 0x1F, 0x01, 0x1F, 0x00, 0x38, 0xFF, 0x1F, 0x01, + 0x22, 0x00, 0xFE, 0xFE, 0x7E, 0x01, 0x24, 0x00, + 0xC5, 0xFE, 0xCF, 0x01, 0x26, 0x00, 0x8B, 0xFE, + 0x31, 0x02, 0x28, 0x00, 0x52, 0xFE, 0xA6, 0x02, + 0x21, 0x00, 0x1C, 0x00, 0x53, 0x01, 0x21, 0x00, + 0x55, 0x00, 0x53, 0x01, 0x21, 0x00, 0x8F, 0x00, + 0x53, 0x01, 0x21, 0x00, 0xC8, 0x00, 0x53, 0x01, + 0x24, 0x00, 0x02, 0x01, 0xC4, 0x01, 0x26, 0x00, + 0x3B, 0x01, 0x23, 0x02, 0x28, 0x00, 0x75, 0x01, + 0x97, 0x02, 0x2A, 0x00, 0xAE, 0x01, 0x22, 0x03, + 0x21, 0x00, 0xE4, 0xFF, 0x53, 0x01, 0x21, 0x00, + 0xAB, 0xFF, 0x53, 0x01, 0x21, 0x00, 0x71, 0xFF, + 0x53, 0x01, 0x21, 0x00, 0x38, 0xFF, 0x53, 0x01, + 0x24, 0x00, 0xFE, 0xFE, 0xC4, 0x01, 0x26, 0x00, + 0xC5, 0xFE, 0x23, 0x02, 0x28, 0x00, 0x8B, 0xFE, + 0x97, 0x02, 0x2A, 0x00, 0x52, 0xFE, 0x22, 0x03, + 0x23, 0x00, 0x1C, 0x00, 0x87, 0x01, 0x23, 0x00, + 0x55, 0x00, 0x87, 0x01, 0x23, 0x00, 0x8F, 0x00, + 0x87, 0x01, 0x23, 0x00, 0xC8, 0x00, 0x87, 0x01, + 0x26, 0x00, 0x02, 0x01, 0x09, 0x02, 0x28, 0x00, + 0x3B, 0x01, 0x77, 0x02, 0x2A, 0x00, 0x75, 0x01, + 0xFD, 0x02, 0x2C, 0x00, 0xAE, 0x01, 0x9D, 0x03, + 0x23, 0x00, 0xE4, 0xFF, 0x87, 0x01, 0x23, 0x00, + 0xAB, 0xFF, 0x87, 0x01, 0x23, 0x00, 0x71, 0xFF, + 0x87, 0x01, 0x23, 0x00, 0x38, 0xFF, 0x87, 0x01, + 0x26, 0x00, 0xFE, 0xFE, 0x09, 0x02, 0x28, 0x00, + 0xC5, 0xFE, 0x77, 0x02, 0x2A, 0x00, 0x8B, 0xFE, + 0xFD, 0x02, 0x2C, 0x00, 0x52, 0xFE, 0x9D, 0x03, + 0x1A, 0x00, 0x1C, 0x00, 0xE6, 0xFF, 0x1A, 0x00, + 0x55, 0x00, 0xE6, 0xFF, 0x1A, 0x00, 0x8F, 0x00, + 0xE6, 0xFF, 0x1A, 0x00, 0xC8, 0x00, 0xE6, 0xFF, + 0x1D, 0x00, 0x02, 0x01, 0xDE, 0xFF, 0x1F, 0x00, + 0x3B, 0x01, 0xD6, 0xFF, 0x21, 0x00, 0x75, 0x01, + 0xCD, 0xFF, 0x23, 0x00, 0xAE, 0x01, 0xC3, 0xFF, + 0x1A, 0x00, 0xE4, 0xFF, 0xE6, 0xFF, 0x1A, 0x00, + 0xAB, 0xFF, 0xE6, 0xFF, 0x1A, 0x00, 0x71, 0xFF, + 0xE6, 0xFF, 0x1A, 0x00, 0x38, 0xFF, 0xE6, 0xFF, + 0x1D, 0x00, 0xFE, 0xFE, 0xDE, 0xFF, 0x1F, 0x00, + 0xC5, 0xFE, 0xD6, 0xFF, 0x21, 0x00, 0x8B, 0xFE, + 0xCD, 0xFF, 0x23, 0x00, 0x52, 0xFE, 0xC3, 0xFF, + 0x1A, 0x00, 0x1C, 0x00, 0xB2, 0xFF, 0x1A, 0x00, + 0x55, 0x00, 0xB2, 0xFF, 0x1A, 0x00, 0x8F, 0x00, + 0xB2, 0xFF, 0x1A, 0x00, 0xC8, 0x00, 0xB2, 0xFF, + 0x1D, 0x00, 0x02, 0x01, 0x99, 0xFF, 0x1F, 0x00, + 0x3B, 0x01, 0x82, 0xFF, 0x21, 0x00, 0x75, 0x01, + 0x67, 0xFF, 0x23, 0x00, 0xAE, 0x01, 0x48, 0xFF, + 0x1A, 0x00, 0xE4, 0xFF, 0xB2, 0xFF, 0x1A, 0x00, + 0xAB, 0xFF, 0xB2, 0xFF, 0x1A, 0x00, 0x71, 0xFF, + 0xB2, 0xFF, 0x1A, 0x00, 0x38, 0xFF, 0xB2, 0xFF, + 0x1D, 0x00, 0xFE, 0xFE, 0x99, 0xFF, 0x1F, 0x00, + 0xC5, 0xFE, 0x82, 0xFF, 0x21, 0x00, 0x8B, 0xFE, + 0x67, 0xFF, 0x23, 0x00, 0x52, 0xFE, 0x48, 0xFF, + 0x1A, 0x00, 0x1C, 0x00, 0x7E, 0xFF, 0x1A, 0x00, + 0x55, 0x00, 0x7E, 0xFF, 0x1A, 0x00, 0x8F, 0x00, + 0x7E, 0xFF, 0x1A, 0x00, 0xC8, 0x00, 0x7E, 0xFF, + 0x1D, 0x00, 0x02, 0x01, 0x53, 0xFF, 0x1F, 0x00, + 0x3B, 0x01, 0x2E, 0xFF, 0x21, 0x00, 0x75, 0x01, + 0x01, 0xFF, 0x23, 0x00, 0xAE, 0x01, 0xCC, 0xFE, + 0x1A, 0x00, 0xE4, 0xFF, 0x7E, 0xFF, 0x1A, 0x00, + 0xAB, 0xFF, 0x7E, 0xFF, 0x1A, 0x00, 0x71, 0xFF, + 0x7E, 0xFF, 0x1A, 0x00, 0x38, 0xFF, 0x7E, 0xFF, + 0x1D, 0x00, 0xFE, 0xFE, 0x53, 0xFF, 0x1F, 0x00, + 0xC5, 0xFE, 0x2E, 0xFF, 0x21, 0x00, 0x8B, 0xFE, + 0x01, 0xFF, 0x23, 0x00, 0x52, 0xFE, 0xCC, 0xFE, + 0x1A, 0x00, 0x1C, 0x00, 0x4A, 0xFF, 0x1A, 0x00, + 0x55, 0x00, 0x4A, 0xFF, 0x1A, 0x00, 0x8F, 0x00, + 0x4A, 0xFF, 0x1A, 0x00, 0xC8, 0x00, 0x4A, 0xFF, + 0x1D, 0x00, 0x02, 0x01, 0x0E, 0xFF, 0x1F, 0x00, + 0x3B, 0x01, 0xDA, 0xFE, 0x21, 0x00, 0x75, 0x01, + 0x9B, 0xFE, 0x23, 0x00, 0xAE, 0x01, 0x51, 0xFE, + 0x1A, 0x00, 0xE4, 0xFF, 0x4A, 0xFF, 0x1A, 0x00, + 0xAB, 0xFF, 0x4A, 0xFF, 0x1A, 0x00, 0x71, 0xFF, + 0x4A, 0xFF, 0x1A, 0x00, 0x38, 0xFF, 0x4A, 0xFF, + 0x1D, 0x00, 0xFE, 0xFE, 0x0E, 0xFF, 0x1F, 0x00, + 0xC5, 0xFE, 0xDA, 0xFE, 0x21, 0x00, 0x8B, 0xFE, + 0x9B, 0xFE, 0x23, 0x00, 0x52, 0xFE, 0x51, 0xFE, + 0x1D, 0x00, 0x1C, 0x00, 0x15, 0xFF, 0x1D, 0x00, + 0x55, 0x00, 0x15, 0xFF, 0x1D, 0x00, 0x8F, 0x00, + 0x15, 0xFF, 0x1D, 0x00, 0xC8, 0x00, 0x15, 0xFF, + 0x20, 0x00, 0x02, 0x01, 0xC7, 0xFE, 0x22, 0x00, + 0x3B, 0x01, 0x85, 0xFE, 0x24, 0x00, 0x75, 0x01, + 0x35, 0xFE, 0x26, 0x00, 0xAE, 0x01, 0xD5, 0xFD, + 0x1D, 0x00, 0xE4, 0xFF, 0x15, 0xFF, 0x1D, 0x00, + 0xAB, 0xFF, 0x15, 0xFF, 0x1D, 0x00, 0x71, 0xFF, + 0x15, 0xFF, 0x1D, 0x00, 0x38, 0xFF, 0x15, 0xFF, + 0x20, 0x00, 0xFE, 0xFE, 0xC7, 0xFE, 0x22, 0x00, + 0xC5, 0xFE, 0x85, 0xFE, 0x24, 0x00, 0x8B, 0xFE, + 0x35, 0xFE, 0x26, 0x00, 0x52, 0xFE, 0xD5, 0xFD, + 0x1F, 0x00, 0x1C, 0x00, 0xE1, 0xFE, 0x1F, 0x00, + 0x55, 0x00, 0xE1, 0xFE, 0x1F, 0x00, 0x8F, 0x00, + 0xE1, 0xFE, 0x1F, 0x00, 0xC8, 0x00, 0xE1, 0xFE, + 0x22, 0x00, 0x02, 0x01, 0x82, 0xFE, 0x24, 0x00, + 0x3B, 0x01, 0x31, 0xFE, 0x26, 0x00, 0x75, 0x01, + 0xCF, 0xFD, 0x28, 0x00, 0xAE, 0x01, 0x5A, 0xFD, + 0x1F, 0x00, 0xE4, 0xFF, 0xE1, 0xFE, 0x1F, 0x00, + 0xAB, 0xFF, 0xE1, 0xFE, 0x1F, 0x00, 0x71, 0xFF, + 0xE1, 0xFE, 0x1F, 0x00, 0x38, 0xFF, 0xE1, 0xFE, + 0x22, 0x00, 0xFE, 0xFE, 0x82, 0xFE, 0x24, 0x00, + 0xC5, 0xFE, 0x31, 0xFE, 0x26, 0x00, 0x8B, 0xFE, + 0xCF, 0xFD, 0x28, 0x00, 0x52, 0xFE, 0x5A, 0xFD, + 0x21, 0x00, 0x1C, 0x00, 0xAD, 0xFE, 0x21, 0x00, + 0x55, 0x00, 0xAD, 0xFE, 0x21, 0x00, 0x8F, 0x00, + 0xAD, 0xFE, 0x21, 0x00, 0xC8, 0x00, 0xAD, 0xFE, + 0x24, 0x00, 0x02, 0x01, 0x3C, 0xFE, 0x26, 0x00, + 0x3B, 0x01, 0xDD, 0xFD, 0x28, 0x00, 0x75, 0x01, + 0x69, 0xFD, 0x2A, 0x00, 0xAE, 0x01, 0xDE, 0xFC, + 0x21, 0x00, 0xE4, 0xFF, 0xAD, 0xFE, 0x21, 0x00, + 0xAB, 0xFF, 0xAD, 0xFE, 0x21, 0x00, 0x71, 0xFF, + 0xAD, 0xFE, 0x21, 0x00, 0x38, 0xFF, 0xAD, 0xFE, + 0x24, 0x00, 0xFE, 0xFE, 0x3C, 0xFE, 0x26, 0x00, + 0xC5, 0xFE, 0xDD, 0xFD, 0x28, 0x00, 0x8B, 0xFE, + 0x69, 0xFD, 0x2A, 0x00, 0x52, 0xFE, 0xDE, 0xFC, + 0x23, 0x00, 0x1C, 0x00, 0x79, 0xFE, 0x23, 0x00, + 0x55, 0x00, 0x79, 0xFE, 0x23, 0x00, 0x8F, 0x00, + 0x79, 0xFE, 0x23, 0x00, 0xC8, 0x00, 0x79, 0xFE, + 0x26, 0x00, 0x02, 0x01, 0xF7, 0xFD, 0x28, 0x00, + 0x3B, 0x01, 0x89, 0xFD, 0x2A, 0x00, 0x75, 0x01, + 0x03, 0xFD, 0x2C, 0x00, 0xAE, 0x01, 0x63, 0xFC, + 0x23, 0x00, 0xE4, 0xFF, 0x79, 0xFE, 0x23, 0x00, + 0xAB, 0xFF, 0x79, 0xFE, 0x23, 0x00, 0x71, 0xFF, + 0x79, 0xFE, 0x23, 0x00, 0x38, 0xFF, 0x79, 0xFE, + 0x26, 0x00, 0xFE, 0xFE, 0xF7, 0xFD, 0x28, 0x00, + 0xC5, 0xFE, 0x89, 0xFD, 0x2A, 0x00, 0x8B, 0xFE, + 0x03, 0xFD, 0x2C, 0x00, 0x52, 0xFE, 0x63, 0xFC, + 0x1B, 0x00, 0x1F, 0x00, 0x1C, 0x00, 0x1B, 0x00, + 0x5E, 0x00, 0x1C, 0x00, 0x1B, 0x00, 0x9D, 0x00, + 0x1C, 0x00, 0x1B, 0x00, 0xDC, 0x00, 0x1C, 0x00, + 0x1E, 0x00, 0x1C, 0x01, 0x26, 0x00, 0x20, 0x00, + 0x5B, 0x01, 0x2E, 0x00, 0x22, 0x00, 0x9A, 0x01, + 0x38, 0x00, 0x24, 0x00, 0xD9, 0x01, 0x44, 0x00, + 0x1B, 0x00, 0xE1, 0xFF, 0x1C, 0x00, 0x1B, 0x00, + 0xA2, 0xFF, 0x1C, 0x00, 0x1B, 0x00, 0x63, 0xFF, + 0x1C, 0x00, 0x1B, 0x00, 0x24, 0xFF, 0x1C, 0x00, + 0x1E, 0x00, 0xE4, 0xFE, 0x26, 0x00, 0x20, 0x00, + 0xA5, 0xFE, 0x2E, 0x00, 0x22, 0x00, 0x66, 0xFE, + 0x38, 0x00, 0x24, 0x00, 0x27, 0xFE, 0x44, 0x00, + 0x1B, 0x00, 0x1F, 0x00, 0x55, 0x00, 0x1B, 0x00, + 0x5E, 0x00, 0x55, 0x00, 0x1B, 0x00, 0x9D, 0x00, + 0x55, 0x00, 0x1B, 0x00, 0xDC, 0x00, 0x55, 0x00, + 0x1E, 0x00, 0x1C, 0x01, 0x72, 0x00, 0x20, 0x00, + 0x5B, 0x01, 0x8A, 0x00, 0x22, 0x00, 0x9A, 0x01, + 0xA8, 0x00, 0x24, 0x00, 0xD9, 0x01, 0xCC, 0x00, + 0x1B, 0x00, 0xE1, 0xFF, 0x55, 0x00, 0x1B, 0x00, + 0xA2, 0xFF, 0x55, 0x00, 0x1B, 0x00, 0x63, 0xFF, + 0x55, 0x00, 0x1B, 0x00, 0x24, 0xFF, 0x55, 0x00, + 0x1E, 0x00, 0xE4, 0xFE, 0x72, 0x00, 0x20, 0x00, + 0xA5, 0xFE, 0x8A, 0x00, 0x22, 0x00, 0x66, 0xFE, + 0xA8, 0x00, 0x24, 0x00, 0x27, 0xFE, 0xCC, 0x00, + 0x1B, 0x00, 0x1F, 0x00, 0x8F, 0x00, 0x1B, 0x00, + 0x5E, 0x00, 0x8F, 0x00, 0x1B, 0x00, 0x9D, 0x00, + 0x8F, 0x00, 0x1B, 0x00, 0xDC, 0x00, 0x8F, 0x00, + 0x1E, 0x00, 0x1C, 0x01, 0xBF, 0x00, 0x20, 0x00, + 0x5B, 0x01, 0xE7, 0x00, 0x22, 0x00, 0x9A, 0x01, + 0x18, 0x01, 0x24, 0x00, 0xD9, 0x01, 0x54, 0x01, + 0x1B, 0x00, 0xE1, 0xFF, 0x8F, 0x00, 0x1B, 0x00, + 0xA2, 0xFF, 0x8F, 0x00, 0x1B, 0x00, 0x63, 0xFF, + 0x8F, 0x00, 0x1B, 0x00, 0x24, 0xFF, 0x8F, 0x00, + 0x1E, 0x00, 0xE4, 0xFE, 0xBF, 0x00, 0x20, 0x00, + 0xA5, 0xFE, 0xE7, 0x00, 0x22, 0x00, 0x66, 0xFE, + 0x18, 0x01, 0x24, 0x00, 0x27, 0xFE, 0x54, 0x01, + 0x1B, 0x00, 0x1F, 0x00, 0xC8, 0x00, 0x1B, 0x00, + 0x5E, 0x00, 0xC8, 0x00, 0x1B, 0x00, 0x9D, 0x00, + 0xC8, 0x00, 0x1B, 0x00, 0xDC, 0x00, 0xC8, 0x00, + 0x1E, 0x00, 0x1C, 0x01, 0x0B, 0x01, 0x20, 0x00, + 0x5B, 0x01, 0x43, 0x01, 0x22, 0x00, 0x9A, 0x01, + 0x88, 0x01, 0x24, 0x00, 0xD9, 0x01, 0xDC, 0x01, + 0x1B, 0x00, 0xE1, 0xFF, 0xC8, 0x00, 0x1B, 0x00, + 0xA2, 0xFF, 0xC8, 0x00, 0x1B, 0x00, 0x63, 0xFF, + 0xC8, 0x00, 0x1B, 0x00, 0x24, 0xFF, 0xC8, 0x00, + 0x1E, 0x00, 0xE4, 0xFE, 0x0B, 0x01, 0x20, 0x00, + 0xA5, 0xFE, 0x43, 0x01, 0x22, 0x00, 0x66, 0xFE, + 0x88, 0x01, 0x24, 0x00, 0x27, 0xFE, 0xDC, 0x01, + 0x1E, 0x00, 0x1F, 0x00, 0x02, 0x01, 0x1E, 0x00, + 0x5E, 0x00, 0x02, 0x01, 0x1E, 0x00, 0x9D, 0x00, + 0x02, 0x01, 0x1E, 0x00, 0xDC, 0x00, 0x02, 0x01, + 0x21, 0x00, 0x1C, 0x01, 0x59, 0x01, 0x23, 0x00, + 0x5B, 0x01, 0xA1, 0x01, 0x25, 0x00, 0x9A, 0x01, + 0xF9, 0x01, 0x27, 0x00, 0xD9, 0x01, 0x64, 0x02, + 0x1E, 0x00, 0xE1, 0xFF, 0x02, 0x01, 0x1E, 0x00, + 0xA2, 0xFF, 0x02, 0x01, 0x1E, 0x00, 0x63, 0xFF, + 0x02, 0x01, 0x1E, 0x00, 0x24, 0xFF, 0x02, 0x01, + 0x21, 0x00, 0xE4, 0xFE, 0x59, 0x01, 0x23, 0x00, + 0xA5, 0xFE, 0xA1, 0x01, 0x25, 0x00, 0x66, 0xFE, + 0xF9, 0x01, 0x27, 0x00, 0x27, 0xFE, 0x64, 0x02, + 0x20, 0x00, 0x1F, 0x00, 0x3B, 0x01, 0x20, 0x00, + 0x5E, 0x00, 0x3B, 0x01, 0x20, 0x00, 0x9D, 0x00, + 0x3B, 0x01, 0x20, 0x00, 0xDC, 0x00, 0x3B, 0x01, + 0x23, 0x00, 0x1C, 0x01, 0xA5, 0x01, 0x25, 0x00, + 0x5B, 0x01, 0xFD, 0x01, 0x27, 0x00, 0x9A, 0x01, + 0x69, 0x02, 0x29, 0x00, 0xD9, 0x01, 0xEC, 0x02, + 0x20, 0x00, 0xE1, 0xFF, 0x3B, 0x01, 0x20, 0x00, + 0xA2, 0xFF, 0x3B, 0x01, 0x20, 0x00, 0x63, 0xFF, + 0x3B, 0x01, 0x20, 0x00, 0x24, 0xFF, 0x3B, 0x01, + 0x23, 0x00, 0xE4, 0xFE, 0xA5, 0x01, 0x25, 0x00, + 0xA5, 0xFE, 0xFD, 0x01, 0x27, 0x00, 0x66, 0xFE, + 0x69, 0x02, 0x29, 0x00, 0x27, 0xFE, 0xEC, 0x02, + 0x22, 0x00, 0x1F, 0x00, 0x75, 0x01, 0x22, 0x00, + 0x5E, 0x00, 0x75, 0x01, 0x22, 0x00, 0x9D, 0x00, + 0x75, 0x01, 0x22, 0x00, 0xDC, 0x00, 0x75, 0x01, + 0x25, 0x00, 0x1C, 0x01, 0xF2, 0x01, 0x27, 0x00, + 0x5B, 0x01, 0x5A, 0x02, 0x29, 0x00, 0x9A, 0x01, + 0xD9, 0x02, 0x2B, 0x00, 0xD9, 0x01, 0x74, 0x03, + 0x22, 0x00, 0xE1, 0xFF, 0x75, 0x01, 0x22, 0x00, + 0xA2, 0xFF, 0x75, 0x01, 0x22, 0x00, 0x63, 0xFF, + 0x75, 0x01, 0x22, 0x00, 0x24, 0xFF, 0x75, 0x01, + 0x25, 0x00, 0xE4, 0xFE, 0xF2, 0x01, 0x27, 0x00, + 0xA5, 0xFE, 0x5A, 0x02, 0x29, 0x00, 0x66, 0xFE, + 0xD9, 0x02, 0x2B, 0x00, 0x27, 0xFE, 0x74, 0x03, + 0x24, 0x00, 0x1F, 0x00, 0xAE, 0x01, 0x24, 0x00, + 0x5E, 0x00, 0xAE, 0x01, 0x24, 0x00, 0x9D, 0x00, + 0xAE, 0x01, 0x24, 0x00, 0xDC, 0x00, 0xAE, 0x01, + 0x27, 0x00, 0x1C, 0x01, 0x3E, 0x02, 0x29, 0x00, + 0x5B, 0x01, 0xB6, 0x02, 0x2B, 0x00, 0x9A, 0x01, + 0x49, 0x03, 0x2D, 0x00, 0xD9, 0x01, 0xFC, 0x03, + 0x24, 0x00, 0xE1, 0xFF, 0xAE, 0x01, 0x24, 0x00, + 0xA2, 0xFF, 0xAE, 0x01, 0x24, 0x00, 0x63, 0xFF, + 0xAE, 0x01, 0x24, 0x00, 0x24, 0xFF, 0xAE, 0x01, + 0x27, 0x00, 0xE4, 0xFE, 0x3E, 0x02, 0x29, 0x00, + 0xA5, 0xFE, 0xB6, 0x02, 0x2B, 0x00, 0x66, 0xFE, + 0x49, 0x03, 0x2D, 0x00, 0x27, 0xFE, 0xFC, 0x03, + 0x1B, 0x00, 0x1F, 0x00, 0xE4, 0xFF, 0x1B, 0x00, + 0x5E, 0x00, 0xE4, 0xFF, 0x1B, 0x00, 0x9D, 0x00, + 0xE4, 0xFF, 0x1B, 0x00, 0xDC, 0x00, 0xE4, 0xFF, + 0x1E, 0x00, 0x1C, 0x01, 0xDA, 0xFF, 0x20, 0x00, + 0x5B, 0x01, 0xD2, 0xFF, 0x22, 0x00, 0x9A, 0x01, + 0xC8, 0xFF, 0x24, 0x00, 0xD9, 0x01, 0xBC, 0xFF, + 0x1B, 0x00, 0xE1, 0xFF, 0xE4, 0xFF, 0x1B, 0x00, + 0xA2, 0xFF, 0xE4, 0xFF, 0x1B, 0x00, 0x63, 0xFF, + 0xE4, 0xFF, 0x1B, 0x00, 0x24, 0xFF, 0xE4, 0xFF, + 0x1E, 0x00, 0xE4, 0xFE, 0xDA, 0xFF, 0x20, 0x00, + 0xA5, 0xFE, 0xD2, 0xFF, 0x22, 0x00, 0x66, 0xFE, + 0xC8, 0xFF, 0x24, 0x00, 0x27, 0xFE, 0xBC, 0xFF, + 0x1B, 0x00, 0x1F, 0x00, 0xAB, 0xFF, 0x1B, 0x00, + 0x5E, 0x00, 0xAB, 0xFF, 0x1B, 0x00, 0x9D, 0x00, + 0xAB, 0xFF, 0x1B, 0x00, 0xDC, 0x00, 0xAB, 0xFF, + 0x1E, 0x00, 0x1C, 0x01, 0x8E, 0xFF, 0x20, 0x00, + 0x5B, 0x01, 0x76, 0xFF, 0x22, 0x00, 0x9A, 0x01, + 0x58, 0xFF, 0x24, 0x00, 0xD9, 0x01, 0x34, 0xFF, + 0x1B, 0x00, 0xE1, 0xFF, 0xAB, 0xFF, 0x1B, 0x00, + 0xA2, 0xFF, 0xAB, 0xFF, 0x1B, 0x00, 0x63, 0xFF, + 0xAB, 0xFF, 0x1B, 0x00, 0x24, 0xFF, 0xAB, 0xFF, + 0x1E, 0x00, 0xE4, 0xFE, 0x8E, 0xFF, 0x20, 0x00, + 0xA5, 0xFE, 0x76, 0xFF, 0x22, 0x00, 0x66, 0xFE, + 0x58, 0xFF, 0x24, 0x00, 0x27, 0xFE, 0x34, 0xFF, + 0x1B, 0x00, 0x1F, 0x00, 0x71, 0xFF, 0x1B, 0x00, + 0x5E, 0x00, 0x71, 0xFF, 0x1B, 0x00, 0x9D, 0x00, + 0x71, 0xFF, 0x1B, 0x00, 0xDC, 0x00, 0x71, 0xFF, + 0x1E, 0x00, 0x1C, 0x01, 0x41, 0xFF, 0x20, 0x00, + 0x5B, 0x01, 0x19, 0xFF, 0x22, 0x00, 0x9A, 0x01, + 0xE8, 0xFE, 0x24, 0x00, 0xD9, 0x01, 0xAC, 0xFE, + 0x1B, 0x00, 0xE1, 0xFF, 0x71, 0xFF, 0x1B, 0x00, + 0xA2, 0xFF, 0x71, 0xFF, 0x1B, 0x00, 0x63, 0xFF, + 0x71, 0xFF, 0x1B, 0x00, 0x24, 0xFF, 0x71, 0xFF, + 0x1E, 0x00, 0xE4, 0xFE, 0x41, 0xFF, 0x20, 0x00, + 0xA5, 0xFE, 0x19, 0xFF, 0x22, 0x00, 0x66, 0xFE, + 0xE8, 0xFE, 0x24, 0x00, 0x27, 0xFE, 0xAC, 0xFE, + 0x1B, 0x00, 0x1F, 0x00, 0x38, 0xFF, 0x1B, 0x00, + 0x5E, 0x00, 0x38, 0xFF, 0x1B, 0x00, 0x9D, 0x00, + 0x38, 0xFF, 0x1B, 0x00, 0xDC, 0x00, 0x38, 0xFF, + 0x1E, 0x00, 0x1C, 0x01, 0xF5, 0xFE, 0x20, 0x00, + 0x5B, 0x01, 0xBD, 0xFE, 0x22, 0x00, 0x9A, 0x01, + 0x78, 0xFE, 0x24, 0x00, 0xD9, 0x01, 0x24, 0xFE, + 0x1B, 0x00, 0xE1, 0xFF, 0x38, 0xFF, 0x1B, 0x00, + 0xA2, 0xFF, 0x38, 0xFF, 0x1B, 0x00, 0x63, 0xFF, + 0x38, 0xFF, 0x1B, 0x00, 0x24, 0xFF, 0x38, 0xFF, + 0x1E, 0x00, 0xE4, 0xFE, 0xF5, 0xFE, 0x20, 0x00, + 0xA5, 0xFE, 0xBD, 0xFE, 0x22, 0x00, 0x66, 0xFE, + 0x78, 0xFE, 0x24, 0x00, 0x27, 0xFE, 0x24, 0xFE, + 0x1E, 0x00, 0x1F, 0x00, 0xFE, 0xFE, 0x1E, 0x00, + 0x5E, 0x00, 0xFE, 0xFE, 0x1E, 0x00, 0x9D, 0x00, + 0xFE, 0xFE, 0x1E, 0x00, 0xDC, 0x00, 0xFE, 0xFE, + 0x21, 0x00, 0x1C, 0x01, 0xA7, 0xFE, 0x23, 0x00, + 0x5B, 0x01, 0x5F, 0xFE, 0x25, 0x00, 0x9A, 0x01, + 0x07, 0xFE, 0x27, 0x00, 0xD9, 0x01, 0x9C, 0xFD, + 0x1E, 0x00, 0xE1, 0xFF, 0xFE, 0xFE, 0x1E, 0x00, + 0xA2, 0xFF, 0xFE, 0xFE, 0x1E, 0x00, 0x63, 0xFF, + 0xFE, 0xFE, 0x1E, 0x00, 0x24, 0xFF, 0xFE, 0xFE, + 0x21, 0x00, 0xE4, 0xFE, 0xA7, 0xFE, 0x23, 0x00, + 0xA5, 0xFE, 0x5F, 0xFE, 0x25, 0x00, 0x66, 0xFE, + 0x07, 0xFE, 0x27, 0x00, 0x27, 0xFE, 0x9C, 0xFD, + 0x20, 0x00, 0x1F, 0x00, 0xC5, 0xFE, 0x20, 0x00, + 0x5E, 0x00, 0xC5, 0xFE, 0x20, 0x00, 0x9D, 0x00, + 0xC5, 0xFE, 0x20, 0x00, 0xDC, 0x00, 0xC5, 0xFE, + 0x23, 0x00, 0x1C, 0x01, 0x5B, 0xFE, 0x25, 0x00, + 0x5B, 0x01, 0x03, 0xFE, 0x27, 0x00, 0x9A, 0x01, + 0x97, 0xFD, 0x29, 0x00, 0xD9, 0x01, 0x14, 0xFD, + 0x20, 0x00, 0xE1, 0xFF, 0xC5, 0xFE, 0x20, 0x00, + 0xA2, 0xFF, 0xC5, 0xFE, 0x20, 0x00, 0x63, 0xFF, + 0xC5, 0xFE, 0x20, 0x00, 0x24, 0xFF, 0xC5, 0xFE, + 0x23, 0x00, 0xE4, 0xFE, 0x5B, 0xFE, 0x25, 0x00, + 0xA5, 0xFE, 0x03, 0xFE, 0x27, 0x00, 0x66, 0xFE, + 0x97, 0xFD, 0x29, 0x00, 0x27, 0xFE, 0x14, 0xFD, + 0x22, 0x00, 0x1F, 0x00, 0x8B, 0xFE, 0x22, 0x00, + 0x5E, 0x00, 0x8B, 0xFE, 0x22, 0x00, 0x9D, 0x00, + 0x8B, 0xFE, 0x22, 0x00, 0xDC, 0x00, 0x8B, 0xFE, + 0x25, 0x00, 0x1C, 0x01, 0x0E, 0xFE, 0x27, 0x00, + 0x5B, 0x01, 0xA6, 0xFD, 0x29, 0x00, 0x9A, 0x01, + 0x27, 0xFD, 0x2B, 0x00, 0xD9, 0x01, 0x8C, 0xFC, + 0x22, 0x00, 0xE1, 0xFF, 0x8B, 0xFE, 0x22, 0x00, + 0xA2, 0xFF, 0x8B, 0xFE, 0x22, 0x00, 0x63, 0xFF, + 0x8B, 0xFE, 0x22, 0x00, 0x24, 0xFF, 0x8B, 0xFE, + 0x25, 0x00, 0xE4, 0xFE, 0x0E, 0xFE, 0x27, 0x00, + 0xA5, 0xFE, 0xA6, 0xFD, 0x29, 0x00, 0x66, 0xFE, + 0x27, 0xFD, 0x2B, 0x00, 0x27, 0xFE, 0x8C, 0xFC, + 0x24, 0x00, 0x1F, 0x00, 0x52, 0xFE, 0x24, 0x00, + 0x5E, 0x00, 0x52, 0xFE, 0x24, 0x00, 0x9D, 0x00, + 0x52, 0xFE, 0x24, 0x00, 0xDC, 0x00, 0x52, 0xFE, + 0x27, 0x00, 0x1C, 0x01, 0xC2, 0xFD, 0x29, 0x00, + 0x5B, 0x01, 0x4A, 0xFD, 0x2B, 0x00, 0x9A, 0x01, + 0xB7, 0xFC, 0x2D, 0x00, 0xD9, 0x01, 0x04, 0xFC, + 0x24, 0x00, 0xE1, 0xFF, 0x52, 0xFE, 0x24, 0x00, + 0xA2, 0xFF, 0x52, 0xFE, 0x24, 0x00, 0x63, 0xFF, + 0x52, 0xFE, 0x24, 0x00, 0x24, 0xFF, 0x52, 0xFE, + 0x27, 0x00, 0xE4, 0xFE, 0xC2, 0xFD, 0x29, 0x00, + 0xA5, 0xFE, 0x4A, 0xFD, 0x2B, 0x00, 0x66, 0xFE, + 0xB7, 0xFC, 0x2D, 0x00, 0x27, 0xFE, 0x04, 0xFC, + 0x1C, 0x00, 0x22, 0x00, 0x1F, 0x00, 0x1C, 0x00, + 0x67, 0x00, 0x1F, 0x00, 0x1C, 0x00, 0xAD, 0x00, + 0x1F, 0x00, 0x1C, 0x00, 0xF2, 0x00, 0x1F, 0x00, + 0x1F, 0x00, 0x39, 0x01, 0x2A, 0x00, 0x21, 0x00, + 0x7E, 0x01, 0x33, 0x00, 0x23, 0x00, 0xC4, 0x01, + 0x3D, 0x00, 0x25, 0x00, 0x09, 0x02, 0x4A, 0x00, + 0x1C, 0x00, 0xDE, 0xFF, 0x1F, 0x00, 0x1C, 0x00, + 0x99, 0xFF, 0x1F, 0x00, 0x1C, 0x00, 0x53, 0xFF, + 0x1F, 0x00, 0x1C, 0x00, 0x0E, 0xFF, 0x1F, 0x00, + 0x1F, 0x00, 0xC7, 0xFE, 0x2A, 0x00, 0x21, 0x00, + 0x82, 0xFE, 0x33, 0x00, 0x23, 0x00, 0x3C, 0xFE, + 0x3D, 0x00, 0x25, 0x00, 0xF7, 0xFD, 0x4A, 0x00, + 0x1C, 0x00, 0x22, 0x00, 0x5E, 0x00, 0x1C, 0x00, + 0x67, 0x00, 0x5E, 0x00, 0x1C, 0x00, 0xAD, 0x00, + 0x5E, 0x00, 0x1C, 0x00, 0xF2, 0x00, 0x5E, 0x00, + 0x1F, 0x00, 0x39, 0x01, 0x7E, 0x00, 0x21, 0x00, + 0x7E, 0x01, 0x99, 0x00, 0x23, 0x00, 0xC4, 0x01, + 0xB8, 0x00, 0x25, 0x00, 0x09, 0x02, 0xDF, 0x00, + 0x1C, 0x00, 0xDE, 0xFF, 0x5E, 0x00, 0x1C, 0x00, + 0x99, 0xFF, 0x5E, 0x00, 0x1C, 0x00, 0x53, 0xFF, + 0x5E, 0x00, 0x1C, 0x00, 0x0E, 0xFF, 0x5E, 0x00, + 0x1F, 0x00, 0xC7, 0xFE, 0x7E, 0x00, 0x21, 0x00, + 0x82, 0xFE, 0x99, 0x00, 0x23, 0x00, 0x3C, 0xFE, + 0xB8, 0x00, 0x25, 0x00, 0xF7, 0xFD, 0xDF, 0x00, + 0x1C, 0x00, 0x22, 0x00, 0x9D, 0x00, 0x1C, 0x00, + 0x67, 0x00, 0x9D, 0x00, 0x1C, 0x00, 0xAD, 0x00, + 0x9D, 0x00, 0x1C, 0x00, 0xF2, 0x00, 0x9D, 0x00, + 0x1F, 0x00, 0x39, 0x01, 0xD2, 0x00, 0x21, 0x00, + 0x7E, 0x01, 0xFF, 0x00, 0x23, 0x00, 0xC4, 0x01, + 0x34, 0x01, 0x25, 0x00, 0x09, 0x02, 0x75, 0x01, + 0x1C, 0x00, 0xDE, 0xFF, 0x9D, 0x00, 0x1C, 0x00, + 0x99, 0xFF, 0x9D, 0x00, 0x1C, 0x00, 0x53, 0xFF, + 0x9D, 0x00, 0x1C, 0x00, 0x0E, 0xFF, 0x9D, 0x00, + 0x1F, 0x00, 0xC7, 0xFE, 0xD2, 0x00, 0x21, 0x00, + 0x82, 0xFE, 0xFF, 0x00, 0x23, 0x00, 0x3C, 0xFE, + 0x34, 0x01, 0x25, 0x00, 0xF7, 0xFD, 0x75, 0x01, + 0x1C, 0x00, 0x22, 0x00, 0xDC, 0x00, 0x1C, 0x00, + 0x67, 0x00, 0xDC, 0x00, 0x1C, 0x00, 0xAD, 0x00, + 0xDC, 0x00, 0x1C, 0x00, 0xF2, 0x00, 0xDC, 0x00, + 0x1F, 0x00, 0x39, 0x01, 0x26, 0x01, 0x21, 0x00, + 0x7E, 0x01, 0x65, 0x01, 0x23, 0x00, 0xC4, 0x01, + 0xAF, 0x01, 0x25, 0x00, 0x09, 0x02, 0x0A, 0x02, + 0x1C, 0x00, 0xDE, 0xFF, 0xDC, 0x00, 0x1C, 0x00, + 0x99, 0xFF, 0xDC, 0x00, 0x1C, 0x00, 0x53, 0xFF, + 0xDC, 0x00, 0x1C, 0x00, 0x0E, 0xFF, 0xDC, 0x00, + 0x1F, 0x00, 0xC7, 0xFE, 0x26, 0x01, 0x21, 0x00, + 0x82, 0xFE, 0x65, 0x01, 0x23, 0x00, 0x3C, 0xFE, + 0xAF, 0x01, 0x25, 0x00, 0xF7, 0xFD, 0x0A, 0x02, + 0x1F, 0x00, 0x22, 0x00, 0x1C, 0x01, 0x1F, 0x00, + 0x67, 0x00, 0x1C, 0x01, 0x1F, 0x00, 0xAD, 0x00, + 0x1C, 0x01, 0x1F, 0x00, 0xF2, 0x00, 0x1C, 0x01, + 0x22, 0x00, 0x39, 0x01, 0x7B, 0x01, 0x24, 0x00, + 0x7E, 0x01, 0xCB, 0x01, 0x26, 0x00, 0xC4, 0x01, + 0x2B, 0x02, 0x28, 0x00, 0x09, 0x02, 0xA0, 0x02, + 0x1F, 0x00, 0xDE, 0xFF, 0x1C, 0x01, 0x1F, 0x00, + 0x99, 0xFF, 0x1C, 0x01, 0x1F, 0x00, 0x53, 0xFF, + 0x1C, 0x01, 0x1F, 0x00, 0x0E, 0xFF, 0x1C, 0x01, + 0x22, 0x00, 0xC7, 0xFE, 0x7B, 0x01, 0x24, 0x00, + 0x82, 0xFE, 0xCB, 0x01, 0x26, 0x00, 0x3C, 0xFE, + 0x2B, 0x02, 0x28, 0x00, 0xF7, 0xFD, 0xA0, 0x02, + 0x21, 0x00, 0x22, 0x00, 0x5B, 0x01, 0x21, 0x00, + 0x67, 0x00, 0x5B, 0x01, 0x21, 0x00, 0xAD, 0x00, + 0x5B, 0x01, 0x21, 0x00, 0xF2, 0x00, 0x5B, 0x01, + 0x24, 0x00, 0x39, 0x01, 0xCF, 0x01, 0x26, 0x00, + 0x7E, 0x01, 0x31, 0x02, 0x28, 0x00, 0xC4, 0x01, + 0xA6, 0x02, 0x2A, 0x00, 0x09, 0x02, 0x35, 0x03, + 0x21, 0x00, 0xDE, 0xFF, 0x5B, 0x01, 0x21, 0x00, + 0x99, 0xFF, 0x5B, 0x01, 0x21, 0x00, 0x53, 0xFF, + 0x5B, 0x01, 0x21, 0x00, 0x0E, 0xFF, 0x5B, 0x01, + 0x24, 0x00, 0xC7, 0xFE, 0xCF, 0x01, 0x26, 0x00, + 0x82, 0xFE, 0x31, 0x02, 0x28, 0x00, 0x3C, 0xFE, + 0xA6, 0x02, 0x2A, 0x00, 0xF7, 0xFD, 0x35, 0x03, + 0x23, 0x00, 0x22, 0x00, 0x9A, 0x01, 0x23, 0x00, + 0x67, 0x00, 0x9A, 0x01, 0x23, 0x00, 0xAD, 0x00, + 0x9A, 0x01, 0x23, 0x00, 0xF2, 0x00, 0x9A, 0x01, + 0x26, 0x00, 0x39, 0x01, 0x23, 0x02, 0x28, 0x00, + 0x7E, 0x01, 0x97, 0x02, 0x2A, 0x00, 0xC4, 0x01, + 0x22, 0x03, 0x2C, 0x00, 0x09, 0x02, 0xCB, 0x03, + 0x23, 0x00, 0xDE, 0xFF, 0x9A, 0x01, 0x23, 0x00, + 0x99, 0xFF, 0x9A, 0x01, 0x23, 0x00, 0x53, 0xFF, + 0x9A, 0x01, 0x23, 0x00, 0x0E, 0xFF, 0x9A, 0x01, + 0x26, 0x00, 0xC7, 0xFE, 0x23, 0x02, 0x28, 0x00, + 0x82, 0xFE, 0x97, 0x02, 0x2A, 0x00, 0x3C, 0xFE, + 0x22, 0x03, 0x2C, 0x00, 0xF7, 0xFD, 0xCB, 0x03, + 0x25, 0x00, 0x22, 0x00, 0xD9, 0x01, 0x25, 0x00, + 0x67, 0x00, 0xD9, 0x01, 0x25, 0x00, 0xAD, 0x00, + 0xD9, 0x01, 0x25, 0x00, 0xF2, 0x00, 0xD9, 0x01, + 0x28, 0x00, 0x39, 0x01, 0x77, 0x02, 0x2A, 0x00, + 0x7E, 0x01, 0xFD, 0x02, 0x2C, 0x00, 0xC4, 0x01, + 0x9D, 0x03, 0x2E, 0x00, 0x09, 0x02, 0x60, 0x04, + 0x25, 0x00, 0xDE, 0xFF, 0xD9, 0x01, 0x25, 0x00, + 0x99, 0xFF, 0xD9, 0x01, 0x25, 0x00, 0x53, 0xFF, + 0xD9, 0x01, 0x25, 0x00, 0x0E, 0xFF, 0xD9, 0x01, + 0x28, 0x00, 0xC7, 0xFE, 0x77, 0x02, 0x2A, 0x00, + 0x82, 0xFE, 0xFD, 0x02, 0x2C, 0x00, 0x3C, 0xFE, + 0x9D, 0x03, 0x2E, 0x00, 0xF7, 0xFD, 0x60, 0x04, + 0x1C, 0x00, 0x22, 0x00, 0xE1, 0xFF, 0x1C, 0x00, + 0x67, 0x00, 0xE1, 0xFF, 0x1C, 0x00, 0xAD, 0x00, + 0xE1, 0xFF, 0x1C, 0x00, 0xF2, 0x00, 0xE1, 0xFF, + 0x1F, 0x00, 0x39, 0x01, 0xD6, 0xFF, 0x21, 0x00, + 0x7E, 0x01, 0xCD, 0xFF, 0x23, 0x00, 0xC4, 0x01, + 0xC3, 0xFF, 0x25, 0x00, 0x09, 0x02, 0xB6, 0xFF, + 0x1C, 0x00, 0xDE, 0xFF, 0xE1, 0xFF, 0x1C, 0x00, + 0x99, 0xFF, 0xE1, 0xFF, 0x1C, 0x00, 0x53, 0xFF, + 0xE1, 0xFF, 0x1C, 0x00, 0x0E, 0xFF, 0xE1, 0xFF, + 0x1F, 0x00, 0xC7, 0xFE, 0xD6, 0xFF, 0x21, 0x00, + 0x82, 0xFE, 0xCD, 0xFF, 0x23, 0x00, 0x3C, 0xFE, + 0xC3, 0xFF, 0x25, 0x00, 0xF7, 0xFD, 0xB6, 0xFF, + 0x1C, 0x00, 0x22, 0x00, 0xA2, 0xFF, 0x1C, 0x00, + 0x67, 0x00, 0xA2, 0xFF, 0x1C, 0x00, 0xAD, 0x00, + 0xA2, 0xFF, 0x1C, 0x00, 0xF2, 0x00, 0xA2, 0xFF, + 0x1F, 0x00, 0x39, 0x01, 0x82, 0xFF, 0x21, 0x00, + 0x7E, 0x01, 0x67, 0xFF, 0x23, 0x00, 0xC4, 0x01, + 0x48, 0xFF, 0x25, 0x00, 0x09, 0x02, 0x21, 0xFF, + 0x1C, 0x00, 0xDE, 0xFF, 0xA2, 0xFF, 0x1C, 0x00, + 0x99, 0xFF, 0xA2, 0xFF, 0x1C, 0x00, 0x53, 0xFF, + 0xA2, 0xFF, 0x1C, 0x00, 0x0E, 0xFF, 0xA2, 0xFF, + 0x1F, 0x00, 0xC7, 0xFE, 0x82, 0xFF, 0x21, 0x00, + 0x82, 0xFE, 0x67, 0xFF, 0x23, 0x00, 0x3C, 0xFE, + 0x48, 0xFF, 0x25, 0x00, 0xF7, 0xFD, 0x21, 0xFF, + 0x1C, 0x00, 0x22, 0x00, 0x63, 0xFF, 0x1C, 0x00, + 0x67, 0x00, 0x63, 0xFF, 0x1C, 0x00, 0xAD, 0x00, + 0x63, 0xFF, 0x1C, 0x00, 0xF2, 0x00, 0x63, 0xFF, + 0x1F, 0x00, 0x39, 0x01, 0x2E, 0xFF, 0x21, 0x00, + 0x7E, 0x01, 0x01, 0xFF, 0x23, 0x00, 0xC4, 0x01, + 0xCC, 0xFE, 0x25, 0x00, 0x09, 0x02, 0x8B, 0xFE, + 0x1C, 0x00, 0xDE, 0xFF, 0x63, 0xFF, 0x1C, 0x00, + 0x99, 0xFF, 0x63, 0xFF, 0x1C, 0x00, 0x53, 0xFF, + 0x63, 0xFF, 0x1C, 0x00, 0x0E, 0xFF, 0x63, 0xFF, + 0x1F, 0x00, 0xC7, 0xFE, 0x2E, 0xFF, 0x21, 0x00, + 0x82, 0xFE, 0x01, 0xFF, 0x23, 0x00, 0x3C, 0xFE, + 0xCC, 0xFE, 0x25, 0x00, 0xF7, 0xFD, 0x8B, 0xFE, + 0x1C, 0x00, 0x22, 0x00, 0x24, 0xFF, 0x1C, 0x00, + 0x67, 0x00, 0x24, 0xFF, 0x1C, 0x00, 0xAD, 0x00, + 0x24, 0xFF, 0x1C, 0x00, 0xF2, 0x00, 0x24, 0xFF, + 0x1F, 0x00, 0x39, 0x01, 0xDA, 0xFE, 0x21, 0x00, + 0x7E, 0x01, 0x9B, 0xFE, 0x23, 0x00, 0xC4, 0x01, + 0x51, 0xFE, 0x25, 0x00, 0x09, 0x02, 0xF6, 0xFD, + 0x1C, 0x00, 0xDE, 0xFF, 0x24, 0xFF, 0x1C, 0x00, + 0x99, 0xFF, 0x24, 0xFF, 0x1C, 0x00, 0x53, 0xFF, + 0x24, 0xFF, 0x1C, 0x00, 0x0E, 0xFF, 0x24, 0xFF, + 0x1F, 0x00, 0xC7, 0xFE, 0xDA, 0xFE, 0x21, 0x00, + 0x82, 0xFE, 0x9B, 0xFE, 0x23, 0x00, 0x3C, 0xFE, + 0x51, 0xFE, 0x25, 0x00, 0xF7, 0xFD, 0xF6, 0xFD, + 0x1F, 0x00, 0x22, 0x00, 0xE4, 0xFE, 0x1F, 0x00, + 0x67, 0x00, 0xE4, 0xFE, 0x1F, 0x00, 0xAD, 0x00, + 0xE4, 0xFE, 0x1F, 0x00, 0xF2, 0x00, 0xE4, 0xFE, + 0x22, 0x00, 0x39, 0x01, 0x85, 0xFE, 0x24, 0x00, + 0x7E, 0x01, 0x35, 0xFE, 0x26, 0x00, 0xC4, 0x01, + 0xD5, 0xFD, 0x28, 0x00, 0x09, 0x02, 0x60, 0xFD, + 0x1F, 0x00, 0xDE, 0xFF, 0xE4, 0xFE, 0x1F, 0x00, + 0x99, 0xFF, 0xE4, 0xFE, 0x1F, 0x00, 0x53, 0xFF, + 0xE4, 0xFE, 0x1F, 0x00, 0x0E, 0xFF, 0xE4, 0xFE, + 0x22, 0x00, 0xC7, 0xFE, 0x85, 0xFE, 0x24, 0x00, + 0x82, 0xFE, 0x35, 0xFE, 0x26, 0x00, 0x3C, 0xFE, + 0xD5, 0xFD, 0x28, 0x00, 0xF7, 0xFD, 0x60, 0xFD, + 0x21, 0x00, 0x22, 0x00, 0xA5, 0xFE, 0x21, 0x00, + 0x67, 0x00, 0xA5, 0xFE, 0x21, 0x00, 0xAD, 0x00, + 0xA5, 0xFE, 0x21, 0x00, 0xF2, 0x00, 0xA5, 0xFE, + 0x24, 0x00, 0x39, 0x01, 0x31, 0xFE, 0x26, 0x00, + 0x7E, 0x01, 0xCF, 0xFD, 0x28, 0x00, 0xC4, 0x01, + 0x5A, 0xFD, 0x2A, 0x00, 0x09, 0x02, 0xCB, 0xFC, + 0x21, 0x00, 0xDE, 0xFF, 0xA5, 0xFE, 0x21, 0x00, + 0x99, 0xFF, 0xA5, 0xFE, 0x21, 0x00, 0x53, 0xFF, + 0xA5, 0xFE, 0x21, 0x00, 0x0E, 0xFF, 0xA5, 0xFE, + 0x24, 0x00, 0xC7, 0xFE, 0x31, 0xFE, 0x26, 0x00, + 0x82, 0xFE, 0xCF, 0xFD, 0x28, 0x00, 0x3C, 0xFE, + 0x5A, 0xFD, 0x2A, 0x00, 0xF7, 0xFD, 0xCB, 0xFC, + 0x23, 0x00, 0x22, 0x00, 0x66, 0xFE, 0x23, 0x00, + 0x67, 0x00, 0x66, 0xFE, 0x23, 0x00, 0xAD, 0x00, + 0x66, 0xFE, 0x23, 0x00, 0xF2, 0x00, 0x66, 0xFE, + 0x26, 0x00, 0x39, 0x01, 0xDD, 0xFD, 0x28, 0x00, + 0x7E, 0x01, 0x69, 0xFD, 0x2A, 0x00, 0xC4, 0x01, + 0xDE, 0xFC, 0x2C, 0x00, 0x09, 0x02, 0x35, 0xFC, + 0x23, 0x00, 0xDE, 0xFF, 0x66, 0xFE, 0x23, 0x00, + 0x99, 0xFF, 0x66, 0xFE, 0x23, 0x00, 0x53, 0xFF, + 0x66, 0xFE, 0x23, 0x00, 0x0E, 0xFF, 0x66, 0xFE, + 0x26, 0x00, 0xC7, 0xFE, 0xDD, 0xFD, 0x28, 0x00, + 0x82, 0xFE, 0x69, 0xFD, 0x2A, 0x00, 0x3C, 0xFE, + 0xDE, 0xFC, 0x2C, 0x00, 0xF7, 0xFD, 0x35, 0xFC, + 0x25, 0x00, 0x22, 0x00, 0x27, 0xFE, 0x25, 0x00, + 0x67, 0x00, 0x27, 0xFE, 0x25, 0x00, 0xAD, 0x00, + 0x27, 0xFE, 0x25, 0x00, 0xF2, 0x00, 0x27, 0xFE, + 0x28, 0x00, 0x39, 0x01, 0x89, 0xFD, 0x2A, 0x00, + 0x7E, 0x01, 0x03, 0xFD, 0x2C, 0x00, 0xC4, 0x01, + 0x63, 0xFC, 0x2E, 0x00, 0x09, 0x02, 0xA0, 0xFB, + 0x25, 0x00, 0xDE, 0xFF, 0x27, 0xFE, 0x25, 0x00, + 0x99, 0xFF, 0x27, 0xFE, 0x25, 0x00, 0x53, 0xFF, + 0x27, 0xFE, 0x25, 0x00, 0x0E, 0xFF, 0x27, 0xFE, + 0x28, 0x00, 0xC7, 0xFE, 0x89, 0xFD, 0x2A, 0x00, + 0x82, 0xFE, 0x03, 0xFD, 0x2C, 0x00, 0x3C, 0xFE, + 0x63, 0xFC, 0x2E, 0x00, 0xF7, 0xFD, 0xA0, 0xFB, + 0x1D, 0x00, 0x26, 0x00, 0x22, 0x00, 0x1D, 0x00, + 0x72, 0x00, 0x22, 0x00, 0x1D, 0x00, 0xBF, 0x00, + 0x22, 0x00, 0x1D, 0x00, 0x0B, 0x01, 0x22, 0x00, + 0x20, 0x00, 0x59, 0x01, 0x2E, 0x00, 0x22, 0x00, + 0xA5, 0x01, 0x38, 0x00, 0x24, 0x00, 0xF2, 0x01, + 0x44, 0x00, 0x26, 0x00, 0x3E, 0x02, 0x52, 0x00, + 0x1D, 0x00, 0xDA, 0xFF, 0x22, 0x00, 0x1D, 0x00, + 0x8E, 0xFF, 0x22, 0x00, 0x1D, 0x00, 0x41, 0xFF, + 0x22, 0x00, 0x1D, 0x00, 0xF5, 0xFE, 0x22, 0x00, + 0x20, 0x00, 0xA7, 0xFE, 0x2E, 0x00, 0x22, 0x00, + 0x5B, 0xFE, 0x38, 0x00, 0x24, 0x00, 0x0E, 0xFE, + 0x44, 0x00, 0x26, 0x00, 0xC2, 0xFD, 0x52, 0x00, + 0x1D, 0x00, 0x26, 0x00, 0x67, 0x00, 0x1D, 0x00, + 0x72, 0x00, 0x67, 0x00, 0x1D, 0x00, 0xBF, 0x00, + 0x67, 0x00, 0x1D, 0x00, 0x0B, 0x01, 0x67, 0x00, + 0x20, 0x00, 0x59, 0x01, 0x8A, 0x00, 0x22, 0x00, + 0xA5, 0x01, 0xA8, 0x00, 0x24, 0x00, 0xF2, 0x01, + 0xCC, 0x00, 0x26, 0x00, 0x3E, 0x02, 0xF6, 0x00, + 0x1D, 0x00, 0xDA, 0xFF, 0x67, 0x00, 0x1D, 0x00, + 0x8E, 0xFF, 0x67, 0x00, 0x1D, 0x00, 0x41, 0xFF, + 0x67, 0x00, 0x1D, 0x00, 0xF5, 0xFE, 0x67, 0x00, + 0x20, 0x00, 0xA7, 0xFE, 0x8A, 0x00, 0x22, 0x00, + 0x5B, 0xFE, 0xA8, 0x00, 0x24, 0x00, 0x0E, 0xFE, + 0xCC, 0x00, 0x26, 0x00, 0xC2, 0xFD, 0xF6, 0x00, + 0x1D, 0x00, 0x26, 0x00, 0xAD, 0x00, 0x1D, 0x00, + 0x72, 0x00, 0xAD, 0x00, 0x1D, 0x00, 0xBF, 0x00, + 0xAD, 0x00, 0x1D, 0x00, 0x0B, 0x01, 0xAD, 0x00, + 0x20, 0x00, 0x59, 0x01, 0xE7, 0x00, 0x22, 0x00, + 0xA5, 0x01, 0x18, 0x01, 0x24, 0x00, 0xF2, 0x01, + 0x54, 0x01, 0x26, 0x00, 0x3E, 0x02, 0x9B, 0x01, + 0x1D, 0x00, 0xDA, 0xFF, 0xAD, 0x00, 0x1D, 0x00, + 0x8E, 0xFF, 0xAD, 0x00, 0x1D, 0x00, 0x41, 0xFF, + 0xAD, 0x00, 0x1D, 0x00, 0xF5, 0xFE, 0xAD, 0x00, + 0x20, 0x00, 0xA7, 0xFE, 0xE7, 0x00, 0x22, 0x00, + 0x5B, 0xFE, 0x18, 0x01, 0x24, 0x00, 0x0E, 0xFE, + 0x54, 0x01, 0x26, 0x00, 0xC2, 0xFD, 0x9B, 0x01, + 0x1D, 0x00, 0x26, 0x00, 0xF2, 0x00, 0x1D, 0x00, + 0x72, 0x00, 0xF2, 0x00, 0x1D, 0x00, 0xBF, 0x00, + 0xF2, 0x00, 0x1D, 0x00, 0x0B, 0x01, 0xF2, 0x00, + 0x20, 0x00, 0x59, 0x01, 0x43, 0x01, 0x22, 0x00, + 0xA5, 0x01, 0x88, 0x01, 0x24, 0x00, 0xF2, 0x01, + 0xDC, 0x01, 0x26, 0x00, 0x3E, 0x02, 0x3F, 0x02, + 0x1D, 0x00, 0xDA, 0xFF, 0xF2, 0x00, 0x1D, 0x00, + 0x8E, 0xFF, 0xF2, 0x00, 0x1D, 0x00, 0x41, 0xFF, + 0xF2, 0x00, 0x1D, 0x00, 0xF5, 0xFE, 0xF2, 0x00, + 0x20, 0x00, 0xA7, 0xFE, 0x43, 0x01, 0x22, 0x00, + 0x5B, 0xFE, 0x88, 0x01, 0x24, 0x00, 0x0E, 0xFE, + 0xDC, 0x01, 0x26, 0x00, 0xC2, 0xFD, 0x3F, 0x02, + 0x20, 0x00, 0x26, 0x00, 0x39, 0x01, 0x20, 0x00, + 0x72, 0x00, 0x39, 0x01, 0x20, 0x00, 0xBF, 0x00, + 0x39, 0x01, 0x20, 0x00, 0x0B, 0x01, 0x39, 0x01, + 0x23, 0x00, 0x59, 0x01, 0xA1, 0x01, 0x25, 0x00, + 0xA5, 0x01, 0xF9, 0x01, 0x27, 0x00, 0xF2, 0x01, + 0x64, 0x02, 0x29, 0x00, 0x3E, 0x02, 0xE4, 0x02, + 0x20, 0x00, 0xDA, 0xFF, 0x39, 0x01, 0x20, 0x00, + 0x8E, 0xFF, 0x39, 0x01, 0x20, 0x00, 0x41, 0xFF, + 0x39, 0x01, 0x20, 0x00, 0xF5, 0xFE, 0x39, 0x01, + 0x23, 0x00, 0xA7, 0xFE, 0xA1, 0x01, 0x25, 0x00, + 0x5B, 0xFE, 0xF9, 0x01, 0x27, 0x00, 0x0E, 0xFE, + 0x64, 0x02, 0x29, 0x00, 0xC2, 0xFD, 0xE4, 0x02, + 0x22, 0x00, 0x26, 0x00, 0x7E, 0x01, 0x22, 0x00, + 0x72, 0x00, 0x7E, 0x01, 0x22, 0x00, 0xBF, 0x00, + 0x7E, 0x01, 0x22, 0x00, 0x0B, 0x01, 0x7E, 0x01, + 0x25, 0x00, 0x59, 0x01, 0xFD, 0x01, 0x27, 0x00, + 0xA5, 0x01, 0x69, 0x02, 0x29, 0x00, 0xF2, 0x01, + 0xEC, 0x02, 0x2B, 0x00, 0x3E, 0x02, 0x88, 0x03, + 0x22, 0x00, 0xDA, 0xFF, 0x7E, 0x01, 0x22, 0x00, + 0x8E, 0xFF, 0x7E, 0x01, 0x22, 0x00, 0x41, 0xFF, + 0x7E, 0x01, 0x22, 0x00, 0xF5, 0xFE, 0x7E, 0x01, + 0x25, 0x00, 0xA7, 0xFE, 0xFD, 0x01, 0x27, 0x00, + 0x5B, 0xFE, 0x69, 0x02, 0x29, 0x00, 0x0E, 0xFE, + 0xEC, 0x02, 0x2B, 0x00, 0xC2, 0xFD, 0x88, 0x03, + 0x24, 0x00, 0x26, 0x00, 0xC4, 0x01, 0x24, 0x00, + 0x72, 0x00, 0xC4, 0x01, 0x24, 0x00, 0xBF, 0x00, + 0xC4, 0x01, 0x24, 0x00, 0x0B, 0x01, 0xC4, 0x01, + 0x27, 0x00, 0x59, 0x01, 0x5A, 0x02, 0x29, 0x00, + 0xA5, 0x01, 0xD9, 0x02, 0x2B, 0x00, 0xF2, 0x01, + 0x74, 0x03, 0x2D, 0x00, 0x3E, 0x02, 0x2D, 0x04, + 0x24, 0x00, 0xDA, 0xFF, 0xC4, 0x01, 0x24, 0x00, + 0x8E, 0xFF, 0xC4, 0x01, 0x24, 0x00, 0x41, 0xFF, + 0xC4, 0x01, 0x24, 0x00, 0xF5, 0xFE, 0xC4, 0x01, + 0x27, 0x00, 0xA7, 0xFE, 0x5A, 0x02, 0x29, 0x00, + 0x5B, 0xFE, 0xD9, 0x02, 0x2B, 0x00, 0x0E, 0xFE, + 0x74, 0x03, 0x2D, 0x00, 0xC2, 0xFD, 0x2D, 0x04, + 0x26, 0x00, 0x26, 0x00, 0x09, 0x02, 0x26, 0x00, + 0x72, 0x00, 0x09, 0x02, 0x26, 0x00, 0xBF, 0x00, + 0x09, 0x02, 0x26, 0x00, 0x0B, 0x01, 0x09, 0x02, + 0x29, 0x00, 0x59, 0x01, 0xB6, 0x02, 0x2B, 0x00, + 0xA5, 0x01, 0x49, 0x03, 0x2D, 0x00, 0xF2, 0x01, + 0xFC, 0x03, 0x2F, 0x00, 0x3E, 0x02, 0xD1, 0x04, + 0x26, 0x00, 0xDA, 0xFF, 0x09, 0x02, 0x26, 0x00, + 0x8E, 0xFF, 0x09, 0x02, 0x26, 0x00, 0x41, 0xFF, + 0x09, 0x02, 0x26, 0x00, 0xF5, 0xFE, 0x09, 0x02, + 0x29, 0x00, 0xA7, 0xFE, 0xB6, 0x02, 0x2B, 0x00, + 0x5B, 0xFE, 0x49, 0x03, 0x2D, 0x00, 0x0E, 0xFE, + 0xFC, 0x03, 0x2F, 0x00, 0xC2, 0xFD, 0xD1, 0x04, + 0x1D, 0x00, 0x26, 0x00, 0xDE, 0xFF, 0x1D, 0x00, + 0x72, 0x00, 0xDE, 0xFF, 0x1D, 0x00, 0xBF, 0x00, + 0xDE, 0xFF, 0x1D, 0x00, 0x0B, 0x01, 0xDE, 0xFF, + 0x20, 0x00, 0x59, 0x01, 0xD2, 0xFF, 0x22, 0x00, + 0xA5, 0x01, 0xC8, 0xFF, 0x24, 0x00, 0xF2, 0x01, + 0xBC, 0xFF, 0x26, 0x00, 0x3E, 0x02, 0xAE, 0xFF, + 0x1D, 0x00, 0xDA, 0xFF, 0xDE, 0xFF, 0x1D, 0x00, + 0x8E, 0xFF, 0xDE, 0xFF, 0x1D, 0x00, 0x41, 0xFF, + 0xDE, 0xFF, 0x1D, 0x00, 0xF5, 0xFE, 0xDE, 0xFF, + 0x20, 0x00, 0xA7, 0xFE, 0xD2, 0xFF, 0x22, 0x00, + 0x5B, 0xFE, 0xC8, 0xFF, 0x24, 0x00, 0x0E, 0xFE, + 0xBC, 0xFF, 0x26, 0x00, 0xC2, 0xFD, 0xAE, 0xFF, + 0x1D, 0x00, 0x26, 0x00, 0x99, 0xFF, 0x1D, 0x00, + 0x72, 0x00, 0x99, 0xFF, 0x1D, 0x00, 0xBF, 0x00, + 0x99, 0xFF, 0x1D, 0x00, 0x0B, 0x01, 0x99, 0xFF, + 0x20, 0x00, 0x59, 0x01, 0x76, 0xFF, 0x22, 0x00, + 0xA5, 0x01, 0x58, 0xFF, 0x24, 0x00, 0xF2, 0x01, + 0x34, 0xFF, 0x26, 0x00, 0x3E, 0x02, 0x0A, 0xFF, + 0x1D, 0x00, 0xDA, 0xFF, 0x99, 0xFF, 0x1D, 0x00, + 0x8E, 0xFF, 0x99, 0xFF, 0x1D, 0x00, 0x41, 0xFF, + 0x99, 0xFF, 0x1D, 0x00, 0xF5, 0xFE, 0x99, 0xFF, + 0x20, 0x00, 0xA7, 0xFE, 0x76, 0xFF, 0x22, 0x00, + 0x5B, 0xFE, 0x58, 0xFF, 0x24, 0x00, 0x0E, 0xFE, + 0x34, 0xFF, 0x26, 0x00, 0xC2, 0xFD, 0x0A, 0xFF, + 0x1D, 0x00, 0x26, 0x00, 0x53, 0xFF, 0x1D, 0x00, + 0x72, 0x00, 0x53, 0xFF, 0x1D, 0x00, 0xBF, 0x00, + 0x53, 0xFF, 0x1D, 0x00, 0x0B, 0x01, 0x53, 0xFF, + 0x20, 0x00, 0x59, 0x01, 0x19, 0xFF, 0x22, 0x00, + 0xA5, 0x01, 0xE8, 0xFE, 0x24, 0x00, 0xF2, 0x01, + 0xAC, 0xFE, 0x26, 0x00, 0x3E, 0x02, 0x65, 0xFE, + 0x1D, 0x00, 0xDA, 0xFF, 0x53, 0xFF, 0x1D, 0x00, + 0x8E, 0xFF, 0x53, 0xFF, 0x1D, 0x00, 0x41, 0xFF, + 0x53, 0xFF, 0x1D, 0x00, 0xF5, 0xFE, 0x53, 0xFF, + 0x20, 0x00, 0xA7, 0xFE, 0x19, 0xFF, 0x22, 0x00, + 0x5B, 0xFE, 0xE8, 0xFE, 0x24, 0x00, 0x0E, 0xFE, + 0xAC, 0xFE, 0x26, 0x00, 0xC2, 0xFD, 0x65, 0xFE, + 0x1D, 0x00, 0x26, 0x00, 0x0E, 0xFF, 0x1D, 0x00, + 0x72, 0x00, 0x0E, 0xFF, 0x1D, 0x00, 0xBF, 0x00, + 0x0E, 0xFF, 0x1D, 0x00, 0x0B, 0x01, 0x0E, 0xFF, + 0x20, 0x00, 0x59, 0x01, 0xBD, 0xFE, 0x22, 0x00, + 0xA5, 0x01, 0x78, 0xFE, 0x24, 0x00, 0xF2, 0x01, + 0x24, 0xFE, 0x26, 0x00, 0x3E, 0x02, 0xC1, 0xFD, + 0x1D, 0x00, 0xDA, 0xFF, 0x0E, 0xFF, 0x1D, 0x00, + 0x8E, 0xFF, 0x0E, 0xFF, 0x1D, 0x00, 0x41, 0xFF, + 0x0E, 0xFF, 0x1D, 0x00, 0xF5, 0xFE, 0x0E, 0xFF, + 0x20, 0x00, 0xA7, 0xFE, 0xBD, 0xFE, 0x22, 0x00, + 0x5B, 0xFE, 0x78, 0xFE, 0x24, 0x00, 0x0E, 0xFE, + 0x24, 0xFE, 0x26, 0x00, 0xC2, 0xFD, 0xC1, 0xFD, + 0x20, 0x00, 0x26, 0x00, 0xC7, 0xFE, 0x20, 0x00, + 0x72, 0x00, 0xC7, 0xFE, 0x20, 0x00, 0xBF, 0x00, + 0xC7, 0xFE, 0x20, 0x00, 0x0B, 0x01, 0xC7, 0xFE, + 0x23, 0x00, 0x59, 0x01, 0x5F, 0xFE, 0x25, 0x00, + 0xA5, 0x01, 0x07, 0xFE, 0x27, 0x00, 0xF2, 0x01, + 0x9C, 0xFD, 0x29, 0x00, 0x3E, 0x02, 0x1C, 0xFD, + 0x20, 0x00, 0xDA, 0xFF, 0xC7, 0xFE, 0x20, 0x00, + 0x8E, 0xFF, 0xC7, 0xFE, 0x20, 0x00, 0x41, 0xFF, + 0xC7, 0xFE, 0x20, 0x00, 0xF5, 0xFE, 0xC7, 0xFE, + 0x23, 0x00, 0xA7, 0xFE, 0x5F, 0xFE, 0x25, 0x00, + 0x5B, 0xFE, 0x07, 0xFE, 0x27, 0x00, 0x0E, 0xFE, + 0x9C, 0xFD, 0x29, 0x00, 0xC2, 0xFD, 0x1C, 0xFD, + 0x22, 0x00, 0x26, 0x00, 0x82, 0xFE, 0x22, 0x00, + 0x72, 0x00, 0x82, 0xFE, 0x22, 0x00, 0xBF, 0x00, + 0x82, 0xFE, 0x22, 0x00, 0x0B, 0x01, 0x82, 0xFE, + 0x25, 0x00, 0x59, 0x01, 0x03, 0xFE, 0x27, 0x00, + 0xA5, 0x01, 0x97, 0xFD, 0x29, 0x00, 0xF2, 0x01, + 0x14, 0xFD, 0x2B, 0x00, 0x3E, 0x02, 0x78, 0xFC, + 0x22, 0x00, 0xDA, 0xFF, 0x82, 0xFE, 0x22, 0x00, + 0x8E, 0xFF, 0x82, 0xFE, 0x22, 0x00, 0x41, 0xFF, + 0x82, 0xFE, 0x22, 0x00, 0xF5, 0xFE, 0x82, 0xFE, + 0x25, 0x00, 0xA7, 0xFE, 0x03, 0xFE, 0x27, 0x00, + 0x5B, 0xFE, 0x97, 0xFD, 0x29, 0x00, 0x0E, 0xFE, + 0x14, 0xFD, 0x2B, 0x00, 0xC2, 0xFD, 0x78, 0xFC, + 0x24, 0x00, 0x26, 0x00, 0x3C, 0xFE, 0x24, 0x00, + 0x72, 0x00, 0x3C, 0xFE, 0x24, 0x00, 0xBF, 0x00, + 0x3C, 0xFE, 0x24, 0x00, 0x0B, 0x01, 0x3C, 0xFE, + 0x27, 0x00, 0x59, 0x01, 0xA6, 0xFD, 0x29, 0x00, + 0xA5, 0x01, 0x27, 0xFD, 0x2B, 0x00, 0xF2, 0x01, + 0x8C, 0xFC, 0x2D, 0x00, 0x3E, 0x02, 0xD3, 0xFB, + 0x24, 0x00, 0xDA, 0xFF, 0x3C, 0xFE, 0x24, 0x00, + 0x8E, 0xFF, 0x3C, 0xFE, 0x24, 0x00, 0x41, 0xFF, + 0x3C, 0xFE, 0x24, 0x00, 0xF5, 0xFE, 0x3C, 0xFE, + 0x27, 0x00, 0xA7, 0xFE, 0xA6, 0xFD, 0x29, 0x00, + 0x5B, 0xFE, 0x27, 0xFD, 0x2B, 0x00, 0x0E, 0xFE, + 0x8C, 0xFC, 0x2D, 0x00, 0xC2, 0xFD, 0xD3, 0xFB, + 0x26, 0x00, 0x26, 0x00, 0xF7, 0xFD, 0x26, 0x00, + 0x72, 0x00, 0xF7, 0xFD, 0x26, 0x00, 0xBF, 0x00, + 0xF7, 0xFD, 0x26, 0x00, 0x0B, 0x01, 0xF7, 0xFD, + 0x29, 0x00, 0x59, 0x01, 0x4A, 0xFD, 0x2B, 0x00, + 0xA5, 0x01, 0xB7, 0xFC, 0x2D, 0x00, 0xF2, 0x01, + 0x04, 0xFC, 0x2F, 0x00, 0x3E, 0x02, 0x2F, 0xFB, + 0x26, 0x00, 0xDA, 0xFF, 0xF7, 0xFD, 0x26, 0x00, + 0x8E, 0xFF, 0xF7, 0xFD, 0x26, 0x00, 0x41, 0xFF, + 0xF7, 0xFD, 0x26, 0x00, 0xF5, 0xFE, 0xF7, 0xFD, + 0x29, 0x00, 0xA7, 0xFE, 0x4A, 0xFD, 0x2B, 0x00, + 0x5B, 0xFE, 0xB7, 0xFC, 0x2D, 0x00, 0x0E, 0xFE, + 0x04, 0xFC, 0x2F, 0x00, 0xC2, 0xFD, 0x2F, 0xFB, + 0x1E, 0x00, 0x2A, 0x00, 0x26, 0x00, 0x1E, 0x00, + 0x7E, 0x00, 0x26, 0x00, 0x1E, 0x00, 0xD2, 0x00, + 0x26, 0x00, 0x1E, 0x00, 0x26, 0x01, 0x26, 0x00, + 0x21, 0x00, 0x7B, 0x01, 0x33, 0x00, 0x23, 0x00, + 0xCF, 0x01, 0x3D, 0x00, 0x25, 0x00, 0x23, 0x02, + 0x4A, 0x00, 0x27, 0x00, 0x77, 0x02, 0x5A, 0x00, + 0x1E, 0x00, 0xD6, 0xFF, 0x26, 0x00, 0x1E, 0x00, + 0x82, 0xFF, 0x26, 0x00, 0x1E, 0x00, 0x2E, 0xFF, + 0x26, 0x00, 0x1E, 0x00, 0xDA, 0xFE, 0x26, 0x00, + 0x21, 0x00, 0x85, 0xFE, 0x33, 0x00, 0x23, 0x00, + 0x31, 0xFE, 0x3D, 0x00, 0x25, 0x00, 0xDD, 0xFD, + 0x4A, 0x00, 0x27, 0x00, 0x89, 0xFD, 0x5A, 0x00, + 0x1E, 0x00, 0x2A, 0x00, 0x72, 0x00, 0x1E, 0x00, + 0x7E, 0x00, 0x72, 0x00, 0x1E, 0x00, 0xD2, 0x00, + 0x72, 0x00, 0x1E, 0x00, 0x26, 0x01, 0x72, 0x00, + 0x21, 0x00, 0x7B, 0x01, 0x99, 0x00, 0x23, 0x00, + 0xCF, 0x01, 0xB8, 0x00, 0x25, 0x00, 0x23, 0x02, + 0xDF, 0x00, 0x27, 0x00, 0x77, 0x02, 0x0F, 0x01, + 0x1E, 0x00, 0xD6, 0xFF, 0x72, 0x00, 0x1E, 0x00, + 0x82, 0xFF, 0x72, 0x00, 0x1E, 0x00, 0x2E, 0xFF, + 0x72, 0x00, 0x1E, 0x00, 0xDA, 0xFE, 0x72, 0x00, + 0x21, 0x00, 0x85, 0xFE, 0x99, 0x00, 0x23, 0x00, + 0x31, 0xFE, 0xB8, 0x00, 0x25, 0x00, 0xDD, 0xFD, + 0xDF, 0x00, 0x27, 0x00, 0x89, 0xFD, 0x0F, 0x01, + 0x1E, 0x00, 0x2A, 0x00, 0xBF, 0x00, 0x1E, 0x00, + 0x7E, 0x00, 0xBF, 0x00, 0x1E, 0x00, 0xD2, 0x00, + 0xBF, 0x00, 0x1E, 0x00, 0x26, 0x01, 0xBF, 0x00, + 0x21, 0x00, 0x7B, 0x01, 0xFF, 0x00, 0x23, 0x00, + 0xCF, 0x01, 0x34, 0x01, 0x25, 0x00, 0x23, 0x02, + 0x75, 0x01, 0x27, 0x00, 0x77, 0x02, 0xC4, 0x01, + 0x1E, 0x00, 0xD6, 0xFF, 0xBF, 0x00, 0x1E, 0x00, + 0x82, 0xFF, 0xBF, 0x00, 0x1E, 0x00, 0x2E, 0xFF, + 0xBF, 0x00, 0x1E, 0x00, 0xDA, 0xFE, 0xBF, 0x00, + 0x21, 0x00, 0x85, 0xFE, 0xFF, 0x00, 0x23, 0x00, + 0x31, 0xFE, 0x34, 0x01, 0x25, 0x00, 0xDD, 0xFD, + 0x75, 0x01, 0x27, 0x00, 0x89, 0xFD, 0xC4, 0x01, + 0x1E, 0x00, 0x2A, 0x00, 0x0B, 0x01, 0x1E, 0x00, + 0x7E, 0x00, 0x0B, 0x01, 0x1E, 0x00, 0xD2, 0x00, + 0x0B, 0x01, 0x1E, 0x00, 0x26, 0x01, 0x0B, 0x01, + 0x21, 0x00, 0x7B, 0x01, 0x65, 0x01, 0x23, 0x00, + 0xCF, 0x01, 0xAF, 0x01, 0x25, 0x00, 0x23, 0x02, + 0x0A, 0x02, 0x27, 0x00, 0x77, 0x02, 0x79, 0x02, + 0x1E, 0x00, 0xD6, 0xFF, 0x0B, 0x01, 0x1E, 0x00, + 0x82, 0xFF, 0x0B, 0x01, 0x1E, 0x00, 0x2E, 0xFF, + 0x0B, 0x01, 0x1E, 0x00, 0xDA, 0xFE, 0x0B, 0x01, + 0x21, 0x00, 0x85, 0xFE, 0x65, 0x01, 0x23, 0x00, + 0x31, 0xFE, 0xAF, 0x01, 0x25, 0x00, 0xDD, 0xFD, + 0x0A, 0x02, 0x27, 0x00, 0x89, 0xFD, 0x79, 0x02, + 0x21, 0x00, 0x2A, 0x00, 0x59, 0x01, 0x21, 0x00, + 0x7E, 0x00, 0x59, 0x01, 0x21, 0x00, 0xD2, 0x00, + 0x59, 0x01, 0x21, 0x00, 0x26, 0x01, 0x59, 0x01, + 0x24, 0x00, 0x7B, 0x01, 0xCB, 0x01, 0x26, 0x00, + 0xCF, 0x01, 0x2B, 0x02, 0x28, 0x00, 0x23, 0x02, + 0xA0, 0x02, 0x2A, 0x00, 0x77, 0x02, 0x2E, 0x03, + 0x21, 0x00, 0xD6, 0xFF, 0x59, 0x01, 0x21, 0x00, + 0x82, 0xFF, 0x59, 0x01, 0x21, 0x00, 0x2E, 0xFF, + 0x59, 0x01, 0x21, 0x00, 0xDA, 0xFE, 0x59, 0x01, + 0x24, 0x00, 0x85, 0xFE, 0xCB, 0x01, 0x26, 0x00, + 0x31, 0xFE, 0x2B, 0x02, 0x28, 0x00, 0xDD, 0xFD, + 0xA0, 0x02, 0x2A, 0x00, 0x89, 0xFD, 0x2E, 0x03, + 0x23, 0x00, 0x2A, 0x00, 0xA5, 0x01, 0x23, 0x00, + 0x7E, 0x00, 0xA5, 0x01, 0x23, 0x00, 0xD2, 0x00, + 0xA5, 0x01, 0x23, 0x00, 0x26, 0x01, 0xA5, 0x01, + 0x26, 0x00, 0x7B, 0x01, 0x31, 0x02, 0x28, 0x00, + 0xCF, 0x01, 0xA6, 0x02, 0x2A, 0x00, 0x23, 0x02, + 0x35, 0x03, 0x2C, 0x00, 0x77, 0x02, 0xE3, 0x03, + 0x23, 0x00, 0xD6, 0xFF, 0xA5, 0x01, 0x23, 0x00, + 0x82, 0xFF, 0xA5, 0x01, 0x23, 0x00, 0x2E, 0xFF, + 0xA5, 0x01, 0x23, 0x00, 0xDA, 0xFE, 0xA5, 0x01, + 0x26, 0x00, 0x85, 0xFE, 0x31, 0x02, 0x28, 0x00, + 0x31, 0xFE, 0xA6, 0x02, 0x2A, 0x00, 0xDD, 0xFD, + 0x35, 0x03, 0x2C, 0x00, 0x89, 0xFD, 0xE3, 0x03, + 0x25, 0x00, 0x2A, 0x00, 0xF2, 0x01, 0x25, 0x00, + 0x7E, 0x00, 0xF2, 0x01, 0x25, 0x00, 0xD2, 0x00, + 0xF2, 0x01, 0x25, 0x00, 0x26, 0x01, 0xF2, 0x01, + 0x28, 0x00, 0x7B, 0x01, 0x97, 0x02, 0x2A, 0x00, + 0xCF, 0x01, 0x22, 0x03, 0x2C, 0x00, 0x23, 0x02, + 0xCB, 0x03, 0x2E, 0x00, 0x77, 0x02, 0x98, 0x04, + 0x25, 0x00, 0xD6, 0xFF, 0xF2, 0x01, 0x25, 0x00, + 0x82, 0xFF, 0xF2, 0x01, 0x25, 0x00, 0x2E, 0xFF, + 0xF2, 0x01, 0x25, 0x00, 0xDA, 0xFE, 0xF2, 0x01, + 0x28, 0x00, 0x85, 0xFE, 0x97, 0x02, 0x2A, 0x00, + 0x31, 0xFE, 0x22, 0x03, 0x2C, 0x00, 0xDD, 0xFD, + 0xCB, 0x03, 0x2E, 0x00, 0x89, 0xFD, 0x98, 0x04, + 0x27, 0x00, 0x2A, 0x00, 0x3E, 0x02, 0x27, 0x00, + 0x7E, 0x00, 0x3E, 0x02, 0x27, 0x00, 0xD2, 0x00, + 0x3E, 0x02, 0x27, 0x00, 0x26, 0x01, 0x3E, 0x02, + 0x2A, 0x00, 0x7B, 0x01, 0xFD, 0x02, 0x2C, 0x00, + 0xCF, 0x01, 0x9D, 0x03, 0x2E, 0x00, 0x23, 0x02, + 0x60, 0x04, 0x30, 0x00, 0x77, 0x02, 0x4D, 0x05, + 0x27, 0x00, 0xD6, 0xFF, 0x3E, 0x02, 0x27, 0x00, + 0x82, 0xFF, 0x3E, 0x02, 0x27, 0x00, 0x2E, 0xFF, + 0x3E, 0x02, 0x27, 0x00, 0xDA, 0xFE, 0x3E, 0x02, + 0x2A, 0x00, 0x85, 0xFE, 0xFD, 0x02, 0x2C, 0x00, + 0x31, 0xFE, 0x9D, 0x03, 0x2E, 0x00, 0xDD, 0xFD, + 0x60, 0x04, 0x30, 0x00, 0x89, 0xFD, 0x4D, 0x05, + 0x1E, 0x00, 0x2A, 0x00, 0xDA, 0xFF, 0x1E, 0x00, + 0x7E, 0x00, 0xDA, 0xFF, 0x1E, 0x00, 0xD2, 0x00, + 0xDA, 0xFF, 0x1E, 0x00, 0x26, 0x01, 0xDA, 0xFF, + 0x21, 0x00, 0x7B, 0x01, 0xCD, 0xFF, 0x23, 0x00, + 0xCF, 0x01, 0xC3, 0xFF, 0x25, 0x00, 0x23, 0x02, + 0xB6, 0xFF, 0x27, 0x00, 0x77, 0x02, 0xA6, 0xFF, + 0x1E, 0x00, 0xD6, 0xFF, 0xDA, 0xFF, 0x1E, 0x00, + 0x82, 0xFF, 0xDA, 0xFF, 0x1E, 0x00, 0x2E, 0xFF, + 0xDA, 0xFF, 0x1E, 0x00, 0xDA, 0xFE, 0xDA, 0xFF, + 0x21, 0x00, 0x85, 0xFE, 0xCD, 0xFF, 0x23, 0x00, + 0x31, 0xFE, 0xC3, 0xFF, 0x25, 0x00, 0xDD, 0xFD, + 0xB6, 0xFF, 0x27, 0x00, 0x89, 0xFD, 0xA6, 0xFF, + 0x1E, 0x00, 0x2A, 0x00, 0x8E, 0xFF, 0x1E, 0x00, + 0x7E, 0x00, 0x8E, 0xFF, 0x1E, 0x00, 0xD2, 0x00, + 0x8E, 0xFF, 0x1E, 0x00, 0x26, 0x01, 0x8E, 0xFF, + 0x21, 0x00, 0x7B, 0x01, 0x67, 0xFF, 0x23, 0x00, + 0xCF, 0x01, 0x48, 0xFF, 0x25, 0x00, 0x23, 0x02, + 0x21, 0xFF, 0x27, 0x00, 0x77, 0x02, 0xF1, 0xFE, + 0x1E, 0x00, 0xD6, 0xFF, 0x8E, 0xFF, 0x1E, 0x00, + 0x82, 0xFF, 0x8E, 0xFF, 0x1E, 0x00, 0x2E, 0xFF, + 0x8E, 0xFF, 0x1E, 0x00, 0xDA, 0xFE, 0x8E, 0xFF, + 0x21, 0x00, 0x85, 0xFE, 0x67, 0xFF, 0x23, 0x00, + 0x31, 0xFE, 0x48, 0xFF, 0x25, 0x00, 0xDD, 0xFD, + 0x21, 0xFF, 0x27, 0x00, 0x89, 0xFD, 0xF1, 0xFE, + 0x1E, 0x00, 0x2A, 0x00, 0x41, 0xFF, 0x1E, 0x00, + 0x7E, 0x00, 0x41, 0xFF, 0x1E, 0x00, 0xD2, 0x00, + 0x41, 0xFF, 0x1E, 0x00, 0x26, 0x01, 0x41, 0xFF, + 0x21, 0x00, 0x7B, 0x01, 0x01, 0xFF, 0x23, 0x00, + 0xCF, 0x01, 0xCC, 0xFE, 0x25, 0x00, 0x23, 0x02, + 0x8B, 0xFE, 0x27, 0x00, 0x77, 0x02, 0x3C, 0xFE, + 0x1E, 0x00, 0xD6, 0xFF, 0x41, 0xFF, 0x1E, 0x00, + 0x82, 0xFF, 0x41, 0xFF, 0x1E, 0x00, 0x2E, 0xFF, + 0x41, 0xFF, 0x1E, 0x00, 0xDA, 0xFE, 0x41, 0xFF, + 0x21, 0x00, 0x85, 0xFE, 0x01, 0xFF, 0x23, 0x00, + 0x31, 0xFE, 0xCC, 0xFE, 0x25, 0x00, 0xDD, 0xFD, + 0x8B, 0xFE, 0x27, 0x00, 0x89, 0xFD, 0x3C, 0xFE, + 0x1E, 0x00, 0x2A, 0x00, 0xF5, 0xFE, 0x1E, 0x00, + 0x7E, 0x00, 0xF5, 0xFE, 0x1E, 0x00, 0xD2, 0x00, + 0xF5, 0xFE, 0x1E, 0x00, 0x26, 0x01, 0xF5, 0xFE, + 0x21, 0x00, 0x7B, 0x01, 0x9B, 0xFE, 0x23, 0x00, + 0xCF, 0x01, 0x51, 0xFE, 0x25, 0x00, 0x23, 0x02, + 0xF6, 0xFD, 0x27, 0x00, 0x77, 0x02, 0x87, 0xFD, + 0x1E, 0x00, 0xD6, 0xFF, 0xF5, 0xFE, 0x1E, 0x00, + 0x82, 0xFF, 0xF5, 0xFE, 0x1E, 0x00, 0x2E, 0xFF, + 0xF5, 0xFE, 0x1E, 0x00, 0xDA, 0xFE, 0xF5, 0xFE, + 0x21, 0x00, 0x85, 0xFE, 0x9B, 0xFE, 0x23, 0x00, + 0x31, 0xFE, 0x51, 0xFE, 0x25, 0x00, 0xDD, 0xFD, + 0xF6, 0xFD, 0x27, 0x00, 0x89, 0xFD, 0x87, 0xFD, + 0x21, 0x00, 0x2A, 0x00, 0xA7, 0xFE, 0x21, 0x00, + 0x7E, 0x00, 0xA7, 0xFE, 0x21, 0x00, 0xD2, 0x00, + 0xA7, 0xFE, 0x21, 0x00, 0x26, 0x01, 0xA7, 0xFE, + 0x24, 0x00, 0x7B, 0x01, 0x35, 0xFE, 0x26, 0x00, + 0xCF, 0x01, 0xD5, 0xFD, 0x28, 0x00, 0x23, 0x02, + 0x60, 0xFD, 0x2A, 0x00, 0x77, 0x02, 0xD2, 0xFC, + 0x21, 0x00, 0xD6, 0xFF, 0xA7, 0xFE, 0x21, 0x00, + 0x82, 0xFF, 0xA7, 0xFE, 0x21, 0x00, 0x2E, 0xFF, + 0xA7, 0xFE, 0x21, 0x00, 0xDA, 0xFE, 0xA7, 0xFE, + 0x24, 0x00, 0x85, 0xFE, 0x35, 0xFE, 0x26, 0x00, + 0x31, 0xFE, 0xD5, 0xFD, 0x28, 0x00, 0xDD, 0xFD, + 0x60, 0xFD, 0x2A, 0x00, 0x89, 0xFD, 0xD2, 0xFC, + 0x23, 0x00, 0x2A, 0x00, 0x5B, 0xFE, 0x23, 0x00, + 0x7E, 0x00, 0x5B, 0xFE, 0x23, 0x00, 0xD2, 0x00, + 0x5B, 0xFE, 0x23, 0x00, 0x26, 0x01, 0x5B, 0xFE, + 0x26, 0x00, 0x7B, 0x01, 0xCF, 0xFD, 0x28, 0x00, + 0xCF, 0x01, 0x5A, 0xFD, 0x2A, 0x00, 0x23, 0x02, + 0xCB, 0xFC, 0x2C, 0x00, 0x77, 0x02, 0x1D, 0xFC, + 0x23, 0x00, 0xD6, 0xFF, 0x5B, 0xFE, 0x23, 0x00, + 0x82, 0xFF, 0x5B, 0xFE, 0x23, 0x00, 0x2E, 0xFF, + 0x5B, 0xFE, 0x23, 0x00, 0xDA, 0xFE, 0x5B, 0xFE, + 0x26, 0x00, 0x85, 0xFE, 0xCF, 0xFD, 0x28, 0x00, + 0x31, 0xFE, 0x5A, 0xFD, 0x2A, 0x00, 0xDD, 0xFD, + 0xCB, 0xFC, 0x2C, 0x00, 0x89, 0xFD, 0x1D, 0xFC, + 0x25, 0x00, 0x2A, 0x00, 0x0E, 0xFE, 0x25, 0x00, + 0x7E, 0x00, 0x0E, 0xFE, 0x25, 0x00, 0xD2, 0x00, + 0x0E, 0xFE, 0x25, 0x00, 0x26, 0x01, 0x0E, 0xFE, + 0x28, 0x00, 0x7B, 0x01, 0x69, 0xFD, 0x2A, 0x00, + 0xCF, 0x01, 0xDE, 0xFC, 0x2C, 0x00, 0x23, 0x02, + 0x35, 0xFC, 0x2E, 0x00, 0x77, 0x02, 0x68, 0xFB, + 0x25, 0x00, 0xD6, 0xFF, 0x0E, 0xFE, 0x25, 0x00, + 0x82, 0xFF, 0x0E, 0xFE, 0x25, 0x00, 0x2E, 0xFF, + 0x0E, 0xFE, 0x25, 0x00, 0xDA, 0xFE, 0x0E, 0xFE, + 0x28, 0x00, 0x85, 0xFE, 0x69, 0xFD, 0x2A, 0x00, + 0x31, 0xFE, 0xDE, 0xFC, 0x2C, 0x00, 0xDD, 0xFD, + 0x35, 0xFC, 0x2E, 0x00, 0x89, 0xFD, 0x68, 0xFB, + 0x27, 0x00, 0x2A, 0x00, 0xC2, 0xFD, 0x27, 0x00, + 0x7E, 0x00, 0xC2, 0xFD, 0x27, 0x00, 0xD2, 0x00, + 0xC2, 0xFD, 0x27, 0x00, 0x26, 0x01, 0xC2, 0xFD, + 0x2A, 0x00, 0x7B, 0x01, 0x03, 0xFD, 0x2C, 0x00, + 0xCF, 0x01, 0x63, 0xFC, 0x2E, 0x00, 0x23, 0x02, + 0xA0, 0xFB, 0x30, 0x00, 0x77, 0x02, 0xB3, 0xFA, + 0x27, 0x00, 0xD6, 0xFF, 0xC2, 0xFD, 0x27, 0x00, + 0x82, 0xFF, 0xC2, 0xFD, 0x27, 0x00, 0x2E, 0xFF, + 0xC2, 0xFD, 0x27, 0x00, 0xDA, 0xFE, 0xC2, 0xFD, + 0x2A, 0x00, 0x85, 0xFE, 0x03, 0xFD, 0x2C, 0x00, + 0x31, 0xFE, 0x63, 0xFC, 0x2E, 0x00, 0xDD, 0xFD, + 0xA0, 0xFB, 0x30, 0x00, 0x89, 0xFD, 0xB3, 0xFA, + 0x1F, 0x00, 0x2E, 0x00, 0x2A, 0x00, 0x1F, 0x00, + 0x8A, 0x00, 0x2A, 0x00, 0x1F, 0x00, 0xE7, 0x00, + 0x2A, 0x00, 0x1F, 0x00, 0x43, 0x01, 0x2A, 0x00, + 0x22, 0x00, 0xA1, 0x01, 0x38, 0x00, 0x24, 0x00, + 0xFD, 0x01, 0x44, 0x00, 0x26, 0x00, 0x5A, 0x02, + 0x52, 0x00, 0x28, 0x00, 0xB6, 0x02, 0x63, 0x00, + 0x1F, 0x00, 0xD2, 0xFF, 0x2A, 0x00, 0x1F, 0x00, + 0x76, 0xFF, 0x2A, 0x00, 0x1F, 0x00, 0x19, 0xFF, + 0x2A, 0x00, 0x1F, 0x00, 0xBD, 0xFE, 0x2A, 0x00, + 0x22, 0x00, 0x5F, 0xFE, 0x38, 0x00, 0x24, 0x00, + 0x03, 0xFE, 0x44, 0x00, 0x26, 0x00, 0xA6, 0xFD, + 0x52, 0x00, 0x28, 0x00, 0x4A, 0xFD, 0x63, 0x00, + 0x1F, 0x00, 0x2E, 0x00, 0x7E, 0x00, 0x1F, 0x00, + 0x8A, 0x00, 0x7E, 0x00, 0x1F, 0x00, 0xE7, 0x00, + 0x7E, 0x00, 0x1F, 0x00, 0x43, 0x01, 0x7E, 0x00, + 0x22, 0x00, 0xA1, 0x01, 0xA8, 0x00, 0x24, 0x00, + 0xFD, 0x01, 0xCC, 0x00, 0x26, 0x00, 0x5A, 0x02, + 0xF6, 0x00, 0x28, 0x00, 0xB6, 0x02, 0x2A, 0x01, + 0x1F, 0x00, 0xD2, 0xFF, 0x7E, 0x00, 0x1F, 0x00, + 0x76, 0xFF, 0x7E, 0x00, 0x1F, 0x00, 0x19, 0xFF, + 0x7E, 0x00, 0x1F, 0x00, 0xBD, 0xFE, 0x7E, 0x00, + 0x22, 0x00, 0x5F, 0xFE, 0xA8, 0x00, 0x24, 0x00, + 0x03, 0xFE, 0xCC, 0x00, 0x26, 0x00, 0xA6, 0xFD, + 0xF6, 0x00, 0x28, 0x00, 0x4A, 0xFD, 0x2A, 0x01, + 0x1F, 0x00, 0x2E, 0x00, 0xD2, 0x00, 0x1F, 0x00, + 0x8A, 0x00, 0xD2, 0x00, 0x1F, 0x00, 0xE7, 0x00, + 0xD2, 0x00, 0x1F, 0x00, 0x43, 0x01, 0xD2, 0x00, + 0x22, 0x00, 0xA1, 0x01, 0x18, 0x01, 0x24, 0x00, + 0xFD, 0x01, 0x54, 0x01, 0x26, 0x00, 0x5A, 0x02, + 0x9B, 0x01, 0x28, 0x00, 0xB6, 0x02, 0xF1, 0x01, + 0x1F, 0x00, 0xD2, 0xFF, 0xD2, 0x00, 0x1F, 0x00, + 0x76, 0xFF, 0xD2, 0x00, 0x1F, 0x00, 0x19, 0xFF, + 0xD2, 0x00, 0x1F, 0x00, 0xBD, 0xFE, 0xD2, 0x00, + 0x22, 0x00, 0x5F, 0xFE, 0x18, 0x01, 0x24, 0x00, + 0x03, 0xFE, 0x54, 0x01, 0x26, 0x00, 0xA6, 0xFD, + 0x9B, 0x01, 0x28, 0x00, 0x4A, 0xFD, 0xF1, 0x01, + 0x1F, 0x00, 0x2E, 0x00, 0x26, 0x01, 0x1F, 0x00, + 0x8A, 0x00, 0x26, 0x01, 0x1F, 0x00, 0xE7, 0x00, + 0x26, 0x01, 0x1F, 0x00, 0x43, 0x01, 0x26, 0x01, + 0x22, 0x00, 0xA1, 0x01, 0x88, 0x01, 0x24, 0x00, + 0xFD, 0x01, 0xDC, 0x01, 0x26, 0x00, 0x5A, 0x02, + 0x3F, 0x02, 0x28, 0x00, 0xB6, 0x02, 0xB8, 0x02, + 0x1F, 0x00, 0xD2, 0xFF, 0x26, 0x01, 0x1F, 0x00, + 0x76, 0xFF, 0x26, 0x01, 0x1F, 0x00, 0x19, 0xFF, + 0x26, 0x01, 0x1F, 0x00, 0xBD, 0xFE, 0x26, 0x01, + 0x22, 0x00, 0x5F, 0xFE, 0x88, 0x01, 0x24, 0x00, + 0x03, 0xFE, 0xDC, 0x01, 0x26, 0x00, 0xA6, 0xFD, + 0x3F, 0x02, 0x28, 0x00, 0x4A, 0xFD, 0xB8, 0x02, + 0x22, 0x00, 0x2E, 0x00, 0x7B, 0x01, 0x22, 0x00, + 0x8A, 0x00, 0x7B, 0x01, 0x22, 0x00, 0xE7, 0x00, + 0x7B, 0x01, 0x22, 0x00, 0x43, 0x01, 0x7B, 0x01, + 0x25, 0x00, 0xA1, 0x01, 0xF9, 0x01, 0x27, 0x00, + 0xFD, 0x01, 0x64, 0x02, 0x29, 0x00, 0x5A, 0x02, + 0xE4, 0x02, 0x2B, 0x00, 0xB6, 0x02, 0x7F, 0x03, + 0x22, 0x00, 0xD2, 0xFF, 0x7B, 0x01, 0x22, 0x00, + 0x76, 0xFF, 0x7B, 0x01, 0x22, 0x00, 0x19, 0xFF, + 0x7B, 0x01, 0x22, 0x00, 0xBD, 0xFE, 0x7B, 0x01, + 0x25, 0x00, 0x5F, 0xFE, 0xF9, 0x01, 0x27, 0x00, + 0x03, 0xFE, 0x64, 0x02, 0x29, 0x00, 0xA6, 0xFD, + 0xE4, 0x02, 0x2B, 0x00, 0x4A, 0xFD, 0x7F, 0x03, + 0x24, 0x00, 0x2E, 0x00, 0xCF, 0x01, 0x24, 0x00, + 0x8A, 0x00, 0xCF, 0x01, 0x24, 0x00, 0xE7, 0x00, + 0xCF, 0x01, 0x24, 0x00, 0x43, 0x01, 0xCF, 0x01, + 0x27, 0x00, 0xA1, 0x01, 0x69, 0x02, 0x29, 0x00, + 0xFD, 0x01, 0xEC, 0x02, 0x2B, 0x00, 0x5A, 0x02, + 0x88, 0x03, 0x2D, 0x00, 0xB6, 0x02, 0x46, 0x04, + 0x24, 0x00, 0xD2, 0xFF, 0xCF, 0x01, 0x24, 0x00, + 0x76, 0xFF, 0xCF, 0x01, 0x24, 0x00, 0x19, 0xFF, + 0xCF, 0x01, 0x24, 0x00, 0xBD, 0xFE, 0xCF, 0x01, + 0x27, 0x00, 0x5F, 0xFE, 0x69, 0x02, 0x29, 0x00, + 0x03, 0xFE, 0xEC, 0x02, 0x2B, 0x00, 0xA6, 0xFD, + 0x88, 0x03, 0x2D, 0x00, 0x4A, 0xFD, 0x46, 0x04, + 0x26, 0x00, 0x2E, 0x00, 0x23, 0x02, 0x26, 0x00, + 0x8A, 0x00, 0x23, 0x02, 0x26, 0x00, 0xE7, 0x00, + 0x23, 0x02, 0x26, 0x00, 0x43, 0x01, 0x23, 0x02, + 0x29, 0x00, 0xA1, 0x01, 0xD9, 0x02, 0x2B, 0x00, + 0xFD, 0x01, 0x74, 0x03, 0x2D, 0x00, 0x5A, 0x02, + 0x2D, 0x04, 0x2F, 0x00, 0xB6, 0x02, 0x0D, 0x05, + 0x26, 0x00, 0xD2, 0xFF, 0x23, 0x02, 0x26, 0x00, + 0x76, 0xFF, 0x23, 0x02, 0x26, 0x00, 0x19, 0xFF, + 0x23, 0x02, 0x26, 0x00, 0xBD, 0xFE, 0x23, 0x02, + 0x29, 0x00, 0x5F, 0xFE, 0xD9, 0x02, 0x2B, 0x00, + 0x03, 0xFE, 0x74, 0x03, 0x2D, 0x00, 0xA6, 0xFD, + 0x2D, 0x04, 0x2F, 0x00, 0x4A, 0xFD, 0x0D, 0x05, + 0x28, 0x00, 0x2E, 0x00, 0x77, 0x02, 0x28, 0x00, + 0x8A, 0x00, 0x77, 0x02, 0x28, 0x00, 0xE7, 0x00, + 0x77, 0x02, 0x28, 0x00, 0x43, 0x01, 0x77, 0x02, + 0x2B, 0x00, 0xA1, 0x01, 0x49, 0x03, 0x2D, 0x00, + 0xFD, 0x01, 0xFC, 0x03, 0x2F, 0x00, 0x5A, 0x02, + 0xD1, 0x04, 0x30, 0x00, 0xB6, 0x02, 0xD4, 0x05, + 0x28, 0x00, 0xD2, 0xFF, 0x77, 0x02, 0x28, 0x00, + 0x76, 0xFF, 0x77, 0x02, 0x28, 0x00, 0x19, 0xFF, + 0x77, 0x02, 0x28, 0x00, 0xBD, 0xFE, 0x77, 0x02, + 0x2B, 0x00, 0x5F, 0xFE, 0x49, 0x03, 0x2D, 0x00, + 0x03, 0xFE, 0xFC, 0x03, 0x2F, 0x00, 0xA6, 0xFD, + 0xD1, 0x04, 0x30, 0x00, 0x4A, 0xFD, 0xD4, 0x05, + 0x1F, 0x00, 0x2E, 0x00, 0xD6, 0xFF, 0x1F, 0x00, + 0x8A, 0x00, 0xD6, 0xFF, 0x1F, 0x00, 0xE7, 0x00, + 0xD6, 0xFF, 0x1F, 0x00, 0x43, 0x01, 0xD6, 0xFF, + 0x22, 0x00, 0xA1, 0x01, 0xC8, 0xFF, 0x24, 0x00, + 0xFD, 0x01, 0xBC, 0xFF, 0x26, 0x00, 0x5A, 0x02, + 0xAE, 0xFF, 0x28, 0x00, 0xB6, 0x02, 0x9D, 0xFF, + 0x1F, 0x00, 0xD2, 0xFF, 0xD6, 0xFF, 0x1F, 0x00, + 0x76, 0xFF, 0xD6, 0xFF, 0x1F, 0x00, 0x19, 0xFF, + 0xD6, 0xFF, 0x1F, 0x00, 0xBD, 0xFE, 0xD6, 0xFF, + 0x22, 0x00, 0x5F, 0xFE, 0xC8, 0xFF, 0x24, 0x00, + 0x03, 0xFE, 0xBC, 0xFF, 0x26, 0x00, 0xA6, 0xFD, + 0xAE, 0xFF, 0x28, 0x00, 0x4A, 0xFD, 0x9D, 0xFF, + 0x1F, 0x00, 0x2E, 0x00, 0x82, 0xFF, 0x1F, 0x00, + 0x8A, 0x00, 0x82, 0xFF, 0x1F, 0x00, 0xE7, 0x00, + 0x82, 0xFF, 0x1F, 0x00, 0x43, 0x01, 0x82, 0xFF, + 0x22, 0x00, 0xA1, 0x01, 0x58, 0xFF, 0x24, 0x00, + 0xFD, 0x01, 0x34, 0xFF, 0x26, 0x00, 0x5A, 0x02, + 0x0A, 0xFF, 0x28, 0x00, 0xB6, 0x02, 0xD6, 0xFE, + 0x1F, 0x00, 0xD2, 0xFF, 0x82, 0xFF, 0x1F, 0x00, + 0x76, 0xFF, 0x82, 0xFF, 0x1F, 0x00, 0x19, 0xFF, + 0x82, 0xFF, 0x1F, 0x00, 0xBD, 0xFE, 0x82, 0xFF, + 0x22, 0x00, 0x5F, 0xFE, 0x58, 0xFF, 0x24, 0x00, + 0x03, 0xFE, 0x34, 0xFF, 0x26, 0x00, 0xA6, 0xFD, + 0x0A, 0xFF, 0x28, 0x00, 0x4A, 0xFD, 0xD6, 0xFE, + 0x1F, 0x00, 0x2E, 0x00, 0x2E, 0xFF, 0x1F, 0x00, + 0x8A, 0x00, 0x2E, 0xFF, 0x1F, 0x00, 0xE7, 0x00, + 0x2E, 0xFF, 0x1F, 0x00, 0x43, 0x01, 0x2E, 0xFF, + 0x22, 0x00, 0xA1, 0x01, 0xE8, 0xFE, 0x24, 0x00, + 0xFD, 0x01, 0xAC, 0xFE, 0x26, 0x00, 0x5A, 0x02, + 0x65, 0xFE, 0x28, 0x00, 0xB6, 0x02, 0x0F, 0xFE, + 0x1F, 0x00, 0xD2, 0xFF, 0x2E, 0xFF, 0x1F, 0x00, + 0x76, 0xFF, 0x2E, 0xFF, 0x1F, 0x00, 0x19, 0xFF, + 0x2E, 0xFF, 0x1F, 0x00, 0xBD, 0xFE, 0x2E, 0xFF, + 0x22, 0x00, 0x5F, 0xFE, 0xE8, 0xFE, 0x24, 0x00, + 0x03, 0xFE, 0xAC, 0xFE, 0x26, 0x00, 0xA6, 0xFD, + 0x65, 0xFE, 0x28, 0x00, 0x4A, 0xFD, 0x0F, 0xFE, + 0x1F, 0x00, 0x2E, 0x00, 0xDA, 0xFE, 0x1F, 0x00, + 0x8A, 0x00, 0xDA, 0xFE, 0x1F, 0x00, 0xE7, 0x00, + 0xDA, 0xFE, 0x1F, 0x00, 0x43, 0x01, 0xDA, 0xFE, + 0x22, 0x00, 0xA1, 0x01, 0x78, 0xFE, 0x24, 0x00, + 0xFD, 0x01, 0x24, 0xFE, 0x26, 0x00, 0x5A, 0x02, + 0xC1, 0xFD, 0x28, 0x00, 0xB6, 0x02, 0x48, 0xFD, + 0x1F, 0x00, 0xD2, 0xFF, 0xDA, 0xFE, 0x1F, 0x00, + 0x76, 0xFF, 0xDA, 0xFE, 0x1F, 0x00, 0x19, 0xFF, + 0xDA, 0xFE, 0x1F, 0x00, 0xBD, 0xFE, 0xDA, 0xFE, + 0x22, 0x00, 0x5F, 0xFE, 0x78, 0xFE, 0x24, 0x00, + 0x03, 0xFE, 0x24, 0xFE, 0x26, 0x00, 0xA6, 0xFD, + 0xC1, 0xFD, 0x28, 0x00, 0x4A, 0xFD, 0x48, 0xFD, + 0x22, 0x00, 0x2E, 0x00, 0x85, 0xFE, 0x22, 0x00, + 0x8A, 0x00, 0x85, 0xFE, 0x22, 0x00, 0xE7, 0x00, + 0x85, 0xFE, 0x22, 0x00, 0x43, 0x01, 0x85, 0xFE, + 0x25, 0x00, 0xA1, 0x01, 0x07, 0xFE, 0x27, 0x00, + 0xFD, 0x01, 0x9C, 0xFD, 0x29, 0x00, 0x5A, 0x02, + 0x1C, 0xFD, 0x2B, 0x00, 0xB6, 0x02, 0x81, 0xFC, + 0x22, 0x00, 0xD2, 0xFF, 0x85, 0xFE, 0x22, 0x00, + 0x76, 0xFF, 0x85, 0xFE, 0x22, 0x00, 0x19, 0xFF, + 0x85, 0xFE, 0x22, 0x00, 0xBD, 0xFE, 0x85, 0xFE, + 0x25, 0x00, 0x5F, 0xFE, 0x07, 0xFE, 0x27, 0x00, + 0x03, 0xFE, 0x9C, 0xFD, 0x29, 0x00, 0xA6, 0xFD, + 0x1C, 0xFD, 0x2B, 0x00, 0x4A, 0xFD, 0x81, 0xFC, + 0x24, 0x00, 0x2E, 0x00, 0x31, 0xFE, 0x24, 0x00, + 0x8A, 0x00, 0x31, 0xFE, 0x24, 0x00, 0xE7, 0x00, + 0x31, 0xFE, 0x24, 0x00, 0x43, 0x01, 0x31, 0xFE, + 0x27, 0x00, 0xA1, 0x01, 0x97, 0xFD, 0x29, 0x00, + 0xFD, 0x01, 0x14, 0xFD, 0x2B, 0x00, 0x5A, 0x02, + 0x78, 0xFC, 0x2D, 0x00, 0xB6, 0x02, 0xBA, 0xFB, + 0x24, 0x00, 0xD2, 0xFF, 0x31, 0xFE, 0x24, 0x00, + 0x76, 0xFF, 0x31, 0xFE, 0x24, 0x00, 0x19, 0xFF, + 0x31, 0xFE, 0x24, 0x00, 0xBD, 0xFE, 0x31, 0xFE, + 0x27, 0x00, 0x5F, 0xFE, 0x97, 0xFD, 0x29, 0x00, + 0x03, 0xFE, 0x14, 0xFD, 0x2B, 0x00, 0xA6, 0xFD, + 0x78, 0xFC, 0x2D, 0x00, 0x4A, 0xFD, 0xBA, 0xFB, + 0x26, 0x00, 0x2E, 0x00, 0xDD, 0xFD, 0x26, 0x00, + 0x8A, 0x00, 0xDD, 0xFD, 0x26, 0x00, 0xE7, 0x00, + 0xDD, 0xFD, 0x26, 0x00, 0x43, 0x01, 0xDD, 0xFD, + 0x29, 0x00, 0xA1, 0x01, 0x27, 0xFD, 0x2B, 0x00, + 0xFD, 0x01, 0x8C, 0xFC, 0x2D, 0x00, 0x5A, 0x02, + 0xD3, 0xFB, 0x2F, 0x00, 0xB6, 0x02, 0xF3, 0xFA, + 0x26, 0x00, 0xD2, 0xFF, 0xDD, 0xFD, 0x26, 0x00, + 0x76, 0xFF, 0xDD, 0xFD, 0x26, 0x00, 0x19, 0xFF, + 0xDD, 0xFD, 0x26, 0x00, 0xBD, 0xFE, 0xDD, 0xFD, + 0x29, 0x00, 0x5F, 0xFE, 0x27, 0xFD, 0x2B, 0x00, + 0x03, 0xFE, 0x8C, 0xFC, 0x2D, 0x00, 0xA6, 0xFD, + 0xD3, 0xFB, 0x2F, 0x00, 0x4A, 0xFD, 0xF3, 0xFA, + 0x28, 0x00, 0x2E, 0x00, 0x89, 0xFD, 0x28, 0x00, + 0x8A, 0x00, 0x89, 0xFD, 0x28, 0x00, 0xE7, 0x00, + 0x89, 0xFD, 0x28, 0x00, 0x43, 0x01, 0x89, 0xFD, + 0x2B, 0x00, 0xA1, 0x01, 0xB7, 0xFC, 0x2D, 0x00, + 0xFD, 0x01, 0x04, 0xFC, 0x2F, 0x00, 0x5A, 0x02, + 0x2F, 0xFB, 0x30, 0x00, 0xB6, 0x02, 0x2C, 0xFA, + 0x28, 0x00, 0xD2, 0xFF, 0x89, 0xFD, 0x28, 0x00, + 0x76, 0xFF, 0x89, 0xFD, 0x28, 0x00, 0x19, 0xFF, + 0x89, 0xFD, 0x28, 0x00, 0xBD, 0xFE, 0x89, 0xFD, + 0x2B, 0x00, 0x5F, 0xFE, 0xB7, 0xFC, 0x2D, 0x00, + 0x03, 0xFE, 0x04, 0xFC, 0x2F, 0x00, 0xA6, 0xFD, + 0x2F, 0xFB, 0x30, 0x00, 0x4A, 0xFD, 0x2C, 0xFA, + 0x20, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x20, 0x00, + 0x99, 0x00, 0x2E, 0x00, 0x20, 0x00, 0xFF, 0x00, + 0x2E, 0x00, 0x20, 0x00, 0x65, 0x01, 0x2E, 0x00, + 0x23, 0x00, 0xCB, 0x01, 0x3D, 0x00, 0x25, 0x00, + 0x31, 0x02, 0x4A, 0x00, 0x27, 0x00, 0x97, 0x02, + 0x5A, 0x00, 0x29, 0x00, 0xFD, 0x02, 0x6D, 0x00, + 0x20, 0x00, 0xCD, 0xFF, 0x2E, 0x00, 0x20, 0x00, + 0x67, 0xFF, 0x2E, 0x00, 0x20, 0x00, 0x01, 0xFF, + 0x2E, 0x00, 0x20, 0x00, 0x9B, 0xFE, 0x2E, 0x00, + 0x23, 0x00, 0x35, 0xFE, 0x3D, 0x00, 0x25, 0x00, + 0xCF, 0xFD, 0x4A, 0x00, 0x27, 0x00, 0x69, 0xFD, + 0x5A, 0x00, 0x29, 0x00, 0x03, 0xFD, 0x6D, 0x00, + 0x20, 0x00, 0x33, 0x00, 0x8A, 0x00, 0x20, 0x00, + 0x99, 0x00, 0x8A, 0x00, 0x20, 0x00, 0xFF, 0x00, + 0x8A, 0x00, 0x20, 0x00, 0x65, 0x01, 0x8A, 0x00, + 0x23, 0x00, 0xCB, 0x01, 0xB8, 0x00, 0x25, 0x00, + 0x31, 0x02, 0xDF, 0x00, 0x27, 0x00, 0x97, 0x02, + 0x0F, 0x01, 0x29, 0x00, 0xFD, 0x02, 0x48, 0x01, + 0x20, 0x00, 0xCD, 0xFF, 0x8A, 0x00, 0x20, 0x00, + 0x67, 0xFF, 0x8A, 0x00, 0x20, 0x00, 0x01, 0xFF, + 0x8A, 0x00, 0x20, 0x00, 0x9B, 0xFE, 0x8A, 0x00, + 0x23, 0x00, 0x35, 0xFE, 0xB8, 0x00, 0x25, 0x00, + 0xCF, 0xFD, 0xDF, 0x00, 0x27, 0x00, 0x69, 0xFD, + 0x0F, 0x01, 0x29, 0x00, 0x03, 0xFD, 0x48, 0x01, + 0x20, 0x00, 0x33, 0x00, 0xE7, 0x00, 0x20, 0x00, + 0x99, 0x00, 0xE7, 0x00, 0x20, 0x00, 0xFF, 0x00, + 0xE7, 0x00, 0x20, 0x00, 0x65, 0x01, 0xE7, 0x00, + 0x23, 0x00, 0xCB, 0x01, 0x34, 0x01, 0x25, 0x00, + 0x31, 0x02, 0x75, 0x01, 0x27, 0x00, 0x97, 0x02, + 0xC4, 0x01, 0x29, 0x00, 0xFD, 0x02, 0x23, 0x02, + 0x20, 0x00, 0xCD, 0xFF, 0xE7, 0x00, 0x20, 0x00, + 0x67, 0xFF, 0xE7, 0x00, 0x20, 0x00, 0x01, 0xFF, + 0xE7, 0x00, 0x20, 0x00, 0x9B, 0xFE, 0xE7, 0x00, + 0x23, 0x00, 0x35, 0xFE, 0x34, 0x01, 0x25, 0x00, + 0xCF, 0xFD, 0x75, 0x01, 0x27, 0x00, 0x69, 0xFD, + 0xC4, 0x01, 0x29, 0x00, 0x03, 0xFD, 0x23, 0x02, + 0x20, 0x00, 0x33, 0x00, 0x43, 0x01, 0x20, 0x00, + 0x99, 0x00, 0x43, 0x01, 0x20, 0x00, 0xFF, 0x00, + 0x43, 0x01, 0x20, 0x00, 0x65, 0x01, 0x43, 0x01, + 0x23, 0x00, 0xCB, 0x01, 0xAF, 0x01, 0x25, 0x00, + 0x31, 0x02, 0x0A, 0x02, 0x27, 0x00, 0x97, 0x02, + 0x79, 0x02, 0x29, 0x00, 0xFD, 0x02, 0xFE, 0x02, + 0x20, 0x00, 0xCD, 0xFF, 0x43, 0x01, 0x20, 0x00, + 0x67, 0xFF, 0x43, 0x01, 0x20, 0x00, 0x01, 0xFF, + 0x43, 0x01, 0x20, 0x00, 0x9B, 0xFE, 0x43, 0x01, + 0x23, 0x00, 0x35, 0xFE, 0xAF, 0x01, 0x25, 0x00, + 0xCF, 0xFD, 0x0A, 0x02, 0x27, 0x00, 0x69, 0xFD, + 0x79, 0x02, 0x29, 0x00, 0x03, 0xFD, 0xFE, 0x02, + 0x23, 0x00, 0x33, 0x00, 0xA1, 0x01, 0x23, 0x00, + 0x99, 0x00, 0xA1, 0x01, 0x23, 0x00, 0xFF, 0x00, + 0xA1, 0x01, 0x23, 0x00, 0x65, 0x01, 0xA1, 0x01, + 0x26, 0x00, 0xCB, 0x01, 0x2B, 0x02, 0x28, 0x00, + 0x31, 0x02, 0xA0, 0x02, 0x2A, 0x00, 0x97, 0x02, + 0x2E, 0x03, 0x2C, 0x00, 0xFD, 0x02, 0xD9, 0x03, + 0x23, 0x00, 0xCD, 0xFF, 0xA1, 0x01, 0x23, 0x00, + 0x67, 0xFF, 0xA1, 0x01, 0x23, 0x00, 0x01, 0xFF, + 0xA1, 0x01, 0x23, 0x00, 0x9B, 0xFE, 0xA1, 0x01, + 0x26, 0x00, 0x35, 0xFE, 0x2B, 0x02, 0x28, 0x00, + 0xCF, 0xFD, 0xA0, 0x02, 0x2A, 0x00, 0x69, 0xFD, + 0x2E, 0x03, 0x2C, 0x00, 0x03, 0xFD, 0xD9, 0x03, + 0x25, 0x00, 0x33, 0x00, 0xFD, 0x01, 0x25, 0x00, + 0x99, 0x00, 0xFD, 0x01, 0x25, 0x00, 0xFF, 0x00, + 0xFD, 0x01, 0x25, 0x00, 0x65, 0x01, 0xFD, 0x01, + 0x28, 0x00, 0xCB, 0x01, 0xA6, 0x02, 0x2A, 0x00, + 0x31, 0x02, 0x35, 0x03, 0x2C, 0x00, 0x97, 0x02, + 0xE3, 0x03, 0x2E, 0x00, 0xFD, 0x02, 0xB4, 0x04, + 0x25, 0x00, 0xCD, 0xFF, 0xFD, 0x01, 0x25, 0x00, + 0x67, 0xFF, 0xFD, 0x01, 0x25, 0x00, 0x01, 0xFF, + 0xFD, 0x01, 0x25, 0x00, 0x9B, 0xFE, 0xFD, 0x01, + 0x28, 0x00, 0x35, 0xFE, 0xA6, 0x02, 0x2A, 0x00, + 0xCF, 0xFD, 0x35, 0x03, 0x2C, 0x00, 0x69, 0xFD, + 0xE3, 0x03, 0x2E, 0x00, 0x03, 0xFD, 0xB4, 0x04, + 0x27, 0x00, 0x33, 0x00, 0x5A, 0x02, 0x27, 0x00, + 0x99, 0x00, 0x5A, 0x02, 0x27, 0x00, 0xFF, 0x00, + 0x5A, 0x02, 0x27, 0x00, 0x65, 0x01, 0x5A, 0x02, + 0x2A, 0x00, 0xCB, 0x01, 0x22, 0x03, 0x2C, 0x00, + 0x31, 0x02, 0xCB, 0x03, 0x2E, 0x00, 0x97, 0x02, + 0x98, 0x04, 0x30, 0x00, 0xFD, 0x02, 0x8F, 0x05, + 0x27, 0x00, 0xCD, 0xFF, 0x5A, 0x02, 0x27, 0x00, + 0x67, 0xFF, 0x5A, 0x02, 0x27, 0x00, 0x01, 0xFF, + 0x5A, 0x02, 0x27, 0x00, 0x9B, 0xFE, 0x5A, 0x02, + 0x2A, 0x00, 0x35, 0xFE, 0x22, 0x03, 0x2C, 0x00, + 0xCF, 0xFD, 0xCB, 0x03, 0x2E, 0x00, 0x69, 0xFD, + 0x98, 0x04, 0x30, 0x00, 0x03, 0xFD, 0x8F, 0x05, + 0x29, 0x00, 0x33, 0x00, 0xB6, 0x02, 0x29, 0x00, + 0x99, 0x00, 0xB6, 0x02, 0x29, 0x00, 0xFF, 0x00, + 0xB6, 0x02, 0x29, 0x00, 0x65, 0x01, 0xB6, 0x02, + 0x2C, 0x00, 0xCB, 0x01, 0x9D, 0x03, 0x2E, 0x00, + 0x31, 0x02, 0x60, 0x04, 0x30, 0x00, 0x97, 0x02, + 0x4D, 0x05, 0x30, 0x00, 0xFD, 0x02, 0x6A, 0x06, + 0x29, 0x00, 0xCD, 0xFF, 0xB6, 0x02, 0x29, 0x00, + 0x67, 0xFF, 0xB6, 0x02, 0x29, 0x00, 0x01, 0xFF, + 0xB6, 0x02, 0x29, 0x00, 0x9B, 0xFE, 0xB6, 0x02, + 0x2C, 0x00, 0x35, 0xFE, 0x9D, 0x03, 0x2E, 0x00, + 0xCF, 0xFD, 0x60, 0x04, 0x30, 0x00, 0x69, 0xFD, + 0x4D, 0x05, 0x30, 0x00, 0x03, 0xFD, 0x6A, 0x06, + 0x20, 0x00, 0x33, 0x00, 0xD2, 0xFF, 0x20, 0x00, + 0x99, 0x00, 0xD2, 0xFF, 0x20, 0x00, 0xFF, 0x00, + 0xD2, 0xFF, 0x20, 0x00, 0x65, 0x01, 0xD2, 0xFF, + 0x23, 0x00, 0xCB, 0x01, 0xC3, 0xFF, 0x25, 0x00, + 0x31, 0x02, 0xB6, 0xFF, 0x27, 0x00, 0x97, 0x02, + 0xA6, 0xFF, 0x29, 0x00, 0xFD, 0x02, 0x93, 0xFF, + 0x20, 0x00, 0xCD, 0xFF, 0xD2, 0xFF, 0x20, 0x00, + 0x67, 0xFF, 0xD2, 0xFF, 0x20, 0x00, 0x01, 0xFF, + 0xD2, 0xFF, 0x20, 0x00, 0x9B, 0xFE, 0xD2, 0xFF, + 0x23, 0x00, 0x35, 0xFE, 0xC3, 0xFF, 0x25, 0x00, + 0xCF, 0xFD, 0xB6, 0xFF, 0x27, 0x00, 0x69, 0xFD, + 0xA6, 0xFF, 0x29, 0x00, 0x03, 0xFD, 0x93, 0xFF, + 0x20, 0x00, 0x33, 0x00, 0x76, 0xFF, 0x20, 0x00, + 0x99, 0x00, 0x76, 0xFF, 0x20, 0x00, 0xFF, 0x00, + 0x76, 0xFF, 0x20, 0x00, 0x65, 0x01, 0x76, 0xFF, + 0x23, 0x00, 0xCB, 0x01, 0x48, 0xFF, 0x25, 0x00, + 0x31, 0x02, 0x21, 0xFF, 0x27, 0x00, 0x97, 0x02, + 0xF1, 0xFE, 0x29, 0x00, 0xFD, 0x02, 0xB8, 0xFE, + 0x20, 0x00, 0xCD, 0xFF, 0x76, 0xFF, 0x20, 0x00, + 0x67, 0xFF, 0x76, 0xFF, 0x20, 0x00, 0x01, 0xFF, + 0x76, 0xFF, 0x20, 0x00, 0x9B, 0xFE, 0x76, 0xFF, + 0x23, 0x00, 0x35, 0xFE, 0x48, 0xFF, 0x25, 0x00, + 0xCF, 0xFD, 0x21, 0xFF, 0x27, 0x00, 0x69, 0xFD, + 0xF1, 0xFE, 0x29, 0x00, 0x03, 0xFD, 0xB8, 0xFE, + 0x20, 0x00, 0x33, 0x00, 0x19, 0xFF, 0x20, 0x00, + 0x99, 0x00, 0x19, 0xFF, 0x20, 0x00, 0xFF, 0x00, + 0x19, 0xFF, 0x20, 0x00, 0x65, 0x01, 0x19, 0xFF, + 0x23, 0x00, 0xCB, 0x01, 0xCC, 0xFE, 0x25, 0x00, + 0x31, 0x02, 0x8B, 0xFE, 0x27, 0x00, 0x97, 0x02, + 0x3C, 0xFE, 0x29, 0x00, 0xFD, 0x02, 0xDD, 0xFD, + 0x20, 0x00, 0xCD, 0xFF, 0x19, 0xFF, 0x20, 0x00, + 0x67, 0xFF, 0x19, 0xFF, 0x20, 0x00, 0x01, 0xFF, + 0x19, 0xFF, 0x20, 0x00, 0x9B, 0xFE, 0x19, 0xFF, + 0x23, 0x00, 0x35, 0xFE, 0xCC, 0xFE, 0x25, 0x00, + 0xCF, 0xFD, 0x8B, 0xFE, 0x27, 0x00, 0x69, 0xFD, + 0x3C, 0xFE, 0x29, 0x00, 0x03, 0xFD, 0xDD, 0xFD, + 0x20, 0x00, 0x33, 0x00, 0xBD, 0xFE, 0x20, 0x00, + 0x99, 0x00, 0xBD, 0xFE, 0x20, 0x00, 0xFF, 0x00, + 0xBD, 0xFE, 0x20, 0x00, 0x65, 0x01, 0xBD, 0xFE, + 0x23, 0x00, 0xCB, 0x01, 0x51, 0xFE, 0x25, 0x00, + 0x31, 0x02, 0xF6, 0xFD, 0x27, 0x00, 0x97, 0x02, + 0x87, 0xFD, 0x29, 0x00, 0xFD, 0x02, 0x02, 0xFD, + 0x20, 0x00, 0xCD, 0xFF, 0xBD, 0xFE, 0x20, 0x00, + 0x67, 0xFF, 0xBD, 0xFE, 0x20, 0x00, 0x01, 0xFF, + 0xBD, 0xFE, 0x20, 0x00, 0x9B, 0xFE, 0xBD, 0xFE, + 0x23, 0x00, 0x35, 0xFE, 0x51, 0xFE, 0x25, 0x00, + 0xCF, 0xFD, 0xF6, 0xFD, 0x27, 0x00, 0x69, 0xFD, + 0x87, 0xFD, 0x29, 0x00, 0x03, 0xFD, 0x02, 0xFD, + 0x23, 0x00, 0x33, 0x00, 0x5F, 0xFE, 0x23, 0x00, + 0x99, 0x00, 0x5F, 0xFE, 0x23, 0x00, 0xFF, 0x00, + 0x5F, 0xFE, 0x23, 0x00, 0x65, 0x01, 0x5F, 0xFE, + 0x26, 0x00, 0xCB, 0x01, 0xD5, 0xFD, 0x28, 0x00, + 0x31, 0x02, 0x60, 0xFD, 0x2A, 0x00, 0x97, 0x02, + 0xD2, 0xFC, 0x2C, 0x00, 0xFD, 0x02, 0x27, 0xFC, + 0x23, 0x00, 0xCD, 0xFF, 0x5F, 0xFE, 0x23, 0x00, + 0x67, 0xFF, 0x5F, 0xFE, 0x23, 0x00, 0x01, 0xFF, + 0x5F, 0xFE, 0x23, 0x00, 0x9B, 0xFE, 0x5F, 0xFE, + 0x26, 0x00, 0x35, 0xFE, 0xD5, 0xFD, 0x28, 0x00, + 0xCF, 0xFD, 0x60, 0xFD, 0x2A, 0x00, 0x69, 0xFD, + 0xD2, 0xFC, 0x2C, 0x00, 0x03, 0xFD, 0x27, 0xFC, + 0x25, 0x00, 0x33, 0x00, 0x03, 0xFE, 0x25, 0x00, + 0x99, 0x00, 0x03, 0xFE, 0x25, 0x00, 0xFF, 0x00, + 0x03, 0xFE, 0x25, 0x00, 0x65, 0x01, 0x03, 0xFE, + 0x28, 0x00, 0xCB, 0x01, 0x5A, 0xFD, 0x2A, 0x00, + 0x31, 0x02, 0xCB, 0xFC, 0x2C, 0x00, 0x97, 0x02, + 0x1D, 0xFC, 0x2E, 0x00, 0xFD, 0x02, 0x4C, 0xFB, + 0x25, 0x00, 0xCD, 0xFF, 0x03, 0xFE, 0x25, 0x00, + 0x67, 0xFF, 0x03, 0xFE, 0x25, 0x00, 0x01, 0xFF, + 0x03, 0xFE, 0x25, 0x00, 0x9B, 0xFE, 0x03, 0xFE, + 0x28, 0x00, 0x35, 0xFE, 0x5A, 0xFD, 0x2A, 0x00, + 0xCF, 0xFD, 0xCB, 0xFC, 0x2C, 0x00, 0x69, 0xFD, + 0x1D, 0xFC, 0x2E, 0x00, 0x03, 0xFD, 0x4C, 0xFB, + 0x27, 0x00, 0x33, 0x00, 0xA6, 0xFD, 0x27, 0x00, + 0x99, 0x00, 0xA6, 0xFD, 0x27, 0x00, 0xFF, 0x00, + 0xA6, 0xFD, 0x27, 0x00, 0x65, 0x01, 0xA6, 0xFD, + 0x2A, 0x00, 0xCB, 0x01, 0xDE, 0xFC, 0x2C, 0x00, + 0x31, 0x02, 0x35, 0xFC, 0x2E, 0x00, 0x97, 0x02, + 0x68, 0xFB, 0x30, 0x00, 0xFD, 0x02, 0x71, 0xFA, + 0x27, 0x00, 0xCD, 0xFF, 0xA6, 0xFD, 0x27, 0x00, + 0x67, 0xFF, 0xA6, 0xFD, 0x27, 0x00, 0x01, 0xFF, + 0xA6, 0xFD, 0x27, 0x00, 0x9B, 0xFE, 0xA6, 0xFD, + 0x2A, 0x00, 0x35, 0xFE, 0xDE, 0xFC, 0x2C, 0x00, + 0xCF, 0xFD, 0x35, 0xFC, 0x2E, 0x00, 0x69, 0xFD, + 0x68, 0xFB, 0x30, 0x00, 0x03, 0xFD, 0x71, 0xFA, + 0x29, 0x00, 0x33, 0x00, 0x4A, 0xFD, 0x29, 0x00, + 0x99, 0x00, 0x4A, 0xFD, 0x29, 0x00, 0xFF, 0x00, + 0x4A, 0xFD, 0x29, 0x00, 0x65, 0x01, 0x4A, 0xFD, + 0x2C, 0x00, 0xCB, 0x01, 0x63, 0xFC, 0x2E, 0x00, + 0x31, 0x02, 0xA0, 0xFB, 0x30, 0x00, 0x97, 0x02, + 0xB3, 0xFA, 0x30, 0x00, 0xFD, 0x02, 0x96, 0xF9, + 0x29, 0x00, 0xCD, 0xFF, 0x4A, 0xFD, 0x29, 0x00, + 0x67, 0xFF, 0x4A, 0xFD, 0x29, 0x00, 0x01, 0xFF, + 0x4A, 0xFD, 0x29, 0x00, 0x9B, 0xFE, 0x4A, 0xFD, + 0x2C, 0x00, 0x35, 0xFE, 0x63, 0xFC, 0x2E, 0x00, + 0xCF, 0xFD, 0xA0, 0xFB, 0x30, 0x00, 0x69, 0xFD, + 0xB3, 0xFA, 0x30, 0x00, 0x03, 0xFD, 0x96, 0xF9, + 0x21, 0x00, 0x38, 0x00, 0x33, 0x00, 0x21, 0x00, + 0xA8, 0x00, 0x33, 0x00, 0x21, 0x00, 0x18, 0x01, + 0x33, 0x00, 0x21, 0x00, 0x88, 0x01, 0x33, 0x00, + 0x24, 0x00, 0xF9, 0x01, 0x44, 0x00, 0x26, 0x00, + 0x69, 0x02, 0x52, 0x00, 0x28, 0x00, 0xD9, 0x02, + 0x63, 0x00, 0x2A, 0x00, 0x49, 0x03, 0x78, 0x00, + 0x21, 0x00, 0xC8, 0xFF, 0x33, 0x00, 0x21, 0x00, + 0x58, 0xFF, 0x33, 0x00, 0x21, 0x00, 0xE8, 0xFE, + 0x33, 0x00, 0x21, 0x00, 0x78, 0xFE, 0x33, 0x00, + 0x24, 0x00, 0x07, 0xFE, 0x44, 0x00, 0x26, 0x00, + 0x97, 0xFD, 0x52, 0x00, 0x28, 0x00, 0x27, 0xFD, + 0x63, 0x00, 0x2A, 0x00, 0xB7, 0xFC, 0x78, 0x00, + 0x21, 0x00, 0x38, 0x00, 0x99, 0x00, 0x21, 0x00, + 0xA8, 0x00, 0x99, 0x00, 0x21, 0x00, 0x18, 0x01, + 0x99, 0x00, 0x21, 0x00, 0x88, 0x01, 0x99, 0x00, + 0x24, 0x00, 0xF9, 0x01, 0xCC, 0x00, 0x26, 0x00, + 0x69, 0x02, 0xF6, 0x00, 0x28, 0x00, 0xD9, 0x02, + 0x2A, 0x01, 0x2A, 0x00, 0x49, 0x03, 0x68, 0x01, + 0x21, 0x00, 0xC8, 0xFF, 0x99, 0x00, 0x21, 0x00, + 0x58, 0xFF, 0x99, 0x00, 0x21, 0x00, 0xE8, 0xFE, + 0x99, 0x00, 0x21, 0x00, 0x78, 0xFE, 0x99, 0x00, + 0x24, 0x00, 0x07, 0xFE, 0xCC, 0x00, 0x26, 0x00, + 0x97, 0xFD, 0xF6, 0x00, 0x28, 0x00, 0x27, 0xFD, + 0x2A, 0x01, 0x2A, 0x00, 0xB7, 0xFC, 0x68, 0x01, + 0x21, 0x00, 0x38, 0x00, 0xFF, 0x00, 0x21, 0x00, + 0xA8, 0x00, 0xFF, 0x00, 0x21, 0x00, 0x18, 0x01, + 0xFF, 0x00, 0x21, 0x00, 0x88, 0x01, 0xFF, 0x00, + 0x24, 0x00, 0xF9, 0x01, 0x54, 0x01, 0x26, 0x00, + 0x69, 0x02, 0x9B, 0x01, 0x28, 0x00, 0xD9, 0x02, + 0xF1, 0x01, 0x2A, 0x00, 0x49, 0x03, 0x59, 0x02, + 0x21, 0x00, 0xC8, 0xFF, 0xFF, 0x00, 0x21, 0x00, + 0x58, 0xFF, 0xFF, 0x00, 0x21, 0x00, 0xE8, 0xFE, + 0xFF, 0x00, 0x21, 0x00, 0x78, 0xFE, 0xFF, 0x00, + 0x24, 0x00, 0x07, 0xFE, 0x54, 0x01, 0x26, 0x00, + 0x97, 0xFD, 0x9B, 0x01, 0x28, 0x00, 0x27, 0xFD, + 0xF1, 0x01, 0x2A, 0x00, 0xB7, 0xFC, 0x59, 0x02, + 0x21, 0x00, 0x38, 0x00, 0x65, 0x01, 0x21, 0x00, + 0xA8, 0x00, 0x65, 0x01, 0x21, 0x00, 0x18, 0x01, + 0x65, 0x01, 0x21, 0x00, 0x88, 0x01, 0x65, 0x01, + 0x24, 0x00, 0xF9, 0x01, 0xDC, 0x01, 0x26, 0x00, + 0x69, 0x02, 0x3F, 0x02, 0x28, 0x00, 0xD9, 0x02, + 0xB8, 0x02, 0x2A, 0x00, 0x49, 0x03, 0x49, 0x03, + 0x21, 0x00, 0xC8, 0xFF, 0x65, 0x01, 0x21, 0x00, + 0x58, 0xFF, 0x65, 0x01, 0x21, 0x00, 0xE8, 0xFE, + 0x65, 0x01, 0x21, 0x00, 0x78, 0xFE, 0x65, 0x01, + 0x24, 0x00, 0x07, 0xFE, 0xDC, 0x01, 0x26, 0x00, + 0x97, 0xFD, 0x3F, 0x02, 0x28, 0x00, 0x27, 0xFD, + 0xB8, 0x02, 0x2A, 0x00, 0xB7, 0xFC, 0x49, 0x03, + 0x24, 0x00, 0x38, 0x00, 0xCB, 0x01, 0x24, 0x00, + 0xA8, 0x00, 0xCB, 0x01, 0x24, 0x00, 0x18, 0x01, + 0xCB, 0x01, 0x24, 0x00, 0x88, 0x01, 0xCB, 0x01, + 0x27, 0x00, 0xF9, 0x01, 0x64, 0x02, 0x29, 0x00, + 0x69, 0x02, 0xE4, 0x02, 0x2B, 0x00, 0xD9, 0x02, + 0x7F, 0x03, 0x2D, 0x00, 0x49, 0x03, 0x3B, 0x04, + 0x24, 0x00, 0xC8, 0xFF, 0xCB, 0x01, 0x24, 0x00, + 0x58, 0xFF, 0xCB, 0x01, 0x24, 0x00, 0xE8, 0xFE, + 0xCB, 0x01, 0x24, 0x00, 0x78, 0xFE, 0xCB, 0x01, + 0x27, 0x00, 0x07, 0xFE, 0x64, 0x02, 0x29, 0x00, + 0x97, 0xFD, 0xE4, 0x02, 0x2B, 0x00, 0x27, 0xFD, + 0x7F, 0x03, 0x2D, 0x00, 0xB7, 0xFC, 0x3B, 0x04, + 0x26, 0x00, 0x38, 0x00, 0x31, 0x02, 0x26, 0x00, + 0xA8, 0x00, 0x31, 0x02, 0x26, 0x00, 0x18, 0x01, + 0x31, 0x02, 0x26, 0x00, 0x88, 0x01, 0x31, 0x02, + 0x29, 0x00, 0xF9, 0x01, 0xEC, 0x02, 0x2B, 0x00, + 0x69, 0x02, 0x88, 0x03, 0x2D, 0x00, 0xD9, 0x02, + 0x46, 0x04, 0x2F, 0x00, 0x49, 0x03, 0x2B, 0x05, + 0x26, 0x00, 0xC8, 0xFF, 0x31, 0x02, 0x26, 0x00, + 0x58, 0xFF, 0x31, 0x02, 0x26, 0x00, 0xE8, 0xFE, + 0x31, 0x02, 0x26, 0x00, 0x78, 0xFE, 0x31, 0x02, + 0x29, 0x00, 0x07, 0xFE, 0xEC, 0x02, 0x2B, 0x00, + 0x97, 0xFD, 0x88, 0x03, 0x2D, 0x00, 0x27, 0xFD, + 0x46, 0x04, 0x2F, 0x00, 0xB7, 0xFC, 0x2B, 0x05, + 0x28, 0x00, 0x38, 0x00, 0x97, 0x02, 0x28, 0x00, + 0xA8, 0x00, 0x97, 0x02, 0x28, 0x00, 0x18, 0x01, + 0x97, 0x02, 0x28, 0x00, 0x88, 0x01, 0x97, 0x02, + 0x2B, 0x00, 0xF9, 0x01, 0x74, 0x03, 0x2D, 0x00, + 0x69, 0x02, 0x2D, 0x04, 0x2F, 0x00, 0xD9, 0x02, + 0x0D, 0x05, 0x30, 0x00, 0x49, 0x03, 0x1C, 0x06, + 0x28, 0x00, 0xC8, 0xFF, 0x97, 0x02, 0x28, 0x00, + 0x58, 0xFF, 0x97, 0x02, 0x28, 0x00, 0xE8, 0xFE, + 0x97, 0x02, 0x28, 0x00, 0x78, 0xFE, 0x97, 0x02, + 0x2B, 0x00, 0x07, 0xFE, 0x74, 0x03, 0x2D, 0x00, + 0x97, 0xFD, 0x2D, 0x04, 0x2F, 0x00, 0x27, 0xFD, + 0x0D, 0x05, 0x30, 0x00, 0xB7, 0xFC, 0x1C, 0x06, + 0x2A, 0x00, 0x38, 0x00, 0xFD, 0x02, 0x2A, 0x00, + 0xA8, 0x00, 0xFD, 0x02, 0x2A, 0x00, 0x18, 0x01, + 0xFD, 0x02, 0x2A, 0x00, 0x88, 0x01, 0xFD, 0x02, + 0x2D, 0x00, 0xF9, 0x01, 0xFC, 0x03, 0x2F, 0x00, + 0x69, 0x02, 0xD1, 0x04, 0x30, 0x00, 0xD9, 0x02, + 0xD4, 0x05, 0x30, 0x00, 0x49, 0x03, 0x0C, 0x07, + 0x2A, 0x00, 0xC8, 0xFF, 0xFD, 0x02, 0x2A, 0x00, + 0x58, 0xFF, 0xFD, 0x02, 0x2A, 0x00, 0xE8, 0xFE, + 0xFD, 0x02, 0x2A, 0x00, 0x78, 0xFE, 0xFD, 0x02, + 0x2D, 0x00, 0x07, 0xFE, 0xFC, 0x03, 0x2F, 0x00, + 0x97, 0xFD, 0xD1, 0x04, 0x30, 0x00, 0x27, 0xFD, + 0xD4, 0x05, 0x30, 0x00, 0xB7, 0xFC, 0x0C, 0x07, + 0x21, 0x00, 0x38, 0x00, 0xCD, 0xFF, 0x21, 0x00, + 0xA8, 0x00, 0xCD, 0xFF, 0x21, 0x00, 0x18, 0x01, + 0xCD, 0xFF, 0x21, 0x00, 0x88, 0x01, 0xCD, 0xFF, + 0x24, 0x00, 0xF9, 0x01, 0xBC, 0xFF, 0x26, 0x00, + 0x69, 0x02, 0xAE, 0xFF, 0x28, 0x00, 0xD9, 0x02, + 0x9D, 0xFF, 0x2A, 0x00, 0x49, 0x03, 0x88, 0xFF, + 0x21, 0x00, 0xC8, 0xFF, 0xCD, 0xFF, 0x21, 0x00, + 0x58, 0xFF, 0xCD, 0xFF, 0x21, 0x00, 0xE8, 0xFE, + 0xCD, 0xFF, 0x21, 0x00, 0x78, 0xFE, 0xCD, 0xFF, + 0x24, 0x00, 0x07, 0xFE, 0xBC, 0xFF, 0x26, 0x00, + 0x97, 0xFD, 0xAE, 0xFF, 0x28, 0x00, 0x27, 0xFD, + 0x9D, 0xFF, 0x2A, 0x00, 0xB7, 0xFC, 0x88, 0xFF, + 0x21, 0x00, 0x38, 0x00, 0x67, 0xFF, 0x21, 0x00, + 0xA8, 0x00, 0x67, 0xFF, 0x21, 0x00, 0x18, 0x01, + 0x67, 0xFF, 0x21, 0x00, 0x88, 0x01, 0x67, 0xFF, + 0x24, 0x00, 0xF9, 0x01, 0x34, 0xFF, 0x26, 0x00, + 0x69, 0x02, 0x0A, 0xFF, 0x28, 0x00, 0xD9, 0x02, + 0xD6, 0xFE, 0x2A, 0x00, 0x49, 0x03, 0x98, 0xFE, + 0x21, 0x00, 0xC8, 0xFF, 0x67, 0xFF, 0x21, 0x00, + 0x58, 0xFF, 0x67, 0xFF, 0x21, 0x00, 0xE8, 0xFE, + 0x67, 0xFF, 0x21, 0x00, 0x78, 0xFE, 0x67, 0xFF, + 0x24, 0x00, 0x07, 0xFE, 0x34, 0xFF, 0x26, 0x00, + 0x97, 0xFD, 0x0A, 0xFF, 0x28, 0x00, 0x27, 0xFD, + 0xD6, 0xFE, 0x2A, 0x00, 0xB7, 0xFC, 0x98, 0xFE, + 0x21, 0x00, 0x38, 0x00, 0x01, 0xFF, 0x21, 0x00, + 0xA8, 0x00, 0x01, 0xFF, 0x21, 0x00, 0x18, 0x01, + 0x01, 0xFF, 0x21, 0x00, 0x88, 0x01, 0x01, 0xFF, + 0x24, 0x00, 0xF9, 0x01, 0xAC, 0xFE, 0x26, 0x00, + 0x69, 0x02, 0x65, 0xFE, 0x28, 0x00, 0xD9, 0x02, + 0x0F, 0xFE, 0x2A, 0x00, 0x49, 0x03, 0xA7, 0xFD, + 0x21, 0x00, 0xC8, 0xFF, 0x01, 0xFF, 0x21, 0x00, + 0x58, 0xFF, 0x01, 0xFF, 0x21, 0x00, 0xE8, 0xFE, + 0x01, 0xFF, 0x21, 0x00, 0x78, 0xFE, 0x01, 0xFF, + 0x24, 0x00, 0x07, 0xFE, 0xAC, 0xFE, 0x26, 0x00, + 0x97, 0xFD, 0x65, 0xFE, 0x28, 0x00, 0x27, 0xFD, + 0x0F, 0xFE, 0x2A, 0x00, 0xB7, 0xFC, 0xA7, 0xFD, + 0x21, 0x00, 0x38, 0x00, 0x9B, 0xFE, 0x21, 0x00, + 0xA8, 0x00, 0x9B, 0xFE, 0x21, 0x00, 0x18, 0x01, + 0x9B, 0xFE, 0x21, 0x00, 0x88, 0x01, 0x9B, 0xFE, + 0x24, 0x00, 0xF9, 0x01, 0x24, 0xFE, 0x26, 0x00, + 0x69, 0x02, 0xC1, 0xFD, 0x28, 0x00, 0xD9, 0x02, + 0x48, 0xFD, 0x2A, 0x00, 0x49, 0x03, 0xB7, 0xFC, + 0x21, 0x00, 0xC8, 0xFF, 0x9B, 0xFE, 0x21, 0x00, + 0x58, 0xFF, 0x9B, 0xFE, 0x21, 0x00, 0xE8, 0xFE, + 0x9B, 0xFE, 0x21, 0x00, 0x78, 0xFE, 0x9B, 0xFE, + 0x24, 0x00, 0x07, 0xFE, 0x24, 0xFE, 0x26, 0x00, + 0x97, 0xFD, 0xC1, 0xFD, 0x28, 0x00, 0x27, 0xFD, + 0x48, 0xFD, 0x2A, 0x00, 0xB7, 0xFC, 0xB7, 0xFC, + 0x24, 0x00, 0x38, 0x00, 0x35, 0xFE, 0x24, 0x00, + 0xA8, 0x00, 0x35, 0xFE, 0x24, 0x00, 0x18, 0x01, + 0x35, 0xFE, 0x24, 0x00, 0x88, 0x01, 0x35, 0xFE, + 0x27, 0x00, 0xF9, 0x01, 0x9C, 0xFD, 0x29, 0x00, + 0x69, 0x02, 0x1C, 0xFD, 0x2B, 0x00, 0xD9, 0x02, + 0x81, 0xFC, 0x2D, 0x00, 0x49, 0x03, 0xC5, 0xFB, + 0x24, 0x00, 0xC8, 0xFF, 0x35, 0xFE, 0x24, 0x00, + 0x58, 0xFF, 0x35, 0xFE, 0x24, 0x00, 0xE8, 0xFE, + 0x35, 0xFE, 0x24, 0x00, 0x78, 0xFE, 0x35, 0xFE, + 0x27, 0x00, 0x07, 0xFE, 0x9C, 0xFD, 0x29, 0x00, + 0x97, 0xFD, 0x1C, 0xFD, 0x2B, 0x00, 0x27, 0xFD, + 0x81, 0xFC, 0x2D, 0x00, 0xB7, 0xFC, 0xC5, 0xFB, + 0x26, 0x00, 0x38, 0x00, 0xCF, 0xFD, 0x26, 0x00, + 0xA8, 0x00, 0xCF, 0xFD, 0x26, 0x00, 0x18, 0x01, + 0xCF, 0xFD, 0x26, 0x00, 0x88, 0x01, 0xCF, 0xFD, + 0x29, 0x00, 0xF9, 0x01, 0x14, 0xFD, 0x2B, 0x00, + 0x69, 0x02, 0x78, 0xFC, 0x2D, 0x00, 0xD9, 0x02, + 0xBA, 0xFB, 0x2F, 0x00, 0x49, 0x03, 0xD5, 0xFA, + 0x26, 0x00, 0xC8, 0xFF, 0xCF, 0xFD, 0x26, 0x00, + 0x58, 0xFF, 0xCF, 0xFD, 0x26, 0x00, 0xE8, 0xFE, + 0xCF, 0xFD, 0x26, 0x00, 0x78, 0xFE, 0xCF, 0xFD, + 0x29, 0x00, 0x07, 0xFE, 0x14, 0xFD, 0x2B, 0x00, + 0x97, 0xFD, 0x78, 0xFC, 0x2D, 0x00, 0x27, 0xFD, + 0xBA, 0xFB, 0x2F, 0x00, 0xB7, 0xFC, 0xD5, 0xFA, + 0x28, 0x00, 0x38, 0x00, 0x69, 0xFD, 0x28, 0x00, + 0xA8, 0x00, 0x69, 0xFD, 0x28, 0x00, 0x18, 0x01, + 0x69, 0xFD, 0x28, 0x00, 0x88, 0x01, 0x69, 0xFD, + 0x2B, 0x00, 0xF9, 0x01, 0x8C, 0xFC, 0x2D, 0x00, + 0x69, 0x02, 0xD3, 0xFB, 0x2F, 0x00, 0xD9, 0x02, + 0xF3, 0xFA, 0x30, 0x00, 0x49, 0x03, 0xE4, 0xF9, + 0x28, 0x00, 0xC8, 0xFF, 0x69, 0xFD, 0x28, 0x00, + 0x58, 0xFF, 0x69, 0xFD, 0x28, 0x00, 0xE8, 0xFE, + 0x69, 0xFD, 0x28, 0x00, 0x78, 0xFE, 0x69, 0xFD, + 0x2B, 0x00, 0x07, 0xFE, 0x8C, 0xFC, 0x2D, 0x00, + 0x97, 0xFD, 0xD3, 0xFB, 0x2F, 0x00, 0x27, 0xFD, + 0xF3, 0xFA, 0x30, 0x00, 0xB7, 0xFC, 0xE4, 0xF9, + 0x2A, 0x00, 0x38, 0x00, 0x03, 0xFD, 0x2A, 0x00, + 0xA8, 0x00, 0x03, 0xFD, 0x2A, 0x00, 0x18, 0x01, + 0x03, 0xFD, 0x2A, 0x00, 0x88, 0x01, 0x03, 0xFD, + 0x2D, 0x00, 0xF9, 0x01, 0x04, 0xFC, 0x2F, 0x00, + 0x69, 0x02, 0x2F, 0xFB, 0x30, 0x00, 0xD9, 0x02, + 0x2C, 0xFA, 0x30, 0x00, 0x49, 0x03, 0xF4, 0xF8, + 0x2A, 0x00, 0xC8, 0xFF, 0x03, 0xFD, 0x2A, 0x00, + 0x58, 0xFF, 0x03, 0xFD, 0x2A, 0x00, 0xE8, 0xFE, + 0x03, 0xFD, 0x2A, 0x00, 0x78, 0xFE, 0x03, 0xFD, + 0x2D, 0x00, 0x07, 0xFE, 0x04, 0xFC, 0x2F, 0x00, + 0x97, 0xFD, 0x2F, 0xFB, 0x30, 0x00, 0x27, 0xFD, + 0x2C, 0xFA, 0x30, 0x00, 0xB7, 0xFC, 0xF4, 0xF8, + 0x22, 0x00, 0x3D, 0x00, 0x38, 0x00, 0x22, 0x00, + 0xB8, 0x00, 0x38, 0x00, 0x22, 0x00, 0x34, 0x01, + 0x38, 0x00, 0x22, 0x00, 0xAF, 0x01, 0x38, 0x00, + 0x25, 0x00, 0x2B, 0x02, 0x4A, 0x00, 0x27, 0x00, + 0xA6, 0x02, 0x5A, 0x00, 0x29, 0x00, 0x22, 0x03, + 0x6D, 0x00, 0x2B, 0x00, 0x9D, 0x03, 0x84, 0x00, + 0x22, 0x00, 0xC3, 0xFF, 0x38, 0x00, 0x22, 0x00, + 0x48, 0xFF, 0x38, 0x00, 0x22, 0x00, 0xCC, 0xFE, + 0x38, 0x00, 0x22, 0x00, 0x51, 0xFE, 0x38, 0x00, + 0x25, 0x00, 0xD5, 0xFD, 0x4A, 0x00, 0x27, 0x00, + 0x5A, 0xFD, 0x5A, 0x00, 0x29, 0x00, 0xDE, 0xFC, + 0x6D, 0x00, 0x2B, 0x00, 0x63, 0xFC, 0x84, 0x00, + 0x22, 0x00, 0x3D, 0x00, 0xA8, 0x00, 0x22, 0x00, + 0xB8, 0x00, 0xA8, 0x00, 0x22, 0x00, 0x34, 0x01, + 0xA8, 0x00, 0x22, 0x00, 0xAF, 0x01, 0xA8, 0x00, + 0x25, 0x00, 0x2B, 0x02, 0xDF, 0x00, 0x27, 0x00, + 0xA6, 0x02, 0x0F, 0x01, 0x29, 0x00, 0x22, 0x03, + 0x48, 0x01, 0x2B, 0x00, 0x9D, 0x03, 0x8D, 0x01, + 0x22, 0x00, 0xC3, 0xFF, 0xA8, 0x00, 0x22, 0x00, + 0x48, 0xFF, 0xA8, 0x00, 0x22, 0x00, 0xCC, 0xFE, + 0xA8, 0x00, 0x22, 0x00, 0x51, 0xFE, 0xA8, 0x00, + 0x25, 0x00, 0xD5, 0xFD, 0xDF, 0x00, 0x27, 0x00, + 0x5A, 0xFD, 0x0F, 0x01, 0x29, 0x00, 0xDE, 0xFC, + 0x48, 0x01, 0x2B, 0x00, 0x63, 0xFC, 0x8D, 0x01, + 0x22, 0x00, 0x3D, 0x00, 0x18, 0x01, 0x22, 0x00, + 0xB8, 0x00, 0x18, 0x01, 0x22, 0x00, 0x34, 0x01, + 0x18, 0x01, 0x22, 0x00, 0xAF, 0x01, 0x18, 0x01, + 0x25, 0x00, 0x2B, 0x02, 0x75, 0x01, 0x27, 0x00, + 0xA6, 0x02, 0xC4, 0x01, 0x29, 0x00, 0x22, 0x03, + 0x23, 0x02, 0x2B, 0x00, 0x9D, 0x03, 0x96, 0x02, + 0x22, 0x00, 0xC3, 0xFF, 0x18, 0x01, 0x22, 0x00, + 0x48, 0xFF, 0x18, 0x01, 0x22, 0x00, 0xCC, 0xFE, + 0x18, 0x01, 0x22, 0x00, 0x51, 0xFE, 0x18, 0x01, + 0x25, 0x00, 0xD5, 0xFD, 0x75, 0x01, 0x27, 0x00, + 0x5A, 0xFD, 0xC4, 0x01, 0x29, 0x00, 0xDE, 0xFC, + 0x23, 0x02, 0x2B, 0x00, 0x63, 0xFC, 0x96, 0x02, + 0x22, 0x00, 0x3D, 0x00, 0x88, 0x01, 0x22, 0x00, + 0xB8, 0x00, 0x88, 0x01, 0x22, 0x00, 0x34, 0x01, + 0x88, 0x01, 0x22, 0x00, 0xAF, 0x01, 0x88, 0x01, + 0x25, 0x00, 0x2B, 0x02, 0x0A, 0x02, 0x27, 0x00, + 0xA6, 0x02, 0x79, 0x02, 0x29, 0x00, 0x22, 0x03, + 0xFE, 0x02, 0x2B, 0x00, 0x9D, 0x03, 0x9F, 0x03, + 0x22, 0x00, 0xC3, 0xFF, 0x88, 0x01, 0x22, 0x00, + 0x48, 0xFF, 0x88, 0x01, 0x22, 0x00, 0xCC, 0xFE, + 0x88, 0x01, 0x22, 0x00, 0x51, 0xFE, 0x88, 0x01, + 0x25, 0x00, 0xD5, 0xFD, 0x0A, 0x02, 0x27, 0x00, + 0x5A, 0xFD, 0x79, 0x02, 0x29, 0x00, 0xDE, 0xFC, + 0xFE, 0x02, 0x2B, 0x00, 0x63, 0xFC, 0x9F, 0x03, + 0x25, 0x00, 0x3D, 0x00, 0xF9, 0x01, 0x25, 0x00, + 0xB8, 0x00, 0xF9, 0x01, 0x25, 0x00, 0x34, 0x01, + 0xF9, 0x01, 0x25, 0x00, 0xAF, 0x01, 0xF9, 0x01, + 0x28, 0x00, 0x2B, 0x02, 0xA0, 0x02, 0x2A, 0x00, + 0xA6, 0x02, 0x2E, 0x03, 0x2C, 0x00, 0x22, 0x03, + 0xD9, 0x03, 0x2E, 0x00, 0x9D, 0x03, 0xA8, 0x04, + 0x25, 0x00, 0xC3, 0xFF, 0xF9, 0x01, 0x25, 0x00, + 0x48, 0xFF, 0xF9, 0x01, 0x25, 0x00, 0xCC, 0xFE, + 0xF9, 0x01, 0x25, 0x00, 0x51, 0xFE, 0xF9, 0x01, + 0x28, 0x00, 0xD5, 0xFD, 0xA0, 0x02, 0x2A, 0x00, + 0x5A, 0xFD, 0x2E, 0x03, 0x2C, 0x00, 0xDE, 0xFC, + 0xD9, 0x03, 0x2E, 0x00, 0x63, 0xFC, 0xA8, 0x04, + 0x27, 0x00, 0x3D, 0x00, 0x69, 0x02, 0x27, 0x00, + 0xB8, 0x00, 0x69, 0x02, 0x27, 0x00, 0x34, 0x01, + 0x69, 0x02, 0x27, 0x00, 0xAF, 0x01, 0x69, 0x02, + 0x2A, 0x00, 0x2B, 0x02, 0x35, 0x03, 0x2C, 0x00, + 0xA6, 0x02, 0xE3, 0x03, 0x2E, 0x00, 0x22, 0x03, + 0xB4, 0x04, 0x30, 0x00, 0x9D, 0x03, 0xB1, 0x05, + 0x27, 0x00, 0xC3, 0xFF, 0x69, 0x02, 0x27, 0x00, + 0x48, 0xFF, 0x69, 0x02, 0x27, 0x00, 0xCC, 0xFE, + 0x69, 0x02, 0x27, 0x00, 0x51, 0xFE, 0x69, 0x02, + 0x2A, 0x00, 0xD5, 0xFD, 0x35, 0x03, 0x2C, 0x00, + 0x5A, 0xFD, 0xE3, 0x03, 0x2E, 0x00, 0xDE, 0xFC, + 0xB4, 0x04, 0x30, 0x00, 0x63, 0xFC, 0xB1, 0x05, + 0x29, 0x00, 0x3D, 0x00, 0xD9, 0x02, 0x29, 0x00, + 0xB8, 0x00, 0xD9, 0x02, 0x29, 0x00, 0x34, 0x01, + 0xD9, 0x02, 0x29, 0x00, 0xAF, 0x01, 0xD9, 0x02, + 0x2C, 0x00, 0x2B, 0x02, 0xCB, 0x03, 0x2E, 0x00, + 0xA6, 0x02, 0x98, 0x04, 0x30, 0x00, 0x22, 0x03, + 0x8F, 0x05, 0x30, 0x00, 0x9D, 0x03, 0xBA, 0x06, + 0x29, 0x00, 0xC3, 0xFF, 0xD9, 0x02, 0x29, 0x00, + 0x48, 0xFF, 0xD9, 0x02, 0x29, 0x00, 0xCC, 0xFE, + 0xD9, 0x02, 0x29, 0x00, 0x51, 0xFE, 0xD9, 0x02, + 0x2C, 0x00, 0xD5, 0xFD, 0xCB, 0x03, 0x2E, 0x00, + 0x5A, 0xFD, 0x98, 0x04, 0x30, 0x00, 0xDE, 0xFC, + 0x8F, 0x05, 0x30, 0x00, 0x63, 0xFC, 0xBA, 0x06, + 0x2B, 0x00, 0x3D, 0x00, 0x49, 0x03, 0x2B, 0x00, + 0xB8, 0x00, 0x49, 0x03, 0x2B, 0x00, 0x34, 0x01, + 0x49, 0x03, 0x2B, 0x00, 0xAF, 0x01, 0x49, 0x03, + 0x2E, 0x00, 0x2B, 0x02, 0x60, 0x04, 0x30, 0x00, + 0xA6, 0x02, 0x4D, 0x05, 0x30, 0x00, 0x22, 0x03, + 0x6A, 0x06, 0x30, 0x00, 0x9D, 0x03, 0xC3, 0x07, + 0x2B, 0x00, 0xC3, 0xFF, 0x49, 0x03, 0x2B, 0x00, + 0x48, 0xFF, 0x49, 0x03, 0x2B, 0x00, 0xCC, 0xFE, + 0x49, 0x03, 0x2B, 0x00, 0x51, 0xFE, 0x49, 0x03, + 0x2E, 0x00, 0xD5, 0xFD, 0x60, 0x04, 0x30, 0x00, + 0x5A, 0xFD, 0x4D, 0x05, 0x30, 0x00, 0xDE, 0xFC, + 0x6A, 0x06, 0x30, 0x00, 0x63, 0xFC, 0xC3, 0x07, + 0x22, 0x00, 0x3D, 0x00, 0xC8, 0xFF, 0x22, 0x00, + 0xB8, 0x00, 0xC8, 0xFF, 0x22, 0x00, 0x34, 0x01, + 0xC8, 0xFF, 0x22, 0x00, 0xAF, 0x01, 0xC8, 0xFF, + 0x25, 0x00, 0x2B, 0x02, 0xB6, 0xFF, 0x27, 0x00, + 0xA6, 0x02, 0xA6, 0xFF, 0x29, 0x00, 0x22, 0x03, + 0x93, 0xFF, 0x2B, 0x00, 0x9D, 0x03, 0x7C, 0xFF, + 0x22, 0x00, 0xC3, 0xFF, 0xC8, 0xFF, 0x22, 0x00, + 0x48, 0xFF, 0xC8, 0xFF, 0x22, 0x00, 0xCC, 0xFE, + 0xC8, 0xFF, 0x22, 0x00, 0x51, 0xFE, 0xC8, 0xFF, + 0x25, 0x00, 0xD5, 0xFD, 0xB6, 0xFF, 0x27, 0x00, + 0x5A, 0xFD, 0xA6, 0xFF, 0x29, 0x00, 0xDE, 0xFC, + 0x93, 0xFF, 0x2B, 0x00, 0x63, 0xFC, 0x7C, 0xFF, + 0x22, 0x00, 0x3D, 0x00, 0x58, 0xFF, 0x22, 0x00, + 0xB8, 0x00, 0x58, 0xFF, 0x22, 0x00, 0x34, 0x01, + 0x58, 0xFF, 0x22, 0x00, 0xAF, 0x01, 0x58, 0xFF, + 0x25, 0x00, 0x2B, 0x02, 0x21, 0xFF, 0x27, 0x00, + 0xA6, 0x02, 0xF1, 0xFE, 0x29, 0x00, 0x22, 0x03, + 0xB8, 0xFE, 0x2B, 0x00, 0x9D, 0x03, 0x73, 0xFE, + 0x22, 0x00, 0xC3, 0xFF, 0x58, 0xFF, 0x22, 0x00, + 0x48, 0xFF, 0x58, 0xFF, 0x22, 0x00, 0xCC, 0xFE, + 0x58, 0xFF, 0x22, 0x00, 0x51, 0xFE, 0x58, 0xFF, + 0x25, 0x00, 0xD5, 0xFD, 0x21, 0xFF, 0x27, 0x00, + 0x5A, 0xFD, 0xF1, 0xFE, 0x29, 0x00, 0xDE, 0xFC, + 0xB8, 0xFE, 0x2B, 0x00, 0x63, 0xFC, 0x73, 0xFE, + 0x22, 0x00, 0x3D, 0x00, 0xE8, 0xFE, 0x22, 0x00, + 0xB8, 0x00, 0xE8, 0xFE, 0x22, 0x00, 0x34, 0x01, + 0xE8, 0xFE, 0x22, 0x00, 0xAF, 0x01, 0xE8, 0xFE, + 0x25, 0x00, 0x2B, 0x02, 0x8B, 0xFE, 0x27, 0x00, + 0xA6, 0x02, 0x3C, 0xFE, 0x29, 0x00, 0x22, 0x03, + 0xDD, 0xFD, 0x2B, 0x00, 0x9D, 0x03, 0x6A, 0xFD, + 0x22, 0x00, 0xC3, 0xFF, 0xE8, 0xFE, 0x22, 0x00, + 0x48, 0xFF, 0xE8, 0xFE, 0x22, 0x00, 0xCC, 0xFE, + 0xE8, 0xFE, 0x22, 0x00, 0x51, 0xFE, 0xE8, 0xFE, + 0x25, 0x00, 0xD5, 0xFD, 0x8B, 0xFE, 0x27, 0x00, + 0x5A, 0xFD, 0x3C, 0xFE, 0x29, 0x00, 0xDE, 0xFC, + 0xDD, 0xFD, 0x2B, 0x00, 0x63, 0xFC, 0x6A, 0xFD, + 0x22, 0x00, 0x3D, 0x00, 0x78, 0xFE, 0x22, 0x00, + 0xB8, 0x00, 0x78, 0xFE, 0x22, 0x00, 0x34, 0x01, + 0x78, 0xFE, 0x22, 0x00, 0xAF, 0x01, 0x78, 0xFE, + 0x25, 0x00, 0x2B, 0x02, 0xF6, 0xFD, 0x27, 0x00, + 0xA6, 0x02, 0x87, 0xFD, 0x29, 0x00, 0x22, 0x03, + 0x02, 0xFD, 0x2B, 0x00, 0x9D, 0x03, 0x61, 0xFC, + 0x22, 0x00, 0xC3, 0xFF, 0x78, 0xFE, 0x22, 0x00, + 0x48, 0xFF, 0x78, 0xFE, 0x22, 0x00, 0xCC, 0xFE, + 0x78, 0xFE, 0x22, 0x00, 0x51, 0xFE, 0x78, 0xFE, + 0x25, 0x00, 0xD5, 0xFD, 0xF6, 0xFD, 0x27, 0x00, + 0x5A, 0xFD, 0x87, 0xFD, 0x29, 0x00, 0xDE, 0xFC, + 0x02, 0xFD, 0x2B, 0x00, 0x63, 0xFC, 0x61, 0xFC, + 0x25, 0x00, 0x3D, 0x00, 0x07, 0xFE, 0x25, 0x00, + 0xB8, 0x00, 0x07, 0xFE, 0x25, 0x00, 0x34, 0x01, + 0x07, 0xFE, 0x25, 0x00, 0xAF, 0x01, 0x07, 0xFE, + 0x28, 0x00, 0x2B, 0x02, 0x60, 0xFD, 0x2A, 0x00, + 0xA6, 0x02, 0xD2, 0xFC, 0x2C, 0x00, 0x22, 0x03, + 0x27, 0xFC, 0x2E, 0x00, 0x9D, 0x03, 0x58, 0xFB, + 0x25, 0x00, 0xC3, 0xFF, 0x07, 0xFE, 0x25, 0x00, + 0x48, 0xFF, 0x07, 0xFE, 0x25, 0x00, 0xCC, 0xFE, + 0x07, 0xFE, 0x25, 0x00, 0x51, 0xFE, 0x07, 0xFE, + 0x28, 0x00, 0xD5, 0xFD, 0x60, 0xFD, 0x2A, 0x00, + 0x5A, 0xFD, 0xD2, 0xFC, 0x2C, 0x00, 0xDE, 0xFC, + 0x27, 0xFC, 0x2E, 0x00, 0x63, 0xFC, 0x58, 0xFB, + 0x27, 0x00, 0x3D, 0x00, 0x97, 0xFD, 0x27, 0x00, + 0xB8, 0x00, 0x97, 0xFD, 0x27, 0x00, 0x34, 0x01, + 0x97, 0xFD, 0x27, 0x00, 0xAF, 0x01, 0x97, 0xFD, + 0x2A, 0x00, 0x2B, 0x02, 0xCB, 0xFC, 0x2C, 0x00, + 0xA6, 0x02, 0x1D, 0xFC, 0x2E, 0x00, 0x22, 0x03, + 0x4C, 0xFB, 0x30, 0x00, 0x9D, 0x03, 0x4F, 0xFA, + 0x27, 0x00, 0xC3, 0xFF, 0x97, 0xFD, 0x27, 0x00, + 0x48, 0xFF, 0x97, 0xFD, 0x27, 0x00, 0xCC, 0xFE, + 0x97, 0xFD, 0x27, 0x00, 0x51, 0xFE, 0x97, 0xFD, + 0x2A, 0x00, 0xD5, 0xFD, 0xCB, 0xFC, 0x2C, 0x00, + 0x5A, 0xFD, 0x1D, 0xFC, 0x2E, 0x00, 0xDE, 0xFC, + 0x4C, 0xFB, 0x30, 0x00, 0x63, 0xFC, 0x4F, 0xFA, + 0x29, 0x00, 0x3D, 0x00, 0x27, 0xFD, 0x29, 0x00, + 0xB8, 0x00, 0x27, 0xFD, 0x29, 0x00, 0x34, 0x01, + 0x27, 0xFD, 0x29, 0x00, 0xAF, 0x01, 0x27, 0xFD, + 0x2C, 0x00, 0x2B, 0x02, 0x35, 0xFC, 0x2E, 0x00, + 0xA6, 0x02, 0x68, 0xFB, 0x30, 0x00, 0x22, 0x03, + 0x71, 0xFA, 0x30, 0x00, 0x9D, 0x03, 0x46, 0xF9, + 0x29, 0x00, 0xC3, 0xFF, 0x27, 0xFD, 0x29, 0x00, + 0x48, 0xFF, 0x27, 0xFD, 0x29, 0x00, 0xCC, 0xFE, + 0x27, 0xFD, 0x29, 0x00, 0x51, 0xFE, 0x27, 0xFD, + 0x2C, 0x00, 0xD5, 0xFD, 0x35, 0xFC, 0x2E, 0x00, + 0x5A, 0xFD, 0x68, 0xFB, 0x30, 0x00, 0xDE, 0xFC, + 0x71, 0xFA, 0x30, 0x00, 0x63, 0xFC, 0x46, 0xF9, + 0x2B, 0x00, 0x3D, 0x00, 0xB7, 0xFC, 0x2B, 0x00, + 0xB8, 0x00, 0xB7, 0xFC, 0x2B, 0x00, 0x34, 0x01, + 0xB7, 0xFC, 0x2B, 0x00, 0xAF, 0x01, 0xB7, 0xFC, + 0x2E, 0x00, 0x2B, 0x02, 0xA0, 0xFB, 0x30, 0x00, + 0xA6, 0x02, 0xB3, 0xFA, 0x30, 0x00, 0x22, 0x03, + 0x96, 0xF9, 0x30, 0x00, 0x9D, 0x03, 0x3D, 0xF8, + 0x2B, 0x00, 0xC3, 0xFF, 0xB7, 0xFC, 0x2B, 0x00, + 0x48, 0xFF, 0xB7, 0xFC, 0x2B, 0x00, 0xCC, 0xFE, + 0xB7, 0xFC, 0x2B, 0x00, 0x51, 0xFE, 0xB7, 0xFC, + 0x2E, 0x00, 0xD5, 0xFD, 0xA0, 0xFB, 0x30, 0x00, + 0x5A, 0xFD, 0xB3, 0xFA, 0x30, 0x00, 0xDE, 0xFC, + 0x96, 0xF9, 0x30, 0x00, 0x63, 0xFC, 0x3D, 0xF8, + 0x23, 0x00, 0x44, 0x00, 0x3D, 0x00, 0x23, 0x00, + 0xCC, 0x00, 0x3D, 0x00, 0x23, 0x00, 0x54, 0x01, + 0x3D, 0x00, 0x23, 0x00, 0xDC, 0x01, 0x3D, 0x00, + 0x26, 0x00, 0x64, 0x02, 0x52, 0x00, 0x28, 0x00, + 0xEC, 0x02, 0x63, 0x00, 0x2A, 0x00, 0x74, 0x03, + 0x78, 0x00, 0x2C, 0x00, 0xFC, 0x03, 0x91, 0x00, + 0x23, 0x00, 0xBC, 0xFF, 0x3D, 0x00, 0x23, 0x00, + 0x34, 0xFF, 0x3D, 0x00, 0x23, 0x00, 0xAC, 0xFE, + 0x3D, 0x00, 0x23, 0x00, 0x24, 0xFE, 0x3D, 0x00, + 0x26, 0x00, 0x9C, 0xFD, 0x52, 0x00, 0x28, 0x00, + 0x14, 0xFD, 0x63, 0x00, 0x2A, 0x00, 0x8C, 0xFC, + 0x78, 0x00, 0x2C, 0x00, 0x04, 0xFC, 0x91, 0x00, + 0x23, 0x00, 0x44, 0x00, 0xB8, 0x00, 0x23, 0x00, + 0xCC, 0x00, 0xB8, 0x00, 0x23, 0x00, 0x54, 0x01, + 0xB8, 0x00, 0x23, 0x00, 0xDC, 0x01, 0xB8, 0x00, + 0x26, 0x00, 0x64, 0x02, 0xF6, 0x00, 0x28, 0x00, + 0xEC, 0x02, 0x2A, 0x01, 0x2A, 0x00, 0x74, 0x03, + 0x68, 0x01, 0x2C, 0x00, 0xFC, 0x03, 0xB4, 0x01, + 0x23, 0x00, 0xBC, 0xFF, 0xB8, 0x00, 0x23, 0x00, + 0x34, 0xFF, 0xB8, 0x00, 0x23, 0x00, 0xAC, 0xFE, + 0xB8, 0x00, 0x23, 0x00, 0x24, 0xFE, 0xB8, 0x00, + 0x26, 0x00, 0x9C, 0xFD, 0xF6, 0x00, 0x28, 0x00, + 0x14, 0xFD, 0x2A, 0x01, 0x2A, 0x00, 0x8C, 0xFC, + 0x68, 0x01, 0x2C, 0x00, 0x04, 0xFC, 0xB4, 0x01, + 0x23, 0x00, 0x44, 0x00, 0x34, 0x01, 0x23, 0x00, + 0xCC, 0x00, 0x34, 0x01, 0x23, 0x00, 0x54, 0x01, + 0x34, 0x01, 0x23, 0x00, 0xDC, 0x01, 0x34, 0x01, + 0x26, 0x00, 0x64, 0x02, 0x9B, 0x01, 0x28, 0x00, + 0xEC, 0x02, 0xF1, 0x01, 0x2A, 0x00, 0x74, 0x03, + 0x59, 0x02, 0x2C, 0x00, 0xFC, 0x03, 0xD8, 0x02, + 0x23, 0x00, 0xBC, 0xFF, 0x34, 0x01, 0x23, 0x00, + 0x34, 0xFF, 0x34, 0x01, 0x23, 0x00, 0xAC, 0xFE, + 0x34, 0x01, 0x23, 0x00, 0x24, 0xFE, 0x34, 0x01, + 0x26, 0x00, 0x9C, 0xFD, 0x9B, 0x01, 0x28, 0x00, + 0x14, 0xFD, 0xF1, 0x01, 0x2A, 0x00, 0x8C, 0xFC, + 0x59, 0x02, 0x2C, 0x00, 0x04, 0xFC, 0xD8, 0x02, + 0x23, 0x00, 0x44, 0x00, 0xAF, 0x01, 0x23, 0x00, + 0xCC, 0x00, 0xAF, 0x01, 0x23, 0x00, 0x54, 0x01, + 0xAF, 0x01, 0x23, 0x00, 0xDC, 0x01, 0xAF, 0x01, + 0x26, 0x00, 0x64, 0x02, 0x3F, 0x02, 0x28, 0x00, + 0xEC, 0x02, 0xB8, 0x02, 0x2A, 0x00, 0x74, 0x03, + 0x49, 0x03, 0x2C, 0x00, 0xFC, 0x03, 0xFB, 0x03, + 0x23, 0x00, 0xBC, 0xFF, 0xAF, 0x01, 0x23, 0x00, + 0x34, 0xFF, 0xAF, 0x01, 0x23, 0x00, 0xAC, 0xFE, + 0xAF, 0x01, 0x23, 0x00, 0x24, 0xFE, 0xAF, 0x01, + 0x26, 0x00, 0x9C, 0xFD, 0x3F, 0x02, 0x28, 0x00, + 0x14, 0xFD, 0xB8, 0x02, 0x2A, 0x00, 0x8C, 0xFC, + 0x49, 0x03, 0x2C, 0x00, 0x04, 0xFC, 0xFB, 0x03, + 0x26, 0x00, 0x44, 0x00, 0x2B, 0x02, 0x26, 0x00, + 0xCC, 0x00, 0x2B, 0x02, 0x26, 0x00, 0x54, 0x01, + 0x2B, 0x02, 0x26, 0x00, 0xDC, 0x01, 0x2B, 0x02, + 0x29, 0x00, 0x64, 0x02, 0xE4, 0x02, 0x2B, 0x00, + 0xEC, 0x02, 0x7F, 0x03, 0x2D, 0x00, 0x74, 0x03, + 0x3B, 0x04, 0x2F, 0x00, 0xFC, 0x03, 0x1F, 0x05, + 0x26, 0x00, 0xBC, 0xFF, 0x2B, 0x02, 0x26, 0x00, + 0x34, 0xFF, 0x2B, 0x02, 0x26, 0x00, 0xAC, 0xFE, + 0x2B, 0x02, 0x26, 0x00, 0x24, 0xFE, 0x2B, 0x02, + 0x29, 0x00, 0x9C, 0xFD, 0xE4, 0x02, 0x2B, 0x00, + 0x14, 0xFD, 0x7F, 0x03, 0x2D, 0x00, 0x8C, 0xFC, + 0x3B, 0x04, 0x2F, 0x00, 0x04, 0xFC, 0x1F, 0x05, + 0x28, 0x00, 0x44, 0x00, 0xA6, 0x02, 0x28, 0x00, + 0xCC, 0x00, 0xA6, 0x02, 0x28, 0x00, 0x54, 0x01, + 0xA6, 0x02, 0x28, 0x00, 0xDC, 0x01, 0xA6, 0x02, + 0x2B, 0x00, 0x64, 0x02, 0x88, 0x03, 0x2D, 0x00, + 0xEC, 0x02, 0x46, 0x04, 0x2F, 0x00, 0x74, 0x03, + 0x2B, 0x05, 0x30, 0x00, 0xFC, 0x03, 0x42, 0x06, + 0x28, 0x00, 0xBC, 0xFF, 0xA6, 0x02, 0x28, 0x00, + 0x34, 0xFF, 0xA6, 0x02, 0x28, 0x00, 0xAC, 0xFE, + 0xA6, 0x02, 0x28, 0x00, 0x24, 0xFE, 0xA6, 0x02, + 0x2B, 0x00, 0x9C, 0xFD, 0x88, 0x03, 0x2D, 0x00, + 0x14, 0xFD, 0x46, 0x04, 0x2F, 0x00, 0x8C, 0xFC, + 0x2B, 0x05, 0x30, 0x00, 0x04, 0xFC, 0x42, 0x06, + 0x2A, 0x00, 0x44, 0x00, 0x22, 0x03, 0x2A, 0x00, + 0xCC, 0x00, 0x22, 0x03, 0x2A, 0x00, 0x54, 0x01, + 0x22, 0x03, 0x2A, 0x00, 0xDC, 0x01, 0x22, 0x03, + 0x2D, 0x00, 0x64, 0x02, 0x2D, 0x04, 0x2F, 0x00, + 0xEC, 0x02, 0x0D, 0x05, 0x30, 0x00, 0x74, 0x03, + 0x1C, 0x06, 0x30, 0x00, 0xFC, 0x03, 0x66, 0x07, + 0x2A, 0x00, 0xBC, 0xFF, 0x22, 0x03, 0x2A, 0x00, + 0x34, 0xFF, 0x22, 0x03, 0x2A, 0x00, 0xAC, 0xFE, + 0x22, 0x03, 0x2A, 0x00, 0x24, 0xFE, 0x22, 0x03, + 0x2D, 0x00, 0x9C, 0xFD, 0x2D, 0x04, 0x2F, 0x00, + 0x14, 0xFD, 0x0D, 0x05, 0x30, 0x00, 0x8C, 0xFC, + 0x1C, 0x06, 0x30, 0x00, 0x04, 0xFC, 0x66, 0x07, + 0x2C, 0x00, 0x44, 0x00, 0x9D, 0x03, 0x2C, 0x00, + 0xCC, 0x00, 0x9D, 0x03, 0x2C, 0x00, 0x54, 0x01, + 0x9D, 0x03, 0x2C, 0x00, 0xDC, 0x01, 0x9D, 0x03, + 0x2F, 0x00, 0x64, 0x02, 0xD1, 0x04, 0x30, 0x00, + 0xEC, 0x02, 0xD4, 0x05, 0x30, 0x00, 0x74, 0x03, + 0x0C, 0x07, 0x30, 0x00, 0xFC, 0x03, 0x89, 0x08, + 0x2C, 0x00, 0xBC, 0xFF, 0x9D, 0x03, 0x2C, 0x00, + 0x34, 0xFF, 0x9D, 0x03, 0x2C, 0x00, 0xAC, 0xFE, + 0x9D, 0x03, 0x2C, 0x00, 0x24, 0xFE, 0x9D, 0x03, + 0x2F, 0x00, 0x9C, 0xFD, 0xD1, 0x04, 0x30, 0x00, + 0x14, 0xFD, 0xD4, 0x05, 0x30, 0x00, 0x8C, 0xFC, + 0x0C, 0x07, 0x30, 0x00, 0x04, 0xFC, 0x89, 0x08, + 0x23, 0x00, 0x44, 0x00, 0xC3, 0xFF, 0x23, 0x00, + 0xCC, 0x00, 0xC3, 0xFF, 0x23, 0x00, 0x54, 0x01, + 0xC3, 0xFF, 0x23, 0x00, 0xDC, 0x01, 0xC3, 0xFF, + 0x26, 0x00, 0x64, 0x02, 0xAE, 0xFF, 0x28, 0x00, + 0xEC, 0x02, 0x9D, 0xFF, 0x2A, 0x00, 0x74, 0x03, + 0x88, 0xFF, 0x2C, 0x00, 0xFC, 0x03, 0x6F, 0xFF, + 0x23, 0x00, 0xBC, 0xFF, 0xC3, 0xFF, 0x23, 0x00, + 0x34, 0xFF, 0xC3, 0xFF, 0x23, 0x00, 0xAC, 0xFE, + 0xC3, 0xFF, 0x23, 0x00, 0x24, 0xFE, 0xC3, 0xFF, + 0x26, 0x00, 0x9C, 0xFD, 0xAE, 0xFF, 0x28, 0x00, + 0x14, 0xFD, 0x9D, 0xFF, 0x2A, 0x00, 0x8C, 0xFC, + 0x88, 0xFF, 0x2C, 0x00, 0x04, 0xFC, 0x6F, 0xFF, + 0x23, 0x00, 0x44, 0x00, 0x48, 0xFF, 0x23, 0x00, + 0xCC, 0x00, 0x48, 0xFF, 0x23, 0x00, 0x54, 0x01, + 0x48, 0xFF, 0x23, 0x00, 0xDC, 0x01, 0x48, 0xFF, + 0x26, 0x00, 0x64, 0x02, 0x0A, 0xFF, 0x28, 0x00, + 0xEC, 0x02, 0xD6, 0xFE, 0x2A, 0x00, 0x74, 0x03, + 0x98, 0xFE, 0x2C, 0x00, 0xFC, 0x03, 0x4C, 0xFE, + 0x23, 0x00, 0xBC, 0xFF, 0x48, 0xFF, 0x23, 0x00, + 0x34, 0xFF, 0x48, 0xFF, 0x23, 0x00, 0xAC, 0xFE, + 0x48, 0xFF, 0x23, 0x00, 0x24, 0xFE, 0x48, 0xFF, + 0x26, 0x00, 0x9C, 0xFD, 0x0A, 0xFF, 0x28, 0x00, + 0x14, 0xFD, 0xD6, 0xFE, 0x2A, 0x00, 0x8C, 0xFC, + 0x98, 0xFE, 0x2C, 0x00, 0x04, 0xFC, 0x4C, 0xFE, + 0x23, 0x00, 0x44, 0x00, 0xCC, 0xFE, 0x23, 0x00, + 0xCC, 0x00, 0xCC, 0xFE, 0x23, 0x00, 0x54, 0x01, + 0xCC, 0xFE, 0x23, 0x00, 0xDC, 0x01, 0xCC, 0xFE, + 0x26, 0x00, 0x64, 0x02, 0x65, 0xFE, 0x28, 0x00, + 0xEC, 0x02, 0x0F, 0xFE, 0x2A, 0x00, 0x74, 0x03, + 0xA7, 0xFD, 0x2C, 0x00, 0xFC, 0x03, 0x28, 0xFD, + 0x23, 0x00, 0xBC, 0xFF, 0xCC, 0xFE, 0x23, 0x00, + 0x34, 0xFF, 0xCC, 0xFE, 0x23, 0x00, 0xAC, 0xFE, + 0xCC, 0xFE, 0x23, 0x00, 0x24, 0xFE, 0xCC, 0xFE, + 0x26, 0x00, 0x9C, 0xFD, 0x65, 0xFE, 0x28, 0x00, + 0x14, 0xFD, 0x0F, 0xFE, 0x2A, 0x00, 0x8C, 0xFC, + 0xA7, 0xFD, 0x2C, 0x00, 0x04, 0xFC, 0x28, 0xFD, + 0x23, 0x00, 0x44, 0x00, 0x51, 0xFE, 0x23, 0x00, + 0xCC, 0x00, 0x51, 0xFE, 0x23, 0x00, 0x54, 0x01, + 0x51, 0xFE, 0x23, 0x00, 0xDC, 0x01, 0x51, 0xFE, + 0x26, 0x00, 0x64, 0x02, 0xC1, 0xFD, 0x28, 0x00, + 0xEC, 0x02, 0x48, 0xFD, 0x2A, 0x00, 0x74, 0x03, + 0xB7, 0xFC, 0x2C, 0x00, 0xFC, 0x03, 0x05, 0xFC, + 0x23, 0x00, 0xBC, 0xFF, 0x51, 0xFE, 0x23, 0x00, + 0x34, 0xFF, 0x51, 0xFE, 0x23, 0x00, 0xAC, 0xFE, + 0x51, 0xFE, 0x23, 0x00, 0x24, 0xFE, 0x51, 0xFE, + 0x26, 0x00, 0x9C, 0xFD, 0xC1, 0xFD, 0x28, 0x00, + 0x14, 0xFD, 0x48, 0xFD, 0x2A, 0x00, 0x8C, 0xFC, + 0xB7, 0xFC, 0x2C, 0x00, 0x04, 0xFC, 0x05, 0xFC, + 0x26, 0x00, 0x44, 0x00, 0xD5, 0xFD, 0x26, 0x00, + 0xCC, 0x00, 0xD5, 0xFD, 0x26, 0x00, 0x54, 0x01, + 0xD5, 0xFD, 0x26, 0x00, 0xDC, 0x01, 0xD5, 0xFD, + 0x29, 0x00, 0x64, 0x02, 0x1C, 0xFD, 0x2B, 0x00, + 0xEC, 0x02, 0x81, 0xFC, 0x2D, 0x00, 0x74, 0x03, + 0xC5, 0xFB, 0x2F, 0x00, 0xFC, 0x03, 0xE1, 0xFA, + 0x26, 0x00, 0xBC, 0xFF, 0xD5, 0xFD, 0x26, 0x00, + 0x34, 0xFF, 0xD5, 0xFD, 0x26, 0x00, 0xAC, 0xFE, + 0xD5, 0xFD, 0x26, 0x00, 0x24, 0xFE, 0xD5, 0xFD, + 0x29, 0x00, 0x9C, 0xFD, 0x1C, 0xFD, 0x2B, 0x00, + 0x14, 0xFD, 0x81, 0xFC, 0x2D, 0x00, 0x8C, 0xFC, + 0xC5, 0xFB, 0x2F, 0x00, 0x04, 0xFC, 0xE1, 0xFA, + 0x28, 0x00, 0x44, 0x00, 0x5A, 0xFD, 0x28, 0x00, + 0xCC, 0x00, 0x5A, 0xFD, 0x28, 0x00, 0x54, 0x01, + 0x5A, 0xFD, 0x28, 0x00, 0xDC, 0x01, 0x5A, 0xFD, + 0x2B, 0x00, 0x64, 0x02, 0x78, 0xFC, 0x2D, 0x00, + 0xEC, 0x02, 0xBA, 0xFB, 0x2F, 0x00, 0x74, 0x03, + 0xD5, 0xFA, 0x30, 0x00, 0xFC, 0x03, 0xBE, 0xF9, + 0x28, 0x00, 0xBC, 0xFF, 0x5A, 0xFD, 0x28, 0x00, + 0x34, 0xFF, 0x5A, 0xFD, 0x28, 0x00, 0xAC, 0xFE, + 0x5A, 0xFD, 0x28, 0x00, 0x24, 0xFE, 0x5A, 0xFD, + 0x2B, 0x00, 0x9C, 0xFD, 0x78, 0xFC, 0x2D, 0x00, + 0x14, 0xFD, 0xBA, 0xFB, 0x2F, 0x00, 0x8C, 0xFC, + 0xD5, 0xFA, 0x30, 0x00, 0x04, 0xFC, 0xBE, 0xF9, + 0x2A, 0x00, 0x44, 0x00, 0xDE, 0xFC, 0x2A, 0x00, + 0xCC, 0x00, 0xDE, 0xFC, 0x2A, 0x00, 0x54, 0x01, + 0xDE, 0xFC, 0x2A, 0x00, 0xDC, 0x01, 0xDE, 0xFC, + 0x2D, 0x00, 0x64, 0x02, 0xD3, 0xFB, 0x2F, 0x00, + 0xEC, 0x02, 0xF3, 0xFA, 0x30, 0x00, 0x74, 0x03, + 0xE4, 0xF9, 0x30, 0x00, 0xFC, 0x03, 0x9A, 0xF8, + 0x2A, 0x00, 0xBC, 0xFF, 0xDE, 0xFC, 0x2A, 0x00, + 0x34, 0xFF, 0xDE, 0xFC, 0x2A, 0x00, 0xAC, 0xFE, + 0xDE, 0xFC, 0x2A, 0x00, 0x24, 0xFE, 0xDE, 0xFC, + 0x2D, 0x00, 0x9C, 0xFD, 0xD3, 0xFB, 0x2F, 0x00, + 0x14, 0xFD, 0xF3, 0xFA, 0x30, 0x00, 0x8C, 0xFC, + 0xE4, 0xF9, 0x30, 0x00, 0x04, 0xFC, 0x9A, 0xF8, + 0x2C, 0x00, 0x44, 0x00, 0x63, 0xFC, 0x2C, 0x00, + 0xCC, 0x00, 0x63, 0xFC, 0x2C, 0x00, 0x54, 0x01, + 0x63, 0xFC, 0x2C, 0x00, 0xDC, 0x01, 0x63, 0xFC, + 0x2F, 0x00, 0x64, 0x02, 0x2F, 0xFB, 0x30, 0x00, + 0xEC, 0x02, 0x2C, 0xFA, 0x30, 0x00, 0x74, 0x03, + 0xF4, 0xF8, 0x30, 0x00, 0xFC, 0x03, 0x77, 0xF7, + 0x2C, 0x00, 0xBC, 0xFF, 0x63, 0xFC, 0x2C, 0x00, + 0x34, 0xFF, 0x63, 0xFC, 0x2C, 0x00, 0xAC, 0xFE, + 0x63, 0xFC, 0x2C, 0x00, 0x24, 0xFE, 0x63, 0xFC, + 0x2F, 0x00, 0x9C, 0xFD, 0x2F, 0xFB, 0x30, 0x00, + 0x14, 0xFD, 0x2C, 0xFA, 0x30, 0x00, 0x8C, 0xFC, + 0xF4, 0xF8, 0x30, 0x00, 0x04, 0xFC, 0x77, 0xF7, + 0x24, 0x00, 0x4A, 0x00, 0x44, 0x00, 0x24, 0x00, + 0xDF, 0x00, 0x44, 0x00, 0x24, 0x00, 0x75, 0x01, + 0x44, 0x00, 0x24, 0x00, 0x0A, 0x02, 0x44, 0x00, + 0x27, 0x00, 0xA0, 0x02, 0x5A, 0x00, 0x29, 0x00, + 0x35, 0x03, 0x6D, 0x00, 0x2B, 0x00, 0xCB, 0x03, + 0x84, 0x00, 0x2D, 0x00, 0x60, 0x04, 0xA0, 0x00, + 0x24, 0x00, 0xB6, 0xFF, 0x44, 0x00, 0x24, 0x00, + 0x21, 0xFF, 0x44, 0x00, 0x24, 0x00, 0x8B, 0xFE, + 0x44, 0x00, 0x24, 0x00, 0xF6, 0xFD, 0x44, 0x00, + 0x27, 0x00, 0x60, 0xFD, 0x5A, 0x00, 0x29, 0x00, + 0xCB, 0xFC, 0x6D, 0x00, 0x2B, 0x00, 0x35, 0xFC, + 0x84, 0x00, 0x2D, 0x00, 0xA0, 0xFB, 0xA0, 0x00, + 0x24, 0x00, 0x4A, 0x00, 0xCC, 0x00, 0x24, 0x00, + 0xDF, 0x00, 0xCC, 0x00, 0x24, 0x00, 0x75, 0x01, + 0xCC, 0x00, 0x24, 0x00, 0x0A, 0x02, 0xCC, 0x00, + 0x27, 0x00, 0xA0, 0x02, 0x0F, 0x01, 0x29, 0x00, + 0x35, 0x03, 0x48, 0x01, 0x2B, 0x00, 0xCB, 0x03, + 0x8D, 0x01, 0x2D, 0x00, 0x60, 0x04, 0xE0, 0x01, + 0x24, 0x00, 0xB6, 0xFF, 0xCC, 0x00, 0x24, 0x00, + 0x21, 0xFF, 0xCC, 0x00, 0x24, 0x00, 0x8B, 0xFE, + 0xCC, 0x00, 0x24, 0x00, 0xF6, 0xFD, 0xCC, 0x00, + 0x27, 0x00, 0x60, 0xFD, 0x0F, 0x01, 0x29, 0x00, + 0xCB, 0xFC, 0x48, 0x01, 0x2B, 0x00, 0x35, 0xFC, + 0x8D, 0x01, 0x2D, 0x00, 0xA0, 0xFB, 0xE0, 0x01, + 0x24, 0x00, 0x4A, 0x00, 0x54, 0x01, 0x24, 0x00, + 0xDF, 0x00, 0x54, 0x01, 0x24, 0x00, 0x75, 0x01, + 0x54, 0x01, 0x24, 0x00, 0x0A, 0x02, 0x54, 0x01, + 0x27, 0x00, 0xA0, 0x02, 0xC4, 0x01, 0x29, 0x00, + 0x35, 0x03, 0x23, 0x02, 0x2B, 0x00, 0xCB, 0x03, + 0x96, 0x02, 0x2D, 0x00, 0x60, 0x04, 0x21, 0x03, + 0x24, 0x00, 0xB6, 0xFF, 0x54, 0x01, 0x24, 0x00, + 0x21, 0xFF, 0x54, 0x01, 0x24, 0x00, 0x8B, 0xFE, + 0x54, 0x01, 0x24, 0x00, 0xF6, 0xFD, 0x54, 0x01, + 0x27, 0x00, 0x60, 0xFD, 0xC4, 0x01, 0x29, 0x00, + 0xCB, 0xFC, 0x23, 0x02, 0x2B, 0x00, 0x35, 0xFC, + 0x96, 0x02, 0x2D, 0x00, 0xA0, 0xFB, 0x21, 0x03, + 0x24, 0x00, 0x4A, 0x00, 0xDC, 0x01, 0x24, 0x00, + 0xDF, 0x00, 0xDC, 0x01, 0x24, 0x00, 0x75, 0x01, + 0xDC, 0x01, 0x24, 0x00, 0x0A, 0x02, 0xDC, 0x01, + 0x27, 0x00, 0xA0, 0x02, 0x79, 0x02, 0x29, 0x00, + 0x35, 0x03, 0xFE, 0x02, 0x2B, 0x00, 0xCB, 0x03, + 0x9F, 0x03, 0x2D, 0x00, 0x60, 0x04, 0x61, 0x04, + 0x24, 0x00, 0xB6, 0xFF, 0xDC, 0x01, 0x24, 0x00, + 0x21, 0xFF, 0xDC, 0x01, 0x24, 0x00, 0x8B, 0xFE, + 0xDC, 0x01, 0x24, 0x00, 0xF6, 0xFD, 0xDC, 0x01, + 0x27, 0x00, 0x60, 0xFD, 0x79, 0x02, 0x29, 0x00, + 0xCB, 0xFC, 0xFE, 0x02, 0x2B, 0x00, 0x35, 0xFC, + 0x9F, 0x03, 0x2D, 0x00, 0xA0, 0xFB, 0x61, 0x04, + 0x27, 0x00, 0x4A, 0x00, 0x64, 0x02, 0x27, 0x00, + 0xDF, 0x00, 0x64, 0x02, 0x27, 0x00, 0x75, 0x01, + 0x64, 0x02, 0x27, 0x00, 0x0A, 0x02, 0x64, 0x02, + 0x2A, 0x00, 0xA0, 0x02, 0x2E, 0x03, 0x2C, 0x00, + 0x35, 0x03, 0xD9, 0x03, 0x2E, 0x00, 0xCB, 0x03, + 0xA8, 0x04, 0x30, 0x00, 0x60, 0x04, 0xA2, 0x05, + 0x27, 0x00, 0xB6, 0xFF, 0x64, 0x02, 0x27, 0x00, + 0x21, 0xFF, 0x64, 0x02, 0x27, 0x00, 0x8B, 0xFE, + 0x64, 0x02, 0x27, 0x00, 0xF6, 0xFD, 0x64, 0x02, + 0x2A, 0x00, 0x60, 0xFD, 0x2E, 0x03, 0x2C, 0x00, + 0xCB, 0xFC, 0xD9, 0x03, 0x2E, 0x00, 0x35, 0xFC, + 0xA8, 0x04, 0x30, 0x00, 0xA0, 0xFB, 0xA2, 0x05, + 0x29, 0x00, 0x4A, 0x00, 0xEC, 0x02, 0x29, 0x00, + 0xDF, 0x00, 0xEC, 0x02, 0x29, 0x00, 0x75, 0x01, + 0xEC, 0x02, 0x29, 0x00, 0x0A, 0x02, 0xEC, 0x02, + 0x2C, 0x00, 0xA0, 0x02, 0xE3, 0x03, 0x2E, 0x00, + 0x35, 0x03, 0xB4, 0x04, 0x30, 0x00, 0xCB, 0x03, + 0xB1, 0x05, 0x30, 0x00, 0x60, 0x04, 0xE2, 0x06, + 0x29, 0x00, 0xB6, 0xFF, 0xEC, 0x02, 0x29, 0x00, + 0x21, 0xFF, 0xEC, 0x02, 0x29, 0x00, 0x8B, 0xFE, + 0xEC, 0x02, 0x29, 0x00, 0xF6, 0xFD, 0xEC, 0x02, + 0x2C, 0x00, 0x60, 0xFD, 0xE3, 0x03, 0x2E, 0x00, + 0xCB, 0xFC, 0xB4, 0x04, 0x30, 0x00, 0x35, 0xFC, + 0xB1, 0x05, 0x30, 0x00, 0xA0, 0xFB, 0xE2, 0x06, + 0x2B, 0x00, 0x4A, 0x00, 0x74, 0x03, 0x2B, 0x00, + 0xDF, 0x00, 0x74, 0x03, 0x2B, 0x00, 0x75, 0x01, + 0x74, 0x03, 0x2B, 0x00, 0x0A, 0x02, 0x74, 0x03, + 0x2E, 0x00, 0xA0, 0x02, 0x98, 0x04, 0x30, 0x00, + 0x35, 0x03, 0x8F, 0x05, 0x30, 0x00, 0xCB, 0x03, + 0xBA, 0x06, 0x30, 0x00, 0x60, 0x04, 0x23, 0x08, + 0x2B, 0x00, 0xB6, 0xFF, 0x74, 0x03, 0x2B, 0x00, + 0x21, 0xFF, 0x74, 0x03, 0x2B, 0x00, 0x8B, 0xFE, + 0x74, 0x03, 0x2B, 0x00, 0xF6, 0xFD, 0x74, 0x03, + 0x2E, 0x00, 0x60, 0xFD, 0x98, 0x04, 0x30, 0x00, + 0xCB, 0xFC, 0x8F, 0x05, 0x30, 0x00, 0x35, 0xFC, + 0xBA, 0x06, 0x30, 0x00, 0xA0, 0xFB, 0x23, 0x08, + 0x2D, 0x00, 0x4A, 0x00, 0xFC, 0x03, 0x2D, 0x00, + 0xDF, 0x00, 0xFC, 0x03, 0x2D, 0x00, 0x75, 0x01, + 0xFC, 0x03, 0x2D, 0x00, 0x0A, 0x02, 0xFC, 0x03, + 0x30, 0x00, 0xA0, 0x02, 0x4D, 0x05, 0x30, 0x00, + 0x35, 0x03, 0x6A, 0x06, 0x30, 0x00, 0xCB, 0x03, + 0xC3, 0x07, 0x30, 0x00, 0x60, 0x04, 0x63, 0x09, + 0x2D, 0x00, 0xB6, 0xFF, 0xFC, 0x03, 0x2D, 0x00, + 0x21, 0xFF, 0xFC, 0x03, 0x2D, 0x00, 0x8B, 0xFE, + 0xFC, 0x03, 0x2D, 0x00, 0xF6, 0xFD, 0xFC, 0x03, + 0x30, 0x00, 0x60, 0xFD, 0x4D, 0x05, 0x30, 0x00, + 0xCB, 0xFC, 0x6A, 0x06, 0x30, 0x00, 0x35, 0xFC, + 0xC3, 0x07, 0x30, 0x00, 0xA0, 0xFB, 0x63, 0x09, + 0x24, 0x00, 0x4A, 0x00, 0xBC, 0xFF, 0x24, 0x00, + 0xDF, 0x00, 0xBC, 0xFF, 0x24, 0x00, 0x75, 0x01, + 0xBC, 0xFF, 0x24, 0x00, 0x0A, 0x02, 0xBC, 0xFF, + 0x27, 0x00, 0xA0, 0x02, 0xA6, 0xFF, 0x29, 0x00, + 0x35, 0x03, 0x93, 0xFF, 0x2B, 0x00, 0xCB, 0x03, + 0x7C, 0xFF, 0x2D, 0x00, 0x60, 0x04, 0x60, 0xFF, + 0x24, 0x00, 0xB6, 0xFF, 0xBC, 0xFF, 0x24, 0x00, + 0x21, 0xFF, 0xBC, 0xFF, 0x24, 0x00, 0x8B, 0xFE, + 0xBC, 0xFF, 0x24, 0x00, 0xF6, 0xFD, 0xBC, 0xFF, + 0x27, 0x00, 0x60, 0xFD, 0xA6, 0xFF, 0x29, 0x00, + 0xCB, 0xFC, 0x93, 0xFF, 0x2B, 0x00, 0x35, 0xFC, + 0x7C, 0xFF, 0x2D, 0x00, 0xA0, 0xFB, 0x60, 0xFF, + 0x24, 0x00, 0x4A, 0x00, 0x34, 0xFF, 0x24, 0x00, + 0xDF, 0x00, 0x34, 0xFF, 0x24, 0x00, 0x75, 0x01, + 0x34, 0xFF, 0x24, 0x00, 0x0A, 0x02, 0x34, 0xFF, + 0x27, 0x00, 0xA0, 0x02, 0xF1, 0xFE, 0x29, 0x00, + 0x35, 0x03, 0xB8, 0xFE, 0x2B, 0x00, 0xCB, 0x03, + 0x73, 0xFE, 0x2D, 0x00, 0x60, 0x04, 0x20, 0xFE, + 0x24, 0x00, 0xB6, 0xFF, 0x34, 0xFF, 0x24, 0x00, + 0x21, 0xFF, 0x34, 0xFF, 0x24, 0x00, 0x8B, 0xFE, + 0x34, 0xFF, 0x24, 0x00, 0xF6, 0xFD, 0x34, 0xFF, + 0x27, 0x00, 0x60, 0xFD, 0xF1, 0xFE, 0x29, 0x00, + 0xCB, 0xFC, 0xB8, 0xFE, 0x2B, 0x00, 0x35, 0xFC, + 0x73, 0xFE, 0x2D, 0x00, 0xA0, 0xFB, 0x20, 0xFE, + 0x24, 0x00, 0x4A, 0x00, 0xAC, 0xFE, 0x24, 0x00, + 0xDF, 0x00, 0xAC, 0xFE, 0x24, 0x00, 0x75, 0x01, + 0xAC, 0xFE, 0x24, 0x00, 0x0A, 0x02, 0xAC, 0xFE, + 0x27, 0x00, 0xA0, 0x02, 0x3C, 0xFE, 0x29, 0x00, + 0x35, 0x03, 0xDD, 0xFD, 0x2B, 0x00, 0xCB, 0x03, + 0x6A, 0xFD, 0x2D, 0x00, 0x60, 0x04, 0xDF, 0xFC, + 0x24, 0x00, 0xB6, 0xFF, 0xAC, 0xFE, 0x24, 0x00, + 0x21, 0xFF, 0xAC, 0xFE, 0x24, 0x00, 0x8B, 0xFE, + 0xAC, 0xFE, 0x24, 0x00, 0xF6, 0xFD, 0xAC, 0xFE, + 0x27, 0x00, 0x60, 0xFD, 0x3C, 0xFE, 0x29, 0x00, + 0xCB, 0xFC, 0xDD, 0xFD, 0x2B, 0x00, 0x35, 0xFC, + 0x6A, 0xFD, 0x2D, 0x00, 0xA0, 0xFB, 0xDF, 0xFC, + 0x24, 0x00, 0x4A, 0x00, 0x24, 0xFE, 0x24, 0x00, + 0xDF, 0x00, 0x24, 0xFE, 0x24, 0x00, 0x75, 0x01, + 0x24, 0xFE, 0x24, 0x00, 0x0A, 0x02, 0x24, 0xFE, + 0x27, 0x00, 0xA0, 0x02, 0x87, 0xFD, 0x29, 0x00, + 0x35, 0x03, 0x02, 0xFD, 0x2B, 0x00, 0xCB, 0x03, + 0x61, 0xFC, 0x2D, 0x00, 0x60, 0x04, 0x9F, 0xFB, + 0x24, 0x00, 0xB6, 0xFF, 0x24, 0xFE, 0x24, 0x00, + 0x21, 0xFF, 0x24, 0xFE, 0x24, 0x00, 0x8B, 0xFE, + 0x24, 0xFE, 0x24, 0x00, 0xF6, 0xFD, 0x24, 0xFE, + 0x27, 0x00, 0x60, 0xFD, 0x87, 0xFD, 0x29, 0x00, + 0xCB, 0xFC, 0x02, 0xFD, 0x2B, 0x00, 0x35, 0xFC, + 0x61, 0xFC, 0x2D, 0x00, 0xA0, 0xFB, 0x9F, 0xFB, + 0x27, 0x00, 0x4A, 0x00, 0x9C, 0xFD, 0x27, 0x00, + 0xDF, 0x00, 0x9C, 0xFD, 0x27, 0x00, 0x75, 0x01, + 0x9C, 0xFD, 0x27, 0x00, 0x0A, 0x02, 0x9C, 0xFD, + 0x2A, 0x00, 0xA0, 0x02, 0xD2, 0xFC, 0x2C, 0x00, + 0x35, 0x03, 0x27, 0xFC, 0x2E, 0x00, 0xCB, 0x03, + 0x58, 0xFB, 0x30, 0x00, 0x60, 0x04, 0x5E, 0xFA, + 0x27, 0x00, 0xB6, 0xFF, 0x9C, 0xFD, 0x27, 0x00, + 0x21, 0xFF, 0x9C, 0xFD, 0x27, 0x00, 0x8B, 0xFE, + 0x9C, 0xFD, 0x27, 0x00, 0xF6, 0xFD, 0x9C, 0xFD, + 0x2A, 0x00, 0x60, 0xFD, 0xD2, 0xFC, 0x2C, 0x00, + 0xCB, 0xFC, 0x27, 0xFC, 0x2E, 0x00, 0x35, 0xFC, + 0x58, 0xFB, 0x30, 0x00, 0xA0, 0xFB, 0x5E, 0xFA, + 0x29, 0x00, 0x4A, 0x00, 0x14, 0xFD, 0x29, 0x00, + 0xDF, 0x00, 0x14, 0xFD, 0x29, 0x00, 0x75, 0x01, + 0x14, 0xFD, 0x29, 0x00, 0x0A, 0x02, 0x14, 0xFD, + 0x2C, 0x00, 0xA0, 0x02, 0x1D, 0xFC, 0x2E, 0x00, + 0x35, 0x03, 0x4C, 0xFB, 0x30, 0x00, 0xCB, 0x03, + 0x4F, 0xFA, 0x30, 0x00, 0x60, 0x04, 0x1E, 0xF9, + 0x29, 0x00, 0xB6, 0xFF, 0x14, 0xFD, 0x29, 0x00, + 0x21, 0xFF, 0x14, 0xFD, 0x29, 0x00, 0x8B, 0xFE, + 0x14, 0xFD, 0x29, 0x00, 0xF6, 0xFD, 0x14, 0xFD, + 0x2C, 0x00, 0x60, 0xFD, 0x1D, 0xFC, 0x2E, 0x00, + 0xCB, 0xFC, 0x4C, 0xFB, 0x30, 0x00, 0x35, 0xFC, + 0x4F, 0xFA, 0x30, 0x00, 0xA0, 0xFB, 0x1E, 0xF9, + 0x2B, 0x00, 0x4A, 0x00, 0x8C, 0xFC, 0x2B, 0x00, + 0xDF, 0x00, 0x8C, 0xFC, 0x2B, 0x00, 0x75, 0x01, + 0x8C, 0xFC, 0x2B, 0x00, 0x0A, 0x02, 0x8C, 0xFC, + 0x2E, 0x00, 0xA0, 0x02, 0x68, 0xFB, 0x30, 0x00, + 0x35, 0x03, 0x71, 0xFA, 0x30, 0x00, 0xCB, 0x03, + 0x46, 0xF9, 0x30, 0x00, 0x60, 0x04, 0xDD, 0xF7, + 0x2B, 0x00, 0xB6, 0xFF, 0x8C, 0xFC, 0x2B, 0x00, + 0x21, 0xFF, 0x8C, 0xFC, 0x2B, 0x00, 0x8B, 0xFE, + 0x8C, 0xFC, 0x2B, 0x00, 0xF6, 0xFD, 0x8C, 0xFC, + 0x2E, 0x00, 0x60, 0xFD, 0x68, 0xFB, 0x30, 0x00, + 0xCB, 0xFC, 0x71, 0xFA, 0x30, 0x00, 0x35, 0xFC, + 0x46, 0xF9, 0x30, 0x00, 0xA0, 0xFB, 0xDD, 0xF7, + 0x2D, 0x00, 0x4A, 0x00, 0x04, 0xFC, 0x2D, 0x00, + 0xDF, 0x00, 0x04, 0xFC, 0x2D, 0x00, 0x75, 0x01, + 0x04, 0xFC, 0x2D, 0x00, 0x0A, 0x02, 0x04, 0xFC, + 0x30, 0x00, 0xA0, 0x02, 0xB3, 0xFA, 0x30, 0x00, + 0x35, 0x03, 0x96, 0xF9, 0x30, 0x00, 0xCB, 0x03, + 0x3D, 0xF8, 0x30, 0x00, 0x60, 0x04, 0x9D, 0xF6, + 0x2D, 0x00, 0xB6, 0xFF, 0x04, 0xFC, 0x2D, 0x00, + 0x21, 0xFF, 0x04, 0xFC, 0x2D, 0x00, 0x8B, 0xFE, + 0x04, 0xFC, 0x2D, 0x00, 0xF6, 0xFD, 0x04, 0xFC, + 0x30, 0x00, 0x60, 0xFD, 0xB3, 0xFA, 0x30, 0x00, + 0xCB, 0xFC, 0x96, 0xF9, 0x30, 0x00, 0x35, 0xFC, + 0x3D, 0xF8, 0x30, 0x00, 0xA0, 0xFB, 0x9D, 0xF6, + 0x25, 0x00, 0x52, 0x00, 0x4A, 0x00, 0x25, 0x00, + 0xF6, 0x00, 0x4A, 0x00, 0x25, 0x00, 0x9B, 0x01, + 0x4A, 0x00, 0x25, 0x00, 0x3F, 0x02, 0x4A, 0x00, + 0x28, 0x00, 0xE4, 0x02, 0x63, 0x00, 0x2A, 0x00, + 0x88, 0x03, 0x78, 0x00, 0x2C, 0x00, 0x2D, 0x04, + 0x91, 0x00, 0x2E, 0x00, 0xD1, 0x04, 0xB0, 0x00, + 0x25, 0x00, 0xAE, 0xFF, 0x4A, 0x00, 0x25, 0x00, + 0x0A, 0xFF, 0x4A, 0x00, 0x25, 0x00, 0x65, 0xFE, + 0x4A, 0x00, 0x25, 0x00, 0xC1, 0xFD, 0x4A, 0x00, + 0x28, 0x00, 0x1C, 0xFD, 0x63, 0x00, 0x2A, 0x00, + 0x78, 0xFC, 0x78, 0x00, 0x2C, 0x00, 0xD3, 0xFB, + 0x91, 0x00, 0x2E, 0x00, 0x2F, 0xFB, 0xB0, 0x00, + 0x25, 0x00, 0x52, 0x00, 0xDF, 0x00, 0x25, 0x00, + 0xF6, 0x00, 0xDF, 0x00, 0x25, 0x00, 0x9B, 0x01, + 0xDF, 0x00, 0x25, 0x00, 0x3F, 0x02, 0xDF, 0x00, + 0x28, 0x00, 0xE4, 0x02, 0x2A, 0x01, 0x2A, 0x00, + 0x88, 0x03, 0x68, 0x01, 0x2C, 0x00, 0x2D, 0x04, + 0xB4, 0x01, 0x2E, 0x00, 0xD1, 0x04, 0x10, 0x02, + 0x25, 0x00, 0xAE, 0xFF, 0xDF, 0x00, 0x25, 0x00, + 0x0A, 0xFF, 0xDF, 0x00, 0x25, 0x00, 0x65, 0xFE, + 0xDF, 0x00, 0x25, 0x00, 0xC1, 0xFD, 0xDF, 0x00, + 0x28, 0x00, 0x1C, 0xFD, 0x2A, 0x01, 0x2A, 0x00, + 0x78, 0xFC, 0x68, 0x01, 0x2C, 0x00, 0xD3, 0xFB, + 0xB4, 0x01, 0x2E, 0x00, 0x2F, 0xFB, 0x10, 0x02, + 0x25, 0x00, 0x52, 0x00, 0x75, 0x01, 0x25, 0x00, + 0xF6, 0x00, 0x75, 0x01, 0x25, 0x00, 0x9B, 0x01, + 0x75, 0x01, 0x25, 0x00, 0x3F, 0x02, 0x75, 0x01, + 0x28, 0x00, 0xE4, 0x02, 0xF1, 0x01, 0x2A, 0x00, + 0x88, 0x03, 0x59, 0x02, 0x2C, 0x00, 0x2D, 0x04, + 0xD8, 0x02, 0x2E, 0x00, 0xD1, 0x04, 0x71, 0x03, + 0x25, 0x00, 0xAE, 0xFF, 0x75, 0x01, 0x25, 0x00, + 0x0A, 0xFF, 0x75, 0x01, 0x25, 0x00, 0x65, 0xFE, + 0x75, 0x01, 0x25, 0x00, 0xC1, 0xFD, 0x75, 0x01, + 0x28, 0x00, 0x1C, 0xFD, 0xF1, 0x01, 0x2A, 0x00, + 0x78, 0xFC, 0x59, 0x02, 0x2C, 0x00, 0xD3, 0xFB, + 0xD8, 0x02, 0x2E, 0x00, 0x2F, 0xFB, 0x71, 0x03, + 0x25, 0x00, 0x52, 0x00, 0x0A, 0x02, 0x25, 0x00, + 0xF6, 0x00, 0x0A, 0x02, 0x25, 0x00, 0x9B, 0x01, + 0x0A, 0x02, 0x25, 0x00, 0x3F, 0x02, 0x0A, 0x02, + 0x28, 0x00, 0xE4, 0x02, 0xB8, 0x02, 0x2A, 0x00, + 0x88, 0x03, 0x49, 0x03, 0x2C, 0x00, 0x2D, 0x04, + 0xFB, 0x03, 0x2E, 0x00, 0xD1, 0x04, 0xD1, 0x04, + 0x25, 0x00, 0xAE, 0xFF, 0x0A, 0x02, 0x25, 0x00, + 0x0A, 0xFF, 0x0A, 0x02, 0x25, 0x00, 0x65, 0xFE, + 0x0A, 0x02, 0x25, 0x00, 0xC1, 0xFD, 0x0A, 0x02, + 0x28, 0x00, 0x1C, 0xFD, 0xB8, 0x02, 0x2A, 0x00, + 0x78, 0xFC, 0x49, 0x03, 0x2C, 0x00, 0xD3, 0xFB, + 0xFB, 0x03, 0x2E, 0x00, 0x2F, 0xFB, 0xD1, 0x04, + 0x28, 0x00, 0x52, 0x00, 0xA0, 0x02, 0x28, 0x00, + 0xF6, 0x00, 0xA0, 0x02, 0x28, 0x00, 0x9B, 0x01, + 0xA0, 0x02, 0x28, 0x00, 0x3F, 0x02, 0xA0, 0x02, + 0x2B, 0x00, 0xE4, 0x02, 0x7F, 0x03, 0x2D, 0x00, + 0x88, 0x03, 0x3B, 0x04, 0x2F, 0x00, 0x2D, 0x04, + 0x1F, 0x05, 0x30, 0x00, 0xD1, 0x04, 0x33, 0x06, + 0x28, 0x00, 0xAE, 0xFF, 0xA0, 0x02, 0x28, 0x00, + 0x0A, 0xFF, 0xA0, 0x02, 0x28, 0x00, 0x65, 0xFE, + 0xA0, 0x02, 0x28, 0x00, 0xC1, 0xFD, 0xA0, 0x02, + 0x2B, 0x00, 0x1C, 0xFD, 0x7F, 0x03, 0x2D, 0x00, + 0x78, 0xFC, 0x3B, 0x04, 0x2F, 0x00, 0xD3, 0xFB, + 0x1F, 0x05, 0x30, 0x00, 0x2F, 0xFB, 0x33, 0x06, + 0x2A, 0x00, 0x52, 0x00, 0x35, 0x03, 0x2A, 0x00, + 0xF6, 0x00, 0x35, 0x03, 0x2A, 0x00, 0x9B, 0x01, + 0x35, 0x03, 0x2A, 0x00, 0x3F, 0x02, 0x35, 0x03, + 0x2D, 0x00, 0xE4, 0x02, 0x46, 0x04, 0x2F, 0x00, + 0x88, 0x03, 0x2B, 0x05, 0x30, 0x00, 0x2D, 0x04, + 0x42, 0x06, 0x30, 0x00, 0xD1, 0x04, 0x93, 0x07, + 0x2A, 0x00, 0xAE, 0xFF, 0x35, 0x03, 0x2A, 0x00, + 0x0A, 0xFF, 0x35, 0x03, 0x2A, 0x00, 0x65, 0xFE, + 0x35, 0x03, 0x2A, 0x00, 0xC1, 0xFD, 0x35, 0x03, + 0x2D, 0x00, 0x1C, 0xFD, 0x46, 0x04, 0x2F, 0x00, + 0x78, 0xFC, 0x2B, 0x05, 0x30, 0x00, 0xD3, 0xFB, + 0x42, 0x06, 0x30, 0x00, 0x2F, 0xFB, 0x93, 0x07, + 0x2C, 0x00, 0x52, 0x00, 0xCB, 0x03, 0x2C, 0x00, + 0xF6, 0x00, 0xCB, 0x03, 0x2C, 0x00, 0x9B, 0x01, + 0xCB, 0x03, 0x2C, 0x00, 0x3F, 0x02, 0xCB, 0x03, + 0x2F, 0x00, 0xE4, 0x02, 0x0D, 0x05, 0x30, 0x00, + 0x88, 0x03, 0x1C, 0x06, 0x30, 0x00, 0x2D, 0x04, + 0x66, 0x07, 0x30, 0x00, 0xD1, 0x04, 0xF4, 0x08, + 0x2C, 0x00, 0xAE, 0xFF, 0xCB, 0x03, 0x2C, 0x00, + 0x0A, 0xFF, 0xCB, 0x03, 0x2C, 0x00, 0x65, 0xFE, + 0xCB, 0x03, 0x2C, 0x00, 0xC1, 0xFD, 0xCB, 0x03, + 0x2F, 0x00, 0x1C, 0xFD, 0x0D, 0x05, 0x30, 0x00, + 0x78, 0xFC, 0x1C, 0x06, 0x30, 0x00, 0xD3, 0xFB, + 0x66, 0x07, 0x30, 0x00, 0x2F, 0xFB, 0xF4, 0x08, + 0x2E, 0x00, 0x52, 0x00, 0x60, 0x04, 0x2E, 0x00, + 0xF6, 0x00, 0x60, 0x04, 0x2E, 0x00, 0x9B, 0x01, + 0x60, 0x04, 0x2E, 0x00, 0x3F, 0x02, 0x60, 0x04, + 0x30, 0x00, 0xE4, 0x02, 0xD4, 0x05, 0x30, 0x00, + 0x88, 0x03, 0x0C, 0x07, 0x30, 0x00, 0x2D, 0x04, + 0x89, 0x08, 0x30, 0x00, 0xD1, 0x04, 0x54, 0x0A, + 0x2E, 0x00, 0xAE, 0xFF, 0x60, 0x04, 0x2E, 0x00, + 0x0A, 0xFF, 0x60, 0x04, 0x2E, 0x00, 0x65, 0xFE, + 0x60, 0x04, 0x2E, 0x00, 0xC1, 0xFD, 0x60, 0x04, + 0x30, 0x00, 0x1C, 0xFD, 0xD4, 0x05, 0x30, 0x00, + 0x78, 0xFC, 0x0C, 0x07, 0x30, 0x00, 0xD3, 0xFB, + 0x89, 0x08, 0x30, 0x00, 0x2F, 0xFB, 0x54, 0x0A, + 0x25, 0x00, 0x52, 0x00, 0xB6, 0xFF, 0x25, 0x00, + 0xF6, 0x00, 0xB6, 0xFF, 0x25, 0x00, 0x9B, 0x01, + 0xB6, 0xFF, 0x25, 0x00, 0x3F, 0x02, 0xB6, 0xFF, + 0x28, 0x00, 0xE4, 0x02, 0x9D, 0xFF, 0x2A, 0x00, + 0x88, 0x03, 0x88, 0xFF, 0x2C, 0x00, 0x2D, 0x04, + 0x6F, 0xFF, 0x2E, 0x00, 0xD1, 0x04, 0x50, 0xFF, + 0x25, 0x00, 0xAE, 0xFF, 0xB6, 0xFF, 0x25, 0x00, + 0x0A, 0xFF, 0xB6, 0xFF, 0x25, 0x00, 0x65, 0xFE, + 0xB6, 0xFF, 0x25, 0x00, 0xC1, 0xFD, 0xB6, 0xFF, + 0x28, 0x00, 0x1C, 0xFD, 0x9D, 0xFF, 0x2A, 0x00, + 0x78, 0xFC, 0x88, 0xFF, 0x2C, 0x00, 0xD3, 0xFB, + 0x6F, 0xFF, 0x2E, 0x00, 0x2F, 0xFB, 0x50, 0xFF, + 0x25, 0x00, 0x52, 0x00, 0x21, 0xFF, 0x25, 0x00, + 0xF6, 0x00, 0x21, 0xFF, 0x25, 0x00, 0x9B, 0x01, + 0x21, 0xFF, 0x25, 0x00, 0x3F, 0x02, 0x21, 0xFF, + 0x28, 0x00, 0xE4, 0x02, 0xD6, 0xFE, 0x2A, 0x00, + 0x88, 0x03, 0x98, 0xFE, 0x2C, 0x00, 0x2D, 0x04, + 0x4C, 0xFE, 0x2E, 0x00, 0xD1, 0x04, 0xF0, 0xFD, + 0x25, 0x00, 0xAE, 0xFF, 0x21, 0xFF, 0x25, 0x00, + 0x0A, 0xFF, 0x21, 0xFF, 0x25, 0x00, 0x65, 0xFE, + 0x21, 0xFF, 0x25, 0x00, 0xC1, 0xFD, 0x21, 0xFF, + 0x28, 0x00, 0x1C, 0xFD, 0xD6, 0xFE, 0x2A, 0x00, + 0x78, 0xFC, 0x98, 0xFE, 0x2C, 0x00, 0xD3, 0xFB, + 0x4C, 0xFE, 0x2E, 0x00, 0x2F, 0xFB, 0xF0, 0xFD, + 0x25, 0x00, 0x52, 0x00, 0x8B, 0xFE, 0x25, 0x00, + 0xF6, 0x00, 0x8B, 0xFE, 0x25, 0x00, 0x9B, 0x01, + 0x8B, 0xFE, 0x25, 0x00, 0x3F, 0x02, 0x8B, 0xFE, + 0x28, 0x00, 0xE4, 0x02, 0x0F, 0xFE, 0x2A, 0x00, + 0x88, 0x03, 0xA7, 0xFD, 0x2C, 0x00, 0x2D, 0x04, + 0x28, 0xFD, 0x2E, 0x00, 0xD1, 0x04, 0x8F, 0xFC, + 0x25, 0x00, 0xAE, 0xFF, 0x8B, 0xFE, 0x25, 0x00, + 0x0A, 0xFF, 0x8B, 0xFE, 0x25, 0x00, 0x65, 0xFE, + 0x8B, 0xFE, 0x25, 0x00, 0xC1, 0xFD, 0x8B, 0xFE, + 0x28, 0x00, 0x1C, 0xFD, 0x0F, 0xFE, 0x2A, 0x00, + 0x78, 0xFC, 0xA7, 0xFD, 0x2C, 0x00, 0xD3, 0xFB, + 0x28, 0xFD, 0x2E, 0x00, 0x2F, 0xFB, 0x8F, 0xFC, + 0x25, 0x00, 0x52, 0x00, 0xF6, 0xFD, 0x25, 0x00, + 0xF6, 0x00, 0xF6, 0xFD, 0x25, 0x00, 0x9B, 0x01, + 0xF6, 0xFD, 0x25, 0x00, 0x3F, 0x02, 0xF6, 0xFD, + 0x28, 0x00, 0xE4, 0x02, 0x48, 0xFD, 0x2A, 0x00, + 0x88, 0x03, 0xB7, 0xFC, 0x2C, 0x00, 0x2D, 0x04, + 0x05, 0xFC, 0x2E, 0x00, 0xD1, 0x04, 0x2F, 0xFB, + 0x25, 0x00, 0xAE, 0xFF, 0xF6, 0xFD, 0x25, 0x00, + 0x0A, 0xFF, 0xF6, 0xFD, 0x25, 0x00, 0x65, 0xFE, + 0xF6, 0xFD, 0x25, 0x00, 0xC1, 0xFD, 0xF6, 0xFD, + 0x28, 0x00, 0x1C, 0xFD, 0x48, 0xFD, 0x2A, 0x00, + 0x78, 0xFC, 0xB7, 0xFC, 0x2C, 0x00, 0xD3, 0xFB, + 0x05, 0xFC, 0x2E, 0x00, 0x2F, 0xFB, 0x2F, 0xFB, + 0x28, 0x00, 0x52, 0x00, 0x60, 0xFD, 0x28, 0x00, + 0xF6, 0x00, 0x60, 0xFD, 0x28, 0x00, 0x9B, 0x01, + 0x60, 0xFD, 0x28, 0x00, 0x3F, 0x02, 0x60, 0xFD, + 0x2B, 0x00, 0xE4, 0x02, 0x81, 0xFC, 0x2D, 0x00, + 0x88, 0x03, 0xC5, 0xFB, 0x2F, 0x00, 0x2D, 0x04, + 0xE1, 0xFA, 0x30, 0x00, 0xD1, 0x04, 0xCD, 0xF9, + 0x28, 0x00, 0xAE, 0xFF, 0x60, 0xFD, 0x28, 0x00, + 0x0A, 0xFF, 0x60, 0xFD, 0x28, 0x00, 0x65, 0xFE, + 0x60, 0xFD, 0x28, 0x00, 0xC1, 0xFD, 0x60, 0xFD, + 0x2B, 0x00, 0x1C, 0xFD, 0x81, 0xFC, 0x2D, 0x00, + 0x78, 0xFC, 0xC5, 0xFB, 0x2F, 0x00, 0xD3, 0xFB, + 0xE1, 0xFA, 0x30, 0x00, 0x2F, 0xFB, 0xCD, 0xF9, + 0x2A, 0x00, 0x52, 0x00, 0xCB, 0xFC, 0x2A, 0x00, + 0xF6, 0x00, 0xCB, 0xFC, 0x2A, 0x00, 0x9B, 0x01, + 0xCB, 0xFC, 0x2A, 0x00, 0x3F, 0x02, 0xCB, 0xFC, + 0x2D, 0x00, 0xE4, 0x02, 0xBA, 0xFB, 0x2F, 0x00, + 0x88, 0x03, 0xD5, 0xFA, 0x30, 0x00, 0x2D, 0x04, + 0xBE, 0xF9, 0x30, 0x00, 0xD1, 0x04, 0x6D, 0xF8, + 0x2A, 0x00, 0xAE, 0xFF, 0xCB, 0xFC, 0x2A, 0x00, + 0x0A, 0xFF, 0xCB, 0xFC, 0x2A, 0x00, 0x65, 0xFE, + 0xCB, 0xFC, 0x2A, 0x00, 0xC1, 0xFD, 0xCB, 0xFC, + 0x2D, 0x00, 0x1C, 0xFD, 0xBA, 0xFB, 0x2F, 0x00, + 0x78, 0xFC, 0xD5, 0xFA, 0x30, 0x00, 0xD3, 0xFB, + 0xBE, 0xF9, 0x30, 0x00, 0x2F, 0xFB, 0x6D, 0xF8, + 0x2C, 0x00, 0x52, 0x00, 0x35, 0xFC, 0x2C, 0x00, + 0xF6, 0x00, 0x35, 0xFC, 0x2C, 0x00, 0x9B, 0x01, + 0x35, 0xFC, 0x2C, 0x00, 0x3F, 0x02, 0x35, 0xFC, + 0x2F, 0x00, 0xE4, 0x02, 0xF3, 0xFA, 0x30, 0x00, + 0x88, 0x03, 0xE4, 0xF9, 0x30, 0x00, 0x2D, 0x04, + 0x9A, 0xF8, 0x30, 0x00, 0xD1, 0x04, 0x0C, 0xF7, + 0x2C, 0x00, 0xAE, 0xFF, 0x35, 0xFC, 0x2C, 0x00, + 0x0A, 0xFF, 0x35, 0xFC, 0x2C, 0x00, 0x65, 0xFE, + 0x35, 0xFC, 0x2C, 0x00, 0xC1, 0xFD, 0x35, 0xFC, + 0x2F, 0x00, 0x1C, 0xFD, 0xF3, 0xFA, 0x30, 0x00, + 0x78, 0xFC, 0xE4, 0xF9, 0x30, 0x00, 0xD3, 0xFB, + 0x9A, 0xF8, 0x30, 0x00, 0x2F, 0xFB, 0x0C, 0xF7, + 0x2E, 0x00, 0x52, 0x00, 0xA0, 0xFB, 0x2E, 0x00, + 0xF6, 0x00, 0xA0, 0xFB, 0x2E, 0x00, 0x9B, 0x01, + 0xA0, 0xFB, 0x2E, 0x00, 0x3F, 0x02, 0xA0, 0xFB, + 0x30, 0x00, 0xE4, 0x02, 0x2C, 0xFA, 0x30, 0x00, + 0x88, 0x03, 0xF4, 0xF8, 0x30, 0x00, 0x2D, 0x04, + 0x77, 0xF7, 0x30, 0x00, 0xD1, 0x04, 0xAC, 0xF5, + 0x2E, 0x00, 0xAE, 0xFF, 0xA0, 0xFB, 0x2E, 0x00, + 0x0A, 0xFF, 0xA0, 0xFB, 0x2E, 0x00, 0x65, 0xFE, + 0xA0, 0xFB, 0x2E, 0x00, 0xC1, 0xFD, 0xA0, 0xFB, + 0x30, 0x00, 0x1C, 0xFD, 0x2C, 0xFA, 0x30, 0x00, + 0x78, 0xFC, 0xF4, 0xF8, 0x30, 0x00, 0xD3, 0xFB, + 0x77, 0xF7, 0x30, 0x00, 0x2F, 0xFB, 0xAC, 0xF5, + 0x26, 0x00, 0x5A, 0x00, 0x52, 0x00, 0x26, 0x00, + 0x0F, 0x01, 0x52, 0x00, 0x26, 0x00, 0xC4, 0x01, + 0x52, 0x00, 0x26, 0x00, 0x79, 0x02, 0x52, 0x00, + 0x29, 0x00, 0x2E, 0x03, 0x6D, 0x00, 0x2B, 0x00, + 0xE3, 0x03, 0x84, 0x00, 0x2D, 0x00, 0x98, 0x04, + 0xA0, 0x00, 0x2F, 0x00, 0x4D, 0x05, 0xC2, 0x00, + 0x26, 0x00, 0xA6, 0xFF, 0x52, 0x00, 0x26, 0x00, + 0xF1, 0xFE, 0x52, 0x00, 0x26, 0x00, 0x3C, 0xFE, + 0x52, 0x00, 0x26, 0x00, 0x87, 0xFD, 0x52, 0x00, + 0x29, 0x00, 0xD2, 0xFC, 0x6D, 0x00, 0x2B, 0x00, + 0x1D, 0xFC, 0x84, 0x00, 0x2D, 0x00, 0x68, 0xFB, + 0xA0, 0x00, 0x2F, 0x00, 0xB3, 0xFA, 0xC2, 0x00, + 0x26, 0x00, 0x5A, 0x00, 0xF6, 0x00, 0x26, 0x00, + 0x0F, 0x01, 0xF6, 0x00, 0x26, 0x00, 0xC4, 0x01, + 0xF6, 0x00, 0x26, 0x00, 0x79, 0x02, 0xF6, 0x00, + 0x29, 0x00, 0x2E, 0x03, 0x48, 0x01, 0x2B, 0x00, + 0xE3, 0x03, 0x8D, 0x01, 0x2D, 0x00, 0x98, 0x04, + 0xE0, 0x01, 0x2F, 0x00, 0x4D, 0x05, 0x46, 0x02, + 0x26, 0x00, 0xA6, 0xFF, 0xF6, 0x00, 0x26, 0x00, + 0xF1, 0xFE, 0xF6, 0x00, 0x26, 0x00, 0x3C, 0xFE, + 0xF6, 0x00, 0x26, 0x00, 0x87, 0xFD, 0xF6, 0x00, + 0x29, 0x00, 0xD2, 0xFC, 0x48, 0x01, 0x2B, 0x00, + 0x1D, 0xFC, 0x8D, 0x01, 0x2D, 0x00, 0x68, 0xFB, + 0xE0, 0x01, 0x2F, 0x00, 0xB3, 0xFA, 0x46, 0x02, + 0x26, 0x00, 0x5A, 0x00, 0x9B, 0x01, 0x26, 0x00, + 0x0F, 0x01, 0x9B, 0x01, 0x26, 0x00, 0xC4, 0x01, + 0x9B, 0x01, 0x26, 0x00, 0x79, 0x02, 0x9B, 0x01, + 0x29, 0x00, 0x2E, 0x03, 0x23, 0x02, 0x2B, 0x00, + 0xE3, 0x03, 0x96, 0x02, 0x2D, 0x00, 0x98, 0x04, + 0x21, 0x03, 0x2F, 0x00, 0x4D, 0x05, 0xCA, 0x03, + 0x26, 0x00, 0xA6, 0xFF, 0x9B, 0x01, 0x26, 0x00, + 0xF1, 0xFE, 0x9B, 0x01, 0x26, 0x00, 0x3C, 0xFE, + 0x9B, 0x01, 0x26, 0x00, 0x87, 0xFD, 0x9B, 0x01, + 0x29, 0x00, 0xD2, 0xFC, 0x23, 0x02, 0x2B, 0x00, + 0x1D, 0xFC, 0x96, 0x02, 0x2D, 0x00, 0x68, 0xFB, + 0x21, 0x03, 0x2F, 0x00, 0xB3, 0xFA, 0xCA, 0x03, + 0x26, 0x00, 0x5A, 0x00, 0x3F, 0x02, 0x26, 0x00, + 0x0F, 0x01, 0x3F, 0x02, 0x26, 0x00, 0xC4, 0x01, + 0x3F, 0x02, 0x26, 0x00, 0x79, 0x02, 0x3F, 0x02, + 0x29, 0x00, 0x2E, 0x03, 0xFE, 0x02, 0x2B, 0x00, + 0xE3, 0x03, 0x9F, 0x03, 0x2D, 0x00, 0x98, 0x04, + 0x61, 0x04, 0x2F, 0x00, 0x4D, 0x05, 0x4E, 0x05, + 0x26, 0x00, 0xA6, 0xFF, 0x3F, 0x02, 0x26, 0x00, + 0xF1, 0xFE, 0x3F, 0x02, 0x26, 0x00, 0x3C, 0xFE, + 0x3F, 0x02, 0x26, 0x00, 0x87, 0xFD, 0x3F, 0x02, + 0x29, 0x00, 0xD2, 0xFC, 0xFE, 0x02, 0x2B, 0x00, + 0x1D, 0xFC, 0x9F, 0x03, 0x2D, 0x00, 0x68, 0xFB, + 0x61, 0x04, 0x2F, 0x00, 0xB3, 0xFA, 0x4E, 0x05, + 0x29, 0x00, 0x5A, 0x00, 0xE4, 0x02, 0x29, 0x00, + 0x0F, 0x01, 0xE4, 0x02, 0x29, 0x00, 0xC4, 0x01, + 0xE4, 0x02, 0x29, 0x00, 0x79, 0x02, 0xE4, 0x02, + 0x2C, 0x00, 0x2E, 0x03, 0xD9, 0x03, 0x2E, 0x00, + 0xE3, 0x03, 0xA8, 0x04, 0x30, 0x00, 0x98, 0x04, + 0xA2, 0x05, 0x30, 0x00, 0x4D, 0x05, 0xD2, 0x06, + 0x29, 0x00, 0xA6, 0xFF, 0xE4, 0x02, 0x29, 0x00, + 0xF1, 0xFE, 0xE4, 0x02, 0x29, 0x00, 0x3C, 0xFE, + 0xE4, 0x02, 0x29, 0x00, 0x87, 0xFD, 0xE4, 0x02, + 0x2C, 0x00, 0xD2, 0xFC, 0xD9, 0x03, 0x2E, 0x00, + 0x1D, 0xFC, 0xA8, 0x04, 0x30, 0x00, 0x68, 0xFB, + 0xA2, 0x05, 0x30, 0x00, 0xB3, 0xFA, 0xD2, 0x06, + 0x2B, 0x00, 0x5A, 0x00, 0x88, 0x03, 0x2B, 0x00, + 0x0F, 0x01, 0x88, 0x03, 0x2B, 0x00, 0xC4, 0x01, + 0x88, 0x03, 0x2B, 0x00, 0x79, 0x02, 0x88, 0x03, + 0x2E, 0x00, 0x2E, 0x03, 0xB4, 0x04, 0x30, 0x00, + 0xE3, 0x03, 0xB1, 0x05, 0x30, 0x00, 0x98, 0x04, + 0xE2, 0x06, 0x30, 0x00, 0x4D, 0x05, 0x56, 0x08, + 0x2B, 0x00, 0xA6, 0xFF, 0x88, 0x03, 0x2B, 0x00, + 0xF1, 0xFE, 0x88, 0x03, 0x2B, 0x00, 0x3C, 0xFE, + 0x88, 0x03, 0x2B, 0x00, 0x87, 0xFD, 0x88, 0x03, + 0x2E, 0x00, 0xD2, 0xFC, 0xB4, 0x04, 0x30, 0x00, + 0x1D, 0xFC, 0xB1, 0x05, 0x30, 0x00, 0x68, 0xFB, + 0xE2, 0x06, 0x30, 0x00, 0xB3, 0xFA, 0x56, 0x08, + 0x2D, 0x00, 0x5A, 0x00, 0x2D, 0x04, 0x2D, 0x00, + 0x0F, 0x01, 0x2D, 0x04, 0x2D, 0x00, 0xC4, 0x01, + 0x2D, 0x04, 0x2D, 0x00, 0x79, 0x02, 0x2D, 0x04, + 0x30, 0x00, 0x2E, 0x03, 0x8F, 0x05, 0x30, 0x00, + 0xE3, 0x03, 0xBA, 0x06, 0x30, 0x00, 0x98, 0x04, + 0x23, 0x08, 0x30, 0x00, 0x4D, 0x05, 0xDA, 0x09, + 0x2D, 0x00, 0xA6, 0xFF, 0x2D, 0x04, 0x2D, 0x00, + 0xF1, 0xFE, 0x2D, 0x04, 0x2D, 0x00, 0x3C, 0xFE, + 0x2D, 0x04, 0x2D, 0x00, 0x87, 0xFD, 0x2D, 0x04, + 0x30, 0x00, 0xD2, 0xFC, 0x8F, 0x05, 0x30, 0x00, + 0x1D, 0xFC, 0xBA, 0x06, 0x30, 0x00, 0x68, 0xFB, + 0x23, 0x08, 0x30, 0x00, 0xB3, 0xFA, 0xDA, 0x09, + 0x2F, 0x00, 0x5A, 0x00, 0xD1, 0x04, 0x2F, 0x00, + 0x0F, 0x01, 0xD1, 0x04, 0x2F, 0x00, 0xC4, 0x01, + 0xD1, 0x04, 0x2F, 0x00, 0x79, 0x02, 0xD1, 0x04, + 0x30, 0x00, 0x2E, 0x03, 0x6A, 0x06, 0x30, 0x00, + 0xE3, 0x03, 0xC3, 0x07, 0x30, 0x00, 0x98, 0x04, + 0x63, 0x09, 0x30, 0x00, 0x4D, 0x05, 0x5E, 0x0B, + 0x2F, 0x00, 0xA6, 0xFF, 0xD1, 0x04, 0x2F, 0x00, + 0xF1, 0xFE, 0xD1, 0x04, 0x2F, 0x00, 0x3C, 0xFE, + 0xD1, 0x04, 0x2F, 0x00, 0x87, 0xFD, 0xD1, 0x04, + 0x30, 0x00, 0xD2, 0xFC, 0x6A, 0x06, 0x30, 0x00, + 0x1D, 0xFC, 0xC3, 0x07, 0x30, 0x00, 0x68, 0xFB, + 0x63, 0x09, 0x30, 0x00, 0xB3, 0xFA, 0x5E, 0x0B, + 0x26, 0x00, 0x5A, 0x00, 0xAE, 0xFF, 0x26, 0x00, + 0x0F, 0x01, 0xAE, 0xFF, 0x26, 0x00, 0xC4, 0x01, + 0xAE, 0xFF, 0x26, 0x00, 0x79, 0x02, 0xAE, 0xFF, + 0x29, 0x00, 0x2E, 0x03, 0x93, 0xFF, 0x2B, 0x00, + 0xE3, 0x03, 0x7C, 0xFF, 0x2D, 0x00, 0x98, 0x04, + 0x60, 0xFF, 0x2F, 0x00, 0x4D, 0x05, 0x3E, 0xFF, + 0x26, 0x00, 0xA6, 0xFF, 0xAE, 0xFF, 0x26, 0x00, + 0xF1, 0xFE, 0xAE, 0xFF, 0x26, 0x00, 0x3C, 0xFE, + 0xAE, 0xFF, 0x26, 0x00, 0x87, 0xFD, 0xAE, 0xFF, + 0x29, 0x00, 0xD2, 0xFC, 0x93, 0xFF, 0x2B, 0x00, + 0x1D, 0xFC, 0x7C, 0xFF, 0x2D, 0x00, 0x68, 0xFB, + 0x60, 0xFF, 0x2F, 0x00, 0xB3, 0xFA, 0x3E, 0xFF, + 0x26, 0x00, 0x5A, 0x00, 0x0A, 0xFF, 0x26, 0x00, + 0x0F, 0x01, 0x0A, 0xFF, 0x26, 0x00, 0xC4, 0x01, + 0x0A, 0xFF, 0x26, 0x00, 0x79, 0x02, 0x0A, 0xFF, + 0x29, 0x00, 0x2E, 0x03, 0xB8, 0xFE, 0x2B, 0x00, + 0xE3, 0x03, 0x73, 0xFE, 0x2D, 0x00, 0x98, 0x04, + 0x20, 0xFE, 0x2F, 0x00, 0x4D, 0x05, 0xBA, 0xFD, + 0x26, 0x00, 0xA6, 0xFF, 0x0A, 0xFF, 0x26, 0x00, + 0xF1, 0xFE, 0x0A, 0xFF, 0x26, 0x00, 0x3C, 0xFE, + 0x0A, 0xFF, 0x26, 0x00, 0x87, 0xFD, 0x0A, 0xFF, + 0x29, 0x00, 0xD2, 0xFC, 0xB8, 0xFE, 0x2B, 0x00, + 0x1D, 0xFC, 0x73, 0xFE, 0x2D, 0x00, 0x68, 0xFB, + 0x20, 0xFE, 0x2F, 0x00, 0xB3, 0xFA, 0xBA, 0xFD, + 0x26, 0x00, 0x5A, 0x00, 0x65, 0xFE, 0x26, 0x00, + 0x0F, 0x01, 0x65, 0xFE, 0x26, 0x00, 0xC4, 0x01, + 0x65, 0xFE, 0x26, 0x00, 0x79, 0x02, 0x65, 0xFE, + 0x29, 0x00, 0x2E, 0x03, 0xDD, 0xFD, 0x2B, 0x00, + 0xE3, 0x03, 0x6A, 0xFD, 0x2D, 0x00, 0x98, 0x04, + 0xDF, 0xFC, 0x2F, 0x00, 0x4D, 0x05, 0x36, 0xFC, + 0x26, 0x00, 0xA6, 0xFF, 0x65, 0xFE, 0x26, 0x00, + 0xF1, 0xFE, 0x65, 0xFE, 0x26, 0x00, 0x3C, 0xFE, + 0x65, 0xFE, 0x26, 0x00, 0x87, 0xFD, 0x65, 0xFE, + 0x29, 0x00, 0xD2, 0xFC, 0xDD, 0xFD, 0x2B, 0x00, + 0x1D, 0xFC, 0x6A, 0xFD, 0x2D, 0x00, 0x68, 0xFB, + 0xDF, 0xFC, 0x2F, 0x00, 0xB3, 0xFA, 0x36, 0xFC, + 0x26, 0x00, 0x5A, 0x00, 0xC1, 0xFD, 0x26, 0x00, + 0x0F, 0x01, 0xC1, 0xFD, 0x26, 0x00, 0xC4, 0x01, + 0xC1, 0xFD, 0x26, 0x00, 0x79, 0x02, 0xC1, 0xFD, + 0x29, 0x00, 0x2E, 0x03, 0x02, 0xFD, 0x2B, 0x00, + 0xE3, 0x03, 0x61, 0xFC, 0x2D, 0x00, 0x98, 0x04, + 0x9F, 0xFB, 0x2F, 0x00, 0x4D, 0x05, 0xB2, 0xFA, + 0x26, 0x00, 0xA6, 0xFF, 0xC1, 0xFD, 0x26, 0x00, + 0xF1, 0xFE, 0xC1, 0xFD, 0x26, 0x00, 0x3C, 0xFE, + 0xC1, 0xFD, 0x26, 0x00, 0x87, 0xFD, 0xC1, 0xFD, + 0x29, 0x00, 0xD2, 0xFC, 0x02, 0xFD, 0x2B, 0x00, + 0x1D, 0xFC, 0x61, 0xFC, 0x2D, 0x00, 0x68, 0xFB, + 0x9F, 0xFB, 0x2F, 0x00, 0xB3, 0xFA, 0xB2, 0xFA, + 0x29, 0x00, 0x5A, 0x00, 0x1C, 0xFD, 0x29, 0x00, + 0x0F, 0x01, 0x1C, 0xFD, 0x29, 0x00, 0xC4, 0x01, + 0x1C, 0xFD, 0x29, 0x00, 0x79, 0x02, 0x1C, 0xFD, + 0x2C, 0x00, 0x2E, 0x03, 0x27, 0xFC, 0x2E, 0x00, + 0xE3, 0x03, 0x58, 0xFB, 0x30, 0x00, 0x98, 0x04, + 0x5E, 0xFA, 0x30, 0x00, 0x4D, 0x05, 0x2E, 0xF9, + 0x29, 0x00, 0xA6, 0xFF, 0x1C, 0xFD, 0x29, 0x00, + 0xF1, 0xFE, 0x1C, 0xFD, 0x29, 0x00, 0x3C, 0xFE, + 0x1C, 0xFD, 0x29, 0x00, 0x87, 0xFD, 0x1C, 0xFD, + 0x2C, 0x00, 0xD2, 0xFC, 0x27, 0xFC, 0x2E, 0x00, + 0x1D, 0xFC, 0x58, 0xFB, 0x30, 0x00, 0x68, 0xFB, + 0x5E, 0xFA, 0x30, 0x00, 0xB3, 0xFA, 0x2E, 0xF9, + 0x2B, 0x00, 0x5A, 0x00, 0x78, 0xFC, 0x2B, 0x00, + 0x0F, 0x01, 0x78, 0xFC, 0x2B, 0x00, 0xC4, 0x01, + 0x78, 0xFC, 0x2B, 0x00, 0x79, 0x02, 0x78, 0xFC, + 0x2E, 0x00, 0x2E, 0x03, 0x4C, 0xFB, 0x30, 0x00, + 0xE3, 0x03, 0x4F, 0xFA, 0x30, 0x00, 0x98, 0x04, + 0x1E, 0xF9, 0x30, 0x00, 0x4D, 0x05, 0xAA, 0xF7, + 0x2B, 0x00, 0xA6, 0xFF, 0x78, 0xFC, 0x2B, 0x00, + 0xF1, 0xFE, 0x78, 0xFC, 0x2B, 0x00, 0x3C, 0xFE, + 0x78, 0xFC, 0x2B, 0x00, 0x87, 0xFD, 0x78, 0xFC, + 0x2E, 0x00, 0xD2, 0xFC, 0x4C, 0xFB, 0x30, 0x00, + 0x1D, 0xFC, 0x4F, 0xFA, 0x30, 0x00, 0x68, 0xFB, + 0x1E, 0xF9, 0x30, 0x00, 0xB3, 0xFA, 0xAA, 0xF7, + 0x2D, 0x00, 0x5A, 0x00, 0xD3, 0xFB, 0x2D, 0x00, + 0x0F, 0x01, 0xD3, 0xFB, 0x2D, 0x00, 0xC4, 0x01, + 0xD3, 0xFB, 0x2D, 0x00, 0x79, 0x02, 0xD3, 0xFB, + 0x30, 0x00, 0x2E, 0x03, 0x71, 0xFA, 0x30, 0x00, + 0xE3, 0x03, 0x46, 0xF9, 0x30, 0x00, 0x98, 0x04, + 0xDD, 0xF7, 0x30, 0x00, 0x4D, 0x05, 0x26, 0xF6, + 0x2D, 0x00, 0xA6, 0xFF, 0xD3, 0xFB, 0x2D, 0x00, + 0xF1, 0xFE, 0xD3, 0xFB, 0x2D, 0x00, 0x3C, 0xFE, + 0xD3, 0xFB, 0x2D, 0x00, 0x87, 0xFD, 0xD3, 0xFB, + 0x30, 0x00, 0xD2, 0xFC, 0x71, 0xFA, 0x30, 0x00, + 0x1D, 0xFC, 0x46, 0xF9, 0x30, 0x00, 0x68, 0xFB, + 0xDD, 0xF7, 0x30, 0x00, 0xB3, 0xFA, 0x26, 0xF6, + 0x2F, 0x00, 0x5A, 0x00, 0x2F, 0xFB, 0x2F, 0x00, + 0x0F, 0x01, 0x2F, 0xFB, 0x2F, 0x00, 0xC4, 0x01, + 0x2F, 0xFB, 0x2F, 0x00, 0x79, 0x02, 0x2F, 0xFB, + 0x30, 0x00, 0x2E, 0x03, 0x96, 0xF9, 0x30, 0x00, + 0xE3, 0x03, 0x3D, 0xF8, 0x30, 0x00, 0x98, 0x04, + 0x9D, 0xF6, 0x30, 0x00, 0x4D, 0x05, 0xA2, 0xF4, + 0x2F, 0x00, 0xA6, 0xFF, 0x2F, 0xFB, 0x2F, 0x00, + 0xF1, 0xFE, 0x2F, 0xFB, 0x2F, 0x00, 0x3C, 0xFE, + 0x2F, 0xFB, 0x2F, 0x00, 0x87, 0xFD, 0x2F, 0xFB, + 0x30, 0x00, 0xD2, 0xFC, 0x96, 0xF9, 0x30, 0x00, + 0x1D, 0xFC, 0x3D, 0xF8, 0x30, 0x00, 0x68, 0xFB, + 0x9D, 0xF6, 0x30, 0x00, 0xB3, 0xFA, 0xA2, 0xF4, + 0x27, 0x00, 0x63, 0x00, 0x5A, 0x00, 0x27, 0x00, + 0x2A, 0x01, 0x5A, 0x00, 0x27, 0x00, 0xF1, 0x01, + 0x5A, 0x00, 0x27, 0x00, 0xB8, 0x02, 0x5A, 0x00, + 0x2A, 0x00, 0x7F, 0x03, 0x78, 0x00, 0x2C, 0x00, + 0x46, 0x04, 0x91, 0x00, 0x2E, 0x00, 0x0D, 0x05, + 0xB0, 0x00, 0x2F, 0x00, 0xD4, 0x05, 0xC2, 0x00, + 0x27, 0x00, 0x9D, 0xFF, 0x5A, 0x00, 0x27, 0x00, + 0xD6, 0xFE, 0x5A, 0x00, 0x27, 0x00, 0x0F, 0xFE, + 0x5A, 0x00, 0x27, 0x00, 0x48, 0xFD, 0x5A, 0x00, + 0x2A, 0x00, 0x81, 0xFC, 0x78, 0x00, 0x2C, 0x00, + 0xBA, 0xFB, 0x91, 0x00, 0x2E, 0x00, 0xF3, 0xFA, + 0xB0, 0x00, 0x2F, 0x00, 0x2C, 0xFA, 0xC2, 0x00, + 0x27, 0x00, 0x63, 0x00, 0x0F, 0x01, 0x27, 0x00, + 0x2A, 0x01, 0x0F, 0x01, 0x27, 0x00, 0xF1, 0x01, + 0x0F, 0x01, 0x27, 0x00, 0xB8, 0x02, 0x0F, 0x01, + 0x2A, 0x00, 0x7F, 0x03, 0x68, 0x01, 0x2C, 0x00, + 0x46, 0x04, 0xB4, 0x01, 0x2E, 0x00, 0x0D, 0x05, + 0x10, 0x02, 0x2F, 0x00, 0xD4, 0x05, 0x46, 0x02, + 0x27, 0x00, 0x9D, 0xFF, 0x0F, 0x01, 0x27, 0x00, + 0xD6, 0xFE, 0x0F, 0x01, 0x27, 0x00, 0x0F, 0xFE, + 0x0F, 0x01, 0x27, 0x00, 0x48, 0xFD, 0x0F, 0x01, + 0x2A, 0x00, 0x81, 0xFC, 0x68, 0x01, 0x2C, 0x00, + 0xBA, 0xFB, 0xB4, 0x01, 0x2E, 0x00, 0xF3, 0xFA, + 0x10, 0x02, 0x2F, 0x00, 0x2C, 0xFA, 0x46, 0x02, + 0x27, 0x00, 0x63, 0x00, 0xC4, 0x01, 0x27, 0x00, + 0x2A, 0x01, 0xC4, 0x01, 0x27, 0x00, 0xF1, 0x01, + 0xC4, 0x01, 0x27, 0x00, 0xB8, 0x02, 0xC4, 0x01, + 0x2A, 0x00, 0x7F, 0x03, 0x59, 0x02, 0x2C, 0x00, + 0x46, 0x04, 0xD8, 0x02, 0x2E, 0x00, 0x0D, 0x05, + 0x71, 0x03, 0x2F, 0x00, 0xD4, 0x05, 0xCA, 0x03, + 0x27, 0x00, 0x9D, 0xFF, 0xC4, 0x01, 0x27, 0x00, + 0xD6, 0xFE, 0xC4, 0x01, 0x27, 0x00, 0x0F, 0xFE, + 0xC4, 0x01, 0x27, 0x00, 0x48, 0xFD, 0xC4, 0x01, + 0x2A, 0x00, 0x81, 0xFC, 0x59, 0x02, 0x2C, 0x00, + 0xBA, 0xFB, 0xD8, 0x02, 0x2E, 0x00, 0xF3, 0xFA, + 0x71, 0x03, 0x2F, 0x00, 0x2C, 0xFA, 0xCA, 0x03, + 0x27, 0x00, 0x63, 0x00, 0x79, 0x02, 0x27, 0x00, + 0x2A, 0x01, 0x79, 0x02, 0x27, 0x00, 0xF1, 0x01, + 0x79, 0x02, 0x27, 0x00, 0xB8, 0x02, 0x79, 0x02, + 0x2A, 0x00, 0x7F, 0x03, 0x49, 0x03, 0x2C, 0x00, + 0x46, 0x04, 0xFB, 0x03, 0x2E, 0x00, 0x0D, 0x05, + 0xD1, 0x04, 0x2F, 0x00, 0xD4, 0x05, 0x4E, 0x05, + 0x27, 0x00, 0x9D, 0xFF, 0x79, 0x02, 0x27, 0x00, + 0xD6, 0xFE, 0x79, 0x02, 0x27, 0x00, 0x0F, 0xFE, + 0x79, 0x02, 0x27, 0x00, 0x48, 0xFD, 0x79, 0x02, + 0x2A, 0x00, 0x81, 0xFC, 0x49, 0x03, 0x2C, 0x00, + 0xBA, 0xFB, 0xFB, 0x03, 0x2E, 0x00, 0xF3, 0xFA, + 0xD1, 0x04, 0x2F, 0x00, 0x2C, 0xFA, 0x4E, 0x05, + 0x2A, 0x00, 0x63, 0x00, 0x2E, 0x03, 0x2A, 0x00, + 0x2A, 0x01, 0x2E, 0x03, 0x2A, 0x00, 0xF1, 0x01, + 0x2E, 0x03, 0x2A, 0x00, 0xB8, 0x02, 0x2E, 0x03, + 0x2D, 0x00, 0x7F, 0x03, 0x3B, 0x04, 0x2F, 0x00, + 0x46, 0x04, 0x1F, 0x05, 0x30, 0x00, 0x0D, 0x05, + 0x33, 0x06, 0x30, 0x00, 0xD4, 0x05, 0xD2, 0x06, + 0x2A, 0x00, 0x9D, 0xFF, 0x2E, 0x03, 0x2A, 0x00, + 0xD6, 0xFE, 0x2E, 0x03, 0x2A, 0x00, 0x0F, 0xFE, + 0x2E, 0x03, 0x2A, 0x00, 0x48, 0xFD, 0x2E, 0x03, + 0x2D, 0x00, 0x81, 0xFC, 0x3B, 0x04, 0x2F, 0x00, + 0xBA, 0xFB, 0x1F, 0x05, 0x30, 0x00, 0xF3, 0xFA, + 0x33, 0x06, 0x30, 0x00, 0x2C, 0xFA, 0xD2, 0x06, + 0x2C, 0x00, 0x63, 0x00, 0xE3, 0x03, 0x2C, 0x00, + 0x2A, 0x01, 0xE3, 0x03, 0x2C, 0x00, 0xF1, 0x01, + 0xE3, 0x03, 0x2C, 0x00, 0xB8, 0x02, 0xE3, 0x03, + 0x2F, 0x00, 0x7F, 0x03, 0x2B, 0x05, 0x30, 0x00, + 0x46, 0x04, 0x42, 0x06, 0x30, 0x00, 0x0D, 0x05, + 0x93, 0x07, 0x30, 0x00, 0xD4, 0x05, 0x56, 0x08, + 0x2C, 0x00, 0x9D, 0xFF, 0xE3, 0x03, 0x2C, 0x00, + 0xD6, 0xFE, 0xE3, 0x03, 0x2C, 0x00, 0x0F, 0xFE, + 0xE3, 0x03, 0x2C, 0x00, 0x48, 0xFD, 0xE3, 0x03, + 0x2F, 0x00, 0x81, 0xFC, 0x2B, 0x05, 0x30, 0x00, + 0xBA, 0xFB, 0x42, 0x06, 0x30, 0x00, 0xF3, 0xFA, + 0x93, 0x07, 0x30, 0x00, 0x2C, 0xFA, 0x56, 0x08, + 0x2E, 0x00, 0x63, 0x00, 0x98, 0x04, 0x2E, 0x00, + 0x2A, 0x01, 0x98, 0x04, 0x2E, 0x00, 0xF1, 0x01, + 0x98, 0x04, 0x2E, 0x00, 0xB8, 0x02, 0x98, 0x04, + 0x30, 0x00, 0x7F, 0x03, 0x1C, 0x06, 0x30, 0x00, + 0x46, 0x04, 0x66, 0x07, 0x30, 0x00, 0x0D, 0x05, + 0xF4, 0x08, 0x30, 0x00, 0xD4, 0x05, 0xDA, 0x09, + 0x2E, 0x00, 0x9D, 0xFF, 0x98, 0x04, 0x2E, 0x00, + 0xD6, 0xFE, 0x98, 0x04, 0x2E, 0x00, 0x0F, 0xFE, + 0x98, 0x04, 0x2E, 0x00, 0x48, 0xFD, 0x98, 0x04, + 0x30, 0x00, 0x81, 0xFC, 0x1C, 0x06, 0x30, 0x00, + 0xBA, 0xFB, 0x66, 0x07, 0x30, 0x00, 0xF3, 0xFA, + 0xF4, 0x08, 0x30, 0x00, 0x2C, 0xFA, 0xDA, 0x09, + 0x30, 0x00, 0x63, 0x00, 0x4D, 0x05, 0x30, 0x00, + 0x2A, 0x01, 0x4D, 0x05, 0x30, 0x00, 0xF1, 0x01, + 0x4D, 0x05, 0x30, 0x00, 0xB8, 0x02, 0x4D, 0x05, + 0x30, 0x00, 0x7F, 0x03, 0x0C, 0x07, 0x30, 0x00, + 0x46, 0x04, 0x89, 0x08, 0x30, 0x00, 0x0D, 0x05, + 0x54, 0x0A, 0x30, 0x00, 0xD4, 0x05, 0x5E, 0x0B, + 0x30, 0x00, 0x9D, 0xFF, 0x4D, 0x05, 0x30, 0x00, + 0xD6, 0xFE, 0x4D, 0x05, 0x30, 0x00, 0x0F, 0xFE, + 0x4D, 0x05, 0x30, 0x00, 0x48, 0xFD, 0x4D, 0x05, + 0x30, 0x00, 0x81, 0xFC, 0x0C, 0x07, 0x30, 0x00, + 0xBA, 0xFB, 0x89, 0x08, 0x30, 0x00, 0xF3, 0xFA, + 0x54, 0x0A, 0x30, 0x00, 0x2C, 0xFA, 0x5E, 0x0B, + 0x27, 0x00, 0x63, 0x00, 0xA6, 0xFF, 0x27, 0x00, + 0x2A, 0x01, 0xA6, 0xFF, 0x27, 0x00, 0xF1, 0x01, + 0xA6, 0xFF, 0x27, 0x00, 0xB8, 0x02, 0xA6, 0xFF, + 0x2A, 0x00, 0x7F, 0x03, 0x88, 0xFF, 0x2C, 0x00, + 0x46, 0x04, 0x6F, 0xFF, 0x2E, 0x00, 0x0D, 0x05, + 0x50, 0xFF, 0x2F, 0x00, 0xD4, 0x05, 0x3E, 0xFF, + 0x27, 0x00, 0x9D, 0xFF, 0xA6, 0xFF, 0x27, 0x00, + 0xD6, 0xFE, 0xA6, 0xFF, 0x27, 0x00, 0x0F, 0xFE, + 0xA6, 0xFF, 0x27, 0x00, 0x48, 0xFD, 0xA6, 0xFF, + 0x2A, 0x00, 0x81, 0xFC, 0x88, 0xFF, 0x2C, 0x00, + 0xBA, 0xFB, 0x6F, 0xFF, 0x2E, 0x00, 0xF3, 0xFA, + 0x50, 0xFF, 0x2F, 0x00, 0x2C, 0xFA, 0x3E, 0xFF, + 0x27, 0x00, 0x63, 0x00, 0xF1, 0xFE, 0x27, 0x00, + 0x2A, 0x01, 0xF1, 0xFE, 0x27, 0x00, 0xF1, 0x01, + 0xF1, 0xFE, 0x27, 0x00, 0xB8, 0x02, 0xF1, 0xFE, + 0x2A, 0x00, 0x7F, 0x03, 0x98, 0xFE, 0x2C, 0x00, + 0x46, 0x04, 0x4C, 0xFE, 0x2E, 0x00, 0x0D, 0x05, + 0xF0, 0xFD, 0x2F, 0x00, 0xD4, 0x05, 0xBA, 0xFD, + 0x27, 0x00, 0x9D, 0xFF, 0xF1, 0xFE, 0x27, 0x00, + 0xD6, 0xFE, 0xF1, 0xFE, 0x27, 0x00, 0x0F, 0xFE, + 0xF1, 0xFE, 0x27, 0x00, 0x48, 0xFD, 0xF1, 0xFE, + 0x2A, 0x00, 0x81, 0xFC, 0x98, 0xFE, 0x2C, 0x00, + 0xBA, 0xFB, 0x4C, 0xFE, 0x2E, 0x00, 0xF3, 0xFA, + 0xF0, 0xFD, 0x2F, 0x00, 0x2C, 0xFA, 0xBA, 0xFD, + 0x27, 0x00, 0x63, 0x00, 0x3C, 0xFE, 0x27, 0x00, + 0x2A, 0x01, 0x3C, 0xFE, 0x27, 0x00, 0xF1, 0x01, + 0x3C, 0xFE, 0x27, 0x00, 0xB8, 0x02, 0x3C, 0xFE, + 0x2A, 0x00, 0x7F, 0x03, 0xA7, 0xFD, 0x2C, 0x00, + 0x46, 0x04, 0x28, 0xFD, 0x2E, 0x00, 0x0D, 0x05, + 0x8F, 0xFC, 0x2F, 0x00, 0xD4, 0x05, 0x36, 0xFC, + 0x27, 0x00, 0x9D, 0xFF, 0x3C, 0xFE, 0x27, 0x00, + 0xD6, 0xFE, 0x3C, 0xFE, 0x27, 0x00, 0x0F, 0xFE, + 0x3C, 0xFE, 0x27, 0x00, 0x48, 0xFD, 0x3C, 0xFE, + 0x2A, 0x00, 0x81, 0xFC, 0xA7, 0xFD, 0x2C, 0x00, + 0xBA, 0xFB, 0x28, 0xFD, 0x2E, 0x00, 0xF3, 0xFA, + 0x8F, 0xFC, 0x2F, 0x00, 0x2C, 0xFA, 0x36, 0xFC, + 0x27, 0x00, 0x63, 0x00, 0x87, 0xFD, 0x27, 0x00, + 0x2A, 0x01, 0x87, 0xFD, 0x27, 0x00, 0xF1, 0x01, + 0x87, 0xFD, 0x27, 0x00, 0xB8, 0x02, 0x87, 0xFD, + 0x2A, 0x00, 0x7F, 0x03, 0xB7, 0xFC, 0x2C, 0x00, + 0x46, 0x04, 0x05, 0xFC, 0x2E, 0x00, 0x0D, 0x05, + 0x2F, 0xFB, 0x2F, 0x00, 0xD4, 0x05, 0xB2, 0xFA, + 0x27, 0x00, 0x9D, 0xFF, 0x87, 0xFD, 0x27, 0x00, + 0xD6, 0xFE, 0x87, 0xFD, 0x27, 0x00, 0x0F, 0xFE, + 0x87, 0xFD, 0x27, 0x00, 0x48, 0xFD, 0x87, 0xFD, + 0x2A, 0x00, 0x81, 0xFC, 0xB7, 0xFC, 0x2C, 0x00, + 0xBA, 0xFB, 0x05, 0xFC, 0x2E, 0x00, 0xF3, 0xFA, + 0x2F, 0xFB, 0x2F, 0x00, 0x2C, 0xFA, 0xB2, 0xFA, + 0x2A, 0x00, 0x63, 0x00, 0xD2, 0xFC, 0x2A, 0x00, + 0x2A, 0x01, 0xD2, 0xFC, 0x2A, 0x00, 0xF1, 0x01, + 0xD2, 0xFC, 0x2A, 0x00, 0xB8, 0x02, 0xD2, 0xFC, + 0x2D, 0x00, 0x7F, 0x03, 0xC5, 0xFB, 0x2F, 0x00, + 0x46, 0x04, 0xE1, 0xFA, 0x30, 0x00, 0x0D, 0x05, + 0xCD, 0xF9, 0x30, 0x00, 0xD4, 0x05, 0x2E, 0xF9, + 0x2A, 0x00, 0x9D, 0xFF, 0xD2, 0xFC, 0x2A, 0x00, + 0xD6, 0xFE, 0xD2, 0xFC, 0x2A, 0x00, 0x0F, 0xFE, + 0xD2, 0xFC, 0x2A, 0x00, 0x48, 0xFD, 0xD2, 0xFC, + 0x2D, 0x00, 0x81, 0xFC, 0xC5, 0xFB, 0x2F, 0x00, + 0xBA, 0xFB, 0xE1, 0xFA, 0x30, 0x00, 0xF3, 0xFA, + 0xCD, 0xF9, 0x30, 0x00, 0x2C, 0xFA, 0x2E, 0xF9, + 0x2C, 0x00, 0x63, 0x00, 0x1D, 0xFC, 0x2C, 0x00, + 0x2A, 0x01, 0x1D, 0xFC, 0x2C, 0x00, 0xF1, 0x01, + 0x1D, 0xFC, 0x2C, 0x00, 0xB8, 0x02, 0x1D, 0xFC, + 0x2F, 0x00, 0x7F, 0x03, 0xD5, 0xFA, 0x30, 0x00, + 0x46, 0x04, 0xBE, 0xF9, 0x30, 0x00, 0x0D, 0x05, + 0x6D, 0xF8, 0x30, 0x00, 0xD4, 0x05, 0xAA, 0xF7, + 0x2C, 0x00, 0x9D, 0xFF, 0x1D, 0xFC, 0x2C, 0x00, + 0xD6, 0xFE, 0x1D, 0xFC, 0x2C, 0x00, 0x0F, 0xFE, + 0x1D, 0xFC, 0x2C, 0x00, 0x48, 0xFD, 0x1D, 0xFC, + 0x2F, 0x00, 0x81, 0xFC, 0xD5, 0xFA, 0x30, 0x00, + 0xBA, 0xFB, 0xBE, 0xF9, 0x30, 0x00, 0xF3, 0xFA, + 0x6D, 0xF8, 0x30, 0x00, 0x2C, 0xFA, 0xAA, 0xF7, + 0x2E, 0x00, 0x63, 0x00, 0x68, 0xFB, 0x2E, 0x00, + 0x2A, 0x01, 0x68, 0xFB, 0x2E, 0x00, 0xF1, 0x01, + 0x68, 0xFB, 0x2E, 0x00, 0xB8, 0x02, 0x68, 0xFB, + 0x30, 0x00, 0x7F, 0x03, 0xE4, 0xF9, 0x30, 0x00, + 0x46, 0x04, 0x9A, 0xF8, 0x30, 0x00, 0x0D, 0x05, + 0x0C, 0xF7, 0x30, 0x00, 0xD4, 0x05, 0x26, 0xF6, + 0x2E, 0x00, 0x9D, 0xFF, 0x68, 0xFB, 0x2E, 0x00, + 0xD6, 0xFE, 0x68, 0xFB, 0x2E, 0x00, 0x0F, 0xFE, + 0x68, 0xFB, 0x2E, 0x00, 0x48, 0xFD, 0x68, 0xFB, + 0x30, 0x00, 0x81, 0xFC, 0xE4, 0xF9, 0x30, 0x00, + 0xBA, 0xFB, 0x9A, 0xF8, 0x30, 0x00, 0xF3, 0xFA, + 0x0C, 0xF7, 0x30, 0x00, 0x2C, 0xFA, 0x26, 0xF6, + 0x30, 0x00, 0x63, 0x00, 0xB3, 0xFA, 0x30, 0x00, + 0x2A, 0x01, 0xB3, 0xFA, 0x30, 0x00, 0xF1, 0x01, + 0xB3, 0xFA, 0x30, 0x00, 0xB8, 0x02, 0xB3, 0xFA, + 0x30, 0x00, 0x7F, 0x03, 0xF4, 0xF8, 0x30, 0x00, + 0x46, 0x04, 0x77, 0xF7, 0x30, 0x00, 0x0D, 0x05, + 0xAC, 0xF5, 0x30, 0x00, 0xD4, 0x05, 0xA2, 0xF4, + 0x30, 0x00, 0x9D, 0xFF, 0xB3, 0xFA, 0x30, 0x00, + 0xD6, 0xFE, 0xB3, 0xFA, 0x30, 0x00, 0x0F, 0xFE, + 0xB3, 0xFA, 0x30, 0x00, 0x48, 0xFD, 0xB3, 0xFA, + 0x30, 0x00, 0x81, 0xFC, 0xF4, 0xF8, 0x30, 0x00, + 0xBA, 0xFB, 0x77, 0xF7, 0x30, 0x00, 0xF3, 0xFA, + 0xAC, 0xF5, 0x30, 0x00, 0x2C, 0xFA, 0xA2, 0xF4, + 0x28, 0x00, 0x6D, 0x00, 0x63, 0x00, 0x28, 0x00, + 0x48, 0x01, 0x63, 0x00, 0x28, 0x00, 0x23, 0x02, + 0x63, 0x00, 0x28, 0x00, 0xFE, 0x02, 0x63, 0x00, + 0x2B, 0x00, 0xD9, 0x03, 0x84, 0x00, 0x2D, 0x00, + 0xB4, 0x04, 0xA0, 0x00, 0x2F, 0x00, 0x8F, 0x05, + 0xC2, 0x00, 0x2F, 0x00, 0x6A, 0x06, 0xC2, 0x00, + 0x28, 0x00, 0x93, 0xFF, 0x63, 0x00, 0x28, 0x00, + 0xB8, 0xFE, 0x63, 0x00, 0x28, 0x00, 0xDD, 0xFD, + 0x63, 0x00, 0x28, 0x00, 0x02, 0xFD, 0x63, 0x00, + 0x2B, 0x00, 0x27, 0xFC, 0x84, 0x00, 0x2D, 0x00, + 0x4C, 0xFB, 0xA0, 0x00, 0x2F, 0x00, 0x71, 0xFA, + 0xC2, 0x00, 0x2F, 0x00, 0x96, 0xF9, 0xC2, 0x00, + 0x28, 0x00, 0x6D, 0x00, 0x2A, 0x01, 0x28, 0x00, + 0x48, 0x01, 0x2A, 0x01, 0x28, 0x00, 0x23, 0x02, + 0x2A, 0x01, 0x28, 0x00, 0xFE, 0x02, 0x2A, 0x01, + 0x2B, 0x00, 0xD9, 0x03, 0x8D, 0x01, 0x2D, 0x00, + 0xB4, 0x04, 0xE0, 0x01, 0x2F, 0x00, 0x8F, 0x05, + 0x46, 0x02, 0x2F, 0x00, 0x6A, 0x06, 0x46, 0x02, + 0x28, 0x00, 0x93, 0xFF, 0x2A, 0x01, 0x28, 0x00, + 0xB8, 0xFE, 0x2A, 0x01, 0x28, 0x00, 0xDD, 0xFD, + 0x2A, 0x01, 0x28, 0x00, 0x02, 0xFD, 0x2A, 0x01, + 0x2B, 0x00, 0x27, 0xFC, 0x8D, 0x01, 0x2D, 0x00, + 0x4C, 0xFB, 0xE0, 0x01, 0x2F, 0x00, 0x71, 0xFA, + 0x46, 0x02, 0x2F, 0x00, 0x96, 0xF9, 0x46, 0x02, + 0x28, 0x00, 0x6D, 0x00, 0xF1, 0x01, 0x28, 0x00, + 0x48, 0x01, 0xF1, 0x01, 0x28, 0x00, 0x23, 0x02, + 0xF1, 0x01, 0x28, 0x00, 0xFE, 0x02, 0xF1, 0x01, + 0x2B, 0x00, 0xD9, 0x03, 0x96, 0x02, 0x2D, 0x00, + 0xB4, 0x04, 0x21, 0x03, 0x2F, 0x00, 0x8F, 0x05, + 0xCA, 0x03, 0x2F, 0x00, 0x6A, 0x06, 0xCA, 0x03, + 0x28, 0x00, 0x93, 0xFF, 0xF1, 0x01, 0x28, 0x00, + 0xB8, 0xFE, 0xF1, 0x01, 0x28, 0x00, 0xDD, 0xFD, + 0xF1, 0x01, 0x28, 0x00, 0x02, 0xFD, 0xF1, 0x01, + 0x2B, 0x00, 0x27, 0xFC, 0x96, 0x02, 0x2D, 0x00, + 0x4C, 0xFB, 0x21, 0x03, 0x2F, 0x00, 0x71, 0xFA, + 0xCA, 0x03, 0x2F, 0x00, 0x96, 0xF9, 0xCA, 0x03, + 0x28, 0x00, 0x6D, 0x00, 0xB8, 0x02, 0x28, 0x00, + 0x48, 0x01, 0xB8, 0x02, 0x28, 0x00, 0x23, 0x02, + 0xB8, 0x02, 0x28, 0x00, 0xFE, 0x02, 0xB8, 0x02, + 0x2B, 0x00, 0xD9, 0x03, 0x9F, 0x03, 0x2D, 0x00, + 0xB4, 0x04, 0x61, 0x04, 0x2F, 0x00, 0x8F, 0x05, + 0x4E, 0x05, 0x2F, 0x00, 0x6A, 0x06, 0x4E, 0x05, + 0x28, 0x00, 0x93, 0xFF, 0xB8, 0x02, 0x28, 0x00, + 0xB8, 0xFE, 0xB8, 0x02, 0x28, 0x00, 0xDD, 0xFD, + 0xB8, 0x02, 0x28, 0x00, 0x02, 0xFD, 0xB8, 0x02, + 0x2B, 0x00, 0x27, 0xFC, 0x9F, 0x03, 0x2D, 0x00, + 0x4C, 0xFB, 0x61, 0x04, 0x2F, 0x00, 0x71, 0xFA, + 0x4E, 0x05, 0x2F, 0x00, 0x96, 0xF9, 0x4E, 0x05, + 0x2B, 0x00, 0x6D, 0x00, 0x7F, 0x03, 0x2B, 0x00, + 0x48, 0x01, 0x7F, 0x03, 0x2B, 0x00, 0x23, 0x02, + 0x7F, 0x03, 0x2B, 0x00, 0xFE, 0x02, 0x7F, 0x03, + 0x2E, 0x00, 0xD9, 0x03, 0xA8, 0x04, 0x30, 0x00, + 0xB4, 0x04, 0xA2, 0x05, 0x30, 0x00, 0x8F, 0x05, + 0xD2, 0x06, 0x30, 0x00, 0x6A, 0x06, 0xD2, 0x06, + 0x2B, 0x00, 0x93, 0xFF, 0x7F, 0x03, 0x2B, 0x00, + 0xB8, 0xFE, 0x7F, 0x03, 0x2B, 0x00, 0xDD, 0xFD, + 0x7F, 0x03, 0x2B, 0x00, 0x02, 0xFD, 0x7F, 0x03, + 0x2E, 0x00, 0x27, 0xFC, 0xA8, 0x04, 0x30, 0x00, + 0x4C, 0xFB, 0xA2, 0x05, 0x30, 0x00, 0x71, 0xFA, + 0xD2, 0x06, 0x30, 0x00, 0x96, 0xF9, 0xD2, 0x06, + 0x2D, 0x00, 0x6D, 0x00, 0x46, 0x04, 0x2D, 0x00, + 0x48, 0x01, 0x46, 0x04, 0x2D, 0x00, 0x23, 0x02, + 0x46, 0x04, 0x2D, 0x00, 0xFE, 0x02, 0x46, 0x04, + 0x30, 0x00, 0xD9, 0x03, 0xB1, 0x05, 0x30, 0x00, + 0xB4, 0x04, 0xE2, 0x06, 0x30, 0x00, 0x8F, 0x05, + 0x56, 0x08, 0x30, 0x00, 0x6A, 0x06, 0x56, 0x08, + 0x2D, 0x00, 0x93, 0xFF, 0x46, 0x04, 0x2D, 0x00, + 0xB8, 0xFE, 0x46, 0x04, 0x2D, 0x00, 0xDD, 0xFD, + 0x46, 0x04, 0x2D, 0x00, 0x02, 0xFD, 0x46, 0x04, + 0x30, 0x00, 0x27, 0xFC, 0xB1, 0x05, 0x30, 0x00, + 0x4C, 0xFB, 0xE2, 0x06, 0x30, 0x00, 0x71, 0xFA, + 0x56, 0x08, 0x30, 0x00, 0x96, 0xF9, 0x56, 0x08, + 0x2F, 0x00, 0x6D, 0x00, 0x0D, 0x05, 0x2F, 0x00, + 0x48, 0x01, 0x0D, 0x05, 0x2F, 0x00, 0x23, 0x02, + 0x0D, 0x05, 0x2F, 0x00, 0xFE, 0x02, 0x0D, 0x05, + 0x30, 0x00, 0xD9, 0x03, 0xBA, 0x06, 0x30, 0x00, + 0xB4, 0x04, 0x23, 0x08, 0x30, 0x00, 0x8F, 0x05, + 0xDA, 0x09, 0x30, 0x00, 0x6A, 0x06, 0xDA, 0x09, + 0x2F, 0x00, 0x93, 0xFF, 0x0D, 0x05, 0x2F, 0x00, + 0xB8, 0xFE, 0x0D, 0x05, 0x2F, 0x00, 0xDD, 0xFD, + 0x0D, 0x05, 0x2F, 0x00, 0x02, 0xFD, 0x0D, 0x05, + 0x30, 0x00, 0x27, 0xFC, 0xBA, 0x06, 0x30, 0x00, + 0x4C, 0xFB, 0x23, 0x08, 0x30, 0x00, 0x71, 0xFA, + 0xDA, 0x09, 0x30, 0x00, 0x96, 0xF9, 0xDA, 0x09, + 0x30, 0x00, 0x6D, 0x00, 0xD4, 0x05, 0x30, 0x00, + 0x48, 0x01, 0xD4, 0x05, 0x30, 0x00, 0x23, 0x02, + 0xD4, 0x05, 0x30, 0x00, 0xFE, 0x02, 0xD4, 0x05, + 0x30, 0x00, 0xD9, 0x03, 0xC3, 0x07, 0x30, 0x00, + 0xB4, 0x04, 0x63, 0x09, 0x30, 0x00, 0x8F, 0x05, + 0x5E, 0x0B, 0x30, 0x00, 0x6A, 0x06, 0x5E, 0x0B, + 0x30, 0x00, 0x93, 0xFF, 0xD4, 0x05, 0x30, 0x00, + 0xB8, 0xFE, 0xD4, 0x05, 0x30, 0x00, 0xDD, 0xFD, + 0xD4, 0x05, 0x30, 0x00, 0x02, 0xFD, 0xD4, 0x05, + 0x30, 0x00, 0x27, 0xFC, 0xC3, 0x07, 0x30, 0x00, + 0x4C, 0xFB, 0x63, 0x09, 0x30, 0x00, 0x71, 0xFA, + 0x5E, 0x0B, 0x30, 0x00, 0x96, 0xF9, 0x5E, 0x0B, + 0x28, 0x00, 0x6D, 0x00, 0x9D, 0xFF, 0x28, 0x00, + 0x48, 0x01, 0x9D, 0xFF, 0x28, 0x00, 0x23, 0x02, + 0x9D, 0xFF, 0x28, 0x00, 0xFE, 0x02, 0x9D, 0xFF, + 0x2B, 0x00, 0xD9, 0x03, 0x7C, 0xFF, 0x2D, 0x00, + 0xB4, 0x04, 0x60, 0xFF, 0x2F, 0x00, 0x8F, 0x05, + 0x3E, 0xFF, 0x2F, 0x00, 0x6A, 0x06, 0x3E, 0xFF, + 0x28, 0x00, 0x93, 0xFF, 0x9D, 0xFF, 0x28, 0x00, + 0xB8, 0xFE, 0x9D, 0xFF, 0x28, 0x00, 0xDD, 0xFD, + 0x9D, 0xFF, 0x28, 0x00, 0x02, 0xFD, 0x9D, 0xFF, + 0x2B, 0x00, 0x27, 0xFC, 0x7C, 0xFF, 0x2D, 0x00, + 0x4C, 0xFB, 0x60, 0xFF, 0x2F, 0x00, 0x71, 0xFA, + 0x3E, 0xFF, 0x2F, 0x00, 0x96, 0xF9, 0x3E, 0xFF, + 0x28, 0x00, 0x6D, 0x00, 0xD6, 0xFE, 0x28, 0x00, + 0x48, 0x01, 0xD6, 0xFE, 0x28, 0x00, 0x23, 0x02, + 0xD6, 0xFE, 0x28, 0x00, 0xFE, 0x02, 0xD6, 0xFE, + 0x2B, 0x00, 0xD9, 0x03, 0x73, 0xFE, 0x2D, 0x00, + 0xB4, 0x04, 0x20, 0xFE, 0x2F, 0x00, 0x8F, 0x05, + 0xBA, 0xFD, 0x2F, 0x00, 0x6A, 0x06, 0xBA, 0xFD, + 0x28, 0x00, 0x93, 0xFF, 0xD6, 0xFE, 0x28, 0x00, + 0xB8, 0xFE, 0xD6, 0xFE, 0x28, 0x00, 0xDD, 0xFD, + 0xD6, 0xFE, 0x28, 0x00, 0x02, 0xFD, 0xD6, 0xFE, + 0x2B, 0x00, 0x27, 0xFC, 0x73, 0xFE, 0x2D, 0x00, + 0x4C, 0xFB, 0x20, 0xFE, 0x2F, 0x00, 0x71, 0xFA, + 0xBA, 0xFD, 0x2F, 0x00, 0x96, 0xF9, 0xBA, 0xFD, + 0x28, 0x00, 0x6D, 0x00, 0x0F, 0xFE, 0x28, 0x00, + 0x48, 0x01, 0x0F, 0xFE, 0x28, 0x00, 0x23, 0x02, + 0x0F, 0xFE, 0x28, 0x00, 0xFE, 0x02, 0x0F, 0xFE, + 0x2B, 0x00, 0xD9, 0x03, 0x6A, 0xFD, 0x2D, 0x00, + 0xB4, 0x04, 0xDF, 0xFC, 0x2F, 0x00, 0x8F, 0x05, + 0x36, 0xFC, 0x2F, 0x00, 0x6A, 0x06, 0x36, 0xFC, + 0x28, 0x00, 0x93, 0xFF, 0x0F, 0xFE, 0x28, 0x00, + 0xB8, 0xFE, 0x0F, 0xFE, 0x28, 0x00, 0xDD, 0xFD, + 0x0F, 0xFE, 0x28, 0x00, 0x02, 0xFD, 0x0F, 0xFE, + 0x2B, 0x00, 0x27, 0xFC, 0x6A, 0xFD, 0x2D, 0x00, + 0x4C, 0xFB, 0xDF, 0xFC, 0x2F, 0x00, 0x71, 0xFA, + 0x36, 0xFC, 0x2F, 0x00, 0x96, 0xF9, 0x36, 0xFC, + 0x28, 0x00, 0x6D, 0x00, 0x48, 0xFD, 0x28, 0x00, + 0x48, 0x01, 0x48, 0xFD, 0x28, 0x00, 0x23, 0x02, + 0x48, 0xFD, 0x28, 0x00, 0xFE, 0x02, 0x48, 0xFD, + 0x2B, 0x00, 0xD9, 0x03, 0x61, 0xFC, 0x2D, 0x00, + 0xB4, 0x04, 0x9F, 0xFB, 0x2F, 0x00, 0x8F, 0x05, + 0xB2, 0xFA, 0x2F, 0x00, 0x6A, 0x06, 0xB2, 0xFA, + 0x28, 0x00, 0x93, 0xFF, 0x48, 0xFD, 0x28, 0x00, + 0xB8, 0xFE, 0x48, 0xFD, 0x28, 0x00, 0xDD, 0xFD, + 0x48, 0xFD, 0x28, 0x00, 0x02, 0xFD, 0x48, 0xFD, + 0x2B, 0x00, 0x27, 0xFC, 0x61, 0xFC, 0x2D, 0x00, + 0x4C, 0xFB, 0x9F, 0xFB, 0x2F, 0x00, 0x71, 0xFA, + 0xB2, 0xFA, 0x2F, 0x00, 0x96, 0xF9, 0xB2, 0xFA, + 0x2B, 0x00, 0x6D, 0x00, 0x81, 0xFC, 0x2B, 0x00, + 0x48, 0x01, 0x81, 0xFC, 0x2B, 0x00, 0x23, 0x02, + 0x81, 0xFC, 0x2B, 0x00, 0xFE, 0x02, 0x81, 0xFC, + 0x2E, 0x00, 0xD9, 0x03, 0x58, 0xFB, 0x30, 0x00, + 0xB4, 0x04, 0x5E, 0xFA, 0x30, 0x00, 0x8F, 0x05, + 0x2E, 0xF9, 0x30, 0x00, 0x6A, 0x06, 0x2E, 0xF9, + 0x2B, 0x00, 0x93, 0xFF, 0x81, 0xFC, 0x2B, 0x00, + 0xB8, 0xFE, 0x81, 0xFC, 0x2B, 0x00, 0xDD, 0xFD, + 0x81, 0xFC, 0x2B, 0x00, 0x02, 0xFD, 0x81, 0xFC, + 0x2E, 0x00, 0x27, 0xFC, 0x58, 0xFB, 0x30, 0x00, + 0x4C, 0xFB, 0x5E, 0xFA, 0x30, 0x00, 0x71, 0xFA, + 0x2E, 0xF9, 0x30, 0x00, 0x96, 0xF9, 0x2E, 0xF9, + 0x2D, 0x00, 0x6D, 0x00, 0xBA, 0xFB, 0x2D, 0x00, + 0x48, 0x01, 0xBA, 0xFB, 0x2D, 0x00, 0x23, 0x02, + 0xBA, 0xFB, 0x2D, 0x00, 0xFE, 0x02, 0xBA, 0xFB, + 0x30, 0x00, 0xD9, 0x03, 0x4F, 0xFA, 0x30, 0x00, + 0xB4, 0x04, 0x1E, 0xF9, 0x30, 0x00, 0x8F, 0x05, + 0xAA, 0xF7, 0x30, 0x00, 0x6A, 0x06, 0xAA, 0xF7, + 0x2D, 0x00, 0x93, 0xFF, 0xBA, 0xFB, 0x2D, 0x00, + 0xB8, 0xFE, 0xBA, 0xFB, 0x2D, 0x00, 0xDD, 0xFD, + 0xBA, 0xFB, 0x2D, 0x00, 0x02, 0xFD, 0xBA, 0xFB, + 0x30, 0x00, 0x27, 0xFC, 0x4F, 0xFA, 0x30, 0x00, + 0x4C, 0xFB, 0x1E, 0xF9, 0x30, 0x00, 0x71, 0xFA, + 0xAA, 0xF7, 0x30, 0x00, 0x96, 0xF9, 0xAA, 0xF7, + 0x2F, 0x00, 0x6D, 0x00, 0xF3, 0xFA, 0x2F, 0x00, + 0x48, 0x01, 0xF3, 0xFA, 0x2F, 0x00, 0x23, 0x02, + 0xF3, 0xFA, 0x2F, 0x00, 0xFE, 0x02, 0xF3, 0xFA, + 0x30, 0x00, 0xD9, 0x03, 0x46, 0xF9, 0x30, 0x00, + 0xB4, 0x04, 0xDD, 0xF7, 0x30, 0x00, 0x8F, 0x05, + 0x26, 0xF6, 0x30, 0x00, 0x6A, 0x06, 0x26, 0xF6, + 0x2F, 0x00, 0x93, 0xFF, 0xF3, 0xFA, 0x2F, 0x00, + 0xB8, 0xFE, 0xF3, 0xFA, 0x2F, 0x00, 0xDD, 0xFD, + 0xF3, 0xFA, 0x2F, 0x00, 0x02, 0xFD, 0xF3, 0xFA, + 0x30, 0x00, 0x27, 0xFC, 0x46, 0xF9, 0x30, 0x00, + 0x4C, 0xFB, 0xDD, 0xF7, 0x30, 0x00, 0x71, 0xFA, + 0x26, 0xF6, 0x30, 0x00, 0x96, 0xF9, 0x26, 0xF6, + 0x30, 0x00, 0x6D, 0x00, 0x2C, 0xFA, 0x30, 0x00, + 0x48, 0x01, 0x2C, 0xFA, 0x30, 0x00, 0x23, 0x02, + 0x2C, 0xFA, 0x30, 0x00, 0xFE, 0x02, 0x2C, 0xFA, + 0x30, 0x00, 0xD9, 0x03, 0x3D, 0xF8, 0x30, 0x00, + 0xB4, 0x04, 0x9D, 0xF6, 0x30, 0x00, 0x8F, 0x05, + 0xA2, 0xF4, 0x30, 0x00, 0x6A, 0x06, 0xA2, 0xF4, + 0x30, 0x00, 0x93, 0xFF, 0x2C, 0xFA, 0x30, 0x00, + 0xB8, 0xFE, 0x2C, 0xFA, 0x30, 0x00, 0xDD, 0xFD, + 0x2C, 0xFA, 0x30, 0x00, 0x02, 0xFD, 0x2C, 0xFA, + 0x30, 0x00, 0x27, 0xFC, 0x3D, 0xF8, 0x30, 0x00, + 0x4C, 0xFB, 0x9D, 0xF6, 0x30, 0x00, 0x71, 0xFA, + 0xA2, 0xF4, 0x30, 0x00, 0x96, 0xF9, 0xA2, 0xF4, + 0x29, 0x00, 0x78, 0x00, 0x6D, 0x00, 0x29, 0x00, + 0x68, 0x01, 0x6D, 0x00, 0x29, 0x00, 0x59, 0x02, + 0x6D, 0x00, 0x29, 0x00, 0x49, 0x03, 0x6D, 0x00, + 0x2C, 0x00, 0x3B, 0x04, 0x91, 0x00, 0x2E, 0x00, + 0x2B, 0x05, 0xB0, 0x00, 0x2F, 0x00, 0x1C, 0x06, + 0xC2, 0x00, 0x2F, 0x00, 0x0C, 0x07, 0xC2, 0x00, + 0x29, 0x00, 0x88, 0xFF, 0x6D, 0x00, 0x29, 0x00, + 0x98, 0xFE, 0x6D, 0x00, 0x29, 0x00, 0xA7, 0xFD, + 0x6D, 0x00, 0x29, 0x00, 0xB7, 0xFC, 0x6D, 0x00, + 0x2C, 0x00, 0xC5, 0xFB, 0x91, 0x00, 0x2E, 0x00, + 0xD5, 0xFA, 0xB0, 0x00, 0x2F, 0x00, 0xE4, 0xF9, + 0xC2, 0x00, 0x2F, 0x00, 0xF4, 0xF8, 0xC2, 0x00, + 0x29, 0x00, 0x78, 0x00, 0x48, 0x01, 0x29, 0x00, + 0x68, 0x01, 0x48, 0x01, 0x29, 0x00, 0x59, 0x02, + 0x48, 0x01, 0x29, 0x00, 0x49, 0x03, 0x48, 0x01, + 0x2C, 0x00, 0x3B, 0x04, 0xB4, 0x01, 0x2E, 0x00, + 0x2B, 0x05, 0x10, 0x02, 0x2F, 0x00, 0x1C, 0x06, + 0x46, 0x02, 0x2F, 0x00, 0x0C, 0x07, 0x46, 0x02, + 0x29, 0x00, 0x88, 0xFF, 0x48, 0x01, 0x29, 0x00, + 0x98, 0xFE, 0x48, 0x01, 0x29, 0x00, 0xA7, 0xFD, + 0x48, 0x01, 0x29, 0x00, 0xB7, 0xFC, 0x48, 0x01, + 0x2C, 0x00, 0xC5, 0xFB, 0xB4, 0x01, 0x2E, 0x00, + 0xD5, 0xFA, 0x10, 0x02, 0x2F, 0x00, 0xE4, 0xF9, + 0x46, 0x02, 0x2F, 0x00, 0xF4, 0xF8, 0x46, 0x02, + 0x29, 0x00, 0x78, 0x00, 0x23, 0x02, 0x29, 0x00, + 0x68, 0x01, 0x23, 0x02, 0x29, 0x00, 0x59, 0x02, + 0x23, 0x02, 0x29, 0x00, 0x49, 0x03, 0x23, 0x02, + 0x2C, 0x00, 0x3B, 0x04, 0xD8, 0x02, 0x2E, 0x00, + 0x2B, 0x05, 0x71, 0x03, 0x2F, 0x00, 0x1C, 0x06, + 0xCA, 0x03, 0x2F, 0x00, 0x0C, 0x07, 0xCA, 0x03, + 0x29, 0x00, 0x88, 0xFF, 0x23, 0x02, 0x29, 0x00, + 0x98, 0xFE, 0x23, 0x02, 0x29, 0x00, 0xA7, 0xFD, + 0x23, 0x02, 0x29, 0x00, 0xB7, 0xFC, 0x23, 0x02, + 0x2C, 0x00, 0xC5, 0xFB, 0xD8, 0x02, 0x2E, 0x00, + 0xD5, 0xFA, 0x71, 0x03, 0x2F, 0x00, 0xE4, 0xF9, + 0xCA, 0x03, 0x2F, 0x00, 0xF4, 0xF8, 0xCA, 0x03, + 0x29, 0x00, 0x78, 0x00, 0xFE, 0x02, 0x29, 0x00, + 0x68, 0x01, 0xFE, 0x02, 0x29, 0x00, 0x59, 0x02, + 0xFE, 0x02, 0x29, 0x00, 0x49, 0x03, 0xFE, 0x02, + 0x2C, 0x00, 0x3B, 0x04, 0xFB, 0x03, 0x2E, 0x00, + 0x2B, 0x05, 0xD1, 0x04, 0x2F, 0x00, 0x1C, 0x06, + 0x4E, 0x05, 0x2F, 0x00, 0x0C, 0x07, 0x4E, 0x05, + 0x29, 0x00, 0x88, 0xFF, 0xFE, 0x02, 0x29, 0x00, + 0x98, 0xFE, 0xFE, 0x02, 0x29, 0x00, 0xA7, 0xFD, + 0xFE, 0x02, 0x29, 0x00, 0xB7, 0xFC, 0xFE, 0x02, + 0x2C, 0x00, 0xC5, 0xFB, 0xFB, 0x03, 0x2E, 0x00, + 0xD5, 0xFA, 0xD1, 0x04, 0x2F, 0x00, 0xE4, 0xF9, + 0x4E, 0x05, 0x2F, 0x00, 0xF4, 0xF8, 0x4E, 0x05, + 0x2C, 0x00, 0x78, 0x00, 0xD9, 0x03, 0x2C, 0x00, + 0x68, 0x01, 0xD9, 0x03, 0x2C, 0x00, 0x59, 0x02, + 0xD9, 0x03, 0x2C, 0x00, 0x49, 0x03, 0xD9, 0x03, + 0x2F, 0x00, 0x3B, 0x04, 0x1F, 0x05, 0x30, 0x00, + 0x2B, 0x05, 0x33, 0x06, 0x30, 0x00, 0x1C, 0x06, + 0xD2, 0x06, 0x30, 0x00, 0x0C, 0x07, 0xD2, 0x06, + 0x2C, 0x00, 0x88, 0xFF, 0xD9, 0x03, 0x2C, 0x00, + 0x98, 0xFE, 0xD9, 0x03, 0x2C, 0x00, 0xA7, 0xFD, + 0xD9, 0x03, 0x2C, 0x00, 0xB7, 0xFC, 0xD9, 0x03, + 0x2F, 0x00, 0xC5, 0xFB, 0x1F, 0x05, 0x30, 0x00, + 0xD5, 0xFA, 0x33, 0x06, 0x30, 0x00, 0xE4, 0xF9, + 0xD2, 0x06, 0x30, 0x00, 0xF4, 0xF8, 0xD2, 0x06, + 0x2E, 0x00, 0x78, 0x00, 0xB4, 0x04, 0x2E, 0x00, + 0x68, 0x01, 0xB4, 0x04, 0x2E, 0x00, 0x59, 0x02, + 0xB4, 0x04, 0x2E, 0x00, 0x49, 0x03, 0xB4, 0x04, + 0x30, 0x00, 0x3B, 0x04, 0x42, 0x06, 0x30, 0x00, + 0x2B, 0x05, 0x93, 0x07, 0x30, 0x00, 0x1C, 0x06, + 0x56, 0x08, 0x30, 0x00, 0x0C, 0x07, 0x56, 0x08, + 0x2E, 0x00, 0x88, 0xFF, 0xB4, 0x04, 0x2E, 0x00, + 0x98, 0xFE, 0xB4, 0x04, 0x2E, 0x00, 0xA7, 0xFD, + 0xB4, 0x04, 0x2E, 0x00, 0xB7, 0xFC, 0xB4, 0x04, + 0x30, 0x00, 0xC5, 0xFB, 0x42, 0x06, 0x30, 0x00, + 0xD5, 0xFA, 0x93, 0x07, 0x30, 0x00, 0xE4, 0xF9, + 0x56, 0x08, 0x30, 0x00, 0xF4, 0xF8, 0x56, 0x08, + 0x30, 0x00, 0x78, 0x00, 0x8F, 0x05, 0x30, 0x00, + 0x68, 0x01, 0x8F, 0x05, 0x30, 0x00, 0x59, 0x02, + 0x8F, 0x05, 0x30, 0x00, 0x49, 0x03, 0x8F, 0x05, + 0x30, 0x00, 0x3B, 0x04, 0x66, 0x07, 0x30, 0x00, + 0x2B, 0x05, 0xF4, 0x08, 0x30, 0x00, 0x1C, 0x06, + 0xDA, 0x09, 0x30, 0x00, 0x0C, 0x07, 0xDA, 0x09, + 0x30, 0x00, 0x88, 0xFF, 0x8F, 0x05, 0x30, 0x00, + 0x98, 0xFE, 0x8F, 0x05, 0x30, 0x00, 0xA7, 0xFD, + 0x8F, 0x05, 0x30, 0x00, 0xB7, 0xFC, 0x8F, 0x05, + 0x30, 0x00, 0xC5, 0xFB, 0x66, 0x07, 0x30, 0x00, + 0xD5, 0xFA, 0xF4, 0x08, 0x30, 0x00, 0xE4, 0xF9, + 0xDA, 0x09, 0x30, 0x00, 0xF4, 0xF8, 0xDA, 0x09, + 0x30, 0x00, 0x78, 0x00, 0x6A, 0x06, 0x30, 0x00, + 0x68, 0x01, 0x6A, 0x06, 0x30, 0x00, 0x59, 0x02, + 0x6A, 0x06, 0x30, 0x00, 0x49, 0x03, 0x6A, 0x06, + 0x30, 0x00, 0x3B, 0x04, 0x89, 0x08, 0x30, 0x00, + 0x2B, 0x05, 0x54, 0x0A, 0x30, 0x00, 0x1C, 0x06, + 0x5E, 0x0B, 0x30, 0x00, 0x0C, 0x07, 0x5E, 0x0B, + 0x30, 0x00, 0x88, 0xFF, 0x6A, 0x06, 0x30, 0x00, + 0x98, 0xFE, 0x6A, 0x06, 0x30, 0x00, 0xA7, 0xFD, + 0x6A, 0x06, 0x30, 0x00, 0xB7, 0xFC, 0x6A, 0x06, + 0x30, 0x00, 0xC5, 0xFB, 0x89, 0x08, 0x30, 0x00, + 0xD5, 0xFA, 0x54, 0x0A, 0x30, 0x00, 0xE4, 0xF9, + 0x5E, 0x0B, 0x30, 0x00, 0xF4, 0xF8, 0x5E, 0x0B, + 0x29, 0x00, 0x78, 0x00, 0x93, 0xFF, 0x29, 0x00, + 0x68, 0x01, 0x93, 0xFF, 0x29, 0x00, 0x59, 0x02, + 0x93, 0xFF, 0x29, 0x00, 0x49, 0x03, 0x93, 0xFF, + 0x2C, 0x00, 0x3B, 0x04, 0x6F, 0xFF, 0x2E, 0x00, + 0x2B, 0x05, 0x50, 0xFF, 0x2F, 0x00, 0x1C, 0x06, + 0x3E, 0xFF, 0x2F, 0x00, 0x0C, 0x07, 0x3E, 0xFF, + 0x29, 0x00, 0x88, 0xFF, 0x93, 0xFF, 0x29, 0x00, + 0x98, 0xFE, 0x93, 0xFF, 0x29, 0x00, 0xA7, 0xFD, + 0x93, 0xFF, 0x29, 0x00, 0xB7, 0xFC, 0x93, 0xFF, + 0x2C, 0x00, 0xC5, 0xFB, 0x6F, 0xFF, 0x2E, 0x00, + 0xD5, 0xFA, 0x50, 0xFF, 0x2F, 0x00, 0xE4, 0xF9, + 0x3E, 0xFF, 0x2F, 0x00, 0xF4, 0xF8, 0x3E, 0xFF, + 0x29, 0x00, 0x78, 0x00, 0xB8, 0xFE, 0x29, 0x00, + 0x68, 0x01, 0xB8, 0xFE, 0x29, 0x00, 0x59, 0x02, + 0xB8, 0xFE, 0x29, 0x00, 0x49, 0x03, 0xB8, 0xFE, + 0x2C, 0x00, 0x3B, 0x04, 0x4C, 0xFE, 0x2E, 0x00, + 0x2B, 0x05, 0xF0, 0xFD, 0x2F, 0x00, 0x1C, 0x06, + 0xBA, 0xFD, 0x2F, 0x00, 0x0C, 0x07, 0xBA, 0xFD, + 0x29, 0x00, 0x88, 0xFF, 0xB8, 0xFE, 0x29, 0x00, + 0x98, 0xFE, 0xB8, 0xFE, 0x29, 0x00, 0xA7, 0xFD, + 0xB8, 0xFE, 0x29, 0x00, 0xB7, 0xFC, 0xB8, 0xFE, + 0x2C, 0x00, 0xC5, 0xFB, 0x4C, 0xFE, 0x2E, 0x00, + 0xD5, 0xFA, 0xF0, 0xFD, 0x2F, 0x00, 0xE4, 0xF9, + 0xBA, 0xFD, 0x2F, 0x00, 0xF4, 0xF8, 0xBA, 0xFD, + 0x29, 0x00, 0x78, 0x00, 0xDD, 0xFD, 0x29, 0x00, + 0x68, 0x01, 0xDD, 0xFD, 0x29, 0x00, 0x59, 0x02, + 0xDD, 0xFD, 0x29, 0x00, 0x49, 0x03, 0xDD, 0xFD, + 0x2C, 0x00, 0x3B, 0x04, 0x28, 0xFD, 0x2E, 0x00, + 0x2B, 0x05, 0x8F, 0xFC, 0x2F, 0x00, 0x1C, 0x06, + 0x36, 0xFC, 0x2F, 0x00, 0x0C, 0x07, 0x36, 0xFC, + 0x29, 0x00, 0x88, 0xFF, 0xDD, 0xFD, 0x29, 0x00, + 0x98, 0xFE, 0xDD, 0xFD, 0x29, 0x00, 0xA7, 0xFD, + 0xDD, 0xFD, 0x29, 0x00, 0xB7, 0xFC, 0xDD, 0xFD, + 0x2C, 0x00, 0xC5, 0xFB, 0x28, 0xFD, 0x2E, 0x00, + 0xD5, 0xFA, 0x8F, 0xFC, 0x2F, 0x00, 0xE4, 0xF9, + 0x36, 0xFC, 0x2F, 0x00, 0xF4, 0xF8, 0x36, 0xFC, + 0x29, 0x00, 0x78, 0x00, 0x02, 0xFD, 0x29, 0x00, + 0x68, 0x01, 0x02, 0xFD, 0x29, 0x00, 0x59, 0x02, + 0x02, 0xFD, 0x29, 0x00, 0x49, 0x03, 0x02, 0xFD, + 0x2C, 0x00, 0x3B, 0x04, 0x05, 0xFC, 0x2E, 0x00, + 0x2B, 0x05, 0x2F, 0xFB, 0x2F, 0x00, 0x1C, 0x06, + 0xB2, 0xFA, 0x2F, 0x00, 0x0C, 0x07, 0xB2, 0xFA, + 0x29, 0x00, 0x88, 0xFF, 0x02, 0xFD, 0x29, 0x00, + 0x98, 0xFE, 0x02, 0xFD, 0x29, 0x00, 0xA7, 0xFD, + 0x02, 0xFD, 0x29, 0x00, 0xB7, 0xFC, 0x02, 0xFD, + 0x2C, 0x00, 0xC5, 0xFB, 0x05, 0xFC, 0x2E, 0x00, + 0xD5, 0xFA, 0x2F, 0xFB, 0x2F, 0x00, 0xE4, 0xF9, + 0xB2, 0xFA, 0x2F, 0x00, 0xF4, 0xF8, 0xB2, 0xFA, + 0x2C, 0x00, 0x78, 0x00, 0x27, 0xFC, 0x2C, 0x00, + 0x68, 0x01, 0x27, 0xFC, 0x2C, 0x00, 0x59, 0x02, + 0x27, 0xFC, 0x2C, 0x00, 0x49, 0x03, 0x27, 0xFC, + 0x2F, 0x00, 0x3B, 0x04, 0xE1, 0xFA, 0x30, 0x00, + 0x2B, 0x05, 0xCD, 0xF9, 0x30, 0x00, 0x1C, 0x06, + 0x2E, 0xF9, 0x30, 0x00, 0x0C, 0x07, 0x2E, 0xF9, + 0x2C, 0x00, 0x88, 0xFF, 0x27, 0xFC, 0x2C, 0x00, + 0x98, 0xFE, 0x27, 0xFC, 0x2C, 0x00, 0xA7, 0xFD, + 0x27, 0xFC, 0x2C, 0x00, 0xB7, 0xFC, 0x27, 0xFC, + 0x2F, 0x00, 0xC5, 0xFB, 0xE1, 0xFA, 0x30, 0x00, + 0xD5, 0xFA, 0xCD, 0xF9, 0x30, 0x00, 0xE4, 0xF9, + 0x2E, 0xF9, 0x30, 0x00, 0xF4, 0xF8, 0x2E, 0xF9, + 0x2E, 0x00, 0x78, 0x00, 0x4C, 0xFB, 0x2E, 0x00, + 0x68, 0x01, 0x4C, 0xFB, 0x2E, 0x00, 0x59, 0x02, + 0x4C, 0xFB, 0x2E, 0x00, 0x49, 0x03, 0x4C, 0xFB, + 0x30, 0x00, 0x3B, 0x04, 0xBE, 0xF9, 0x30, 0x00, + 0x2B, 0x05, 0x6D, 0xF8, 0x30, 0x00, 0x1C, 0x06, + 0xAA, 0xF7, 0x30, 0x00, 0x0C, 0x07, 0xAA, 0xF7, + 0x2E, 0x00, 0x88, 0xFF, 0x4C, 0xFB, 0x2E, 0x00, + 0x98, 0xFE, 0x4C, 0xFB, 0x2E, 0x00, 0xA7, 0xFD, + 0x4C, 0xFB, 0x2E, 0x00, 0xB7, 0xFC, 0x4C, 0xFB, + 0x30, 0x00, 0xC5, 0xFB, 0xBE, 0xF9, 0x30, 0x00, + 0xD5, 0xFA, 0x6D, 0xF8, 0x30, 0x00, 0xE4, 0xF9, + 0xAA, 0xF7, 0x30, 0x00, 0xF4, 0xF8, 0xAA, 0xF7, + 0x30, 0x00, 0x78, 0x00, 0x71, 0xFA, 0x30, 0x00, + 0x68, 0x01, 0x71, 0xFA, 0x30, 0x00, 0x59, 0x02, + 0x71, 0xFA, 0x30, 0x00, 0x49, 0x03, 0x71, 0xFA, + 0x30, 0x00, 0x3B, 0x04, 0x9A, 0xF8, 0x30, 0x00, + 0x2B, 0x05, 0x0C, 0xF7, 0x30, 0x00, 0x1C, 0x06, + 0x26, 0xF6, 0x30, 0x00, 0x0C, 0x07, 0x26, 0xF6, + 0x30, 0x00, 0x88, 0xFF, 0x71, 0xFA, 0x30, 0x00, + 0x98, 0xFE, 0x71, 0xFA, 0x30, 0x00, 0xA7, 0xFD, + 0x71, 0xFA, 0x30, 0x00, 0xB7, 0xFC, 0x71, 0xFA, + 0x30, 0x00, 0xC5, 0xFB, 0x9A, 0xF8, 0x30, 0x00, + 0xD5, 0xFA, 0x0C, 0xF7, 0x30, 0x00, 0xE4, 0xF9, + 0x26, 0xF6, 0x30, 0x00, 0xF4, 0xF8, 0x26, 0xF6, + 0x30, 0x00, 0x78, 0x00, 0x96, 0xF9, 0x30, 0x00, + 0x68, 0x01, 0x96, 0xF9, 0x30, 0x00, 0x59, 0x02, + 0x96, 0xF9, 0x30, 0x00, 0x49, 0x03, 0x96, 0xF9, + 0x30, 0x00, 0x3B, 0x04, 0x77, 0xF7, 0x30, 0x00, + 0x2B, 0x05, 0xAC, 0xF5, 0x30, 0x00, 0x1C, 0x06, + 0xA2, 0xF4, 0x30, 0x00, 0x0C, 0x07, 0xA2, 0xF4, + 0x30, 0x00, 0x88, 0xFF, 0x96, 0xF9, 0x30, 0x00, + 0x98, 0xFE, 0x96, 0xF9, 0x30, 0x00, 0xA7, 0xFD, + 0x96, 0xF9, 0x30, 0x00, 0xB7, 0xFC, 0x96, 0xF9, + 0x30, 0x00, 0xC5, 0xFB, 0x77, 0xF7, 0x30, 0x00, + 0xD5, 0xFA, 0xAC, 0xF5, 0x30, 0x00, 0xE4, 0xF9, + 0xA2, 0xF4, 0x30, 0x00, 0xF4, 0xF8, 0xA2, 0xF4, + 0x2A, 0x00, 0x84, 0x00, 0x78, 0x00, 0x2A, 0x00, + 0x8D, 0x01, 0x78, 0x00, 0x2A, 0x00, 0x96, 0x02, + 0x78, 0x00, 0x2A, 0x00, 0x9F, 0x03, 0x78, 0x00, + 0x2D, 0x00, 0xA8, 0x04, 0xA0, 0x00, 0x2F, 0x00, + 0xB1, 0x05, 0xC2, 0x00, 0x2F, 0x00, 0xBA, 0x06, + 0xC2, 0x00, 0x2F, 0x00, 0xC3, 0x07, 0xC2, 0x00, + 0x2A, 0x00, 0x7C, 0xFF, 0x78, 0x00, 0x2A, 0x00, + 0x73, 0xFE, 0x78, 0x00, 0x2A, 0x00, 0x6A, 0xFD, + 0x78, 0x00, 0x2A, 0x00, 0x61, 0xFC, 0x78, 0x00, + 0x2D, 0x00, 0x58, 0xFB, 0xA0, 0x00, 0x2F, 0x00, + 0x4F, 0xFA, 0xC2, 0x00, 0x2F, 0x00, 0x46, 0xF9, + 0xC2, 0x00, 0x2F, 0x00, 0x3D, 0xF8, 0xC2, 0x00, + 0x2A, 0x00, 0x84, 0x00, 0x68, 0x01, 0x2A, 0x00, + 0x8D, 0x01, 0x68, 0x01, 0x2A, 0x00, 0x96, 0x02, + 0x68, 0x01, 0x2A, 0x00, 0x9F, 0x03, 0x68, 0x01, + 0x2D, 0x00, 0xA8, 0x04, 0xE0, 0x01, 0x2F, 0x00, + 0xB1, 0x05, 0x46, 0x02, 0x2F, 0x00, 0xBA, 0x06, + 0x46, 0x02, 0x2F, 0x00, 0xC3, 0x07, 0x46, 0x02, + 0x2A, 0x00, 0x7C, 0xFF, 0x68, 0x01, 0x2A, 0x00, + 0x73, 0xFE, 0x68, 0x01, 0x2A, 0x00, 0x6A, 0xFD, + 0x68, 0x01, 0x2A, 0x00, 0x61, 0xFC, 0x68, 0x01, + 0x2D, 0x00, 0x58, 0xFB, 0xE0, 0x01, 0x2F, 0x00, + 0x4F, 0xFA, 0x46, 0x02, 0x2F, 0x00, 0x46, 0xF9, + 0x46, 0x02, 0x2F, 0x00, 0x3D, 0xF8, 0x46, 0x02, + 0x2A, 0x00, 0x84, 0x00, 0x59, 0x02, 0x2A, 0x00, + 0x8D, 0x01, 0x59, 0x02, 0x2A, 0x00, 0x96, 0x02, + 0x59, 0x02, 0x2A, 0x00, 0x9F, 0x03, 0x59, 0x02, + 0x2D, 0x00, 0xA8, 0x04, 0x21, 0x03, 0x2F, 0x00, + 0xB1, 0x05, 0xCA, 0x03, 0x2F, 0x00, 0xBA, 0x06, + 0xCA, 0x03, 0x2F, 0x00, 0xC3, 0x07, 0xCA, 0x03, + 0x2A, 0x00, 0x7C, 0xFF, 0x59, 0x02, 0x2A, 0x00, + 0x73, 0xFE, 0x59, 0x02, 0x2A, 0x00, 0x6A, 0xFD, + 0x59, 0x02, 0x2A, 0x00, 0x61, 0xFC, 0x59, 0x02, + 0x2D, 0x00, 0x58, 0xFB, 0x21, 0x03, 0x2F, 0x00, + 0x4F, 0xFA, 0xCA, 0x03, 0x2F, 0x00, 0x46, 0xF9, + 0xCA, 0x03, 0x2F, 0x00, 0x3D, 0xF8, 0xCA, 0x03, + 0x2A, 0x00, 0x84, 0x00, 0x49, 0x03, 0x2A, 0x00, + 0x8D, 0x01, 0x49, 0x03, 0x2A, 0x00, 0x96, 0x02, + 0x49, 0x03, 0x2A, 0x00, 0x9F, 0x03, 0x49, 0x03, + 0x2D, 0x00, 0xA8, 0x04, 0x61, 0x04, 0x2F, 0x00, + 0xB1, 0x05, 0x4E, 0x05, 0x2F, 0x00, 0xBA, 0x06, + 0x4E, 0x05, 0x2F, 0x00, 0xC3, 0x07, 0x4E, 0x05, + 0x2A, 0x00, 0x7C, 0xFF, 0x49, 0x03, 0x2A, 0x00, + 0x73, 0xFE, 0x49, 0x03, 0x2A, 0x00, 0x6A, 0xFD, + 0x49, 0x03, 0x2A, 0x00, 0x61, 0xFC, 0x49, 0x03, + 0x2D, 0x00, 0x58, 0xFB, 0x61, 0x04, 0x2F, 0x00, + 0x4F, 0xFA, 0x4E, 0x05, 0x2F, 0x00, 0x46, 0xF9, + 0x4E, 0x05, 0x2F, 0x00, 0x3D, 0xF8, 0x4E, 0x05, + 0x2D, 0x00, 0x84, 0x00, 0x3B, 0x04, 0x2D, 0x00, + 0x8D, 0x01, 0x3B, 0x04, 0x2D, 0x00, 0x96, 0x02, + 0x3B, 0x04, 0x2D, 0x00, 0x9F, 0x03, 0x3B, 0x04, + 0x30, 0x00, 0xA8, 0x04, 0xA2, 0x05, 0x30, 0x00, + 0xB1, 0x05, 0xD2, 0x06, 0x30, 0x00, 0xBA, 0x06, + 0xD2, 0x06, 0x30, 0x00, 0xC3, 0x07, 0xD2, 0x06, + 0x2D, 0x00, 0x7C, 0xFF, 0x3B, 0x04, 0x2D, 0x00, + 0x73, 0xFE, 0x3B, 0x04, 0x2D, 0x00, 0x6A, 0xFD, + 0x3B, 0x04, 0x2D, 0x00, 0x61, 0xFC, 0x3B, 0x04, + 0x30, 0x00, 0x58, 0xFB, 0xA2, 0x05, 0x30, 0x00, + 0x4F, 0xFA, 0xD2, 0x06, 0x30, 0x00, 0x46, 0xF9, + 0xD2, 0x06, 0x30, 0x00, 0x3D, 0xF8, 0xD2, 0x06, + 0x2F, 0x00, 0x84, 0x00, 0x2B, 0x05, 0x2F, 0x00, + 0x8D, 0x01, 0x2B, 0x05, 0x2F, 0x00, 0x96, 0x02, + 0x2B, 0x05, 0x2F, 0x00, 0x9F, 0x03, 0x2B, 0x05, + 0x30, 0x00, 0xA8, 0x04, 0xE2, 0x06, 0x30, 0x00, + 0xB1, 0x05, 0x56, 0x08, 0x30, 0x00, 0xBA, 0x06, + 0x56, 0x08, 0x30, 0x00, 0xC3, 0x07, 0x56, 0x08, + 0x2F, 0x00, 0x7C, 0xFF, 0x2B, 0x05, 0x2F, 0x00, + 0x73, 0xFE, 0x2B, 0x05, 0x2F, 0x00, 0x6A, 0xFD, + 0x2B, 0x05, 0x2F, 0x00, 0x61, 0xFC, 0x2B, 0x05, + 0x30, 0x00, 0x58, 0xFB, 0xE2, 0x06, 0x30, 0x00, + 0x4F, 0xFA, 0x56, 0x08, 0x30, 0x00, 0x46, 0xF9, + 0x56, 0x08, 0x30, 0x00, 0x3D, 0xF8, 0x56, 0x08, + 0x30, 0x00, 0x84, 0x00, 0x1C, 0x06, 0x30, 0x00, + 0x8D, 0x01, 0x1C, 0x06, 0x30, 0x00, 0x96, 0x02, + 0x1C, 0x06, 0x30, 0x00, 0x9F, 0x03, 0x1C, 0x06, + 0x30, 0x00, 0xA8, 0x04, 0x23, 0x08, 0x30, 0x00, + 0xB1, 0x05, 0xDA, 0x09, 0x30, 0x00, 0xBA, 0x06, + 0xDA, 0x09, 0x30, 0x00, 0xC3, 0x07, 0xDA, 0x09, + 0x30, 0x00, 0x7C, 0xFF, 0x1C, 0x06, 0x30, 0x00, + 0x73, 0xFE, 0x1C, 0x06, 0x30, 0x00, 0x6A, 0xFD, + 0x1C, 0x06, 0x30, 0x00, 0x61, 0xFC, 0x1C, 0x06, + 0x30, 0x00, 0x58, 0xFB, 0x23, 0x08, 0x30, 0x00, + 0x4F, 0xFA, 0xDA, 0x09, 0x30, 0x00, 0x46, 0xF9, + 0xDA, 0x09, 0x30, 0x00, 0x3D, 0xF8, 0xDA, 0x09, + 0x30, 0x00, 0x84, 0x00, 0x0C, 0x07, 0x30, 0x00, + 0x8D, 0x01, 0x0C, 0x07, 0x30, 0x00, 0x96, 0x02, + 0x0C, 0x07, 0x30, 0x00, 0x9F, 0x03, 0x0C, 0x07, + 0x30, 0x00, 0xA8, 0x04, 0x63, 0x09, 0x30, 0x00, + 0xB1, 0x05, 0x5E, 0x0B, 0x30, 0x00, 0xBA, 0x06, + 0x5E, 0x0B, 0x30, 0x00, 0xC3, 0x07, 0x5E, 0x0B, + 0x30, 0x00, 0x7C, 0xFF, 0x0C, 0x07, 0x30, 0x00, + 0x73, 0xFE, 0x0C, 0x07, 0x30, 0x00, 0x6A, 0xFD, + 0x0C, 0x07, 0x30, 0x00, 0x61, 0xFC, 0x0C, 0x07, + 0x30, 0x00, 0x58, 0xFB, 0x63, 0x09, 0x30, 0x00, + 0x4F, 0xFA, 0x5E, 0x0B, 0x30, 0x00, 0x46, 0xF9, + 0x5E, 0x0B, 0x30, 0x00, 0x3D, 0xF8, 0x5E, 0x0B, + 0x2A, 0x00, 0x84, 0x00, 0x88, 0xFF, 0x2A, 0x00, + 0x8D, 0x01, 0x88, 0xFF, 0x2A, 0x00, 0x96, 0x02, + 0x88, 0xFF, 0x2A, 0x00, 0x9F, 0x03, 0x88, 0xFF, + 0x2D, 0x00, 0xA8, 0x04, 0x60, 0xFF, 0x2F, 0x00, + 0xB1, 0x05, 0x3E, 0xFF, 0x2F, 0x00, 0xBA, 0x06, + 0x3E, 0xFF, 0x2F, 0x00, 0xC3, 0x07, 0x3E, 0xFF, + 0x2A, 0x00, 0x7C, 0xFF, 0x88, 0xFF, 0x2A, 0x00, + 0x73, 0xFE, 0x88, 0xFF, 0x2A, 0x00, 0x6A, 0xFD, + 0x88, 0xFF, 0x2A, 0x00, 0x61, 0xFC, 0x88, 0xFF, + 0x2D, 0x00, 0x58, 0xFB, 0x60, 0xFF, 0x2F, 0x00, + 0x4F, 0xFA, 0x3E, 0xFF, 0x2F, 0x00, 0x46, 0xF9, + 0x3E, 0xFF, 0x2F, 0x00, 0x3D, 0xF8, 0x3E, 0xFF, + 0x2A, 0x00, 0x84, 0x00, 0x98, 0xFE, 0x2A, 0x00, + 0x8D, 0x01, 0x98, 0xFE, 0x2A, 0x00, 0x96, 0x02, + 0x98, 0xFE, 0x2A, 0x00, 0x9F, 0x03, 0x98, 0xFE, + 0x2D, 0x00, 0xA8, 0x04, 0x20, 0xFE, 0x2F, 0x00, + 0xB1, 0x05, 0xBA, 0xFD, 0x2F, 0x00, 0xBA, 0x06, + 0xBA, 0xFD, 0x2F, 0x00, 0xC3, 0x07, 0xBA, 0xFD, + 0x2A, 0x00, 0x7C, 0xFF, 0x98, 0xFE, 0x2A, 0x00, + 0x73, 0xFE, 0x98, 0xFE, 0x2A, 0x00, 0x6A, 0xFD, + 0x98, 0xFE, 0x2A, 0x00, 0x61, 0xFC, 0x98, 0xFE, + 0x2D, 0x00, 0x58, 0xFB, 0x20, 0xFE, 0x2F, 0x00, + 0x4F, 0xFA, 0xBA, 0xFD, 0x2F, 0x00, 0x46, 0xF9, + 0xBA, 0xFD, 0x2F, 0x00, 0x3D, 0xF8, 0xBA, 0xFD, + 0x2A, 0x00, 0x84, 0x00, 0xA7, 0xFD, 0x2A, 0x00, + 0x8D, 0x01, 0xA7, 0xFD, 0x2A, 0x00, 0x96, 0x02, + 0xA7, 0xFD, 0x2A, 0x00, 0x9F, 0x03, 0xA7, 0xFD, + 0x2D, 0x00, 0xA8, 0x04, 0xDF, 0xFC, 0x2F, 0x00, + 0xB1, 0x05, 0x36, 0xFC, 0x2F, 0x00, 0xBA, 0x06, + 0x36, 0xFC, 0x2F, 0x00, 0xC3, 0x07, 0x36, 0xFC, + 0x2A, 0x00, 0x7C, 0xFF, 0xA7, 0xFD, 0x2A, 0x00, + 0x73, 0xFE, 0xA7, 0xFD, 0x2A, 0x00, 0x6A, 0xFD, + 0xA7, 0xFD, 0x2A, 0x00, 0x61, 0xFC, 0xA7, 0xFD, + 0x2D, 0x00, 0x58, 0xFB, 0xDF, 0xFC, 0x2F, 0x00, + 0x4F, 0xFA, 0x36, 0xFC, 0x2F, 0x00, 0x46, 0xF9, + 0x36, 0xFC, 0x2F, 0x00, 0x3D, 0xF8, 0x36, 0xFC, + 0x2A, 0x00, 0x84, 0x00, 0xB7, 0xFC, 0x2A, 0x00, + 0x8D, 0x01, 0xB7, 0xFC, 0x2A, 0x00, 0x96, 0x02, + 0xB7, 0xFC, 0x2A, 0x00, 0x9F, 0x03, 0xB7, 0xFC, + 0x2D, 0x00, 0xA8, 0x04, 0x9F, 0xFB, 0x2F, 0x00, + 0xB1, 0x05, 0xB2, 0xFA, 0x2F, 0x00, 0xBA, 0x06, + 0xB2, 0xFA, 0x2F, 0x00, 0xC3, 0x07, 0xB2, 0xFA, + 0x2A, 0x00, 0x7C, 0xFF, 0xB7, 0xFC, 0x2A, 0x00, + 0x73, 0xFE, 0xB7, 0xFC, 0x2A, 0x00, 0x6A, 0xFD, + 0xB7, 0xFC, 0x2A, 0x00, 0x61, 0xFC, 0xB7, 0xFC, + 0x2D, 0x00, 0x58, 0xFB, 0x9F, 0xFB, 0x2F, 0x00, + 0x4F, 0xFA, 0xB2, 0xFA, 0x2F, 0x00, 0x46, 0xF9, + 0xB2, 0xFA, 0x2F, 0x00, 0x3D, 0xF8, 0xB2, 0xFA, + 0x2D, 0x00, 0x84, 0x00, 0xC5, 0xFB, 0x2D, 0x00, + 0x8D, 0x01, 0xC5, 0xFB, 0x2D, 0x00, 0x96, 0x02, + 0xC5, 0xFB, 0x2D, 0x00, 0x9F, 0x03, 0xC5, 0xFB, + 0x30, 0x00, 0xA8, 0x04, 0x5E, 0xFA, 0x30, 0x00, + 0xB1, 0x05, 0x2E, 0xF9, 0x30, 0x00, 0xBA, 0x06, + 0x2E, 0xF9, 0x30, 0x00, 0xC3, 0x07, 0x2E, 0xF9, + 0x2D, 0x00, 0x7C, 0xFF, 0xC5, 0xFB, 0x2D, 0x00, + 0x73, 0xFE, 0xC5, 0xFB, 0x2D, 0x00, 0x6A, 0xFD, + 0xC5, 0xFB, 0x2D, 0x00, 0x61, 0xFC, 0xC5, 0xFB, + 0x30, 0x00, 0x58, 0xFB, 0x5E, 0xFA, 0x30, 0x00, + 0x4F, 0xFA, 0x2E, 0xF9, 0x30, 0x00, 0x46, 0xF9, + 0x2E, 0xF9, 0x30, 0x00, 0x3D, 0xF8, 0x2E, 0xF9, + 0x2F, 0x00, 0x84, 0x00, 0xD5, 0xFA, 0x2F, 0x00, + 0x8D, 0x01, 0xD5, 0xFA, 0x2F, 0x00, 0x96, 0x02, + 0xD5, 0xFA, 0x2F, 0x00, 0x9F, 0x03, 0xD5, 0xFA, + 0x30, 0x00, 0xA8, 0x04, 0x1E, 0xF9, 0x30, 0x00, + 0xB1, 0x05, 0xAA, 0xF7, 0x30, 0x00, 0xBA, 0x06, + 0xAA, 0xF7, 0x30, 0x00, 0xC3, 0x07, 0xAA, 0xF7, + 0x2F, 0x00, 0x7C, 0xFF, 0xD5, 0xFA, 0x2F, 0x00, + 0x73, 0xFE, 0xD5, 0xFA, 0x2F, 0x00, 0x6A, 0xFD, + 0xD5, 0xFA, 0x2F, 0x00, 0x61, 0xFC, 0xD5, 0xFA, + 0x30, 0x00, 0x58, 0xFB, 0x1E, 0xF9, 0x30, 0x00, + 0x4F, 0xFA, 0xAA, 0xF7, 0x30, 0x00, 0x46, 0xF9, + 0xAA, 0xF7, 0x30, 0x00, 0x3D, 0xF8, 0xAA, 0xF7, + 0x30, 0x00, 0x84, 0x00, 0xE4, 0xF9, 0x30, 0x00, + 0x8D, 0x01, 0xE4, 0xF9, 0x30, 0x00, 0x96, 0x02, + 0xE4, 0xF9, 0x30, 0x00, 0x9F, 0x03, 0xE4, 0xF9, + 0x30, 0x00, 0xA8, 0x04, 0xDD, 0xF7, 0x30, 0x00, + 0xB1, 0x05, 0x26, 0xF6, 0x30, 0x00, 0xBA, 0x06, + 0x26, 0xF6, 0x30, 0x00, 0xC3, 0x07, 0x26, 0xF6, + 0x30, 0x00, 0x7C, 0xFF, 0xE4, 0xF9, 0x30, 0x00, + 0x73, 0xFE, 0xE4, 0xF9, 0x30, 0x00, 0x6A, 0xFD, + 0xE4, 0xF9, 0x30, 0x00, 0x61, 0xFC, 0xE4, 0xF9, + 0x30, 0x00, 0x58, 0xFB, 0xDD, 0xF7, 0x30, 0x00, + 0x4F, 0xFA, 0x26, 0xF6, 0x30, 0x00, 0x46, 0xF9, + 0x26, 0xF6, 0x30, 0x00, 0x3D, 0xF8, 0x26, 0xF6, + 0x30, 0x00, 0x84, 0x00, 0xF4, 0xF8, 0x30, 0x00, + 0x8D, 0x01, 0xF4, 0xF8, 0x30, 0x00, 0x96, 0x02, + 0xF4, 0xF8, 0x30, 0x00, 0x9F, 0x03, 0xF4, 0xF8, + 0x30, 0x00, 0xA8, 0x04, 0x9D, 0xF6, 0x30, 0x00, + 0xB1, 0x05, 0xA2, 0xF4, 0x30, 0x00, 0xBA, 0x06, + 0xA2, 0xF4, 0x30, 0x00, 0xC3, 0x07, 0xA2, 0xF4, + 0x30, 0x00, 0x7C, 0xFF, 0xF4, 0xF8, 0x30, 0x00, + 0x73, 0xFE, 0xF4, 0xF8, 0x30, 0x00, 0x6A, 0xFD, + 0xF4, 0xF8, 0x30, 0x00, 0x61, 0xFC, 0xF4, 0xF8, + 0x30, 0x00, 0x58, 0xFB, 0x9D, 0xF6, 0x30, 0x00, + 0x4F, 0xFA, 0xA2, 0xF4, 0x30, 0x00, 0x46, 0xF9, + 0xA2, 0xF4, 0x30, 0x00, 0x3D, 0xF8, 0xA2, 0xF4, + 0x2B, 0x00, 0x91, 0x00, 0x84, 0x00, 0x2B, 0x00, + 0xB4, 0x01, 0x84, 0x00, 0x2B, 0x00, 0xD8, 0x02, + 0x84, 0x00, 0x2B, 0x00, 0xFB, 0x03, 0x84, 0x00, + 0x2E, 0x00, 0x1F, 0x05, 0xB0, 0x00, 0x2F, 0x00, + 0x42, 0x06, 0xC2, 0x00, 0x2F, 0x00, 0x66, 0x07, + 0xC2, 0x00, 0x2F, 0x00, 0x89, 0x08, 0xC2, 0x00, + 0x2B, 0x00, 0x6F, 0xFF, 0x84, 0x00, 0x2B, 0x00, + 0x4C, 0xFE, 0x84, 0x00, 0x2B, 0x00, 0x28, 0xFD, + 0x84, 0x00, 0x2B, 0x00, 0x05, 0xFC, 0x84, 0x00, + 0x2E, 0x00, 0xE1, 0xFA, 0xB0, 0x00, 0x2F, 0x00, + 0xBE, 0xF9, 0xC2, 0x00, 0x2F, 0x00, 0x9A, 0xF8, + 0xC2, 0x00, 0x2F, 0x00, 0x77, 0xF7, 0xC2, 0x00, + 0x2B, 0x00, 0x91, 0x00, 0x8D, 0x01, 0x2B, 0x00, + 0xB4, 0x01, 0x8D, 0x01, 0x2B, 0x00, 0xD8, 0x02, + 0x8D, 0x01, 0x2B, 0x00, 0xFB, 0x03, 0x8D, 0x01, + 0x2E, 0x00, 0x1F, 0x05, 0x10, 0x02, 0x2F, 0x00, + 0x42, 0x06, 0x46, 0x02, 0x2F, 0x00, 0x66, 0x07, + 0x46, 0x02, 0x2F, 0x00, 0x89, 0x08, 0x46, 0x02, + 0x2B, 0x00, 0x6F, 0xFF, 0x8D, 0x01, 0x2B, 0x00, + 0x4C, 0xFE, 0x8D, 0x01, 0x2B, 0x00, 0x28, 0xFD, + 0x8D, 0x01, 0x2B, 0x00, 0x05, 0xFC, 0x8D, 0x01, + 0x2E, 0x00, 0xE1, 0xFA, 0x10, 0x02, 0x2F, 0x00, + 0xBE, 0xF9, 0x46, 0x02, 0x2F, 0x00, 0x9A, 0xF8, + 0x46, 0x02, 0x2F, 0x00, 0x77, 0xF7, 0x46, 0x02, + 0x2B, 0x00, 0x91, 0x00, 0x96, 0x02, 0x2B, 0x00, + 0xB4, 0x01, 0x96, 0x02, 0x2B, 0x00, 0xD8, 0x02, + 0x96, 0x02, 0x2B, 0x00, 0xFB, 0x03, 0x96, 0x02, + 0x2E, 0x00, 0x1F, 0x05, 0x71, 0x03, 0x2F, 0x00, + 0x42, 0x06, 0xCA, 0x03, 0x2F, 0x00, 0x66, 0x07, + 0xCA, 0x03, 0x2F, 0x00, 0x89, 0x08, 0xCA, 0x03, + 0x2B, 0x00, 0x6F, 0xFF, 0x96, 0x02, 0x2B, 0x00, + 0x4C, 0xFE, 0x96, 0x02, 0x2B, 0x00, 0x28, 0xFD, + 0x96, 0x02, 0x2B, 0x00, 0x05, 0xFC, 0x96, 0x02, + 0x2E, 0x00, 0xE1, 0xFA, 0x71, 0x03, 0x2F, 0x00, + 0xBE, 0xF9, 0xCA, 0x03, 0x2F, 0x00, 0x9A, 0xF8, + 0xCA, 0x03, 0x2F, 0x00, 0x77, 0xF7, 0xCA, 0x03, + 0x2B, 0x00, 0x91, 0x00, 0x9F, 0x03, 0x2B, 0x00, + 0xB4, 0x01, 0x9F, 0x03, 0x2B, 0x00, 0xD8, 0x02, + 0x9F, 0x03, 0x2B, 0x00, 0xFB, 0x03, 0x9F, 0x03, + 0x2E, 0x00, 0x1F, 0x05, 0xD1, 0x04, 0x2F, 0x00, + 0x42, 0x06, 0x4E, 0x05, 0x2F, 0x00, 0x66, 0x07, + 0x4E, 0x05, 0x2F, 0x00, 0x89, 0x08, 0x4E, 0x05, + 0x2B, 0x00, 0x6F, 0xFF, 0x9F, 0x03, 0x2B, 0x00, + 0x4C, 0xFE, 0x9F, 0x03, 0x2B, 0x00, 0x28, 0xFD, + 0x9F, 0x03, 0x2B, 0x00, 0x05, 0xFC, 0x9F, 0x03, + 0x2E, 0x00, 0xE1, 0xFA, 0xD1, 0x04, 0x2F, 0x00, + 0xBE, 0xF9, 0x4E, 0x05, 0x2F, 0x00, 0x9A, 0xF8, + 0x4E, 0x05, 0x2F, 0x00, 0x77, 0xF7, 0x4E, 0x05, + 0x2E, 0x00, 0x91, 0x00, 0xA8, 0x04, 0x2E, 0x00, + 0xB4, 0x01, 0xA8, 0x04, 0x2E, 0x00, 0xD8, 0x02, + 0xA8, 0x04, 0x2E, 0x00, 0xFB, 0x03, 0xA8, 0x04, + 0x30, 0x00, 0x1F, 0x05, 0x33, 0x06, 0x30, 0x00, + 0x42, 0x06, 0xD2, 0x06, 0x30, 0x00, 0x66, 0x07, + 0xD2, 0x06, 0x30, 0x00, 0x89, 0x08, 0xD2, 0x06, + 0x2E, 0x00, 0x6F, 0xFF, 0xA8, 0x04, 0x2E, 0x00, + 0x4C, 0xFE, 0xA8, 0x04, 0x2E, 0x00, 0x28, 0xFD, + 0xA8, 0x04, 0x2E, 0x00, 0x05, 0xFC, 0xA8, 0x04, + 0x30, 0x00, 0xE1, 0xFA, 0x33, 0x06, 0x30, 0x00, + 0xBE, 0xF9, 0xD2, 0x06, 0x30, 0x00, 0x9A, 0xF8, + 0xD2, 0x06, 0x30, 0x00, 0x77, 0xF7, 0xD2, 0x06, + 0x30, 0x00, 0x91, 0x00, 0xB1, 0x05, 0x30, 0x00, + 0xB4, 0x01, 0xB1, 0x05, 0x30, 0x00, 0xD8, 0x02, + 0xB1, 0x05, 0x30, 0x00, 0xFB, 0x03, 0xB1, 0x05, + 0x30, 0x00, 0x1F, 0x05, 0x93, 0x07, 0x30, 0x00, + 0x42, 0x06, 0x56, 0x08, 0x30, 0x00, 0x66, 0x07, + 0x56, 0x08, 0x30, 0x00, 0x89, 0x08, 0x56, 0x08, + 0x30, 0x00, 0x6F, 0xFF, 0xB1, 0x05, 0x30, 0x00, + 0x4C, 0xFE, 0xB1, 0x05, 0x30, 0x00, 0x28, 0xFD, + 0xB1, 0x05, 0x30, 0x00, 0x05, 0xFC, 0xB1, 0x05, + 0x30, 0x00, 0xE1, 0xFA, 0x93, 0x07, 0x30, 0x00, + 0xBE, 0xF9, 0x56, 0x08, 0x30, 0x00, 0x9A, 0xF8, + 0x56, 0x08, 0x30, 0x00, 0x77, 0xF7, 0x56, 0x08, + 0x30, 0x00, 0x91, 0x00, 0xBA, 0x06, 0x30, 0x00, + 0xB4, 0x01, 0xBA, 0x06, 0x30, 0x00, 0xD8, 0x02, + 0xBA, 0x06, 0x30, 0x00, 0xFB, 0x03, 0xBA, 0x06, + 0x30, 0x00, 0x1F, 0x05, 0xF4, 0x08, 0x30, 0x00, + 0x42, 0x06, 0xDA, 0x09, 0x30, 0x00, 0x66, 0x07, + 0xDA, 0x09, 0x30, 0x00, 0x89, 0x08, 0xDA, 0x09, + 0x30, 0x00, 0x6F, 0xFF, 0xBA, 0x06, 0x30, 0x00, + 0x4C, 0xFE, 0xBA, 0x06, 0x30, 0x00, 0x28, 0xFD, + 0xBA, 0x06, 0x30, 0x00, 0x05, 0xFC, 0xBA, 0x06, + 0x30, 0x00, 0xE1, 0xFA, 0xF4, 0x08, 0x30, 0x00, + 0xBE, 0xF9, 0xDA, 0x09, 0x30, 0x00, 0x9A, 0xF8, + 0xDA, 0x09, 0x30, 0x00, 0x77, 0xF7, 0xDA, 0x09, + 0x30, 0x00, 0x91, 0x00, 0xC3, 0x07, 0x30, 0x00, + 0xB4, 0x01, 0xC3, 0x07, 0x30, 0x00, 0xD8, 0x02, + 0xC3, 0x07, 0x30, 0x00, 0xFB, 0x03, 0xC3, 0x07, + 0x30, 0x00, 0x1F, 0x05, 0x54, 0x0A, 0x30, 0x00, + 0x42, 0x06, 0x5E, 0x0B, 0x30, 0x00, 0x66, 0x07, + 0x5E, 0x0B, 0x30, 0x00, 0x89, 0x08, 0x5E, 0x0B, + 0x30, 0x00, 0x6F, 0xFF, 0xC3, 0x07, 0x30, 0x00, + 0x4C, 0xFE, 0xC3, 0x07, 0x30, 0x00, 0x28, 0xFD, + 0xC3, 0x07, 0x30, 0x00, 0x05, 0xFC, 0xC3, 0x07, + 0x30, 0x00, 0xE1, 0xFA, 0x54, 0x0A, 0x30, 0x00, + 0xBE, 0xF9, 0x5E, 0x0B, 0x30, 0x00, 0x9A, 0xF8, + 0x5E, 0x0B, 0x30, 0x00, 0x77, 0xF7, 0x5E, 0x0B, + 0x2B, 0x00, 0x91, 0x00, 0x7C, 0xFF, 0x2B, 0x00, + 0xB4, 0x01, 0x7C, 0xFF, 0x2B, 0x00, 0xD8, 0x02, + 0x7C, 0xFF, 0x2B, 0x00, 0xFB, 0x03, 0x7C, 0xFF, + 0x2E, 0x00, 0x1F, 0x05, 0x50, 0xFF, 0x2F, 0x00, + 0x42, 0x06, 0x3E, 0xFF, 0x2F, 0x00, 0x66, 0x07, + 0x3E, 0xFF, 0x2F, 0x00, 0x89, 0x08, 0x3E, 0xFF, + 0x2B, 0x00, 0x6F, 0xFF, 0x7C, 0xFF, 0x2B, 0x00, + 0x4C, 0xFE, 0x7C, 0xFF, 0x2B, 0x00, 0x28, 0xFD, + 0x7C, 0xFF, 0x2B, 0x00, 0x05, 0xFC, 0x7C, 0xFF, + 0x2E, 0x00, 0xE1, 0xFA, 0x50, 0xFF, 0x2F, 0x00, + 0xBE, 0xF9, 0x3E, 0xFF, 0x2F, 0x00, 0x9A, 0xF8, + 0x3E, 0xFF, 0x2F, 0x00, 0x77, 0xF7, 0x3E, 0xFF, + 0x2B, 0x00, 0x91, 0x00, 0x73, 0xFE, 0x2B, 0x00, + 0xB4, 0x01, 0x73, 0xFE, 0x2B, 0x00, 0xD8, 0x02, + 0x73, 0xFE, 0x2B, 0x00, 0xFB, 0x03, 0x73, 0xFE, + 0x2E, 0x00, 0x1F, 0x05, 0xF0, 0xFD, 0x2F, 0x00, + 0x42, 0x06, 0xBA, 0xFD, 0x2F, 0x00, 0x66, 0x07, + 0xBA, 0xFD, 0x2F, 0x00, 0x89, 0x08, 0xBA, 0xFD, + 0x2B, 0x00, 0x6F, 0xFF, 0x73, 0xFE, 0x2B, 0x00, + 0x4C, 0xFE, 0x73, 0xFE, 0x2B, 0x00, 0x28, 0xFD, + 0x73, 0xFE, 0x2B, 0x00, 0x05, 0xFC, 0x73, 0xFE, + 0x2E, 0x00, 0xE1, 0xFA, 0xF0, 0xFD, 0x2F, 0x00, + 0xBE, 0xF9, 0xBA, 0xFD, 0x2F, 0x00, 0x9A, 0xF8, + 0xBA, 0xFD, 0x2F, 0x00, 0x77, 0xF7, 0xBA, 0xFD, + 0x2B, 0x00, 0x91, 0x00, 0x6A, 0xFD, 0x2B, 0x00, + 0xB4, 0x01, 0x6A, 0xFD, 0x2B, 0x00, 0xD8, 0x02, + 0x6A, 0xFD, 0x2B, 0x00, 0xFB, 0x03, 0x6A, 0xFD, + 0x2E, 0x00, 0x1F, 0x05, 0x8F, 0xFC, 0x2F, 0x00, + 0x42, 0x06, 0x36, 0xFC, 0x2F, 0x00, 0x66, 0x07, + 0x36, 0xFC, 0x2F, 0x00, 0x89, 0x08, 0x36, 0xFC, + 0x2B, 0x00, 0x6F, 0xFF, 0x6A, 0xFD, 0x2B, 0x00, + 0x4C, 0xFE, 0x6A, 0xFD, 0x2B, 0x00, 0x28, 0xFD, + 0x6A, 0xFD, 0x2B, 0x00, 0x05, 0xFC, 0x6A, 0xFD, + 0x2E, 0x00, 0xE1, 0xFA, 0x8F, 0xFC, 0x2F, 0x00, + 0xBE, 0xF9, 0x36, 0xFC, 0x2F, 0x00, 0x9A, 0xF8, + 0x36, 0xFC, 0x2F, 0x00, 0x77, 0xF7, 0x36, 0xFC, + 0x2B, 0x00, 0x91, 0x00, 0x61, 0xFC, 0x2B, 0x00, + 0xB4, 0x01, 0x61, 0xFC, 0x2B, 0x00, 0xD8, 0x02, + 0x61, 0xFC, 0x2B, 0x00, 0xFB, 0x03, 0x61, 0xFC, + 0x2E, 0x00, 0x1F, 0x05, 0x2F, 0xFB, 0x2F, 0x00, + 0x42, 0x06, 0xB2, 0xFA, 0x2F, 0x00, 0x66, 0x07, + 0xB2, 0xFA, 0x2F, 0x00, 0x89, 0x08, 0xB2, 0xFA, + 0x2B, 0x00, 0x6F, 0xFF, 0x61, 0xFC, 0x2B, 0x00, + 0x4C, 0xFE, 0x61, 0xFC, 0x2B, 0x00, 0x28, 0xFD, + 0x61, 0xFC, 0x2B, 0x00, 0x05, 0xFC, 0x61, 0xFC, + 0x2E, 0x00, 0xE1, 0xFA, 0x2F, 0xFB, 0x2F, 0x00, + 0xBE, 0xF9, 0xB2, 0xFA, 0x2F, 0x00, 0x9A, 0xF8, + 0xB2, 0xFA, 0x2F, 0x00, 0x77, 0xF7, 0xB2, 0xFA, + 0x2E, 0x00, 0x91, 0x00, 0x58, 0xFB, 0x2E, 0x00, + 0xB4, 0x01, 0x58, 0xFB, 0x2E, 0x00, 0xD8, 0x02, + 0x58, 0xFB, 0x2E, 0x00, 0xFB, 0x03, 0x58, 0xFB, + 0x30, 0x00, 0x1F, 0x05, 0xCD, 0xF9, 0x30, 0x00, + 0x42, 0x06, 0x2E, 0xF9, 0x30, 0x00, 0x66, 0x07, + 0x2E, 0xF9, 0x30, 0x00, 0x89, 0x08, 0x2E, 0xF9, + 0x2E, 0x00, 0x6F, 0xFF, 0x58, 0xFB, 0x2E, 0x00, + 0x4C, 0xFE, 0x58, 0xFB, 0x2E, 0x00, 0x28, 0xFD, + 0x58, 0xFB, 0x2E, 0x00, 0x05, 0xFC, 0x58, 0xFB, + 0x30, 0x00, 0xE1, 0xFA, 0xCD, 0xF9, 0x30, 0x00, + 0xBE, 0xF9, 0x2E, 0xF9, 0x30, 0x00, 0x9A, 0xF8, + 0x2E, 0xF9, 0x30, 0x00, 0x77, 0xF7, 0x2E, 0xF9, + 0x30, 0x00, 0x91, 0x00, 0x4F, 0xFA, 0x30, 0x00, + 0xB4, 0x01, 0x4F, 0xFA, 0x30, 0x00, 0xD8, 0x02, + 0x4F, 0xFA, 0x30, 0x00, 0xFB, 0x03, 0x4F, 0xFA, + 0x30, 0x00, 0x1F, 0x05, 0x6D, 0xF8, 0x30, 0x00, + 0x42, 0x06, 0xAA, 0xF7, 0x30, 0x00, 0x66, 0x07, + 0xAA, 0xF7, 0x30, 0x00, 0x89, 0x08, 0xAA, 0xF7, + 0x30, 0x00, 0x6F, 0xFF, 0x4F, 0xFA, 0x30, 0x00, + 0x4C, 0xFE, 0x4F, 0xFA, 0x30, 0x00, 0x28, 0xFD, + 0x4F, 0xFA, 0x30, 0x00, 0x05, 0xFC, 0x4F, 0xFA, + 0x30, 0x00, 0xE1, 0xFA, 0x6D, 0xF8, 0x30, 0x00, + 0xBE, 0xF9, 0xAA, 0xF7, 0x30, 0x00, 0x9A, 0xF8, + 0xAA, 0xF7, 0x30, 0x00, 0x77, 0xF7, 0xAA, 0xF7, + 0x30, 0x00, 0x91, 0x00, 0x46, 0xF9, 0x30, 0x00, + 0xB4, 0x01, 0x46, 0xF9, 0x30, 0x00, 0xD8, 0x02, + 0x46, 0xF9, 0x30, 0x00, 0xFB, 0x03, 0x46, 0xF9, + 0x30, 0x00, 0x1F, 0x05, 0x0C, 0xF7, 0x30, 0x00, + 0x42, 0x06, 0x26, 0xF6, 0x30, 0x00, 0x66, 0x07, + 0x26, 0xF6, 0x30, 0x00, 0x89, 0x08, 0x26, 0xF6, + 0x30, 0x00, 0x6F, 0xFF, 0x46, 0xF9, 0x30, 0x00, + 0x4C, 0xFE, 0x46, 0xF9, 0x30, 0x00, 0x28, 0xFD, + 0x46, 0xF9, 0x30, 0x00, 0x05, 0xFC, 0x46, 0xF9, + 0x30, 0x00, 0xE1, 0xFA, 0x0C, 0xF7, 0x30, 0x00, + 0xBE, 0xF9, 0x26, 0xF6, 0x30, 0x00, 0x9A, 0xF8, + 0x26, 0xF6, 0x30, 0x00, 0x77, 0xF7, 0x26, 0xF6, + 0x30, 0x00, 0x91, 0x00, 0x3D, 0xF8, 0x30, 0x00, + 0xB4, 0x01, 0x3D, 0xF8, 0x30, 0x00, 0xD8, 0x02, + 0x3D, 0xF8, 0x30, 0x00, 0xFB, 0x03, 0x3D, 0xF8, + 0x30, 0x00, 0x1F, 0x05, 0xAC, 0xF5, 0x30, 0x00, + 0x42, 0x06, 0xA2, 0xF4, 0x30, 0x00, 0x66, 0x07, + 0xA2, 0xF4, 0x30, 0x00, 0x89, 0x08, 0xA2, 0xF4, + 0x30, 0x00, 0x6F, 0xFF, 0x3D, 0xF8, 0x30, 0x00, + 0x4C, 0xFE, 0x3D, 0xF8, 0x30, 0x00, 0x28, 0xFD, + 0x3D, 0xF8, 0x30, 0x00, 0x05, 0xFC, 0x3D, 0xF8, + 0x30, 0x00, 0xE1, 0xFA, 0xAC, 0xF5, 0x30, 0x00, + 0xBE, 0xF9, 0xA2, 0xF4, 0x30, 0x00, 0x9A, 0xF8, + 0xA2, 0xF4, 0x30, 0x00, 0x77, 0xF7, 0xA2, 0xF4, + 0x2C, 0x00, 0xA0, 0x00, 0x91, 0x00, 0x2C, 0x00, + 0xE0, 0x01, 0x91, 0x00, 0x2C, 0x00, 0x21, 0x03, + 0x91, 0x00, 0x2C, 0x00, 0x61, 0x04, 0x91, 0x00, + 0x2F, 0x00, 0xA2, 0x05, 0xC2, 0x00, 0x2F, 0x00, + 0xE2, 0x06, 0xC2, 0x00, 0x2F, 0x00, 0x23, 0x08, + 0xC2, 0x00, 0x2F, 0x00, 0x63, 0x09, 0xC2, 0x00, + 0x2C, 0x00, 0x60, 0xFF, 0x91, 0x00, 0x2C, 0x00, + 0x20, 0xFE, 0x91, 0x00, 0x2C, 0x00, 0xDF, 0xFC, + 0x91, 0x00, 0x2C, 0x00, 0x9F, 0xFB, 0x91, 0x00, + 0x2F, 0x00, 0x5E, 0xFA, 0xC2, 0x00, 0x2F, 0x00, + 0x1E, 0xF9, 0xC2, 0x00, 0x2F, 0x00, 0xDD, 0xF7, + 0xC2, 0x00, 0x2F, 0x00, 0x9D, 0xF6, 0xC2, 0x00, + 0x2C, 0x00, 0xA0, 0x00, 0xB4, 0x01, 0x2C, 0x00, + 0xE0, 0x01, 0xB4, 0x01, 0x2C, 0x00, 0x21, 0x03, + 0xB4, 0x01, 0x2C, 0x00, 0x61, 0x04, 0xB4, 0x01, + 0x2F, 0x00, 0xA2, 0x05, 0x46, 0x02, 0x2F, 0x00, + 0xE2, 0x06, 0x46, 0x02, 0x2F, 0x00, 0x23, 0x08, + 0x46, 0x02, 0x2F, 0x00, 0x63, 0x09, 0x46, 0x02, + 0x2C, 0x00, 0x60, 0xFF, 0xB4, 0x01, 0x2C, 0x00, + 0x20, 0xFE, 0xB4, 0x01, 0x2C, 0x00, 0xDF, 0xFC, + 0xB4, 0x01, 0x2C, 0x00, 0x9F, 0xFB, 0xB4, 0x01, + 0x2F, 0x00, 0x5E, 0xFA, 0x46, 0x02, 0x2F, 0x00, + 0x1E, 0xF9, 0x46, 0x02, 0x2F, 0x00, 0xDD, 0xF7, + 0x46, 0x02, 0x2F, 0x00, 0x9D, 0xF6, 0x46, 0x02, + 0x2C, 0x00, 0xA0, 0x00, 0xD8, 0x02, 0x2C, 0x00, + 0xE0, 0x01, 0xD8, 0x02, 0x2C, 0x00, 0x21, 0x03, + 0xD8, 0x02, 0x2C, 0x00, 0x61, 0x04, 0xD8, 0x02, + 0x2F, 0x00, 0xA2, 0x05, 0xCA, 0x03, 0x2F, 0x00, + 0xE2, 0x06, 0xCA, 0x03, 0x2F, 0x00, 0x23, 0x08, + 0xCA, 0x03, 0x2F, 0x00, 0x63, 0x09, 0xCA, 0x03, + 0x2C, 0x00, 0x60, 0xFF, 0xD8, 0x02, 0x2C, 0x00, + 0x20, 0xFE, 0xD8, 0x02, 0x2C, 0x00, 0xDF, 0xFC, + 0xD8, 0x02, 0x2C, 0x00, 0x9F, 0xFB, 0xD8, 0x02, + 0x2F, 0x00, 0x5E, 0xFA, 0xCA, 0x03, 0x2F, 0x00, + 0x1E, 0xF9, 0xCA, 0x03, 0x2F, 0x00, 0xDD, 0xF7, + 0xCA, 0x03, 0x2F, 0x00, 0x9D, 0xF6, 0xCA, 0x03, + 0x2C, 0x00, 0xA0, 0x00, 0xFB, 0x03, 0x2C, 0x00, + 0xE0, 0x01, 0xFB, 0x03, 0x2C, 0x00, 0x21, 0x03, + 0xFB, 0x03, 0x2C, 0x00, 0x61, 0x04, 0xFB, 0x03, + 0x2F, 0x00, 0xA2, 0x05, 0x4E, 0x05, 0x2F, 0x00, + 0xE2, 0x06, 0x4E, 0x05, 0x2F, 0x00, 0x23, 0x08, + 0x4E, 0x05, 0x2F, 0x00, 0x63, 0x09, 0x4E, 0x05, + 0x2C, 0x00, 0x60, 0xFF, 0xFB, 0x03, 0x2C, 0x00, + 0x20, 0xFE, 0xFB, 0x03, 0x2C, 0x00, 0xDF, 0xFC, + 0xFB, 0x03, 0x2C, 0x00, 0x9F, 0xFB, 0xFB, 0x03, + 0x2F, 0x00, 0x5E, 0xFA, 0x4E, 0x05, 0x2F, 0x00, + 0x1E, 0xF9, 0x4E, 0x05, 0x2F, 0x00, 0xDD, 0xF7, + 0x4E, 0x05, 0x2F, 0x00, 0x9D, 0xF6, 0x4E, 0x05, + 0x2F, 0x00, 0xA0, 0x00, 0x1F, 0x05, 0x2F, 0x00, + 0xE0, 0x01, 0x1F, 0x05, 0x2F, 0x00, 0x21, 0x03, + 0x1F, 0x05, 0x2F, 0x00, 0x61, 0x04, 0x1F, 0x05, + 0x30, 0x00, 0xA2, 0x05, 0xD2, 0x06, 0x30, 0x00, + 0xE2, 0x06, 0xD2, 0x06, 0x30, 0x00, 0x23, 0x08, + 0xD2, 0x06, 0x30, 0x00, 0x63, 0x09, 0xD2, 0x06, + 0x2F, 0x00, 0x60, 0xFF, 0x1F, 0x05, 0x2F, 0x00, + 0x20, 0xFE, 0x1F, 0x05, 0x2F, 0x00, 0xDF, 0xFC, + 0x1F, 0x05, 0x2F, 0x00, 0x9F, 0xFB, 0x1F, 0x05, + 0x30, 0x00, 0x5E, 0xFA, 0xD2, 0x06, 0x30, 0x00, + 0x1E, 0xF9, 0xD2, 0x06, 0x30, 0x00, 0xDD, 0xF7, + 0xD2, 0x06, 0x30, 0x00, 0x9D, 0xF6, 0xD2, 0x06, + 0x30, 0x00, 0xA0, 0x00, 0x42, 0x06, 0x30, 0x00, + 0xE0, 0x01, 0x42, 0x06, 0x30, 0x00, 0x21, 0x03, + 0x42, 0x06, 0x30, 0x00, 0x61, 0x04, 0x42, 0x06, + 0x30, 0x00, 0xA2, 0x05, 0x56, 0x08, 0x30, 0x00, + 0xE2, 0x06, 0x56, 0x08, 0x30, 0x00, 0x23, 0x08, + 0x56, 0x08, 0x30, 0x00, 0x63, 0x09, 0x56, 0x08, + 0x30, 0x00, 0x60, 0xFF, 0x42, 0x06, 0x30, 0x00, + 0x20, 0xFE, 0x42, 0x06, 0x30, 0x00, 0xDF, 0xFC, + 0x42, 0x06, 0x30, 0x00, 0x9F, 0xFB, 0x42, 0x06, + 0x30, 0x00, 0x5E, 0xFA, 0x56, 0x08, 0x30, 0x00, + 0x1E, 0xF9, 0x56, 0x08, 0x30, 0x00, 0xDD, 0xF7, + 0x56, 0x08, 0x30, 0x00, 0x9D, 0xF6, 0x56, 0x08, + 0x30, 0x00, 0xA0, 0x00, 0x66, 0x07, 0x30, 0x00, + 0xE0, 0x01, 0x66, 0x07, 0x30, 0x00, 0x21, 0x03, + 0x66, 0x07, 0x30, 0x00, 0x61, 0x04, 0x66, 0x07, + 0x30, 0x00, 0xA2, 0x05, 0xDA, 0x09, 0x30, 0x00, + 0xE2, 0x06, 0xDA, 0x09, 0x30, 0x00, 0x23, 0x08, + 0xDA, 0x09, 0x30, 0x00, 0x63, 0x09, 0xDA, 0x09, + 0x30, 0x00, 0x60, 0xFF, 0x66, 0x07, 0x30, 0x00, + 0x20, 0xFE, 0x66, 0x07, 0x30, 0x00, 0xDF, 0xFC, + 0x66, 0x07, 0x30, 0x00, 0x9F, 0xFB, 0x66, 0x07, + 0x30, 0x00, 0x5E, 0xFA, 0xDA, 0x09, 0x30, 0x00, + 0x1E, 0xF9, 0xDA, 0x09, 0x30, 0x00, 0xDD, 0xF7, + 0xDA, 0x09, 0x30, 0x00, 0x9D, 0xF6, 0xDA, 0x09, + 0x30, 0x00, 0xA0, 0x00, 0x89, 0x08, 0x30, 0x00, + 0xE0, 0x01, 0x89, 0x08, 0x30, 0x00, 0x21, 0x03, + 0x89, 0x08, 0x30, 0x00, 0x61, 0x04, 0x89, 0x08, + 0x30, 0x00, 0xA2, 0x05, 0x5E, 0x0B, 0x30, 0x00, + 0xE2, 0x06, 0x5E, 0x0B, 0x30, 0x00, 0x23, 0x08, + 0x5E, 0x0B, 0x30, 0x00, 0x63, 0x09, 0x5E, 0x0B, + 0x30, 0x00, 0x60, 0xFF, 0x89, 0x08, 0x30, 0x00, + 0x20, 0xFE, 0x89, 0x08, 0x30, 0x00, 0xDF, 0xFC, + 0x89, 0x08, 0x30, 0x00, 0x9F, 0xFB, 0x89, 0x08, + 0x30, 0x00, 0x5E, 0xFA, 0x5E, 0x0B, 0x30, 0x00, + 0x1E, 0xF9, 0x5E, 0x0B, 0x30, 0x00, 0xDD, 0xF7, + 0x5E, 0x0B, 0x30, 0x00, 0x9D, 0xF6, 0x5E, 0x0B, + 0x2C, 0x00, 0xA0, 0x00, 0x6F, 0xFF, 0x2C, 0x00, + 0xE0, 0x01, 0x6F, 0xFF, 0x2C, 0x00, 0x21, 0x03, + 0x6F, 0xFF, 0x2C, 0x00, 0x61, 0x04, 0x6F, 0xFF, + 0x2F, 0x00, 0xA2, 0x05, 0x3E, 0xFF, 0x2F, 0x00, + 0xE2, 0x06, 0x3E, 0xFF, 0x2F, 0x00, 0x23, 0x08, + 0x3E, 0xFF, 0x2F, 0x00, 0x63, 0x09, 0x3E, 0xFF, + 0x2C, 0x00, 0x60, 0xFF, 0x6F, 0xFF, 0x2C, 0x00, + 0x20, 0xFE, 0x6F, 0xFF, 0x2C, 0x00, 0xDF, 0xFC, + 0x6F, 0xFF, 0x2C, 0x00, 0x9F, 0xFB, 0x6F, 0xFF, + 0x2F, 0x00, 0x5E, 0xFA, 0x3E, 0xFF, 0x2F, 0x00, + 0x1E, 0xF9, 0x3E, 0xFF, 0x2F, 0x00, 0xDD, 0xF7, + 0x3E, 0xFF, 0x2F, 0x00, 0x9D, 0xF6, 0x3E, 0xFF, + 0x2C, 0x00, 0xA0, 0x00, 0x4C, 0xFE, 0x2C, 0x00, + 0xE0, 0x01, 0x4C, 0xFE, 0x2C, 0x00, 0x21, 0x03, + 0x4C, 0xFE, 0x2C, 0x00, 0x61, 0x04, 0x4C, 0xFE, + 0x2F, 0x00, 0xA2, 0x05, 0xBA, 0xFD, 0x2F, 0x00, + 0xE2, 0x06, 0xBA, 0xFD, 0x2F, 0x00, 0x23, 0x08, + 0xBA, 0xFD, 0x2F, 0x00, 0x63, 0x09, 0xBA, 0xFD, + 0x2C, 0x00, 0x60, 0xFF, 0x4C, 0xFE, 0x2C, 0x00, + 0x20, 0xFE, 0x4C, 0xFE, 0x2C, 0x00, 0xDF, 0xFC, + 0x4C, 0xFE, 0x2C, 0x00, 0x9F, 0xFB, 0x4C, 0xFE, + 0x2F, 0x00, 0x5E, 0xFA, 0xBA, 0xFD, 0x2F, 0x00, + 0x1E, 0xF9, 0xBA, 0xFD, 0x2F, 0x00, 0xDD, 0xF7, + 0xBA, 0xFD, 0x2F, 0x00, 0x9D, 0xF6, 0xBA, 0xFD, + 0x2C, 0x00, 0xA0, 0x00, 0x28, 0xFD, 0x2C, 0x00, + 0xE0, 0x01, 0x28, 0xFD, 0x2C, 0x00, 0x21, 0x03, + 0x28, 0xFD, 0x2C, 0x00, 0x61, 0x04, 0x28, 0xFD, + 0x2F, 0x00, 0xA2, 0x05, 0x36, 0xFC, 0x2F, 0x00, + 0xE2, 0x06, 0x36, 0xFC, 0x2F, 0x00, 0x23, 0x08, + 0x36, 0xFC, 0x2F, 0x00, 0x63, 0x09, 0x36, 0xFC, + 0x2C, 0x00, 0x60, 0xFF, 0x28, 0xFD, 0x2C, 0x00, + 0x20, 0xFE, 0x28, 0xFD, 0x2C, 0x00, 0xDF, 0xFC, + 0x28, 0xFD, 0x2C, 0x00, 0x9F, 0xFB, 0x28, 0xFD, + 0x2F, 0x00, 0x5E, 0xFA, 0x36, 0xFC, 0x2F, 0x00, + 0x1E, 0xF9, 0x36, 0xFC, 0x2F, 0x00, 0xDD, 0xF7, + 0x36, 0xFC, 0x2F, 0x00, 0x9D, 0xF6, 0x36, 0xFC, + 0x2C, 0x00, 0xA0, 0x00, 0x05, 0xFC, 0x2C, 0x00, + 0xE0, 0x01, 0x05, 0xFC, 0x2C, 0x00, 0x21, 0x03, + 0x05, 0xFC, 0x2C, 0x00, 0x61, 0x04, 0x05, 0xFC, + 0x2F, 0x00, 0xA2, 0x05, 0xB2, 0xFA, 0x2F, 0x00, + 0xE2, 0x06, 0xB2, 0xFA, 0x2F, 0x00, 0x23, 0x08, + 0xB2, 0xFA, 0x2F, 0x00, 0x63, 0x09, 0xB2, 0xFA, + 0x2C, 0x00, 0x60, 0xFF, 0x05, 0xFC, 0x2C, 0x00, + 0x20, 0xFE, 0x05, 0xFC, 0x2C, 0x00, 0xDF, 0xFC, + 0x05, 0xFC, 0x2C, 0x00, 0x9F, 0xFB, 0x05, 0xFC, + 0x2F, 0x00, 0x5E, 0xFA, 0xB2, 0xFA, 0x2F, 0x00, + 0x1E, 0xF9, 0xB2, 0xFA, 0x2F, 0x00, 0xDD, 0xF7, + 0xB2, 0xFA, 0x2F, 0x00, 0x9D, 0xF6, 0xB2, 0xFA, + 0x2F, 0x00, 0xA0, 0x00, 0xE1, 0xFA, 0x2F, 0x00, + 0xE0, 0x01, 0xE1, 0xFA, 0x2F, 0x00, 0x21, 0x03, + 0xE1, 0xFA, 0x2F, 0x00, 0x61, 0x04, 0xE1, 0xFA, + 0x30, 0x00, 0xA2, 0x05, 0x2E, 0xF9, 0x30, 0x00, + 0xE2, 0x06, 0x2E, 0xF9, 0x30, 0x00, 0x23, 0x08, + 0x2E, 0xF9, 0x30, 0x00, 0x63, 0x09, 0x2E, 0xF9, + 0x2F, 0x00, 0x60, 0xFF, 0xE1, 0xFA, 0x2F, 0x00, + 0x20, 0xFE, 0xE1, 0xFA, 0x2F, 0x00, 0xDF, 0xFC, + 0xE1, 0xFA, 0x2F, 0x00, 0x9F, 0xFB, 0xE1, 0xFA, + 0x30, 0x00, 0x5E, 0xFA, 0x2E, 0xF9, 0x30, 0x00, + 0x1E, 0xF9, 0x2E, 0xF9, 0x30, 0x00, 0xDD, 0xF7, + 0x2E, 0xF9, 0x30, 0x00, 0x9D, 0xF6, 0x2E, 0xF9, + 0x30, 0x00, 0xA0, 0x00, 0xBE, 0xF9, 0x30, 0x00, + 0xE0, 0x01, 0xBE, 0xF9, 0x30, 0x00, 0x21, 0x03, + 0xBE, 0xF9, 0x30, 0x00, 0x61, 0x04, 0xBE, 0xF9, + 0x30, 0x00, 0xA2, 0x05, 0xAA, 0xF7, 0x30, 0x00, + 0xE2, 0x06, 0xAA, 0xF7, 0x30, 0x00, 0x23, 0x08, + 0xAA, 0xF7, 0x30, 0x00, 0x63, 0x09, 0xAA, 0xF7, + 0x30, 0x00, 0x60, 0xFF, 0xBE, 0xF9, 0x30, 0x00, + 0x20, 0xFE, 0xBE, 0xF9, 0x30, 0x00, 0xDF, 0xFC, + 0xBE, 0xF9, 0x30, 0x00, 0x9F, 0xFB, 0xBE, 0xF9, + 0x30, 0x00, 0x5E, 0xFA, 0xAA, 0xF7, 0x30, 0x00, + 0x1E, 0xF9, 0xAA, 0xF7, 0x30, 0x00, 0xDD, 0xF7, + 0xAA, 0xF7, 0x30, 0x00, 0x9D, 0xF6, 0xAA, 0xF7, + 0x30, 0x00, 0xA0, 0x00, 0x9A, 0xF8, 0x30, 0x00, + 0xE0, 0x01, 0x9A, 0xF8, 0x30, 0x00, 0x21, 0x03, + 0x9A, 0xF8, 0x30, 0x00, 0x61, 0x04, 0x9A, 0xF8, + 0x30, 0x00, 0xA2, 0x05, 0x26, 0xF6, 0x30, 0x00, + 0xE2, 0x06, 0x26, 0xF6, 0x30, 0x00, 0x23, 0x08, + 0x26, 0xF6, 0x30, 0x00, 0x63, 0x09, 0x26, 0xF6, + 0x30, 0x00, 0x60, 0xFF, 0x9A, 0xF8, 0x30, 0x00, + 0x20, 0xFE, 0x9A, 0xF8, 0x30, 0x00, 0xDF, 0xFC, + 0x9A, 0xF8, 0x30, 0x00, 0x9F, 0xFB, 0x9A, 0xF8, + 0x30, 0x00, 0x5E, 0xFA, 0x26, 0xF6, 0x30, 0x00, + 0x1E, 0xF9, 0x26, 0xF6, 0x30, 0x00, 0xDD, 0xF7, + 0x26, 0xF6, 0x30, 0x00, 0x9D, 0xF6, 0x26, 0xF6, + 0x30, 0x00, 0xA0, 0x00, 0x77, 0xF7, 0x30, 0x00, + 0xE0, 0x01, 0x77, 0xF7, 0x30, 0x00, 0x21, 0x03, + 0x77, 0xF7, 0x30, 0x00, 0x61, 0x04, 0x77, 0xF7, + 0x30, 0x00, 0xA2, 0x05, 0xA2, 0xF4, 0x30, 0x00, + 0xE2, 0x06, 0xA2, 0xF4, 0x30, 0x00, 0x23, 0x08, + 0xA2, 0xF4, 0x30, 0x00, 0x63, 0x09, 0xA2, 0xF4, + 0x30, 0x00, 0x60, 0xFF, 0x77, 0xF7, 0x30, 0x00, + 0x20, 0xFE, 0x77, 0xF7, 0x30, 0x00, 0xDF, 0xFC, + 0x77, 0xF7, 0x30, 0x00, 0x9F, 0xFB, 0x77, 0xF7, + 0x30, 0x00, 0x5E, 0xFA, 0xA2, 0xF4, 0x30, 0x00, + 0x1E, 0xF9, 0xA2, 0xF4, 0x30, 0x00, 0xDD, 0xF7, + 0xA2, 0xF4, 0x30, 0x00, 0x9D, 0xF6, 0xA2, 0xF4, + 0x2D, 0x00, 0xB0, 0x00, 0xA0, 0x00, 0x2D, 0x00, + 0x10, 0x02, 0xA0, 0x00, 0x2D, 0x00, 0x71, 0x03, + 0xA0, 0x00, 0x2D, 0x00, 0xD1, 0x04, 0xA0, 0x00, + 0x2F, 0x00, 0x33, 0x06, 0xC2, 0x00, 0x2F, 0x00, + 0x93, 0x07, 0xC2, 0x00, 0x2F, 0x00, 0xF4, 0x08, + 0xC2, 0x00, 0x2F, 0x00, 0x54, 0x0A, 0xC2, 0x00, + 0x2D, 0x00, 0x50, 0xFF, 0xA0, 0x00, 0x2D, 0x00, + 0xF0, 0xFD, 0xA0, 0x00, 0x2D, 0x00, 0x8F, 0xFC, + 0xA0, 0x00, 0x2D, 0x00, 0x2F, 0xFB, 0xA0, 0x00, + 0x2F, 0x00, 0xCD, 0xF9, 0xC2, 0x00, 0x2F, 0x00, + 0x6D, 0xF8, 0xC2, 0x00, 0x2F, 0x00, 0x0C, 0xF7, + 0xC2, 0x00, 0x2F, 0x00, 0xAC, 0xF5, 0xC2, 0x00, + 0x2D, 0x00, 0xB0, 0x00, 0xE0, 0x01, 0x2D, 0x00, + 0x10, 0x02, 0xE0, 0x01, 0x2D, 0x00, 0x71, 0x03, + 0xE0, 0x01, 0x2D, 0x00, 0xD1, 0x04, 0xE0, 0x01, + 0x2F, 0x00, 0x33, 0x06, 0x46, 0x02, 0x2F, 0x00, + 0x93, 0x07, 0x46, 0x02, 0x2F, 0x00, 0xF4, 0x08, + 0x46, 0x02, 0x2F, 0x00, 0x54, 0x0A, 0x46, 0x02, + 0x2D, 0x00, 0x50, 0xFF, 0xE0, 0x01, 0x2D, 0x00, + 0xF0, 0xFD, 0xE0, 0x01, 0x2D, 0x00, 0x8F, 0xFC, + 0xE0, 0x01, 0x2D, 0x00, 0x2F, 0xFB, 0xE0, 0x01, + 0x2F, 0x00, 0xCD, 0xF9, 0x46, 0x02, 0x2F, 0x00, + 0x6D, 0xF8, 0x46, 0x02, 0x2F, 0x00, 0x0C, 0xF7, + 0x46, 0x02, 0x2F, 0x00, 0xAC, 0xF5, 0x46, 0x02, + 0x2D, 0x00, 0xB0, 0x00, 0x21, 0x03, 0x2D, 0x00, + 0x10, 0x02, 0x21, 0x03, 0x2D, 0x00, 0x71, 0x03, + 0x21, 0x03, 0x2D, 0x00, 0xD1, 0x04, 0x21, 0x03, + 0x2F, 0x00, 0x33, 0x06, 0xCA, 0x03, 0x2F, 0x00, + 0x93, 0x07, 0xCA, 0x03, 0x2F, 0x00, 0xF4, 0x08, + 0xCA, 0x03, 0x2F, 0x00, 0x54, 0x0A, 0xCA, 0x03, + 0x2D, 0x00, 0x50, 0xFF, 0x21, 0x03, 0x2D, 0x00, + 0xF0, 0xFD, 0x21, 0x03, 0x2D, 0x00, 0x8F, 0xFC, + 0x21, 0x03, 0x2D, 0x00, 0x2F, 0xFB, 0x21, 0x03, + 0x2F, 0x00, 0xCD, 0xF9, 0xCA, 0x03, 0x2F, 0x00, + 0x6D, 0xF8, 0xCA, 0x03, 0x2F, 0x00, 0x0C, 0xF7, + 0xCA, 0x03, 0x2F, 0x00, 0xAC, 0xF5, 0xCA, 0x03, + 0x2D, 0x00, 0xB0, 0x00, 0x61, 0x04, 0x2D, 0x00, + 0x10, 0x02, 0x61, 0x04, 0x2D, 0x00, 0x71, 0x03, + 0x61, 0x04, 0x2D, 0x00, 0xD1, 0x04, 0x61, 0x04, + 0x2F, 0x00, 0x33, 0x06, 0x4E, 0x05, 0x2F, 0x00, + 0x93, 0x07, 0x4E, 0x05, 0x2F, 0x00, 0xF4, 0x08, + 0x4E, 0x05, 0x2F, 0x00, 0x54, 0x0A, 0x4E, 0x05, + 0x2D, 0x00, 0x50, 0xFF, 0x61, 0x04, 0x2D, 0x00, + 0xF0, 0xFD, 0x61, 0x04, 0x2D, 0x00, 0x8F, 0xFC, + 0x61, 0x04, 0x2D, 0x00, 0x2F, 0xFB, 0x61, 0x04, + 0x2F, 0x00, 0xCD, 0xF9, 0x4E, 0x05, 0x2F, 0x00, + 0x6D, 0xF8, 0x4E, 0x05, 0x2F, 0x00, 0x0C, 0xF7, + 0x4E, 0x05, 0x2F, 0x00, 0xAC, 0xF5, 0x4E, 0x05, + 0x30, 0x00, 0xB0, 0x00, 0xA2, 0x05, 0x30, 0x00, + 0x10, 0x02, 0xA2, 0x05, 0x30, 0x00, 0x71, 0x03, + 0xA2, 0x05, 0x30, 0x00, 0xD1, 0x04, 0xA2, 0x05, + 0x30, 0x00, 0x33, 0x06, 0xD2, 0x06, 0x30, 0x00, + 0x93, 0x07, 0xD2, 0x06, 0x30, 0x00, 0xF4, 0x08, + 0xD2, 0x06, 0x30, 0x00, 0x54, 0x0A, 0xD2, 0x06, + 0x30, 0x00, 0x50, 0xFF, 0xA2, 0x05, 0x30, 0x00, + 0xF0, 0xFD, 0xA2, 0x05, 0x30, 0x00, 0x8F, 0xFC, + 0xA2, 0x05, 0x30, 0x00, 0x2F, 0xFB, 0xA2, 0x05, + 0x30, 0x00, 0xCD, 0xF9, 0xD2, 0x06, 0x30, 0x00, + 0x6D, 0xF8, 0xD2, 0x06, 0x30, 0x00, 0x0C, 0xF7, + 0xD2, 0x06, 0x30, 0x00, 0xAC, 0xF5, 0xD2, 0x06, + 0x30, 0x00, 0xB0, 0x00, 0xE2, 0x06, 0x30, 0x00, + 0x10, 0x02, 0xE2, 0x06, 0x30, 0x00, 0x71, 0x03, + 0xE2, 0x06, 0x30, 0x00, 0xD1, 0x04, 0xE2, 0x06, + 0x30, 0x00, 0x33, 0x06, 0x56, 0x08, 0x30, 0x00, + 0x93, 0x07, 0x56, 0x08, 0x30, 0x00, 0xF4, 0x08, + 0x56, 0x08, 0x30, 0x00, 0x54, 0x0A, 0x56, 0x08, + 0x30, 0x00, 0x50, 0xFF, 0xE2, 0x06, 0x30, 0x00, + 0xF0, 0xFD, 0xE2, 0x06, 0x30, 0x00, 0x8F, 0xFC, + 0xE2, 0x06, 0x30, 0x00, 0x2F, 0xFB, 0xE2, 0x06, + 0x30, 0x00, 0xCD, 0xF9, 0x56, 0x08, 0x30, 0x00, + 0x6D, 0xF8, 0x56, 0x08, 0x30, 0x00, 0x0C, 0xF7, + 0x56, 0x08, 0x30, 0x00, 0xAC, 0xF5, 0x56, 0x08, + 0x30, 0x00, 0xB0, 0x00, 0x23, 0x08, 0x30, 0x00, + 0x10, 0x02, 0x23, 0x08, 0x30, 0x00, 0x71, 0x03, + 0x23, 0x08, 0x30, 0x00, 0xD1, 0x04, 0x23, 0x08, + 0x30, 0x00, 0x33, 0x06, 0xDA, 0x09, 0x30, 0x00, + 0x93, 0x07, 0xDA, 0x09, 0x30, 0x00, 0xF4, 0x08, + 0xDA, 0x09, 0x30, 0x00, 0x54, 0x0A, 0xDA, 0x09, + 0x30, 0x00, 0x50, 0xFF, 0x23, 0x08, 0x30, 0x00, + 0xF0, 0xFD, 0x23, 0x08, 0x30, 0x00, 0x8F, 0xFC, + 0x23, 0x08, 0x30, 0x00, 0x2F, 0xFB, 0x23, 0x08, + 0x30, 0x00, 0xCD, 0xF9, 0xDA, 0x09, 0x30, 0x00, + 0x6D, 0xF8, 0xDA, 0x09, 0x30, 0x00, 0x0C, 0xF7, + 0xDA, 0x09, 0x30, 0x00, 0xAC, 0xF5, 0xDA, 0x09, + 0x30, 0x00, 0xB0, 0x00, 0x63, 0x09, 0x30, 0x00, + 0x10, 0x02, 0x63, 0x09, 0x30, 0x00, 0x71, 0x03, + 0x63, 0x09, 0x30, 0x00, 0xD1, 0x04, 0x63, 0x09, + 0x30, 0x00, 0x33, 0x06, 0x5E, 0x0B, 0x30, 0x00, + 0x93, 0x07, 0x5E, 0x0B, 0x30, 0x00, 0xF4, 0x08, + 0x5E, 0x0B, 0x30, 0x00, 0x54, 0x0A, 0x5E, 0x0B, + 0x30, 0x00, 0x50, 0xFF, 0x63, 0x09, 0x30, 0x00, + 0xF0, 0xFD, 0x63, 0x09, 0x30, 0x00, 0x8F, 0xFC, + 0x63, 0x09, 0x30, 0x00, 0x2F, 0xFB, 0x63, 0x09, + 0x30, 0x00, 0xCD, 0xF9, 0x5E, 0x0B, 0x30, 0x00, + 0x6D, 0xF8, 0x5E, 0x0B, 0x30, 0x00, 0x0C, 0xF7, + 0x5E, 0x0B, 0x30, 0x00, 0xAC, 0xF5, 0x5E, 0x0B, + 0x2D, 0x00, 0xB0, 0x00, 0x60, 0xFF, 0x2D, 0x00, + 0x10, 0x02, 0x60, 0xFF, 0x2D, 0x00, 0x71, 0x03, + 0x60, 0xFF, 0x2D, 0x00, 0xD1, 0x04, 0x60, 0xFF, + 0x2F, 0x00, 0x33, 0x06, 0x3E, 0xFF, 0x2F, 0x00, + 0x93, 0x07, 0x3E, 0xFF, 0x2F, 0x00, 0xF4, 0x08, + 0x3E, 0xFF, 0x2F, 0x00, 0x54, 0x0A, 0x3E, 0xFF, + 0x2D, 0x00, 0x50, 0xFF, 0x60, 0xFF, 0x2D, 0x00, + 0xF0, 0xFD, 0x60, 0xFF, 0x2D, 0x00, 0x8F, 0xFC, + 0x60, 0xFF, 0x2D, 0x00, 0x2F, 0xFB, 0x60, 0xFF, + 0x2F, 0x00, 0xCD, 0xF9, 0x3E, 0xFF, 0x2F, 0x00, + 0x6D, 0xF8, 0x3E, 0xFF, 0x2F, 0x00, 0x0C, 0xF7, + 0x3E, 0xFF, 0x2F, 0x00, 0xAC, 0xF5, 0x3E, 0xFF, + 0x2D, 0x00, 0xB0, 0x00, 0x20, 0xFE, 0x2D, 0x00, + 0x10, 0x02, 0x20, 0xFE, 0x2D, 0x00, 0x71, 0x03, + 0x20, 0xFE, 0x2D, 0x00, 0xD1, 0x04, 0x20, 0xFE, + 0x2F, 0x00, 0x33, 0x06, 0xBA, 0xFD, 0x2F, 0x00, + 0x93, 0x07, 0xBA, 0xFD, 0x2F, 0x00, 0xF4, 0x08, + 0xBA, 0xFD, 0x2F, 0x00, 0x54, 0x0A, 0xBA, 0xFD, + 0x2D, 0x00, 0x50, 0xFF, 0x20, 0xFE, 0x2D, 0x00, + 0xF0, 0xFD, 0x20, 0xFE, 0x2D, 0x00, 0x8F, 0xFC, + 0x20, 0xFE, 0x2D, 0x00, 0x2F, 0xFB, 0x20, 0xFE, + 0x2F, 0x00, 0xCD, 0xF9, 0xBA, 0xFD, 0x2F, 0x00, + 0x6D, 0xF8, 0xBA, 0xFD, 0x2F, 0x00, 0x0C, 0xF7, + 0xBA, 0xFD, 0x2F, 0x00, 0xAC, 0xF5, 0xBA, 0xFD, + 0x2D, 0x00, 0xB0, 0x00, 0xDF, 0xFC, 0x2D, 0x00, + 0x10, 0x02, 0xDF, 0xFC, 0x2D, 0x00, 0x71, 0x03, + 0xDF, 0xFC, 0x2D, 0x00, 0xD1, 0x04, 0xDF, 0xFC, + 0x2F, 0x00, 0x33, 0x06, 0x36, 0xFC, 0x2F, 0x00, + 0x93, 0x07, 0x36, 0xFC, 0x2F, 0x00, 0xF4, 0x08, + 0x36, 0xFC, 0x2F, 0x00, 0x54, 0x0A, 0x36, 0xFC, + 0x2D, 0x00, 0x50, 0xFF, 0xDF, 0xFC, 0x2D, 0x00, + 0xF0, 0xFD, 0xDF, 0xFC, 0x2D, 0x00, 0x8F, 0xFC, + 0xDF, 0xFC, 0x2D, 0x00, 0x2F, 0xFB, 0xDF, 0xFC, + 0x2F, 0x00, 0xCD, 0xF9, 0x36, 0xFC, 0x2F, 0x00, + 0x6D, 0xF8, 0x36, 0xFC, 0x2F, 0x00, 0x0C, 0xF7, + 0x36, 0xFC, 0x2F, 0x00, 0xAC, 0xF5, 0x36, 0xFC, + 0x2D, 0x00, 0xB0, 0x00, 0x9F, 0xFB, 0x2D, 0x00, + 0x10, 0x02, 0x9F, 0xFB, 0x2D, 0x00, 0x71, 0x03, + 0x9F, 0xFB, 0x2D, 0x00, 0xD1, 0x04, 0x9F, 0xFB, + 0x2F, 0x00, 0x33, 0x06, 0xB2, 0xFA, 0x2F, 0x00, + 0x93, 0x07, 0xB2, 0xFA, 0x2F, 0x00, 0xF4, 0x08, + 0xB2, 0xFA, 0x2F, 0x00, 0x54, 0x0A, 0xB2, 0xFA, + 0x2D, 0x00, 0x50, 0xFF, 0x9F, 0xFB, 0x2D, 0x00, + 0xF0, 0xFD, 0x9F, 0xFB, 0x2D, 0x00, 0x8F, 0xFC, + 0x9F, 0xFB, 0x2D, 0x00, 0x2F, 0xFB, 0x9F, 0xFB, + 0x2F, 0x00, 0xCD, 0xF9, 0xB2, 0xFA, 0x2F, 0x00, + 0x6D, 0xF8, 0xB2, 0xFA, 0x2F, 0x00, 0x0C, 0xF7, + 0xB2, 0xFA, 0x2F, 0x00, 0xAC, 0xF5, 0xB2, 0xFA, + 0x30, 0x00, 0xB0, 0x00, 0x5E, 0xFA, 0x30, 0x00, + 0x10, 0x02, 0x5E, 0xFA, 0x30, 0x00, 0x71, 0x03, + 0x5E, 0xFA, 0x30, 0x00, 0xD1, 0x04, 0x5E, 0xFA, + 0x30, 0x00, 0x33, 0x06, 0x2E, 0xF9, 0x30, 0x00, + 0x93, 0x07, 0x2E, 0xF9, 0x30, 0x00, 0xF4, 0x08, + 0x2E, 0xF9, 0x30, 0x00, 0x54, 0x0A, 0x2E, 0xF9, + 0x30, 0x00, 0x50, 0xFF, 0x5E, 0xFA, 0x30, 0x00, + 0xF0, 0xFD, 0x5E, 0xFA, 0x30, 0x00, 0x8F, 0xFC, + 0x5E, 0xFA, 0x30, 0x00, 0x2F, 0xFB, 0x5E, 0xFA, + 0x30, 0x00, 0xCD, 0xF9, 0x2E, 0xF9, 0x30, 0x00, + 0x6D, 0xF8, 0x2E, 0xF9, 0x30, 0x00, 0x0C, 0xF7, + 0x2E, 0xF9, 0x30, 0x00, 0xAC, 0xF5, 0x2E, 0xF9, + 0x30, 0x00, 0xB0, 0x00, 0x1E, 0xF9, 0x30, 0x00, + 0x10, 0x02, 0x1E, 0xF9, 0x30, 0x00, 0x71, 0x03, + 0x1E, 0xF9, 0x30, 0x00, 0xD1, 0x04, 0x1E, 0xF9, + 0x30, 0x00, 0x33, 0x06, 0xAA, 0xF7, 0x30, 0x00, + 0x93, 0x07, 0xAA, 0xF7, 0x30, 0x00, 0xF4, 0x08, + 0xAA, 0xF7, 0x30, 0x00, 0x54, 0x0A, 0xAA, 0xF7, + 0x30, 0x00, 0x50, 0xFF, 0x1E, 0xF9, 0x30, 0x00, + 0xF0, 0xFD, 0x1E, 0xF9, 0x30, 0x00, 0x8F, 0xFC, + 0x1E, 0xF9, 0x30, 0x00, 0x2F, 0xFB, 0x1E, 0xF9, + 0x30, 0x00, 0xCD, 0xF9, 0xAA, 0xF7, 0x30, 0x00, + 0x6D, 0xF8, 0xAA, 0xF7, 0x30, 0x00, 0x0C, 0xF7, + 0xAA, 0xF7, 0x30, 0x00, 0xAC, 0xF5, 0xAA, 0xF7, + 0x30, 0x00, 0xB0, 0x00, 0xDD, 0xF7, 0x30, 0x00, + 0x10, 0x02, 0xDD, 0xF7, 0x30, 0x00, 0x71, 0x03, + 0xDD, 0xF7, 0x30, 0x00, 0xD1, 0x04, 0xDD, 0xF7, + 0x30, 0x00, 0x33, 0x06, 0x26, 0xF6, 0x30, 0x00, + 0x93, 0x07, 0x26, 0xF6, 0x30, 0x00, 0xF4, 0x08, + 0x26, 0xF6, 0x30, 0x00, 0x54, 0x0A, 0x26, 0xF6, + 0x30, 0x00, 0x50, 0xFF, 0xDD, 0xF7, 0x30, 0x00, + 0xF0, 0xFD, 0xDD, 0xF7, 0x30, 0x00, 0x8F, 0xFC, + 0xDD, 0xF7, 0x30, 0x00, 0x2F, 0xFB, 0xDD, 0xF7, + 0x30, 0x00, 0xCD, 0xF9, 0x26, 0xF6, 0x30, 0x00, + 0x6D, 0xF8, 0x26, 0xF6, 0x30, 0x00, 0x0C, 0xF7, + 0x26, 0xF6, 0x30, 0x00, 0xAC, 0xF5, 0x26, 0xF6, + 0x30, 0x00, 0xB0, 0x00, 0x9D, 0xF6, 0x30, 0x00, + 0x10, 0x02, 0x9D, 0xF6, 0x30, 0x00, 0x71, 0x03, + 0x9D, 0xF6, 0x30, 0x00, 0xD1, 0x04, 0x9D, 0xF6, + 0x30, 0x00, 0x33, 0x06, 0xA2, 0xF4, 0x30, 0x00, + 0x93, 0x07, 0xA2, 0xF4, 0x30, 0x00, 0xF4, 0x08, + 0xA2, 0xF4, 0x30, 0x00, 0x54, 0x0A, 0xA2, 0xF4, + 0x30, 0x00, 0x50, 0xFF, 0x9D, 0xF6, 0x30, 0x00, + 0xF0, 0xFD, 0x9D, 0xF6, 0x30, 0x00, 0x8F, 0xFC, + 0x9D, 0xF6, 0x30, 0x00, 0x2F, 0xFB, 0x9D, 0xF6, + 0x30, 0x00, 0xCD, 0xF9, 0xA2, 0xF4, 0x30, 0x00, + 0x6D, 0xF8, 0xA2, 0xF4, 0x30, 0x00, 0x0C, 0xF7, + 0xA2, 0xF4, 0x30, 0x00, 0xAC, 0xF5, 0xA2, 0xF4, + 0x2E, 0x00, 0xC2, 0x00, 0xB0, 0x00, 0x2E, 0x00, + 0x46, 0x02, 0xB0, 0x00, 0x2E, 0x00, 0xCA, 0x03, + 0xB0, 0x00, 0x2E, 0x00, 0x4E, 0x05, 0xB0, 0x00, + 0x2F, 0x00, 0xD2, 0x06, 0xC2, 0x00, 0x2F, 0x00, + 0x56, 0x08, 0xC2, 0x00, 0x2F, 0x00, 0xDA, 0x09, + 0xC2, 0x00, 0x2F, 0x00, 0x5E, 0x0B, 0xC2, 0x00, + 0x2E, 0x00, 0x3E, 0xFF, 0xB0, 0x00, 0x2E, 0x00, + 0xBA, 0xFD, 0xB0, 0x00, 0x2E, 0x00, 0x36, 0xFC, + 0xB0, 0x00, 0x2E, 0x00, 0xB2, 0xFA, 0xB0, 0x00, + 0x2F, 0x00, 0x2E, 0xF9, 0xC2, 0x00, 0x2F, 0x00, + 0xAA, 0xF7, 0xC2, 0x00, 0x2F, 0x00, 0x26, 0xF6, + 0xC2, 0x00, 0x2F, 0x00, 0xA2, 0xF4, 0xC2, 0x00, + 0x2E, 0x00, 0xC2, 0x00, 0x10, 0x02, 0x2E, 0x00, + 0x46, 0x02, 0x10, 0x02, 0x2E, 0x00, 0xCA, 0x03, + 0x10, 0x02, 0x2E, 0x00, 0x4E, 0x05, 0x10, 0x02, + 0x2F, 0x00, 0xD2, 0x06, 0x46, 0x02, 0x2F, 0x00, + 0x56, 0x08, 0x46, 0x02, 0x2F, 0x00, 0xDA, 0x09, + 0x46, 0x02, 0x2F, 0x00, 0x5E, 0x0B, 0x46, 0x02, + 0x2E, 0x00, 0x3E, 0xFF, 0x10, 0x02, 0x2E, 0x00, + 0xBA, 0xFD, 0x10, 0x02, 0x2E, 0x00, 0x36, 0xFC, + 0x10, 0x02, 0x2E, 0x00, 0xB2, 0xFA, 0x10, 0x02, + 0x2F, 0x00, 0x2E, 0xF9, 0x46, 0x02, 0x2F, 0x00, + 0xAA, 0xF7, 0x46, 0x02, 0x2F, 0x00, 0x26, 0xF6, + 0x46, 0x02, 0x2F, 0x00, 0xA2, 0xF4, 0x46, 0x02, + 0x2E, 0x00, 0xC2, 0x00, 0x71, 0x03, 0x2E, 0x00, + 0x46, 0x02, 0x71, 0x03, 0x2E, 0x00, 0xCA, 0x03, + 0x71, 0x03, 0x2E, 0x00, 0x4E, 0x05, 0x71, 0x03, + 0x2F, 0x00, 0xD2, 0x06, 0xCA, 0x03, 0x2F, 0x00, + 0x56, 0x08, 0xCA, 0x03, 0x2F, 0x00, 0xDA, 0x09, + 0xCA, 0x03, 0x2F, 0x00, 0x5E, 0x0B, 0xCA, 0x03, + 0x2E, 0x00, 0x3E, 0xFF, 0x71, 0x03, 0x2E, 0x00, + 0xBA, 0xFD, 0x71, 0x03, 0x2E, 0x00, 0x36, 0xFC, + 0x71, 0x03, 0x2E, 0x00, 0xB2, 0xFA, 0x71, 0x03, + 0x2F, 0x00, 0x2E, 0xF9, 0xCA, 0x03, 0x2F, 0x00, + 0xAA, 0xF7, 0xCA, 0x03, 0x2F, 0x00, 0x26, 0xF6, + 0xCA, 0x03, 0x2F, 0x00, 0xA2, 0xF4, 0xCA, 0x03, + 0x2E, 0x00, 0xC2, 0x00, 0xD1, 0x04, 0x2E, 0x00, + 0x46, 0x02, 0xD1, 0x04, 0x2E, 0x00, 0xCA, 0x03, + 0xD1, 0x04, 0x2E, 0x00, 0x4E, 0x05, 0xD1, 0x04, + 0x2F, 0x00, 0xD2, 0x06, 0x4E, 0x05, 0x2F, 0x00, + 0x56, 0x08, 0x4E, 0x05, 0x2F, 0x00, 0xDA, 0x09, + 0x4E, 0x05, 0x2F, 0x00, 0x5E, 0x0B, 0x4E, 0x05, + 0x2E, 0x00, 0x3E, 0xFF, 0xD1, 0x04, 0x2E, 0x00, + 0xBA, 0xFD, 0xD1, 0x04, 0x2E, 0x00, 0x36, 0xFC, + 0xD1, 0x04, 0x2E, 0x00, 0xB2, 0xFA, 0xD1, 0x04, + 0x2F, 0x00, 0x2E, 0xF9, 0x4E, 0x05, 0x2F, 0x00, + 0xAA, 0xF7, 0x4E, 0x05, 0x2F, 0x00, 0x26, 0xF6, + 0x4E, 0x05, 0x2F, 0x00, 0xA2, 0xF4, 0x4E, 0x05, + 0x30, 0x00, 0xC2, 0x00, 0x33, 0x06, 0x30, 0x00, + 0x46, 0x02, 0x33, 0x06, 0x30, 0x00, 0xCA, 0x03, + 0x33, 0x06, 0x30, 0x00, 0x4E, 0x05, 0x33, 0x06, + 0x30, 0x00, 0xD2, 0x06, 0xD2, 0x06, 0x30, 0x00, + 0x56, 0x08, 0xD2, 0x06, 0x30, 0x00, 0xDA, 0x09, + 0xD2, 0x06, 0x30, 0x00, 0x5E, 0x0B, 0xD2, 0x06, + 0x30, 0x00, 0x3E, 0xFF, 0x33, 0x06, 0x30, 0x00, + 0xBA, 0xFD, 0x33, 0x06, 0x30, 0x00, 0x36, 0xFC, + 0x33, 0x06, 0x30, 0x00, 0xB2, 0xFA, 0x33, 0x06, + 0x30, 0x00, 0x2E, 0xF9, 0xD2, 0x06, 0x30, 0x00, + 0xAA, 0xF7, 0xD2, 0x06, 0x30, 0x00, 0x26, 0xF6, + 0xD2, 0x06, 0x30, 0x00, 0xA2, 0xF4, 0xD2, 0x06, + 0x30, 0x00, 0xC2, 0x00, 0x93, 0x07, 0x30, 0x00, + 0x46, 0x02, 0x93, 0x07, 0x30, 0x00, 0xCA, 0x03, + 0x93, 0x07, 0x30, 0x00, 0x4E, 0x05, 0x93, 0x07, + 0x30, 0x00, 0xD2, 0x06, 0x56, 0x08, 0x30, 0x00, + 0x56, 0x08, 0x56, 0x08, 0x30, 0x00, 0xDA, 0x09, + 0x56, 0x08, 0x30, 0x00, 0x5E, 0x0B, 0x56, 0x08, + 0x30, 0x00, 0x3E, 0xFF, 0x93, 0x07, 0x30, 0x00, + 0xBA, 0xFD, 0x93, 0x07, 0x30, 0x00, 0x36, 0xFC, + 0x93, 0x07, 0x30, 0x00, 0xB2, 0xFA, 0x93, 0x07, + 0x30, 0x00, 0x2E, 0xF9, 0x56, 0x08, 0x30, 0x00, + 0xAA, 0xF7, 0x56, 0x08, 0x30, 0x00, 0x26, 0xF6, + 0x56, 0x08, 0x30, 0x00, 0xA2, 0xF4, 0x56, 0x08, + 0x30, 0x00, 0xC2, 0x00, 0xF4, 0x08, 0x30, 0x00, + 0x46, 0x02, 0xF4, 0x08, 0x30, 0x00, 0xCA, 0x03, + 0xF4, 0x08, 0x30, 0x00, 0x4E, 0x05, 0xF4, 0x08, + 0x30, 0x00, 0xD2, 0x06, 0xDA, 0x09, 0x30, 0x00, + 0x56, 0x08, 0xDA, 0x09, 0x30, 0x00, 0xDA, 0x09, + 0xDA, 0x09, 0x30, 0x00, 0x5E, 0x0B, 0xDA, 0x09, + 0x30, 0x00, 0x3E, 0xFF, 0xF4, 0x08, 0x30, 0x00, + 0xBA, 0xFD, 0xF4, 0x08, 0x30, 0x00, 0x36, 0xFC, + 0xF4, 0x08, 0x30, 0x00, 0xB2, 0xFA, 0xF4, 0x08, + 0x30, 0x00, 0x2E, 0xF9, 0xDA, 0x09, 0x30, 0x00, + 0xAA, 0xF7, 0xDA, 0x09, 0x30, 0x00, 0x26, 0xF6, + 0xDA, 0x09, 0x30, 0x00, 0xA2, 0xF4, 0xDA, 0x09, + 0x30, 0x00, 0xC2, 0x00, 0x54, 0x0A, 0x30, 0x00, + 0x46, 0x02, 0x54, 0x0A, 0x30, 0x00, 0xCA, 0x03, + 0x54, 0x0A, 0x30, 0x00, 0x4E, 0x05, 0x54, 0x0A, + 0x30, 0x00, 0xD2, 0x06, 0x5E, 0x0B, 0x30, 0x00, + 0x56, 0x08, 0x5E, 0x0B, 0x30, 0x00, 0xDA, 0x09, + 0x5E, 0x0B, 0x30, 0x00, 0x5E, 0x0B, 0x5E, 0x0B, + 0x30, 0x00, 0x3E, 0xFF, 0x54, 0x0A, 0x30, 0x00, + 0xBA, 0xFD, 0x54, 0x0A, 0x30, 0x00, 0x36, 0xFC, + 0x54, 0x0A, 0x30, 0x00, 0xB2, 0xFA, 0x54, 0x0A, + 0x30, 0x00, 0x2E, 0xF9, 0x5E, 0x0B, 0x30, 0x00, + 0xAA, 0xF7, 0x5E, 0x0B, 0x30, 0x00, 0x26, 0xF6, + 0x5E, 0x0B, 0x30, 0x00, 0xA2, 0xF4, 0x5E, 0x0B, + 0x2E, 0x00, 0xC2, 0x00, 0x50, 0xFF, 0x2E, 0x00, + 0x46, 0x02, 0x50, 0xFF, 0x2E, 0x00, 0xCA, 0x03, + 0x50, 0xFF, 0x2E, 0x00, 0x4E, 0x05, 0x50, 0xFF, + 0x2F, 0x00, 0xD2, 0x06, 0x3E, 0xFF, 0x2F, 0x00, + 0x56, 0x08, 0x3E, 0xFF, 0x2F, 0x00, 0xDA, 0x09, + 0x3E, 0xFF, 0x2F, 0x00, 0x5E, 0x0B, 0x3E, 0xFF, + 0x2E, 0x00, 0x3E, 0xFF, 0x50, 0xFF, 0x2E, 0x00, + 0xBA, 0xFD, 0x50, 0xFF, 0x2E, 0x00, 0x36, 0xFC, + 0x50, 0xFF, 0x2E, 0x00, 0xB2, 0xFA, 0x50, 0xFF, + 0x2F, 0x00, 0x2E, 0xF9, 0x3E, 0xFF, 0x2F, 0x00, + 0xAA, 0xF7, 0x3E, 0xFF, 0x2F, 0x00, 0x26, 0xF6, + 0x3E, 0xFF, 0x2F, 0x00, 0xA2, 0xF4, 0x3E, 0xFF, + 0x2E, 0x00, 0xC2, 0x00, 0xF0, 0xFD, 0x2E, 0x00, + 0x46, 0x02, 0xF0, 0xFD, 0x2E, 0x00, 0xCA, 0x03, + 0xF0, 0xFD, 0x2E, 0x00, 0x4E, 0x05, 0xF0, 0xFD, + 0x2F, 0x00, 0xD2, 0x06, 0xBA, 0xFD, 0x2F, 0x00, + 0x56, 0x08, 0xBA, 0xFD, 0x2F, 0x00, 0xDA, 0x09, + 0xBA, 0xFD, 0x2F, 0x00, 0x5E, 0x0B, 0xBA, 0xFD, + 0x2E, 0x00, 0x3E, 0xFF, 0xF0, 0xFD, 0x2E, 0x00, + 0xBA, 0xFD, 0xF0, 0xFD, 0x2E, 0x00, 0x36, 0xFC, + 0xF0, 0xFD, 0x2E, 0x00, 0xB2, 0xFA, 0xF0, 0xFD, + 0x2F, 0x00, 0x2E, 0xF9, 0xBA, 0xFD, 0x2F, 0x00, + 0xAA, 0xF7, 0xBA, 0xFD, 0x2F, 0x00, 0x26, 0xF6, + 0xBA, 0xFD, 0x2F, 0x00, 0xA2, 0xF4, 0xBA, 0xFD, + 0x2E, 0x00, 0xC2, 0x00, 0x8F, 0xFC, 0x2E, 0x00, + 0x46, 0x02, 0x8F, 0xFC, 0x2E, 0x00, 0xCA, 0x03, + 0x8F, 0xFC, 0x2E, 0x00, 0x4E, 0x05, 0x8F, 0xFC, + 0x2F, 0x00, 0xD2, 0x06, 0x36, 0xFC, 0x2F, 0x00, + 0x56, 0x08, 0x36, 0xFC, 0x2F, 0x00, 0xDA, 0x09, + 0x36, 0xFC, 0x2F, 0x00, 0x5E, 0x0B, 0x36, 0xFC, + 0x2E, 0x00, 0x3E, 0xFF, 0x8F, 0xFC, 0x2E, 0x00, + 0xBA, 0xFD, 0x8F, 0xFC, 0x2E, 0x00, 0x36, 0xFC, + 0x8F, 0xFC, 0x2E, 0x00, 0xB2, 0xFA, 0x8F, 0xFC, + 0x2F, 0x00, 0x2E, 0xF9, 0x36, 0xFC, 0x2F, 0x00, + 0xAA, 0xF7, 0x36, 0xFC, 0x2F, 0x00, 0x26, 0xF6, + 0x36, 0xFC, 0x2F, 0x00, 0xA2, 0xF4, 0x36, 0xFC, + 0x2E, 0x00, 0xC2, 0x00, 0x2F, 0xFB, 0x2E, 0x00, + 0x46, 0x02, 0x2F, 0xFB, 0x2E, 0x00, 0xCA, 0x03, + 0x2F, 0xFB, 0x2E, 0x00, 0x4E, 0x05, 0x2F, 0xFB, + 0x2F, 0x00, 0xD2, 0x06, 0xB2, 0xFA, 0x2F, 0x00, + 0x56, 0x08, 0xB2, 0xFA, 0x2F, 0x00, 0xDA, 0x09, + 0xB2, 0xFA, 0x2F, 0x00, 0x5E, 0x0B, 0xB2, 0xFA, + 0x2E, 0x00, 0x3E, 0xFF, 0x2F, 0xFB, 0x2E, 0x00, + 0xBA, 0xFD, 0x2F, 0xFB, 0x2E, 0x00, 0x36, 0xFC, + 0x2F, 0xFB, 0x2E, 0x00, 0xB2, 0xFA, 0x2F, 0xFB, + 0x2F, 0x00, 0x2E, 0xF9, 0xB2, 0xFA, 0x2F, 0x00, + 0xAA, 0xF7, 0xB2, 0xFA, 0x2F, 0x00, 0x26, 0xF6, + 0xB2, 0xFA, 0x2F, 0x00, 0xA2, 0xF4, 0xB2, 0xFA, + 0x30, 0x00, 0xC2, 0x00, 0xCD, 0xF9, 0x30, 0x00, + 0x46, 0x02, 0xCD, 0xF9, 0x30, 0x00, 0xCA, 0x03, + 0xCD, 0xF9, 0x30, 0x00, 0x4E, 0x05, 0xCD, 0xF9, + 0x30, 0x00, 0xD2, 0x06, 0x2E, 0xF9, 0x30, 0x00, + 0x56, 0x08, 0x2E, 0xF9, 0x30, 0x00, 0xDA, 0x09, + 0x2E, 0xF9, 0x30, 0x00, 0x5E, 0x0B, 0x2E, 0xF9, + 0x30, 0x00, 0x3E, 0xFF, 0xCD, 0xF9, 0x30, 0x00, + 0xBA, 0xFD, 0xCD, 0xF9, 0x30, 0x00, 0x36, 0xFC, + 0xCD, 0xF9, 0x30, 0x00, 0xB2, 0xFA, 0xCD, 0xF9, + 0x30, 0x00, 0x2E, 0xF9, 0x2E, 0xF9, 0x30, 0x00, + 0xAA, 0xF7, 0x2E, 0xF9, 0x30, 0x00, 0x26, 0xF6, + 0x2E, 0xF9, 0x30, 0x00, 0xA2, 0xF4, 0x2E, 0xF9, + 0x30, 0x00, 0xC2, 0x00, 0x6D, 0xF8, 0x30, 0x00, + 0x46, 0x02, 0x6D, 0xF8, 0x30, 0x00, 0xCA, 0x03, + 0x6D, 0xF8, 0x30, 0x00, 0x4E, 0x05, 0x6D, 0xF8, + 0x30, 0x00, 0xD2, 0x06, 0xAA, 0xF7, 0x30, 0x00, + 0x56, 0x08, 0xAA, 0xF7, 0x30, 0x00, 0xDA, 0x09, + 0xAA, 0xF7, 0x30, 0x00, 0x5E, 0x0B, 0xAA, 0xF7, + 0x30, 0x00, 0x3E, 0xFF, 0x6D, 0xF8, 0x30, 0x00, + 0xBA, 0xFD, 0x6D, 0xF8, 0x30, 0x00, 0x36, 0xFC, + 0x6D, 0xF8, 0x30, 0x00, 0xB2, 0xFA, 0x6D, 0xF8, + 0x30, 0x00, 0x2E, 0xF9, 0xAA, 0xF7, 0x30, 0x00, + 0xAA, 0xF7, 0xAA, 0xF7, 0x30, 0x00, 0x26, 0xF6, + 0xAA, 0xF7, 0x30, 0x00, 0xA2, 0xF4, 0xAA, 0xF7, + 0x30, 0x00, 0xC2, 0x00, 0x0C, 0xF7, 0x30, 0x00, + 0x46, 0x02, 0x0C, 0xF7, 0x30, 0x00, 0xCA, 0x03, + 0x0C, 0xF7, 0x30, 0x00, 0x4E, 0x05, 0x0C, 0xF7, + 0x30, 0x00, 0xD2, 0x06, 0x26, 0xF6, 0x30, 0x00, + 0x56, 0x08, 0x26, 0xF6, 0x30, 0x00, 0xDA, 0x09, + 0x26, 0xF6, 0x30, 0x00, 0x5E, 0x0B, 0x26, 0xF6, + 0x30, 0x00, 0x3E, 0xFF, 0x0C, 0xF7, 0x30, 0x00, + 0xBA, 0xFD, 0x0C, 0xF7, 0x30, 0x00, 0x36, 0xFC, + 0x0C, 0xF7, 0x30, 0x00, 0xB2, 0xFA, 0x0C, 0xF7, + 0x30, 0x00, 0x2E, 0xF9, 0x26, 0xF6, 0x30, 0x00, + 0xAA, 0xF7, 0x26, 0xF6, 0x30, 0x00, 0x26, 0xF6, + 0x26, 0xF6, 0x30, 0x00, 0xA2, 0xF4, 0x26, 0xF6, + 0x30, 0x00, 0xC2, 0x00, 0xAC, 0xF5, 0x30, 0x00, + 0x46, 0x02, 0xAC, 0xF5, 0x30, 0x00, 0xCA, 0x03, + 0xAC, 0xF5, 0x30, 0x00, 0x4E, 0x05, 0xAC, 0xF5, + 0x30, 0x00, 0xD2, 0x06, 0xA2, 0xF4, 0x30, 0x00, + 0x56, 0x08, 0xA2, 0xF4, 0x30, 0x00, 0xDA, 0x09, + 0xA2, 0xF4, 0x30, 0x00, 0x5E, 0x0B, 0xA2, 0xF4, + 0x30, 0x00, 0x3E, 0xFF, 0xAC, 0xF5, 0x30, 0x00, + 0xBA, 0xFD, 0xAC, 0xF5, 0x30, 0x00, 0x36, 0xFC, + 0xAC, 0xF5, 0x30, 0x00, 0xB2, 0xFA, 0xAC, 0xF5, + 0x30, 0x00, 0x2E, 0xF9, 0xA2, 0xF4, 0x30, 0x00, + 0xAA, 0xF7, 0xA2, 0xF4, 0x30, 0x00, 0x26, 0xF6, + 0xA2, 0xF4, 0x30, 0x00, 0xA2, 0xF4, 0xA2, 0xF4, + 0x00, 0x00 +}; + +static const ByteProvider k1TownsSFXwdTableFMTownsProvider = { ARRAYSIZE(k1TownsSFXwdTableFMTowns), k1TownsSFXwdTableFMTowns }; + +static const byte k1TownsSFXbtTableFMTowns[256] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, + 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, + 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, + 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, + 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, + 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, + 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, + 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, + 0x7F, 0x7F, 0x7E, 0x7D, 0x7C, 0x7B, 0x7A, 0x79, + 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, 0x72, 0x71, + 0x70, 0x6F, 0x6E, 0x6D, 0x6C, 0x6B, 0x6A, 0x69, + 0x68, 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, + 0x60, 0x5F, 0x5E, 0x5D, 0x5C, 0x5B, 0x5A, 0x59, + 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, + 0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49, + 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, + 0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, + 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, + 0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29, + 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, + 0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19, + 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, + 0x10, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, + 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 +}; + +static const ByteProvider k1TownsSFXbtTableFMTownsProvider = { ARRAYSIZE(k1TownsSFXbtTableFMTowns), k1TownsSFXbtTableFMTowns }; + +static const byte k1TownsCDATableFMTowns[708] = { + 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x54, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x70, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x90, 0x6D, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xC0, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x75, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x78, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x89, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0x91, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x80, 0xA8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x50, 0xAF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xA0, 0xB1, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0xB8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xBC, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xC5, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0xE0, 0xD3, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0xB0, 0xE7, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xC0, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xEE, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x40, 0x05, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x80, 0x0D, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x30, 0x0E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0F, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x10, 0x13, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x1A, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x25, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x30, 0x27, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x90, 0x2A, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0xD0, 0x34, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x70, 0x37, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x47, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0xF0, 0x5D, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x30, 0x60, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x30, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0x76, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xD0, 0x34, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x78, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x82, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x83, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xA0, 0x84, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xB0, 0x8B, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x40, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x50, 0x9B, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x50, 0x76, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0xA7, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x23, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x10, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x50, 0xBA, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x90, 0xC1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x50, 0xCA, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x00, 0xD1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1TownsCDATableFMTownsProvider = { ARRAYSIZE(k1TownsCDATableFMTowns), k1TownsCDATableFMTowns }; + +static const char *const k1AudioTracksFMTowns[6] = { + "TW_INTRO.SFX", + "TW_SCEN1.SFX", + "TW_SCEN2.SFX", + "TW_SCEN3.SFX", + "TW_SCEN4.SFX", + "TW_SCEN5.SFX" +}; + +static const StringListProvider k1AudioTracksFMTownsProvider = { ARRAYSIZE(k1AudioTracksFMTowns), k1AudioTracksFMTowns }; + diff --git a/devtools/create_kyradat/resources/lok_fmtowns_english.h b/devtools/create_kyradat/resources/lok_fmtowns_english.h new file mode 100644 index 0000000000..f13a9d981d --- /dev/null +++ b/devtools/create_kyradat/resources/lok_fmtowns_english.h @@ -0,0 +1,527 @@ +static const char *const k1IntroStringsFMTownsEnglish[50] = { + "This is a text test - 1", + "This is a text test - 2", + "Greetings, Kallak...", + "...Powerful leader of the Royal Mystics!", + "Did I frighten you?", + "Malcolm!", + "I heard yesterday of your escape.", + "And have expected you before now.", + "Why would I rush?", + "I rule this land!", + "Your puny curse restrains me naught.", + "So, slay me now!", + "I have little magic left.", + "I mean to harm you, have no doubt...", + "...Now you are stone...", + "...Yet I leave your eyes.", + "I shed no tears for Kyrandia...", + "...But cannot deny you yours.", + "Malcolm the Jester has broken free!", + "He now controls the Kyragem...", + "...source of all magic in Kyrandia!", + "", + "How dare you trip ME!", + "But no, something special for you...", + "A humorous hex!", + "But I shall give fair warning.", + "Don't jump on THAT tree!", + "Don't climb up THAT tree little squirrel!", + "Boo!", + "Tis funnier that way...", + "...Is it not?", + "Ha ha ha...", + "Aren't fingers wonderful?", + "It's great to be alive!", + "Brandon!", + "Grandfather! We did it!", + "No! YOU did it!", + "Long live King Brandon!", + "Long live the Royal Mystics!", + "Now, let's go put Kyrandia back together!", + "Good idea!", + "As my first Royal Proclamation...", + "I name sandals as the official footwear of Kyrandia!", + "Well done, Brandon!", + "The Land no longer weeps...", + "And your friends have been restored!", + "Dear Brynn...", + "Malcolm has broken free!", + "Soon he will come for me.", + "Please help Brandon..." +}; + +static const StringListProvider k1IntroStringsFMTownsEnglishProvider = { ARRAYSIZE(k1IntroStringsFMTownsEnglish), k1IntroStringsFMTownsEnglish }; + +static const char *const k1ItemNamesFMTownsEnglish[107] = { + "Garnet", + "Amethyst", + "Aquamarine", + "Diamond", + "Emerald", + "Pearl", + "Ruby", + "Peridot", + "Sapphire", + "Opal", + "Topaz", + "Onyx", + "Sunstone", + "Moonstone", + "Rainbowstone", + "Lodestone", + "Rose", + "Tulip", + "Orchid", + "Silver Rose", + "Silver Statuette", + "Silver Coin", + "Gold Coin", + "Gold Ring", + "Royal Chalice", + "Pinecone", + "Acorn", + "Walnut", + "Everglowing Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fireberries", + "Fish", + "Fish Bone", + "Mutton Leg", + "Bone", + "Apple", + "Apple Core", + "Blueberries", + "Mushroom", + "Note", + "Marble", + "Saw", + "Ankh", + "Feather", + "Egg", + "Leaf", + "Shamrock", + "Fallen Star", + "Crystal Ball", + "Teardrop", + "Mirror", + "Ice Shard", + "Flute", + "Hourglass", + "Iron Key", + "Jade Key", + "Obsidion Key", + "Red Potion", + "Red Potion", + "Blue Potion", + "Blue Potion", + "Yellow Potion", + "Yellow Potion", + "Green Potion", + "Orange Potion", + "Purple Potion", + "Potion of Rainbows", + "Fresh Water", + "Fresh Water", + "Salt Water", + "Salt Water", + "Mineral Water", + "Mineral Water", + "Magical Water", + "Magical Water", + "Empty Flask", + "Empty Flask", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Scroll", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Parchment scrap", + "Red Magestone", + "Orange Magestone", + "Yellow Magestone", + "Green Magestone", + "Blue-Green Magestone", + "Blue Magestone", + "Purple Magestone", + "Heavy rock", + "Royal Crown", + "Royal Sceptre", + "Gold key", + "Unknown item" +}; + +static const StringListProvider k1ItemNamesFMTownsEnglishProvider = { ARRAYSIZE(k1ItemNamesFMTownsEnglish), k1ItemNamesFMTownsEnglish }; + +static const char *const k1TakenStringsFMTownsEnglish[2] = { + " taken.", + " taken." +}; + +static const StringListProvider k1TakenStringsFMTownsEnglishProvider = { ARRAYSIZE(k1TakenStringsFMTownsEnglish), k1TakenStringsFMTownsEnglish }; + +static const char *const k1PlacedStringsFMTownsEnglish[1] = { + " placed." +}; + +static const StringListProvider k1PlacedStringsFMTownsEnglishProvider = { ARRAYSIZE(k1PlacedStringsFMTownsEnglish), k1PlacedStringsFMTownsEnglish }; + +static const char *const k1DroppedStringsFMTownsEnglish[1] = { + " dropped." +}; + +static const StringListProvider k1DroppedStringsFMTownsEnglishProvider = { ARRAYSIZE(k1DroppedStringsFMTownsEnglish), k1DroppedStringsFMTownsEnglish }; + +static const char *const k1NoDropStringsFMTownsEnglish[2] = { + "You can't drop any more items in this scene.", + "You can't put that there." +}; + +static const StringListProvider k1NoDropStringsFMTownsEnglishProvider = { ARRAYSIZE(k1NoDropStringsFMTownsEnglish), k1NoDropStringsFMTownsEnglish }; + +static const char *const k1PutDownStringFMTownsEnglish[1] = { + "Maybe I'd better put this down first." +}; + +static const StringListProvider k1PutDownStringFMTownsEnglishProvider = { ARRAYSIZE(k1PutDownStringFMTownsEnglish), k1PutDownStringFMTownsEnglish }; + +static const char *const k1WaitAmuletStringFMTownsEnglish[1] = { + "I guess I'll have to wait for my Amulet to regain its power." +}; + +static const StringListProvider k1WaitAmuletStringFMTownsEnglishProvider = { ARRAYSIZE(k1WaitAmuletStringFMTownsEnglish), k1WaitAmuletStringFMTownsEnglish }; + +static const char *const k1BlackJewelStringFMTownsEnglish[1] = { + "It's a jewel, but why is it black?" +}; + +static const StringListProvider k1BlackJewelStringFMTownsEnglishProvider = { ARRAYSIZE(k1BlackJewelStringFMTownsEnglish), k1BlackJewelStringFMTownsEnglish }; + +static const char *const k1HealingTipStringFMTownsEnglish[1] = { + "Gee, this could come in handy if I get hurt." +}; + +static const StringListProvider k1HealingTipStringFMTownsEnglishProvider = { ARRAYSIZE(k1HealingTipStringFMTownsEnglish), k1HealingTipStringFMTownsEnglish }; + +static const char *const k1PoisonGoneStringFMTownsEnglish[2] = { + "Amazing!", + "The effects of the poison are gone!" +}; + +static const StringListProvider k1PoisonGoneStringFMTownsEnglishProvider = { ARRAYSIZE(k1PoisonGoneStringFMTownsEnglish), k1PoisonGoneStringFMTownsEnglish }; + +static const char *const k1ThePoisonStringsFMTownsEnglish[4] = { + "The poison...", + "I can't breathe...", + "I don't feel so good...", + "That snake must\rbe poisonous!" +}; + +static const StringListProvider k1ThePoisonStringsFMTownsEnglishProvider = { ARRAYSIZE(k1ThePoisonStringsFMTownsEnglish), k1ThePoisonStringsFMTownsEnglish }; + +static const char *const k1FluteStringsFMTownsEnglish[2] = { + "Not very impressive sounding.", + "That last note sure was high!" +}; + +static const StringListProvider k1FluteStringsFMTownsEnglishProvider = { ARRAYSIZE(k1FluteStringsFMTownsEnglish), k1FluteStringsFMTownsEnglish }; + +static const char *const k1WispJewelStringsFMTownsEnglish[3] = { + "I'm not really feeling up to it right now.", + "I probably should put down my ", + ", first." +}; + +static const StringListProvider k1WispJewelStringsFMTownsEnglishProvider = { ARRAYSIZE(k1WispJewelStringsFMTownsEnglish), k1WispJewelStringsFMTownsEnglish }; + +static const char *const k1MagicJewelStringsFMTownsEnglish[1] = { + "That felt strange." +}; + +static const StringListProvider k1MagicJewelStringsFMTownsEnglishProvider = { ARRAYSIZE(k1MagicJewelStringsFMTownsEnglish), k1MagicJewelStringsFMTownsEnglish }; + +static const char *const k1FlaskFullStringFMTownsEnglish[1] = { + "This flask is already full." +}; + +static const StringListProvider k1FlaskFullStringFMTownsEnglishProvider = { ARRAYSIZE(k1FlaskFullStringFMTownsEnglish), k1FlaskFullStringFMTownsEnglish }; + +static const char *const k1FullFlaskStringFMTownsEnglish[4] = { + "The flask is now filled\rwith fresh, sparkling water.", + "The flask is now filled\rwith salt water.", + "The flask is now filled\rwith mineral water.", + "Magic water." +}; + +static const StringListProvider k1FullFlaskStringFMTownsEnglishProvider = { ARRAYSIZE(k1FullFlaskStringFMTownsEnglish), k1FullFlaskStringFMTownsEnglish }; + +static const char *const k1OutroHomeStringFMTownsEnglish[1] = { + "Home" +}; + +static const StringListProvider k1OutroHomeStringFMTownsEnglishProvider = { ARRAYSIZE(k1OutroHomeStringFMTownsEnglish), k1OutroHomeStringFMTownsEnglish }; + +static const char *const k1VeryCleverStringFMTownsEnglish[1] = { + "Very clever! But your feeble efforts are futile." +}; + +static const StringListProvider k1VeryCleverStringFMTownsEnglishProvider = { ARRAYSIZE(k1VeryCleverStringFMTownsEnglish), k1VeryCleverStringFMTownsEnglish }; + +static const char *const k1GUIStringsFMTownsEnglish[38] = { + "The Legend of Kyrandia", + "Load a game", + "Save this game", + "Game controls", + "Quit playing", + "Resume game", + "Game Controls", + "Which game would you like to reload?", + "Select a position to save to:", + "[ EMPTY SLOT ]", + "Cancel", + "Enter a description of your saved game:", + "Save", + "Rest in peace, Brandon.", + "Are you sure you want to quit playing?", + "XXX", + "XXX", + "XXXXXXX", + "XXXXXXXXX", + "Main menu", + "on", + "on +CD", + "off", + "Yes", + "No", + "slowest", + "slow", + "normal", + "fast", + "fastest", + "slowest", + "normal", + "fast", + "clickable", + "Walk speed ", + "Text speed ", + "Music is ", + "Sounds are " +}; + +static const StringListProvider k1GUIStringsFMTownsEnglishProvider = { ARRAYSIZE(k1GUIStringsFMTownsEnglish), k1GUIStringsFMTownsEnglish }; + +static const char *const k1NewGameStringFMTownsEnglish[1] = { + "[ START A NEW GAME ]" +}; + +static const StringListProvider k1NewGameStringFMTownsEnglishProvider = { ARRAYSIZE(k1NewGameStringFMTownsEnglish), k1NewGameStringFMTownsEnglish }; + +static const char *const k1ConfigStringsFMTownsEnglish[9] = { + "slowest", + "slow", + "normal", + "fast", + "fastest", + "slowest", + "normal", + "fast", + "clickable" +}; + +static const StringListProvider k1ConfigStringsFMTownsEnglishProvider = { ARRAYSIZE(k1ConfigStringsFMTownsEnglish), k1ConfigStringsFMTownsEnglish }; + +static const byte k1CreditsStringsFMTownsEnglish[1420] = { + 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, 0x45, 0x4E, + 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x46, 0x61, 0x62, 0x6C, 0x65, + 0x73, 0x20, 0x26, 0x20, 0x46, 0x69, 0x65, 0x6E, + 0x64, 0x73, 0x0D, 0x02, 0x42, 0x6F, 0x6F, 0x6B, + 0x20, 0x49, 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, + 0x4C, 0x45, 0x47, 0x45, 0x4E, 0x44, 0x20, 0x4F, + 0x46, 0x20, 0x4B, 0x59, 0x52, 0x41, 0x4E, 0x44, + 0x49, 0x41, 0x0D, 0x0D, 0x50, 0x75, 0x62, 0x6C, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x0D, 0x02, 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, + 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, + 0x6F, 0x73, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x03, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, + 0x72, 0x3A, 0x05, 0x04, 0x42, 0x72, 0x65, 0x74, + 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x0D, 0x0D, 0x03, 0x44, 0x65, + 0x73, 0x69, 0x67, 0x6E, 0x3A, 0x05, 0x04, 0x4D, + 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x4C, + 0x65, 0x67, 0x67, 0x0D, 0x04, 0x52, 0x69, 0x63, + 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x0D, + 0x04, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, + 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x0D, 0x0D, + 0x03, 0x4C, 0x65, 0x61, 0x64, 0x20, 0x50, 0x72, + 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, + 0x3A, 0x05, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, + 0x0D, 0x03, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x53, 0x63, + 0x6F, 0x74, 0x74, 0x20, 0x42, 0x6F, 0x77, 0x65, + 0x6E, 0x0D, 0x0D, 0x03, 0x20, 0x20, 0x41, 0x6D, + 0x69, 0x67, 0x61, 0x20, 0x20, 0x50, 0x72, 0x6F, + 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, 0x3A, + 0x05, 0x04, 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, + 0x74, 0x6F, 0x6B, 0x65, 0x73, 0x0D, 0x0D, 0x03, + 0x20, 0x20, 0x50, 0x43, 0x2D, 0x39, 0x38, 0x20, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x59, 0x75, + 0x6B, 0x69, 0x6F, 0x20, 0x53, 0x65, 0x6B, 0x69, + 0x67, 0x75, 0x63, 0x68, 0x69, 0x0D, 0x0D, 0x03, + 0x46, 0x4D, 0x2D, 0x54, 0x4F, 0x57, 0x4E, 0x53, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x54, 0x61, + 0x69, 0x73, 0x65, 0x69, 0x20, 0x4E, 0x6F, 0x6D, + 0x75, 0x72, 0x61, 0x0D, 0x03, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4F, 0x68, 0x73, 0x68, 0x75, + 0x6E, 0x20, 0x4C, 0x65, 0x65, 0x0D, 0x0D, 0x03, + 0x49, 0x6E, 0x74, 0x72, 0x6F, 0x20, 0x26, 0x20, + 0x46, 0x69, 0x6E, 0x61, 0x6C, 0x65, 0x3A, 0x05, + 0x04, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6F, + 0x70, 0x68, 0x65, 0x72, 0x20, 0x59, 0x61, 0x74, + 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x41, 0x72, 0x74, + 0x20, 0x26, 0x20, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x69, 0x63, 0x73, 0x3A, 0x05, 0x04, 0x52, 0x69, + 0x63, 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, + 0x0D, 0x04, 0x52, 0x65, 0x6E, 0x20, 0x4F, 0x6C, + 0x73, 0x65, 0x6E, 0x0D, 0x04, 0x4C, 0x6F, 0x75, + 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, 0x64, + 0x6F, 0x76, 0x61, 0x6C, 0x0D, 0x04, 0x4A, 0x6F, + 0x73, 0x65, 0x70, 0x68, 0x20, 0x48, 0x65, 0x77, + 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, 0x0D, 0x04, + 0x4A, 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x0D, + 0x04, 0x41, 0x61, 0x72, 0x6F, 0x6E, 0x20, 0x50, + 0x6F, 0x77, 0x65, 0x6C, 0x6C, 0x0D, 0x04, 0x45, + 0x6C, 0x69, 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, + 0x69, 0x61, 0x6E, 0x0D, 0x04, 0x45, 0x72, 0x69, + 0x63, 0x20, 0x53, 0x68, 0x75, 0x6C, 0x74, 0x73, + 0x0D, 0x0D, 0x03, 0x41, 0x75, 0x64, 0x69, 0x6F, + 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, + 0x72, 0x3A, 0x05, 0x04, 0x50, 0x61, 0x75, 0x6C, + 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, + 0x61, 0x0D, 0x0D, 0x03, 0x4D, 0x75, 0x73, 0x69, + 0x63, 0x3A, 0x05, 0x04, 0x46, 0x72, 0x61, 0x6E, + 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, 0x61, 0x63, + 0x6B, 0x69, 0x0D, 0x03, 0x28, 0x39, 0x38, 0x20, + 0x26, 0x20, 0x54, 0x4F, 0x57, 0x4E, 0x53, 0x29, + 0x05, 0x04, 0x54, 0x61, 0x6B, 0x65, 0x73, 0x68, + 0x69, 0x20, 0x41, 0x62, 0x6F, 0x0D, 0x0D, 0x03, + 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x73, 0x3A, 0x05, 0x04, + 0x44, 0x77, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x0D, 0x03, + 0x28, 0x50, 0x43, 0x2D, 0x39, 0x38, 0x29, 0x05, + 0x04, 0x54, 0x61, 0x6B, 0x65, 0x73, 0x68, 0x69, + 0x20, 0x41, 0x62, 0x6F, 0x0D, 0x0D, 0x03, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x3A, 0x05, 0x04, + 0x22, 0x43, 0x6F, 0x63, 0x6F, 0x22, 0x0D, 0x0D, + 0x03, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x6C, 0x61, + 0x74, 0x6F, 0x72, 0x28, 0x4A, 0x61, 0x70, 0x61, + 0x6E, 0x65, 0x73, 0x65, 0x29, 0x3A, 0x05, 0x04, + 0x4D, 0x69, 0x6E, 0x6F, 0x72, 0x75, 0x20, 0x4E, + 0x61, 0x6B, 0x61, 0x7A, 0x61, 0x77, 0x61, 0x0D, + 0x04, 0x59, 0x75, 0x72, 0x69, 0x20, 0x49, 0x74, + 0x6F, 0x0D, 0x0D, 0x03, 0x51, 0x75, 0x61, 0x6C, + 0x69, 0x74, 0x79, 0x20, 0x41, 0x73, 0x73, 0x75, + 0x72, 0x61, 0x6E, 0x63, 0x65, 0x3A, 0x05, 0x04, + 0x47, 0x6C, 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, + 0x65, 0x72, 0x72, 0x79, 0x0D, 0x04, 0x4D, 0x61, + 0x74, 0x74, 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, + 0x6E, 0x73, 0x0D, 0x04, 0x42, 0x69, 0x6C, 0x6C, + 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65, 0x72, 0x0D, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x4C, 0x69, 0x67, 0x68, 0x74, 0x6E, 0x65, + 0x72, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x47, 0x61, 0x74, 0x65, 0x72, + 0x0D, 0x04, 0x45, 0x75, 0x67, 0x65, 0x6E, 0x65, + 0x20, 0x4D, 0x61, 0x72, 0x74, 0x69, 0x6E, 0x0D, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x47, 0x6C, 0x6F, 0x73, 0x65, 0x63, 0x6B, + 0x69, 0x0D, 0x04, 0x4A, 0x75, 0x73, 0x74, 0x69, + 0x6E, 0x20, 0x4E, 0x6F, 0x72, 0x72, 0x0D, 0x04, + 0x54, 0x6F, 0x70, 0x20, 0x53, 0x74, 0x61, 0x72, + 0x20, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, + 0x0D, 0x04, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6E, + 0x67, 0x20, 0x31, 0x2C, 0x32, 0x2C, 0x33, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6C, 0x20, 0x54, 0x68, 0x61, 0x6E, + 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x0D, 0x4C, 0x79, + 0x6C, 0x65, 0x20, 0x4A, 0x2E, 0x20, 0x48, 0x61, + 0x6C, 0x6C, 0x0D, 0x44, 0x61, 0x76, 0x69, 0x64, + 0x20, 0x42, 0x69, 0x73, 0x68, 0x6F, 0x70, 0x0D, + 0x22, 0x54, 0x68, 0x65, 0x20, 0x44, 0x6F, 0x63, + 0x22, 0x0D, 0x61, 0x6E, 0x64, 0x0D, 0x46, 0x69, + 0x72, 0x65, 0x62, 0x65, 0x72, 0x72, 0x79, 0x20, + 0x47, 0x72, 0x65, 0x65, 0x6E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x02, 0x43, 0x41, 0x53, 0x54, + 0x20, 0x4F, 0x46, 0x20, 0x43, 0x48, 0x41, 0x52, + 0x41, 0x43, 0x54, 0x45, 0x52, 0x53, 0x0D, 0x0D, + 0x4D, 0x61, 0x6C, 0x63, 0x6F, 0x6C, 0x6D, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x4A, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x0D, 0x42, 0x72, 0x61, 0x6E, 0x64, + 0x6F, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, + 0x6F, 0x6C, 0x64, 0x0D, 0x42, 0x72, 0x61, 0x6E, + 0x64, 0x79, 0x77, 0x69, 0x6E, 0x65, 0x20, 0x61, + 0x6E, 0x64, 0x20, 0x44, 0x61, 0x72, 0x6D, 0x0D, + 0x50, 0x72, 0x69, 0x65, 0x73, 0x74, 0x65, 0x73, + 0x73, 0x20, 0x42, 0x72, 0x79, 0x6E, 0x6E, 0x0D, + 0x5A, 0x61, 0x6E, 0x74, 0x68, 0x69, 0x61, 0x2C, + 0x20, 0x4C, 0x61, 0x64, 0x79, 0x20, 0x6F, 0x66, + 0x20, 0x41, 0x6C, 0x63, 0x68, 0x65, 0x6D, 0x79, + 0x0D, 0x48, 0x65, 0x72, 0x6D, 0x61, 0x6E, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, + 0x79, 0x6D, 0x61, 0x6E, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, + 0x41, 0x6E, 0x79, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, + 0x6E, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, + 0x61, 0x6D, 0x65, 0x20, 0x77, 0x68, 0x6F, 0x20, + 0x62, 0x65, 0x61, 0x72, 0x0D, 0x01, 0x72, 0x65, + 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x61, 0x6E, 0x63, + 0x65, 0x20, 0x74, 0x6F, 0x20, 0x70, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x73, 0x20, 0x6C, 0x69, 0x76, + 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x0D, 0x01, + 0x64, 0x65, 0x61, 0x64, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x70, 0x75, 0x72, 0x65, 0x6C, 0x79, 0x20, + 0x63, 0x6F, 0x69, 0x6E, 0x63, 0x69, 0x64, 0x65, + 0x6E, 0x74, 0x61, 0x6C, 0x2E, 0x0D, 0x0D, 0x0D, + 0x01, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, + 0x39, 0x39, 0x32, 0x2C, 0x20, 0x57, 0x65, 0x73, + 0x74, 0x77, 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, + 0x75, 0x64, 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, + 0x6E, 0x63, 0x2E, 0x0D, 0x01, 0x43, 0x6F, 0x70, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, + 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, 0x33, 0x2C, + 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, + 0x01, 0x41, 0x6C, 0x6C, 0x20, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x2E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider k1CreditsStringsFMTownsEnglishProvider = { ARRAYSIZE(k1CreditsStringsFMTownsEnglish), k1CreditsStringsFMTownsEnglish }; + diff --git a/devtools/create_kyradat/resources/lok_fmtowns_japanese.h b/devtools/create_kyradat/resources/lok_fmtowns_japanese.h new file mode 100644 index 0000000000..37f82e5623 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_fmtowns_japanese.h @@ -0,0 +1,527 @@ +static const char *const k1IntroStringsFMTownsJapanese[50] = { + "This is a text test - 1", + "This is a text test - 2", + "\x8B""v""\x82\xB5\x90""U""\x82\xE8\x82\xBE\x82\xC8\x81""A""\x83""J""\x83\x89\x83""b""\x83""N""\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x89\xA4\x8E\xBA\x96\x82\x8F""p""\x8E""t""\x82\xCC\x8E""w""\x93\xB1\x8E\xD2\x93""a""\x81""I", + "\x82\xA0\x82\xF1\x82\xBD\x82\xF0\x8B\xC1\x82\xA9\x82\xB5\x82\xBD\x82\xA9\x82\xC8\x81""H", + "\x83""}""\x83\x8B\x83""R""\x83\x80\x81""I", + "\x8B""M""\x97""l""\x82\xCC\x92""E""\x91\x96\x82\xC9\x82\xC2\x82\xA2\x82\xC4\x82\xCD\x8D\xF0\x93\xFA\x95\xF1\x8D\x90\x82\xF0\x8E\xF3\x82\xAF\x82\xC4\x82\xA2\x82\xBD\x81""B", + "\x82\xBB\x82\xEA\x82\xC5\x82\xA8\x91""O""\x82\xAA\x97\x88\x82\xE9\x82\xCC\x82\xF0\x91\xD2\x82\xC1\x82\xC4\x82\xA2\x82\xBD\x82\xF1\x82\xBE\x81""B", + "\x89\xBD\x8C\xCC\x82\xA8\x82\xEA\x97""l""\x82\xAA\x97\x88\x82\xBD\x82\xA9\x95\xAA\x82\xA9\x82\xE9\x82\xA9\x81""H", + "\x82\xC2\x82\xA2\x82\xC9\x81""A""\x82\xB1\x82\xCC\x8D\x91\x82\xF0\x8F\xE6\x82\xC1\x8E\xE6\x82\xC1\x82\xBD\x82\xBC\x81""I", + "\x8B""M""\x97""l""\x82\xCC\x82\xC2\x82\xDC\x82\xE7\x82\xF1\x8B\xBA\x94\x97\x82\xC8\x82\xC7\x82\xC5\x82\xA8\x82\xEA\x97""l""\x82\xF0\x94\x9B\x82\xEA\x82\xE9\x82\xE0\x82\xCC\x82\xA9\x81""B", + "\x82\xB3\x82\xA0\x81""A""\x82\xE2\x82\xE9\x82\xC8\x82\xE7\x82\xE2\x82\xC1\x82\xC4\x82\xDD\x82\xEB\x81""I", + "\x82\xED\x82\xB5\x82\xC9\x82\xE0\x82\xED\x82\xB8\x82\xA9\x82\xBE\x82\xAA\x96\x82\x97\xCD\x82\xAA\x8E""c""\x82\xC1\x82\xC4\x82\xA8\x82\xE9\x82\xED\x82\xA2\x81""B", + "\x82\xA8\x91""O""\x82\xF0\x82\xE2\x82\xC1\x82\xC2\x82\xAF\x82\xE9\x82\xC6\x82\xA2\x82\xA4\x82\xB1\x82\xC6\x82\xB3\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xE0\x82\xCD\x82\xE2\x82\xA8\x91""O""\x82\xCD\x90\xCE\x82\xC6\x82\xC8\x82\xC1\x82\xBD\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBE\x82\xAA\x96\xDA\x82\xBE\x82\xAF\x82\xCD\x8C\xA9\x82\xA6\x82\xE9\x82\xDC\x82\xDC\x82\xC9\x82\xB5\x82\xC4\x82\xA8\x82\xB1\x82\xA4\x81""B", + "\x82\xA8\x82\xEA\x97""l""\x82\xCD\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xC9\x82\xCD\x82\xC8\x82\xF1\x82\xCC\x8A\xB4\x8F\x9D\x82\xE0\x82\xC8\x82\xA2\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBE\x82\xAA\x81""A""\x82\xA8\x91""O""\x82\xBD\x82\xBF\x82\xCD\x82\xC7\x82\xA4\x82\xA9\x82\xC8\x81""B", + "\x88\xAB\x82\xCC\x93\xB9\x89\xBB\x8E""t""\x81""A""\x83""}""\x83\x8B\x83""R""\x83\x80\x82\xAA\x98""S""\x82\xF0\x94""j""\x82\xC1\x82\xBD\x81""B", + "\x8D\xA1\x82\xE2\x82\xB1\x82\xCC\x8D\x91\x82\xCC\x96\x82\x96""@""\x82\xCD\x82\xB7\x82\xD7\x82\xC4\x94\xDE\x82\xC9\x8E""x""\x94""z""\x82\xB3\x82\xEA\x82\xC4\x82\xB5\x82\xDC\x82\xC1\x82\xBD\x81""B", + "", + "", + "\x89\xBD\x82\xC5\x82\xA8\x82\xEA\x97""l""\x82\xF0\x82\xC2\x82\xDC\x82\xB8\x82\xA9\x82\xB9\x82\xBD\x81""I", + "\x82\xE6\x82\xB5\x81""A""\x82\xA8\x91""O""\x82\xC9\x82\xB7\x82\xCE\x82\xE7\x82\xB5\x82\xA2\x91\xA1\x82\xE8\x95\xA8\x82\xF0\x82\xE2\x82\xEB\x82\xA4\x81""E""\x81""E""\x81""E", + "\x82\xB1\x82\xEA\x82\xAA\x82\xA8\x82\xEA\x97""l""\x82\xCC\x83\x86\x81""[""\x83\x82\x83""A""\x82\xB3\x81""I", + "\x82\xBE\x82\xAA\x81""A""\x83""t""\x83""F""\x83""A""\x82\xC8\x82\xA8\x82\xEA\x97""l""\x82\xCD\x8C""x""\x8D\x90\x82\xF0\x82\xB7\x82\xE9\x82\xC2\x82\xE0\x82\xE8\x82\xB3\x81""B", + "\x82\xA0\x82\xCC\x96\xD8\x82\xC9\x82\xCD\x93""o""\x82\xE9\x82\xC8\x82\xE6\x81""I", + "\x82\xBF\x82\xC1\x82\xB1\x82\xA2\x83\x8A\x83""X""\x82\xDF\x81""A""\x82\xA0\x82\xCC\x96\xD8\x82\xC9\x82\xCD\x93""o""\x82\xE9\x82\xC8\x81""I", + "\x83""u""\x83""D""\x81""[""\x81""I", + "\x82\xB1\x82\xA2\x82\xC2\x82\xCD\x96\xCA\x94\x92\x82\xA2\x82\xE2\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBB\x82\xA4\x8E""v""\x82\xED\x82\xF1\x82\xA9\x81""H", + "\x82\xCD\x82\xC1\x81""A""\x82\xCD\x82\xC1\x82\xCD\x81""E""\x81""E""\x81""E", + "\x8C\xB3\x82\xC9\x96\xDF\x82\xC1\x82\xBD\x82\xCC\x82\xA9\x81""H", + "\x90\xB6\x82\xAB\x82\xC4\x82\xA2\x82\xE9\x82\xB1\x82\xC6\x82\xCD\x82\xB7\x82\xCE\x82\xE7\x82\xB5\x82\xA2\x81""I", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""I", + "\x82\xA8\x91""c""\x95\x83\x82\xB3\x82\xF1\x81""I""\x96""l""\x82\xBD\x82\xBF\x82\xCD\x82\xE2\x82\xE8\x82\xDC\x82\xB5\x82\xBD\x82\xCB\x81""I", + "\x82\xA2\x82\xA2\x82\xE2\x81""I""\x82\xE2\x82\xC1\x82\xBD\x82\xCC\x82\xCD\x82\xA8\x91""O""\x81""I", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x89\xA4\x81""@""\x82\xCE\x82\xF1\x82\xB4\x82\xA2\x81""I", + "\x89\xA4\x8E\xBA\x96\x82\x8F""p""\x8E""t""\x81""@""\x82\xCE\x82\xF1\x82\xB4\x82\xA2\x81""I", + "\x82\xB3\x82\xA0\x81""A""\x8B\xA4\x82\xC9\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x95\x9C\x8B\xBB\x82\xB5\x82\xE6\x82\xA4\x81""I", + "\x91\xE5\x8E""^""\x90\xAC\x81""I", + "\x96""l""\x82\xCC\x89\xA4\x82\xC6\x82\xB5\x82\xC4\x82\xCC\x8D\xC5\x8F\x89\x82\xCC\x95""z""\x8D\x90\x82\xCD\x81""E""\x81""E""\x81""E", + "\x83""T""\x83\x93\x83""_""\x83\x8B\x82\xF0\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xCC\x8C\xF6\x8E\xAE\x82\xC8\x97\x9A\x95\xA8\x82\xC6\x82\xB7\x82\xE9\x82\xB1\x82\xC6\x82\xC5\x82\xB7\x81""I", + "\x82\xE6\x82\xAD\x82\xE2\x82\xC1\x82\xBD\x81""I""\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""B", + "\x8E\xA9\x91""R""\x8A""E""\x82\xCD\x82\xE6\x82\xEB\x82\xB1\x82\xD1\x82\xC9\x82\xA0\x82\xD3\x82\xEA\x81""E""\x81""E""\x81""E", + "\x82\xA0\x82\xC8\x82\xBD\x82\xCC\x97""F""\x90""l""\x92""B""\x82\xE0\x8F\x95\x82\xA9\x82\xC1\x82\xBD\x82\xCC\x82\xC5\x82\xB7\x81""I", + "\x83""u""\x83\x8A\x83\x93\x82\xE6\x81""E""\x81""E""\x81""E", + "\x83""}""\x83\x8B\x83""R""\x83\x80\x82\xAA\x98""S""\x82\xF0\x94""j""\x82\xC1\x82\xBD\x81""I", + "\x82\xDC\x82\xE0\x82\xC8\x82\xAD\x93""z""\x82\xCD\x82\xED\x82\xB5\x82\xCC\x82\xC6\x82\xB1\x82\xEB\x82\xD6\x97\x88\x82\xE9\x82\xBE\x82\xEB\x82\xA4\x81""B", + "\x82\xC7\x82\xA4\x82\xA9\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x82\xF0\x8F\x95\x82\xAF\x82\xC4\x82\xE2\x82\xC1\x82\xC4\x82\xA8\x82\xAD\x82\xEA\x81""E""\x81""E""\x81""E" +}; + +static const StringListProvider k1IntroStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1IntroStringsFMTownsJapanese), k1IntroStringsFMTownsJapanese }; + +static const char *const k1ItemNamesFMTownsJapanese[107] = { + "\x83""K""\x81""[""\x83""l""\x83""b""\x83""g", + "\x83""A""\x83\x81\x83""W""\x83""X""\x83""g", + "\x83""A""\x83""N""\x83""A""\x83""}""\x83\x8A\x83\x93", + "\x83""_""\x83""C""\x83""A""\x83\x82\x83\x93\x83""h", + "\x83""G""\x83\x81\x83\x89\x83\x8B\x83""h", + "\x83""p""\x81""[""\x83\x8B", + "\x83\x8B\x83""r""\x81""[", + "\x83""y""\x83\x8A\x83""h""\x81""[""\x83""g", + "\x83""T""\x83""t""\x83""@""\x83""C""\x83""A", + "\x83""I""\x83""p""\x81""[""\x83\x8B", + "\x83""g""\x83""p""\x81""[""\x83""Y", + "\x83""I""\x83""j""\x83""L""\x83""X", + "\x83""T""\x83\x93\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x80\x81""[""\x83\x93\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x8C\x83""C""\x83\x93\x83""{""\x81""[""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x8D\x81""[""\x83""h""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83""o""\x83\x89", + "\x83""`""\x83\x85\x81""[""\x83\x8A\x83""b""\x83""v", + "\x83\x89\x83\x93", + "\x8B\xE2\x82\xCC\x83""o""\x83\x89", + "\x8B\xE2\x82\xCC\x8F\xAC\x91\x9C", + "\x8B\xE2\x89\xDD", + "\x8B\xE0\x89\xDD", + "\x8B\xE0\x82\xCC\x83\x8A\x83\x93\x83""O", + "\x90\xB9\x94""t", + "\x8F\xBC\x82\xDA\x82\xC1\x82\xAD\x82\xE8", + "\x82\xC7\x82\xF1\x82\xAE\x82\xE8", + "\x83""N""\x83\x8B\x83""~", + "\x94""R""\x82\xA6\x82\xE9\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x82\xB3\x82\xA9\x82\xC8", + "\x82\xB3\x82\xA9\x82\xC8\x82\xCC\x8D\x9C", + "\x97""r""\x82\xCC\x91\xAB", + "\x8D\x9C", + "\x83\x8A\x83\x93\x83""S", + "\x83\x8A\x83\x93\x83""S""\x82\xCC\x90""c", + "\x83""u""\x83\x8B\x81""[""\x83""x""\x83\x8A\x81""[", + "\x83""L""\x83""m""\x83""R", + "\x83""m""\x81""[""\x83""g", + "\x91\xE5\x97\x9D\x90\xCE", + "\x82\xCC\x82\xB1\x82\xAC\x82\xE8", + "\x83""A""\x83\x93\x83""N", + "\x89""H""\x8D\xAA", + "\x83""^""\x83""}""\x83""S", + "\x97""t""\x82\xC1\x82\xCF", + "\x94\x92\x92\xDC\x91\x90", + "\x97\x8E\x82\xBF\x82\xBD\x90\xAF", + "\x83""N""\x83\x8A\x83""X""\x83""^""\x83\x8B\x82\xCC\x8E\xEC", + "\x97\xDC\x82\xCC\x82\xB5\x82\xB8\x82\xAD", + "\x8B\xBE", + "\x95""X""\x82\xCC\x82\xA9\x82\xAF\x82\xE7", + "\x83""t""\x83\x8B\x81""[""\x83""g", + "\x8D\xBB\x8E\x9E\x8C""v", + "\x93""S""\x82\xCC\x8C\xAE", + "\x82\xD0\x82\xB7\x82\xA2\x82\xCC\x8C\xAE", + "\x8D\x95\x97""j""\x90\xCE\x82\xCC\x8C\xAE", + "\x90\xD4\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xD4\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xC2\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xC2\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x97\xCE\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x83""I""\x83\x8C\x83\x93\x83""W""\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x8E\x87\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x93\xF8\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90""V""\x91""N""\x82\xC8\x90\x85", + "\x90""V""\x91""N""\x82\xC8\x90\x85", + "\x89\x96\x90\x85", + "\x89\x96\x90\x85", + "\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[", + "\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[", + "\x96\x82\x96""@""\x82\xCC\x90\x85", + "\x96\x82\x96""@""\x82\xCC\x90\x85", + "\x8B\xF3\x82\xC1\x82\xDB\x82\xCC\x83""t""\x83\x89\x83""X""\x83""R", + "\x8B\xF3\x82\xC1\x82\xDB\x82\xCC\x83""t""\x83\x89\x83""X""\x83""R", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x90\xD4\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83""I""\x83\x8C\x83\x93\x83""W""\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x97\xCE\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x90\xC2\x97\xCE\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x90\xC2\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x8E\x87\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x8F""d""\x82\xA2\x90\xCE", + "\x89\xA4\x8A\xA5", + "\x89\xA4\xE2\x94", + "\x8B\xE0\x82\xCC\x8C\xAE", + "\x95\xAA\x82\xA9\x82\xE7\x82\xC8\x82\xA2\x82\xE0\x82\xCC" +}; + +static const StringListProvider k1ItemNamesFMTownsJapaneseProvider = { ARRAYSIZE(k1ItemNamesFMTownsJapanese), k1ItemNamesFMTownsJapanese }; + +static const char *const k1TakenStringsFMTownsJapanese[2] = { + "\x82\xF0\x8E\xE6\x82\xC1\x82\xBD\x81""B", + "\x82\xF0\x8E\xE6\x82\xC1\x82\xBD\x81""B" +}; + +static const StringListProvider k1TakenStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1TakenStringsFMTownsJapanese), k1TakenStringsFMTownsJapanese }; + +static const char *const k1PlacedStringsFMTownsJapanese[1] = { + "\x82\xF0\x82\xB5\x82\xDC\x82\xC1\x82\xBD\x81""B" +}; + +static const StringListProvider k1PlacedStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1PlacedStringsFMTownsJapanese), k1PlacedStringsFMTownsJapanese }; + +static const char *const k1DroppedStringsFMTownsJapanese[1] = { + "\x82\xF0\x92""u""\x82\xA2\x82\xBD\x81""B" +}; + +static const StringListProvider k1DroppedStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1DroppedStringsFMTownsJapanese), k1DroppedStringsFMTownsJapanese }; + +static const char *const k1NoDropStringsFMTownsJapanese[2] = { + "\x82\xB1\x82\xCC\x8F\xEA\x96\xCA\x82\xC5\x82\xCD\x81""A""\x82\xB1\x82\xEA\x88\xC8\x8F\xE3\x83""A""\x83""C""\x83""e""\x83\x80\x82\xAA\x92""u""\x82\xAF\x82\xDC\x82\xB9\x82\xF1\x81""B", + "\x82\xB1\x82\xB1\x82\xC9\x82\xCD\x92""u""\x82\xAF\x82\xDC\x82\xB9\x82\xF1\x81""B" +}; + +static const StringListProvider k1NoDropStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1NoDropStringsFMTownsJapanese), k1NoDropStringsFMTownsJapanese }; + +static const char *const k1PutDownStringFMTownsJapanese[1] = { + "\x82\xDC\x82\xB8\x81""A""\x82\xB1\x82\xEA\x82\xF0\x92""u""\x82\xA2\x82\xC4\x82\xA9\x82\xE7\x82\xCC\x95\xFB\x82\xAA\x82\xE6\x82\xB3\x82\xBB\x82\xA4\x82\xBE\x81""B" +}; + +static const StringListProvider k1PutDownStringFMTownsJapaneseProvider = { ARRAYSIZE(k1PutDownStringFMTownsJapanese), k1PutDownStringFMTownsJapanese }; + +static const char *const k1WaitAmuletStringFMTownsJapanese[1] = { + "\x83""A""\x83""~""\x83\x85\x83\x8C\x83""b""\x83""g""\x82\xC9\x97\xCD\x82\xAA\x96\xDF\x82\xE9\x82\xDC\x82\xC5\x91\xD2\x82\xC1\x82\xC4\x82\xDD\x82\xE6\x82\xA4\x81""B" +}; + +static const StringListProvider k1WaitAmuletStringFMTownsJapaneseProvider = { ARRAYSIZE(k1WaitAmuletStringFMTownsJapanese), k1WaitAmuletStringFMTownsJapanese }; + +static const char *const k1BlackJewelStringFMTownsJapanese[1] = { + "\x82\xB1\x82\xEA\x82\xCD\x95\xF3\x90\xCE\x82\xC9\x82\xCD\x88\xE1\x82\xA2\x82\xC8\x82\xA2\x82\xAA\x81""A""\x82\xC7\x82\xA4\x82\xB5\x82\xC4\x82\xDC\x82\xC1\x8D\x95\x82\xC8\x82\xF1\x82\xBE\x82\xEB\x82\xA4\x81""H" +}; + +static const StringListProvider k1BlackJewelStringFMTownsJapaneseProvider = { ARRAYSIZE(k1BlackJewelStringFMTownsJapanese), k1BlackJewelStringFMTownsJapanese }; + +static const char *const k1HealingTipStringFMTownsJapanese[1] = { + "\x82\xA0\x82\xEA\x81""A""\x82\xB1\x82\xEA\x82\xCD\x8F\x9D\x82\xC2\x82\xA2\x82\xBD\x82\xE0\x82\xCC\x82\xF0\x8E\xA1\x82\xB7\x96\x82\x96""@""\x82\xC8\x82\xF1\x82\xBE\x81""B" +}; + +static const StringListProvider k1HealingTipStringFMTownsJapaneseProvider = { ARRAYSIZE(k1HealingTipStringFMTownsJapanese), k1HealingTipStringFMTownsJapanese }; + +static const char *const k1PoisonGoneStringFMTownsJapanese[2] = { + "\x82\xB7\x82\xB2\x82\xA2\x81""I", + "\x93\xC5\x82\xAA\x8F\xC1\x82\xA6\x82\xBD\x81""I" +}; + +static const StringListProvider k1PoisonGoneStringFMTownsJapaneseProvider = { ARRAYSIZE(k1PoisonGoneStringFMTownsJapanese), k1PoisonGoneStringFMTownsJapanese }; + +static const char *const k1ThePoisonStringsFMTownsJapanese[4] = { + "\x93\xC5\x82\xBE\x81""E""\x81""E""\x81""E", + "\x8C\xC4\x8B""z""\x82\xAA\x8F""o""\x97\x88\x82\xC8\x82\xA2\x81""E""\x81""E""\x81""E", + "\x8B""C""\x95\xAA\x82\xAA\x88\xAB\x82\xA2\x81""E""\x81""E""\x81""E", + "\x82\xA0\x82\xCC\x8E\xD6\x82\xCD""\r""\x93\xC5\x8E\xD6\x82\xC9\x82\xBF\x82\xAA\x82\xA2\x82\xC8\x82\xA2\x81""I" +}; + +static const StringListProvider k1ThePoisonStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1ThePoisonStringsFMTownsJapanese), k1ThePoisonStringsFMTownsJapanese }; + +static const char *const k1FluteStringsFMTownsJapanese[2] = { + "\x82\xA0\x82\xDC\x82\xE8\x82\xA2\x82\xA2\x89\xB9\x90""F""\x82\xB6\x82\xE1\x82\xC8\x82\xA2\x82\xC8\x81""B", + "\x8D\xC5\x8C\xE3\x82\xCD\x82\xC6\x82\xC4\x82\xE0\x8D\x82\x82\xA2\x89\xB9\x82\xBE\x81""I" +}; + +static const StringListProvider k1FluteStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1FluteStringsFMTownsJapanese), k1FluteStringsFMTownsJapanese }; + +static const char *const k1WispJewelStringsFMTownsJapanese[3] = { + "\x89\xBD\x82\xE0\x8A\xB4\x82\xB6\x82\xC8\x82\xA2\x82\xC8\x82\xA0\x81""B", + "\x8D\xC5\x8F\x89\x82\xC9\x81""A", + "\x82\xF0\x89\xBA\x82\xC9\x92""u""\x82\xAD\x82\xCC\x82\xA9\x82\xE0\x92""m""\x82\xEA\x82\xC8\x82\xA2\x81""B" +}; + +static const StringListProvider k1WispJewelStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1WispJewelStringsFMTownsJapanese), k1WispJewelStringsFMTownsJapanese }; + +static const char *const k1MagicJewelStringsFMTownsJapanese[1] = { + "\x82\xB1\x82\xEA\x82\xCD\x88\xE1\x82\xA4\x82\xBC\x81""B" +}; + +static const StringListProvider k1MagicJewelStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1MagicJewelStringsFMTownsJapanese), k1MagicJewelStringsFMTownsJapanese }; + +static const char *const k1FlaskFullStringFMTownsJapanese[1] = { + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCD\x82\xE0\x82\xA4\x90\x85\x82\xAA\x93\xFC\x82\xC1\x82\xC4\x82\xA2\x82\xE9\x81""B" +}; + +static const StringListProvider k1FlaskFullStringFMTownsJapaneseProvider = { ARRAYSIZE(k1FlaskFullStringFMTownsJapanese), k1FlaskFullStringFMTownsJapanese }; + +static const char *const k1FullFlaskStringFMTownsJapanese[4] = { + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x96""A""\x97\xA7\x82\xC2\x90""V""\x91""N""\x82\xC8\x90\x85\x82\xBE\x81""B", + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x89\x96\x90\x85\x82\xBE\x81""B", + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x82\xBE\x81""B", + "\x96\x82\x96""@""\x82\xCC\x90\x85\x82\xBE\x81""B" +}; + +static const StringListProvider k1FullFlaskStringFMTownsJapaneseProvider = { ARRAYSIZE(k1FullFlaskStringFMTownsJapanese), k1FullFlaskStringFMTownsJapanese }; + +static const char *const k1OutroHomeStringFMTownsJapanese[1] = { + "\x89\xE4\x82\xAA\x89\xC6" +}; + +static const StringListProvider k1OutroHomeStringFMTownsJapaneseProvider = { ARRAYSIZE(k1OutroHomeStringFMTownsJapanese), k1OutroHomeStringFMTownsJapanese }; + +static const char *const k1VeryCleverStringFMTownsJapanese[1] = { + "\x82\xE6\x82\xA2\x8E\xE8\x8D\xDB\x82\xBE\x81""I""\x82\xBE\x82\xAA\x82\xA8\x91""O""\x82\xCC\x82\xB3\x82\xB3\x82\xE2\x82\xA9\x82\xC8\x93""w""\x97\xCD\x82\xCD\x96\xB3\x91\xCA\x82\xBE\x81""B" +}; + +static const StringListProvider k1VeryCleverStringFMTownsJapaneseProvider = { ARRAYSIZE(k1VeryCleverStringFMTownsJapanese), k1VeryCleverStringFMTownsJapanese }; + +static const char *const k1GUIStringsFMTownsJapanese[38] = { + "\x83""U""\x81""E""\x83\x8C\x83""W""\x83""F""\x83\x93\x83""h""\x81""E""\x83""I""\x83""u""\x81""E""\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A", + "\x83""Z""\x81""[""\x83""u""\x82\xB5\x82\xBD\x8F\x8A\x82\xA9\x82\xE7\x8E""n""\x82\xDF\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x83""Z""\x81""[""\x83""u""\x82\xB7\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xCC\x90\xDD\x92\xE8", + "\x83""Q""\x81""[""\x83\x80\x8F""I""\x97\xB9", + "\x83""Q""\x81""[""\x83\x80\x8D\xC4\x8A""J", + "\x83""Q""\x81""[""\x83\x80\x82\xCC\x90\xDD\x92\xE8", + "\x82\xC7\x82\xCC\x83""f""\x81""[""\x83""^""\x82\xF0\x83\x8D\x81""[""\x83""h""\x82\xB5\x82\xDC\x82\xB7\x82\xA9\x81""H", + "\x83""Z""\x81""[""\x83""u""\x82\xB7\x82\xE9\x88\xCA\x92""u""\x82\xF0\x91""I""\x82\xF1\x82\xC5\x89\xBA\x82\xB3\x82\xA2\x81""F", + "\x81""m""\x8B\xF3\x82\xAB\x83""X""\x83\x8D\x83""b""\x83""g""\x81""n", + "\x92\x86\x8E""~", + "\x83""Z""\x81""[""\x83""u""\x82\xB5\x82\xBD\x83""Q""\x81""[""\x83\x80\x82\xC9\x96\xBC\x91""O""\x82\xF0\x82\xC2\x82\xAF\x82\xC4\x89\xBA\x82\xB3\x82\xA2\x81""F", + "\x83""Z""\x81""[""\x83""u", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""A""\x82\xE4\x82\xC1\x82\xAD\x82\xE8\x8B""x""\x82\xDF\x82\xE9\x82\xE6\x81""B", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x8F""I""\x97\xB9\x82\xB5\x82\xC4\x82\xA2\x82\xA2\x82\xC5\x82\xB7\x82\xA9\x81""H", + "XXXX", + "XXXX", + "XXXXXXXX", + "XXXXXXXXXX", + "\x83\x81\x83""C""\x83\x93\x81""E""\x83\x81\x83""j""\x83\x85\x81""[", + "\x83""I""\x83\x93", + "\x83""I""\x83\x93"" ""\x81""{""\x82""b""\x82""c", + "\x83""I""\x83""t", + "\x82\xCD\x82\xA2", + "\x82\xA2\x82\xA2\x82\xA6", + "\xA0\x8E\x02", + "\xAC\x8E\x02", + "\xB4\x8E\x02", + "\xBC\x8E\x02", + "\xC4\x8E\x02", + "\xD0\x8E\x02", + "\xDC\x8E\x02", + "\xE4\x8E\x02", + "\xEC\x8E\x02", + "\x95\xE0\x81""@""\x8D""s""\x81""@""\x91\xAC\x81""@""\x93""x", + "\x83\x81\x83""b""\x83""Z""\x81""[""\x83""W""\x91\xAC\x93""x", + "\x89\xB9\x81""@""\x81""@""\x81""@""\x81""@""\x81""@""\x8A""y", + "\x8C\xF8\x81""@""\x81""@""\x89\xCA\x81""@""\x81""@""\x89\xB9" +}; + +static const StringListProvider k1GUIStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1GUIStringsFMTownsJapanese), k1GUIStringsFMTownsJapanese }; + +static const char *const k1NewGameStringFMTownsJapanese[1] = { + "\x81""m""\x8D\xC5\x8F\x89\x82\xA9\x82\xE7\x83""Q""\x81""[""\x83\x80\x82\xF0\x8E""n""\x82\xDF\x82\xE9\x81""n" +}; + +static const StringListProvider k1NewGameStringFMTownsJapaneseProvider = { ARRAYSIZE(k1NewGameStringFMTownsJapanese), k1NewGameStringFMTownsJapanese }; + +static const char *const k1ConfigStringsFMTownsJapanese[9] = { + "\x82\xB2\x82\xAD\x92""x""\x82\xAD", + "\x92""x""\x81""@""\x82\xAD", + "\x95\x81\x81""@""\x92\xCA", + "\x91\xAC\x81""@""\x82\xAD", + "\x82\xB2\x82\xAD\x91\xAC\x82\xAD", + "\x82\xB2\x82\xAD\x92""x""\x82\xAD", + "\x95\x81\x81""@""\x92\xCA", + "\x91\xAC\x81""@""\x82\xAD", + "\x97""v""\x83""N""\x83\x8A\x83""b""\x83""N" +}; + +static const StringListProvider k1ConfigStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1ConfigStringsFMTownsJapanese), k1ConfigStringsFMTownsJapanese }; + +static const byte k1CreditsStringsFMTownsJapanese[1420] = { + 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, 0x45, 0x4E, + 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x46, 0x61, 0x62, 0x6C, 0x65, + 0x73, 0x20, 0x26, 0x20, 0x46, 0x69, 0x65, 0x6E, + 0x64, 0x73, 0x0D, 0x02, 0x42, 0x6F, 0x6F, 0x6B, + 0x20, 0x49, 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, + 0x4C, 0x45, 0x47, 0x45, 0x4E, 0x44, 0x20, 0x4F, + 0x46, 0x20, 0x4B, 0x59, 0x52, 0x41, 0x4E, 0x44, + 0x49, 0x41, 0x0D, 0x0D, 0x50, 0x75, 0x62, 0x6C, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x0D, 0x02, 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, + 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, + 0x6F, 0x73, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x03, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, + 0x72, 0x3A, 0x05, 0x04, 0x42, 0x72, 0x65, 0x74, + 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x0D, 0x0D, 0x03, 0x44, 0x65, + 0x73, 0x69, 0x67, 0x6E, 0x3A, 0x05, 0x04, 0x4D, + 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x4C, + 0x65, 0x67, 0x67, 0x0D, 0x04, 0x52, 0x69, 0x63, + 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x0D, + 0x04, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, + 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x0D, 0x0D, + 0x03, 0x4C, 0x65, 0x61, 0x64, 0x20, 0x50, 0x72, + 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, + 0x3A, 0x05, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, + 0x0D, 0x03, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x53, 0x63, + 0x6F, 0x74, 0x74, 0x20, 0x42, 0x6F, 0x77, 0x65, + 0x6E, 0x0D, 0x0D, 0x03, 0x20, 0x20, 0x41, 0x6D, + 0x69, 0x67, 0x61, 0x20, 0x20, 0x50, 0x72, 0x6F, + 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, 0x3A, + 0x05, 0x04, 0x42, 0x69, 0x6C, 0x6C, 0x20, 0x53, + 0x74, 0x6F, 0x6B, 0x65, 0x73, 0x0D, 0x0D, 0x03, + 0x20, 0x20, 0x50, 0x43, 0x2D, 0x39, 0x38, 0x20, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x59, 0x75, + 0x6B, 0x69, 0x6F, 0x20, 0x53, 0x65, 0x6B, 0x69, + 0x67, 0x75, 0x63, 0x68, 0x69, 0x0D, 0x0D, 0x03, + 0x46, 0x4D, 0x2D, 0x54, 0x4F, 0x57, 0x4E, 0x53, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x54, 0x61, + 0x69, 0x73, 0x65, 0x69, 0x20, 0x4E, 0x6F, 0x6D, + 0x75, 0x72, 0x61, 0x0D, 0x03, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x05, 0x04, 0x4F, 0x68, 0x73, 0x68, 0x75, + 0x6E, 0x20, 0x4C, 0x65, 0x65, 0x0D, 0x0D, 0x03, + 0x49, 0x6E, 0x74, 0x72, 0x6F, 0x20, 0x26, 0x20, + 0x46, 0x69, 0x6E, 0x61, 0x6C, 0x65, 0x3A, 0x05, + 0x04, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6F, + 0x70, 0x68, 0x65, 0x72, 0x20, 0x59, 0x61, 0x74, + 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x41, 0x72, 0x74, + 0x20, 0x26, 0x20, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x69, 0x63, 0x73, 0x3A, 0x05, 0x04, 0x52, 0x69, + 0x63, 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, + 0x0D, 0x04, 0x52, 0x65, 0x6E, 0x20, 0x4F, 0x6C, + 0x73, 0x65, 0x6E, 0x0D, 0x04, 0x4C, 0x6F, 0x75, + 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, 0x64, + 0x6F, 0x76, 0x61, 0x6C, 0x0D, 0x04, 0x4A, 0x6F, + 0x73, 0x65, 0x70, 0x68, 0x20, 0x48, 0x65, 0x77, + 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, 0x0D, 0x04, + 0x4A, 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x0D, + 0x04, 0x41, 0x61, 0x72, 0x6F, 0x6E, 0x20, 0x50, + 0x6F, 0x77, 0x65, 0x6C, 0x6C, 0x0D, 0x04, 0x45, + 0x6C, 0x69, 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, + 0x69, 0x61, 0x6E, 0x0D, 0x04, 0x45, 0x72, 0x69, + 0x63, 0x20, 0x53, 0x68, 0x75, 0x6C, 0x74, 0x73, + 0x0D, 0x0D, 0x03, 0x41, 0x75, 0x64, 0x69, 0x6F, + 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, + 0x72, 0x3A, 0x05, 0x04, 0x50, 0x61, 0x75, 0x6C, + 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64, 0x72, + 0x61, 0x0D, 0x0D, 0x03, 0x4D, 0x75, 0x73, 0x69, + 0x63, 0x3A, 0x05, 0x04, 0x46, 0x72, 0x61, 0x6E, + 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, 0x61, 0x63, + 0x6B, 0x69, 0x0D, 0x03, 0x28, 0x39, 0x38, 0x20, + 0x26, 0x20, 0x54, 0x4F, 0x57, 0x4E, 0x53, 0x29, + 0x05, 0x04, 0x54, 0x61, 0x6B, 0x65, 0x73, 0x68, + 0x69, 0x20, 0x41, 0x62, 0x6F, 0x0D, 0x0D, 0x03, + 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x73, 0x3A, 0x05, 0x04, + 0x44, 0x77, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x0D, 0x03, + 0x28, 0x50, 0x43, 0x2D, 0x39, 0x38, 0x29, 0x05, + 0x04, 0x54, 0x61, 0x6B, 0x65, 0x73, 0x68, 0x69, + 0x20, 0x41, 0x62, 0x6F, 0x0D, 0x0D, 0x03, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x3A, 0x05, 0x04, + 0x22, 0x43, 0x6F, 0x63, 0x6F, 0x22, 0x0D, 0x0D, + 0x03, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x6C, 0x61, + 0x74, 0x6F, 0x72, 0x28, 0x4A, 0x61, 0x70, 0x61, + 0x6E, 0x65, 0x73, 0x65, 0x29, 0x3A, 0x05, 0x04, + 0x4D, 0x69, 0x6E, 0x6F, 0x72, 0x75, 0x20, 0x4E, + 0x61, 0x6B, 0x61, 0x7A, 0x61, 0x77, 0x61, 0x0D, + 0x04, 0x59, 0x75, 0x72, 0x69, 0x20, 0x49, 0x74, + 0x6F, 0x0D, 0x0D, 0x03, 0x51, 0x75, 0x61, 0x6C, + 0x69, 0x74, 0x79, 0x20, 0x41, 0x73, 0x73, 0x75, + 0x72, 0x61, 0x6E, 0x63, 0x65, 0x3A, 0x05, 0x04, + 0x47, 0x6C, 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, + 0x65, 0x72, 0x72, 0x79, 0x0D, 0x04, 0x4D, 0x61, + 0x74, 0x74, 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, + 0x6E, 0x73, 0x0D, 0x04, 0x42, 0x69, 0x6C, 0x6C, + 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65, 0x72, 0x0D, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x4C, 0x69, 0x67, 0x68, 0x74, 0x6E, 0x65, + 0x72, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x47, 0x61, 0x74, 0x65, 0x72, + 0x0D, 0x04, 0x45, 0x75, 0x67, 0x65, 0x6E, 0x65, + 0x20, 0x4D, 0x61, 0x72, 0x74, 0x69, 0x6E, 0x0D, + 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, + 0x20, 0x47, 0x6C, 0x6F, 0x73, 0x65, 0x63, 0x6B, + 0x69, 0x0D, 0x04, 0x4A, 0x75, 0x73, 0x74, 0x69, + 0x6E, 0x20, 0x4E, 0x6F, 0x72, 0x72, 0x0D, 0x04, + 0x54, 0x6F, 0x70, 0x20, 0x53, 0x74, 0x61, 0x72, + 0x20, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6E, 0x67, + 0x0D, 0x04, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6E, + 0x67, 0x20, 0x31, 0x2C, 0x32, 0x2C, 0x33, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6C, 0x20, 0x54, 0x68, 0x61, 0x6E, + 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x0D, 0x4C, 0x79, + 0x6C, 0x65, 0x20, 0x4A, 0x2E, 0x20, 0x48, 0x61, + 0x6C, 0x6C, 0x0D, 0x44, 0x61, 0x76, 0x69, 0x64, + 0x20, 0x42, 0x69, 0x73, 0x68, 0x6F, 0x70, 0x0D, + 0x22, 0x54, 0x68, 0x65, 0x20, 0x44, 0x6F, 0x63, + 0x22, 0x0D, 0x61, 0x6E, 0x64, 0x0D, 0x46, 0x69, + 0x72, 0x65, 0x62, 0x65, 0x72, 0x72, 0x79, 0x20, + 0x47, 0x72, 0x65, 0x65, 0x6E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x02, 0x43, 0x41, 0x53, 0x54, + 0x20, 0x4F, 0x46, 0x20, 0x43, 0x48, 0x41, 0x52, + 0x41, 0x43, 0x54, 0x45, 0x52, 0x53, 0x0D, 0x0D, + 0x4D, 0x61, 0x6C, 0x63, 0x6F, 0x6C, 0x6D, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x4A, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x0D, 0x42, 0x72, 0x61, 0x6E, 0x64, + 0x6F, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, + 0x6F, 0x6C, 0x64, 0x0D, 0x42, 0x72, 0x61, 0x6E, + 0x64, 0x79, 0x77, 0x69, 0x6E, 0x65, 0x20, 0x61, + 0x6E, 0x64, 0x20, 0x44, 0x61, 0x72, 0x6D, 0x0D, + 0x50, 0x72, 0x69, 0x65, 0x73, 0x74, 0x65, 0x73, + 0x73, 0x20, 0x42, 0x72, 0x79, 0x6E, 0x6E, 0x0D, + 0x5A, 0x61, 0x6E, 0x74, 0x68, 0x69, 0x61, 0x2C, + 0x20, 0x4C, 0x61, 0x64, 0x79, 0x20, 0x6F, 0x66, + 0x20, 0x41, 0x6C, 0x63, 0x68, 0x65, 0x6D, 0x79, + 0x0D, 0x48, 0x65, 0x72, 0x6D, 0x61, 0x6E, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x48, 0x61, 0x6E, 0x64, + 0x79, 0x6D, 0x61, 0x6E, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, + 0x41, 0x6E, 0x79, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, + 0x6E, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, + 0x61, 0x6D, 0x65, 0x20, 0x77, 0x68, 0x6F, 0x20, + 0x62, 0x65, 0x61, 0x72, 0x0D, 0x01, 0x72, 0x65, + 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x61, 0x6E, 0x63, + 0x65, 0x20, 0x74, 0x6F, 0x20, 0x70, 0x65, 0x72, + 0x73, 0x6F, 0x6E, 0x73, 0x20, 0x6C, 0x69, 0x76, + 0x69, 0x6E, 0x67, 0x20, 0x6F, 0x72, 0x0D, 0x01, + 0x64, 0x65, 0x61, 0x64, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x70, 0x75, 0x72, 0x65, 0x6C, 0x79, 0x20, + 0x63, 0x6F, 0x69, 0x6E, 0x63, 0x69, 0x64, 0x65, + 0x6E, 0x74, 0x61, 0x6C, 0x2E, 0x0D, 0x0D, 0x0D, + 0x01, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, + 0x39, 0x39, 0x32, 0x2C, 0x20, 0x57, 0x65, 0x73, + 0x74, 0x77, 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, + 0x75, 0x64, 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, + 0x6E, 0x63, 0x2E, 0x0D, 0x01, 0x43, 0x6F, 0x70, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, + 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, 0x33, 0x2C, + 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x43, 0x72, + 0x61, 0x66, 0x74, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0D, + 0x01, 0x41, 0x6C, 0x6C, 0x20, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x2E, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider k1CreditsStringsFMTownsJapaneseProvider = { ARRAYSIZE(k1CreditsStringsFMTownsJapanese), k1CreditsStringsFMTownsJapanese }; + diff --git a/devtools/create_kyradat/resources/lok_pc98.h b/devtools/create_kyradat/resources/lok_pc98.h new file mode 100644 index 0000000000..fc628f0e3c --- /dev/null +++ b/devtools/create_kyradat/resources/lok_pc98.h @@ -0,0 +1,2000 @@ +static const byte k1KallakWritingSeqPC98[2035] = { + 0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00, + 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, + 0x00, 0x19, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14, + 0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, + 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, + 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, + 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, + 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, + 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, + 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, + 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, + 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, + 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, + 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, + 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, + 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, + 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, + 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, + 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, + 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, + 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, + 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, + 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, + 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, + 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, + 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, + 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, + 0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, + 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, + 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, + 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, + 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, + 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, + 0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, + 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, + 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, + 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, + 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, + 0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, + 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, + 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, + 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, + 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, + 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, + 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, + 0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, + 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, + 0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, + 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, + 0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, + 0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, + 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, + 0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, + 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, + 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, + 0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, + 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, + 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, + 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, + 0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, + 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, + 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, + 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, + 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, + 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, + 0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x13, + 0x01, 0x00, 0x1D +}; + +static const ByteProvider k1KallakWritingSeqPC98Provider = { ARRAYSIZE(k1KallakWritingSeqPC98), k1KallakWritingSeqPC98 }; + +static const byte k1MalcolmTreeSeqPC98[535] = { + 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01, + 0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x10, 0x19, 0x03, 0x09, 0x18, 0x1E, 0x14, 0x18, + 0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, + 0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, + 0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, + 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, + 0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, + 0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, + 0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, + 0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, + 0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, + 0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, + 0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, + 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, + 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, + 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, + 0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, + 0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, + 0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, + 0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, + 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, + 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, + 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, + 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, + 0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, + 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, + 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, + 0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, + 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, + 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, + 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, + 0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, + 0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, + 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, + 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, + 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, + 0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, + 0x01, 0x13, 0x01, 0x01, 0x01, 0x02, 0x1D +}; + +static const ByteProvider k1MalcolmTreeSeqPC98Provider = { ARRAYSIZE(k1MalcolmTreeSeqPC98), k1MalcolmTreeSeqPC98 }; + +static const byte k1WestwoodLogoSeqPC98[75] = { + 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03, + 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, + 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16, + 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, + 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, + 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, + 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13, + 0x01, 0x03, 0x1D +}; + +static const ByteProvider k1WestwoodLogoSeqPC98Provider = { ARRAYSIZE(k1WestwoodLogoSeqPC98), k1WestwoodLogoSeqPC98 }; + +static const byte k1KyrandiaLogoSeqPC98[92] = { + 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, + 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, + 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, + 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, + 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, + 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, + 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, + 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, + 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, + 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, + 0x13, 0x01, 0x06, 0x1D +}; + +static const ByteProvider k1KyrandiaLogoSeqPC98Provider = { ARRAYSIZE(k1KyrandiaLogoSeqPC98), k1KyrandiaLogoSeqPC98 }; + +static const byte k1KallakMalcolmSeqPC98[620] = { + 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, + 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03, + 0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, + 0xC7, 0x0C, 0x02, 0x19, 0x00, 0x02, 0x04, 0x00, + 0x10, 0x00, 0x3A, 0x09, 0x19, 0x00, 0x19, 0x05, + 0x14, 0x18, 0x23, 0x0A, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x00, 0x22, 0x00, 0x10, 0x02, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x01, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x01, 0x07, 0x00, 0x06, + 0x3C, 0x00, 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x02, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x02, 0x17, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x04, + 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x0F, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x06, + 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x04, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, 0x00, 0x06, + 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x78, + 0x00, 0x10, 0x07, 0xF0, 0x00, 0x3A, 0x0F, 0x0A, + 0x05, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x05, + 0x11, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, + 0x08, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x06, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x06, 0x07, 0x00, + 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x07, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0A, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0B, 0xF0, 0x00, + 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x10, 0x0C, 0xF0, 0x00, 0x3A, 0x0F, + 0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x0D, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x0A, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0A, 0x0E, 0x00, 0x06, 0x3C, 0x00, + 0x0A, 0x0B, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0B, 0x02, 0x00, 0x18, 0x20, 0x0A, 0x0C, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0C, 0x06, 0x00, + 0x18, 0x21, 0x0A, 0x0D, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x0D, 0x0C, 0x00, 0x18, 0x22, 0x0A, + 0x0E, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0E, + 0x0B, 0x00, 0x10, 0x0E, 0x50, 0x00, 0x3A, 0x05, + 0x0A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, + 0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, + 0x07, 0x07, 0x00, 0x10, 0x0F, 0x50, 0x00, 0x3A, + 0x05, 0x0A, 0x10, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x10, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, + 0x04, 0x07, 0x07, 0x00, 0x10, 0x10, 0x50, 0x00, + 0x3A, 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07, + 0x00, 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x11, 0x50, + 0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07, + 0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C, + 0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, + 0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13, + 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07, + 0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01, + 0x13, 0x01, 0x04, 0x1D +}; + +static const ByteProvider k1KallakMalcolmSeqPC98Provider = { ARRAYSIZE(k1KallakMalcolmSeqPC98), k1KallakMalcolmSeqPC98 }; + +static const byte k1ForestSeqPC98[406] = { + 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, + 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, + 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, + 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, + 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, + 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, + 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, + 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, + 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, + 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, + 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, + 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, + 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, + 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, + 0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07, + 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, + 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03, + 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, + 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, + 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, + 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, + 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, + 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18, + 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16, + 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02, + 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02, + 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13, + 0x13, 0x01, 0x07, 0x01, 0x05, 0x1D +}; + +static const ByteProvider k1ForestSeqPC98Provider = { ARRAYSIZE(k1ForestSeqPC98), k1ForestSeqPC98 }; + +static const char *const k1IntroCPSStringsPC98[2] = { + "gemcut.cps", + "tree.cps" +}; + +static const StringListProvider k1IntroCPSStringsPC98Provider = { ARRAYSIZE(k1IntroCPSStringsPC98), k1IntroCPSStringsPC98 }; + +static const char *const k1IntroCOLStringsPC98[4] = { + "kallak.col", + "tree_exp.col", + "ww.col", + "mal-kal.col" +}; + +static const StringListProvider k1IntroCOLStringsPC98Provider = { ARRAYSIZE(k1IntroCOLStringsPC98), k1IntroCOLStringsPC98 }; + +static const char *const k1IntroWSAStringsPC98[11] = { + "kallak.wsa", + "tree1.wsa", + "tree2.wsa", + "westwood.wsa", + "mal-kal.wsa", + "destruct.wsa", + "kyrandia.wsa", + "shore.wsa", + "reunion.wsa", + "reuniont.wsa", + "latern.wsa" +}; + +static const StringListProvider k1IntroWSAStringsPC98Provider = { ARRAYSIZE(k1IntroWSAStringsPC98), k1IntroWSAStringsPC98 }; + +static const Room k1RoomListPC98[246] = { + { 30, 0xFFFF, 0xFFFF, 0x0001, 0xFFFF }, + { 71, 0xFFFF, 0xFFFF, 0x0005, 0xFFFF }, + { 44, 0xFFFF, 0x0003, 0xFFFF, 0xFFFF }, + { 72, 0xFFFF, 0xFFFF, 0x000E, 0xFFFF }, + { 48, 0xFFFF, 0x0005, 0xFFFF, 0x000E }, + { 74, 0xFFFF, 0x000A, 0xFFFF, 0x0004 }, + { 46, 0xFFFF, 0x000F, 0xFFFF, 0x000B }, + { 75, 0xFFFF, 0x0009, 0xFFFF, 0x0018 }, + { 13, 0xFFFF, 0x000C, 0xFFFF, 0x000A }, + { 5, 0x000D, 0xFFFF, 0xFFFF, 0x0007 }, + { 84, 0xFFFF, 0x0008, 0xFFFF, 0x0005 }, + { 37, 0xFFFF, 0x0006, 0x000C, 0x0010 }, + { 51, 0x000B, 0xFFFF, 0x000D, 0x0008 }, + { 23, 0x000C, 0xFFFF, 0x0009, 0xFFFF }, + { 25, 0x0003, 0x0004, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0x0006 }, + { 86, 0xFFFF, 0x000B, 0xFFFF, 0xFFFF }, + { 84, 0xFFFF, 0x0022, 0x0017, 0x0016 }, + { 51, 0x0020, 0x0014, 0x0024, 0x0015 }, + { 85, 0x0014, 0x0019, 0xFFFF, 0x0024 }, + { 33, 0x001C, 0xFFFF, 0x0013, 0x0012 }, + { 31, 0x0022, 0x0012, 0xFFFF, 0x0017 }, + { 25, 0x001F, 0x0011, 0xFFFF, 0xFFFF }, + { 25, 0x0011, 0x0015, 0xFFFF, 0xFFFF }, + { 2, 0xFFFF, 0x0007, 0xFFFF, 0x001A }, + { 82, 0xFFFF, 0x006D, 0xFFFF, 0x0013 }, + { 77, 0xFFFF, 0x0018, 0x0021, 0xFFFF }, + { 15, 0xFFFF, 0x001A, 0xFFFF, 0xFFFF }, + { 16, 0xFFFF, 0xFFFF, 0x0014, 0x0020 }, + { 19, 0xFFFF, 0x0021, 0xFFFF, 0x001F }, + { 12, 0xFFFF, 0xFFFF, 0x0020, 0x0021 }, + { 7, 0x0023, 0x001D, 0x0016, 0xFFFF }, + { 20, 0x001E, 0x001C, 0x0012, 0x0022 }, + { 17, 0x001A, 0x001E, 0x0022, 0x001D }, + { 22, 0x0021, 0x0020, 0x0015, 0x0011 }, + { 24, 0xFFFF, 0xFFFF, 0x001F, 0xFFFF }, + { 32, 0x0012, 0x0013, 0xFFFF, 0xFFFF }, + { 87, 0xFFFF, 0x0026, 0xFFFF, 0xFFFF }, + { 8, 0xFFFF, 0x0027, 0xFFFF, 0x0025 }, + { 88, 0xFFFF, 0x0035, 0x0037, 0x0026 }, + { 35, 0xFFFF, 0x0036, 0x0038, 0xFFFF }, + { 47, 0xFFFF, 0xFFFF, 0x003B, 0xFFFF }, + { 28, 0x0035, 0x002B, 0x002F, 0x0037 }, + { 36, 0xFFFF, 0x002C, 0xFFFF, 0x002A }, + { 78, 0xFFFF, 0xFFFF, 0xFFFF, 0x002B }, + { 10, 0xFFFF, 0xFFFF, 0xFFFF, 0x002C }, + { 51, 0x0037, 0x002F, 0x0040, 0x003C }, + { 38, 0x002A, 0x003D, 0x0041, 0x002E }, + { 81, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 41, 0xFFFF, 0xFFFF, 0x0069, 0xFFFF }, + { 50, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 49, 0xFFFF, 0xFFFF, 0x0054, 0xFFFF }, + { 105, 0xFFFF, 0xFFFF, 0x002A, 0x0027 }, + { 105, 0xFFFF, 0xFFFF, 0x0039, 0x0028 }, + { 37, 0x0027, 0x002A, 0x002E, 0x0049 }, + { 34, 0x0028, 0x0039, 0xFFFF, 0xFFFF }, + { 51, 0x0036, 0x003A, 0xFFFF, 0x0038 }, + { 84, 0xFFFF, 0x003B, 0xFFFF, 0x0039 }, + { 1, 0x0029, 0xFFFF, 0x003E, 0x003A }, + { 37, 0x0049, 0x002E, 0x003F, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0x002F }, + { 34, 0x003B, 0x003F, 0xFFFF, 0xFFFF }, + { 85, 0x003C, 0x0040, 0xFFFF, 0x003E }, + { 106, 0x002E, 0x0041, 0xFFFF, 0x003F }, + { 33, 0x002F, 0xFFFF, 0xFFFF, 0x0040 }, + { 60, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 11, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 33, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 26, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 25, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 23, 0xFFFF, 0x0037, 0x003C, 0xFFFF }, + { 6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 51, 0x0063, 0x0067, 0x006B, 0x0066 }, + { 66, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 67, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 62, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 65, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 18, 0x0056, 0x005A, 0x005E, 0xFFFF }, + { 6, 0xFFFF, 0x0052, 0x0056, 0xFFFF }, + { 4, 0xFFFF, 0x0053, 0x0057, 0x0051 }, + { 3, 0xFFFF, 0x0054, 0xFFFF, 0x0052 }, + { 37, 0x0034, 0x0055, 0x0058, 0x0053 }, + { 11, 0xFFFF, 0xFFFF, 0x0059, 0x0054 }, + { 37, 0x0051, 0x0057, 0x0050, 0xFFFF }, + { 51, 0x0052, 0xFFFF, 0x005A, 0x0056 }, + { 51, 0x0054, 0x0059, 0x005C, 0xFFFF }, + { 1, 0x0055, 0xFFFF, 0x005D, 0x0058 }, + { 106, 0x0057, 0x005B, 0xFFFF, 0x0050 }, + { 85, 0xFFFF, 0x005C, 0xFFFF, 0x005A }, + { 37, 0x0058, 0x005D, 0x005F, 0x005B }, + { 33, 0x0059, 0xFFFF, 0xFFFF, 0x005C }, + { 51, 0x0050, 0xFFFF, 0x0061, 0xFFFF }, + { 51, 0x005C, 0xFFFF, 0x0064, 0xFFFF }, + { 37, 0xFFFF, 0x0061, 0x0065, 0xFFFF }, + { 51, 0x005E, 0x0062, 0xFFFF, 0x0060 }, + { 84, 0xFFFF, 0x0063, 0x0066, 0x0061 }, + { 84, 0xFFFF, 0x0064, 0x004B, 0x0062 }, + { 33, 0x005F, 0xFFFF, 0x0067, 0x0063 }, + { 51, 0x0060, 0xFFFF, 0x0068, 0xFFFF }, + { 37, 0x0062, 0x004B, 0x006A, 0xFFFF }, + { 1, 0x0064, 0xFFFF, 0x006C, 0x004B }, + { 34, 0x0065, 0x0069, 0xFFFF, 0xFFFF }, + { 51, 0x0031, 0x006A, 0xFFFF, 0x0068 }, + { 85, 0x0066, 0x006B, 0xFFFF, 0x0069 }, + { 106, 0x004B, 0x006C, 0xFFFF, 0x006A }, + { 33, 0x0067, 0xFFFF, 0xFFFF, 0x006B }, + { 55, 0x00C4, 0x00C5, 0xFFFF, 0x0019 }, + { 52, 0xFFFF, 0x00C1, 0xFFFF, 0x0096 }, + { 64, 0xFFFF, 0x00BF, 0xFFFF, 0x008C }, + { 57, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 54, 0x00AF, 0xFFFF, 0x00B7, 0x00AC }, + { 53, 0x0078, 0xFFFF, 0x0079, 0xFFFF }, + { 29, 0xFFFF, 0x00BB, 0xFFFF, 0x00C5 }, + { 69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 76, 0x00C6, 0xFFFF, 0xFFFF, 0x00B1 }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x0025, 0x0072, 0xFFFF }, + { 58, 0x0072, 0x007B, 0x00BB, 0xFFFF }, + { 58, 0xFFFF, 0x007F, 0x007B, 0xFFFF }, + { 59, 0x007A, 0xFFFF, 0x007C, 0x0079 }, + { 58, 0x007B, 0x0081, 0x00BC, 0xFFFF }, + { 58, 0x00BC, 0x0083, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x0085, 0x007F, 0xFFFF }, + { 59, 0x007E, 0x0086, 0x0080, 0x007A }, + { 58, 0x007F, 0x00BD, 0x0081, 0xFFFF }, + { 59, 0x0080, 0x0087, 0x0082, 0x007C }, + { 58, 0x0081, 0xFFFF, 0x0083, 0x00BC }, + { 59, 0x0082, 0x0089, 0x0084, 0x007D }, + { 58, 0x0083, 0x008A, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x008B, 0x0086, 0x007E }, + { 58, 0x0085, 0x008C, 0x00BD, 0x007F }, + { 58, 0x00BD, 0x008E, 0x0088, 0x0081 }, + { 59, 0x0087, 0xFFFF, 0x0089, 0xFFFF }, + { 58, 0x0088, 0x0090, 0x008A, 0x0083 }, + { 59, 0x0089, 0x0091, 0xFFFF, 0x0084 }, + { 58, 0xFFFF, 0x0092, 0x008C, 0x0085 }, + { 59, 0x008B, 0x006F, 0x008D, 0x0086 }, + { 58, 0x008C, 0x0093, 0x008E, 0x00BD }, + { 59, 0x008D, 0xFFFF, 0xFFFF, 0x0087 }, + { 58, 0xFFFF, 0x00BE, 0x0090, 0xFFFF }, + { 59, 0x008F, 0x0095, 0x0091, 0x0089 }, + { 58, 0x0090, 0x0096, 0xFFFF, 0x008A }, + { 59, 0xFFFF, 0x0098, 0xFFFF, 0x008B }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0x008D }, + { 58, 0xFFFF, 0x009A, 0x00BE, 0xFFFF }, + { 58, 0x00BE, 0xFFFF, 0x0096, 0x0090 }, + { 59, 0x0095, 0x006E, 0x0097, 0x0091 }, + { 58, 0x0096, 0x009D, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x009E, 0x00BF, 0x0092 }, + { 58, 0x00BF, 0x00A0, 0x009A, 0xFFFF }, + { 59, 0x0099, 0xFFFF, 0x009B, 0x0094 }, + { 58, 0x009A, 0xFFFF, 0x009C, 0xFFFF }, + { 59, 0x009B, 0x00A2, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0x00A3, 0xFFFF, 0x0097 }, + { 59, 0xFFFF, 0xFFFF, 0x009F, 0x0098 }, + { 58, 0x009E, 0x00A4, 0x00A0, 0x00BF }, + { 59, 0x009F, 0x00A5, 0xFFFF, 0x0099 }, + { 58, 0xFFFF, 0x00A6, 0x00C0, 0xFFFF }, + { 58, 0x00C0, 0x00A8, 0xFFFF, 0x009C }, + { 58, 0x00C1, 0xFFFF, 0xFFFF, 0x009D }, + { 59, 0xFFFF, 0x00AA, 0x00A5, 0x009F }, + { 58, 0x00A4, 0x00AB, 0x00A6, 0x00A0 }, + { 59, 0x00A5, 0x00AC, 0x00A7, 0x00A1 }, + { 58, 0x00A6, 0xFFFF, 0xFFFF, 0x00C0 }, + { 59, 0xFFFF, 0x00AD, 0x00A9, 0x00A2 }, + { 58, 0x00A8, 0x00AE, 0xFFFF, 0x00C1 }, + { 58, 0xFFFF, 0xFFFF, 0x00AB, 0x00A4 }, + { 59, 0x00AA, 0x00AF, 0x00AC, 0x00A5 }, + { 58, 0x00AB, 0x0071, 0x00C2, 0x00A6 }, + { 58, 0xFFFF, 0x00B0, 0x00AE, 0x00A8 }, + { 59, 0x00AD, 0xFFFF, 0xFFFF, 0x00A9 }, + { 58, 0xFFFF, 0x00C3, 0x0071, 0x00AB }, + { 59, 0xFFFF, 0xFFFF, 0x00B1, 0x00AD }, + { 58, 0x00B0, 0x0075, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0x00C3, 0xFFFF, 0x00B4, 0xFFFF }, + { 59, 0x00B3, 0x00BA, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 58, 0x0071, 0xFFFF, 0xFFFF, 0x00C2 }, + { 58, 0xFFFF, 0xFFFF, 0x00B9, 0xFFFF }, + { 59, 0x00B8, 0xFFFF, 0xFFFF, 0x00C3 }, + { 58, 0xFFFF, 0xFFFF, 0xFFFF, 0x00B4 }, + { 59, 0x0079, 0xFFFF, 0xFFFF, 0x0073 }, + { 59, 0x007C, 0x0082, 0x007D, 0xFFFF }, + { 59, 0x0086, 0x008D, 0x0087, 0x0080 }, + { 59, 0x0094, 0xFFFF, 0x0095, 0x008F }, + { 59, 0x0098, 0x009F, 0x0099, 0x006F }, + { 59, 0x00A1, 0x00A7, 0x00A2, 0xFFFF }, + { 59, 0xFFFF, 0x00A9, 0x00A3, 0x006E }, + { 59, 0x00AC, 0x00B7, 0xFFFF, 0xFFFF }, + { 58, 0xFFFF, 0x00B9, 0x00B3, 0x00AF }, + { 59, 0xFFFF, 0xFFFF, 0x006D, 0xFFFF }, + { 58, 0xFFFF, 0x0073, 0xFFFF, 0x006D }, + { 59, 0xFFFF, 0xFFFF, 0x0075, 0xFFFF }, + { 94, 0xFFFF, 0x00C8, 0xFFFF, 0xFFFF }, + { 43, 0x00C9, 0x00CB, 0x00CA, 0x00C7 }, + { 51, 0xFFFF, 0xFFFF, 0x00C8, 0xFFFF }, + { 37, 0x00C8, 0xFFFF, 0xFFFF, 0xFFFF }, + { 79, 0xFFFF, 0xFFFF, 0xFFFF, 0x00C8 }, + { 80, 0xFFFF, 0xFFFF, 0x00CB, 0x00CD }, + { 97, 0x00E3, 0x00D4, 0x00CC, 0x00D3 }, + { 103, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 100, 0xFFFF, 0x00CE, 0x00D5, 0xFFFF }, + { 98, 0xFFFF, 0xFFFF, 0xFFFF, 0x00D7 }, + { 101, 0xFFFF, 0x00D2, 0x00CE, 0xFFFF }, + { 99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 93, 0x00D5, 0x00CD, 0xFFFF, 0xFFFF }, + { 93, 0x00D6, 0xFFFF, 0xFFFF, 0x00CD }, + { 93, 0x00CF, 0x00CE, 0x00D3, 0xFFFF }, + { 93, 0x00D7, 0xFFFF, 0x00D4, 0x00CE }, + { 93, 0xFFFF, 0x00D0, 0x00D6, 0x00CE }, + { 93, 0x00DA, 0x00E3, 0xFFFF, 0xFFFF }, + { 93, 0x00DB, 0xFFFF, 0xFFFF, 0x00E3 }, + { 93, 0xFFFF, 0x00E4, 0x00D8, 0x00E2 }, + { 93, 0xFFFF, 0x00E1, 0x00D9, 0x00E4 }, + { 93, 0xFFFF, 0x00E4, 0xFFFF, 0x00DF }, + { 93, 0xFFFF, 0x00E0, 0xFFFF, 0x00E4 }, + { 93, 0xFFFF, 0xFFFF, 0x00E4, 0xFFFF }, + { 91, 0xFFFF, 0x00DC, 0xFFFF, 0xFFFF }, + { 90, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DD }, + { 92, 0xFFFF, 0xFFFF, 0xFFFF, 0x00DB }, + { 95, 0xFFFF, 0x00DA, 0xFFFF, 0xFFFF }, + { 96, 0xFFFF, 0x00D9, 0x00CD, 0x00D8 }, + { 89, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00E6, 0xFFFF, 0xFFFF }, + { 102, 0xFFFF, 0x00EA, 0x00E8, 0x00E5 }, + { 102, 0xFFFF, 0x00E8, 0x00EB, 0xFFFF }, + { 102, 0x00E6, 0xFFFF, 0xFFFF, 0x00E7 }, + { 102, 0xFFFF, 0xFFFF, 0x00ED, 0xFFFF }, + { 102, 0xFFFF, 0xFFFF, 0xFFFF, 0x00E6 }, + { 102, 0x00E7, 0x00EC, 0x00EF, 0xFFFF }, + { 102, 0xFFFF, 0x00ED, 0x00F0, 0x00EB }, + { 102, 0x00E9, 0x00EE, 0x00F1, 0x00EC }, + { 102, 0xFFFF, 0xFFFF, 0x00F2, 0x00ED }, + { 102, 0x00EB, 0x00F0, 0xFFFF, 0xFFFF }, + { 102, 0x00EC, 0x00F1, 0x00F3, 0x00EF }, + { 102, 0x00ED, 0xFFFF, 0x00F4, 0x00F0 }, + { 102, 0x00EE, 0xFFFF, 0xFFFF, 0xFFFF }, + { 102, 0x00F0, 0x00F4, 0xFFFF, 0xFFFF }, + { 102, 0x00F1, 0x00F5, 0xFFFF, 0x00F3 }, + { 102, 0xFFFF, 0xFFFF, 0x00CF, 0x00F4 } +}; + +static const RoomProvider k1RoomListPC98Provider = { ARRAYSIZE(k1RoomListPC98), k1RoomListPC98 }; + +static const char *const k1RoomFilenamesPC98[107] = { + "CLIFFB", + "XEDGEB", + "CAVEB", + "NCLIFF", + "NCLIFFB", + "CAVE", + "NWCLIFF", + "OAKS", + "PLATEAU", + "POTHUT", + "POTION", + "NWCLIFB", + "SONG", + "SORROW", + "SPELHUT", + "SPELL", + "SPRING", + "SQUARE", + "STUMP", + "TEMPLE", + "WELL", + "WILLOW", + "WISE", + "XEDGE", + "RUBY", + "ZROCK", + "ZROCKB", + "FORESTD", + "FOUNTN", + "GATECV", + "GEMCUT", + "CLIFF", + "DEAD", + "EDGE", + "EDGEB", + "FALLS", + "FORESTC", + "FORESTB", + "GLADE", + "GEMHUT", + "ALGAE", + "MIX", + "BRIDGE", + "GRAVE", + "HEALER", + "HEALHUT", + "ALTAR", + "BURN", + "SICKWIL", + "LAGOON", + "MAPLE", + "FORESTA", + "ARCH", + "CHASM", + "EMCAV", + "ENTER", + "FLOWERS", + "GEMSLOT", + "GEN_CAV", + "GENCAVB", + "GOLDEN", + "GOLDENB", + "ICE", + "MARKET", + "MOONCAV", + "MSHCAV", + "POOL", + "SEASONS", + "SHRINE", + "TREECAV", + "EXTGEM", + "GEM", + "EXTHEAL", + "BASE", + "TRUNK", + "BROKEN", + "LAVA", + "EXTSPEL", + "EXTPOT", + "CASTLE", + "CGATE", + "LEPHOLE", + "DRAGON", + "XEDGEC", + "FNORTH", + "FSOUTH", + "FGOWEST", + "PLTCAVE", + "BONKBG", + "BALCONY", + "DARMS", + "BRINS", + "ALCHEMY", + "GENHALL", + "LANDING", + "BELROOM", + "UPSTAIR", + "DNSTAIR", + "KITCHEN", + "KYRAGEM", + "LIBRARY", + "FOYER", + "CATACOM", + "GRTHALL", + "FESTSTH", + "FWSTSTH", + "FSOUTHB" +}; + +static const StringListProvider k1RoomFilenamesPC98Provider = { ARRAYSIZE(k1RoomFilenamesPC98), k1RoomFilenamesPC98 }; + +static const char *const k1CharacterImageFilenamesPC98[20] = { + "BRANDON.CPS", + "DAPHNE.CPS", + "MERITH.CPS", + "HERMAN.CPS", + "SMALL.CPS", + "MALCOM.CPS", + "DRINK.CPS", + "SHRINK.CPS", + "HEALBR1.CPS", + "HEALBR2.CPS", + "SNOW1A.CPS", + "SNOW2A.CPS", + "BRANWILL.CPS", + "FLUTE1.CPS", + "FLUTE2.CPS", + "POISON1.CPS", + "POISON2.CPS", + "TELEKIN.CPS", + "BRANSTON.CPS", + "POISON.CPS" +}; + +static const StringListProvider k1CharacterImageFilenamesPC98Provider = { ARRAYSIZE(k1CharacterImageFilenamesPC98), k1CharacterImageFilenamesPC98 }; + +static const Shape k1DefaultShapesPC98[166] = { + { 0, 0, 0, 3, 48, -12, -48 }, + { 0, 3, 0, 3, 48, -12, -48 }, + { 0, 6, 0, 3, 48, -12, -48 }, + { 0, 9, 0, 3, 48, -12, -48 }, + { 0, 12, 0, 3, 48, -12, -48 }, + { 0, 15, 0, 3, 48, -12, -48 }, + { 0, 18, 0, 3, 48, -12, -48 }, + { 0, 21, 0, 3, 48, -12, -48 }, + { 0, 24, 0, 3, 48, -12, -48 }, + { 0, 27, 0, 3, 48, -12, -48 }, + { 0, 0, 51, 2, 11, -2, -8 }, + { 0, 2, 51, 2, 11, -2, -8 }, + { 0, 4, 51, 2, 11, -2, -8 }, + { 0, 6, 51, 2, 11, -2, -8 }, + { 0, 8, 51, 2, 11, -2, -8 }, + { 0, 10, 51, 2, 11, -2, -8 }, + { 0, 12, 51, 2, 11, -2, -8 }, + { 0, 14, 51, 2, 11, -2, -8 }, + { 0, 16, 51, 2, 11, -2, -8 }, + { 0, 18, 51, 2, 11, -2, -8 }, + { 0, 20, 51, 2, 11, -2, -8 }, + { 0, 22, 51, 2, 11, -2, -8 }, + { 0, 0, 80, 3, 48, -12, -48 }, + { 0, 3, 80, 3, 48, -12, -48 }, + { 0, 6, 80, 3, 48, -12, -48 }, + { 0, 9, 80, 3, 48, -12, -48 }, + { 0, 12, 80, 3, 48, -12, -48 }, + { 0, 15, 80, 3, 48, -12, -48 }, + { 0, 0, 129, 3, 48, -12, -48 }, + { 0, 3, 129, 3, 48, -12, -48 }, + { 0, 6, 129, 3, 48, -12, -48 }, + { 0, 9, 129, 3, 48, -12, -48 }, + { 0, 12, 129, 3, 48, -12, -48 }, + { 0, 15, 129, 3, 48, -12, -48 }, + { 2, 0, 0, 3, 48, -12, -48 }, + { 2, 3, 0, 3, 48, -12, -48 }, + { 2, 6, 0, 3, 48, -12, -48 }, + { 2, 9, 0, 3, 48, -12, -48 }, + { 2, 12, 0, 3, 48, -12, -48 }, + { 2, 15, 0, 3, 48, -12, -48 }, + { 2, 18, 0, 3, 48, -12, -48 }, + { 2, 21, 0, 3, 48, -12, -48 }, + { 2, 24, 0, 3, 48, -12, -48 }, + { 2, 27, 0, 3, 48, -12, -48 }, + { 2, 30, 10, 3, 38, -16, -38 }, + { 2, 27, 48, 4, 40, -8, -40 }, + { 2, 0, 51, 2, 11, -4, 0 }, + { 2, 2, 51, 2, 11, -4, 0 }, + { 2, 4, 51, 2, 11, -4, 0 }, + { 2, 6, 51, 2, 11, -4, 0 }, + { 2, 8, 51, 2, 11, -4, 0 }, + { 2, 10, 51, 2, 11, -4, 0 }, + { 2, 12, 51, 2, 11, -4, 0 }, + { 2, 14, 51, 2, 11, -4, 0 }, + { 2, 16, 51, 2, 11, -4, 0 }, + { 2, 18, 51, 2, 11, -4, 0 }, + { 2, 20, 51, 2, 11, -4, 0 }, + { 2, 22, 51, 2, 11, -4, 0 }, + { 255, 0, 80, 3, 48, -12, -48 }, + { 255, 3, 80, 3, 48, -12, -48 }, + { 255, 6, 80, 3, 48, -12, -48 }, + { 255, 9, 80, 3, 48, -12, -48 }, + { 255, 12, 80, 3, 48, -12, -48 }, + { 255, 15, 80, 3, 48, -12, -48 }, + { 255, 0, 129, 3, 48, -12, -48 }, + { 255, 3, 129, 3, 48, -12, -48 }, + { 255, 6, 129, 3, 48, -12, -48 }, + { 255, 9, 129, 3, 48, -12, -48 }, + { 255, 12, 129, 3, 48, -12, -48 }, + { 255, 15, 129, 3, 48, -12, -48 }, + { 3, 0, 0, 3, 48, -12, -46 }, + { 3, 3, 0, 3, 48, -12, -48 }, + { 3, 6, 0, 3, 48, -12, -48 }, + { 3, 9, 0, 3, 48, -12, -48 }, + { 3, 12, 0, 3, 48, -12, -48 }, + { 3, 15, 0, 3, 48, -12, -48 }, + { 3, 18, 0, 3, 48, -12, -48 }, + { 3, 21, 0, 3, 48, -12, -48 }, + { 3, 24, 0, 3, 48, -12, -48 }, + { 3, 27, 0, 3, 48, -12, -46 }, + { 3, 30, 0, 3, 48, -14, -47 }, + { 3, 39, 199, 1, 1, -12, -48 }, + { 3, 0, 51, 2, 11, 0, -7 }, + { 3, 2, 51, 2, 11, 0, -7 }, + { 3, 4, 51, 2, 11, 0, -7 }, + { 3, 6, 51, 2, 11, 0, -7 }, + { 3, 8, 51, 2, 11, 0, -7 }, + { 3, 10, 51, 2, 11, 0, -7 }, + { 3, 12, 51, 2, 11, 0, -7 }, + { 3, 14, 51, 2, 11, 0, -7 }, + { 3, 16, 51, 2, 11, 0, -7 }, + { 3, 18, 51, 2, 11, 0, -7 }, + { 3, 20, 51, 2, 11, 0, -7 }, + { 3, 22, 51, 2, 11, 0, -7 }, + { 3, 0, 80, 3, 48, -12, -48 }, + { 3, 3, 80, 3, 48, -12, -48 }, + { 3, 6, 80, 3, 48, -12, -48 }, + { 3, 9, 80, 3, 48, -12, -48 }, + { 3, 12, 80, 3, 48, -12, -48 }, + { 3, 15, 80, 3, 48, -12, -48 }, + { 3, 0, 129, 3, 48, -12, -48 }, + { 3, 3, 129, 3, 48, -12, -48 }, + { 3, 6, 129, 3, 48, -12, -48 }, + { 3, 9, 129, 3, 48, -12, -48 }, + { 3, 12, 129, 3, 48, -12, -48 }, + { 3, 15, 129, 3, 48, -12, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 }, + { 255, 0, 0, 0, 0, 0, 0 } +}; + +static const ShapeProvider k1DefaultShapesPC98Provider = { ARRAYSIZE(k1DefaultShapesPC98), k1DefaultShapesPC98 }; + +static const byte k1AmuleteAnimSeqPC98[42] = { + 0x00, 0x01, 0x02, 0x01, 0x03, 0x04, 0x03, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x04, 0x05, + 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x09, 0x07, + 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x16, 0xFF +}; + +static const ByteProvider k1AmuleteAnimSeqPC98Provider = { ARRAYSIZE(k1AmuleteAnimSeqPC98), k1AmuleteAnimSeqPC98 }; + +static const byte k1SpecialPalette1PC98[21] = { + 0x36, 0x25, 0x1C, 0x31, 0x21, 0x19, 0x2C, 0x1D, + 0x16, 0x27, 0x19, 0x13, 0x22, 0x16, 0x11, 0x1D, + 0x12, 0x0D, 0x18, 0x0F, 0x0B +}; + +static const ByteProvider k1SpecialPalette1PC98Provider = { ARRAYSIZE(k1SpecialPalette1PC98), k1SpecialPalette1PC98 }; + +static const byte k1SpecialPalette2PC98[51] = { + 0x03, 0x03, 0x00, 0x37, 0x29, 0x1D, 0x33, 0x25, + 0x1A, 0x2D, 0x21, 0x17, 0x2A, 0x1D, 0x13, 0x26, + 0x19, 0x11, 0x22, 0x16, 0x0E, 0x1E, 0x12, 0x0C, + 0x1A, 0x0F, 0x0A, 0x16, 0x0C, 0x08, 0x12, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x2D, 0x1E, 0x13, 0x27, + 0x19, 0x0F, 0x22, 0x14, 0x0C, 0x1C, 0x11, 0x0A, + 0x17, 0x0C, 0x08 +}; + +static const ByteProvider k1SpecialPalette2PC98Provider = { ARRAYSIZE(k1SpecialPalette2PC98), k1SpecialPalette2PC98 }; + +static const byte k1SpecialPalette3PC98[51] = { + 0x03, 0x03, 0x00, 0x25, 0x30, 0x1B, 0x24, 0x2C, + 0x18, 0x23, 0x29, 0x15, 0x22, 0x25, 0x12, 0x21, + 0x22, 0x11, 0x1F, 0x1D, 0x0D, 0x1B, 0x18, 0x0B, + 0x18, 0x13, 0x0A, 0x14, 0x0E, 0x08, 0x11, 0x0A, + 0x05, 0x0E, 0x08, 0x05, 0x21, 0x22, 0x11, 0x1D, + 0x1C, 0x0C, 0x19, 0x15, 0x0A, 0x15, 0x0F, 0x08, + 0x11, 0x0A, 0x05 +}; + +static const ByteProvider k1SpecialPalette3PC98Provider = { ARRAYSIZE(k1SpecialPalette3PC98), k1SpecialPalette3PC98 }; + +static const byte k1SpecialPalette4PC98[51] = { + 0x06, 0x03, 0x01, 0x33, 0x25, 0x0A, 0x2F, 0x21, + 0x0A, 0x2B, 0x1D, 0x08, 0x28, 0x1A, 0x08, 0x24, + 0x17, 0x06, 0x21, 0x22, 0x06, 0x1D, 0x11, 0x05, + 0x19, 0x0E, 0x05, 0x16, 0x0B, 0x03, 0x12, 0x0A, + 0x03, 0x0F, 0x08, 0x03, 0x28, 0x1A, 0x08, 0x22, + 0x15, 0x05, 0x1D, 0x11, 0x05, 0x17, 0x0C, 0x03, + 0x12, 0x0A, 0x03 +}; + +static const ByteProvider k1SpecialPalette4PC98Provider = { ARRAYSIZE(k1SpecialPalette4PC98), k1SpecialPalette4PC98 }; + +static const byte k1SpecialPalette5PC98[51] = { + 0x03, 0x03, 0x00, 0x2A, 0x1D, 0x13, 0x27, 0x1A, + 0x11, 0x24, 0x18, 0x0F, 0x21, 0x15, 0x0D, 0x1E, + 0x13, 0x0C, 0x1C, 0x11, 0x0A, 0x19, 0x0F, 0x0A, + 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, 0x11, 0x08, + 0x05, 0x0E, 0x08, 0x05, 0x1C, 0x11, 0x0A, 0x19, + 0x0E, 0x08, 0x16, 0x0C, 0x08, 0x13, 0x0A, 0x06, + 0x11, 0x08, 0x05 +}; + +static const ByteProvider k1SpecialPalette5PC98Provider = { ARRAYSIZE(k1SpecialPalette5PC98), k1SpecialPalette5PC98 }; + +static const byte k1SpecialPalette6PC98[51] = { + 0x00, 0x08, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x1B, + 0x00, 0x00, 0x19, 0x00, 0x00, 0x17, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x0A, + 0x00, 0x00, 0x08, 0x00, 0x13, 0x21, 0x0F, 0x11, + 0x1F, 0x0D, 0x0E, 0x1D, 0x0C, 0x0C, 0x1B, 0x0B, + 0x0A, 0x19, 0x0A +}; + +static const ByteProvider k1SpecialPalette6PC98Provider = { ARRAYSIZE(k1SpecialPalette6PC98), k1SpecialPalette6PC98 }; + +static const byte k1SpecialPalette7PC98[54] = { + 0x05, 0x2B, 0x00, 0x00, 0x22, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x16, 0x01, 0x00, 0x12, 0x03, 0x00, + 0x0F, 0x01, 0x00, 0x0B, 0x03, 0x0A, 0x19, 0x0A, + 0x2D, 0x2D, 0x32, 0x29, 0x29, 0x2D, 0x25, 0x25, + 0x2B, 0x1F, 0x1F, 0x26, 0x1B, 0x1B, 0x22, 0x14, + 0x16, 0x1D, 0x11, 0x11, 0x18, 0x0D, 0x0D, 0x14, + 0x0A, 0x0A, 0x0F, 0x06, 0x06, 0x0B +}; + +static const ByteProvider k1SpecialPalette7PC98Provider = { ARRAYSIZE(k1SpecialPalette7PC98), k1SpecialPalette7PC98 }; + +static const byte k1SpecialPalette8PC98[54] = { + 0x12, 0x37, 0x3F, 0x14, 0x31, 0x3F, 0x14, 0x29, + 0x3F, 0x14, 0x22, 0x3F, 0x14, 0x1B, 0x3F, 0x14, + 0x14, 0x3F, 0x0E, 0x0F, 0x37, 0x14, 0x29, 0x3F, + 0x2F, 0x3F, 0x3D, 0x26, 0x3F, 0x3F, 0x15, 0x3F, + 0x3F, 0x14, 0x3B, 0x3F, 0x12, 0x37, 0x3F, 0x14, + 0x31, 0x3F, 0x14, 0x29, 0x3F, 0x14, 0x22, 0x3F, + 0x14, 0x1B, 0x3F, 0x14, 0x14, 0x3F +}; + +static const ByteProvider k1SpecialPalette8PC98Provider = { ARRAYSIZE(k1SpecialPalette8PC98), k1SpecialPalette8PC98 }; + +static const byte k1SpecialPalette9PC98[45] = { + 0x36, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2F, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, + 0x00, 0x00, 0x23, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x19, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x0D, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette9PC98Provider = { ARRAYSIZE(k1SpecialPalette9PC98), k1SpecialPalette9PC98 }; + +static const byte k1SpecialPalette10PC98[45] = { + 0x29, 0x00, 0x00, 0x26, 0x00, 0x00, 0x24, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x1E, + 0x00, 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x15, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x11, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette10PC98Provider = { ARRAYSIZE(k1SpecialPalette10PC98), k1SpecialPalette10PC98 }; + +static const byte k1SpecialPalette11PC98[45] = { + 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1C, 0x00, + 0x00, 0x1B, 0x00, 0x00, 0x19, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x16, 0x00, 0x00, 0x15, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette11PC98Provider = { ARRAYSIZE(k1SpecialPalette11PC98), k1SpecialPalette11PC98 }; + +static const byte k1SpecialPalette12PC98[45] = { + 0x19, 0x00, 0x00, 0x18, 0x00, 0x00, 0x16, 0x00, + 0x00, 0x15, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0E, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0B, + 0x00, 0x00, 0x0A, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette12PC98Provider = { ARRAYSIZE(k1SpecialPalette12PC98), k1SpecialPalette12PC98 }; + +static const byte k1SpecialPalette13PC98[45] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette13PC98Provider = { ARRAYSIZE(k1SpecialPalette13PC98), k1SpecialPalette13PC98 }; + +static const byte k1SpecialPalette14PC98[60] = { + 0x0E, 0x28, 0x3F, 0x0C, 0x24, 0x3B, 0x0A, 0x20, + 0x38, 0x0A, 0x1C, 0x34, 0x08, 0x19, 0x31, 0x08, + 0x15, 0x2D, 0x05, 0x13, 0x2A, 0x05, 0x11, 0x27, + 0x03, 0x0D, 0x24, 0x03, 0x0A, 0x20, 0x03, 0x08, + 0x1D, 0x01, 0x06, 0x19, 0x01, 0x05, 0x16, 0x00, + 0x03, 0x13, 0x00, 0x01, 0x0F, 0x00, 0x01, 0x0C, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette14PC98Provider = { ARRAYSIZE(k1SpecialPalette14PC98), k1SpecialPalette14PC98 }; + +static const byte k1SpecialPalette15PC98[45] = { + 0x24, 0x00, 0x39, 0x21, 0x00, 0x36, 0x1F, 0x00, + 0x32, 0x1C, 0x00, 0x2D, 0x1A, 0x00, 0x2A, 0x17, + 0x00, 0x26, 0x15, 0x00, 0x22, 0x12, 0x00, 0x1E, + 0x11, 0x00, 0x1A, 0x0E, 0x00, 0x16, 0x0B, 0x00, + 0x12, 0x0A, 0x00, 0x0F, 0x06, 0x00, 0x0B, 0x05, + 0x00, 0x08, 0x01, 0x00, 0x03 +}; + +static const ByteProvider k1SpecialPalette15PC98Provider = { ARRAYSIZE(k1SpecialPalette15PC98), k1SpecialPalette15PC98 }; + +static const byte k1SpecialPalette16PC98[33] = { + 0x00, 0x3F, 0x3F, 0x00, 0x38, 0x38, 0x00, 0x34, + 0x34, 0x00, 0x30, 0x30, 0x00, 0x2D, 0x2D, 0x00, + 0x29, 0x29, 0x00, 0x25, 0x25, 0x00, 0x1F, 0x1F, + 0x00, 0x1B, 0x1B, 0x00, 0x16, 0x16, 0x00, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette16PC98Provider = { ARRAYSIZE(k1SpecialPalette16PC98), k1SpecialPalette16PC98 }; + +static const byte k1SpecialPalette17PC98[33] = { + 0x3B, 0x3B, 0x3B, 0x36, 0x36, 0x36, 0x32, 0x32, + 0x32, 0x2D, 0x2D, 0x2D, 0x2A, 0x2A, 0x2A, 0x26, + 0x26, 0x26, 0x21, 0x21, 0x21, 0x1D, 0x1D, 0x1D, + 0x19, 0x19, 0x19, 0x15, 0x15, 0x15, 0x11, 0x11, + 0x11 +}; + +static const ByteProvider k1SpecialPalette17PC98Provider = { ARRAYSIZE(k1SpecialPalette17PC98), k1SpecialPalette17PC98 }; + +static const byte k1SpecialPalette18PC98[21] = { + 0x0F, 0x23, 0x1C, 0x2A, 0x36, 0x3F, 0x24, 0x2F, + 0x38, 0x1F, 0x2A, 0x32, 0x1A, 0x24, 0x2B, 0x15, + 0x1E, 0x25, 0x11, 0x19, 0x1F +}; + +static const ByteProvider k1SpecialPalette18PC98Provider = { ARRAYSIZE(k1SpecialPalette18PC98), k1SpecialPalette18PC98 }; + +static const byte k1SpecialPalette19PC98[21] = { + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, + 0x00, 0x25, 0x00, 0x00, 0x1F +}; + +static const ByteProvider k1SpecialPalette19PC98Provider = { ARRAYSIZE(k1SpecialPalette19PC98), k1SpecialPalette19PC98 }; + +static const byte k1SpecialPalette20PC98[21] = { + 0x26, 0x1B, 0x1B, 0x3F, 0x34, 0x34, 0x3B, 0x2F, + 0x2F, 0x39, 0x2B, 0x2B, 0x36, 0x26, 0x27, 0x33, + 0x22, 0x23, 0x31, 0x1F, 0x20 +}; + +static const ByteProvider k1SpecialPalette20PC98Provider = { ARRAYSIZE(k1SpecialPalette20PC98), k1SpecialPalette20PC98 }; + +static const byte k1SpecialPalette21PC98[21] = { + 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x1F, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette21PC98Provider = { ARRAYSIZE(k1SpecialPalette21PC98), k1SpecialPalette21PC98 }; + +static const byte k1SpecialPalette22PC98[21] = { + 0x1F, 0x1F, 0x0C, 0x3F, 0x3F, 0x21, 0x3B, 0x3B, + 0x1F, 0x37, 0x37, 0x1D, 0x34, 0x34, 0x1B, 0x30, + 0x30, 0x19, 0x2D, 0x2D, 0x17 +}; + +static const ByteProvider k1SpecialPalette22PC98Provider = { ARRAYSIZE(k1SpecialPalette22PC98), k1SpecialPalette22PC98 }; + +static const byte k1SpecialPalette23PC98[21] = { + 0x1F, 0x1F, 0x00, 0x3F, 0x3F, 0x00, 0x3B, 0x3B, + 0x00, 0x37, 0x37, 0x00, 0x34, 0x34, 0x00, 0x30, + 0x30, 0x00, 0x2D, 0x2D, 0x00 +}; + +static const ByteProvider k1SpecialPalette23PC98Provider = { ARRAYSIZE(k1SpecialPalette23PC98), k1SpecialPalette23PC98 }; + +static const byte k1SpecialPalette24PC98[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, + 0x0D, 0x1B, 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, + 0x0A, 0x08, 0x17, 0x08, 0x08, 0x16, 0x08, 0x08, + 0x15, 0x06, 0x06, 0x14, 0x06, 0x06, 0x11, 0x06 +}; + +static const ByteProvider k1SpecialPalette24PC98Provider = { ARRAYSIZE(k1SpecialPalette24PC98), k1SpecialPalette24PC98 }; + +static const byte k1SpecialPalette25PC98[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x36, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x1E, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, 0x1B, + 0x0C, 0x0A, 0x19, 0x0A, 0x0A, 0x18, 0x0A, 0x0A, + 0x18, 0x0A, 0x0A, 0x18, 0x0A, 0x06, 0x14, 0x06 +}; + +static const ByteProvider k1SpecialPalette25PC98Provider = { ARRAYSIZE(k1SpecialPalette25PC98), k1SpecialPalette25PC98 }; + +static const byte k1SpecialPalette26PC98[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x11, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0A, + 0x19, 0x0A, 0x0A, 0x19, 0x0A, 0x06, 0x13, 0x06 +}; + +static const ByteProvider k1SpecialPalette26PC98Provider = { ARRAYSIZE(k1SpecialPalette26PC98), k1SpecialPalette26PC98 }; + +static const byte k1SpecialPalette27PC98[48] = { + 0x31, 0x38, 0x23, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x18, + 0x26, 0x13, 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, 0x1D, + 0x0D, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x19, 0x0C, 0x0D, 0x19, 0x0C, 0x08, 0x16, 0x08 +}; + +static const ByteProvider k1SpecialPalette27PC98Provider = { ARRAYSIZE(k1SpecialPalette27PC98), k1SpecialPalette27PC98 }; + +static const byte k1SpecialPalette28PC98[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x0E, 0x1D, 0x0D, 0x0D, 0x1B, 0x0C, 0x0D, + 0x1B, 0x0C, 0x0D, 0x1B, 0x0C, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette28PC98Provider = { ARRAYSIZE(k1SpecialPalette28PC98), k1SpecialPalette28PC98 }; + +static const byte k1SpecialPalette29PC98[48] = { + 0x36, 0x38, 0x2C, 0x31, 0x38, 0x23, 0x2A, 0x33, + 0x1E, 0x24, 0x2F, 0x1A, 0x19, 0x2A, 0x16, 0x1E, + 0x2A, 0x16, 0x18, 0x26, 0x13, 0x13, 0x21, 0x0F, + 0x13, 0x21, 0x0F, 0x13, 0x21, 0x0F, 0x13, 0x21, + 0x0F, 0x13, 0x21, 0x0F, 0x0E, 0x1D, 0x0D, 0x0E, + 0x1D, 0x0D, 0x0E, 0x1D, 0x0D, 0x08, 0x17, 0x08 +}; + +static const ByteProvider k1SpecialPalette29PC98Provider = { ARRAYSIZE(k1SpecialPalette29PC98), k1SpecialPalette29PC98 }; + +static const byte k1SpecialPalette30PC98[60] = { + 0x1E, 0x1D, 0x3F, 0x1A, 0x19, 0x3F, 0x14, 0x12, + 0x3B, 0x12, 0x11, 0x37, 0x11, 0x11, 0x33, 0x0F, + 0x0E, 0x2F, 0x0E, 0x0D, 0x2C, 0x0D, 0x0C, 0x28, + 0x0B, 0x0B, 0x24, 0x0A, 0x0A, 0x20, 0x0A, 0x0A, + 0x1D, 0x05, 0x05, 0x18, 0x03, 0x03, 0x13, 0x01, + 0x01, 0x11, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x05, + 0x00, 0x0A, 0x1A, 0x00, 0x0F, 0x13, 0x00, 0x14, + 0x11, 0x0F, 0x0D, 0x00 +}; + +static const ByteProvider k1SpecialPalette30PC98Provider = { ARRAYSIZE(k1SpecialPalette30PC98), k1SpecialPalette30PC98 }; + +static const byte k1SpecialPalette31PC98[39] = { + 0x2B, 0x19, 0x34, 0x27, 0x17, 0x30, 0x23, 0x14, + 0x2C, 0x20, 0x12, 0x27, 0x1C, 0x11, 0x23, 0x18, + 0x0E, 0x1E, 0x15, 0x0C, 0x1A, 0x11, 0x0A, 0x15, + 0x0E, 0x08, 0x11, 0x0A, 0x05, 0x0C, 0x06, 0x03, + 0x08, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette31PC98Provider = { ARRAYSIZE(k1SpecialPalette31PC98), k1SpecialPalette31PC98 }; + +static const byte k1SpecialPalette32PC98[39] = { + 0x12, 0x12, 0x16, 0x11, 0x11, 0x14, 0x0F, 0x0F, + 0x12, 0x0D, 0x0D, 0x11, 0x0B, 0x0B, 0x0E, 0x0A, + 0x0A, 0x0C, 0x08, 0x08, 0x0A, 0x08, 0x08, 0x08, + 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x03, 0x03, + 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k1SpecialPalette32PC98Provider = { ARRAYSIZE(k1SpecialPalette32PC98), k1SpecialPalette32PC98 }; + +static const byte k1SpecialPalette33PC98[60] = { + 0x3F, 0x3D, 0x2F, 0x3F, 0x3D, 0x29, 0x3F, 0x3D, + 0x23, 0x3F, 0x3D, 0x1D, 0x3F, 0x3B, 0x17, 0x3F, + 0x3B, 0x11, 0x3F, 0x3B, 0x0B, 0x3F, 0x3B, 0x05, + 0x3F, 0x3B, 0x00, 0x3D, 0x38, 0x00, 0x3B, 0x34, + 0x00, 0x39, 0x33, 0x00, 0x39, 0x30, 0x00, 0x37, + 0x2D, 0x00, 0x36, 0x2B, 0x00, 0x34, 0x28, 0x00, + 0x33, 0x26, 0x00, 0x32, 0x24, 0x00, 0x30, 0x22, + 0x00, 0x2F, 0x20, 0x00 +}; + +static const ByteProvider k1SpecialPalette33PC98Provider = { ARRAYSIZE(k1SpecialPalette33PC98), k1SpecialPalette33PC98 }; + +static const Shape k1Healing1ShapesPC98[22] = { + { 8, 0, 0, 3, 48, -12, -48 }, + { 8, 3, 0, 3, 48, -12, -48 }, + { 8, 6, 0, 3, 48, -12, -48 }, + { 8, 9, 0, 3, 48, -12, -48 }, + { 8, 12, 0, 3, 48, -12, -48 }, + { 8, 15, 0, 3, 48, -12, -48 }, + { 8, 18, 0, 3, 48, -12, -48 }, + { 8, 21, 0, 3, 48, -12, -48 }, + { 8, 24, 0, 3, 48, -12, -48 }, + { 8, 27, 0, 3, 48, -12, -48 }, + { 8, 30, 0, 3, 48, -12, -48 }, + { 8, 33, 0, 3, 48, -12, -48 }, + { 8, 0, 48, 3, 48, -12, -48 }, + { 8, 3, 48, 3, 48, -12, -48 }, + { 8, 6, 48, 3, 48, -12, -48 }, + { 8, 9, 48, 3, 48, -12, -48 }, + { 8, 12, 48, 3, 48, -12, -48 }, + { 8, 15, 48, 3, 48, -12, -48 }, + { 8, 18, 48, 3, 48, -12, -48 }, + { 8, 21, 48, 3, 48, -12, -48 }, + { 8, 24, 48, 3, 48, -12, -48 }, + { 8, 27, 48, 3, 48, -12, -48 } +}; + +static const ShapeProvider k1Healing1ShapesPC98Provider = { ARRAYSIZE(k1Healing1ShapesPC98), k1Healing1ShapesPC98 }; + +static const Shape k1Healing2ShapesPC98[30] = { + { 9, 0, 0, 3, 48, -11, -48 }, + { 9, 3, 0, 3, 48, -11, -48 }, + { 9, 6, 0, 3, 48, -11, -48 }, + { 9, 9, 0, 3, 48, -11, -48 }, + { 9, 12, 0, 3, 48, -11, -48 }, + { 9, 15, 0, 3, 48, -11, -48 }, + { 9, 18, 0, 3, 48, -11, -48 }, + { 9, 21, 0, 3, 48, -11, -48 }, + { 9, 24, 0, 3, 48, -11, -48 }, + { 9, 27, 0, 3, 48, -11, -48 }, + { 9, 30, 0, 3, 48, -11, -48 }, + { 9, 33, 0, 3, 48, -11, -48 }, + { 9, 0, 48, 3, 48, -11, -48 }, + { 9, 3, 48, 3, 48, -11, -48 }, + { 9, 6, 48, 3, 48, -11, -48 }, + { 9, 9, 48, 3, 48, -11, -48 }, + { 9, 12, 48, 3, 48, -11, -48 }, + { 9, 15, 48, 3, 48, -11, -48 }, + { 9, 18, 48, 3, 48, -11, -48 }, + { 9, 21, 48, 3, 48, -11, -48 }, + { 9, 24, 48, 3, 48, -11, -48 }, + { 9, 27, 48, 3, 48, -11, -48 }, + { 9, 30, 48, 3, 48, -11, -48 }, + { 9, 33, 48, 3, 48, -11, -48 }, + { 9, 0, 96, 3, 48, -11, -48 }, + { 9, 3, 96, 3, 48, -11, -48 }, + { 9, 6, 96, 3, 48, -11, -48 }, + { 9, 9, 96, 3, 48, -11, -48 }, + { 9, 12, 96, 3, 48, -11, -48 }, + { 9, 15, 96, 3, 48, -11, -48 } +}; + +static const ShapeProvider k1Healing2ShapesPC98Provider = { ARRAYSIZE(k1Healing2ShapesPC98), k1Healing2ShapesPC98 }; + +static const Shape k1PoisonDeathShapesPC98[20] = { + { 19, 0, 0, 8, 48, -31, -48 }, + { 19, 8, 0, 8, 48, -31, -48 }, + { 19, 16, 0, 8, 48, -31, -48 }, + { 19, 24, 0, 8, 48, -31, -48 }, + { 19, 32, 0, 8, 48, -31, -48 }, + { 19, 0, 48, 8, 48, -31, -48 }, + { 19, 8, 48, 8, 48, -31, -48 }, + { 19, 16, 48, 8, 48, -31, -48 }, + { 19, 24, 48, 8, 48, -31, -48 }, + { 19, 32, 48, 8, 48, -31, -48 }, + { 19, 0, 96, 8, 48, -31, -48 }, + { 19, 8, 96, 8, 48, -31, -48 }, + { 19, 16, 96, 8, 48, -31, -48 }, + { 19, 24, 96, 8, 48, -31, -48 }, + { 19, 32, 96, 8, 48, -31, -48 }, + { 19, 0, 144, 8, 48, -31, -48 }, + { 19, 8, 144, 8, 48, -31, -48 }, + { 19, 16, 144, 8, 48, -31, -48 }, + { 19, 24, 144, 8, 48, -31, -48 }, + { 19, 32, 144, 8, 48, -31, -48 } +}; + +static const ShapeProvider k1PoisonDeathShapesPC98Provider = { ARRAYSIZE(k1PoisonDeathShapesPC98), k1PoisonDeathShapesPC98 }; + +static const Shape k1FluteShapesPC98[36] = { + { 13, 0, 0, 3, 75, -12, -75 }, + { 13, 3, 0, 3, 75, -12, -75 }, + { 13, 6, 0, 3, 75, -12, -75 }, + { 13, 9, 0, 3, 75, -12, -75 }, + { 13, 12, 0, 3, 75, -12, -75 }, + { 13, 15, 0, 3, 75, -12, -75 }, + { 13, 18, 0, 3, 75, -12, -75 }, + { 13, 21, 0, 3, 75, -12, -75 }, + { 13, 24, 0, 3, 75, -12, -75 }, + { 13, 27, 0, 3, 75, -12, -75 }, + { 13, 30, 0, 3, 75, -12, -75 }, + { 13, 33, 0, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 13, 0, 75, 3, 75, -12, -75 }, + { 13, 3, 75, 3, 75, -12, -75 }, + { 13, 6, 75, 3, 75, -12, -75 }, + { 13, 9, 75, 3, 75, -12, -75 }, + { 13, 12, 75, 3, 75, -12, -75 }, + { 13, 15, 75, 3, 75, -12, -75 }, + { 13, 18, 75, 3, 75, -12, -75 }, + { 13, 21, 75, 3, 75, -12, -75 }, + { 13, 24, 75, 3, 75, -12, -75 }, + { 13, 27, 75, 3, 75, -12, -75 }, + { 13, 30, 75, 3, 75, -12, -75 }, + { 13, 33, 75, 3, 75, -12, -75 }, + { 13, 36, 75, 3, 75, -12, -75 }, + { 14, 0, 0, 3, 75, -12, -75 }, + { 14, 3, 0, 3, 75, -12, -75 }, + { 14, 6, 0, 3, 75, -12, -75 }, + { 14, 9, 0, 3, 75, -12, -75 }, + { 14, 12, 0, 3, 75, -12, -75 }, + { 14, 15, 0, 3, 75, -12, -75 }, + { 14, 18, 0, 3, 75, -12, -75 }, + { 14, 21, 0, 3, 75, -12, -75 }, + { 14, 24, 0, 3, 75, -12, -75 }, + { 14, 27, 0, 3, 75, -12, -75 } +}; + +static const ShapeProvider k1FluteShapesPC98Provider = { ARRAYSIZE(k1FluteShapesPC98), k1FluteShapesPC98 }; + +static const Shape k1Winter1ShapesPC98[7] = { + { 10, 5, 0, 5, 66, -20, -65 }, + { 10, 10, 0, 5, 66, -20, -65 }, + { 10, 15, 0, 5, 66, -20, -65 }, + { 10, 20, 0, 5, 66, -20, -65 }, + { 10, 25, 0, 5, 66, -20, -65 }, + { 10, 30, 0, 5, 66, -20, -65 }, + { 10, 35, 0, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter1ShapesPC98Provider = { ARRAYSIZE(k1Winter1ShapesPC98), k1Winter1ShapesPC98 }; + +static const Shape k1Winter2ShapesPC98[35] = { + { 10, 0, 66, 5, 66, -20, -65 }, + { 10, 5, 66, 5, 66, -20, -65 }, + { 10, 10, 66, 5, 66, -20, -65 }, + { 10, 15, 66, 5, 66, -20, -65 }, + { 10, 20, 66, 5, 66, -20, -65 }, + { 10, 25, 66, 5, 66, -20, -65 }, + { 10, 30, 66, 5, 66, -20, -65 }, + { 10, 35, 66, 5, 66, -20, -65 }, + { 10, 0, 132, 5, 66, -20, -65 }, + { 10, 5, 132, 5, 66, -20, -65 }, + { 10, 10, 132, 5, 66, -20, -65 }, + { 10, 15, 132, 5, 66, -20, -65 }, + { 10, 20, 132, 5, 66, -20, -65 }, + { 10, 25, 132, 5, 66, -20, -65 }, + { 10, 30, 132, 5, 66, -20, -65 }, + { 10, 35, 132, 5, 66, -20, -65 }, + { 11, 0, 0, 5, 66, -20, -65 }, + { 11, 5, 0, 5, 66, -20, -65 }, + { 11, 10, 0, 5, 66, -20, -65 }, + { 11, 15, 0, 5, 66, -20, -65 }, + { 11, 20, 0, 5, 66, -20, -65 }, + { 11, 25, 0, 5, 66, -20, -65 }, + { 11, 30, 0, 5, 66, -20, -65 }, + { 11, 35, 0, 5, 66, -20, -65 }, + { 11, 0, 66, 5, 66, -20, -65 }, + { 11, 5, 66, 5, 66, -20, -65 }, + { 11, 10, 66, 5, 66, -20, -65 }, + { 11, 15, 66, 5, 66, -20, -65 }, + { 11, 20, 66, 5, 66, -20, -65 }, + { 11, 25, 66, 5, 66, -20, -65 }, + { 11, 30, 66, 5, 66, -20, -65 }, + { 11, 35, 66, 5, 66, -20, -65 }, + { 11, 0, 132, 5, 66, -20, -65 }, + { 11, 5, 132, 5, 66, -20, -65 }, + { 11, 10, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter2ShapesPC98Provider = { ARRAYSIZE(k1Winter2ShapesPC98), k1Winter2ShapesPC98 }; + +static const Shape k1Winter3ShapesPC98[4] = { + { 11, 15, 132, 5, 66, -20, -65 }, + { 11, 20, 132, 5, 66, -20, -65 }, + { 11, 25, 132, 5, 66, -20, -65 }, + { 11, 30, 132, 5, 66, -20, -65 } +}; + +static const ShapeProvider k1Winter3ShapesPC98Provider = { ARRAYSIZE(k1Winter3ShapesPC98), k1Winter3ShapesPC98 }; + +static const Shape k1DrinkShapesPC98[15] = { + { 6, 0, 0, 4, 48, -20, -48 }, + { 6, 4, 0, 4, 48, -20, -48 }, + { 6, 8, 0, 4, 48, -20, -48 }, + { 6, 12, 0, 4, 48, -20, -48 }, + { 6, 16, 0, 4, 48, -20, -48 }, + { 6, 20, 0, 5, 48, -20, -48 }, + { 6, 0, 48, 5, 54, -20, -54 }, + { 6, 5, 48, 5, 54, -20, -54 }, + { 6, 10, 48, 5, 54, -20, -54 }, + { 7, 0, 0, 3, 43, -12, -43 }, + { 7, 3, 3, 2, 40, -8, -40 }, + { 7, 5, 7, 2, 36, -8, -36 }, + { 7, 7, 10, 2, 33, -8, -33 }, + { 7, 9, 12, 2, 31, -8, -31 }, + { 7, 11, 15, 2, 28, -8, -28 } +}; + +static const ShapeProvider k1DrinkShapesPC98Provider = { ARRAYSIZE(k1DrinkShapesPC98), k1DrinkShapesPC98 }; + +static const Shape k1WispShapesPC98[26] = { + { 12, 0, 0, 5, 48, -20, -48 }, + { 12, 5, 0, 5, 48, -20, -48 }, + { 12, 10, 0, 5, 48, -20, -48 }, + { 12, 15, 0, 5, 48, -20, -48 }, + { 12, 20, 0, 5, 48, -20, -48 }, + { 12, 25, 0, 5, 48, -20, -48 }, + { 12, 30, 0, 5, 48, -20, -48 }, + { 12, 35, 0, 5, 48, -20, -48 }, + { 12, 0, 48, 5, 48, -20, -48 }, + { 12, 5, 48, 5, 48, -20, -48 }, + { 12, 10, 48, 5, 48, -20, -48 }, + { 12, 15, 48, 5, 48, -20, -48 }, + { 12, 20, 48, 5, 48, -20, -48 }, + { 12, 25, 48, 5, 48, -20, -48 }, + { 12, 30, 48, 5, 48, -20, -48 }, + { 12, 35, 48, 5, 48, -20, -48 }, + { 12, 0, 96, 5, 29, -20, -42 }, + { 12, 5, 96, 5, 29, -20, -42 }, + { 12, 10, 96, 5, 29, -20, -42 }, + { 12, 15, 96, 5, 29, -20, -42 }, + { 12, 20, 96, 5, 29, -20, -42 }, + { 12, 25, 96, 5, 29, -20, -42 }, + { 12, 30, 96, 5, 29, -20, -42 }, + { 12, 35, 96, 5, 29, -20, -42 }, + { 12, 0, 125, 5, 29, -20, -42 }, + { 12, 5, 125, 5, 29, -20, -42 } +}; + +static const ShapeProvider k1WispShapesPC98Provider = { ARRAYSIZE(k1WispShapesPC98), k1WispShapesPC98 }; + +static const Shape k1MagicAnimShapesPC98[5] = { + { 17, 0, 0, 8, 49, -32, -49 }, + { 17, 8, 0, 8, 49, -32, -49 }, + { 17, 16, 0, 8, 49, -32, -49 }, + { 17, 24, 0, 8, 49, -32, -49 }, + { 17, 32, 0, 8, 49, -32, -49 } +}; + +static const ShapeProvider k1MagicAnimShapesPC98Provider = { ARRAYSIZE(k1MagicAnimShapesPC98), k1MagicAnimShapesPC98 }; + +static const Shape k1BranStoneShapesPC98[14] = { + { 18, 0, 0, 5, 51, -20, -50 }, + { 18, 5, 0, 5, 51, -20, -50 }, + { 18, 10, 0, 5, 51, -20, -50 }, + { 18, 15, 0, 5, 51, -20, -50 }, + { 18, 20, 0, 5, 51, -20, -50 }, + { 18, 25, 0, 5, 51, -20, -50 }, + { 18, 30, 0, 5, 51, -20, -50 }, + { 18, 35, 0, 5, 51, -20, -50 }, + { 18, 0, 51, 5, 51, -20, -50 }, + { 18, 5, 51, 5, 51, -20, -50 }, + { 18, 10, 51, 5, 51, -20, -50 }, + { 18, 15, 51, 5, 51, -20, -50 }, + { 18, 20, 51, 5, 51, -20, -50 }, + { 18, 25, 51, 5, 51, -20, -50 } +}; + +static const ShapeProvider k1BranStoneShapesPC98Provider = { ARRAYSIZE(k1BranStoneShapesPC98), k1BranStoneShapesPC98 }; + +static const byte k1OutroReunionSeqPC98[1352] = { + 0x1A, 0x00, 0x08, 0x01, 0x06, 0x01, 0x00, 0x02, + 0x08, 0x00, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x14, 0x0A, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x00, 0x09, 0x00, 0x10, 0x20, 0x5A, 0x00, + 0x3A, 0x02, 0x02, 0x08, 0x0D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x0E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0C, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x0B, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x0C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x0D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x0E, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0A, 0x01, 0x03, 0x08, 0x07, 0x08, 0x00, + 0x0B, 0x01, 0x04, 0x00, 0x10, 0x21, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x02, 0x02, 0x08, 0x14, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x02, 0x01, 0x00, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x03, 0x08, 0x07, 0x08, 0x00, 0x03, + 0x08, 0x07, 0x08, 0x00, 0x10, 0x22, 0x5A, 0x00, + 0x3A, 0x02, 0x0A, 0x03, 0x03, 0x08, 0x07, 0x08, + 0x00, 0x0B, 0x03, 0x0B, 0x00, 0x10, 0x23, 0x78, + 0x00, 0x3A, 0x0F, 0x0A, 0x03, 0x03, 0x08, 0x07, + 0x08, 0x00, 0x0B, 0x03, 0x05, 0x00, 0x06, 0x28, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x2E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x2D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x24, + 0x5A, 0x00, 0x3A, 0x02, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x34, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x37, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x06, + 0x0A, 0x00, 0x10, 0x25, 0x5A, 0x00, 0x3A, 0x02, + 0x02, 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x34, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x35, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x34, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x33, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x35, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x36, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x37, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x10, 0x26, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x38, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x39, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x38, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x3B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x06, 0x0A, 0x00, 0x02, 0x08, 0x39, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x38, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x39, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x3A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x06, 0x3C, 0x00, 0x11, 0x02, 0x08, 0x33, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x32, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x31, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x2E, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x2D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x1E, 0x00, 0x02, 0x08, + 0x2E, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x2F, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x30, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x31, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x32, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x33, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x41, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x42, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x43, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x44, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x45, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x46, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x06, 0x0A, 0x00, 0x10, 0x27, 0x5A, + 0x00, 0x3A, 0x02, 0x02, 0x08, 0x4E, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x4F, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x50, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x51, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x52, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x53, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x54, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x55, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x06, 0x78, 0x00, 0x10, 0x28, + 0x78, 0x00, 0x3A, 0x0F, 0x0A, 0x05, 0x02, 0x08, + 0x59, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, + 0x08, 0x5A, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, + 0x02, 0x08, 0x5B, 0x50, 0x00, 0x22, 0x07, 0x08, + 0x00, 0x02, 0x08, 0x5C, 0x50, 0x00, 0x22, 0x07, + 0x08, 0x00, 0x02, 0x08, 0x5D, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x0B, 0x05, 0x01, 0x00, 0x06, + 0x28, 0x00, 0x10, 0x29, 0x78, 0x00, 0x3A, 0x0F, + 0x0A, 0x06, 0x02, 0x08, 0x59, 0x50, 0x00, 0x22, + 0x07, 0x08, 0x00, 0x02, 0x08, 0x5A, 0x50, 0x00, + 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5B, 0x50, + 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, 0x5C, + 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x02, 0x08, + 0x5D, 0x50, 0x00, 0x22, 0x07, 0x08, 0x00, 0x0B, + 0x06, 0x01, 0x00, 0x06, 0x28, 0x00, 0x10, 0x2A, + 0x78, 0x00, 0x3A, 0x0F, 0x02, 0x08, 0x5E, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x63, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, 0xB4, + 0x00, 0x11, 0x18, 0x69, 0x02, 0x08, 0x64, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x65, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x18, 0x74, + 0x02, 0x08, 0x66, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x67, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x18, 0x75, 0x02, 0x08, 0x68, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x69, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x10, 0x2B, + 0x96, 0x00, 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, + 0x6B, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6C, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, + 0x00, 0x06, 0x1E, 0x00, 0x10, 0x2C, 0x96, 0x00, + 0x1C, 0x22, 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6D, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x6E, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, + 0x1E, 0x00, 0x10, 0x2D, 0x96, 0x00, 0x1C, 0x22, + 0x0A, 0x06, 0x02, 0x08, 0x6B, 0x50, 0x00, 0x22, + 0x07, 0x10, 0x00, 0x02, 0x08, 0x6C, 0x50, 0x00, + 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6D, 0x50, + 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, 0x6E, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x6F, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, + 0x08, 0x70, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, + 0x02, 0x08, 0x71, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x0B, 0x06, 0x01, 0x00, 0x06, 0x1E, 0x00, + 0x02, 0x08, 0x72, 0x50, 0x00, 0x22, 0x07, 0x10, + 0x00, 0x02, 0x08, 0x73, 0x50, 0x00, 0x22, 0x07, + 0x10, 0x00, 0x06, 0x14, 0x00, 0x02, 0x08, 0x74, + 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x02, 0x08, + 0x75, 0x50, 0x00, 0x22, 0x07, 0x10, 0x00, 0x06, + 0x78, 0x00, 0x13, 0x0E, 0x13, 0x01, 0x08, 0x1D +}; + +static const ByteProvider k1OutroReunionSeqPC98Provider = { ARRAYSIZE(k1OutroReunionSeqPC98), k1OutroReunionSeqPC98 }; + +static const byte k1PC98IntroSfxPC98[768] = { + 0x56, 0x00, 0x43, 0x00, 0x7C, 0x00, 0x69, 0x00, + 0xA2, 0x00, 0x8F, 0x00, 0x00, 0x00, 0xB5, 0x00, + 0x00, 0x00, 0xE5, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x45, 0x01, + 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0x68, 0x01, + 0x8D, 0x01, 0x7C, 0x01, 0xBD, 0x01, 0x9E, 0x01, + 0xF0, 0x01, 0xDC, 0x01, 0x00, 0x00, 0x04, 0x02, + 0x00, 0x00, 0x2B, 0x02, 0x59, 0x02, 0x40, 0x02, + 0xF1, 0x00, 0xFF, 0xF1, 0x09, 0x32, 0x81, 0x49, + 0x81, 0x52, 0x81, 0x59, 0x81, 0xF7, 0x01, 0x03, + 0xC7, 0x00, 0xFF, 0x42, 0x32, 0xFF, 0xF1, 0x05, + 0x30, 0x81, 0x47, 0x81, 0x50, 0x81, 0x57, 0x81, + 0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x41, 0x32, + 0xFF, 0xF1, 0x0C, 0x32, 0x81, 0x49, 0x81, 0x52, + 0x81, 0x59, 0x81, 0xF7, 0x01, 0x03, 0xC7, 0x00, + 0xFF, 0x42, 0x32, 0xFF, 0xF1, 0x08, 0x30, 0x81, + 0x47, 0x81, 0x50, 0x81, 0x57, 0x81, 0xF7, 0x01, + 0x03, 0xC7, 0x00, 0xFF, 0x41, 0x32, 0xFF, 0xF1, + 0x0F, 0x32, 0x81, 0x49, 0x81, 0x52, 0x81, 0x59, + 0x81, 0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x42, + 0x32, 0xFF, 0xF1, 0x0C, 0x30, 0x81, 0x47, 0x81, + 0x50, 0x81, 0x57, 0x81, 0xF7, 0x01, 0x03, 0xC7, + 0x00, 0xFF, 0x41, 0x32, 0xFF, 0xF1, 0x0A, 0x39, + 0x01, 0x44, 0x01, 0x49, 0x01, 0xFC, 0xF6, 0x05, + 0x05, 0xB7, 0x00, 0x39, 0x01, 0x44, 0x01, 0x49, + 0x01, 0xF6, 0x02, 0x02, 0xC3, 0x00, 0xFB, 0xFB, + 0xFB, 0xFB, 0x39, 0x01, 0x44, 0x01, 0x49, 0x01, + 0xF6, 0x02, 0x02, 0xD2, 0x00, 0xFC, 0xFC, 0xF6, + 0x05, 0x05, 0xC3, 0x00, 0xFF, 0xF1, 0x0F, 0x69, + 0x81, 0x59, 0x81, 0x49, 0x01, 0x39, 0x81, 0x54, + 0x01, 0xF6, 0x02, 0x02, 0xED, 0x00, 0x80, 0x04, + 0xFB, 0xFB, 0xFB, 0xF6, 0x03, 0x03, 0xED, 0x00, + 0xFF, 0xF1, 0x0C, 0x69, 0x81, 0x49, 0x81, 0x59, + 0x81, 0x39, 0x01, 0x62, 0x81, 0x57, 0x01, 0x60, + 0x01, 0xFC, 0xF6, 0x03, 0x03, 0x0B, 0x01, 0x62, + 0x81, 0x57, 0x01, 0x60, 0x01, 0xFB, 0xF6, 0x03, + 0x03, 0x17, 0x01, 0xFB, 0xFB, 0xFB, 0xF6, 0x05, + 0x05, 0x0B, 0x01, 0xFF, 0xF1, 0x0F, 0xF4, 0x09, + 0xF7, 0x01, 0x01, 0x54, 0x01, 0xC8, 0x27, 0x09, + 0xF4, 0x42, 0x10, 0x08, 0xFB, 0xF6, 0x0E, 0x0E, + 0x3A, 0x01, 0xF4, 0x80, 0xFF, 0xF1, 0x08, 0xF4, + 0x41, 0x10, 0x01, 0xFC, 0xF6, 0x07, 0x07, 0x49, + 0x01, 0xF4, 0x80, 0xFF, 0xF1, 0x0C, 0xF9, 0x0E, + 0xFA, 0x12, 0x64, 0x04, 0x0B, 0x60, 0x03, 0x80, + 0x03, 0x60, 0x03, 0x80, 0x03, 0x60, 0x12, 0xFF, + 0xF1, 0x0C, 0xF9, 0x0E, 0xFA, 0x12, 0x18, 0x04, + 0x0B, 0x70, 0x02, 0x80, 0x02, 0x72, 0x02, 0x80, + 0x02, 0x73, 0x0B, 0xFF, 0xF1, 0x0E, 0xF3, 0x00, + 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x30, 0x30, + 0xF1, 0x07, 0x3B, 0x0A, 0xFF, 0xF1, 0x0C, 0xF3, + 0x0A, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x60, + 0x30, 0xF1, 0x05, 0x6B, 0x0A, 0xFF, 0xF1, 0x0E, + 0xF3, 0x00, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, + 0x30, 0x30, 0xF1, 0x0C, 0x69, 0x01, 0x75, 0x02, + 0x72, 0x01, 0x64, 0x02, 0x70, 0x01, 0xFB, 0xF6, + 0x0B, 0x0B, 0xAC, 0x01, 0xFF, 0xF1, 0x0C, 0xF3, + 0x0A, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x60, + 0x31, 0xF1, 0x0A, 0x69, 0x01, 0x75, 0x02, 0x72, + 0x01, 0x64, 0x02, 0x70, 0x01, 0xFB, 0xF6, 0x09, + 0x09, 0xCB, 0x01, 0xFF, 0xF1, 0x0F, 0xF3, 0x00, + 0x24, 0x81, 0x29, 0x01, 0xF6, 0x08, 0x08, 0xE0, + 0x01, 0xFB, 0xF6, 0x0E, 0x0E, 0xE0, 0x01, 0xFF, + 0xF1, 0x0F, 0xF3, 0x0D, 0x24, 0x81, 0x22, 0x01, + 0xF6, 0x08, 0x08, 0xF4, 0x01, 0xFB, 0xF6, 0x0E, + 0x0E, 0xF4, 0x01, 0xFF, 0xF1, 0x0C, 0x29, 0x81, + 0xFC, 0x24, 0x81, 0xFC, 0x29, 0x81, 0xFC, 0x34, + 0x81, 0x35, 0x81, 0x36, 0x81, 0x35, 0x81, 0x34, + 0x81, 0x33, 0x81, 0x32, 0x81, 0x33, 0x01, 0xF6, + 0x02, 0x02, 0x0F, 0x02, 0xFB, 0xF6, 0x0E, 0x0E, + 0x0F, 0x02, 0xFF, 0xF1, 0x0F, 0xF4, 0x0B, 0x29, + 0x81, 0x27, 0x81, 0xF4, 0x43, 0x29, 0x02, 0xFB, + 0xF6, 0x0E, 0x0E, 0x35, 0x02, 0xF4, 0x80, 0xFF, + 0xF1, 0x0E, 0xF7, 0x01, 0x01, 0x09, 0x03, 0xFF, + 0x44, 0x08, 0xF1, 0x0C, 0xF7, 0x01, 0x04, 0xC8, + 0x00, 0xFF, 0x1B, 0x1E, 0xF1, 0x06, 0x1B, 0x1E, + 0xFF, 0xF1, 0x0F, 0xF4, 0x4F, 0xF7, 0x01, 0x05, + 0xC7, 0x00, 0xFF, 0x19, 0x04, 0xF7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF4, 0x0F, 0xFB, 0x10, 0x04, + 0xFB, 0xF6, 0x07, 0x07, 0x6E, 0x02, 0xF1, 0x08, + 0x10, 0x04, 0xFB, 0xF6, 0x07, 0x07, 0x78, 0x02, + 0xF4, 0x80, 0xFF, 0xF1, 0x0F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider k1PC98IntroSfxPC98Provider = { ARRAYSIZE(k1PC98IntroSfxPC98), k1PC98IntroSfxPC98 }; + diff --git a/devtools/create_kyradat/resources/lok_pc98_japanese.h b/devtools/create_kyradat/resources/lok_pc98_japanese.h new file mode 100644 index 0000000000..0cbc96aeb9 --- /dev/null +++ b/devtools/create_kyradat/resources/lok_pc98_japanese.h @@ -0,0 +1,558 @@ +static const char *const k1IntroStringsPC98Japanese[50] = { + "This is a text test - 1", + "This is a text test - 2", + "\x8B""v""\x82\xB5\x90""U""\x82\xE8\x82\xBE\x82\xC8\x81""A""\x83""J""\x83\x89\x83""b""\x83""N""\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x89\xA4\x8E\xBA\x96\x82\x8F""p""\x8E""t""\x82\xCC\x8E""w""\x93\xB1\x8E\xD2\x93""a""\x81""I", + "\x82\xA0\x82\xF1\x82\xBD\x82\xF0\x8B\xC1\x82\xA9\x82\xB5\x82\xBD\x82\xA9\x82\xC8\x81""H", + "\x83""}""\x83\x8B\x83""R""\x83\x80\x81""I", + "\x8B""M""\x97""l""\x82\xCC\x92""E""\x91\x96\x82\xC9\x82\xC2\x82\xA2\x82\xC4\x82\xCD\x8D\xF0\x93\xFA\x95\xF1\x8D\x90\x82\xF0\x8E\xF3\x82\xAF\x82\xC4\x82\xA2\x82\xBD\x81""B", + "\x82\xBB\x82\xEA\x82\xC5\x82\xA8\x91""O""\x82\xAA\x97\x88\x82\xE9\x82\xCC\x82\xF0\x91\xD2\x82\xC1\x82\xC4\x82\xA2\x82\xBD\x82\xF1\x82\xBE\x81""B", + "\x89\xBD\x8C\xCC\x82\xA8\x82\xEA\x97""l""\x82\xAA\x97\x88\x82\xBD\x82\xA9\x95\xAA\x82\xA9\x82\xE9\x82\xA9\x81""H", + "\x82\xC2\x82\xA2\x82\xC9\x81""A""\x82\xB1\x82\xCC\x8D\x91\x82\xF0\x8F\xE6\x82\xC1\x8E\xE6\x82\xC1\x82\xBD\x82\xBC\x81""I", + "\x8B""M""\x97""l""\x82\xCC\x82\xC2\x82\xDC\x82\xE7\x82\xF1\x8B\xBA\x94\x97\x82\xC8\x82\xC7\x82\xC5\x82\xA8\x82\xEA\x97""l""\x82\xF0\x94\x9B\x82\xEA\x82\xE9\x82\xE0\x82\xCC\x82\xA9\x81""B", + "\x82\xB3\x82\xA0\x81""A""\x82\xE2\x82\xE9\x82\xC8\x82\xE7\x82\xE2\x82\xC1\x82\xC4\x82\xDD\x82\xEB\x81""I", + "\x82\xED\x82\xB5\x82\xC9\x82\xE0\x82\xED\x82\xB8\x82\xA9\x82\xBE\x82\xAA\x96\x82\x97\xCD\x82\xAA\x8E""c""\x82\xC1\x82\xC4\x82\xA8\x82\xE9\x82\xED\x82\xA2\x81""B", + "\x82\xA8\x91""O""\x82\xF0\x82\xE2\x82\xC1\x82\xC2\x82\xAF\x82\xE9\x82\xC6\x82\xA2\x82\xA4\x82\xB1\x82\xC6\x82\xB3\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xE0\x82\xCD\x82\xE2\x82\xA8\x91""O""\x82\xCD\x90\xCE\x82\xC6\x82\xC8\x82\xC1\x82\xBD\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBE\x82\xAA\x96\xDA\x82\xBE\x82\xAF\x82\xCD\x8C\xA9\x82\xA6\x82\xE9\x82\xDC\x82\xDC\x82\xC9\x82\xB5\x82\xC4\x82\xA8\x82\xB1\x82\xA4\x81""B", + "\x82\xA8\x82\xEA\x97""l""\x82\xCD\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xC9\x82\xCD\x82\xC8\x82\xF1\x82\xCC\x8A\xB4\x8F\x9D\x82\xE0\x82\xC8\x82\xA2\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBE\x82\xAA\x81""A""\x82\xA8\x91""O""\x82\xBD\x82\xBF\x82\xCD\x82\xC7\x82\xA4\x82\xA9\x82\xC8\x81""B", + "\x8B""{""\x92\xEC\x93\xB9\x89\xBB\x8E""t""\x82\xCC\x83""}""\x83\x8B\x83""R""\x83\x80\x82\xAA\x98""S""\x82\xF0\x94""j""\x82\xC1\x82\xBD\x81""I", + "\x8D\xA1\x82\xE2\x94\xDE\x82\xCD\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xCC\x82\xB7\x82\xD7\x82\xC4\x82\xCC\x96\x82\x97\xCD\x82\xCC\x8D\xAA\x8C\xB9\x82\xBD\x82\xE9\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x83""L""\x83\x89\x83\x93\x83""W""\x83""F""\x83\x80\x82\xF0\x8E\xE8\x92\x86\x82\xC9\x8E\xFB\x82\xDF\x82\xC4\x82\xA2\x82\xE9\x81""I", + "", + "\x89\xBD\x82\xC5\x82\xA8\x82\xEA\x97""l""\x82\xF0\x82\xC2\x82\xDC\x82\xB8\x82\xA9\x82\xB9\x82\xBD\x81""I", + "\x82\xE6\x82\xB5\x81""A""\x82\xA8\x91""O""\x82\xC9\x82\xB7\x82\xCE\x82\xE7\x82\xB5\x82\xA2\x91\xA1\x82\xE8\x95\xA8\x82\xF0\x82\xE2\x82\xEB\x82\xA4\x81""E""\x81""E""\x81""E", + "\x82\xB1\x82\xEA\x82\xAA\x82\xA8\x82\xEA\x97""l""\x82\xCC\x83\x86\x81""[""\x83\x82\x83""A""\x82\xB3\x81""I", + "\x82\xBE\x82\xAA\x81""A""\x83""t""\x83""F""\x83""A""\x82\xC8\x82\xA8\x82\xEA\x97""l""\x82\xCD\x8C""x""\x8D\x90\x82\xF0\x82\xB7\x82\xE9\x82\xC2\x82\xE0\x82\xE8\x82\xB3\x81""B", + "\x82\xA0\x82\xCC\x96\xD8\x82\xC9\x82\xCD\x93""o""\x82\xE9\x82\xC8\x82\xE6\x81""I", + "\x82\xBF\x82\xC1\x82\xB1\x82\xA2\x83\x8A\x83""X""\x82\xDF\x81""A""\x82\xA0\x82\xCC\x96\xD8\x82\xC9\x82\xCD\x93""o""\x82\xE9\x82\xC8\x81""I", + "\x83""u""\x83""D""\x81""[""\x81""I", + "\x82\xB1\x82\xA2\x82\xC2\x82\xCD\x96\xCA\x94\x92\x82\xA2\x82\xE2\x81""E""\x81""E""\x81""E", + "\x81""E""\x81""E""\x81""E""\x82\xBB\x82\xA4\x8E""v""\x82\xED\x82\xF1\x82\xA9\x81""H", + "\x82\xCD\x82\xC1\x81""A""\x82\xCD\x82\xC1\x82\xCD\x81""E""\x81""E""\x81""E", + "\x8C\xB3\x82\xC9\x96\xDF\x82\xC1\x82\xBD\x82\xCC\x82\xA9\x81""H", + "\x90\xB6\x82\xAB\x82\xC4\x82\xA2\x82\xE9\x82\xB1\x82\xC6\x82\xCD\x82\xB7\x82\xCE\x82\xE7\x82\xB5\x82\xA2\x81""I", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""I", + "\x82\xA8\x91""c""\x95\x83\x82\xB3\x82\xF1\x81""I""\x96""l""\x82\xBD\x82\xBF\x82\xCD\x82\xE2\x82\xE8\x82\xDC\x82\xB5\x82\xBD\x82\xCB\x81""I", + "\x82\xA2\x82\xA2\x82\xE2\x81""I""\x82\xE2\x82\xC1\x82\xBD\x82\xCC\x82\xCD\x82\xA8\x91""O""\x81""I", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x89\xA4\x81""@""\x82\xCE\x82\xF1\x82\xB4\x82\xA2\x81""I", + "\x89\xA4\x8E\xBA\x96\x82\x8F""p""\x8E""t""\x81""@""\x82\xCE\x82\xF1\x82\xB4\x82\xA2\x81""I", + "\x82\xB3\x82\xA0\x81""A""\x8B\xA4\x82\xC9\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xF0\x95\x9C\x8B\xBB\x82\xB5\x82\xE6\x82\xA4\x81""I", + "\x91\xE5\x8E""^""\x90\xAC\x81""I", + "\x96""l""\x82\xCC\x89\xA4\x82\xC6\x82\xB5\x82\xC4\x82\xCC\x8D\xC5\x8F\x89\x82\xCC\x95""z""\x8D\x90\x82\xCD\x81""E""\x81""E""\x81""E", + "\x83""T""\x83\x93\x83""_""\x83\x8B\x82\xF0\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xCC\x8C\xF6\x8E\xAE\x82\xC8\x97\x9A\x95\xA8\x82\xC6\x82\xB7\x82\xE9\x82\xB1\x82\xC6\x82\xC5\x82\xB7\x81""I", + "\x82\xE6\x82\xAD\x82\xE2\x82\xC1\x82\xBD\x81""I""\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""B", + "\x8E\xA9\x91""R""\x8A""E""\x82\xCD\x82\xE6\x82\xEB\x82\xB1\x82\xD1\x82\xC9\x82\xA0\x82\xD3\x82\xEA\x81""E""\x81""E""\x81""E", + "\x82\xA0\x82\xC8\x82\xBD\x82\xCC\x97""F""\x90""l""\x92""B""\x82\xE0\x8F\x95\x82\xA9\x82\xC1\x82\xBD\x82\xCC\x82\xC5\x82\xB7\x81""I", + "\x83""u""\x83\x8A\x83\x93\x82\xE6\x81""E""\x81""E""\x81""E", + "\x83""}""\x83\x8B\x83""R""\x83\x80\x82\xAA\x98""S""\x82\xF0\x94""j""\x82\xC1\x82\xBD\x81""I", + "\x82\xDC\x82\xE0\x82\xC8\x82\xAD\x93""z""\x82\xCD\x82\xED\x82\xB5\x82\xCC\x82\xC6\x82\xB1\x82\xEB\x82\xD6\x97\x88\x82\xE9\x82\xBE\x82\xEB\x82\xA4\x81""B", + "\x82\xC7\x82\xA4\x82\xA9\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x82\xF0\x8F\x95\x82\xAF\x82\xC4\x82\xE2\x82\xC1\x82\xC4\x82\xA8\x82\xAD\x82\xEA\x81""E""\x81""E""\x81""E" +}; + +static const StringListProvider k1IntroStringsPC98JapaneseProvider = { ARRAYSIZE(k1IntroStringsPC98Japanese), k1IntroStringsPC98Japanese }; + +static const char *const k1ItemNamesPC98Japanese[107] = { + "\x83""K""\x81""[""\x83""l""\x83""b""\x83""g", + "\x83""A""\x83\x81\x83""W""\x83""X""\x83""g", + "\x83""A""\x83""N""\x83""A""\x83""}""\x83\x8A\x83\x93", + "\x83""_""\x83""C""\x83""A""\x83\x82\x83\x93\x83""h", + "\x83""G""\x83\x81\x83\x89\x83\x8B\x83""h", + "\x83""p""\x81""[""\x83\x8B", + "\x83\x8B\x83""r""\x81""[", + "\x83""y""\x83\x8A\x83""h""\x81""[""\x83""g", + "\x83""T""\x83""t""\x83""@""\x83""C""\x83""A", + "\x83""I""\x83""p""\x81""[""\x83\x8B", + "\x83""g""\x83""p""\x81""[""\x83""Y", + "\x83""I""\x83""j""\x83""L""\x83""X", + "\x83""T""\x83\x93\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x80\x81""[""\x83\x93\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x8C\x83""C""\x83\x93\x83""{""\x81""[""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83\x8D\x81""[""\x83""h""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83""o""\x83\x89", + "\x83""`""\x83\x85\x81""[""\x83\x8A\x83""b""\x83""v", + "\x83\x89\x83\x93", + "\x8B\xE2\x82\xCC\x83""o""\x83\x89", + "\x8B\xE2\x82\xCC\x8F\xAC\x91\x9C", + "\x8B\xE2\x89\xDD", + "\x8B\xE0\x89\xDD", + "\x8B\xE0\x82\xCC\x83\x8A\x83\x93\x83""O", + "\x90\xB9\x94""t", + "\x8F\xBC\x82\xDA\x82\xC1\x82\xAD\x82\xE8", + "\x82\xC7\x82\xF1\x82\xAE\x82\xE8", + "\x83""N""\x83\x8B\x83""~", + "\x94""R""\x82\xA6\x82\xE9\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x83""t""\x83""@""\x83""C""\x83""A""\x83""x""\x83\x8A\x81""[", + "\x82\xB3\x82\xA9\x82\xC8", + "\x82\xB3\x82\xA9\x82\xC8\x82\xCC\x8D\x9C", + "\x97""r""\x82\xCC\x91\xAB", + "\x8D\x9C", + "\x83\x8A\x83\x93\x83""S", + "\x83\x8A\x83\x93\x83""S""\x82\xCC\x90""c", + "\x83""u""\x83\x8B\x81""[""\x83""x""\x83\x8A\x81""[", + "\x83""L""\x83""m""\x83""R", + "\x83""m""\x81""[""\x83""g", + "\x91\xE5\x97\x9D\x90\xCE", + "\x82\xCC\x82\xB1\x82\xAC\x82\xE8", + "\x83""A""\x83\x93\x83""N", + "\x89""H""\x8D\xAA", + "\x83""^""\x83""}""\x83""S", + "\x97""t""\x82\xC1\x82\xCF", + "\x94\x92\x92\xDC\x91\x90", + "\x97\x8E\x82\xBF\x82\xBD\x90\xAF", + "\x83""N""\x83\x8A\x83""X""\x83""^""\x83\x8B\x82\xCC\x8E\xEC", + "\x97\xDC\x82\xCC\x82\xB5\x82\xB8\x82\xAD", + "\x8B\xBE", + "\x95""X""\x82\xCC\x82\xA9\x82\xAF\x82\xE7", + "\x83""t""\x83\x8B\x81""[""\x83""g", + "\x8D\xBB\x8E\x9E\x8C""v", + "\x93""S""\x82\xCC\x8C\xAE", + "\x82\xD0\x82\xB7\x82\xA2\x82\xCC\x8C\xAE", + "\x8D\x95\x97""j""\x90\xCE\x82\xCC\x8C\xAE", + "\x90\xD4\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xD4\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xC2\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90\xC2\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x97\xCE\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x83""I""\x83\x8C\x83\x93\x83""W""\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x8E\x87\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x93\xF8\x90""F""\x82\xCC\x83""|""\x81""[""\x83""V""\x83\x87\x83\x93", + "\x90""V""\x91""N""\x82\xC8\x90\x85", + "\x90""V""\x91""N""\x82\xC8\x90\x85", + "\x89\x96\x90\x85", + "\x89\x96\x90\x85", + "\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[", + "\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[", + "\x96\x82\x96""@""\x82\xCC\x90\x85", + "\x96\x82\x96""@""\x82\xCC\x90\x85", + "\x8B\xF3\x82\xC1\x82\xDB\x82\xCC\x83""t""\x83\x89\x83""X""\x83""R", + "\x8B\xF3\x82\xC1\x82\xDB\x82\xCC\x83""t""\x83\x89\x83""X""\x83""R", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x83""X""\x83""N""\x83\x8D\x81""[""\x83\x8B", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x97""r""\x94\xE7\x8E\x86\x82\xCC\x90\xD8\x82\xEA\x92""[", + "\x90\xD4\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x83""I""\x83\x8C\x83\x93\x83""W""\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x89\xA9\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x97\xCE\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x90\xC2\x97\xCE\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x90\xC2\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x8E\x87\x90""F""\x82\xCC\x83\x81\x83""K""\x83""X""\x83""g""\x81""[""\x83\x93", + "\x8F""d""\x82\xA2\x90\xCE", + "\x89\xA4\x8A\xA5", + "\x89\xA4\xE2\x94", + "\x8B\xE0\x82\xCC\x8C\xAE", + "\x95\xAA\x82\xA9\x82\xE7\x82\xC8\x82\xA2\x82\xE0\x82\xCC" +}; + +static const StringListProvider k1ItemNamesPC98JapaneseProvider = { ARRAYSIZE(k1ItemNamesPC98Japanese), k1ItemNamesPC98Japanese }; + +static const char *const k1TakenStringsPC98Japanese[2] = { + "\x82\xF0\x8E\xE6\x82\xC1\x82\xBD\x81""B", + "\x82\xF0\x8E\xE6\x82\xC1\x82\xBD\x81""B" +}; + +static const StringListProvider k1TakenStringsPC98JapaneseProvider = { ARRAYSIZE(k1TakenStringsPC98Japanese), k1TakenStringsPC98Japanese }; + +static const char *const k1PlacedStringsPC98Japanese[1] = { + "\x82\xF0\x82\xB5\x82\xDC\x82\xC1\x82\xBD\x81""B" +}; + +static const StringListProvider k1PlacedStringsPC98JapaneseProvider = { ARRAYSIZE(k1PlacedStringsPC98Japanese), k1PlacedStringsPC98Japanese }; + +static const char *const k1DroppedStringsPC98Japanese[1] = { + "\x82\xF0\x92""u""\x82\xA2\x82\xBD\x81""B" +}; + +static const StringListProvider k1DroppedStringsPC98JapaneseProvider = { ARRAYSIZE(k1DroppedStringsPC98Japanese), k1DroppedStringsPC98Japanese }; + +static const char *const k1NoDropStringsPC98Japanese[2] = { + "\x82\xB1\x82\xCC\x8F\xEA\x96\xCA\x82\xC5\x82\xCD\x81""A""\x82\xB1\x82\xEA\x88\xC8\x8F\xE3\x83""A""\x83""C""\x83""e""\x83\x80\x82\xAA\x92""u""\x82\xAF\x82\xDC\x82\xB9\x82\xF1\x81""B", + "\x82\xB1\x82\xB1\x82\xC9\x82\xCD\x92""u""\x82\xAF\x82\xDC\x82\xB9\x82\xF1\x81""B" +}; + +static const StringListProvider k1NoDropStringsPC98JapaneseProvider = { ARRAYSIZE(k1NoDropStringsPC98Japanese), k1NoDropStringsPC98Japanese }; + +static const char *const k1PutDownStringPC98Japanese[1] = { + "\x82\xDC\x82\xB8\x81""A""\x82\xB1\x82\xEA\x82\xF0\x92""u""\x82\xA2\x82\xC4\x82\xA9\x82\xE7\x82\xCC\x95\xFB\x82\xAA\x82\xE6\x82\xB3\x82\xBB\x82\xA4\x82\xBE\x81""B" +}; + +static const StringListProvider k1PutDownStringPC98JapaneseProvider = { ARRAYSIZE(k1PutDownStringPC98Japanese), k1PutDownStringPC98Japanese }; + +static const char *const k1WaitAmuletStringPC98Japanese[1] = { + "\x83""A""\x83""~""\x83\x85\x83\x8C\x83""b""\x83""g""\x82\xC9\x97\xCD\x82\xAA\x96\xDF\x82\xE9\x82\xDC\x82\xC5\x91\xD2\x82\xC1\x82\xC4\x82\xDD\x82\xE6\x82\xA4\x81""B" +}; + +static const StringListProvider k1WaitAmuletStringPC98JapaneseProvider = { ARRAYSIZE(k1WaitAmuletStringPC98Japanese), k1WaitAmuletStringPC98Japanese }; + +static const char *const k1BlackJewelStringPC98Japanese[1] = { + "\x82\xB1\x82\xEA\x82\xCD\x95\xF3\x90\xCE\x82\xC9\x82\xCD\x88\xE1\x82\xA2\x82\xC8\x82\xA2\x82\xAA\x81""A""\x82\xC7\x82\xA4\x82\xB5\x82\xC4\x82\xDC\x82\xC1\x8D\x95\x82\xC8\x82\xF1\x82\xBE\x82\xEB\x82\xA4\x81""H" +}; + +static const StringListProvider k1BlackJewelStringPC98JapaneseProvider = { ARRAYSIZE(k1BlackJewelStringPC98Japanese), k1BlackJewelStringPC98Japanese }; + +static const char *const k1HealingTipStringPC98Japanese[1] = { + "\x82\xA0\x82\xEA\x81""A""\x82\xB1\x82\xEA\x82\xCD\x8F\x9D\x82\xC2\x82\xA2\x82\xBD\x82\xE0\x82\xCC\x82\xF0\x8E\xA1\x82\xB7\x96\x82\x96""@""\x82\xC8\x82\xF1\x82\xBE\x81""B" +}; + +static const StringListProvider k1HealingTipStringPC98JapaneseProvider = { ARRAYSIZE(k1HealingTipStringPC98Japanese), k1HealingTipStringPC98Japanese }; + +static const char *const k1PoisonGoneStringPC98Japanese[2] = { + "\x82\xB7\x82\xB2\x82\xA2\x81""I", + "\x93\xC5\x82\xAA\x8F\xC1\x82\xA6\x82\xBD\x81""I" +}; + +static const StringListProvider k1PoisonGoneStringPC98JapaneseProvider = { ARRAYSIZE(k1PoisonGoneStringPC98Japanese), k1PoisonGoneStringPC98Japanese }; + +static const char *const k1ThePoisonStringsPC98Japanese[3] = { + "\x93\xC5\x82\xBE\x81""E""\x81""E""\x81""E", + "\x8C\xC4\x8B""z""\x82\xAA\x8F""o""\x97\x88\x82\xC8\x82\xA2\x81""E""\x81""E""\x81""E", + "\x8B""C""\x95\xAA\x82\xAA\x88\xAB\x82\xA2\x81""E""\x81""E""\x81""E" +}; + +static const StringListProvider k1ThePoisonStringsPC98JapaneseProvider = { ARRAYSIZE(k1ThePoisonStringsPC98Japanese), k1ThePoisonStringsPC98Japanese }; + +static const char *const k1FluteStringsPC98Japanese[2] = { + "\x82\xA0\x82\xDC\x82\xE8\x82\xA2\x82\xA2\x89\xB9\x90""F""\x82\xB6\x82\xE1\x82\xC8\x82\xA2\x82\xC8\x81""B", + "\x8D\xC5\x8C\xE3\x82\xCD\x82\xC6\x82\xC4\x82\xE0\x8D\x82\x82\xA2\x89\xB9\x82\xBE\x81""I" +}; + +static const StringListProvider k1FluteStringsPC98JapaneseProvider = { ARRAYSIZE(k1FluteStringsPC98Japanese), k1FluteStringsPC98Japanese }; + +static const char *const k1WispJewelStringsPC98Japanese[3] = { + "\x89\xBD\x82\xE0\x8A\xB4\x82\xB6\x82\xC8\x82\xA2\x82\xC8\x82\xA0\x81""B", + "\x8D\xC5\x8F\x89\x82\xC9\x81""A", + "\x82\xF0\x89\xBA\x82\xC9\x92""u""\x82\xAD\x82\xCC\x82\xA9\x82\xE0\x92""m""\x82\xEA\x82\xC8\x82\xA2\x81""B" +}; + +static const StringListProvider k1WispJewelStringsPC98JapaneseProvider = { ARRAYSIZE(k1WispJewelStringsPC98Japanese), k1WispJewelStringsPC98Japanese }; + +static const char *const k1MagicJewelStringsPC98Japanese[1] = { + "\x82\xB1\x82\xEA\x82\xCD\x88\xE1\x82\xA4\x82\xBC\x81""B" +}; + +static const StringListProvider k1MagicJewelStringsPC98JapaneseProvider = { ARRAYSIZE(k1MagicJewelStringsPC98Japanese), k1MagicJewelStringsPC98Japanese }; + +static const char *const k1FlaskFullStringPC98Japanese[1] = { + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCD\x82\xE0\x82\xA4\x90\x85\x82\xAA\x93\xFC\x82\xC1\x82\xC4\x82\xA2\x82\xE9\x81""B" +}; + +static const StringListProvider k1FlaskFullStringPC98JapaneseProvider = { ARRAYSIZE(k1FlaskFullStringPC98Japanese), k1FlaskFullStringPC98Japanese }; + +static const char *const k1FullFlaskStringPC98Japanese[4] = { + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x96""A""\x97\xA7\x82\xC2\x90""V""\x91""N""\x82\xC8\x90\x85\x82\xBE\x81""B", + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x89\x96\x90\x85\x82\xBE\x81""B", + "\x83""t""\x83\x89\x83""X""\x83""R""\x82\xCC\x92\x86\x90""g""\x82\xCD\x81""A\r""\x83""~""\x83""l""\x83\x89\x83\x8B\x83""E""\x83""H""\x81""[""\x83""^""\x81""[""\x82\xBE\x81""B", + "\x96\x82\x96""@""\x82\xCC\x90\x85\x82\xBE\x81""B" +}; + +static const StringListProvider k1FullFlaskStringPC98JapaneseProvider = { ARRAYSIZE(k1FullFlaskStringPC98Japanese), k1FullFlaskStringPC98Japanese }; + +static const char *const k1OutroHomeStringPC98Japanese[1] = { + "\x89\xE4\x82\xAA\x89\xC6" +}; + +static const StringListProvider k1OutroHomeStringPC98JapaneseProvider = { ARRAYSIZE(k1OutroHomeStringPC98Japanese), k1OutroHomeStringPC98Japanese }; + +static const char *const k1VeryCleverStringPC98Japanese[1] = { + "\x82\xE6\x82\xA2\x8E\xE8\x8D\xDB\x82\xBE\x81""I""\x82\xBE\x82\xAA\x82\xA8\x91""O""\x82\xCC\x82\xB3\x82\xB3\x82\xE2\x82\xA9\x82\xC8\x93""w""\x97\xCD\x82\xCD\x96\xB3\x91\xCA\x82\xBE\x81""B" +}; + +static const StringListProvider k1VeryCleverStringPC98JapaneseProvider = { ARRAYSIZE(k1VeryCleverStringPC98Japanese), k1VeryCleverStringPC98Japanese }; + +static const char *const k1GUIStringsPC98Japanese[75] = { + "\x83""L""\x83\x89\x83\x93\x83""f""\x83""B""\x83""A""\x82\xCC\x93""`""\x90\xE0", + "\x83""Z""\x81""[""\x83""u""\x82\xB5\x82\xBD\x8F\x8A\x82\xA9\x82\xE7\x8E""n""\x82\xDF\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x83""Z""\x81""[""\x83""u""\x82\xB7\x82\xE9", + "\x83""Q""\x81""[""\x83\x80\x82\xCC\x90\xDD\x92\xE8", + "\x83""Q""\x81""[""\x83\x80\x8F""I""\x97\xB9", + "\x83""Q""\x81""[""\x83\x80\x8D\xC4\x8A""J", + "\x83""Q""\x81""[""\x83\x80\x82\xCC\x90\xDD\x92\xE8", + "\x82\xC7\x82\xCC\x83""f""\x81""[""\x83""^""\x82\xF0\x83\x8D\x81""[""\x83""h""\x82\xB5\x82\xDC\x82\xB7\x82\xA9\x81""H", + "\x83""Z""\x81""[""\x83""u""\x82\xB7\x82\xE9\x88\xCA\x92""u""\x82\xF0\x91""I""\x82\xF1\x82\xC5\x89\xBA\x82\xB3\x82\xA2\x81""F", + "\x81""m""\x8D\xC5\x8F\x89\x82\xA9\x82\xE7\x83""Q""\x81""[""\x83\x80\x82\xF0\x8E""n""\x82\xDF\x82\xE9\x81""n", + "\x81""m""\x8B\xF3\x82\xAB\x83""X""\x83\x8D\x83""b""\x83""g""\x81""n", + "\x92\x86\x8E""~", + "\x83""Z""\x81""[""\x83""u""\x82\xB5\x82\xBD\x83""Q""\x81""[""\x83\x80\x82\xC9\x96\xBC\x91""O""\x82\xF0\x82\xC2\x82\xAF\x82\xC4\x89\xBA\x82\xB3\x82\xA2\x81""F", + "\x83""Z""\x81""[""\x83""u", + "\x83""u""\x83\x89\x83\x93\x83""h""\x83\x93\x81""A""\x82\xE4\x82\xC1\x82\xAD\x82\xE8\x8B""x""\x82\xDF\x82\xE9\x82\xE6\x81""B", + "\x83""Q""\x81""[""\x83\x80\x82\xF0\x8F""I""\x97\xB9\x82\xB5\x82\xC4\x82\xA2\x82\xA2\x82\xC5\x82\xB7\x82\xA9\x81""H", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "XXXXXXXXX", + "", + "", + "", + "", + "", + "", + "", + "", + "\x83\x81\x83""C""\x83\x93\x81""E""\x83\x81\x83""j""\x83\x85\x81""[", + "\x83""I""\x83\x93", + "\x83""I""\x83""t", + "\x82\xCD\x82\xA2", + "\x82\xA2\x82\xA2\x82\xA6", + "\xD2""q""\x8A""$""\xDB""q""\x8A""$""\xE0""q""\x8A""$""\xE5""q""\x8A""$""\xEA""q""\x8A""$""\xF3""q""\x8A""$""\xFC""q""\x8A""$""\x01""r""\x8A""$""\x06""r""\x8A""$""\x95\xE0\x81""@""\x8D""s""\x81""@""\x91\xAC\x81""@""\x93""x", + "\x83\x81\x83""b""\x83""Z""\x81""[""\x83""W""\x91\xAC\x93""x", + "\x89\xB9\x81""@""\x81""@""\x81""@""\x81""@""\x81""@""\x8A""y", + "\x8C\xF8\x81""@""\x81""@""\x89\xCA\x81""@""\x81""@""\x89\xB9" +}; + +static const StringListProvider k1GUIStringsPC98JapaneseProvider = { ARRAYSIZE(k1GUIStringsPC98Japanese), k1GUIStringsPC98Japanese }; + +static const char *const k1NewGameStringPC98Japanese[1] = { + "\x81""m""\x8D\xC5\x8F\x89\x82\xA9\x82\xE7\x83""Q""\x81""[""\x83\x80\x82\xF0\x8E""n""\x82\xDF\x82\xE9\x81""n" +}; + +static const StringListProvider k1NewGameStringPC98JapaneseProvider = { ARRAYSIZE(k1NewGameStringPC98Japanese), k1NewGameStringPC98Japanese }; + +static const char *const k1ConfigStringsPC98Japanese[9] = { + "\x82\xB2\x82\xAD\x92""x""\x82\xAD", + "\x92""x""\x82\xAD", + "\x95\x81\x92\xCA", + "\x91\xAC\x82\xAD", + "\x82\xB2\x82\xAD\x91\xAC\x82\xAD", + "\x82\xB2\x82\xAD\x92""x""\x82\xAD", + "\x95\x81\x92\xCA", + "\x91\xAC\x82\xAD", + "\x97""v""\x83""N""\x83\x8A\x83""b""\x83""N" +}; + +static const StringListProvider k1ConfigStringsPC98JapaneseProvider = { ARRAYSIZE(k1ConfigStringsPC98Japanese), k1ConfigStringsPC98Japanese }; + +static const char *const k1PC98StoryStringsPC98Japanese[2] = { + "\x88\xAB\x82\xCC\x93\xB9\x89\xBB\x8E""t""\x81""A""\x83""}""\x83\x8B\x83""R""\x83\x80\x82\xAA\x98""S""\x82\xF0\x94""j""\x82\xC1\x82\xBD\x81""B", + "\x8D\xA1\x82\xE2\x82\xB1\x82\xCC\x8D\x91\x82\xCC\x96\x82\x96""@""\x82\xCD\x82\xB7\x82\xD7\x82\xC4\x94\xDE\x82\xC9\x8E""x""\x94""z""\x82\xB3\x82\xEA\x82\xC4\x82\xB5\x82\xDC\x82\xC1\x82\xBD\x81""B" +}; + +static const StringListProvider k1PC98StoryStringsPC98JapaneseProvider = { ARRAYSIZE(k1PC98StoryStringsPC98Japanese), k1PC98StoryStringsPC98Japanese }; + +static const byte k1CreditsStringsPC98Japanese[1328] = { + 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, 0x45, 0x4E, + 0x44, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x46, 0x61, 0x62, 0x6C, 0x65, + 0x73, 0x20, 0x26, 0x20, 0x46, 0x69, 0x65, 0x6E, + 0x64, 0x73, 0x0D, 0x02, 0x42, 0x6F, 0x6F, 0x6B, + 0x20, 0x49, 0x0D, 0x02, 0x54, 0x48, 0x45, 0x20, + 0x4C, 0x45, 0x47, 0x45, 0x4E, 0x44, 0x20, 0x4F, + 0x46, 0x20, 0x4B, 0x59, 0x52, 0x41, 0x4E, 0x44, + 0x49, 0x41, 0x0D, 0x0D, 0x50, 0x75, 0x62, 0x6C, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x0D, 0x02, 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, + 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, + 0x6F, 0x73, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x03, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, + 0x72, 0x3A, 0x05, 0x04, 0x42, 0x72, 0x65, 0x74, + 0x74, 0x20, 0x57, 0x2E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x0D, 0x0D, 0x03, 0x44, 0x65, + 0x73, 0x69, 0x67, 0x6E, 0x3A, 0x05, 0x04, 0x4D, + 0x69, 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x4C, + 0x65, 0x67, 0x67, 0x0D, 0x04, 0x52, 0x69, 0x63, + 0x6B, 0x20, 0x50, 0x61, 0x72, 0x6B, 0x73, 0x0D, + 0x04, 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x2E, + 0x20, 0x4D, 0x75, 0x64, 0x72, 0x61, 0x0D, 0x0D, + 0x03, 0x4C, 0x65, 0x61, 0x64, 0x20, 0x50, 0x72, + 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x6D, 0x65, 0x72, + 0x3A, 0x05, 0x04, 0x4D, 0x69, 0x63, 0x68, 0x61, + 0x65, 0x6C, 0x20, 0x4C, 0x65, 0x67, 0x67, 0x0D, + 0x0D, 0x03, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, + 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x53, 0x63, + 0x6F, 0x74, 0x74, 0x20, 0x42, 0x6F, 0x77, 0x65, + 0x6E, 0x0D, 0x0D, 0x03, 0x41, 0x6D, 0x69, 0x67, + 0x61, 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, + 0x6D, 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, 0x42, + 0x69, 0x6C, 0x6C, 0x20, 0x53, 0x74, 0x6F, 0x6B, + 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x50, 0x43, 0x2D, + 0x39, 0x38, 0x20, 0x50, 0x72, 0x6F, 0x67, 0x72, + 0x61, 0x6D, 0x6D, 0x65, 0x72, 0x3A, 0x05, 0x04, + 0x59, 0x75, 0x6B, 0x69, 0x6F, 0x20, 0x53, 0x65, + 0x6B, 0x69, 0x67, 0x75, 0x63, 0x68, 0x69, 0x0D, + 0x0D, 0x03, 0x49, 0x6E, 0x74, 0x72, 0x6F, 0x20, + 0x26, 0x20, 0x46, 0x69, 0x6E, 0x61, 0x6C, 0x65, + 0x3A, 0x05, 0x04, 0x43, 0x68, 0x72, 0x69, 0x73, + 0x74, 0x6F, 0x70, 0x68, 0x65, 0x72, 0x20, 0x59, + 0x61, 0x74, 0x65, 0x73, 0x0D, 0x0D, 0x03, 0x41, + 0x72, 0x74, 0x20, 0x26, 0x20, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x69, 0x63, 0x73, 0x3A, 0x05, 0x04, + 0x52, 0x69, 0x63, 0x6B, 0x20, 0x50, 0x61, 0x72, + 0x6B, 0x73, 0x0D, 0x04, 0x52, 0x65, 0x6E, 0x20, + 0x4F, 0x6C, 0x73, 0x65, 0x6E, 0x0D, 0x04, 0x4C, + 0x6F, 0x75, 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, + 0x6E, 0x64, 0x6F, 0x76, 0x61, 0x6C, 0x0D, 0x04, + 0x4A, 0x6F, 0x73, 0x65, 0x70, 0x68, 0x20, 0x48, + 0x65, 0x77, 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, + 0x0D, 0x04, 0x4A, 0x75, 0x64, 0x69, 0x74, 0x68, + 0x20, 0x50, 0x65, 0x74, 0x65, 0x72, 0x73, 0x6F, + 0x6E, 0x0D, 0x04, 0x41, 0x61, 0x72, 0x6F, 0x6E, + 0x20, 0x50, 0x6F, 0x77, 0x65, 0x6C, 0x6C, 0x0D, + 0x04, 0x45, 0x6C, 0x69, 0x65, 0x20, 0x41, 0x72, + 0x61, 0x62, 0x69, 0x61, 0x6E, 0x0D, 0x04, 0x45, + 0x72, 0x69, 0x63, 0x20, 0x53, 0x68, 0x75, 0x6C, + 0x74, 0x73, 0x0D, 0x0D, 0x03, 0x41, 0x75, 0x64, + 0x69, 0x6F, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6F, 0x72, 0x3A, 0x05, 0x04, 0x50, 0x61, + 0x75, 0x6C, 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, + 0x64, 0x72, 0x61, 0x0D, 0x0D, 0x03, 0x4D, 0x75, + 0x73, 0x69, 0x63, 0x3A, 0x05, 0x04, 0x46, 0x72, + 0x61, 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, + 0x61, 0x63, 0x6B, 0x69, 0x0D, 0x03, 0x28, 0x50, + 0x43, 0x2D, 0x39, 0x38, 0x29, 0x05, 0x04, 0x54, + 0x61, 0x6B, 0x65, 0x73, 0x68, 0x69, 0x20, 0x41, + 0x62, 0x6F, 0x0D, 0x0D, 0x03, 0x53, 0x6F, 0x75, + 0x6E, 0x64, 0x20, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x73, 0x3A, 0x05, 0x04, 0x44, 0x77, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x4F, 0x6B, 0x61, 0x68, + 0x61, 0x72, 0x61, 0x0D, 0x03, 0x28, 0x50, 0x43, + 0x2D, 0x39, 0x38, 0x29, 0x05, 0x04, 0x54, 0x61, + 0x6B, 0x65, 0x73, 0x68, 0x69, 0x20, 0x41, 0x62, + 0x6F, 0x0D, 0x0D, 0x03, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x3A, 0x05, 0x04, 0x22, 0x43, 0x6F, + 0x63, 0x6F, 0x22, 0x0D, 0x0D, 0x03, 0x54, 0x72, + 0x61, 0x6E, 0x73, 0x6C, 0x61, 0x74, 0x6F, 0x72, + 0x3A, 0x05, 0x04, 0x4D, 0x69, 0x6E, 0x6F, 0x72, + 0x75, 0x20, 0x4E, 0x61, 0x6B, 0x61, 0x7A, 0x61, + 0x77, 0x61, 0x0D, 0x04, 0x59, 0x75, 0x72, 0x69, + 0x20, 0x49, 0x74, 0x6F, 0x0D, 0x0D, 0x03, 0x51, + 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x20, 0x41, + 0x73, 0x73, 0x75, 0x72, 0x61, 0x6E, 0x63, 0x65, + 0x3A, 0x05, 0x04, 0x47, 0x6C, 0x65, 0x6E, 0x6E, + 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x0D, + 0x04, 0x4D, 0x61, 0x74, 0x74, 0x20, 0x43, 0x6F, + 0x6C, 0x6C, 0x69, 0x6E, 0x73, 0x0D, 0x04, 0x42, + 0x69, 0x6C, 0x6C, 0x20, 0x46, 0x6F, 0x73, 0x74, + 0x65, 0x72, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, + 0x61, 0x65, 0x6C, 0x20, 0x4C, 0x69, 0x67, 0x68, + 0x74, 0x6E, 0x65, 0x72, 0x0D, 0x04, 0x4D, 0x69, + 0x63, 0x68, 0x61, 0x65, 0x6C, 0x20, 0x47, 0x61, + 0x74, 0x65, 0x72, 0x0D, 0x04, 0x45, 0x75, 0x67, + 0x65, 0x6E, 0x65, 0x20, 0x4D, 0x61, 0x72, 0x74, + 0x69, 0x6E, 0x0D, 0x04, 0x4D, 0x69, 0x63, 0x68, + 0x61, 0x65, 0x6C, 0x20, 0x47, 0x6C, 0x6F, 0x73, + 0x65, 0x63, 0x6B, 0x69, 0x0D, 0x04, 0x4A, 0x75, + 0x73, 0x74, 0x69, 0x6E, 0x20, 0x4E, 0x6F, 0x72, + 0x72, 0x0D, 0x04, 0x54, 0x6F, 0x70, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, + 0x69, 0x6E, 0x67, 0x0D, 0x04, 0x54, 0x65, 0x73, + 0x74, 0x69, 0x6E, 0x67, 0x20, 0x31, 0x2C, 0x32, + 0x2C, 0x33, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x20, 0x54, + 0x68, 0x61, 0x6E, 0x6B, 0x73, 0x20, 0x74, 0x6F, + 0x0D, 0x4C, 0x79, 0x6C, 0x65, 0x20, 0x4A, 0x2E, + 0x20, 0x48, 0x61, 0x6C, 0x6C, 0x0D, 0x44, 0x61, + 0x76, 0x69, 0x64, 0x20, 0x42, 0x69, 0x73, 0x68, + 0x6F, 0x70, 0x0D, 0x22, 0x54, 0x68, 0x65, 0x20, + 0x44, 0x6F, 0x63, 0x22, 0x0D, 0x61, 0x6E, 0x64, + 0x0D, 0x46, 0x69, 0x72, 0x65, 0x62, 0x65, 0x72, + 0x72, 0x79, 0x20, 0x47, 0x72, 0x65, 0x65, 0x6E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x43, + 0x41, 0x53, 0x54, 0x20, 0x4F, 0x46, 0x20, 0x43, + 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, + 0x53, 0x0D, 0x0D, 0x4D, 0x61, 0x6C, 0x63, 0x6F, + 0x6C, 0x6D, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4A, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x0D, 0x42, 0x72, + 0x61, 0x6E, 0x64, 0x6F, 0x6E, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x42, 0x6F, 0x6C, 0x64, 0x0D, 0x42, + 0x72, 0x61, 0x6E, 0x64, 0x79, 0x77, 0x69, 0x6E, + 0x65, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x44, 0x61, + 0x72, 0x6D, 0x0D, 0x50, 0x72, 0x69, 0x65, 0x73, + 0x74, 0x65, 0x73, 0x73, 0x20, 0x42, 0x72, 0x79, + 0x6E, 0x6E, 0x0D, 0x5A, 0x61, 0x6E, 0x74, 0x68, + 0x69, 0x61, 0x2C, 0x20, 0x4C, 0x61, 0x64, 0x79, + 0x20, 0x6F, 0x66, 0x20, 0x41, 0x6C, 0x63, 0x68, + 0x65, 0x6D, 0x79, 0x0D, 0x48, 0x65, 0x72, 0x6D, + 0x61, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, + 0x61, 0x6E, 0x64, 0x79, 0x6D, 0x61, 0x6E, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x01, 0x41, 0x6E, 0x79, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x73, 0x20, 0x69, 0x6E, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x67, 0x61, 0x6D, 0x65, 0x20, 0x77, + 0x68, 0x6F, 0x20, 0x62, 0x65, 0x61, 0x72, 0x0D, + 0x01, 0x72, 0x65, 0x73, 0x65, 0x6D, 0x62, 0x6C, + 0x61, 0x6E, 0x63, 0x65, 0x20, 0x74, 0x6F, 0x20, + 0x70, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x73, 0x20, + 0x6C, 0x69, 0x76, 0x69, 0x6E, 0x67, 0x20, 0x6F, + 0x72, 0x0D, 0x01, 0x64, 0x65, 0x61, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x70, 0x75, 0x72, 0x65, + 0x6C, 0x79, 0x20, 0x63, 0x6F, 0x69, 0x6E, 0x63, + 0x69, 0x64, 0x65, 0x6E, 0x74, 0x61, 0x6C, 0x2E, + 0x0D, 0x0D, 0x0D, 0x01, 0x43, 0x6F, 0x70, 0x79, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x43, + 0x29, 0x20, 0x31, 0x39, 0x39, 0x32, 0x2C, 0x20, + 0x57, 0x65, 0x73, 0x74, 0x77, 0x6F, 0x6F, 0x64, + 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x73, + 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x0D, 0x01, + 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, + 0x39, 0x33, 0x2C, 0x20, 0x53, 0x74, 0x61, 0x72, + 0x20, 0x43, 0x72, 0x61, 0x66, 0x74, 0x2C, 0x20, + 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0D, 0x01, 0x41, 0x6C, 0x6C, 0x20, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00, 0x00 +}; + +static const ByteProvider k1CreditsStringsPC98JapaneseProvider = { ARRAYSIZE(k1CreditsStringsPC98Japanese), k1CreditsStringsPC98Japanese }; + diff --git a/devtools/create_kyradat/resources/lol_dos.h b/devtools/create_kyradat/resources/lol_dos.h new file mode 100644 index 0000000000..9f7d2e79b9 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos.h @@ -0,0 +1,1558 @@ +static const char *const kLoLIngamePakFilesDOS[11] = { + "VOC.PAK", + "GENERAL.PAK", + "CHAPTER1.PAK", + "CHAPTER2.PAK", + "CHAPTER3.PAK", + "CHAPTER4.PAK", + "CHAPTER5.PAK", + "CHAPTER6.PAK", + "CHAPTER7.PAK", + "CHAPTER8.PAK", + "DRIVERS.PAK" +}; + +static const StringListProvider kLoLIngamePakFilesDOSProvider = { ARRAYSIZE(kLoLIngamePakFilesDOS), kLoLIngamePakFilesDOS }; + +static const char *const kLoLIngameSfxFilesDOS[230] = { + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "DOORMTOP", + "DOORMTCL", + "PMETLHI", + "SWING6", + "MDAMAGE2", + "LEVERDN", + "LEVERUP", + "MTLDRSLM", + "DOORWDOP", + "DOORWDCL", + "KEYOPEN", + "KEYLOCK", + "PORTCUL", + "PORTCULD", + "LOKPICK", + "OCEAN2", + "NUNCHUK", + "SWING", + "SHWING1", + "SWING6", + "THROW", + "CROSSBOW", + "HEAL1", + "FIRESPL1", + "PRESSIN", + "PRESSOUT", + "PLATEON", + "PLATEOFF", + "DORWDSLM", + "LITENIN1", + "ICESPEL2", + "SPELL4B", + "SHIELD1", + "3BOLTC", + "2BOLTC", + "1BOLTC", + "DAWNSPL1", + "HEALKING", + "SPELL7", + "SWING1", + "EXPLODE", + "CROWCAW", + "MORPH2", + "CHEST", + "MONEY", + "SPELBK2", + "AUTOMAP", + "MINECRT3", + "CREAK1", + "TURNPAG2", + "POLGULP1", + "GOOEY1", + "BUCKBELL", + "KEEPXIT2", + "VSCREAM4", + "EMPTY", + "GOOEY1", + "GOOEY2", + "RIPPOD4", + "PODSKEL1", + "INVISO", + "OPENBOX2", + "ACCEPT2", + "BOW2", + "HACHUCKM", + "FOUNDRY2", + "FOUNDRY2", + "FOUNDRY4", + "FOUNDRY6", + "CLEANGL1", + "CLEANGL2", + "GLOWY1", + "DORSTNOP", + "DORSTNCL", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "ADAMAGE1", + "HDAMAGE1", + "TDAMAGE1", + "BDAMAGE1", + "LDAMAGE1", + "TDAMAGE2", + "CDAMAGE1", + "EMPTY", + "EMPTY", + "EMPTY", + "GOOD1", + "GOOD2", + "EMPTY", + "EMPTY", + "EMPTY", + "LITENIN1", + "COMPASS2", + "KINGDOR1", + "GLASBRK2", + "FLUTTER3", + "NUNCHUK", + "WALLFALL", + "WALLHIT", + "MWHOA1", + "LADDER", + "WHITTL3", + "ROWBOAT1", + "HORSEY2", + "SNORT", + "PUMPDOR1", + "PUMPSM2", + "PUMPSM3", + "SPARK1", + "BEZEL", + "SWARM", + "CHEST1", + "WRIT1", + "CAUSFOG", + "VAELAN2", + "ROARSPL1", + "RATTLER", + "WINK1", + "HANDFATE", + "QUAKE1", + "WIZLAMP1", + "SAP2", + "MSTDOOM1", + "GARDIAN1", + "VORTEX1", + "LION1", + "STEAM", + "SQUAWCK", + "SLIDEMUG", + "SPARKHIT", + "SPARKHIT2", + "SPARKHIT3", + "ICEFORM", + "ICEXPLOD", + "EXPLODE2", + "EXPLODE3", + "BOLTQUK2", + "BOLT2", + "BOLT3", + "SNKBITE", + "HANDGLOW", + "MSTDOOM2", + "MSTDOOM3", + "GARDIAN2", + "PLUSPOWR", + "MINSPOWR", + "BLUDCURL", + "LORAGASP", + "POURH2O", + "AWHOA2", + "HWHOA1", + "CWHOA1", + "AFALL2", + "EMPTY", + "CFALL2", + "MFALL2", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "WRIT2", + "WRIT3", + "WRIT4", + "WRIT5", + "WRIT6", + "RUCKUS1", + "RUCKUS3", + "CHANT1", + "EMPTY", + "EMPTY", + "EMPTY", + "CHANT2", + "CHANT3", + "" +}; + +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 byte kLoLMusicTrackMapDOS[240] = { + 0x01, 0x61, 0x02, 0x01, 0x61, 0x03, 0x01, 0x61, + 0x04, 0x01, 0x61, 0x05, 0x03, 0x61, 0x03, 0x01, + 0x61, 0x07, 0x01, 0x61, 0x08, 0x01, 0x62, 0x02, + 0x01, 0x64, 0x03, 0x01, 0x62, 0x04, 0x01, 0x62, + 0x05, 0x01, 0x62, 0x06, 0x01, 0x62, 0x07, 0x01, + 0x62, 0x08, 0x01, 0x62, 0x09, 0x01, 0x63, 0x02, + 0x01, 0x63, 0x03, 0x01, 0x63, 0x04, 0x01, 0x63, + 0x05, 0x01, 0x63, 0x06, 0x01, 0x63, 0x07, 0x01, + 0x64, 0x02, 0x02, 0x61, 0x02, 0x02, 0x61, 0x03, + 0x02, 0x61, 0x04, 0x02, 0x61, 0x05, 0x02, 0x61, + 0x06, 0x02, 0x61, 0x07, 0x02, 0x61, 0x08, 0x02, + 0x61, 0x09, 0x03, 0x61, 0x02, 0x03, 0x61, 0x03, + 0x03, 0x61, 0x04, 0x03, 0x61, 0x05, 0x03, 0x61, + 0x06, 0x03, 0x61, 0x07, 0x04, 0x61, 0x02, 0x04, + 0x61, 0x03, 0x04, 0x61, 0x04, 0x05, 0x61, 0x02, + 0x05, 0x61, 0x03, 0x05, 0x61, 0x04, 0x05, 0x61, + 0x05, 0x05, 0x61, 0x06, 0x06, 0x61, 0x03, 0x06, + 0x61, 0x05, 0x06, 0x61, 0x06, 0x06, 0x62, 0x02, + 0x06, 0x61, 0x02, 0x06, 0x61, 0x04, 0x08, 0x61, + 0x02, 0x08, 0x61, 0x03, 0x08, 0x61, 0x04, 0x08, + 0x61, 0x05, 0x08, 0x61, 0x06, 0x08, 0x61, 0x07, + 0x08, 0x62, 0x02, 0x08, 0x62, 0x03, 0x01, 0x61, + 0x09, 0x03, 0x62, 0x02, 0x03, 0x62, 0x03, 0x03, + 0x62, 0x04, 0x03, 0x62, 0x05, 0x03, 0x62, 0x06, + 0x03, 0x62, 0x07, 0x03, 0x62, 0x08, 0x04, 0x61, + 0x05, 0x04, 0x61, 0x06, 0x04, 0x61, 0x07, 0x04, + 0x61, 0x08, 0x05, 0x62, 0x02, 0x05, 0x62, 0x03, + 0x05, 0x62, 0x04, 0x07, 0x61, 0x02, 0x07, 0x61, + 0x03, 0x01, 0x64, 0x0A, 0x03, 0x62, 0x09, 0x01, + 0x64, 0x04, 0x05, 0x62, 0x05, 0x05, 0x62, 0x06 +}; + +static const ByteProvider kLoLMusicTrackMapDOSProvider = { ARRAYSIZE(kLoLMusicTrackMapDOS), kLoLMusicTrackMapDOS }; + +static const byte kLoLIngameGMSfxIndexDOS[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x1A, 0x0B, 0xFF, 0xFF, 0xFF, + 0xFF, 0x25, 0x0B, 0x07, 0x25, 0x25, 0x25, 0x25, + 0x25, 0x25, 0x25, 0x1A, 0x11, 0x0E, 0x0E, 0x05, + 0x05, 0x11, 0x05, 0x05, 0x11, 0x05, 0x05, 0x11, + 0x2A, 0x2B, 0x06, 0xFF, 0x05, 0x05, 0x2B, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x25, + 0x25, 0x25, 0x25, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x08, 0x29, 0x29, 0x27, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x01, 0x0E, + 0x09, 0x09, 0x0A, 0x12, 0xE7, 0x29, 0xFF, 0xFF, + 0xFF, 0xFF, 0x18, 0x27, 0x13, 0x10, 0x1A, 0x1A, + 0xFF, 0xFF, 0x12, 0x26, 0xFF, 0x02, 0x05, 0x05, + 0x0F, 0xFF, 0xFF, 0xFF, 0x02, 0x05, 0x21, 0x1A, + 0xFF, 0xFF, 0xFF, 0xFF, 0x28, 0x0A, 0x19, 0xFF, + 0x0B, 0x06, 0x02, 0x02, 0x03, 0x02, 0xFF, 0xFF, + 0x0A, 0x0A, 0x0F, 0xFF, 0xFF, 0x0C, 0x1B, 0x22, + 0xFF, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x02, + 0x03, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x29, 0x0A, 0x0A, 0x27, 0x0A, 0x28, 0x0A, 0x0A, + 0x06, 0xFF, 0x29, 0x29, 0x29, 0x28, 0x12, 0x12, + 0x12, 0x29, 0x29, 0x29, 0x25, 0x29, 0x27, 0x27, + 0x0C, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x22, 0x1B, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x16, 0xFF, 0x16, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x16, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngameGMSfxIndexDOSProvider = { ARRAYSIZE(kLoLIngameGMSfxIndexDOS), kLoLIngameGMSfxIndexDOS }; + +static const byte kLoLIngameMT32SfxIndexDOS[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x30, 0x2E, 0xFF, 0xFF, 0xFF, + 0xFF, 0x2C, 0x31, 0x02, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x1A, 0x0C, 0x03, 0x04, 0x0B, + 0x0A, 0x0C, 0x0B, 0x0A, 0x0C, 0x0B, 0x0A, 0x0C, + 0x24, 0x25, 0x0D, 0x02, 0x0B, 0x0A, 0x25, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, + 0x2C, 0x2C, 0x2C, 0xFF, 0xFF, 0xFF, 0x2E, 0x2E, + 0x2E, 0x2E, 0x31, 0x31, 0x1B, 0x10, 0x23, 0x21, + 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x03, 0x04, + 0x2B, 0x2A, 0x32, 0x21, 0x18, 0x23, 0x1B, 0x1B, + 0x1B, 0xFF, 0x17, 0x33, 0x32, 0x08, 0x1A, 0x19, + 0x02, 0x02, 0x0E, 0x32, 0x09, 0x17, 0x0B, 0x0B, + 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0x01, 0x1A, + 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x08, 0x34, 0xFF, + 0x31, 0x0D, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, + 0x0F, 0x34, 0x07, 0xFF, 0xFF, 0x31, 0x1A, 0x26, + 0xFF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x05, + 0x06, 0x33, 0x34, 0x34, 0x34, 0x34, 0x34, 0x33, + 0x32, 0x34, 0x34, 0x32, 0x34, 0x33, 0x34, 0xFF, + 0x27, 0xFF, 0x23, 0x23, 0x23, 0x21, 0x0E, 0x0E, + 0x0E, 0x23, 0x23, 0x23, 0x2C, 0x32, 0x33, 0x33, + 0x2F, 0x19, 0xFF, 0xFF, 0xFF, 0x18, 0x17, 0x18, + 0x18, 0x17, 0x18, 0x26, 0x06, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x15, 0xFF, 0x15, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, + 0x26, 0x26, 0x26, 0x15, 0x31, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngameMT32SfxIndexDOSProvider = { ARRAYSIZE(kLoLIngameMT32SfxIndexDOS), kLoLIngameMT32SfxIndexDOS }; + +static const byte kLoLIngamePcSpkSfxIndexDOS[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x04, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0x17, 0x0C, 0x10, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x04, 0x14, 0x02, 0x02, 0x05, + 0x05, 0x14, 0x05, 0x05, 0x05, 0x14, 0x05, 0x05, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x05, 0x01, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x17, + 0x17, 0x17, 0x17, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x12, 0x0E, 0x0F, 0x11, + 0x0F, 0x11, 0x12, 0x11, 0x12, 0x12, 0x01, 0x01, + 0x02, 0x0A, 0x15, 0x12, 0x0A, 0x0F, 0x15, 0x15, + 0x15, 0xFF, 0x0A, 0xFF, 0x16, 0x05, 0x0A, 0x0A, + 0x10, 0x10, 0x07, 0x15, 0xFF, 0x0A, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x10, 0x0A, + 0x13, 0x13, 0xFF, 0xFF, 0xFF, 0x01, 0x0A, 0xFF, + 0x0C, 0x00, 0x02, 0x02, 0x02, 0x02, 0xFF, 0xFF, + 0xFF, 0x15, 0x05, 0xFF, 0xFF, 0x0C, 0x16, 0x0B, + 0xFF, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, + 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x03, 0xFF, + 0x02, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, + 0x08, 0x16, 0x16, 0x16, 0x17, 0x16, 0x16, 0x16, + 0x0B, 0x0A, 0xFF, 0xFF, 0xFF, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x06, 0x10, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x14, 0xFF, 0x14, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, + 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, + 0x0B, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x14, 0x0B, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngamePcSpkSfxIndexDOSProvider = { ARRAYSIZE(kLoLIngamePcSpkSfxIndexDOS), kLoLIngamePcSpkSfxIndexDOS }; + +static const SpellProperty kLoLSpellPropertiesDOS[10] = { + { 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 }, + { 16437, { 5, 10, 25, 60 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0001 }, + { 16438, { 8, 15, 30, 80 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0102 }, + { 16440, { 20, 35, 65, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0103 }, + { 16441, { 30, 60, 90, 120 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0104 }, + { 16442, { 30, 60, 90, 150 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0105 }, + { 16439, { 25, 30, 50, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0106 }, + { 16443, { 3, 6, 12, 24 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0107 }, + { 16975, { 15, 15, 15, 15 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 }, + { 16975, { 15, 15, 15, 15 }, 15, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 } +}; + +static const SpellPropertyProvider kLoLSpellPropertiesDOSProvider = { ARRAYSIZE(kLoLSpellPropertiesDOS), kLoLSpellPropertiesDOS }; + +static const byte kLoLGameShapeMapDOS[276] = { + 0x15, 0x54, 0x05, 0x35, 0x09, 0x36, 0x00, 0x34, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x3A, 0x26, 0x3B, + 0x05, 0x35, 0x07, 0x37, 0x18, 0x3E, 0x0D, 0x3C, + 0x06, 0x40, 0x06, 0x3D, 0x01, 0x54, 0x01, 0x54, + 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x04, 0x54, + 0x04, 0x54, 0x2D, 0x54, 0x2D, 0x54, 0x0B, 0x39, + 0x24, 0x54, 0x03, 0x38, 0x00, 0x3A, 0x1E, 0x3C, + 0x1E, 0x3C, 0x1B, 0x54, 0x14, 0x54, 0x29, 0x54, + 0x02, 0x54, 0x0C, 0x54, 0x22, 0x54, 0x21, 0x3F, + 0x0D, 0x3C, 0x25, 0x54, 0x1A, 0x3F, 0x04, 0x54, + 0x30, 0x54, 0x31, 0x54, 0x32, 0x54, 0x32, 0x54, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, + 0x17, 0x54, 0x17, 0x54, 0x0E, 0x54, 0x0E, 0x54, + 0x0E, 0x54, 0x26, 0x3B, 0x2C, 0x54, 0x21, 0x3F, + 0x07, 0x37, 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x22, 0x54, 0x22, 0x54, + 0x16, 0x54, 0x2D, 0x54, 0x3B, 0x54, 0x3B, 0x54, + 0x3A, 0x54, 0x17, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x17, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, + 0x1F, 0x54, 0x17, 0x54, 0x27, 0x54, 0x1B, 0x54, + 0x1E, 0x3C, 0x2A, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, + 0x34, 0x54, 0x0F, 0x54, 0x35, 0x41, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x2B, 0x54, + 0x1D, 0x54, 0x1D, 0x54, 0x28, 0x54, 0x28, 0x54, + 0x28, 0x54, 0x28, 0x54, 0x01, 0x54, 0x14, 0x54, + 0x14, 0x54, 0x14, 0x54, 0x14, 0x54, 0x1B, 0x54, + 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x36, 0x54, 0x37, 0x54, 0x38, 0x54, + 0x39, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x27, 0x54, 0x2E, 0x54, 0x2E, 0x54, + 0x2E, 0x54, 0x2E, 0x54, 0x17, 0x54, 0x01, 0x54, + 0x1C, 0x54, 0x1C, 0x54 +}; + +static const ByteProvider kLoLGameShapeMapDOSProvider = { ARRAYSIZE(kLoLGameShapeMapDOS), kLoLGameShapeMapDOS }; + +static const byte kLoLSceneItemOffsDOS[8] = { + 0x00, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x01, 0xFF +}; + +static const ByteProvider kLoLSceneItemOffsDOSProvider = { ARRAYSIZE(kLoLSceneItemOffsDOS), kLoLSceneItemOffsDOS }; + +static const byte kLoLCharInvIndexDOS[5] = { + 0x00, 0x00, 0x03, 0x01, 0x02 +}; + +static const ByteProvider kLoLCharInvIndexDOSProvider = { ARRAYSIZE(kLoLCharInvIndexDOS), kLoLCharInvIndexDOS }; + +static const byte kLoLCharInvDefsDOS[88] = { + 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, + 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, 0x50, 0x1C, + 0x05, 0x5D, 0x0F, 0x4E, 0x50, 0x4E, 0x05, 0x19, + 0x50, 0x19, 0x05, 0x49, 0x50, 0x49, 0x05, 0x01, + 0x05, 0x31, 0x50, 0x01, 0x50, 0x31, 0x05, 0x61, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x34, 0x50, 0x34, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, + 0x50, 0x04, 0x50, 0x1C, 0x05, 0x5D, 0x0F, 0x4E, + 0x50, 0x4E, 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, + 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, + 0x50, 0x1C, 0xFF, 0xFF, 0x0F, 0x4E, 0x50, 0x4E +}; + +static const ByteProvider kLoLCharInvDefsDOSProvider = { ARRAYSIZE(kLoLCharInvDefsDOS), kLoLCharInvDefsDOS }; + +static const uint16 kLoLCharDefsManDOS[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsManDOSProvider = { ARRAYSIZE(kLoLCharDefsManDOS), kLoLCharDefsManDOS }; + +static const uint16 kLoLCharDefsWomanDOS[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsWomanDOSProvider = { ARRAYSIZE(kLoLCharDefsWomanDOS), kLoLCharDefsWomanDOS }; + +static const uint16 kLoLCharDefsKieranDOS[9] = { + 0x0180, 0x0080, 0x00C0, 0x0032, 0x0200, 0x00A6, 0x0100, 0x0140, + 0x0006 +}; + +static const Uint16Provider kLoLCharDefsKieranDOSProvider = { ARRAYSIZE(kLoLCharDefsKieranDOS), kLoLCharDefsKieranDOS }; + +static const uint16 kLoLCharDefsAkshelDOS[9] = { + 0x00C0, 0x00C0, 0x0140, 0x0032, 0x0100, 0x0180, 0x0180, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsAkshelDOSProvider = { ARRAYSIZE(kLoLCharDefsAkshelDOS), kLoLCharDefsAkshelDOS }; + +static const uint32 kLoLExpRequirementsDOS[11] = { + 0x00000000, 0x000001F4, 0x000005DC, 0x00001388, 0x000061A8, 0x0000C350, 0x00013880, 0x0001D4C0, + 0x0002BF20, 0x00041EB0, 0x7FFFFFFF +}; + +static const Uint32Provider kLoLExpRequirementsDOSProvider = { ARRAYSIZE(kLoLExpRequirementsDOS), kLoLExpRequirementsDOS }; + +static const uint16 kLoLMonsterModifiers1DOS[3] = { + 0x00C0, 0x0100, 0x0180 +}; + +static const Uint16Provider kLoLMonsterModifiers1DOSProvider = { ARRAYSIZE(kLoLMonsterModifiers1DOS), kLoLMonsterModifiers1DOS }; + +static const uint16 kLoLMonsterModifiers2DOS[3] = { + 0x0100, 0x0100, 0x00C0 +}; + +static const Uint16Provider kLoLMonsterModifiers2DOSProvider = { ARRAYSIZE(kLoLMonsterModifiers2DOS), kLoLMonsterModifiers2DOS }; + +static const uint16 kLoLMonsterModifiers3DOS[3] = { + 0x0140, 0x0100, 0x0080 +}; + +static const Uint16Provider kLoLMonsterModifiers3DOSProvider = { ARRAYSIZE(kLoLMonsterModifiers3DOS), kLoLMonsterModifiers3DOS }; + +static const byte kLoLMonsterShiftOffsetsDOS[32] = { + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0x00 +}; + +static const ByteProvider kLoLMonsterShiftOffsetsDOSProvider = { ARRAYSIZE(kLoLMonsterShiftOffsetsDOS), kLoLMonsterShiftOffsetsDOS }; + +static const byte kLoLMonsterDirFlagsDOS[16] = { + 0x08, 0x14, 0x00, 0x04, 0x04, 0x08, 0x14, 0x00, + 0x00, 0x04, 0x08, 0x14, 0x14, 0x00, 0x04, 0x08 +}; + +static const ByteProvider kLoLMonsterDirFlagsDOSProvider = { ARRAYSIZE(kLoLMonsterDirFlagsDOS), kLoLMonsterDirFlagsDOS }; + +static const byte kLoLMonsterScaleYDOS[30] = { + 0x7C, 0x78, 0x74, 0x70, 0x6C, 0x68, 0x65, 0x62, + 0x5F, 0x5C, 0x59, 0x56, 0x53, 0x50, 0x4D, 0x4A, + 0x48, 0x46, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, + 0x3C, 0x3B, 0x3A, 0x39, 0x38, 0x38 +}; + +static const ByteProvider kLoLMonsterScaleYDOSProvider = { ARRAYSIZE(kLoLMonsterScaleYDOS), kLoLMonsterScaleYDOS }; + +static const byte kLoLMonsterScaleXDOS[32] = { + 0x98, 0x98, 0x90, 0x88, 0x80, 0x76, 0x6E, 0x68, + 0x62, 0x5C, 0x58, 0x54, 0x50, 0x4A, 0x44, 0x40, + 0x3C, 0x38, 0x36, 0x32, 0x30, 0x2C, 0x2A, 0x28, + 0x26, 0x24, 0x22, 0x20, 0x20, 0x1E, 0x18, 0x10 +}; + +static const ByteProvider kLoLMonsterScaleXDOSProvider = { ARRAYSIZE(kLoLMonsterScaleXDOS), kLoLMonsterScaleXDOS }; + +static const uint16 kLoLMonsterScaleWHDOS[65] = { + 0x0041, 0x0045, 0x0049, 0x004D, 0x0051, 0x0055, 0x0059, 0x005D, + 0x0062, 0x0066, 0x006A, 0x006E, 0x0072, 0x0076, 0x007A, 0x007E, + 0x0082, 0x0086, 0x008A, 0x008E, 0x0092, 0x0096, 0x009A, 0x009E, + 0x00A3, 0x00A7, 0x00AB, 0x00AF, 0x00B3, 0x00B7, 0x00BB, 0x00BF, + 0x00C3, 0x00C7, 0x00CB, 0x00CF, 0x00D3, 0x00D7, 0x00DB, 0x00DF, + 0x00E4, 0x00E8, 0x00EC, 0x00F0, 0x00F4, 0x00F8, 0x00FC, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100 +}; + +static const Uint16Provider kLoLMonsterScaleWHDOSProvider = { ARRAYSIZE(kLoLMonsterScaleWHDOS), kLoLMonsterScaleWHDOS }; + +static const FlyingObjectShape kLoLFlyingObjectShpDOS[13] = { + { 0, 0, 1, 0x00, 0x40, }, + { 2, 2, 3, 0x00, 0x00, }, + { 4, 4, 4, 0x00, 0x00, }, + { 5, 5, 5, 0x20, 0x00, }, + { 6, 6, 6, 0x20, 0x00, }, + { 7, 7, 7, 0x20, 0x00, }, + { 9, 8, 15, 0x00, 0x00, }, + { 11, 10, 12, 0x00, 0x00, }, + { 12, 12, 12, 0x20, 0x00, }, + { 14, 13, 15, 0x00, 0x00, }, + { 16, 16, 16, 0x00, 0x00, }, + { 17, 17, 17, 0x20, 0x00, }, + { 18, 18, 18, 0x00, 0x00, } +}; + +static const FlyingObjectShapeProvider kLoLFlyingObjectShpDOSProvider = { ARRAYSIZE(kLoLFlyingObjectShpDOS), kLoLFlyingObjectShpDOS }; + +static const uint16 kLoLInventoryDescDOS[11] = { + 0x417A, 0x417B, 0x417A, 0x417B, 0x417C, 0x417D, 0x417E, 0x417F, + 0x4180, 0x4181, 0x4181 +}; + +static const Uint16Provider kLoLInventoryDescDOSProvider = { ARRAYSIZE(kLoLInventoryDescDOS), kLoLInventoryDescDOS }; + +static const char *const kLoLLevelShpListDOS[12] = { + "KEEP.SHP", + "FOREST1.SHP", + "MANOR.SHP", + "CAVE1.SHP", + "SWAMP.SHP", + "URBISH.SHP", + "MINE1.SHP", + "TOWER1.SHP", + "YVEL1.SHP", + "CATWALK.SHP", + "RUIN.SHP", + "CIMMERIA.SHP" +}; + +static const StringListProvider kLoLLevelShpListDOSProvider = { ARRAYSIZE(kLoLLevelShpListDOS), kLoLLevelShpListDOS }; + +static const char *const kLoLLevelDatListDOS[12] = { + "KEEP.DAT", + "FOREST1.DAT", + "MANOR.DAT", + "CAVE1.DAT", + "SWAMP.DAT", + "URBISH.DAT", + "MINE1.DAT", + "TOWER1.DAT", + "YVEL1.DAT", + "CATWALK.DAT", + "RUIN.DAT", + "CIMMERIA.DAT" +}; + +static const StringListProvider kLoLLevelDatListDOSProvider = { ARRAYSIZE(kLoLLevelDatListDOS), kLoLLevelDatListDOS }; + +static const CompassDef kLoLCompassDefsDOS[32] = { + { 0, 3, -3, 0x00 }, + { 1, 3, -3, 0x00 }, + { 2, 3, -3, 0x00 }, + { 3, 5, -3, 0x00 }, + { 4, 5, -3, 0x00 }, + { 5, 6, -3, 0x00 }, + { 6, 6, -3, 0x00 }, + { 7, 6, -3, 0x00 }, + { 8, 6, -3, 0x00 }, + { 7, 6, 4, 0x02 }, + { 6, 6, 4, 0x02 }, + { 5, 6, 4, 0x02 }, + { 4, 5, 4, 0x02 }, + { 3, 5, 4, 0x02 }, + { 2, 3, 4, 0x02 }, + { 1, 3, 4, 0x02 }, + { 0, 3, 4, 0x02 }, + { 1, 2, 4, 0x03 }, + { 2, 2, 4, 0x03 }, + { 3, 0, 4, 0x03 }, + { 4, 0, 4, 0x03 }, + { 5, -1, 4, 0x03 }, + { 6, -1, 4, 0x03 }, + { 7, -1, 4, 0x03 }, + { 8, -1, -3, 0x01 }, + { 7, -1, -3, 0x01 }, + { 6, -1, -3, 0x01 }, + { 5, -1, -3, 0x01 }, + { 4, 0, -3, 0x01 }, + { 3, 0, -3, 0x01 }, + { 2, 2, -3, 0x01 }, + { 1, 2, -3, 0x01 } +}; + +static const CompassDefProvider kLoLCompassDefsDOSProvider = { ARRAYSIZE(kLoLCompassDefsDOS), kLoLCompassDefsDOS }; + +static const byte kLoLStashSetupDOS[12] = { + 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x00, 0x01, 0x01 +}; + +static const ByteProvider kLoLStashSetupDOSProvider = { ARRAYSIZE(kLoLStashSetupDOS), kLoLStashSetupDOS }; + +static const byte kLoLDscWallsDOS[36] = { + 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, + 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0x02, 0x01, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0x02, 0x03, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0xFF, 0x01, + 0x02, 0xFF, 0xFF, 0x03 +}; + +static const ByteProvider kLoLDscWallsDOSProvider = { ARRAYSIZE(kLoLDscWallsDOS), kLoLDscWallsDOS }; + +static const byte kLoLDscShapeIndexDOS[36] = { + 0x03, 0x09, 0x03, 0x08, 0x03, 0x07, 0x03, 0x03, + 0x03, 0xF9, 0x03, 0xF8, 0x03, 0xF7, 0x02, 0x09, + 0x02, 0x06, 0x02, 0x02, 0x02, 0xFA, 0x02, 0xF7, + 0x01, 0x05, 0x01, 0x01, 0x01, 0xFB, 0x00, 0x04, + 0x00, 0x00, 0x00, 0xFC +}; + +static const ByteProvider kLoLDscShapeIndexDOSProvider = { ARRAYSIZE(kLoLDscShapeIndexDOS), kLoLDscShapeIndexDOS }; + +static const byte kLoLDscOvlMapDOS[10] = { + 0x00, 0x01, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x04 +}; + +static const ByteProvider kLoLDscOvlMapDOSProvider = { ARRAYSIZE(kLoLDscOvlMapDOS), kLoLDscOvlMapDOS }; + +static const uint16 kLoLDscScaleWidthDataDOS[36] = { + 0x0060, 0x0000, 0x0060, 0x00CE, 0x0060, 0x0055, 0x0060, 0x0000, + 0x0060, 0x0055, 0x0060, 0x00CE, 0x0060, 0x0000, 0x00A0, 0x00AE, + 0x00A0, 0x00AA, 0x00A0, 0x0000, 0x00A0, 0x00AA, 0x00A0, 0x00AE, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleWidthDataDOSProvider = { ARRAYSIZE(kLoLDscScaleWidthDataDOS), kLoLDscScaleWidthDataDOS }; + +static const uint16 kLoLDscScaleHeightDataDOS[36] = { + 0x006A, 0x0000, 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, + 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, 0x00AA, 0x0056, + 0x00AA, 0x00AA, 0x00AA, 0x0000, 0x00AA, 0x00AA, 0x00AA, 0x0056, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleHeightDataDOSProvider = { ARRAYSIZE(kLoLDscScaleHeightDataDOS), kLoLDscScaleHeightDataDOS }; + +static const uint16 kLoLDscXDOS[36] = { + 0xFFB0, 0xFFE0, 0xFFE0, 0x0010, 0x0010, 0x0040, 0x0040, 0x0000, + 0x0070, 0x0070, 0x00A0, 0x00A0, 0x00D0, 0x00D0, 0xFF86, 0x0000, + 0xFFE0, 0x0030, 0x0030, 0x0000, 0x0080, 0x0080, 0x00D0, 0x00B0, + 0xFF98, 0x0018, 0x0018, 0x0000, 0x0098, 0x0098, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00B0, 0x00B0 +}; + +static const Uint16Provider kLoLDscXDOSProvider = { ARRAYSIZE(kLoLDscXDOS), kLoLDscXDOS }; + +static const byte kLoLBaseDscYDOS[36] = { + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x1C, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x1C, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLBaseDscYDOSProvider = { ARRAYSIZE(kLoLBaseDscYDOS), kLoLBaseDscYDOS }; + +static const byte kLoLDscTileIndexDOS[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kLoLDscTileIndexDOSProvider = { ARRAYSIZE(kLoLDscTileIndexDOS), kLoLDscTileIndexDOS }; + +static const byte kLoLDscUnk2DOS[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kLoLDscUnk2DOSProvider = { ARRAYSIZE(kLoLDscUnk2DOS), kLoLDscUnk2DOS }; + +static const byte kLoLDscDoorShapeIndexDOS[23] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + +static const ByteProvider kLoLDscDoorShapeIndexDOSProvider = { ARRAYSIZE(kLoLDscDoorShapeIndexDOS), kLoLDscDoorShapeIndexDOS }; + +static const byte kLoLDscDimData1DOS[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xF8, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFA, 0xD7, 0x10, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0x0E, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, + 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFA, 0xD7, + 0x10, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kLoLDscDimData1DOSProvider = { ARRAYSIZE(kLoLDscDimData1DOS), kLoLDscDimData1DOS }; + +static const byte kLoLDscDimData2DOS[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kLoLDscDimData2DOSProvider = { ARRAYSIZE(kLoLDscDimData2DOS), kLoLDscDimData2DOS }; + +static const byte kLoLDscBlockMapDOS[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kLoLDscBlockMapDOSProvider = { ARRAYSIZE(kLoLDscBlockMapDOS), kLoLDscBlockMapDOS }; + +static const byte kLoLDscDimMapDOS[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kLoLDscDimMapDOSProvider = { ARRAYSIZE(kLoLDscDimMapDOS), kLoLDscDimMapDOS }; + +static const byte kLoLDscOvlIndexDOS[20] = { + 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, + 0x06, 0x07, 0x07, 0x07 +}; + +static const ByteProvider kLoLDscOvlIndexDOSProvider = { ARRAYSIZE(kLoLDscOvlIndexDOS), kLoLDscOvlIndexDOS }; + +static const byte kLoLDscBlockIndexDOS[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kLoLDscBlockIndexDOSProvider = { ARRAYSIZE(kLoLDscBlockIndexDOS), kLoLDscBlockIndexDOS }; + +static const byte kLoLDscDoorY2DOS[128] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x08, 0x03, 0x12, 0x0E, 0x09, 0x04, 0x00, + 0x13, 0x0F, 0x0A, 0x05, 0x01, 0x14, 0x10, 0x0B, + 0x06, 0x02, 0x11, 0x0C, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, + 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0C, 0x11, 0x02, 0x06, 0x0B, 0x10, 0x14, + 0x01, 0x05, 0x0A, 0x0F, 0x13, 0x00, 0x04, 0x09, + 0x0E, 0x12, 0x03, 0x08, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLDscDoorY2DOSProvider = { ARRAYSIZE(kLoLDscDoorY2DOS), kLoLDscDoorY2DOS }; + +static const byte kLoLDscDoorFrameY1DOS[4] = { + 0x1E, 0x18, 0x10, 0x00 +}; + +static const ByteProvider kLoLDscDoorFrameY1DOSProvider = { ARRAYSIZE(kLoLDscDoorFrameY1DOS), kLoLDscDoorFrameY1DOS }; + +static const byte kLoLDscDoorFrameY2DOS[4] = { + 0x3B, 0x47, 0x56, 0x78 +}; + +static const ByteProvider kLoLDscDoorFrameY2DOSProvider = { ARRAYSIZE(kLoLDscDoorFrameY2DOS), kLoLDscDoorFrameY2DOS }; + +static const uint16 kLoLDscDoorScaleDOS[8] = { + 0x0075, 0x006A, 0x00B9, 0x00B2, 0x0100, 0x0100, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorScaleDOSProvider = { ARRAYSIZE(kLoLDscDoorScaleDOS), kLoLDscDoorScaleDOS }; + +static const uint16 kLoLDscDoor4DOS[4] = { + 0x0005, 0x0002, 0x0008, 0x787C +}; + +static const Uint16Provider kLoLDscDoor4DOSProvider = { ARRAYSIZE(kLoLDscDoor4DOS), kLoLDscDoor4DOS }; + +static const uint16 kLoLDscDoorXDOS[576] = { + 0xFF98, 0xFFA0, 0xFFA8, 0xFF90, 0xFF98, 0xFFA0, 0xFFA8, 0xFFB0, + 0xFF74, 0xFF7E, 0xFF88, 0xFF92, 0xFF9C, 0xFF74, 0xFF7E, 0xFF88, + 0xFF92, 0xFF9C, 0xFF64, 0xFF70, 0xFF7C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFB8, 0xFFC0, 0xFFC8, 0xFFB0, 0xFFB8, 0xFFC0, 0xFFC8, 0xFFD0, + 0xFF9C, 0xFFA6, 0xFFB0, 0xFFBA, 0xFFC4, 0xFF9C, 0xFFA6, 0xFFB0, + 0xFFBA, 0xFFC4, 0xFF94, 0xFFA0, 0xFFAC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD8, 0xFFE0, 0xFFE8, 0xFFD0, 0xFFD8, 0xFFE0, 0xFFE8, 0xFFF0, + 0xFFC4, 0xFFCE, 0xFFD8, 0xFFE2, 0xFFEC, 0xFFC4, 0xFFCE, 0xFFD8, + 0xFFE2, 0xFFEC, 0xFFC4, 0xFFD0, 0xFFDC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0x0000, 0x0008, 0xFFF0, 0xFFF8, 0x0000, 0x0008, 0x0010, + 0xFFEC, 0xFFF6, 0x0000, 0x000A, 0x0014, 0xFFEC, 0xFFF6, 0x0000, + 0x000A, 0x0014, 0xFFF4, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0018, 0x0020, 0x0028, 0x0010, 0x0018, 0x0020, 0x0028, 0x0030, + 0x0014, 0x001E, 0x0028, 0x0032, 0x003C, 0x0014, 0x001E, 0x0028, + 0x0032, 0x003C, 0x0024, 0x0030, 0x003C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0038, 0x0040, 0x0048, 0x0030, 0x0038, 0x0040, 0x0048, 0x0050, + 0x003C, 0x0046, 0x0050, 0x005A, 0x0064, 0x003C, 0x0046, 0x0050, + 0x005A, 0x0064, 0x0054, 0x0060, 0x006C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0058, 0x0060, 0x0068, 0x0050, 0x0058, 0x0060, 0x0068, 0x0070, + 0x0064, 0x006E, 0x0078, 0x0082, 0x008C, 0x0064, 0x006E, 0x0078, + 0x0082, 0x008C, 0x0084, 0x0090, 0x009C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF94, 0xFFA0, 0xFFAC, 0xFF7E, 0xFF8B, 0xFF98, 0xFFA5, 0xFFB2, + 0xFF6C, 0xFF7B, 0xFF8A, 0xFF99, 0xFFA7, 0xFF60, 0xFF70, 0xFF80, + 0xFF90, 0xFFA0, 0xFF4C, 0xFF60, 0xFF74, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC4, 0xFFD0, 0xFFDC, 0xFFB2, 0xFFBF, 0xFFCC, 0xFFD9, 0xFFE6, + 0xFFA7, 0xFFB6, 0xFFC5, 0xFFD4, 0xFFE2, 0xFFA0, 0xFFB0, 0xFFC0, + 0xFFD0, 0xFFE0, 0xFF9C, 0xFFB0, 0xFFC4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF4, 0x0000, 0x000C, 0xFFE6, 0xFFF3, 0x0000, 0x000D, 0x001A, + 0xFFE2, 0xFFF1, 0x0000, 0x000F, 0x001E, 0xFFE0, 0xFFF0, 0x0000, + 0x0010, 0x0020, 0xFFEC, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0030, 0x003C, 0x001A, 0x0027, 0x0034, 0x0041, 0x004E, + 0x001E, 0x002C, 0x003B, 0x004A, 0x0059, 0x0020, 0x0030, 0x0040, + 0x0050, 0x0060, 0x003C, 0x0050, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0054, 0x0060, 0x006C, 0x004E, 0x005B, 0x0068, 0x0075, 0x0082, + 0x0059, 0x0067, 0x0076, 0x0085, 0x0094, 0x0060, 0x0070, 0x0080, + 0x0090, 0x00A0, 0x008C, 0x00A0, 0x00B4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF9C, 0xFFB0, 0xFFC4, 0xFF7C, 0xFF92, 0xFFA8, 0xFFBE, 0xFFD4, + 0xFF6D, 0xFF85, 0xFF9E, 0xFFB6, 0xFFCF, 0xFF5E, 0xFF79, 0xFF94, + 0xFFAF, 0xFFCA, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFEC, 0x0000, 0x0014, 0xFFD4, 0xFFEA, 0x0000, 0x0016, 0x002C, + 0xFFCF, 0xFFE7, 0x0000, 0x0019, 0x0031, 0xFFCA, 0xFFE5, 0x0000, + 0x001B, 0x0036, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x003C, 0x0050, 0x0064, 0x002C, 0x0042, 0x0058, 0x006E, 0x0084, + 0x0031, 0x004A, 0x0062, 0x007B, 0x0093, 0x0036, 0x0051, 0x006C, + 0x0087, 0x00A2, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF60, 0xFF80, 0xFFA0, 0xFF1C, 0xFF42, 0xFF68, 0xFF8E, 0xFFB4, + 0xFF40, 0xFF60, 0xFF80, 0xFFA0, 0xFFC0, 0xFF1C, 0xFF42, 0xFF68, + 0xFF8E, 0xFFB4, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFE0, 0x0000, 0x0020, 0xFFB4, 0xFFDA, 0x0000, 0x0026, 0x004C, + 0xFFC0, 0xFFE0, 0x0000, 0x0020, 0x0040, 0xFFB4, 0xFFDA, 0x0000, + 0x0026, 0x004C, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0060, 0x0080, 0x00A0, 0x004C, 0x0072, 0x0098, 0x00BE, 0x00E4, + 0x0040, 0x0060, 0x0080, 0x00A0, 0x00C0, 0x004C, 0x0072, 0x0098, + 0x00BE, 0x00E4, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorXDOSProvider = { ARRAYSIZE(kLoLDscDoorXDOS), kLoLDscDoorXDOS }; + +static const uint16 kLoLDscDoorYDOS[576] = { + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorYDOSProvider = { ARRAYSIZE(kLoLDscDoorYDOS), kLoLDscDoorYDOS }; + +static const byte kLoLScrollXTopDOS[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXTopDOSProvider = { ARRAYSIZE(kLoLScrollXTopDOS), kLoLScrollXTopDOS }; + +static const byte kLoLScrollYTopDOS[5] = { + 0x02, 0x04, 0x07, 0x09, 0x0C +}; + +static const ByteProvider kLoLScrollYTopDOSProvider = { ARRAYSIZE(kLoLScrollYTopDOS), kLoLScrollYTopDOS }; + +static const byte kLoLScrollXBottomDOS[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXBottomDOSProvider = { ARRAYSIZE(kLoLScrollXBottomDOS), kLoLScrollXBottomDOS }; + +static const byte kLoLScrollYBottomDOS[5] = { + 0x04, 0x08, 0x0C, 0x10, 0x14 +}; + +static const ByteProvider kLoLScrollYBottomDOSProvider = { ARRAYSIZE(kLoLScrollYBottomDOS), kLoLScrollYBottomDOS }; + +static const LoLButtonDef kLoLButtonDefsDOS[95] = { + { 0x1100, 96, 352, 33, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 97, 353, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 98, 354, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 92, 348, 11, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 102, 358, 53, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 91, 347, 11, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 101, 357, 53, 131, 22, 19, 0x0000, 0 }, + { 0x0100, 112, 0, 80, 143, 22, 17, 0x0000, 0 }, + { 0x0100, 113, 0, 80, 143, 22, 17, 0x0001, 0 }, + { 0x0100, 114, 0, 80, 143, 22, 17, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 22, 17, 0x0003, 0 }, + { 0x1100, 116, 0, 80, 160, 22, 17, 0x0000, 0 }, + { 0x1100, 117, 0, 80, 160, 22, 17, 0x0001, 0 }, + { 0x1100, 118, 0, 80, 160, 22, 17, 0x0002, 0 }, + { 0x1100, 119, 0, 80, 160, 22, 17, 0x0003, 0 }, + { 0x1100, 119, 0, 80, 144, 22, 32, 0x0000, 0 }, + { 0x1100, 110, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 112, 0, 80, 143, 33, 34, 0x0000, 0 }, + { 0x0100, 113, 0, 80, 143, 33, 34, 0x0001, 0 }, + { 0x0100, 114, 0, 80, 143, 33, 34, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 33, 34, 0x0003, 0 }, + { 0x0100, 112, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 113, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 114, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x0100, 115, 0, 80, 143, 12, 34, 0x0000, 0 }, + { 0x0100, 115, 0, 80, 143, 12, 34, 0x0001, 0 }, + { 0x0100, 115, 0, 80, 143, 12, 34, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 12, 34, 0x0003, 0 }, + { 0x1000, 112, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x1000, 113, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x1000, 114, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x1000, 115, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0002, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0004, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0005, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0006, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0007, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0008, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x0009, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x000A, 2 }, + { 0x1100, 110, 0, 160, 93, 43, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 102, 88, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 88, 102, 88, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 85, 88, 17, 0x0002, 2 }, + { 0x1100, 0, 0, 88, 85, 88, 17, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 106, 179, 21, 21, 0x0000, 0 }, + { 0x1100, 0, 0, 127, 179, 21, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 148, 179, 21, 21, 0x0002, 0 }, + { 0x1100, 0, 0, 169, 179, 21, 21, 0x0003, 0 }, + { 0x1100, 0, 0, 190, 179, 21, 21, 0x0004, 0 }, + { 0x1100, 0, 0, 211, 179, 21, 21, 0x0005, 0 }, + { 0x1100, 0, 0, 232, 179, 21, 21, 0x0006, 0 }, + { 0x1100, 0, 0, 253, 179, 21, 21, 0x0007, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0008, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0009, 0 }, + { 0x1100, 0, 0, 85, 179, 21, 21, 0xFFFF, 0 }, + { 0x1100, 0, 0, 295, 179, 22, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 8, 128, 96, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 0, 0, 0x0000, 0 }, + { 0x1100, 0, 0, 112, 0, 176, 16, 0x0001, 0 }, + { 0x1100, 0, 0, 112, 110, 176, 26, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 15, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 24, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 33, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 42, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 51, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 60, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 69, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 78, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 87, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 96, 61, 9, 0x0000, 0 }, + { 0x0100, 112, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 113, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 114, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 110, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 112, 0, 88, 80, 0x0000, 0 }, + { 0x0100, 0, 0, 200, 0, 88, 80, 0x0001, 0 }, + { 0x1100, 25, 110, 11, 178, 21, 22, 0x0000, 0 }, + { 0x0100, 20, 0, 32, 178, 22, 22, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 96, 27, 24, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 0, 31, 28, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 31, 31, 23, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 56, 29, 24, 0x0000, 0 }, + { 0x1100, 0, 0, 220, 98, 43, 19, 0x0000, 0 } +}; + +static const LoLButtonDefProvider kLoLButtonDefsDOSProvider = { ARRAYSIZE(kLoLButtonDefsDOS), kLoLButtonDefsDOS }; + +static const byte kLoLButtonList1DOS[40] = { + 0x59, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x31, + 0x3E, 0x2D, 0x2E, 0x2F, 0x30, 0x56, 0x57, 0x01, + 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x32, 0x33, + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, + 0x3C, 0x3D, 0x58, 0x5A, 0x5B, 0x5C, 0x5D, 0xFF +}; + +static const ByteProvider kLoLButtonList1DOSProvider = { ARRAYSIZE(kLoLButtonList1DOS), kLoLButtonList1DOS }; + +static const byte kLoLButtonList2DOS[15] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x5E, 0xFF +}; + +static const ByteProvider kLoLButtonList2DOSProvider = { ARRAYSIZE(kLoLButtonList2DOS), kLoLButtonList2DOS }; + +static const byte kLoLButtonList3DOS[2] = { + 0x40, 0xFF +}; + +static const ByteProvider kLoLButtonList3DOSProvider = { ARRAYSIZE(kLoLButtonList3DOS), kLoLButtonList3DOS }; + +static const byte kLoLButtonList4DOS[15] = { + 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3A, 0x3B, 0x3C, 0x3D, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList4DOSProvider = { ARRAYSIZE(kLoLButtonList4DOS), kLoLButtonList4DOS }; + +static const byte kLoLButtonList5DOS[16] = { + 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x41, + 0x42, 0x43, 0x44, 0x45, 0x46, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList5DOSProvider = { ARRAYSIZE(kLoLButtonList5DOS), kLoLButtonList5DOS }; + +static const byte kLoLButtonList6DOS[14] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF +}; + +static const ByteProvider kLoLButtonList6DOSProvider = { ARRAYSIZE(kLoLButtonList6DOS), kLoLButtonList6DOS }; + +static const byte kLoLButtonList7DOS[3] = { + 0x0F, 0x10, 0xFF +}; + +static const ByteProvider kLoLButtonList7DOSProvider = { ARRAYSIZE(kLoLButtonList7DOS), kLoLButtonList7DOS }; + +static const byte kLoLButtonList8DOS[2] = { + 0x55, 0xFF +}; + +static const ByteProvider kLoLButtonList8DOSProvider = { ARRAYSIZE(kLoLButtonList8DOS), kLoLButtonList8DOS }; + +static const byte kLoLLegendDataDOS[48] = { + 0x0E, 0x00, 0x07, 0x42, 0x19, 0x00, 0x08, 0x42, + 0x1A, 0x00, 0x09, 0x42, 0x0D, 0x00, 0x0A, 0x42, + 0x0A, 0x00, 0x0B, 0x42, 0x0B, 0x00, 0x0C, 0x42, + 0x0F, 0x00, 0x0D, 0x42, 0x16, 0x00, 0x0E, 0x42, + 0x17, 0x00, 0x0F, 0x42, 0x11, 0x00, 0x10, 0x42, + 0x12, 0x00, 0x51, 0x42, 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kLoLLegendDataDOSProvider = { ARRAYSIZE(kLoLLegendDataDOS), kLoLLegendDataDOS }; + +static const byte kLoLMapCursorOvlDOS[25] = { + 0x00, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, + 0x87, 0x88, 0x01, 0x01, 0x01, 0x01, 0x01, 0x88, + 0x87, 0x86, 0x85, 0x84, 0x83, 0x82, 0x81, 0x80, + 0x80 +}; + +static const ByteProvider kLoLMapCursorOvlDOSProvider = { ARRAYSIZE(kLoLMapCursorOvlDOS), kLoLMapCursorOvlDOS }; + +static const uint16 kLoLMapStringIdDOS[30] = { + 0xFFFF, 0x4211, 0x4212, 0x4213, 0x4214, 0x4215, 0x4216, 0x4217, + 0x4218, 0x4219, 0x421A, 0x421B, 0x421C, 0x421D, 0x421E, 0x421F, + 0x4220, 0x4221, 0x4222, 0x4223, 0x4224, 0x4225, 0x4226, 0x4227, + 0x4228, 0x4229, 0x422A, 0x422B, 0x422C, 0x422D +}; + +static const Uint16Provider kLoLMapStringIdDOSProvider = { ARRAYSIZE(kLoLMapStringIdDOS), kLoLMapStringIdDOS }; + +static const byte kLoLSpellbookAnimDOS[28] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x13, 0xB6, 0x04, 0x00, 0x13, 0x4D, + 0x04, 0x00, 0x13, 0xB9, 0x04, 0x00, 0x13, 0xB8, + 0x04, 0x00, 0x13, 0xBA +}; + +static const ByteProvider kLoLSpellbookAnimDOSProvider = { ARRAYSIZE(kLoLSpellbookAnimDOS), kLoLSpellbookAnimDOS }; + +static const byte kLoLSpellbookCoordsDOS[12] = { + 0x16, 0x16, 0x16, 0x1F, 0x16, 0x28, 0x16, 0x31, + 0x16, 0x3A, 0x16, 0x43 +}; + +static const ByteProvider kLoLSpellbookCoordsDOSProvider = { ARRAYSIZE(kLoLSpellbookCoordsDOS), kLoLSpellbookCoordsDOS }; + +static const byte kLoLHealShapeFramesDOS[80] = { + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const ByteProvider kLoLHealShapeFramesDOSProvider = { ARRAYSIZE(kLoLHealShapeFramesDOS), kLoLHealShapeFramesDOS }; + +static const byte kLoLLightningDefsDOS[20] = { + 0x06, 0x05, 0xAB, 0x00, 0x06, 0x04, 0xAB, 0x00, + 0x08, 0x04, 0xAA, 0x00, 0x06, 0x03, 0xAA, 0x00, + 0x06, 0x02, 0xA9, 0x00 +}; + +static const ByteProvider kLoLLightningDefsDOSProvider = { ARRAYSIZE(kLoLLightningDefsDOS), kLoLLightningDefsDOS }; + +static const uint16 kLoLFireballCoordsDOS[256] = { + 0x0000, 0x0324, 0x0647, 0x096A, 0x0C8B, 0x0FAB, 0x12C7, 0x15E1, + 0x18F8, 0x1C0B, 0x1F19, 0x2223, 0x2527, 0x2826, 0x2B1E, 0x2E10, + 0x30FB, 0x33DE, 0x36B9, 0x398C, 0x3C56, 0x3F16, 0x41CD, 0x447A, + 0x471C, 0x49B3, 0x4C3F, 0x4EBF, 0x5133, 0x539A, 0x55F4, 0x5842, + 0x5A81, 0x5CB3, 0x5ED6, 0x60EB, 0x62F1, 0x64E7, 0x66CE, 0x68A5, + 0x6A6C, 0x6C23, 0x6DC9, 0x6F5E, 0x70E1, 0x7254, 0x73B5, 0x7503, + 0x7640, 0x776B, 0x7883, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE2, + 0x7D89, 0x7E1C, 0x7E9C, 0x7F08, 0x7F61, 0x7FA6, 0x7FD7, 0x7FF5, + 0x7FFF, 0x7FF5, 0x7FD7, 0x7FA6, 0x7F61, 0x7F08, 0x7E9C, 0x7E1C, + 0x7D89, 0x7CE2, 0x7C29, 0x7B5C, 0x7A7C, 0x7989, 0x7883, 0x776B, + 0x7640, 0x7503, 0x73B5, 0x7254, 0x70E1, 0x6F5E, 0x6DC9, 0x6C23, + 0x6A6C, 0x68A5, 0x66CE, 0x64E7, 0x62F1, 0x60EB, 0x5ED6, 0x5CB3, + 0x5A81, 0x5842, 0x55F4, 0x539A, 0x5133, 0x4EBF, 0x4C3F, 0x49B3, + 0x471C, 0x447A, 0x41CD, 0x3F16, 0x3C56, 0x398C, 0x36B9, 0x33DE, + 0x30FB, 0x2E10, 0x2B1E, 0x2826, 0x2527, 0x2223, 0x1F19, 0x1C0B, + 0x18F8, 0x15E1, 0x12C7, 0x0FAB, 0x0C8B, 0x096A, 0x0647, 0x0324, + 0x0000, 0xFCDC, 0xF9B9, 0xF696, 0xF375, 0xF055, 0xED39, 0xEA1F, + 0xE708, 0xE3F5, 0xE0E7, 0xDDDD, 0xDAD9, 0xD7DA, 0xD4E2, 0xD1F0, + 0xCF05, 0xCC22, 0xC947, 0xC674, 0xC3AA, 0xC0EA, 0xBE33, 0xBB86, + 0xB8E4, 0xB64D, 0xB3C1, 0xB141, 0xAECD, 0xAC66, 0xAA0C, 0xA7BE, + 0xA57F, 0xA34D, 0xA12A, 0x9F15, 0x9D0F, 0x9B19, 0x9932, 0x975B, + 0x9594, 0x93DD, 0x9237, 0x90A2, 0x8F1F, 0x8DAC, 0x8C4B, 0x8AFD, + 0x89C0, 0x8895, 0x877D, 0x8677, 0x8584, 0x84A4, 0x83D7, 0x831E, + 0x8277, 0x81E4, 0x8164, 0x80F8, 0x809F, 0x805A, 0x8029, 0x800B, + 0x8001, 0x800B, 0x8029, 0x805A, 0x809F, 0x80F8, 0x8164, 0x81E4, + 0x8277, 0x831E, 0x83D7, 0x84A4, 0x8584, 0x8677, 0x877D, 0x8895, + 0x89C0, 0x8AFD, 0x8C4B, 0x8DAC, 0x8F1F, 0x90A2, 0x9237, 0x93DD, + 0x9594, 0x975B, 0x9932, 0x9B19, 0x9D0F, 0x9F15, 0xA12A, 0xA34D, + 0xA57F, 0xA7BE, 0xAA0C, 0xAC66, 0xAECD, 0xB141, 0xB3C1, 0xB64D, + 0xB8E4, 0xBB86, 0xBE33, 0xC0EA, 0xC3AA, 0xC674, 0xC947, 0xCC22, + 0xCF05, 0xD1F0, 0xD4E2, 0xD7DA, 0xDAD9, 0xDDDD, 0xE0E7, 0xE3F5, + 0xE708, 0xEA1F, 0xED39, 0xF055, 0xF375, 0xF696, 0xF9B9, 0xFCDC +}; + +static const Uint16Provider kLoLFireballCoordsDOSProvider = { ARRAYSIZE(kLoLFireballCoordsDOS), kLoLFireballCoordsDOS }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd.h b/devtools/create_kyradat/resources/lol_dos_cd.h new file mode 100644 index 0000000000..3482986658 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd.h @@ -0,0 +1,1625 @@ +static const byte kLoLHistoryDOSCD[465] = { + 0x31, 0x61, 0x68, 0x69, 0x73, 0x74, 0x30, 0x31, + 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, 0x31, + 0x62, 0x68, 0x69, 0x73, 0x74, 0x30, 0x31, 0x2E, + 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, 0x31, 0x63, + 0x68, 0x69, 0x73, 0x74, 0x30, 0x31, 0x2E, 0x77, + 0x73, 0x61, 0x00, 0x00, 0x00, 0x32, 0x61, 0x68, + 0x69, 0x73, 0x74, 0x30, 0x32, 0x2E, 0x77, 0x73, + 0x61, 0x00, 0x00, 0x00, 0x32, 0x62, 0x68, 0x69, + 0x73, 0x74, 0x30, 0x33, 0x2E, 0x77, 0x73, 0x61, + 0x00, 0x00, 0x00, 0x32, 0x65, 0x68, 0x69, 0x73, + 0x74, 0x30, 0x34, 0x2E, 0x77, 0x73, 0x61, 0x00, + 0x00, 0x00, 0x32, 0x66, 0x68, 0x69, 0x73, 0x74, + 0x30, 0x35, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, + 0x00, 0x33, 0x61, 0x68, 0x69, 0x73, 0x74, 0x30, + 0x36, 0x61, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, + 0x33, 0x62, 0x68, 0x69, 0x73, 0x74, 0x30, 0x36, + 0x61, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x33, + 0x63, 0x68, 0x69, 0x73, 0x74, 0x30, 0x36, 0x62, + 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x33, 0x64, + 0x68, 0x69, 0x73, 0x74, 0x32, 0x30, 0x2E, 0x77, + 0x73, 0x61, 0x00, 0x00, 0x00, 0x34, 0x61, 0x68, + 0x69, 0x73, 0x74, 0x30, 0x38, 0x2E, 0x77, 0x73, + 0x61, 0x00, 0x00, 0x00, 0x34, 0x63, 0x68, 0x69, + 0x73, 0x74, 0x30, 0x39, 0x2E, 0x77, 0x73, 0x61, + 0x00, 0x00, 0x00, 0x34, 0x65, 0x68, 0x69, 0x73, + 0x74, 0x31, 0x30, 0x2E, 0x77, 0x73, 0x61, 0x00, + 0x00, 0x00, 0x35, 0x61, 0x68, 0x69, 0x73, 0x74, + 0x31, 0x31, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, + 0x00, 0x35, 0x62, 0x68, 0x69, 0x73, 0x74, 0x31, + 0x32, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, + 0x35, 0x63, 0x68, 0x69, 0x73, 0x74, 0x31, 0x32, + 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, 0x35, + 0x64, 0x68, 0x69, 0x73, 0x74, 0x31, 0x33, 0x2E, + 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, 0x36, 0x61, + 0x68, 0x69, 0x73, 0x74, 0x31, 0x34, 0x2E, 0x77, + 0x73, 0x61, 0x00, 0x00, 0x00, 0x36, 0x62, 0x68, + 0x69, 0x73, 0x74, 0x31, 0x35, 0x2E, 0x77, 0x73, + 0x61, 0x00, 0x00, 0x00, 0x36, 0x63, 0x68, 0x69, + 0x73, 0x74, 0x31, 0x36, 0x2E, 0x77, 0x73, 0x61, + 0x00, 0x00, 0x00, 0x37, 0x61, 0x68, 0x69, 0x73, + 0x74, 0x31, 0x37, 0x2E, 0x77, 0x73, 0x61, 0x00, + 0x00, 0x00, 0x37, 0x62, 0x68, 0x69, 0x73, 0x74, + 0x31, 0x38, 0x61, 0x2E, 0x77, 0x73, 0x61, 0x00, + 0x00, 0x37, 0x63, 0x68, 0x69, 0x73, 0x74, 0x31, + 0x39, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x00, + 0x38, 0x61, 0x68, 0x69, 0x73, 0x74, 0x32, 0x31, + 0x63, 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x38, + 0x63, 0x68, 0x69, 0x73, 0x74, 0x32, 0x31, 0x63, + 0x2E, 0x77, 0x73, 0x61, 0x00, 0x00, 0x39, 0x61, + 0x68, 0x69, 0x73, 0x74, 0x32, 0x32, 0x2E, 0x77, + 0x73, 0x61, 0x00, 0x00, 0x00, 0x39, 0x64, 0x68, + 0x69, 0x73, 0x74, 0x32, 0x33, 0x2E, 0x77, 0x73, + 0x61, 0x00, 0x00, 0x00, 0x39, 0x66, 0x68, 0x69, + 0x73, 0x74, 0x32, 0x34, 0x2E, 0x77, 0x73, 0x61, + 0x00, 0x00, 0x00, 0x39, 0x68, 0x68, 0x69, 0x73, + 0x74, 0x32, 0x35, 0x2E, 0x77, 0x73, 0x61, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00 +}; + +static const ByteProvider kLoLHistoryDOSCDProvider = { ARRAYSIZE(kLoLHistoryDOSCD), kLoLHistoryDOSCD }; + +static const char *const kLoLIngameSfxFilesDOSCD[230] = { + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "DOORMTOP", + "DOORMTCL", + "PMETLHI", + "SWING6", + "MDAMAGE2", + "LEVERDN", + "LEVERUP", + "MTLDRSLM", + "DOORWDOP", + "DOORWDCL", + "KEYOPEN", + "KEYLOCK", + "PORTCUL", + "PORTCULD", + "LOKPICK", + "OCEAN2", + "NUNCHUK", + "SWING", + "SHWING1", + "SWING6", + "THROW", + "CROSSBOW", + "HEAL1", + "FIRESPL1", + "PRESSIN", + "PRESSOUT", + "PLATEON", + "PLATEOFF", + "DORWDSLM", + "LITENIN1", + "ICESPEL2", + "SPELL4B", + "SHIELD1", + "3BOLTC", + "2BOLTC", + "1BOLTC", + "DAWNSPL1", + "HEALKING", + "SPELL7", + "SWING1", + "EXPLODE", + "CROWCAW", + "MORPH2", + "CHEST", + "MONEY", + "SPELBK2", + "AUTOMAP", + "MINECRT3", + "CREAK1", + "TURNPAG2", + "POLGULP1", + "GOOEY2", + "BUCKBELL", + "KEEPXIT2", + "VSCREAM4", + "EMPTY", + "GOOEY1", + "GOOEY2", + "RIPPOD4", + "PODSKEL1", + "INVISO", + "OPENBOX2", + "ACCEPT2", + "BOW2", + "HACHUCKM", + "FOUNDRY2", + "FOUNDRY2", + "FOUNDRY4", + "FOUNDRY6", + "CLEANGL1", + "CLEANGL2", + "GLOWY1", + "DORSTNOP", + "DORSTNCL", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "ADAMAGE1", + "HDAMAGE1", + "TDAMAGE1", + "BDAMAGE1", + "LDAMAGE1", + "TDAMAGE2", + "CDAMAGE1", + "EMPTY", + "EMPTY", + "EMPTY", + "GOOD1", + "GOOD2", + "EMPTY", + "EMPTY", + "EMPTY", + "LITENIN1", + "COMPASS2", + "KINGDOR1", + "GLASBRK2", + "FLUTTER3", + "NUNCHUK", + "WALLFALL", + "WALLHIT", + "MWHOA1", + "LADDER", + "WHITTL3", + "ROWBOAT1", + "HORSEY2", + "SNORT", + "PUMPDOR1", + "PUMPSM2", + "PUMPSM3", + "SPARK1", + "BEZEL", + "SWARM", + "CHEST1", + "WRIT1", + "CAUSFOG", + "VAELAN2", + "ROARSPL1", + "RATTLER", + "WINK1", + "HANDFATE", + "QUAKE1", + "WIZLAMP1", + "SAP2", + "MSTDOOM1", + "GARDIAN1", + "VORTEX1", + "LION1", + "STEAM", + "SQUAWCK", + "SLIDEMUG", + "SPARKHIT", + "SPARKHIT2", + "SPARKHIT3", + "ICEFORM", + "ICEXPLOD", + "EXPLODE2", + "EXPLODE3", + "BOLTQUK2", + "BOLT2", + "BOLT3", + "SNKBITE", + "HANDGLOW", + "MSTDOOM2", + "MSTDOOM3", + "GARDIAN2", + "PLUSPOWR", + "MINSPOWR", + "BLUDCURL", + "LORAGASP", + "POURH2O", + "AWHOA2", + "HWHOA1", + "CWHOA1", + "AFALL2", + "EMPTY", + "CFALL2", + "MFALL2", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "WRIT2", + "WRIT3", + "WRIT4", + "WRIT5", + "WRIT6", + "RUCKUS1", + "RUCKUS3", + "CHANT1", + "EMPTY", + "EMPTY", + "EMPTY", + "CHANT2", + "CHANT3", + "" +}; + +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 byte kLoLMusicTrackMapDOSCD[240] = { + 0x01, 0x61, 0x02, 0x01, 0x61, 0x03, 0x01, 0x61, + 0x04, 0x01, 0x61, 0x05, 0x03, 0x61, 0x03, 0x01, + 0x61, 0x07, 0x01, 0x61, 0x08, 0x01, 0x62, 0x02, + 0x01, 0x64, 0x03, 0x01, 0x62, 0x04, 0x01, 0x62, + 0x05, 0x01, 0x62, 0x06, 0x01, 0x62, 0x07, 0x01, + 0x62, 0x08, 0x01, 0x62, 0x09, 0x01, 0x63, 0x02, + 0x01, 0x63, 0x03, 0x01, 0x63, 0x04, 0x01, 0x63, + 0x05, 0x01, 0x63, 0x06, 0x01, 0x63, 0x07, 0x01, + 0x64, 0x02, 0x02, 0x61, 0x02, 0x02, 0x61, 0x03, + 0x02, 0x61, 0x04, 0x02, 0x61, 0x05, 0x02, 0x61, + 0x06, 0x02, 0x61, 0x07, 0x02, 0x61, 0x08, 0x02, + 0x61, 0x09, 0x03, 0x61, 0x02, 0x03, 0x61, 0x03, + 0x03, 0x61, 0x04, 0x03, 0x61, 0x05, 0x03, 0x61, + 0x06, 0x03, 0x61, 0x07, 0x04, 0x61, 0x02, 0x04, + 0x61, 0x03, 0x04, 0x61, 0x04, 0x05, 0x61, 0x02, + 0x05, 0x61, 0x03, 0x05, 0x61, 0x04, 0x05, 0x61, + 0x05, 0x05, 0x61, 0x06, 0x06, 0x61, 0x03, 0x06, + 0x61, 0x05, 0x06, 0x61, 0x06, 0x06, 0x62, 0x02, + 0x06, 0x61, 0x02, 0x06, 0x61, 0x04, 0x08, 0x61, + 0x02, 0x08, 0x61, 0x03, 0x08, 0x61, 0x04, 0x08, + 0x61, 0x05, 0x08, 0x61, 0x06, 0x08, 0x61, 0x07, + 0x08, 0x62, 0x02, 0x08, 0x62, 0x03, 0x01, 0x61, + 0x09, 0x03, 0x62, 0x02, 0x03, 0x62, 0x03, 0x03, + 0x62, 0x04, 0x03, 0x62, 0x05, 0x03, 0x62, 0x06, + 0x03, 0x62, 0x07, 0x03, 0x62, 0x08, 0x04, 0x61, + 0x05, 0x04, 0x61, 0x06, 0x04, 0x61, 0x07, 0x04, + 0x61, 0x08, 0x05, 0x62, 0x02, 0x05, 0x62, 0x03, + 0x05, 0x62, 0x04, 0x07, 0x61, 0x02, 0x07, 0x61, + 0x03, 0x01, 0x64, 0x0A, 0x03, 0x62, 0x09, 0x01, + 0x64, 0x04, 0x05, 0x62, 0x05, 0x05, 0x62, 0x06 +}; + +static const ByteProvider kLoLMusicTrackMapDOSCDProvider = { ARRAYSIZE(kLoLMusicTrackMapDOSCD), kLoLMusicTrackMapDOSCD }; + +static const byte kLoLIngameGMSfxIndexDOSCD[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x1A, 0x0B, 0xFF, 0xFF, 0xFF, + 0xFF, 0x25, 0x0B, 0x07, 0x25, 0x25, 0x25, 0x25, + 0x25, 0x25, 0x25, 0x1A, 0x11, 0x0E, 0x0E, 0x05, + 0x05, 0x11, 0x05, 0x05, 0x11, 0x05, 0x05, 0x11, + 0x2A, 0x2B, 0x06, 0xFF, 0x05, 0x05, 0x2B, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x25, + 0x25, 0x25, 0x25, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x08, 0x29, 0x29, 0x27, + 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x01, 0x0E, + 0x09, 0x09, 0x0A, 0x12, 0xE7, 0x29, 0xFF, 0xFF, + 0xFF, 0xFF, 0x18, 0x27, 0x13, 0x10, 0x1A, 0x1A, + 0xFF, 0xFF, 0x12, 0x26, 0xFF, 0x02, 0x05, 0x05, + 0x0F, 0xFF, 0xFF, 0xFF, 0x02, 0x05, 0x21, 0x1A, + 0xFF, 0xFF, 0xFF, 0xFF, 0x28, 0x0A, 0x19, 0xFF, + 0x0B, 0x06, 0x02, 0x02, 0x03, 0x02, 0xFF, 0xFF, + 0x0A, 0x0A, 0x0F, 0xFF, 0xFF, 0x0C, 0x1B, 0x22, + 0xFF, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x02, + 0x03, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, + 0x29, 0x0A, 0x0A, 0x27, 0x0A, 0x28, 0x0A, 0x0A, + 0x06, 0xFF, 0x29, 0x29, 0x29, 0x28, 0x12, 0x12, + 0x12, 0x29, 0x29, 0x29, 0x25, 0x29, 0x27, 0x27, + 0x0C, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x22, 0x1B, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x16, 0xFF, 0x16, 0x16, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x16, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngameGMSfxIndexDOSCDProvider = { ARRAYSIZE(kLoLIngameGMSfxIndexDOSCD), kLoLIngameGMSfxIndexDOSCD }; + +static const byte kLoLIngameMT32SfxIndexDOSCD[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x30, 0x2E, 0xFF, 0xFF, 0xFF, + 0xFF, 0x2C, 0x31, 0x02, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x1A, 0x0C, 0x03, 0x04, 0x0B, + 0x0A, 0x0C, 0x0B, 0x0A, 0x0C, 0x0B, 0x0A, 0x0C, + 0x24, 0x25, 0x0D, 0x02, 0x0B, 0x0A, 0x25, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2C, + 0x2C, 0x2C, 0x2C, 0xFF, 0xFF, 0xFF, 0x2E, 0x2E, + 0x2E, 0x2E, 0x31, 0x31, 0x1B, 0x10, 0x23, 0x21, + 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x03, 0x04, + 0x2B, 0x2A, 0x32, 0x21, 0x18, 0x23, 0x1B, 0x1B, + 0x1B, 0xFF, 0x17, 0x33, 0x32, 0x08, 0x1A, 0x19, + 0x02, 0x02, 0x0E, 0x32, 0x09, 0x17, 0x0B, 0x0B, + 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0x01, 0x1A, + 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x08, 0x34, 0xFF, + 0x31, 0x0D, 0x05, 0x06, 0x05, 0x06, 0xFF, 0xFF, + 0x0F, 0x34, 0x07, 0xFF, 0xFF, 0x31, 0x1A, 0x26, + 0xFF, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x05, + 0x06, 0x33, 0x34, 0x34, 0x34, 0x34, 0x34, 0x33, + 0x32, 0x34, 0x34, 0x32, 0x34, 0x33, 0x34, 0xFF, + 0x27, 0xFF, 0x23, 0x23, 0x23, 0x21, 0x0E, 0x0E, + 0x0E, 0x23, 0x23, 0x23, 0x2C, 0x32, 0x33, 0x33, + 0x2F, 0x19, 0xFF, 0xFF, 0xFF, 0x18, 0x17, 0x18, + 0x18, 0x17, 0x18, 0x26, 0x06, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x15, 0xFF, 0x15, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, + 0x31, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, + 0x26, 0x26, 0x26, 0x15, 0x31, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngameMT32SfxIndexDOSCDProvider = { ARRAYSIZE(kLoLIngameMT32SfxIndexDOSCD), kLoLIngameMT32SfxIndexDOSCD }; + +static const byte kLoLIngamePcSpkSfxIndexDOSCD[250] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x04, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0x17, 0x0C, 0x10, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x04, 0x14, 0x02, 0x02, 0x05, + 0x05, 0x14, 0x05, 0x05, 0x05, 0x14, 0x05, 0x05, + 0x14, 0x00, 0x00, 0x10, 0x05, 0x05, 0x01, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x17, + 0x17, 0x17, 0x17, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x12, 0x0E, 0x0F, 0x11, + 0x0F, 0x11, 0x12, 0x11, 0x12, 0x12, 0x01, 0x01, + 0x02, 0x0A, 0x15, 0x12, 0x0A, 0x0F, 0x15, 0x15, + 0x15, 0xFF, 0x0A, 0xFF, 0x16, 0x05, 0x0A, 0x0A, + 0x10, 0x10, 0x07, 0x15, 0xFF, 0x0A, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x10, 0x0A, + 0x13, 0x13, 0xFF, 0xFF, 0xFF, 0x01, 0x0A, 0xFF, + 0x0C, 0x00, 0x02, 0x02, 0x02, 0x02, 0xFF, 0xFF, + 0xFF, 0x15, 0x05, 0xFF, 0xFF, 0x0C, 0x16, 0x0B, + 0xFF, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x12, 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, + 0x11, 0x12, 0x11, 0x12, 0x11, 0x12, 0x03, 0xFF, + 0x02, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, + 0x08, 0x16, 0x16, 0x16, 0x17, 0x16, 0x16, 0x16, + 0x0B, 0x0A, 0xFF, 0xFF, 0xFF, 0x0A, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x06, 0x10, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x14, 0xFF, 0x14, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, + 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, + 0x0B, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x14, 0x0B, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF +}; + +static const ByteProvider kLoLIngamePcSpkSfxIndexDOSCDProvider = { ARRAYSIZE(kLoLIngamePcSpkSfxIndexDOSCD), kLoLIngamePcSpkSfxIndexDOSCD }; + +static const SpellProperty kLoLSpellPropertiesDOSCD[10] = { + { 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 }, + { 16437, { 5, 10, 25, 60 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0001 }, + { 16438, { 8, 15, 30, 80 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0102 }, + { 16440, { 20, 35, 65, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0103 }, + { 16441, { 30, 60, 90, 120 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0104 }, + { 16442, { 30, 60, 90, 150 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0105 }, + { 16439, { 25, 30, 50, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0106 }, + { 16443, { 3, 6, 12, 24 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0107 }, + { 16975, { 15, 15, 15, 15 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 }, + { 16975, { 15, 15, 15, 15 }, 15, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 } +}; + +static const SpellPropertyProvider kLoLSpellPropertiesDOSCDProvider = { ARRAYSIZE(kLoLSpellPropertiesDOSCD), kLoLSpellPropertiesDOSCD }; + +static const byte kLoLGameShapeMapDOSCD[276] = { + 0x15, 0x5A, 0x05, 0x37, 0x09, 0x38, 0x00, 0x36, + 0x00, 0x36, 0x00, 0x36, 0x00, 0x3C, 0x26, 0x3D, + 0x05, 0x37, 0x07, 0x39, 0x18, 0x40, 0x0D, 0x3E, + 0x06, 0x42, 0x06, 0x3F, 0x01, 0x5A, 0x01, 0x5A, + 0x0A, 0x5A, 0x0A, 0x5A, 0x0A, 0x5A, 0x04, 0x5A, + 0x04, 0x5A, 0x2D, 0x5A, 0x2D, 0x5A, 0x0B, 0x3B, + 0x24, 0x5A, 0x03, 0x3A, 0x00, 0x3C, 0x1E, 0x3E, + 0x1E, 0x3E, 0x1B, 0x5A, 0x14, 0x5A, 0x29, 0x5A, + 0x02, 0x5A, 0x0C, 0x5A, 0x22, 0x5A, 0x21, 0x41, + 0x0D, 0x3E, 0x25, 0x5A, 0x1A, 0x41, 0x04, 0x5A, + 0x30, 0x5A, 0x31, 0x5A, 0x32, 0x5A, 0x32, 0x5A, + 0x00, 0x36, 0x00, 0x36, 0x00, 0x36, 0x00, 0x36, + 0x17, 0x5A, 0x17, 0x5A, 0x0E, 0x5A, 0x0E, 0x5A, + 0x0E, 0x5A, 0x26, 0x3D, 0x2C, 0x5A, 0x21, 0x41, + 0x07, 0x39, 0x27, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, + 0x1B, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, + 0x1B, 0x5A, 0x1B, 0x5A, 0x22, 0x5A, 0x22, 0x5A, + 0x16, 0x5A, 0x2D, 0x5A, 0x3B, 0x5A, 0x3B, 0x5A, + 0x3A, 0x5A, 0x17, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, + 0x17, 0x5A, 0x0A, 0x5A, 0x0A, 0x5A, 0x0A, 0x5A, + 0x1F, 0x5A, 0x17, 0x5A, 0x27, 0x5A, 0x1B, 0x5A, + 0x1E, 0x3E, 0x2A, 0x5A, 0x2F, 0x5A, 0x2F, 0x5A, + 0x2F, 0x5A, 0x2F, 0x5A, 0x2F, 0x5A, 0x2F, 0x5A, + 0x2C, 0x5A, 0x2C, 0x5A, 0x2C, 0x5A, 0x2C, 0x5A, + 0x34, 0x5A, 0x0F, 0x5A, 0x35, 0x43, 0x1B, 0x5A, + 0x1B, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, 0x2B, 0x5A, + 0x1D, 0x5A, 0x1D, 0x5A, 0x28, 0x5A, 0x28, 0x5A, + 0x28, 0x5A, 0x28, 0x5A, 0x01, 0x5A, 0x14, 0x5A, + 0x14, 0x5A, 0x14, 0x5A, 0x14, 0x5A, 0x1B, 0x5A, + 0x27, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, + 0x1B, 0x5A, 0x36, 0x5A, 0x37, 0x5A, 0x38, 0x5A, + 0x39, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, 0x1B, 0x5A, + 0x1B, 0x5A, 0x27, 0x5A, 0x2E, 0x5A, 0x2E, 0x5A, + 0x2E, 0x5A, 0x2E, 0x5A, 0x17, 0x5A, 0x01, 0x5A, + 0x1C, 0x5A, 0x1C, 0x5A +}; + +static const ByteProvider kLoLGameShapeMapDOSCDProvider = { ARRAYSIZE(kLoLGameShapeMapDOSCD), kLoLGameShapeMapDOSCD }; + +static const byte kLoLSceneItemOffsDOSCD[8] = { + 0x00, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x01, 0xFF +}; + +static const ByteProvider kLoLSceneItemOffsDOSCDProvider = { ARRAYSIZE(kLoLSceneItemOffsDOSCD), kLoLSceneItemOffsDOSCD }; + +static const byte kLoLCharInvIndexDOSCD[5] = { + 0x00, 0x00, 0x03, 0x01, 0x02 +}; + +static const ByteProvider kLoLCharInvIndexDOSCDProvider = { ARRAYSIZE(kLoLCharInvIndexDOSCD), kLoLCharInvIndexDOSCD }; + +static const byte kLoLCharInvDefsDOSCD[88] = { + 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, + 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, 0x50, 0x1C, + 0x05, 0x5D, 0x0F, 0x4E, 0x50, 0x4E, 0x05, 0x19, + 0x50, 0x19, 0x05, 0x49, 0x50, 0x49, 0x05, 0x01, + 0x05, 0x31, 0x50, 0x01, 0x50, 0x31, 0x05, 0x61, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x34, 0x50, 0x34, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, + 0x50, 0x04, 0x50, 0x1C, 0x05, 0x5D, 0x0F, 0x4E, + 0x50, 0x4E, 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, + 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, + 0x50, 0x1C, 0xFF, 0xFF, 0x0F, 0x4E, 0x50, 0x4E +}; + +static const ByteProvider kLoLCharInvDefsDOSCDProvider = { ARRAYSIZE(kLoLCharInvDefsDOSCD), kLoLCharInvDefsDOSCD }; + +static const uint16 kLoLCharDefsManDOSCD[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsManDOSCDProvider = { ARRAYSIZE(kLoLCharDefsManDOSCD), kLoLCharDefsManDOSCD }; + +static const uint16 kLoLCharDefsWomanDOSCD[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsWomanDOSCDProvider = { ARRAYSIZE(kLoLCharDefsWomanDOSCD), kLoLCharDefsWomanDOSCD }; + +static const uint16 kLoLCharDefsKieranDOSCD[9] = { + 0x0180, 0x0080, 0x00C0, 0x0032, 0x0200, 0x00A6, 0x0100, 0x0140, + 0x0006 +}; + +static const Uint16Provider kLoLCharDefsKieranDOSCDProvider = { ARRAYSIZE(kLoLCharDefsKieranDOSCD), kLoLCharDefsKieranDOSCD }; + +static const uint16 kLoLCharDefsAkshelDOSCD[9] = { + 0x00C0, 0x00C0, 0x0140, 0x0032, 0x0100, 0x0180, 0x0180, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsAkshelDOSCDProvider = { ARRAYSIZE(kLoLCharDefsAkshelDOSCD), kLoLCharDefsAkshelDOSCD }; + +static const uint32 kLoLExpRequirementsDOSCD[11] = { + 0x00000000, 0x000001F4, 0x000005DC, 0x00001388, 0x000061A8, 0x0000C350, 0x00013880, 0x0001D4C0, + 0x0002BF20, 0x00041EB0, 0x7FFFFFFF +}; + +static const Uint32Provider kLoLExpRequirementsDOSCDProvider = { ARRAYSIZE(kLoLExpRequirementsDOSCD), kLoLExpRequirementsDOSCD }; + +static const uint16 kLoLMonsterModifiers1DOSCD[3] = { + 0x0066, 0x0100, 0x0180 +}; + +static const Uint16Provider kLoLMonsterModifiers1DOSCDProvider = { ARRAYSIZE(kLoLMonsterModifiers1DOSCD), kLoLMonsterModifiers1DOSCD }; + +static const uint16 kLoLMonsterModifiers2DOSCD[3] = { + 0x0100, 0x0100, 0x00C0 +}; + +static const Uint16Provider kLoLMonsterModifiers2DOSCDProvider = { ARRAYSIZE(kLoLMonsterModifiers2DOSCD), kLoLMonsterModifiers2DOSCD }; + +static const uint16 kLoLMonsterModifiers3DOSCD[3] = { + 0x0140, 0x0100, 0x0080 +}; + +static const Uint16Provider kLoLMonsterModifiers3DOSCDProvider = { ARRAYSIZE(kLoLMonsterModifiers3DOSCD), kLoLMonsterModifiers3DOSCD }; + +static const uint16 kLoLMonsterModifiers4DOSCD[3] = { + 0x0080, 0x0100, 0x0100 +}; + +static const Uint16Provider kLoLMonsterModifiers4DOSCDProvider = { ARRAYSIZE(kLoLMonsterModifiers4DOSCD), kLoLMonsterModifiers4DOSCD }; + +static const byte kLoLMonsterShiftOffsetsDOSCD[32] = { + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0x00 +}; + +static const ByteProvider kLoLMonsterShiftOffsetsDOSCDProvider = { ARRAYSIZE(kLoLMonsterShiftOffsetsDOSCD), kLoLMonsterShiftOffsetsDOSCD }; + +static const byte kLoLMonsterDirFlagsDOSCD[16] = { + 0x08, 0x14, 0x00, 0x04, 0x04, 0x08, 0x14, 0x00, + 0x00, 0x04, 0x08, 0x14, 0x14, 0x00, 0x04, 0x08 +}; + +static const ByteProvider kLoLMonsterDirFlagsDOSCDProvider = { ARRAYSIZE(kLoLMonsterDirFlagsDOSCD), kLoLMonsterDirFlagsDOSCD }; + +static const byte kLoLMonsterScaleYDOSCD[30] = { + 0x7C, 0x78, 0x74, 0x70, 0x6C, 0x68, 0x65, 0x62, + 0x5F, 0x5C, 0x59, 0x56, 0x53, 0x50, 0x4D, 0x4A, + 0x48, 0x46, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, + 0x3C, 0x3B, 0x3A, 0x39, 0x38, 0x38 +}; + +static const ByteProvider kLoLMonsterScaleYDOSCDProvider = { ARRAYSIZE(kLoLMonsterScaleYDOSCD), kLoLMonsterScaleYDOSCD }; + +static const byte kLoLMonsterScaleXDOSCD[32] = { + 0x98, 0x98, 0x90, 0x88, 0x80, 0x76, 0x6E, 0x68, + 0x62, 0x5C, 0x58, 0x54, 0x50, 0x4A, 0x44, 0x40, + 0x3C, 0x38, 0x36, 0x32, 0x30, 0x2C, 0x2A, 0x28, + 0x26, 0x24, 0x22, 0x20, 0x20, 0x1E, 0x18, 0x10 +}; + +static const ByteProvider kLoLMonsterScaleXDOSCDProvider = { ARRAYSIZE(kLoLMonsterScaleXDOSCD), kLoLMonsterScaleXDOSCD }; + +static const uint16 kLoLMonsterScaleWHDOSCD[65] = { + 0x0041, 0x0045, 0x0049, 0x004D, 0x0051, 0x0055, 0x0059, 0x005D, + 0x0062, 0x0066, 0x006A, 0x006E, 0x0072, 0x0076, 0x007A, 0x007E, + 0x0082, 0x0086, 0x008A, 0x008E, 0x0092, 0x0096, 0x009A, 0x009E, + 0x00A3, 0x00A7, 0x00AB, 0x00AF, 0x00B3, 0x00B7, 0x00BB, 0x00BF, + 0x00C3, 0x00C7, 0x00CB, 0x00CF, 0x00D3, 0x00D7, 0x00DB, 0x00DF, + 0x00E4, 0x00E8, 0x00EC, 0x00F0, 0x00F4, 0x00F8, 0x00FC, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100 +}; + +static const Uint16Provider kLoLMonsterScaleWHDOSCDProvider = { ARRAYSIZE(kLoLMonsterScaleWHDOSCD), kLoLMonsterScaleWHDOSCD }; + +static const FlyingObjectShape kLoLFlyingObjectShpDOSCD[13] = { + { 0, 0, 1, 0x00, 0x40, }, + { 2, 2, 3, 0x00, 0x00, }, + { 4, 4, 4, 0x00, 0x00, }, + { 5, 5, 5, 0x20, 0x00, }, + { 6, 6, 6, 0x20, 0x00, }, + { 7, 7, 7, 0x20, 0x00, }, + { 9, 8, 15, 0x00, 0x00, }, + { 11, 10, 12, 0x00, 0x00, }, + { 12, 12, 12, 0x20, 0x00, }, + { 14, 13, 15, 0x00, 0x00, }, + { 16, 16, 16, 0x00, 0x00, }, + { 17, 17, 17, 0x20, 0x00, }, + { 18, 18, 18, 0x00, 0x00, } +}; + +static const FlyingObjectShapeProvider kLoLFlyingObjectShpDOSCDProvider = { ARRAYSIZE(kLoLFlyingObjectShpDOSCD), kLoLFlyingObjectShpDOSCD }; + +static const uint16 kLoLInventoryDescDOSCD[11] = { + 0x417A, 0x417B, 0x417A, 0x417B, 0x417C, 0x417D, 0x417E, 0x417F, + 0x4180, 0x4181, 0x4181 +}; + +static const Uint16Provider kLoLInventoryDescDOSCDProvider = { ARRAYSIZE(kLoLInventoryDescDOSCD), kLoLInventoryDescDOSCD }; + +static const char *const kLoLLevelShpListDOSCD[12] = { + "KEEP.SHP", + "FOREST1.SHP", + "MANOR.SHP", + "CAVE1.SHP", + "SWAMP.SHP", + "URBISH.SHP", + "MINE1.SHP", + "TOWER1.SHP", + "YVEL1.SHP", + "CATWALK.SHP", + "RUIN.SHP", + "CIMMERIA.SHP" +}; + +static const StringListProvider kLoLLevelShpListDOSCDProvider = { ARRAYSIZE(kLoLLevelShpListDOSCD), kLoLLevelShpListDOSCD }; + +static const char *const kLoLLevelDatListDOSCD[12] = { + "KEEP.DAT", + "FOREST1.DAT", + "MANOR.DAT", + "CAVE1.DAT", + "SWAMP.DAT", + "URBISH.DAT", + "MINE1.DAT", + "TOWER1.DAT", + "YVEL1.DAT", + "CATWALK.DAT", + "RUIN.DAT", + "CIMMERIA.DAT" +}; + +static const StringListProvider kLoLLevelDatListDOSCDProvider = { ARRAYSIZE(kLoLLevelDatListDOSCD), kLoLLevelDatListDOSCD }; + +static const CompassDef kLoLCompassDefsDOSCD[32] = { + { 0, 3, -3, 0x00 }, + { 1, 3, -3, 0x00 }, + { 2, 3, -3, 0x00 }, + { 3, 5, -3, 0x00 }, + { 4, 5, -3, 0x00 }, + { 5, 6, -3, 0x00 }, + { 6, 6, -3, 0x00 }, + { 7, 6, -3, 0x00 }, + { 8, 6, -3, 0x00 }, + { 7, 6, 4, 0x02 }, + { 6, 6, 4, 0x02 }, + { 5, 6, 4, 0x02 }, + { 4, 5, 4, 0x02 }, + { 3, 5, 4, 0x02 }, + { 2, 3, 4, 0x02 }, + { 1, 3, 4, 0x02 }, + { 0, 3, 4, 0x02 }, + { 1, 2, 4, 0x03 }, + { 2, 2, 4, 0x03 }, + { 3, 0, 4, 0x03 }, + { 4, 0, 4, 0x03 }, + { 5, -1, 4, 0x03 }, + { 6, -1, 4, 0x03 }, + { 7, -1, 4, 0x03 }, + { 8, -1, -3, 0x01 }, + { 7, -1, -3, 0x01 }, + { 6, -1, -3, 0x01 }, + { 5, -1, -3, 0x01 }, + { 4, 0, -3, 0x01 }, + { 3, 0, -3, 0x01 }, + { 2, 2, -3, 0x01 }, + { 1, 2, -3, 0x01 } +}; + +static const CompassDefProvider kLoLCompassDefsDOSCDProvider = { ARRAYSIZE(kLoLCompassDefsDOSCD), kLoLCompassDefsDOSCD }; + +static const uint16 kLoLItemPricesDOSCD[46] = { + 0x0001, 0x0005, 0x0008, 0x000A, 0x000F, 0x0014, 0x0019, 0x001E, + 0x0023, 0x0028, 0x002D, 0x0032, 0x0037, 0x003C, 0x0041, 0x0046, + 0x004B, 0x0050, 0x005A, 0x0064, 0x0069, 0x0078, 0x007D, 0x0082, + 0x008C, 0x0096, 0x00A0, 0x00AF, 0x00C8, 0x00E1, 0x00FA, 0x0113, + 0x012C, 0x0145, 0x015E, 0x0177, 0x0190, 0x01A9, 0x01C2, 0x01DB, + 0x01F4, 0x0230, 0x03E8, 0x05DC, 0x0BB8, 0x0000 +}; + +static const Uint16Provider kLoLItemPricesDOSCDProvider = { ARRAYSIZE(kLoLItemPricesDOSCD), kLoLItemPricesDOSCD }; + +static const byte kLoLStashSetupDOSCD[12] = { + 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x00, 0x01, 0x01 +}; + +static const ByteProvider kLoLStashSetupDOSCDProvider = { ARRAYSIZE(kLoLStashSetupDOSCD), kLoLStashSetupDOSCD }; + +static const byte kLoLDscWallsDOSCD[36] = { + 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, + 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0x02, 0x01, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0x02, 0x03, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0xFF, 0x01, + 0x02, 0xFF, 0xFF, 0x03 +}; + +static const ByteProvider kLoLDscWallsDOSCDProvider = { ARRAYSIZE(kLoLDscWallsDOSCD), kLoLDscWallsDOSCD }; + +static const byte kLoLDscShapeIndexDOSCD[36] = { + 0x03, 0x09, 0x03, 0x08, 0x03, 0x07, 0x03, 0x03, + 0x03, 0xF9, 0x03, 0xF8, 0x03, 0xF7, 0x02, 0x09, + 0x02, 0x06, 0x02, 0x02, 0x02, 0xFA, 0x02, 0xF7, + 0x01, 0x05, 0x01, 0x01, 0x01, 0xFB, 0x00, 0x04, + 0x00, 0x00, 0x00, 0xFC +}; + +static const ByteProvider kLoLDscShapeIndexDOSCDProvider = { ARRAYSIZE(kLoLDscShapeIndexDOSCD), kLoLDscShapeIndexDOSCD }; + +static const byte kLoLDscOvlMapDOSCD[10] = { + 0x00, 0x01, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x04 +}; + +static const ByteProvider kLoLDscOvlMapDOSCDProvider = { ARRAYSIZE(kLoLDscOvlMapDOSCD), kLoLDscOvlMapDOSCD }; + +static const uint16 kLoLDscScaleWidthDataDOSCD[36] = { + 0x0060, 0x0000, 0x0060, 0x00CE, 0x0060, 0x0055, 0x0060, 0x0000, + 0x0060, 0x0055, 0x0060, 0x00CE, 0x0060, 0x0000, 0x00A0, 0x00AE, + 0x00A0, 0x00AA, 0x00A0, 0x0000, 0x00A0, 0x00AA, 0x00A0, 0x00AE, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleWidthDataDOSCDProvider = { ARRAYSIZE(kLoLDscScaleWidthDataDOSCD), kLoLDscScaleWidthDataDOSCD }; + +static const uint16 kLoLDscScaleHeightDataDOSCD[36] = { + 0x006A, 0x0000, 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, + 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, 0x00AA, 0x0056, + 0x00AA, 0x00AA, 0x00AA, 0x0000, 0x00AA, 0x00AA, 0x00AA, 0x0056, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleHeightDataDOSCDProvider = { ARRAYSIZE(kLoLDscScaleHeightDataDOSCD), kLoLDscScaleHeightDataDOSCD }; + +static const uint16 kLoLDscXDOSCD[36] = { + 0xFFB0, 0xFFE0, 0xFFE0, 0x0010, 0x0010, 0x0040, 0x0040, 0x0000, + 0x0070, 0x0070, 0x00A0, 0x00A0, 0x00D0, 0x00D0, 0xFF86, 0x0000, + 0xFFE0, 0x0030, 0x0030, 0x0000, 0x0080, 0x0080, 0x00D0, 0x00B0, + 0xFF98, 0x0018, 0x0018, 0x0000, 0x0098, 0x0098, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00B0, 0x00B0 +}; + +static const Uint16Provider kLoLDscXDOSCDProvider = { ARRAYSIZE(kLoLDscXDOSCD), kLoLDscXDOSCD }; + +static const byte kLoLBaseDscYDOSCD[36] = { + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x1C, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x1C, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLBaseDscYDOSCDProvider = { ARRAYSIZE(kLoLBaseDscYDOSCD), kLoLBaseDscYDOSCD }; + +static const byte kLoLDscTileIndexDOSCD[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kLoLDscTileIndexDOSCDProvider = { ARRAYSIZE(kLoLDscTileIndexDOSCD), kLoLDscTileIndexDOSCD }; + +static const byte kLoLDscUnk2DOSCD[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kLoLDscUnk2DOSCDProvider = { ARRAYSIZE(kLoLDscUnk2DOSCD), kLoLDscUnk2DOSCD }; + +static const byte kLoLDscDoorShapeIndexDOSCD[23] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + +static const ByteProvider kLoLDscDoorShapeIndexDOSCDProvider = { ARRAYSIZE(kLoLDscDoorShapeIndexDOSCD), kLoLDscDoorShapeIndexDOSCD }; + +static const byte kLoLDscDimData1DOSCD[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xF8, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFA, 0xD7, 0x10, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0x0E, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, + 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFA, 0xD7, + 0x10, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kLoLDscDimData1DOSCDProvider = { ARRAYSIZE(kLoLDscDimData1DOSCD), kLoLDscDimData1DOSCD }; + +static const byte kLoLDscDimData2DOSCD[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kLoLDscDimData2DOSCDProvider = { ARRAYSIZE(kLoLDscDimData2DOSCD), kLoLDscDimData2DOSCD }; + +static const byte kLoLDscBlockMapDOSCD[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kLoLDscBlockMapDOSCDProvider = { ARRAYSIZE(kLoLDscBlockMapDOSCD), kLoLDscBlockMapDOSCD }; + +static const byte kLoLDscDimMapDOSCD[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kLoLDscDimMapDOSCDProvider = { ARRAYSIZE(kLoLDscDimMapDOSCD), kLoLDscDimMapDOSCD }; + +static const byte kLoLDscOvlIndexDOSCD[20] = { + 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, + 0x06, 0x07, 0x07, 0x07 +}; + +static const ByteProvider kLoLDscOvlIndexDOSCDProvider = { ARRAYSIZE(kLoLDscOvlIndexDOSCD), kLoLDscOvlIndexDOSCD }; + +static const byte kLoLDscBlockIndexDOSCD[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kLoLDscBlockIndexDOSCDProvider = { ARRAYSIZE(kLoLDscBlockIndexDOSCD), kLoLDscBlockIndexDOSCD }; + +static const byte kLoLDscDoorY2DOSCD[128] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x08, 0x03, 0x12, 0x0E, 0x09, 0x04, 0x00, + 0x13, 0x0F, 0x0A, 0x05, 0x01, 0x14, 0x10, 0x0B, + 0x06, 0x02, 0x11, 0x0C, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, + 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0C, 0x11, 0x02, 0x06, 0x0B, 0x10, 0x14, + 0x01, 0x05, 0x0A, 0x0F, 0x13, 0x00, 0x04, 0x09, + 0x0E, 0x12, 0x03, 0x08, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLDscDoorY2DOSCDProvider = { ARRAYSIZE(kLoLDscDoorY2DOSCD), kLoLDscDoorY2DOSCD }; + +static const byte kLoLDscDoorFrameY1DOSCD[4] = { + 0x1E, 0x18, 0x10, 0x00 +}; + +static const ByteProvider kLoLDscDoorFrameY1DOSCDProvider = { ARRAYSIZE(kLoLDscDoorFrameY1DOSCD), kLoLDscDoorFrameY1DOSCD }; + +static const byte kLoLDscDoorFrameY2DOSCD[4] = { + 0x3B, 0x47, 0x56, 0x78 +}; + +static const ByteProvider kLoLDscDoorFrameY2DOSCDProvider = { ARRAYSIZE(kLoLDscDoorFrameY2DOSCD), kLoLDscDoorFrameY2DOSCD }; + +static const uint16 kLoLDscDoorScaleDOSCD[8] = { + 0x0075, 0x006A, 0x00B9, 0x00B2, 0x0100, 0x0100, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorScaleDOSCDProvider = { ARRAYSIZE(kLoLDscDoorScaleDOSCD), kLoLDscDoorScaleDOSCD }; + +static const uint16 kLoLDscDoor4DOSCD[4] = { + 0x0005, 0x0002, 0x0008, 0x787C +}; + +static const Uint16Provider kLoLDscDoor4DOSCDProvider = { ARRAYSIZE(kLoLDscDoor4DOSCD), kLoLDscDoor4DOSCD }; + +static const uint16 kLoLDscDoorXDOSCD[576] = { + 0xFF98, 0xFFA0, 0xFFA8, 0xFF90, 0xFF98, 0xFFA0, 0xFFA8, 0xFFB0, + 0xFF74, 0xFF7E, 0xFF88, 0xFF92, 0xFF9C, 0xFF74, 0xFF7E, 0xFF88, + 0xFF92, 0xFF9C, 0xFF64, 0xFF70, 0xFF7C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFB8, 0xFFC0, 0xFFC8, 0xFFB0, 0xFFB8, 0xFFC0, 0xFFC8, 0xFFD0, + 0xFF9C, 0xFFA6, 0xFFB0, 0xFFBA, 0xFFC4, 0xFF9C, 0xFFA6, 0xFFB0, + 0xFFBA, 0xFFC4, 0xFF94, 0xFFA0, 0xFFAC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD8, 0xFFE0, 0xFFE8, 0xFFD0, 0xFFD8, 0xFFE0, 0xFFE8, 0xFFF0, + 0xFFC4, 0xFFCE, 0xFFD8, 0xFFE2, 0xFFEC, 0xFFC4, 0xFFCE, 0xFFD8, + 0xFFE2, 0xFFEC, 0xFFC4, 0xFFD0, 0xFFDC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0x0000, 0x0008, 0xFFF0, 0xFFF8, 0x0000, 0x0008, 0x0010, + 0xFFEC, 0xFFF6, 0x0000, 0x000A, 0x0014, 0xFFEC, 0xFFF6, 0x0000, + 0x000A, 0x0014, 0xFFF4, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0018, 0x0020, 0x0028, 0x0010, 0x0018, 0x0020, 0x0028, 0x0030, + 0x0014, 0x001E, 0x0028, 0x0032, 0x003C, 0x0014, 0x001E, 0x0028, + 0x0032, 0x003C, 0x0024, 0x0030, 0x003C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0038, 0x0040, 0x0048, 0x0030, 0x0038, 0x0040, 0x0048, 0x0050, + 0x003C, 0x0046, 0x0050, 0x005A, 0x0064, 0x003C, 0x0046, 0x0050, + 0x005A, 0x0064, 0x0054, 0x0060, 0x006C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0058, 0x0060, 0x0068, 0x0050, 0x0058, 0x0060, 0x0068, 0x0070, + 0x0064, 0x006E, 0x0078, 0x0082, 0x008C, 0x0064, 0x006E, 0x0078, + 0x0082, 0x008C, 0x0084, 0x0090, 0x009C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF94, 0xFFA0, 0xFFAC, 0xFF7E, 0xFF8B, 0xFF98, 0xFFA5, 0xFFB2, + 0xFF6C, 0xFF7B, 0xFF8A, 0xFF99, 0xFFA7, 0xFF60, 0xFF70, 0xFF80, + 0xFF90, 0xFFA0, 0xFF4C, 0xFF60, 0xFF74, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC4, 0xFFD0, 0xFFDC, 0xFFB2, 0xFFBF, 0xFFCC, 0xFFD9, 0xFFE6, + 0xFFA7, 0xFFB6, 0xFFC5, 0xFFD4, 0xFFE2, 0xFFA0, 0xFFB0, 0xFFC0, + 0xFFD0, 0xFFE0, 0xFF9C, 0xFFB0, 0xFFC4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF4, 0x0000, 0x000C, 0xFFE6, 0xFFF3, 0x0000, 0x000D, 0x001A, + 0xFFE2, 0xFFF1, 0x0000, 0x000F, 0x001E, 0xFFE0, 0xFFF0, 0x0000, + 0x0010, 0x0020, 0xFFEC, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0030, 0x003C, 0x001A, 0x0027, 0x0034, 0x0041, 0x004E, + 0x001E, 0x002C, 0x003B, 0x004A, 0x0059, 0x0020, 0x0030, 0x0040, + 0x0050, 0x0060, 0x003C, 0x0050, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0054, 0x0060, 0x006C, 0x004E, 0x005B, 0x0068, 0x0075, 0x0082, + 0x0059, 0x0067, 0x0076, 0x0085, 0x0094, 0x0060, 0x0070, 0x0080, + 0x0090, 0x00A0, 0x008C, 0x00A0, 0x00B4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF9C, 0xFFB0, 0xFFC4, 0xFF7C, 0xFF92, 0xFFA8, 0xFFBE, 0xFFD4, + 0xFF6D, 0xFF85, 0xFF9E, 0xFFB6, 0xFFCF, 0xFF5E, 0xFF79, 0xFF94, + 0xFFAF, 0xFFCA, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFEC, 0x0000, 0x0014, 0xFFD4, 0xFFEA, 0x0000, 0x0016, 0x002C, + 0xFFCF, 0xFFE7, 0x0000, 0x0019, 0x0031, 0xFFCA, 0xFFE5, 0x0000, + 0x001B, 0x0036, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x003C, 0x0050, 0x0064, 0x002C, 0x0042, 0x0058, 0x006E, 0x0084, + 0x0031, 0x004A, 0x0062, 0x007B, 0x0093, 0x0036, 0x0051, 0x006C, + 0x0087, 0x00A2, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF60, 0xFF80, 0xFFA0, 0xFF1C, 0xFF42, 0xFF68, 0xFF8E, 0xFFB4, + 0xFF40, 0xFF60, 0xFF80, 0xFFA0, 0xFFC0, 0xFF1C, 0xFF42, 0xFF68, + 0xFF8E, 0xFFB4, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFE0, 0x0000, 0x0020, 0xFFB4, 0xFFDA, 0x0000, 0x0026, 0x004C, + 0xFFC0, 0xFFE0, 0x0000, 0x0020, 0x0040, 0xFFB4, 0xFFDA, 0x0000, + 0x0026, 0x004C, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0060, 0x0080, 0x00A0, 0x004C, 0x0072, 0x0098, 0x00BE, 0x00E4, + 0x0040, 0x0060, 0x0080, 0x00A0, 0x00C0, 0x004C, 0x0072, 0x0098, + 0x00BE, 0x00E4, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorXDOSCDProvider = { ARRAYSIZE(kLoLDscDoorXDOSCD), kLoLDscDoorXDOSCD }; + +static const uint16 kLoLDscDoorYDOSCD[576] = { + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorYDOSCDProvider = { ARRAYSIZE(kLoLDscDoorYDOSCD), kLoLDscDoorYDOSCD }; + +static const byte kLoLScrollXTopDOSCD[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXTopDOSCDProvider = { ARRAYSIZE(kLoLScrollXTopDOSCD), kLoLScrollXTopDOSCD }; + +static const byte kLoLScrollYTopDOSCD[5] = { + 0x02, 0x04, 0x07, 0x09, 0x0C +}; + +static const ByteProvider kLoLScrollYTopDOSCDProvider = { ARRAYSIZE(kLoLScrollYTopDOSCD), kLoLScrollYTopDOSCD }; + +static const byte kLoLScrollXBottomDOSCD[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXBottomDOSCDProvider = { ARRAYSIZE(kLoLScrollXBottomDOSCD), kLoLScrollXBottomDOSCD }; + +static const byte kLoLScrollYBottomDOSCD[5] = { + 0x04, 0x08, 0x0C, 0x10, 0x14 +}; + +static const ByteProvider kLoLScrollYBottomDOSCDProvider = { ARRAYSIZE(kLoLScrollYBottomDOSCD), kLoLScrollYBottomDOSCD }; + +static const LoLButtonDef kLoLButtonDefsDOSCD[95] = { + { 0x1100, 96, 352, 33, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 97, 353, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 98, 354, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 92, 348, 11, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 102, 358, 53, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 91, 347, 11, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 101, 357, 53, 131, 22, 19, 0x0000, 0 }, + { 0x0100, 112, 0, 80, 143, 22, 17, 0x0000, 0 }, + { 0x0100, 113, 0, 80, 143, 22, 17, 0x0001, 0 }, + { 0x0100, 114, 0, 80, 143, 22, 17, 0x0002, 0 }, + { 0x0100, 115, 0, 80, 143, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0000, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0001, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0002, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 144, 22, 32, 0x0000, 0 }, + { 0x1100, 110, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0003, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0002, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0004, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0005, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0006, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0007, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0008, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x0009, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x000A, 2 }, + { 0x1100, 110, 0, 160, 93, 43, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 102, 88, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 88, 102, 88, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 85, 88, 17, 0x0002, 2 }, + { 0x1100, 0, 0, 88, 85, 88, 17, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 106, 179, 21, 21, 0x0000, 0 }, + { 0x1100, 0, 0, 127, 179, 21, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 148, 179, 21, 21, 0x0002, 0 }, + { 0x1100, 0, 0, 169, 179, 21, 21, 0x0003, 0 }, + { 0x1100, 0, 0, 190, 179, 21, 21, 0x0004, 0 }, + { 0x1100, 0, 0, 211, 179, 21, 21, 0x0005, 0 }, + { 0x1100, 0, 0, 232, 179, 21, 21, 0x0006, 0 }, + { 0x1100, 0, 0, 253, 179, 21, 21, 0x0007, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0008, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0009, 0 }, + { 0x1100, 0, 0, 85, 179, 21, 21, 0xFFFF, 0 }, + { 0x1100, 0, 0, 295, 179, 22, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 8, 128, 96, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 0, 0, 0x0000, 0 }, + { 0x1100, 0, 0, 112, 0, 176, 16, 0x0001, 0 }, + { 0x1100, 0, 0, 112, 110, 176, 26, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 15, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 24, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 33, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 42, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 51, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 60, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 69, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 78, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 87, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 96, 61, 9, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 110, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 112, 0, 88, 80, 0x0000, 0 }, + { 0x0100, 0, 0, 200, 0, 88, 80, 0x0001, 0 }, + { 0x1100, 25, 110, 11, 178, 21, 22, 0x0000, 0 }, + { 0x0100, 20, 0, 32, 178, 22, 22, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 96, 27, 24, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 0, 31, 28, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 31, 31, 23, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 56, 29, 24, 0x0000, 0 }, + { 0x1100, 0, 0, 220, 98, 43, 19, 0x0000, 0 } +}; + +static const LoLButtonDefProvider kLoLButtonDefsDOSCDProvider = { ARRAYSIZE(kLoLButtonDefsDOSCD), kLoLButtonDefsDOSCD }; + +static const byte kLoLButtonList1DOSCD[40] = { + 0x59, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x31, + 0x3E, 0x2D, 0x2E, 0x2F, 0x30, 0x56, 0x57, 0x01, + 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x32, 0x33, + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, + 0x3C, 0x3D, 0x58, 0x5A, 0x5B, 0x5C, 0x5D, 0xFF +}; + +static const ByteProvider kLoLButtonList1DOSCDProvider = { ARRAYSIZE(kLoLButtonList1DOSCD), kLoLButtonList1DOSCD }; + +static const byte kLoLButtonList2DOSCD[15] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x5E, 0xFF +}; + +static const ByteProvider kLoLButtonList2DOSCDProvider = { ARRAYSIZE(kLoLButtonList2DOSCD), kLoLButtonList2DOSCD }; + +static const byte kLoLButtonList3DOSCD[2] = { + 0x40, 0xFF +}; + +static const ByteProvider kLoLButtonList3DOSCDProvider = { ARRAYSIZE(kLoLButtonList3DOSCD), kLoLButtonList3DOSCD }; + +static const byte kLoLButtonList4DOSCD[15] = { + 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3A, 0x3B, 0x3C, 0x3D, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList4DOSCDProvider = { ARRAYSIZE(kLoLButtonList4DOSCD), kLoLButtonList4DOSCD }; + +static const byte kLoLButtonList5DOSCD[16] = { + 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x41, + 0x42, 0x43, 0x44, 0x45, 0x46, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList5DOSCDProvider = { ARRAYSIZE(kLoLButtonList5DOSCD), kLoLButtonList5DOSCD }; + +static const byte kLoLButtonList6DOSCD[14] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF +}; + +static const ByteProvider kLoLButtonList6DOSCDProvider = { ARRAYSIZE(kLoLButtonList6DOSCD), kLoLButtonList6DOSCD }; + +static const byte kLoLButtonList7DOSCD[3] = { + 0x0F, 0x10, 0xFF +}; + +static const ByteProvider kLoLButtonList7DOSCDProvider = { ARRAYSIZE(kLoLButtonList7DOSCD), kLoLButtonList7DOSCD }; + +static const byte kLoLButtonList8DOSCD[2] = { + 0x55, 0xFF +}; + +static const ByteProvider kLoLButtonList8DOSCDProvider = { ARRAYSIZE(kLoLButtonList8DOSCD), kLoLButtonList8DOSCD }; + +static const byte kLoLLegendDataDOSCD[60] = { + 0x0E, 0x00, 0x00, 0x07, 0x42, 0x19, 0x00, 0x00, + 0x08, 0x42, 0x1A, 0x00, 0x00, 0x09, 0x42, 0x0D, + 0x00, 0x00, 0x0A, 0x42, 0x0A, 0x00, 0x00, 0x0B, + 0x42, 0x0B, 0x00, 0x00, 0x0C, 0x42, 0x0F, 0x00, + 0x00, 0x0D, 0x42, 0x16, 0x00, 0x00, 0x0E, 0x42, + 0x17, 0x00, 0x00, 0x0F, 0x42, 0x11, 0x00, 0x00, + 0x10, 0x42, 0x12, 0x00, 0xFB, 0x51, 0x42, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kLoLLegendDataDOSCDProvider = { ARRAYSIZE(kLoLLegendDataDOSCD), kLoLLegendDataDOSCD }; + +static const byte kLoLMapCursorOvlDOSCD[25] = { + 0x00, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, + 0x87, 0x88, 0x01, 0x01, 0x01, 0x01, 0x01, 0x88, + 0x87, 0x86, 0x85, 0x84, 0x83, 0x82, 0x81, 0x80, + 0x80 +}; + +static const ByteProvider kLoLMapCursorOvlDOSCDProvider = { ARRAYSIZE(kLoLMapCursorOvlDOSCD), kLoLMapCursorOvlDOSCD }; + +static const uint16 kLoLMapStringIdDOSCD[30] = { + 0xFFFF, 0x4211, 0x4212, 0x4213, 0x4214, 0x4215, 0x4216, 0x4217, + 0x4218, 0x4219, 0x421A, 0x421B, 0x421C, 0x421D, 0x421E, 0x421F, + 0x4220, 0x4221, 0x4222, 0x4223, 0x4224, 0x4225, 0x4226, 0x4227, + 0x4228, 0x4229, 0x422A, 0x422B, 0x422C, 0x422D +}; + +static const Uint16Provider kLoLMapStringIdDOSCDProvider = { ARRAYSIZE(kLoLMapStringIdDOSCD), kLoLMapStringIdDOSCD }; + +static const byte kLoLSpellbookAnimDOSCD[28] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x13, 0xB6, 0x04, 0x00, 0x13, 0x4D, + 0x04, 0x00, 0x13, 0xB9, 0x04, 0x00, 0x13, 0xB8, + 0x04, 0x00, 0x13, 0xBA +}; + +static const ByteProvider kLoLSpellbookAnimDOSCDProvider = { ARRAYSIZE(kLoLSpellbookAnimDOSCD), kLoLSpellbookAnimDOSCD }; + +static const byte kLoLSpellbookCoordsDOSCD[12] = { + 0x16, 0x16, 0x16, 0x1F, 0x16, 0x28, 0x16, 0x31, + 0x16, 0x3A, 0x16, 0x43 +}; + +static const ByteProvider kLoLSpellbookCoordsDOSCDProvider = { ARRAYSIZE(kLoLSpellbookCoordsDOSCD), kLoLSpellbookCoordsDOSCD }; + +static const byte kLoLHealShapeFramesDOSCD[80] = { + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const ByteProvider kLoLHealShapeFramesDOSCDProvider = { ARRAYSIZE(kLoLHealShapeFramesDOSCD), kLoLHealShapeFramesDOSCD }; + +static const byte kLoLLightningDefsDOSCD[20] = { + 0x06, 0x05, 0xAB, 0x00, 0x06, 0x04, 0xAB, 0x00, + 0x08, 0x04, 0xAA, 0x00, 0x06, 0x03, 0xAA, 0x00, + 0x06, 0x02, 0xA9, 0x00 +}; + +static const ByteProvider kLoLLightningDefsDOSCDProvider = { ARRAYSIZE(kLoLLightningDefsDOSCD), kLoLLightningDefsDOSCD }; + +static const uint16 kLoLFireballCoordsDOSCD[256] = { + 0x0000, 0x0324, 0x0647, 0x096A, 0x0C8B, 0x0FAB, 0x12C7, 0x15E1, + 0x18F8, 0x1C0B, 0x1F19, 0x2223, 0x2527, 0x2826, 0x2B1E, 0x2E10, + 0x30FB, 0x33DE, 0x36B9, 0x398C, 0x3C56, 0x3F16, 0x41CD, 0x447A, + 0x471C, 0x49B3, 0x4C3F, 0x4EBF, 0x5133, 0x539A, 0x55F4, 0x5842, + 0x5A81, 0x5CB3, 0x5ED6, 0x60EB, 0x62F1, 0x64E7, 0x66CE, 0x68A5, + 0x6A6C, 0x6C23, 0x6DC9, 0x6F5E, 0x70E1, 0x7254, 0x73B5, 0x7503, + 0x7640, 0x776B, 0x7883, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE2, + 0x7D89, 0x7E1C, 0x7E9C, 0x7F08, 0x7F61, 0x7FA6, 0x7FD7, 0x7FF5, + 0x7FFF, 0x7FF5, 0x7FD7, 0x7FA6, 0x7F61, 0x7F08, 0x7E9C, 0x7E1C, + 0x7D89, 0x7CE2, 0x7C29, 0x7B5C, 0x7A7C, 0x7989, 0x7883, 0x776B, + 0x7640, 0x7503, 0x73B5, 0x7254, 0x70E1, 0x6F5E, 0x6DC9, 0x6C23, + 0x6A6C, 0x68A5, 0x66CE, 0x64E7, 0x62F1, 0x60EB, 0x5ED6, 0x5CB3, + 0x5A81, 0x5842, 0x55F4, 0x539A, 0x5133, 0x4EBF, 0x4C3F, 0x49B3, + 0x471C, 0x447A, 0x41CD, 0x3F16, 0x3C56, 0x398C, 0x36B9, 0x33DE, + 0x30FB, 0x2E10, 0x2B1E, 0x2826, 0x2527, 0x2223, 0x1F19, 0x1C0B, + 0x18F8, 0x15E1, 0x12C7, 0x0FAB, 0x0C8B, 0x096A, 0x0647, 0x0324, + 0x0000, 0xFCDC, 0xF9B9, 0xF696, 0xF375, 0xF055, 0xED39, 0xEA1F, + 0xE708, 0xE3F5, 0xE0E7, 0xDDDD, 0xDAD9, 0xD7DA, 0xD4E2, 0xD1F0, + 0xCF05, 0xCC22, 0xC947, 0xC674, 0xC3AA, 0xC0EA, 0xBE33, 0xBB86, + 0xB8E4, 0xB64D, 0xB3C1, 0xB141, 0xAECD, 0xAC66, 0xAA0C, 0xA7BE, + 0xA57F, 0xA34D, 0xA12A, 0x9F15, 0x9D0F, 0x9B19, 0x9932, 0x975B, + 0x9594, 0x93DD, 0x9237, 0x90A2, 0x8F1F, 0x8DAC, 0x8C4B, 0x8AFD, + 0x89C0, 0x8895, 0x877D, 0x8677, 0x8584, 0x84A4, 0x83D7, 0x831E, + 0x8277, 0x81E4, 0x8164, 0x80F8, 0x809F, 0x805A, 0x8029, 0x800B, + 0x8001, 0x800B, 0x8029, 0x805A, 0x809F, 0x80F8, 0x8164, 0x81E4, + 0x8277, 0x831E, 0x83D7, 0x84A4, 0x8584, 0x8677, 0x877D, 0x8895, + 0x89C0, 0x8AFD, 0x8C4B, 0x8DAC, 0x8F1F, 0x90A2, 0x9237, 0x93DD, + 0x9594, 0x975B, 0x9932, 0x9B19, 0x9D0F, 0x9F15, 0xA12A, 0xA34D, + 0xA57F, 0xA7BE, 0xAA0C, 0xAC66, 0xAECD, 0xB141, 0xB3C1, 0xB64D, + 0xB8E4, 0xBB86, 0xBE33, 0xC0EA, 0xC3AA, 0xC674, 0xC947, 0xCC22, + 0xCF05, 0xD1F0, 0xD4E2, 0xD7DA, 0xDAD9, 0xDDDD, 0xE0E7, 0xE3F5, + 0xE708, 0xEA1F, 0xED39, 0xF055, 0xF375, 0xF696, 0xF9B9, 0xFCDC +}; + +static const Uint16Provider kLoLFireballCoordsDOSCDProvider = { ARRAYSIZE(kLoLFireballCoordsDOSCD), kLoLFireballCoordsDOSCD }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd_english.h b/devtools/create_kyradat/resources/lol_dos_cd_english.h new file mode 100644 index 0000000000..9d636cf714 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd_english.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSCDEnglish[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSCDEnglishProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDEnglish), kLoLCharacterDefsDOSCDEnglish }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd_french.h b/devtools/create_kyradat/resources/lol_dos_cd_french.h new file mode 100644 index 0000000000..ea91647eb9 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd_french.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSCDFrench[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSCDFrenchProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDFrench), kLoLCharacterDefsDOSCDFrench }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd_german.h b/devtools/create_kyradat/resources/lol_dos_cd_german.h new file mode 100644 index 0000000000..9682217857 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd_german.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSCDGerman[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSCDGermanProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDGerman), kLoLCharacterDefsDOSCDGerman }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd_italian.h b/devtools/create_kyradat/resources/lol_dos_cd_italian.h new file mode 100644 index 0000000000..4a9734e40b --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd_italian.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSCDItalian[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSCDItalianProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDItalian), kLoLCharacterDefsDOSCDItalian }; + diff --git a/devtools/create_kyradat/resources/lol_dos_cd_russian.h b/devtools/create_kyradat/resources/lol_dos_cd_russian.h new file mode 100644 index 0000000000..37ab84eacf --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_cd_russian.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSCDRussian[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSCDRussianProvider = { ARRAYSIZE(kLoLCharacterDefsDOSCDRussian), kLoLCharacterDefsDOSCDRussian }; + diff --git a/devtools/create_kyradat/resources/lol_dos_demo.h b/devtools/create_kyradat/resources/lol_dos_demo.h new file mode 100644 index 0000000000..7c5a08fbc9 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_demo.h @@ -0,0 +1,54 @@ +static const char *const kLoLSeqplayPakFilesDOSDemo[1] = { + "GENERAL.PAK" +}; + +static const StringListProvider kLoLSeqplayPakFilesDOSDemoProvider = { ARRAYSIZE(kLoLSeqplayPakFilesDOSDemo), kLoLSeqplayPakFilesDOSDemo }; + +static const HoFSequence kLoLSeqplaySeqDataDOSDemoSeq[11] = { + { 0x0002, "", "scene1.cps", 3, 1, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x00C8, 0, 0, 0x003C }, + { 0x0004, "", "", 3, 0, 0x0000, 0x0001, 0x0000, 0x0001, 0x00C8, 0, 0, 0x0000 }, + { 0x0003, "scene2.wsa", "scene2.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0053, 0x0003, 0, 0, 0x001E }, + { 0x0004, "", "", 4, 0, 0x0002, 0x0003, 0x0000, 0x0001, 0x00C8, 0, 0, 0x0000 }, + { 0x0003, "scene3.wsa", "scene3.cps", 5, 0, 0xFFFF, 0xFFFF, 0x0000, 0x006B, 0x0005, 0, 0, 0x001E }, + { 0x0004, "", "", 4, 0, 0x0004, 0x0005, 0x0000, 0x0001, 0x00C8, 0, 0, 0x0000 }, + { 0x0003, "scene4.wsa", "scene4.cps", 4, 0, 0xFFFF, 0xFFFF, 0x0000, 0x0044, 0x000A, 0, 0, 0x0028 }, + { 0x0004, "", "", 4, 0, 0x0006, 0x0007, 0x0000, 0x0001, 0x00C8, 0, 0, 0x0000 }, + { 0x0003, "scene5.wsa", "scene5.cps", 4, 1, 0xFFFF, 0xFFFF, 0x0000, 0x0031, 0x0008, 0, 0, 0x000A }, + { 0x0004, "", "", 3, 1, 0x0008, 0x0009, 0x0000, 0x0001, 0x00C8, 0, 0, 0x0000 }, + { 0x0002, "", "scene1.cps", 3, 1, 0xFFFF, 0xFFFF, 0x0000, 0x0001, 0x0014, 0, 0, 0x012C } +}; + + +static const HoFSequenceProvider kLoLSeqplaySeqDataDOSDemoProvider = { ARRAYSIZE(kLoLSeqplaySeqDataDOSDemoSeq), kLoLSeqplaySeqDataDOSDemoSeq, 0, NULL }; + +static const char *const kLoLSeqplaySfxFilesDOSDemo[18] = { + "tclap1", + "tclap2", + "beeorc2", + "tclap4", + "tclap5", + "scotia9", + "bolt", + "bolt2", + "wokout1", + "cdamage1", + "wokmisc1", + "mwhoa1", + "mstdoom2", + "loragasp", + "ratwok", + "swing1", + "bludyell", + "" +}; + +static const StringListProvider kLoLSeqplaySfxFilesDOSDemoProvider = { ARRAYSIZE(kLoLSeqplaySfxFilesDOSDemo), kLoLSeqplaySfxFilesDOSDemo }; + +static const char *const kLoLSeqplayIntroTracksDOSDemo[3] = { + "loredemo", + "loredemo", + "" +}; + +static const StringListProvider kLoLSeqplayIntroTracksDOSDemoProvider = { ARRAYSIZE(kLoLSeqplayIntroTracksDOSDemo), kLoLSeqplayIntroTracksDOSDemo }; + diff --git a/devtools/create_kyradat/resources/lol_dos_demo_english.h b/devtools/create_kyradat/resources/lol_dos_demo_english.h new file mode 100644 index 0000000000..df80fd10e2 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_demo_english.h @@ -0,0 +1,15 @@ +static const char *const kLoLSeqplayStringsDOSDemoEnglish[10] = { + "The Lands have become perilous", + "to travellers", + "King Richard holds the strength", + "to defeat Sorceress Scotia!", + "You have the ability to restore", + "hope to the People", + "Cruel and hideous monsters", + "will hinder your quest...", + "Will you accept the challenge ?", + "Scotia awaits..." +}; + +static const StringListProvider kLoLSeqplayStringsDOSDemoEnglishProvider = { ARRAYSIZE(kLoLSeqplayStringsDOSDemoEnglish), kLoLSeqplayStringsDOSDemoEnglish }; + diff --git a/devtools/create_kyradat/resources/lol_dos_english.h b/devtools/create_kyradat/resources/lol_dos_english.h new file mode 100644 index 0000000000..f6b579545b --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_english.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSEnglish[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSEnglishProvider = { ARRAYSIZE(kLoLCharacterDefsDOSEnglish), kLoLCharacterDefsDOSEnglish }; + diff --git a/devtools/create_kyradat/resources/lol_dos_french.h b/devtools/create_kyradat/resources/lol_dos_french.h new file mode 100644 index 0000000000..2e9180655a --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_french.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSFrench[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSFrenchProvider = { ARRAYSIZE(kLoLCharacterDefsDOSFrench), kLoLCharacterDefsDOSFrench }; + diff --git a/devtools/create_kyradat/resources/lol_dos_german.h b/devtools/create_kyradat/resources/lol_dos_german.h new file mode 100644 index 0000000000..886f180d1d --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_german.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSGerman[9] = { + { 0x0001, "Michael", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Timothy", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Baccata", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Lora", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Conrad", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Paulson", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Dawn", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Kieran", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "Ak'shel", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSGermanProvider = { ARRAYSIZE(kLoLCharacterDefsDOSGerman), kLoLCharacterDefsDOSGerman }; + diff --git a/devtools/create_kyradat/resources/lol_dos_russian.h b/devtools/create_kyradat/resources/lol_dos_russian.h new file mode 100644 index 0000000000..ba27180755 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_dos_russian.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsDOSRussian[9] = { + { 0x0001, "\x8C\xA0\xA9\xAA\xAB", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x92\xA8\xAC\xAE\xE2\xA8", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x81\xA0\xAA\xAA\xA0\xE2\xA0", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x8B\xAE\xE0\xA0", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x8A\xAE\xAD\xE0\xA0\xA4", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x8F\xA0\xE3\xAB\xE1\xAE\xAD", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x84\xA8\xA0\xAD\xA0", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x8A\xA8\xE0\xA0\xAD", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x80\xAA\xE8\xA5\xAB", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsDOSRussianProvider = { ARRAYSIZE(kLoLCharacterDefsDOSRussian), kLoLCharacterDefsDOSRussian }; + diff --git a/devtools/create_kyradat/resources/lol_fmtowns.h b/devtools/create_kyradat/resources/lol_fmtowns.h new file mode 100644 index 0000000000..8c9fabf128 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_fmtowns.h @@ -0,0 +1,1600 @@ +static const char *const kLoLIngamePakFilesFMTowns[11] = { + "VOC.PAK", + "GENERAL.PAK", + "CHAPTER1.PAK", + "CHAPTER2.PAK", + "CHAPTER3.PAK", + "CHAPTER4.PAK", + "CHAPTER5.PAK", + "CHAPTER6.PAK", + "CHAPTER7.PAK", + "CHAPTER8.PAK", + "TMUS.PAK" +}; + +static const StringListProvider kLoLIngamePakFilesFMTownsProvider = { ARRAYSIZE(kLoLIngamePakFilesFMTowns), kLoLIngamePakFilesFMTowns }; + +static const char *const kLoLIngameSfxFilesFMTowns[230] = { + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "DOORMTOP", + "DOORMTCL", + "PMETLHI", + "SWING6", + "MDAMAGE2", + "LEVERDN", + "LEVERUP", + "MTLDRSLM", + "DOORWDOP", + "DOORWDCL", + "KEYOPEN", + "KEYLOCK", + "PORTCUL", + "PORTCULD", + "LOKPICK", + "OCEAN2", + "NUNCHUK", + "SWING", + "SHWING1", + "SWING6", + "THROW", + "CROSSBOW", + "HEAL1", + "FIRESPL1", + "PRESSIN", + "PRESSOUT", + "PLATEON", + "PLATEOFF", + "DORWDSLM", + "LITENIN1", + "ICESPEL2", + "SPELL4B", + "SHIELD1", + "3BOLTC", + "2BOLTC", + "1BOLTC", + "DAWNSPL1", + "HEALKING", + "SPELL7", + "SWING1", + "EXPLODE", + "CROWCAW", + "MORPH2", + "CHEST", + "MONEY", + "SPELBK2", + "AUTOMAP", + "MINECRT3", + "CREAK1", + "TURNPAG2", + "POLGULP1", + "GOOEY1", + "BUCKBELL", + "KEEPXIT2", + "VSCREAM4", + "EMPTY", + "GOOEY1", + "GOOEY2", + "RIPPOD4", + "PODSKEL1", + "INVISO", + "OPENBOX2", + "ACCEPT2", + "BOW2", + "HACHUCKM", + "FOUNDRY2", + "FOUNDRY2", + "FOUNDRY4", + "FOUNDRY6", + "CLEANGL1", + "CLEANGL2", + "GLOWY1", + "DORSTNOP", + "DORSTNCL", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "ADAMAGE1", + "HDAMAGE1", + "TDAMAGE1", + "BDAMAGE1", + "LDAMAGE1", + "TDAMAGE2", + "CDAMAGE1", + "EMPTY", + "EMPTY", + "EMPTY", + "GOOD1", + "GOOD2", + "EMPTY", + "EMPTY", + "EMPTY", + "LITENIN1", + "COMPASS2", + "KINGDOR1", + "GLASBRK2", + "FLUTTER3", + "NUNCHUK", + "WALLFALL", + "WALLHIT", + "MWHOA1", + "LADDER", + "WHITTL3", + "ROWBOAT1", + "HORSEY2", + "SNORT", + "PUMPDOR1", + "PUMPSM2", + "PUMPSM3", + "SPARK1", + "BEZEL", + "SWARM", + "CHEST", + "WRIT1", + "CAUSFOG", + "VAELAN2", + "ROARSPL1", + "RATTLER", + "WINK1", + "HANDFATE", + "QUAKE1", + "WIZLAMP1", + "SAP2", + "MSTDOOM1", + "GARDIAN1", + "VORTEX1", + "LION1", + "STEAM", + "SQUAWCK", + "SLIDEMUG", + "SPARKHIT", + "SPARKHIT2", + "SPARKHIT3", + "ICEFORM", + "ICEXPLOD", + "EXPLODE2", + "EXPLODE3", + "BOLTQUK2", + "BOLT2", + "BOLT3", + "SNKBITE", + "HANDGLOW", + "MSTDOOM2", + "MSTDOOM3", + "GARDIAN2", + "PLUSPOWR", + "MINSPOWR", + "BLUDCURL", + "LORAGASP", + "POURH2O", + "AWHOA2", + "HWHOA1", + "CWHOA1", + "AFALL2", + "EMPTY", + "CFALL2", + "MFALL2", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "WRIT2", + "WRIT3", + "WRIT4", + "WRIT5", + "WRIT6", + "RUCKUS1", + "RUCKUS3", + "CHANT1", + "EMPTY", + "EMPTY", + "EMPTY", + "CHANT2", + "CHANT3", + "" +}; + +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 SpellProperty kLoLSpellPropertiesFMTowns[10] = { + { 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 }, + { 16437, { 5, 10, 25, 60 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0001 }, + { 16438, { 8, 15, 30, 80 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0102 }, + { 16440, { 20, 35, 65, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0103 }, + { 16441, { 30, 60, 90, 120 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0104 }, + { 16442, { 30, 60, 90, 150 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0105 }, + { 16439, { 25, 30, 50, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0106 }, + { 16443, { 3, 6, 12, 24 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0107 }, + { 16975, { 15, 15, 15, 15 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 }, + { 16975, { 15, 15, 15, 15 }, 15, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 } +}; + +static const SpellPropertyProvider kLoLSpellPropertiesFMTownsProvider = { ARRAYSIZE(kLoLSpellPropertiesFMTowns), kLoLSpellPropertiesFMTowns }; + +static const byte kLoLGameShapeMapFMTowns[276] = { + 0x15, 0x54, 0x05, 0x35, 0x09, 0x36, 0x00, 0x34, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x3A, 0x26, 0x3B, + 0x05, 0x35, 0x07, 0x37, 0x18, 0x3E, 0x0D, 0x3C, + 0x06, 0x40, 0x06, 0x3D, 0x01, 0x54, 0x01, 0x54, + 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x04, 0x54, + 0x04, 0x54, 0x2D, 0x54, 0x2D, 0x54, 0x0B, 0x39, + 0x24, 0x54, 0x03, 0x38, 0x00, 0x3A, 0x1E, 0x3C, + 0x1E, 0x3C, 0x1B, 0x54, 0x14, 0x54, 0x29, 0x54, + 0x02, 0x54, 0x0C, 0x54, 0x22, 0x54, 0x21, 0x3F, + 0x0D, 0x3C, 0x25, 0x54, 0x1A, 0x3F, 0x04, 0x54, + 0x30, 0x54, 0x31, 0x54, 0x32, 0x54, 0x32, 0x54, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, + 0x17, 0x54, 0x17, 0x54, 0x0E, 0x54, 0x0E, 0x54, + 0x0E, 0x54, 0x26, 0x3B, 0x2C, 0x54, 0x21, 0x3F, + 0x07, 0x37, 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x22, 0x54, 0x22, 0x54, + 0x16, 0x54, 0x2D, 0x54, 0x3B, 0x54, 0x3B, 0x54, + 0x3A, 0x54, 0x17, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x17, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, + 0x1F, 0x54, 0x17, 0x54, 0x27, 0x54, 0x1B, 0x54, + 0x1E, 0x3C, 0x2A, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, + 0x34, 0x54, 0x0F, 0x54, 0x35, 0x41, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x2B, 0x54, + 0x1D, 0x54, 0x1D, 0x54, 0x28, 0x54, 0x28, 0x54, + 0x28, 0x54, 0x28, 0x54, 0x01, 0x54, 0x14, 0x54, + 0x14, 0x54, 0x14, 0x54, 0x14, 0x54, 0x1B, 0x54, + 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x36, 0x54, 0x37, 0x54, 0x38, 0x54, + 0x39, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x27, 0x54, 0x2E, 0x54, 0x2E, 0x54, + 0x2E, 0x54, 0x2E, 0x54, 0x17, 0x54, 0x01, 0x54, + 0x1C, 0x54, 0x1C, 0x54 +}; + +static const ByteProvider kLoLGameShapeMapFMTownsProvider = { ARRAYSIZE(kLoLGameShapeMapFMTowns), kLoLGameShapeMapFMTowns }; + +static const byte kLoLSceneItemOffsFMTowns[8] = { + 0x00, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x01, 0xFF +}; + +static const ByteProvider kLoLSceneItemOffsFMTownsProvider = { ARRAYSIZE(kLoLSceneItemOffsFMTowns), kLoLSceneItemOffsFMTowns }; + +static const byte kLoLCharInvIndexFMTowns[5] = { + 0x00, 0x00, 0x03, 0x01, 0x02 +}; + +static const ByteProvider kLoLCharInvIndexFMTownsProvider = { ARRAYSIZE(kLoLCharInvIndexFMTowns), kLoLCharInvIndexFMTowns }; + +static const byte kLoLCharInvDefsFMTowns[88] = { + 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, + 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, 0x50, 0x1C, + 0x05, 0x5D, 0x0F, 0x4E, 0x50, 0x4E, 0x05, 0x19, + 0x50, 0x19, 0x05, 0x49, 0x50, 0x49, 0x05, 0x01, + 0x05, 0x31, 0x50, 0x01, 0x50, 0x31, 0x05, 0x61, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x34, 0x50, 0x34, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, + 0x50, 0x04, 0x50, 0x1C, 0x05, 0x5D, 0x0F, 0x4E, + 0x50, 0x4E, 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, + 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, + 0x50, 0x1C, 0xFF, 0xFF, 0x0F, 0x4E, 0x50, 0x4E +}; + +static const ByteProvider kLoLCharInvDefsFMTownsProvider = { ARRAYSIZE(kLoLCharInvDefsFMTowns), kLoLCharInvDefsFMTowns }; + +static const uint16 kLoLCharDefsManFMTowns[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsManFMTownsProvider = { ARRAYSIZE(kLoLCharDefsManFMTowns), kLoLCharDefsManFMTowns }; + +static const uint16 kLoLCharDefsWomanFMTowns[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsWomanFMTownsProvider = { ARRAYSIZE(kLoLCharDefsWomanFMTowns), kLoLCharDefsWomanFMTowns }; + +static const uint16 kLoLCharDefsKieranFMTowns[9] = { + 0x0180, 0x0080, 0x00C0, 0x0032, 0x0200, 0x00A6, 0x0100, 0x0140, + 0x0006 +}; + +static const Uint16Provider kLoLCharDefsKieranFMTownsProvider = { ARRAYSIZE(kLoLCharDefsKieranFMTowns), kLoLCharDefsKieranFMTowns }; + +static const uint16 kLoLCharDefsAkshelFMTowns[9] = { + 0x00C0, 0x00C0, 0x0140, 0x0032, 0x0100, 0x0180, 0x0180, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsAkshelFMTownsProvider = { ARRAYSIZE(kLoLCharDefsAkshelFMTowns), kLoLCharDefsAkshelFMTowns }; + +static const uint32 kLoLExpRequirementsFMTowns[11] = { + 0x00000000, 0x000001F4, 0x000005DC, 0x00001388, 0x000061A8, 0x0000C350, 0x00013880, 0x0001D4C0, + 0x0002BF20, 0x00041EB0, 0x7FFFFFFF +}; + +static const Uint32Provider kLoLExpRequirementsFMTownsProvider = { ARRAYSIZE(kLoLExpRequirementsFMTowns), kLoLExpRequirementsFMTowns }; + +static const uint16 kLoLMonsterModifiers1FMTowns[3] = { + 0x00C0, 0x0100, 0x0180 +}; + +static const Uint16Provider kLoLMonsterModifiers1FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers1FMTowns), kLoLMonsterModifiers1FMTowns }; + +static const uint16 kLoLMonsterModifiers2FMTowns[3] = { + 0x0100, 0x0100, 0x00C0 +}; + +static const Uint16Provider kLoLMonsterModifiers2FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers2FMTowns), kLoLMonsterModifiers2FMTowns }; + +static const uint16 kLoLMonsterModifiers3FMTowns[3] = { + 0x0140, 0x0100, 0x0080 +}; + +static const Uint16Provider kLoLMonsterModifiers3FMTownsProvider = { ARRAYSIZE(kLoLMonsterModifiers3FMTowns), kLoLMonsterModifiers3FMTowns }; + +static const byte kLoLMonsterShiftOffsetsFMTowns[32] = { + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0x00 +}; + +static const ByteProvider kLoLMonsterShiftOffsetsFMTownsProvider = { ARRAYSIZE(kLoLMonsterShiftOffsetsFMTowns), kLoLMonsterShiftOffsetsFMTowns }; + +static const byte kLoLMonsterDirFlagsFMTowns[16] = { + 0x08, 0x14, 0x00, 0x04, 0x04, 0x08, 0x14, 0x00, + 0x00, 0x04, 0x08, 0x14, 0x14, 0x00, 0x04, 0x08 +}; + +static const ByteProvider kLoLMonsterDirFlagsFMTownsProvider = { ARRAYSIZE(kLoLMonsterDirFlagsFMTowns), kLoLMonsterDirFlagsFMTowns }; + +static const byte kLoLMonsterScaleYFMTowns[30] = { + 0x7C, 0x78, 0x74, 0x70, 0x6C, 0x68, 0x65, 0x62, + 0x5F, 0x5C, 0x59, 0x56, 0x53, 0x50, 0x4D, 0x4A, + 0x48, 0x46, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, + 0x3C, 0x3B, 0x3A, 0x39, 0x38, 0x38 +}; + +static const ByteProvider kLoLMonsterScaleYFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleYFMTowns), kLoLMonsterScaleYFMTowns }; + +static const byte kLoLMonsterScaleXFMTowns[29] = { + 0x98, 0x98, 0x90, 0x88, 0x80, 0x76, 0x6E, 0x68, + 0x62, 0x5C, 0x58, 0x54, 0x50, 0x4A, 0x44, 0x40, + 0x3C, 0x38, 0x36, 0x32, 0x30, 0x2C, 0x2A, 0x28, + 0x26, 0x24, 0x22, 0x20, 0x20 +}; + +static const ByteProvider kLoLMonsterScaleXFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleXFMTowns), kLoLMonsterScaleXFMTowns }; + +static const uint16 kLoLMonsterScaleWHFMTowns[65] = { + 0x0041, 0x0045, 0x0049, 0x004D, 0x0051, 0x0055, 0x0059, 0x005D, + 0x0062, 0x0066, 0x006A, 0x006E, 0x0072, 0x0076, 0x007A, 0x007E, + 0x0082, 0x0086, 0x008A, 0x008E, 0x0092, 0x0096, 0x009A, 0x009E, + 0x00A3, 0x00A7, 0x00AB, 0x00AF, 0x00B3, 0x00B7, 0x00BB, 0x00BF, + 0x00C3, 0x00C7, 0x00CB, 0x00CF, 0x00D3, 0x00D7, 0x00DB, 0x00DF, + 0x00E4, 0x00E8, 0x00EC, 0x00F0, 0x00F4, 0x00F8, 0x00FC, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100 +}; + +static const Uint16Provider kLoLMonsterScaleWHFMTownsProvider = { ARRAYSIZE(kLoLMonsterScaleWHFMTowns), kLoLMonsterScaleWHFMTowns }; + +static const FlyingObjectShape kLoLFlyingObjectShpFMTowns[13] = { + { 0, 0, 1, 0x00, 0x40, }, + { 2, 2, 3, 0x00, 0x00, }, + { 4, 4, 4, 0x00, 0x00, }, + { 5, 5, 5, 0x20, 0x00, }, + { 6, 6, 6, 0x20, 0x00, }, + { 7, 7, 7, 0x20, 0x00, }, + { 9, 8, 15, 0x00, 0x00, }, + { 11, 10, 12, 0x00, 0x00, }, + { 12, 12, 12, 0x20, 0x00, }, + { 14, 13, 15, 0x00, 0x00, }, + { 16, 16, 16, 0x00, 0x00, }, + { 17, 17, 17, 0x20, 0x00, }, + { 18, 18, 18, 0x00, 0x00, } +}; + +static const FlyingObjectShapeProvider kLoLFlyingObjectShpFMTownsProvider = { ARRAYSIZE(kLoLFlyingObjectShpFMTowns), kLoLFlyingObjectShpFMTowns }; + +static const uint16 kLoLInventoryDescFMTowns[11] = { + 0x417A, 0x417B, 0x417A, 0x417B, 0x417C, 0x417D, 0x417E, 0x417F, + 0x4180, 0x4181, 0x4181 +}; + +static const Uint16Provider kLoLInventoryDescFMTownsProvider = { ARRAYSIZE(kLoLInventoryDescFMTowns), kLoLInventoryDescFMTowns }; + +static const char *const kLoLLevelShpListFMTowns[12] = { + "KEEP.SHP", + "FOREST1.SHP", + "MANOR.SHP", + "CAVE1.SHP", + "SWAMP.SHP", + "URBISH.SHP", + "MINE1.SHP", + "TOWER1.SHP", + "YVEL1.SHP", + "CATWALK.SHP", + "RUIN.SHP", + "CIMMERIA.SHP" +}; + +static const StringListProvider kLoLLevelShpListFMTownsProvider = { ARRAYSIZE(kLoLLevelShpListFMTowns), kLoLLevelShpListFMTowns }; + +static const char *const kLoLLevelDatListFMTowns[12] = { + "KEEP.DAT", + "FOREST1.DAT", + "MANOR.DAT", + "CAVE1.DAT", + "SWAMP.DAT", + "URBISH.DAT", + "MINE1.DAT", + "TOWER1.DAT", + "YVEL1.DAT", + "CATWALK.DAT", + "RUIN.DAT", + "CIMMERIA.DAT" +}; + +static const StringListProvider kLoLLevelDatListFMTownsProvider = { ARRAYSIZE(kLoLLevelDatListFMTowns), kLoLLevelDatListFMTowns }; + +static const CompassDef kLoLCompassDefsFMTowns[32] = { + { 0, 3, -3, 0x00 }, + { 1, 3, -3, 0x00 }, + { 2, 3, -3, 0x00 }, + { 3, 5, -3, 0x00 }, + { 4, 5, -3, 0x00 }, + { 5, 6, -3, 0x00 }, + { 6, 6, -3, 0x00 }, + { 7, 6, -3, 0x00 }, + { 8, 6, -3, 0x00 }, + { 7, 6, 4, 0x02 }, + { 6, 6, 4, 0x02 }, + { 5, 6, 4, 0x02 }, + { 4, 5, 4, 0x02 }, + { 3, 5, 4, 0x02 }, + { 2, 3, 4, 0x02 }, + { 1, 3, 4, 0x02 }, + { 0, 3, 4, 0x02 }, + { 1, 2, 4, 0x03 }, + { 2, 2, 4, 0x03 }, + { 3, 0, 4, 0x03 }, + { 4, 0, 4, 0x03 }, + { 5, -1, 4, 0x03 }, + { 6, -1, 4, 0x03 }, + { 7, -1, 4, 0x03 }, + { 8, -1, -3, 0x01 }, + { 7, -1, -3, 0x01 }, + { 6, -1, -3, 0x01 }, + { 5, -1, -3, 0x01 }, + { 4, 0, -3, 0x01 }, + { 3, 0, -3, 0x01 }, + { 2, 2, -3, 0x01 }, + { 1, 2, -3, 0x01 } +}; + +static const CompassDefProvider kLoLCompassDefsFMTownsProvider = { ARRAYSIZE(kLoLCompassDefsFMTowns), kLoLCompassDefsFMTowns }; + +static const byte kLoLStashSetupFMTowns[12] = { + 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x00, 0x01, 0x01 +}; + +static const ByteProvider kLoLStashSetupFMTownsProvider = { ARRAYSIZE(kLoLStashSetupFMTowns), kLoLStashSetupFMTowns }; + +static const byte kLoLDscWallsFMTowns[36] = { + 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, + 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0x02, 0x01, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0x02, 0x03, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0xFF, 0x01, + 0x02, 0xFF, 0xFF, 0x03 +}; + +static const ByteProvider kLoLDscWallsFMTownsProvider = { ARRAYSIZE(kLoLDscWallsFMTowns), kLoLDscWallsFMTowns }; + +static const byte kLoLDscShapeIndexFMTowns[36] = { + 0x03, 0x09, 0x03, 0x08, 0x03, 0x07, 0x03, 0x03, + 0x03, 0xF9, 0x03, 0xF8, 0x03, 0xF7, 0x02, 0x09, + 0x02, 0x06, 0x02, 0x02, 0x02, 0xFA, 0x02, 0xF7, + 0x01, 0x05, 0x01, 0x01, 0x01, 0xFB, 0x00, 0x04, + 0x00, 0x00, 0x00, 0xFC +}; + +static const ByteProvider kLoLDscShapeIndexFMTownsProvider = { ARRAYSIZE(kLoLDscShapeIndexFMTowns), kLoLDscShapeIndexFMTowns }; + +static const byte kLoLDscOvlMapFMTowns[10] = { + 0x00, 0x01, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x04 +}; + +static const ByteProvider kLoLDscOvlMapFMTownsProvider = { ARRAYSIZE(kLoLDscOvlMapFMTowns), kLoLDscOvlMapFMTowns }; + +static const uint16 kLoLDscScaleWidthDataFMTowns[36] = { + 0x0060, 0x0000, 0x0060, 0x00CE, 0x0060, 0x0055, 0x0060, 0x0000, + 0x0060, 0x0055, 0x0060, 0x00CE, 0x0060, 0x0000, 0x00A0, 0x00AE, + 0x00A0, 0x00AA, 0x00A0, 0x0000, 0x00A0, 0x00AA, 0x00A0, 0x00AE, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleWidthDataFMTownsProvider = { ARRAYSIZE(kLoLDscScaleWidthDataFMTowns), kLoLDscScaleWidthDataFMTowns }; + +static const uint16 kLoLDscScaleHeightDataFMTowns[36] = { + 0x006A, 0x0000, 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, + 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, 0x00AA, 0x0056, + 0x00AA, 0x00AA, 0x00AA, 0x0000, 0x00AA, 0x00AA, 0x00AA, 0x0056, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleHeightDataFMTownsProvider = { ARRAYSIZE(kLoLDscScaleHeightDataFMTowns), kLoLDscScaleHeightDataFMTowns }; + +static const uint16 kLoLDscXFMTowns[36] = { + 0xFFB0, 0xFFE0, 0xFFE0, 0x0010, 0x0010, 0x0040, 0x0040, 0x0000, + 0x0070, 0x0070, 0x00A0, 0x00A0, 0x00D0, 0x00D0, 0xFF86, 0x0000, + 0xFFE0, 0x0030, 0x0030, 0x0000, 0x0080, 0x0080, 0x00D0, 0x00B0, + 0xFF98, 0x0018, 0x0018, 0x0000, 0x0098, 0x0098, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00B0, 0x00B0 +}; + +static const Uint16Provider kLoLDscXFMTownsProvider = { ARRAYSIZE(kLoLDscXFMTowns), kLoLDscXFMTowns }; + +static const byte kLoLBaseDscYFMTowns[36] = { + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x1C, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x1C, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLBaseDscYFMTownsProvider = { ARRAYSIZE(kLoLBaseDscYFMTowns), kLoLBaseDscYFMTowns }; + +static const byte kLoLDscTileIndexFMTowns[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kLoLDscTileIndexFMTownsProvider = { ARRAYSIZE(kLoLDscTileIndexFMTowns), kLoLDscTileIndexFMTowns }; + +static const byte kLoLDscUnk2FMTowns[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kLoLDscUnk2FMTownsProvider = { ARRAYSIZE(kLoLDscUnk2FMTowns), kLoLDscUnk2FMTowns }; + +static const byte kLoLDscDoorShapeIndexFMTowns[23] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + +static const ByteProvider kLoLDscDoorShapeIndexFMTownsProvider = { ARRAYSIZE(kLoLDscDoorShapeIndexFMTowns), kLoLDscDoorShapeIndexFMTowns }; + +static const byte kLoLDscDimData1FMTowns[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xF8, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFA, 0xD7, 0x10, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0x0E, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, + 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFA, 0xD7, + 0x10, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kLoLDscDimData1FMTownsProvider = { ARRAYSIZE(kLoLDscDimData1FMTowns), kLoLDscDimData1FMTowns }; + +static const byte kLoLDscDimData2FMTowns[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kLoLDscDimData2FMTownsProvider = { ARRAYSIZE(kLoLDscDimData2FMTowns), kLoLDscDimData2FMTowns }; + +static const byte kLoLDscBlockMapFMTowns[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kLoLDscBlockMapFMTownsProvider = { ARRAYSIZE(kLoLDscBlockMapFMTowns), kLoLDscBlockMapFMTowns }; + +static const byte kLoLDscDimMapFMTowns[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kLoLDscDimMapFMTownsProvider = { ARRAYSIZE(kLoLDscDimMapFMTowns), kLoLDscDimMapFMTowns }; + +static const byte kLoLDscOvlIndexFMTowns[20] = { + 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, + 0x06, 0x07, 0x07, 0x07 +}; + +static const ByteProvider kLoLDscOvlIndexFMTownsProvider = { ARRAYSIZE(kLoLDscOvlIndexFMTowns), kLoLDscOvlIndexFMTowns }; + +static const byte kLoLDscBlockIndexFMTowns[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kLoLDscBlockIndexFMTownsProvider = { ARRAYSIZE(kLoLDscBlockIndexFMTowns), kLoLDscBlockIndexFMTowns }; + +static const byte kLoLDscDoorY2FMTowns[128] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x08, 0x03, 0x12, 0x0E, 0x09, 0x04, 0x00, + 0x13, 0x0F, 0x0A, 0x05, 0x01, 0x14, 0x10, 0x0B, + 0x06, 0x02, 0x11, 0x0C, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, + 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0C, 0x11, 0x02, 0x06, 0x0B, 0x10, 0x14, + 0x01, 0x05, 0x0A, 0x0F, 0x13, 0x00, 0x04, 0x09, + 0x0E, 0x12, 0x03, 0x08, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLDscDoorY2FMTownsProvider = { ARRAYSIZE(kLoLDscDoorY2FMTowns), kLoLDscDoorY2FMTowns }; + +static const byte kLoLDscDoorFrameY1FMTowns[4] = { + 0x1E, 0x18, 0x10, 0x00 +}; + +static const ByteProvider kLoLDscDoorFrameY1FMTownsProvider = { ARRAYSIZE(kLoLDscDoorFrameY1FMTowns), kLoLDscDoorFrameY1FMTowns }; + +static const byte kLoLDscDoorFrameY2FMTowns[4] = { + 0x3B, 0x47, 0x56, 0x78 +}; + +static const ByteProvider kLoLDscDoorFrameY2FMTownsProvider = { ARRAYSIZE(kLoLDscDoorFrameY2FMTowns), kLoLDscDoorFrameY2FMTowns }; + +static const uint16 kLoLDscDoorScaleFMTowns[8] = { + 0x0075, 0x006A, 0x00B9, 0x00B2, 0x0100, 0x0100, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorScaleFMTownsProvider = { ARRAYSIZE(kLoLDscDoorScaleFMTowns), kLoLDscDoorScaleFMTowns }; + +static const uint16 kLoLDscDoor4FMTowns[4] = { + 0x0005, 0x0002, 0x0008, 0x0000 +}; + +static const Uint16Provider kLoLDscDoor4FMTownsProvider = { ARRAYSIZE(kLoLDscDoor4FMTowns), kLoLDscDoor4FMTowns }; + +static const uint16 kLoLDscDoorXFMTowns[576] = { + 0xFF98, 0xFFA0, 0xFFA8, 0xFF90, 0xFF98, 0xFFA0, 0xFFA8, 0xFFB0, + 0xFF74, 0xFF7E, 0xFF88, 0xFF92, 0xFF9C, 0xFF74, 0xFF7E, 0xFF88, + 0xFF92, 0xFF9C, 0xFF64, 0xFF70, 0xFF7C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFB8, 0xFFC0, 0xFFC8, 0xFFB0, 0xFFB8, 0xFFC0, 0xFFC8, 0xFFD0, + 0xFF9C, 0xFFA6, 0xFFB0, 0xFFBA, 0xFFC4, 0xFF9C, 0xFFA6, 0xFFB0, + 0xFFBA, 0xFFC4, 0xFF94, 0xFFA0, 0xFFAC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD8, 0xFFE0, 0xFFE8, 0xFFD0, 0xFFD8, 0xFFE0, 0xFFE8, 0xFFF0, + 0xFFC4, 0xFFCE, 0xFFD8, 0xFFE2, 0xFFEC, 0xFFC4, 0xFFCE, 0xFFD8, + 0xFFE2, 0xFFEC, 0xFFC4, 0xFFD0, 0xFFDC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0x0000, 0x0008, 0xFFF0, 0xFFF8, 0x0000, 0x0008, 0x0010, + 0xFFEC, 0xFFF6, 0x0000, 0x000A, 0x0014, 0xFFEC, 0xFFF6, 0x0000, + 0x000A, 0x0014, 0xFFF4, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0018, 0x0020, 0x0028, 0x0010, 0x0018, 0x0020, 0x0028, 0x0030, + 0x0014, 0x001E, 0x0028, 0x0032, 0x003C, 0x0014, 0x001E, 0x0028, + 0x0032, 0x003C, 0x0024, 0x0030, 0x003C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0038, 0x0040, 0x0048, 0x0030, 0x0038, 0x0040, 0x0048, 0x0050, + 0x003C, 0x0046, 0x0050, 0x005A, 0x0064, 0x003C, 0x0046, 0x0050, + 0x005A, 0x0064, 0x0054, 0x0060, 0x006C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0058, 0x0060, 0x0068, 0x0050, 0x0058, 0x0060, 0x0068, 0x0070, + 0x0064, 0x006E, 0x0078, 0x0082, 0x008C, 0x0064, 0x006E, 0x0078, + 0x0082, 0x008C, 0x0084, 0x0090, 0x009C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF94, 0xFFA0, 0xFFAC, 0xFF7E, 0xFF8B, 0xFF98, 0xFFA5, 0xFFB2, + 0xFF6C, 0xFF7B, 0xFF8A, 0xFF99, 0xFFA7, 0xFF60, 0xFF70, 0xFF80, + 0xFF90, 0xFFA0, 0xFF4C, 0xFF60, 0xFF74, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC4, 0xFFD0, 0xFFDC, 0xFFB2, 0xFFBF, 0xFFCC, 0xFFD9, 0xFFE6, + 0xFFA7, 0xFFB6, 0xFFC5, 0xFFD4, 0xFFE2, 0xFFA0, 0xFFB0, 0xFFC0, + 0xFFD0, 0xFFE0, 0xFF9C, 0xFFB0, 0xFFC4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF4, 0x0000, 0x000C, 0xFFE6, 0xFFF3, 0x0000, 0x000D, 0x001A, + 0xFFE2, 0xFFF1, 0x0000, 0x000F, 0x001E, 0xFFE0, 0xFFF0, 0x0000, + 0x0010, 0x0020, 0xFFEC, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0030, 0x003C, 0x001A, 0x0027, 0x0034, 0x0041, 0x004E, + 0x001E, 0x002C, 0x003B, 0x004A, 0x0059, 0x0020, 0x0030, 0x0040, + 0x0050, 0x0060, 0x003C, 0x0050, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0054, 0x0060, 0x006C, 0x004E, 0x005B, 0x0068, 0x0075, 0x0082, + 0x0059, 0x0067, 0x0076, 0x0085, 0x0094, 0x0060, 0x0070, 0x0080, + 0x0090, 0x00A0, 0x008C, 0x00A0, 0x00B4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF9C, 0xFFB0, 0xFFC4, 0xFF7C, 0xFF92, 0xFFA8, 0xFFBE, 0xFFD4, + 0xFF6D, 0xFF85, 0xFF9E, 0xFFB6, 0xFFCF, 0xFF5E, 0xFF79, 0xFF94, + 0xFFAF, 0xFFCA, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFEC, 0x0000, 0x0014, 0xFFD4, 0xFFEA, 0x0000, 0x0016, 0x002C, + 0xFFCF, 0xFFE7, 0x0000, 0x0019, 0x0031, 0xFFCA, 0xFFE5, 0x0000, + 0x001B, 0x0036, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x003C, 0x0050, 0x0064, 0x002C, 0x0042, 0x0058, 0x006E, 0x0084, + 0x0031, 0x004A, 0x0062, 0x007B, 0x0093, 0x0036, 0x0051, 0x006C, + 0x0087, 0x00A2, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF60, 0xFF80, 0xFFA0, 0xFF1C, 0xFF42, 0xFF68, 0xFF8E, 0xFFB4, + 0xFF40, 0xFF60, 0xFF80, 0xFFA0, 0xFFC0, 0xFF1C, 0xFF42, 0xFF68, + 0xFF8E, 0xFFB4, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFE0, 0x0000, 0x0020, 0xFFB4, 0xFFDA, 0x0000, 0x0026, 0x004C, + 0xFFC0, 0xFFE0, 0x0000, 0x0020, 0x0040, 0xFFB4, 0xFFDA, 0x0000, + 0x0026, 0x004C, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0060, 0x0080, 0x00A0, 0x004C, 0x0072, 0x0098, 0x00BE, 0x00E4, + 0x0040, 0x0060, 0x0080, 0x00A0, 0x00C0, 0x004C, 0x0072, 0x0098, + 0x00BE, 0x00E4, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorXFMTownsProvider = { ARRAYSIZE(kLoLDscDoorXFMTowns), kLoLDscDoorXFMTowns }; + +static const uint16 kLoLDscDoorYFMTowns[576] = { + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorYFMTownsProvider = { ARRAYSIZE(kLoLDscDoorYFMTowns), kLoLDscDoorYFMTowns }; + +static const byte kLoLScrollXTopFMTowns[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXTopFMTownsProvider = { ARRAYSIZE(kLoLScrollXTopFMTowns), kLoLScrollXTopFMTowns }; + +static const byte kLoLScrollYTopFMTowns[5] = { + 0x02, 0x04, 0x07, 0x09, 0x0C +}; + +static const ByteProvider kLoLScrollYTopFMTownsProvider = { ARRAYSIZE(kLoLScrollYTopFMTowns), kLoLScrollYTopFMTowns }; + +static const byte kLoLScrollXBottomFMTowns[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXBottomFMTownsProvider = { ARRAYSIZE(kLoLScrollXBottomFMTowns), kLoLScrollXBottomFMTowns }; + +static const byte kLoLScrollYBottomFMTowns[5] = { + 0x04, 0x08, 0x0C, 0x10, 0x14 +}; + +static const ByteProvider kLoLScrollYBottomFMTownsProvider = { ARRAYSIZE(kLoLScrollYBottomFMTowns), kLoLScrollYBottomFMTowns }; + +static const LoLButtonDef kLoLButtonDefsFMTowns[95] = { + { 0x1100, 30, 56, 33, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 31, 53, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 31, 53, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 29, 52, 11, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 28, 54, 53, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 127, 55, 11, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 18, 57, 53, 131, 22, 19, 0x0000, 0 }, + { 0x0100, 49, 0, 80, 143, 22, 17, 0x0000, 0 }, + { 0x0100, 50, 0, 80, 143, 22, 17, 0x0001, 0 }, + { 0x0100, 51, 0, 80, 143, 22, 17, 0x0002, 0 }, + { 0x0100, 48, 0, 80, 143, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0000, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0001, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0002, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 144, 22, 32, 0x0000, 0 }, + { 0x1100, 27, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0003, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0002, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0004, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0005, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0006, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0007, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0008, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x0009, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x000A, 2 }, + { 0x1100, 27, 0, 160, 93, 43, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 102, 88, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 88, 102, 88, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 85, 88, 17, 0x0002, 2 }, + { 0x1100, 0, 0, 88, 85, 88, 17, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 106, 179, 21, 21, 0x0000, 0 }, + { 0x1100, 0, 0, 127, 179, 21, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 148, 179, 21, 21, 0x0002, 0 }, + { 0x1100, 0, 0, 169, 179, 21, 21, 0x0003, 0 }, + { 0x1100, 0, 0, 190, 179, 21, 21, 0x0004, 0 }, + { 0x1100, 0, 0, 211, 179, 21, 21, 0x0005, 0 }, + { 0x1100, 0, 0, 232, 179, 21, 21, 0x0006, 0 }, + { 0x1100, 0, 0, 253, 179, 21, 21, 0x0007, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0008, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0009, 0 }, + { 0x1100, 0, 0, 85, 179, 21, 21, 0xFFFF, 0 }, + { 0x1100, 0, 0, 295, 179, 22, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 8, 128, 96, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 0, 0, 0x0000, 0 }, + { 0x1100, 0, 0, 112, 0, 176, 16, 0x0001, 0 }, + { 0x1100, 0, 0, 112, 110, 176, 26, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 15, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 24, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 33, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 42, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 51, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 60, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 69, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 78, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 87, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 96, 61, 9, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 27, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 112, 0, 88, 80, 0x0000, 0 }, + { 0x0100, 0, 0, 200, 0, 88, 80, 0x0001, 0 }, + { 0x1100, 79, 27, 11, 178, 21, 22, 0x0000, 0 }, + { 0x0100, 82, 0, 32, 178, 22, 22, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 96, 27, 24, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 0, 31, 28, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 31, 31, 23, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 56, 29, 24, 0x0000, 0 }, + { 0x1100, 0, 0, 220, 98, 43, 19, 0x0000, 0 } +}; + +static const LoLButtonDefProvider kLoLButtonDefsFMTownsProvider = { ARRAYSIZE(kLoLButtonDefsFMTowns), kLoLButtonDefsFMTowns }; + +static const byte kLoLButtonList1FMTowns[40] = { + 0x59, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x31, + 0x3E, 0x2D, 0x2E, 0x2F, 0x30, 0x56, 0x57, 0x01, + 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x32, 0x33, + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, + 0x3C, 0x3D, 0x58, 0x5A, 0x5B, 0x5C, 0x5D, 0xFF +}; + +static const ByteProvider kLoLButtonList1FMTownsProvider = { ARRAYSIZE(kLoLButtonList1FMTowns), kLoLButtonList1FMTowns }; + +static const byte kLoLButtonList2FMTowns[15] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x5E, 0xFF +}; + +static const ByteProvider kLoLButtonList2FMTownsProvider = { ARRAYSIZE(kLoLButtonList2FMTowns), kLoLButtonList2FMTowns }; + +static const byte kLoLButtonList3FMTowns[2] = { + 0x40, 0xFF +}; + +static const ByteProvider kLoLButtonList3FMTownsProvider = { ARRAYSIZE(kLoLButtonList3FMTowns), kLoLButtonList3FMTowns }; + +static const byte kLoLButtonList4FMTowns[15] = { + 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3A, 0x3B, 0x3C, 0x3D, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList4FMTownsProvider = { ARRAYSIZE(kLoLButtonList4FMTowns), kLoLButtonList4FMTowns }; + +static const byte kLoLButtonList5FMTowns[16] = { + 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x41, + 0x42, 0x43, 0x44, 0x45, 0x46, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList5FMTownsProvider = { ARRAYSIZE(kLoLButtonList5FMTowns), kLoLButtonList5FMTowns }; + +static const byte kLoLButtonList6FMTowns[14] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF +}; + +static const ByteProvider kLoLButtonList6FMTownsProvider = { ARRAYSIZE(kLoLButtonList6FMTowns), kLoLButtonList6FMTowns }; + +static const byte kLoLButtonList7FMTowns[3] = { + 0x0F, 0x10, 0xFF +}; + +static const ByteProvider kLoLButtonList7FMTownsProvider = { ARRAYSIZE(kLoLButtonList7FMTowns), kLoLButtonList7FMTowns }; + +static const byte kLoLButtonList8FMTowns[2] = { + 0x55, 0xFF +}; + +static const ByteProvider kLoLButtonList8FMTownsProvider = { ARRAYSIZE(kLoLButtonList8FMTowns), kLoLButtonList8FMTowns }; + +static const byte kLoLLegendDataFMTowns[60] = { + 0x0E, 0x00, 0x00, 0x07, 0x42, 0x19, 0x00, 0x00, + 0x08, 0x42, 0x1A, 0x00, 0x00, 0x09, 0x42, 0x0D, + 0x00, 0x00, 0x0A, 0x42, 0x0A, 0x00, 0x00, 0x0B, + 0x42, 0x0B, 0x00, 0x00, 0x0C, 0x42, 0x0F, 0x00, + 0x00, 0x0D, 0x42, 0x16, 0x00, 0x00, 0x0E, 0x42, + 0x17, 0x00, 0x00, 0x0F, 0x42, 0x11, 0x00, 0x00, + 0x10, 0x42, 0x12, 0x00, 0xFB, 0x51, 0x42, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kLoLLegendDataFMTownsProvider = { ARRAYSIZE(kLoLLegendDataFMTowns), kLoLLegendDataFMTowns }; + +static const uint16 kLoLMapStringIdFMTowns[30] = { + 0xFFFF, 0x4211, 0x4212, 0x4213, 0x4214, 0x4215, 0x4216, 0x4217, + 0x4218, 0x4219, 0x421A, 0x421B, 0x421C, 0x421D, 0x421E, 0x421F, + 0x4220, 0x4221, 0x4222, 0x4223, 0x4224, 0x4225, 0x4226, 0x4227, + 0x4228, 0x4229, 0x422A, 0x422B, 0x422C, 0x422D +}; + +static const Uint16Provider kLoLMapStringIdFMTownsProvider = { ARRAYSIZE(kLoLMapStringIdFMTowns), kLoLMapStringIdFMTowns }; + +static const byte kLoLSpellbookAnimFMTowns[28] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x13, 0xB6, 0x04, 0x00, 0x13, 0x4D, + 0x04, 0x00, 0x13, 0xB9, 0x04, 0x00, 0x13, 0xB8, + 0x04, 0x00, 0x13, 0xBA +}; + +static const ByteProvider kLoLSpellbookAnimFMTownsProvider = { ARRAYSIZE(kLoLSpellbookAnimFMTowns), kLoLSpellbookAnimFMTowns }; + +static const byte kLoLSpellbookCoordsFMTowns[12] = { + 0x16, 0x16, 0x16, 0x1F, 0x16, 0x28, 0x16, 0x31, + 0x16, 0x3A, 0x16, 0x43 +}; + +static const ByteProvider kLoLSpellbookCoordsFMTownsProvider = { ARRAYSIZE(kLoLSpellbookCoordsFMTowns), kLoLSpellbookCoordsFMTowns }; + +static const byte kLoLHealShapeFramesFMTowns[80] = { + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const ByteProvider kLoLHealShapeFramesFMTownsProvider = { ARRAYSIZE(kLoLHealShapeFramesFMTowns), kLoLHealShapeFramesFMTowns }; + +static const byte kLoLLightningDefsFMTowns[20] = { + 0x06, 0x05, 0xAB, 0x00, 0x06, 0x04, 0xAB, 0x00, + 0x08, 0x04, 0xAA, 0x00, 0x06, 0x03, 0xAA, 0x00, + 0x06, 0x02, 0xA9, 0x00 +}; + +static const ByteProvider kLoLLightningDefsFMTownsProvider = { ARRAYSIZE(kLoLLightningDefsFMTowns), kLoLLightningDefsFMTowns }; + +static const uint16 kLoLFireballCoordsFMTowns[256] = { + 0x0000, 0x0324, 0x0647, 0x096A, 0x0C8B, 0x0FAB, 0x12C7, 0x15E1, + 0x18F8, 0x1C0B, 0x1F19, 0x2223, 0x2527, 0x2826, 0x2B1E, 0x2E10, + 0x30FB, 0x33DE, 0x36B9, 0x398C, 0x3C56, 0x3F16, 0x41CD, 0x447A, + 0x471C, 0x49B3, 0x4C3F, 0x4EBF, 0x5133, 0x539A, 0x55F4, 0x5842, + 0x5A81, 0x5CB3, 0x5ED6, 0x60EB, 0x62F1, 0x64E7, 0x66CE, 0x68A5, + 0x6A6C, 0x6C23, 0x6DC9, 0x6F5E, 0x70E1, 0x7254, 0x73B5, 0x7503, + 0x7640, 0x776B, 0x7883, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE2, + 0x7D89, 0x7E1C, 0x7E9C, 0x7F08, 0x7F61, 0x7FA6, 0x7FD7, 0x7FF5, + 0x7FFF, 0x7FF5, 0x7FD7, 0x7FA6, 0x7F61, 0x7F08, 0x7E9C, 0x7E1C, + 0x7D89, 0x7CE2, 0x7C29, 0x7B5C, 0x7A7C, 0x7989, 0x7883, 0x776B, + 0x7640, 0x7503, 0x73B5, 0x7254, 0x70E1, 0x6F5E, 0x6DC9, 0x6C23, + 0x6A6C, 0x68A5, 0x66CE, 0x64E7, 0x62F1, 0x60EB, 0x5ED6, 0x5CB3, + 0x5A81, 0x5842, 0x55F4, 0x539A, 0x5133, 0x4EBF, 0x4C3F, 0x49B3, + 0x471C, 0x447A, 0x41CD, 0x3F16, 0x3C56, 0x398C, 0x36B9, 0x33DE, + 0x30FB, 0x2E10, 0x2B1E, 0x2826, 0x2527, 0x2223, 0x1F19, 0x1C0B, + 0x18F8, 0x15E1, 0x12C7, 0x0FAB, 0x0C8B, 0x096A, 0x0647, 0x0324, + 0x0000, 0xFCDC, 0xF9B9, 0xF696, 0xF375, 0xF055, 0xED39, 0xEA1F, + 0xE708, 0xE3F5, 0xE0E7, 0xDDDD, 0xDAD9, 0xD7DA, 0xD4E2, 0xD1F0, + 0xCF05, 0xCC22, 0xC947, 0xC674, 0xC3AA, 0xC0EA, 0xBE33, 0xBB86, + 0xB8E4, 0xB64D, 0xB3C1, 0xB141, 0xAECD, 0xAC66, 0xAA0C, 0xA7BE, + 0xA57F, 0xA34D, 0xA12A, 0x9F15, 0x9D0F, 0x9B19, 0x9932, 0x975B, + 0x9594, 0x93DD, 0x9237, 0x90A2, 0x8F1F, 0x8DAC, 0x8C4B, 0x8AFD, + 0x89C0, 0x8895, 0x877D, 0x8677, 0x8584, 0x84A4, 0x83D7, 0x831E, + 0x8277, 0x81E4, 0x8164, 0x80F8, 0x809F, 0x805A, 0x8029, 0x800B, + 0x8001, 0x800B, 0x8029, 0x805A, 0x809F, 0x80F8, 0x8164, 0x81E4, + 0x8277, 0x831E, 0x83D7, 0x84A4, 0x8584, 0x8677, 0x877D, 0x8895, + 0x89C0, 0x8AFD, 0x8C4B, 0x8DAC, 0x8F1F, 0x90A2, 0x9237, 0x93DD, + 0x9594, 0x975B, 0x9932, 0x9B19, 0x9D0F, 0x9F15, 0xA12A, 0xA34D, + 0xA57F, 0xA7BE, 0xAA0C, 0xAC66, 0xAECD, 0xB141, 0xB3C1, 0xB64D, + 0xB8E4, 0xBB86, 0xBE33, 0xC0EA, 0xC3AA, 0xC674, 0xC947, 0xCC22, + 0xCF05, 0xD1F0, 0xD4E2, 0xD7DA, 0xDAD9, 0xDDDD, 0xE0E7, 0xE3F5, + 0xE708, 0xEA1F, 0xED39, 0xF055, 0xF375, 0xF696, 0xF9B9, 0xFCDC +}; + +static const Uint16Provider kLoLFireballCoordsFMTownsProvider = { ARRAYSIZE(kLoLFireballCoordsFMTowns), kLoLFireballCoordsFMTowns }; + +static const byte kLoLCreditsFMTowns[1516] = { + 0x02, 0x54, 0x68, 0x65, 0x20, 0x45, 0x6E, 0x64, + 0x05, 0x0D, 0x0D, 0x0D, 0x02, 0x4C, 0x41, 0x4E, + 0x44, 0x53, 0x20, 0x4F, 0x46, 0x20, 0x4C, 0x4F, + 0x52, 0x45, 0x05, 0x0D, 0x01, 0x54, 0x68, 0x65, + 0x20, 0x54, 0x68, 0x72, 0x6F, 0x6E, 0x65, 0x20, + 0x6F, 0x66, 0x20, 0x43, 0x68, 0x61, 0x6F, 0x73, + 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, + 0x49, 0x56, 0x45, 0x20, 0x50, 0x52, 0x4F, 0x44, + 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D, 0x02, + 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, + 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F, + 0x44, 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D, + 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x47, 0x75, + 0x73, 0x68, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x50, 0x52, 0x4F, 0x44, 0x55, 0x43, 0x54, 0x20, + 0x43, 0x4F, 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, + 0x54, 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x43, + 0x61, 0x74, 0x68, 0x69, 0x65, 0x20, 0x41, 0x2E, + 0x20, 0x54, 0x6F, 0x64, 0x64, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x44, 0x45, 0x53, 0x49, 0x47, + 0x4E, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x02, + 0x57, 0x69, 0x6C, 0x6C, 0x69, 0x61, 0x6D, 0x20, + 0x41, 0x6C, 0x61, 0x6E, 0x20, 0x43, 0x72, 0x75, + 0x6D, 0x05, 0x0D, 0x50, 0x68, 0x69, 0x6C, 0x69, + 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, 0x72, + 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20, 0x50, 0x52, + 0x4F, 0x47, 0x52, 0x41, 0x4D, 0x4D, 0x45, 0x52, + 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x68, 0x69, 0x6C, + 0x69, 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, + 0x72, 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47, 0x52, 0x41, + 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D, + 0x02, 0x4A, 0x6F, 0x65, 0x20, 0x42, 0x6F, 0x73, + 0x74, 0x69, 0x63, 0x05, 0x0D, 0x02, 0x53, 0x63, + 0x6F, 0x74, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x42, + 0x6F, 0x77, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x6F, 0x68, 0x6E, 0x20, 0x4C, 0x61, 0x53, 0x61, + 0x6C, 0x76, 0x69, 0x61, 0x05, 0x0D, 0x02, 0x4D, + 0x61, 0x72, 0x6B, 0x20, 0x4D, 0x63, 0x43, 0x75, + 0x62, 0x62, 0x69, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x75, 0x73, 0x74, 0x69, 0x6E, 0x20, 0x4D, 0x63, + 0x4B, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x6E, 0x65, + 0x79, 0x05, 0x0D, 0x02, 0x51, 0x69, 0x6E, 0x67, + 0x20, 0x59, 0x75, 0x61, 0x6E, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20, + 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x05, 0x0D, + 0x0D, 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x50, + 0x61, 0x72, 0x6B, 0x73, 0x05, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, + 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x45, 0x6C, 0x69, + 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61, + 0x6E, 0x05, 0x0D, 0x02, 0x43, 0x61, 0x72, 0x79, + 0x20, 0x44, 0x65, 0x61, 0x6E, 0x20, 0x41, 0x76, + 0x65, 0x72, 0x65, 0x74, 0x74, 0x05, 0x0D, 0x02, + 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F, 0x6F, + 0x63, 0x68, 0x05, 0x0D, 0x02, 0x4A, 0x6F, 0x73, + 0x65, 0x70, 0x68, 0x20, 0x42, 0x2E, 0x20, 0x48, + 0x65, 0x77, 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, + 0x05, 0x0D, 0x02, 0x52, 0x65, 0x6E, 0x20, 0x4F, + 0x6C, 0x73, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x05, 0x0D, + 0x02, 0x45, 0x2E, 0x4D, 0x2E, 0x20, 0x4C, 0x6F, + 0x75, 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, + 0x64, 0x6F, 0x76, 0x61, 0x6C, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53, 0x49, 0x43, + 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55, 0x4E, 0x44, + 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x61, 0x75, + 0x6C, 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64, + 0x72, 0x61, 0x05, 0x0D, 0x02, 0x44, 0x77, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x05, 0x0D, + 0x02, 0x46, 0x72, 0x61, 0x6E, 0x6B, 0x20, 0x4B, + 0x6C, 0x65, 0x70, 0x61, 0x63, 0x6B, 0x69, 0x05, + 0x0D, 0x02, 0x50, 0x61, 0x74, 0x72, 0x69, 0x63, + 0x6B, 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, 0x6E, + 0x73, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x51, + 0x55, 0x41, 0x4C, 0x49, 0x54, 0x59, 0x20, 0x41, + 0x53, 0x53, 0x55, 0x52, 0x41, 0x4E, 0x43, 0x45, + 0x05, 0x0D, 0x0D, 0x02, 0x4A, 0x65, 0x73, 0x73, + 0x65, 0x20, 0x43, 0x6C, 0x65, 0x6D, 0x69, 0x74, + 0x05, 0x0D, 0x02, 0x4B, 0x65, 0x6E, 0x6E, 0x65, + 0x74, 0x68, 0x20, 0x44, 0x75, 0x6E, 0x6E, 0x65, + 0x05, 0x0D, 0x02, 0x4A, 0x65, 0x66, 0x66, 0x20, + 0x53, 0x74, 0x65, 0x76, 0x65, 0x6E, 0x20, 0x46, + 0x69, 0x6C, 0x6C, 0x68, 0x61, 0x62, 0x65, 0x72, + 0x05, 0x0D, 0x02, 0x57, 0x69, 0x6C, 0x6C, 0x69, + 0x61, 0x6D, 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65, + 0x72, 0x05, 0x0D, 0x02, 0x53, 0x63, 0x6F, 0x74, + 0x74, 0x20, 0x46, 0x6C, 0x65, 0x6D, 0x69, 0x6E, + 0x67, 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x63, 0x68, + 0x61, 0x65, 0x6C, 0x20, 0x4C, 0x69, 0x67, 0x68, + 0x74, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x47, + 0x6C, 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x05, 0x0D, 0x02, 0x43, 0x68, + 0x72, 0x69, 0x73, 0x20, 0x4D, 0x63, 0x46, 0x61, + 0x72, 0x6C, 0x61, 0x6E, 0x64, 0x05, 0x0D, 0x02, + 0x53, 0x63, 0x6F, 0x74, 0x74, 0x20, 0x4D, 0x61, + 0x6E, 0x6E, 0x69, 0x6E, 0x67, 0x05, 0x0D, 0x02, + 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x68, 0x6F, + 0x65, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x41, + 0x64, 0x61, 0x6D, 0x20, 0x52, 0x79, 0x61, 0x6E, + 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x74, 0x63, 0x68, + 0x20, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x6D, 0x61, + 0x6E, 0x05, 0x0D, 0x02, 0x4A, 0x61, 0x72, 0x65, + 0x64, 0x20, 0x42, 0x72, 0x69, 0x6E, 0x6B, 0x6C, + 0x65, 0x79, 0x05, 0x0D, 0x02, 0x4A, 0x75, 0x73, + 0x74, 0x69, 0x6E, 0x20, 0x48, 0x61, 0x6C, 0x6C, + 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x56, 0x4F, 0x49, 0x43, 0x45, 0x20, 0x41, 0x43, + 0x54, 0x4F, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x03, + 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, 0x64, 0x20, + 0x53, 0x6D, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73, + 0x05, 0x04, 0x4B, 0x49, 0x4E, 0x47, 0x20, 0x52, + 0x49, 0x43, 0x48, 0x41, 0x52, 0x44, 0x05, 0x0D, + 0x03, 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F, + 0x6F, 0x63, 0x68, 0x20, 0x61, 0x73, 0x05, 0x04, + 0x47, 0x45, 0x52, 0x4F, 0x4E, 0x05, 0x0D, 0x03, + 0x53, 0x63, 0x6F, 0x74, 0x69, 0x61, 0x20, 0x61, + 0x73, 0x05, 0x04, 0x68, 0x65, 0x72, 0x73, 0x65, + 0x6C, 0x66, 0x05, 0x0D, 0x03, 0x46, 0x72, 0x61, + 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, 0x61, + 0x63, 0x6B, 0x69, 0x20, 0x61, 0x73, 0x05, 0x04, + 0x50, 0x49, 0x47, 0x4C, 0x45, 0x54, 0x05, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4A, 0x41, + 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45, 0x20, 0x56, + 0x45, 0x52, 0x49, 0x53, 0x49, 0x4F, 0x4E, 0x05, + 0x0D, 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47, + 0x52, 0x41, 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05, + 0x0D, 0x0D, 0x02, 0x59, 0x75, 0x6B, 0x69, 0x6F, + 0x20, 0x53, 0x65, 0x6B, 0x69, 0x67, 0x75, 0x63, + 0x68, 0x69, 0x05, 0x0D, 0x02, 0x4E, 0x61, 0x6F, + 0x73, 0x68, 0x69, 0x20, 0x4E, 0x6F, 0x67, 0x75, + 0x63, 0x68, 0x69, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x53, + 0x05, 0x0D, 0x0D, 0x02, 0x4D, 0x61, 0x73, 0x61, + 0x6B, 0x69, 0x20, 0x54, 0x6F, 0x67, 0x61, 0x73, + 0x68, 0x69, 0x05, 0x0D, 0x02, 0x52, 0x69, 0x73, + 0x61, 0x6B, 0x6F, 0x20, 0x53, 0x65, 0x74, 0x6F, + 0x05, 0x0D, 0x02, 0x52, 0x65, 0x69, 0x67, 0x61, + 0x20, 0x59, 0x61, 0x73, 0x75, 0x64, 0x61, 0x05, + 0x0D, 0x02, 0x4D, 0x61, 0x73, 0x75, 0x6D, 0x69, + 0x20, 0x53, 0x68, 0x69, 0x6E, 0x62, 0x6F, 0x05, + 0x0D, 0x02, 0x4E, 0x61, 0x6F, 0x6B, 0x6F, 0x20, + 0x4E, 0x69, 0x74, 0x74, 0x61, 0x05, 0x0D, 0x02, + 0x4B, 0x69, 0x79, 0x6F, 0x66, 0x75, 0x6D, 0x69, + 0x20, 0x48, 0x69, 0x6E, 0x6F, 0x05, 0x0D, 0x02, + 0x48, 0x69, 0x72, 0x6F, 0x6D, 0x69, 0x20, 0x53, + 0x61, 0x6B, 0x61, 0x65, 0x05, 0x0D, 0x02, 0x4B, + 0x79, 0x6F, 0x75, 0x6B, 0x6F, 0x20, 0x4D, 0x69, + 0x79, 0x61, 0x6D, 0x6F, 0x74, 0x6F, 0x05, 0x0D, + 0x02, 0x53, 0x68, 0x6F, 0x6B, 0x6F, 0x20, 0x4D, + 0x75, 0x72, 0x61, 0x6B, 0x61, 0x6D, 0x69, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53, + 0x49, 0x43, 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55, + 0x4E, 0x44, 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x54, + 0x61, 0x6B, 0x65, 0x73, 0x68, 0x69, 0x20, 0x41, + 0x62, 0x6F, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x4A, 0x41, 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45, + 0x20, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x4C, 0x41, + 0x54, 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x59, + 0x75, 0x72, 0x69, 0x20, 0x49, 0x74, 0x6F, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6C, 0x20, 0x74, 0x68, 0x61, + 0x6E, 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x3A, 0x05, + 0x0D, 0x0D, 0x02, 0x48, 0x69, 0x72, 0x6F, 0x6B, + 0x6F, 0x20, 0x59, 0x6F, 0x72, 0x6F, 0x69, 0x7A, + 0x75, 0x6B, 0x61, 0x05, 0x0D, 0x02, 0x59, 0x75, + 0x6A, 0x69, 0x20, 0x4F, 0x64, 0x61, 0x77, 0x61, + 0x72, 0x61, 0x05, 0x0D, 0x02, 0x4F, 0x68, 0x73, + 0x68, 0x75, 0x6E, 0x20, 0x4C, 0x65, 0x65, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, + 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, + 0x74, 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, + 0x39, 0x33, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74, + 0x77, 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, + 0x64, 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E, + 0x63, 0x2E, 0x05, 0x0D, 0x01, 0x43, 0x6F, 0x70, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, + 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, 0x34, 0x2C, + 0x20, 0x53, 0x74, 0x61, 0x72, 0x43, 0x72, 0x61, + 0x66, 0x74, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, + 0x05, 0x0D, 0x01, 0x41, 0x6C, 0x6C, 0x20, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2E, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLCreditsFMTownsProvider = { ARRAYSIZE(kLoLCreditsFMTowns), kLoLCreditsFMTowns }; + diff --git a/devtools/create_kyradat/resources/lol_fmtowns_japanese.h b/devtools/create_kyradat/resources/lol_fmtowns_japanese.h new file mode 100644 index 0000000000..b43fcdd6e8 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_fmtowns_japanese.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsFMTownsJapanese[9] = { + { 0x0001, "\x83""}""\x83""C""\x83""P""\x83\x8B", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""e""\x83""B""\x83\x82\x83""V""\x81""[", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""o""\x83""R""\x81""[""\x83""^", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83\x8D\x81""[""\x83\x89", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""R""\x83\x93\x83\x89\x83""b""\x83""h", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""|""\x81""[""\x83\x8B\x83""\\""\x83\x93", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""h""\x81""[""\x83\x93", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""L""\x81""[""\x83\x89\x83\x93", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""A""\x83""N""\x83""V""\x83""F""\x83\x8B", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsFMTownsJapaneseProvider = { ARRAYSIZE(kLoLCharacterDefsFMTownsJapanese), kLoLCharacterDefsFMTownsJapanese }; + diff --git a/devtools/create_kyradat/resources/lol_pc98.h b/devtools/create_kyradat/resources/lol_pc98.h new file mode 100644 index 0000000000..e62fabe210 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_pc98.h @@ -0,0 +1,1598 @@ +static const char *const kLoLIngamePakFilesPC98[11] = { + "VOC.PAK", + "GENERAL.PAK", + "CHAPTER1.PAK", + "CHAPTER2.PAK", + "CHAPTER3.PAK", + "CHAPTER4.PAK", + "CHAPTER5.PAK", + "CHAPTER6.PAK", + "CHAPTER7.PAK", + "CHAPTER8.PAK", + "MUS.PAK" +}; + +static const StringListProvider kLoLIngamePakFilesPC98Provider = { ARRAYSIZE(kLoLIngamePakFilesPC98), kLoLIngamePakFilesPC98 }; + +static const char *const kLoLIngameSfxFilesPC98[229] = { + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "XXXXXXXX", + "DOORMTOP", + "DOORMTCL", + "PMETLHI", + "SWING6", + "MDAMAGE2", + "LEVERDN", + "LEVERUP", + "MTLDRSLM", + "DOORWDOP", + "DOORWDCL", + "KEYOPEN", + "KEYLOCK", + "PORTCUL", + "PORTCULD", + "LOKPICK", + "OCEAN2", + "NUNCHUK", + "SWING", + "SHWING1", + "SWING6", + "THROW", + "CROSSBOW", + "HEAL1", + "FIRESPL1", + "PRESSIN", + "PRESSOUT", + "PLATEON", + "PLATEOFF", + "DORWDSLM", + "LITENIN1", + "ICESPEL2", + "SPELL4B", + "SHIELD1", + "3BOLTC", + "2BOLTC", + "1BOLTC", + "DAWNSPL1", + "HEALKING", + "SPELL7", + "SWING1", + "EXPLODE", + "CROWCAW", + "MORPH2", + "CHEST", + "MONEY", + "SPELBK2", + "AUTOMAP", + "MINECRT3", + "CREAK1", + "TURNPAG2", + "POLGULP1", + "GOOEY1", + "BUCKBELL", + "KEEPXIT2", + "VSCREAM4", + "EMPTY", + "GOOEY1", + "GOOEY2", + "RIPPOD4", + "PODSKEL1", + "INVISO", + "OPENBOX2", + "ACCEPT2", + "BOW2", + "HACHUCKM", + "FOUNDRY2", + "FOUNDRY2", + "FOUNDRY4", + "FOUNDRY6", + "CLEANGL1", + "CLEANGL2", + "GLOWY1", + "DORSTNOP", + "DORSTNCL", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "ADAMAGE1", + "HDAMAGE1", + "TDAMAGE1", + "BDAMAGE1", + "LDAMAGE1", + "TDAMAGE2", + "CDAMAGE1", + "EMPTY", + "EMPTY", + "EMPTY", + "GOOD1", + "GOOD2", + "EMPTY", + "EMPTY", + "EMPTY", + "LITENIN1", + "COMPASS2", + "KINGDOR1", + "GLASBRK2", + "FLUTTER3", + "NUNCHUK", + "WALLFALL", + "WALLHIT", + "MWHOA1", + "LADDER", + "WHITTL3", + "ROWBOAT1", + "HORSEY2", + "SNORT", + "PUMPDOR1", + "PUMPSM2", + "PUMPSM3", + "SPARK1", + "BEZEL", + "SWARM", + "CHEST", + "WRIT1", + "CAUSFOG", + "VAELAN2", + "ROARSPL1", + "RATTLER", + "WINK1", + "HANDFATE", + "QUAKE1", + "WIZLAMP1", + "SAP2", + "MSTDOOM1", + "GARDIAN1", + "VORTEX1", + "LION1", + "STEAM", + "SQUAWCK", + "SLIDEMUG", + "SPARKHIT", + "SPARKHIT2", + "SPARKHIT3", + "ICEFORM", + "ICEXPLOD", + "EXPLODE2", + "EXPLODE3", + "BOLTQUK2", + "BOLT2", + "BOLT3", + "SNKBITE", + "HANDGLOW", + "MSTDOOM2", + "MSTDOOM3", + "GARDIAN2", + "PLUSPOWR", + "MINSPOWR", + "BLUDCURL", + "LORAGASP", + "POURH2O", + "AWHOA2", + "HWHOA1", + "CWHOA1", + "AFALL2", + "EMPTY", + "CFALL2", + "MFALL2", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "EMPTY", + "WRIT2", + "WRIT3", + "WRIT4", + "WRIT5", + "WRIT6", + "RUCKUS1", + "RUCKUS3", + "CHANT1", + "EMPTY", + "EMPTY", + "EMPTY", + "CHANT2", + "CHANT3" +}; + +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 SpellProperty kLoLSpellPropertiesPC98[10] = { + { 16436, { 5, 10, 15, 25 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0100 }, + { 16437, { 5, 10, 25, 60 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0001 }, + { 16438, { 8, 15, 30, 80 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0102 }, + { 16440, { 20, 35, 65, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0103 }, + { 16441, { 30, 60, 90, 120 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0104 }, + { 16442, { 30, 60, 90, 150 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0105 }, + { 16439, { 25, 30, 50, 100 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0106 }, + { 16443, { 3, 6, 12, 24 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0107 }, + { 16975, { 15, 15, 15, 15 }, 0, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 }, + { 16975, { 15, 15, 15, 15 }, 15, 0, { 0, 0, 0, 0 }, 0, 0, 0x0108 } +}; + +static const SpellPropertyProvider kLoLSpellPropertiesPC98Provider = { ARRAYSIZE(kLoLSpellPropertiesPC98), kLoLSpellPropertiesPC98 }; + +static const byte kLoLGameShapeMapPC98[276] = { + 0x15, 0x54, 0x05, 0x35, 0x09, 0x36, 0x00, 0x34, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x3A, 0x26, 0x3B, + 0x05, 0x35, 0x07, 0x37, 0x18, 0x3E, 0x0D, 0x3C, + 0x06, 0x40, 0x06, 0x3D, 0x01, 0x54, 0x01, 0x54, + 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x04, 0x54, + 0x04, 0x54, 0x2D, 0x54, 0x2D, 0x54, 0x0B, 0x39, + 0x24, 0x54, 0x03, 0x38, 0x00, 0x3A, 0x1E, 0x3C, + 0x1E, 0x3C, 0x1B, 0x54, 0x14, 0x54, 0x29, 0x54, + 0x02, 0x54, 0x0C, 0x54, 0x22, 0x54, 0x21, 0x3F, + 0x0D, 0x3C, 0x25, 0x54, 0x1A, 0x3F, 0x04, 0x54, + 0x30, 0x54, 0x31, 0x54, 0x32, 0x54, 0x32, 0x54, + 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, 0x00, 0x34, + 0x17, 0x54, 0x17, 0x54, 0x0E, 0x54, 0x0E, 0x54, + 0x0E, 0x54, 0x26, 0x3B, 0x2C, 0x54, 0x21, 0x3F, + 0x07, 0x37, 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x22, 0x54, 0x22, 0x54, + 0x16, 0x54, 0x2D, 0x54, 0x3B, 0x54, 0x3B, 0x54, + 0x3A, 0x54, 0x17, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x17, 0x54, 0x0A, 0x54, 0x0A, 0x54, 0x0A, 0x54, + 0x1F, 0x54, 0x17, 0x54, 0x27, 0x54, 0x1B, 0x54, + 0x1E, 0x3C, 0x2A, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, 0x2F, 0x54, + 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, 0x2C, 0x54, + 0x34, 0x54, 0x0F, 0x54, 0x35, 0x41, 0x1B, 0x54, + 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x2B, 0x54, + 0x1D, 0x54, 0x1D, 0x54, 0x28, 0x54, 0x28, 0x54, + 0x28, 0x54, 0x28, 0x54, 0x01, 0x54, 0x14, 0x54, + 0x14, 0x54, 0x14, 0x54, 0x14, 0x54, 0x1B, 0x54, + 0x27, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x36, 0x54, 0x37, 0x54, 0x38, 0x54, + 0x39, 0x54, 0x1B, 0x54, 0x1B, 0x54, 0x1B, 0x54, + 0x1B, 0x54, 0x27, 0x54, 0x2E, 0x54, 0x2E, 0x54, + 0x2E, 0x54, 0x2E, 0x54, 0x17, 0x54, 0x01, 0x54, + 0x1C, 0x54, 0x1C, 0x54 +}; + +static const ByteProvider kLoLGameShapeMapPC98Provider = { ARRAYSIZE(kLoLGameShapeMapPC98), kLoLGameShapeMapPC98 }; + +static const byte kLoLSceneItemOffsPC98[8] = { + 0x00, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x01, 0xFF +}; + +static const ByteProvider kLoLSceneItemOffsPC98Provider = { ARRAYSIZE(kLoLSceneItemOffsPC98), kLoLSceneItemOffsPC98 }; + +static const byte kLoLCharInvIndexPC98[5] = { + 0x00, 0x00, 0x03, 0x01, 0x02 +}; + +static const ByteProvider kLoLCharInvIndexPC98Provider = { ARRAYSIZE(kLoLCharInvIndexPC98), kLoLCharInvIndexPC98 }; + +static const byte kLoLCharInvDefsPC98[88] = { + 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, + 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, 0x50, 0x1C, + 0x05, 0x5D, 0x0F, 0x4E, 0x50, 0x4E, 0x05, 0x19, + 0x50, 0x19, 0x05, 0x49, 0x50, 0x49, 0x05, 0x01, + 0x05, 0x31, 0x50, 0x01, 0x50, 0x31, 0x05, 0x61, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x34, 0x50, 0x34, + 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, + 0x50, 0x04, 0x50, 0x1C, 0x05, 0x5D, 0x0F, 0x4E, + 0x50, 0x4E, 0x05, 0x34, 0x50, 0x34, 0xFF, 0xFF, + 0xFF, 0xFF, 0x05, 0x04, 0x05, 0x1C, 0x50, 0x04, + 0x50, 0x1C, 0xFF, 0xFF, 0x0F, 0x4E, 0x50, 0x4E +}; + +static const ByteProvider kLoLCharInvDefsPC98Provider = { ARRAYSIZE(kLoLCharInvDefsPC98), kLoLCharInvDefsPC98 }; + +static const uint16 kLoLCharDefsManPC98[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsManPC98Provider = { ARRAYSIZE(kLoLCharDefsManPC98), kLoLCharDefsManPC98 }; + +static const uint16 kLoLCharDefsWomanPC98[9] = { + 0x0100, 0x0100, 0x0100, 0x0032, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsWomanPC98Provider = { ARRAYSIZE(kLoLCharDefsWomanPC98), kLoLCharDefsWomanPC98 }; + +static const uint16 kLoLCharDefsKieranPC98[9] = { + 0x0180, 0x0080, 0x00C0, 0x0032, 0x0200, 0x00A6, 0x0100, 0x0140, + 0x0006 +}; + +static const Uint16Provider kLoLCharDefsKieranPC98Provider = { ARRAYSIZE(kLoLCharDefsKieranPC98), kLoLCharDefsKieranPC98 }; + +static const uint16 kLoLCharDefsAkshelPC98[9] = { + 0x00C0, 0x00C0, 0x0140, 0x0032, 0x0100, 0x0180, 0x0180, 0x0100, + 0x0004 +}; + +static const Uint16Provider kLoLCharDefsAkshelPC98Provider = { ARRAYSIZE(kLoLCharDefsAkshelPC98), kLoLCharDefsAkshelPC98 }; + +static const uint32 kLoLExpRequirementsPC98[11] = { + 0x00000000, 0x000001F4, 0x000005DC, 0x00001388, 0x000061A8, 0x0000C350, 0x00013880, 0x0001D4C0, + 0x0002BF20, 0x00041EB0, 0x7FFFFFFF +}; + +static const Uint32Provider kLoLExpRequirementsPC98Provider = { ARRAYSIZE(kLoLExpRequirementsPC98), kLoLExpRequirementsPC98 }; + +static const uint16 kLoLMonsterModifiers1PC98[3] = { + 0x00C0, 0x0100, 0x0180 +}; + +static const Uint16Provider kLoLMonsterModifiers1PC98Provider = { ARRAYSIZE(kLoLMonsterModifiers1PC98), kLoLMonsterModifiers1PC98 }; + +static const uint16 kLoLMonsterModifiers2PC98[3] = { + 0x0100, 0x0100, 0x00C0 +}; + +static const Uint16Provider kLoLMonsterModifiers2PC98Provider = { ARRAYSIZE(kLoLMonsterModifiers2PC98), kLoLMonsterModifiers2PC98 }; + +static const uint16 kLoLMonsterModifiers3PC98[3] = { + 0x0140, 0x0100, 0x0080 +}; + +static const Uint16Provider kLoLMonsterModifiers3PC98Provider = { ARRAYSIZE(kLoLMonsterModifiers3PC98), kLoLMonsterModifiers3PC98 }; + +static const byte kLoLMonsterShiftOffsetsPC98[32] = { + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFF, 0x00, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x01, 0xFF, 0x00, 0x00 +}; + +static const ByteProvider kLoLMonsterShiftOffsetsPC98Provider = { ARRAYSIZE(kLoLMonsterShiftOffsetsPC98), kLoLMonsterShiftOffsetsPC98 }; + +static const byte kLoLMonsterDirFlagsPC98[16] = { + 0x08, 0x14, 0x00, 0x04, 0x04, 0x08, 0x14, 0x00, + 0x00, 0x04, 0x08, 0x14, 0x14, 0x00, 0x04, 0x08 +}; + +static const ByteProvider kLoLMonsterDirFlagsPC98Provider = { ARRAYSIZE(kLoLMonsterDirFlagsPC98), kLoLMonsterDirFlagsPC98 }; + +static const byte kLoLMonsterScaleYPC98[30] = { + 0x7C, 0x78, 0x74, 0x70, 0x6C, 0x68, 0x65, 0x62, + 0x5F, 0x5C, 0x59, 0x56, 0x53, 0x50, 0x4D, 0x4A, + 0x48, 0x46, 0x44, 0x43, 0x41, 0x40, 0x3E, 0x3D, + 0x3C, 0x3B, 0x3A, 0x39, 0x38, 0x38 +}; + +static const ByteProvider kLoLMonsterScaleYPC98Provider = { ARRAYSIZE(kLoLMonsterScaleYPC98), kLoLMonsterScaleYPC98 }; + +static const byte kLoLMonsterScaleXPC98[29] = { + 0x98, 0x98, 0x90, 0x88, 0x80, 0x76, 0x6E, 0x68, + 0x62, 0x5C, 0x58, 0x54, 0x50, 0x4A, 0x44, 0x40, + 0x3C, 0x38, 0x36, 0x32, 0x30, 0x2C, 0x2A, 0x28, + 0x26, 0x24, 0x22, 0x20, 0x20 +}; + +static const ByteProvider kLoLMonsterScaleXPC98Provider = { ARRAYSIZE(kLoLMonsterScaleXPC98), kLoLMonsterScaleXPC98 }; + +static const uint16 kLoLMonsterScaleWHPC98[65] = { + 0x0041, 0x0045, 0x0049, 0x004D, 0x0051, 0x0055, 0x0059, 0x005D, + 0x0062, 0x0066, 0x006A, 0x006E, 0x0072, 0x0076, 0x007A, 0x007E, + 0x0082, 0x0086, 0x008A, 0x008E, 0x0092, 0x0096, 0x009A, 0x009E, + 0x00A3, 0x00A7, 0x00AB, 0x00AF, 0x00B3, 0x00B7, 0x00BB, 0x00BF, + 0x00C3, 0x00C7, 0x00CB, 0x00CF, 0x00D3, 0x00D7, 0x00DB, 0x00DF, + 0x00E4, 0x00E8, 0x00EC, 0x00F0, 0x00F4, 0x00F8, 0x00FC, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100 +}; + +static const Uint16Provider kLoLMonsterScaleWHPC98Provider = { ARRAYSIZE(kLoLMonsterScaleWHPC98), kLoLMonsterScaleWHPC98 }; + +static const FlyingObjectShape kLoLFlyingObjectShpPC98[13] = { + { 0, 0, 1, 0x00, 0x40, }, + { 2, 2, 3, 0x00, 0x00, }, + { 4, 4, 4, 0x00, 0x00, }, + { 5, 5, 5, 0x20, 0x00, }, + { 6, 6, 6, 0x20, 0x00, }, + { 7, 7, 7, 0x20, 0x00, }, + { 9, 8, 15, 0x00, 0x00, }, + { 11, 10, 12, 0x00, 0x00, }, + { 12, 12, 12, 0x20, 0x00, }, + { 14, 13, 15, 0x00, 0x00, }, + { 16, 16, 16, 0x00, 0x00, }, + { 17, 17, 17, 0x20, 0x00, }, + { 18, 18, 18, 0x00, 0x00, } +}; + +static const FlyingObjectShapeProvider kLoLFlyingObjectShpPC98Provider = { ARRAYSIZE(kLoLFlyingObjectShpPC98), kLoLFlyingObjectShpPC98 }; + +static const uint16 kLoLInventoryDescPC98[11] = { + 0x417A, 0x417B, 0x417A, 0x417B, 0x417C, 0x417D, 0x417E, 0x417F, + 0x4180, 0x4181, 0x4181 +}; + +static const Uint16Provider kLoLInventoryDescPC98Provider = { ARRAYSIZE(kLoLInventoryDescPC98), kLoLInventoryDescPC98 }; + +static const char *const kLoLLevelShpListPC98[12] = { + "KEEP.SHP", + "FOREST1.SHP", + "MANOR.SHP", + "CAVE1.SHP", + "SWAMP.SHP", + "URBISH.SHP", + "MINE1.SHP", + "TOWER1.SHP", + "YVEL1.SHP", + "CATWALK.SHP", + "RUIN.SHP", + "CIMMERIA.SHP" +}; + +static const StringListProvider kLoLLevelShpListPC98Provider = { ARRAYSIZE(kLoLLevelShpListPC98), kLoLLevelShpListPC98 }; + +static const char *const kLoLLevelDatListPC98[12] = { + "KEEP.DAT", + "FOREST1.DAT", + "MANOR.DAT", + "CAVE1.DAT", + "SWAMP.DAT", + "URBISH.DAT", + "MINE1.DAT", + "TOWER1.DAT", + "YVEL1.DAT", + "CATWALK.DAT", + "RUIN.DAT", + "CIMMERIA.DAT" +}; + +static const StringListProvider kLoLLevelDatListPC98Provider = { ARRAYSIZE(kLoLLevelDatListPC98), kLoLLevelDatListPC98 }; + +static const CompassDef kLoLCompassDefsPC98[32] = { + { 0, 3, -3, 0x00 }, + { 1, 3, -3, 0x00 }, + { 2, 3, -3, 0x00 }, + { 3, 5, -3, 0x00 }, + { 4, 5, -3, 0x00 }, + { 5, 6, -3, 0x00 }, + { 6, 6, -3, 0x00 }, + { 7, 6, -3, 0x00 }, + { 8, 6, -3, 0x00 }, + { 7, 6, 4, 0x02 }, + { 6, 6, 4, 0x02 }, + { 5, 6, 4, 0x02 }, + { 4, 5, 4, 0x02 }, + { 3, 5, 4, 0x02 }, + { 2, 3, 4, 0x02 }, + { 1, 3, 4, 0x02 }, + { 0, 3, 4, 0x02 }, + { 1, 2, 4, 0x03 }, + { 2, 2, 4, 0x03 }, + { 3, 0, 4, 0x03 }, + { 4, 0, 4, 0x03 }, + { 5, -1, 4, 0x03 }, + { 6, -1, 4, 0x03 }, + { 7, -1, 4, 0x03 }, + { 8, -1, -3, 0x01 }, + { 7, -1, -3, 0x01 }, + { 6, -1, -3, 0x01 }, + { 5, -1, -3, 0x01 }, + { 4, 0, -3, 0x01 }, + { 3, 0, -3, 0x01 }, + { 2, 2, -3, 0x01 }, + { 1, 2, -3, 0x01 } +}; + +static const CompassDefProvider kLoLCompassDefsPC98Provider = { ARRAYSIZE(kLoLCompassDefsPC98), kLoLCompassDefsPC98 }; + +static const byte kLoLStashSetupPC98[12] = { + 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x00, 0x01, 0x01 +}; + +static const ByteProvider kLoLStashSetupPC98Provider = { ARRAYSIZE(kLoLStashSetupPC98), kLoLStashSetupPC98 }; + +static const byte kLoLDscWallsPC98[36] = { + 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, + 0x02, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0x02, 0x01, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0x02, 0x03, + 0x02, 0x01, 0x02, 0xFF, 0x02, 0x03, 0xFF, 0x01, + 0x02, 0xFF, 0xFF, 0x03 +}; + +static const ByteProvider kLoLDscWallsPC98Provider = { ARRAYSIZE(kLoLDscWallsPC98), kLoLDscWallsPC98 }; + +static const byte kLoLDscShapeIndexPC98[36] = { + 0x03, 0x09, 0x03, 0x08, 0x03, 0x07, 0x03, 0x03, + 0x03, 0xF9, 0x03, 0xF8, 0x03, 0xF7, 0x02, 0x09, + 0x02, 0x06, 0x02, 0x02, 0x02, 0xFA, 0x02, 0xF7, + 0x01, 0x05, 0x01, 0x01, 0x01, 0xFB, 0x00, 0x04, + 0x00, 0x00, 0x00, 0xFC +}; + +static const ByteProvider kLoLDscShapeIndexPC98Provider = { ARRAYSIZE(kLoLDscShapeIndexPC98), kLoLDscShapeIndexPC98 }; + +static const byte kLoLDscOvlMapPC98[10] = { + 0x00, 0x01, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x04 +}; + +static const ByteProvider kLoLDscOvlMapPC98Provider = { ARRAYSIZE(kLoLDscOvlMapPC98), kLoLDscOvlMapPC98 }; + +static const uint16 kLoLDscScaleWidthDataPC98[36] = { + 0x0060, 0x0000, 0x0060, 0x00CE, 0x0060, 0x0055, 0x0060, 0x0000, + 0x0060, 0x0055, 0x0060, 0x00CE, 0x0060, 0x0000, 0x00A0, 0x00AE, + 0x00A0, 0x00AA, 0x00A0, 0x0000, 0x00A0, 0x00AA, 0x00A0, 0x00AE, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleWidthDataPC98Provider = { ARRAYSIZE(kLoLDscScaleWidthDataPC98), kLoLDscScaleWidthDataPC98 }; + +static const uint16 kLoLDscScaleHeightDataPC98[36] = { + 0x006A, 0x0000, 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, + 0x006A, 0x006A, 0x006A, 0x006A, 0x006A, 0x0000, 0x00AA, 0x0056, + 0x00AA, 0x00AA, 0x00AA, 0x0000, 0x00AA, 0x00AA, 0x00AA, 0x0056, + 0x0100, 0x0100, 0x0100, 0x0000, 0x0100, 0x0100, 0x0000, 0x0100, + 0x0100, 0x0000, 0x0000, 0x0100 +}; + +static const Uint16Provider kLoLDscScaleHeightDataPC98Provider = { ARRAYSIZE(kLoLDscScaleHeightDataPC98), kLoLDscScaleHeightDataPC98 }; + +static const uint16 kLoLDscXPC98[36] = { + 0xFFB0, 0xFFE0, 0xFFE0, 0x0010, 0x0010, 0x0040, 0x0040, 0x0000, + 0x0070, 0x0070, 0x00A0, 0x00A0, 0x00D0, 0x00D0, 0xFF86, 0x0000, + 0xFFE0, 0x0030, 0x0030, 0x0000, 0x0080, 0x0080, 0x00D0, 0x00B0, + 0xFF98, 0x0018, 0x0018, 0x0000, 0x0098, 0x0098, 0x0000, 0x0000, + 0x0000, 0x0000, 0x00B0, 0x00B0 +}; + +static const Uint16Provider kLoLDscXPC98Provider = { ARRAYSIZE(kLoLDscXPC98), kLoLDscXPC98 }; + +static const byte kLoLBaseDscYPC98[36] = { + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x1C, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x1C, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLBaseDscYPC98Provider = { ARRAYSIZE(kLoLBaseDscYPC98), kLoLBaseDscYPC98 }; + +static const byte kLoLDscTileIndexPC98[18] = { + 0x00, 0x06, 0x01, 0x05, 0x02, 0x04, 0x03, 0x07, + 0x0B, 0x08, 0x0A, 0x09, 0x0C, 0x0E, 0x0D, 0x0F, + 0x11, 0x10 +}; + +static const ByteProvider kLoLDscTileIndexPC98Provider = { ARRAYSIZE(kLoLDscTileIndexPC98), kLoLDscTileIndexPC98 }; + +static const byte kLoLDscUnk2PC98[23] = { + 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12, 0x12 +}; + +static const ByteProvider kLoLDscUnk2PC98Provider = { ARRAYSIZE(kLoLDscUnk2PC98), kLoLDscUnk2PC98 }; + +static const byte kLoLDscDoorShapeIndexPC98[23] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + +static const ByteProvider kLoLDscDoorShapeIndexPC98Provider = { ARRAYSIZE(kLoLDscDoorShapeIndexPC98), kLoLDscDoorShapeIndexPC98 }; + +static const byte kLoLDscDimData1PC98[324] = { + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD8, 0xD7, 0xD8, 0xD8, 0x02, 0xD8, 0xD8, 0xD8, + 0xD8, 0xFE, 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0x03, + 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xFE, 0xD8, 0x08, + 0xD8, 0xD8, 0xD8, 0xFE, 0xF8, 0x06, 0xD8, 0xD8, + 0xFA, 0x03, 0xD8, 0xFD, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFA, 0xD7, + 0x10, 0xD8, 0xFA, 0xD7, 0x10, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xF2, 0xD8, 0x14, 0xD8, 0xD8, + 0xD8, 0xF0, 0x0E, 0x14, 0xD8, 0xED, 0x10, 0xD8, + 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, 0xEC, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0x14, 0xD8, 0xED, + 0xD7, 0xD8, 0xD8, 0x13, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, 0xD7, + 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, + 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0x06, 0xD8, 0xD8, 0xFA, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xFA, 0xD8, 0x10, 0xD8, 0xFA, 0xD7, + 0x10, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xF0, 0xD8, 0xD8, + 0xD8, 0xED, 0x10, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD7, 0xD8, 0xD8, 0xD8, 0xD7, 0xD8, 0xD8, 0xD7, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x03, 0xD8, 0xFD, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFD, 0xD8, + 0x13, 0xFD, 0xD8, 0x13, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xED, 0xD8, 0xD8, 0xD8, 0x13, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8 +}; + +static const ByteProvider kLoLDscDimData1PC98Provider = { ARRAYSIZE(kLoLDscDimData1PC98), kLoLDscDimData1PC98 }; + +static const byte kLoLDscDimData2PC98[648] = { + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x02, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x04, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x16, 0x00, 0x00, 0x03, + 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x02, 0x16, 0x00, 0x16, 0x00, 0x08, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x08, 0x0E, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x06, 0x10, + 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x0E, 0x16, + 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x16, 0x00, 0x00, 0x14, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x14, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x12, 0x16, 0x14, 0x16, 0x00, 0x16, 0x13, 0x16, + 0x16, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x00, 0x16, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x06, 0x00, 0x16, 0x00, 0x16, + 0x06, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x06, 0x16, 0x00, 0x16, + 0x00, 0x10, 0x00, 0x16, 0x03, 0x16, 0x07, 0x0F, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x10, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x10, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x00, 0x16, 0x16, 0x00, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x03, 0x00, 0x16, 0x03, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x03, 0x16, 0x00, 0x16, + 0x00, 0x13, 0x03, 0x16, 0x00, 0x16, 0x00, 0x13, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x13, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x13, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, + 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16 +}; + +static const ByteProvider kLoLDscDimData2PC98Provider = { ARRAYSIZE(kLoLDscDimData2PC98), kLoLDscDimData2PC98 }; + +static const byte kLoLDscBlockMapPC98[12] = { + 0x02, 0x03, 0x00, 0x01, 0x01, 0x02, 0x03, 0x00, + 0x03, 0x00, 0x01, 0x02 +}; + +static const ByteProvider kLoLDscBlockMapPC98Provider = { ARRAYSIZE(kLoLDscBlockMapPC98), kLoLDscBlockMapPC98 }; + +static const byte kLoLDscDimMapPC98[18] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, + 0x03, 0x03 +}; + +static const ByteProvider kLoLDscDimMapPC98Provider = { ARRAYSIZE(kLoLDscDimMapPC98), kLoLDscDimMapPC98 }; + +static const byte kLoLDscOvlIndexPC98[20] = { + 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, + 0x06, 0x07, 0x07, 0x07 +}; + +static const ByteProvider kLoLDscOvlIndexPC98Provider = { ARRAYSIZE(kLoLDscOvlIndexPC98), kLoLDscOvlIndexPC98 }; + +static const byte kLoLDscBlockIndexPC98[72] = { + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xBE, + 0xBF, 0xC0, 0xC1, 0xC2, 0xDF, 0xE0, 0xE1, 0xFF, + 0x00, 0x01, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, + 0x63, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0xE1, 0x01, + 0x21, 0xE0, 0x00, 0x20, 0x63, 0x62, 0x61, 0x60, + 0x5F, 0x5E, 0x5D, 0x42, 0x41, 0x40, 0x3F, 0x3E, + 0x21, 0x20, 0x1F, 0x01, 0x00, 0xFF, 0x5D, 0x3D, + 0x1D, 0xFD, 0xDD, 0xBD, 0x9D, 0x3E, 0x1E, 0xFE, + 0xDE, 0xBE, 0x1F, 0xFF, 0xDF, 0x20, 0x00, 0xE0 +}; + +static const ByteProvider kLoLDscBlockIndexPC98Provider = { ARRAYSIZE(kLoLDscBlockIndexPC98), kLoLDscBlockIndexPC98 }; + +static const byte kLoLDscDoorY2PC98[128] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0D, 0x08, 0x03, 0x12, 0x0E, 0x09, 0x04, 0x00, + 0x13, 0x0F, 0x0A, 0x05, 0x01, 0x14, 0x10, 0x0B, + 0x06, 0x02, 0x11, 0x0C, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x14, 0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, + 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0C, 0x11, 0x02, 0x06, 0x0B, 0x10, 0x14, + 0x01, 0x05, 0x0A, 0x0F, 0x13, 0x00, 0x04, 0x09, + 0x0E, 0x12, 0x03, 0x08, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider kLoLDscDoorY2PC98Provider = { ARRAYSIZE(kLoLDscDoorY2PC98), kLoLDscDoorY2PC98 }; + +static const byte kLoLDscDoorFrameY1PC98[4] = { + 0x1E, 0x18, 0x10, 0x00 +}; + +static const ByteProvider kLoLDscDoorFrameY1PC98Provider = { ARRAYSIZE(kLoLDscDoorFrameY1PC98), kLoLDscDoorFrameY1PC98 }; + +static const byte kLoLDscDoorFrameY2PC98[4] = { + 0x3B, 0x47, 0x56, 0x78 +}; + +static const ByteProvider kLoLDscDoorFrameY2PC98Provider = { ARRAYSIZE(kLoLDscDoorFrameY2PC98), kLoLDscDoorFrameY2PC98 }; + +static const uint16 kLoLDscDoorScalePC98[8] = { + 0x0075, 0x006A, 0x00B9, 0x00B2, 0x0100, 0x0100, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorScalePC98Provider = { ARRAYSIZE(kLoLDscDoorScalePC98), kLoLDscDoorScalePC98 }; + +static const uint16 kLoLDscDoor4PC98[4] = { + 0x0005, 0x0002, 0x0008, 0x787C +}; + +static const Uint16Provider kLoLDscDoor4PC98Provider = { ARRAYSIZE(kLoLDscDoor4PC98), kLoLDscDoor4PC98 }; + +static const uint16 kLoLDscDoorXPC98[576] = { + 0xFF98, 0xFFA0, 0xFFA8, 0xFF90, 0xFF98, 0xFFA0, 0xFFA8, 0xFFB0, + 0xFF74, 0xFF7E, 0xFF88, 0xFF92, 0xFF9C, 0xFF74, 0xFF7E, 0xFF88, + 0xFF92, 0xFF9C, 0xFF64, 0xFF70, 0xFF7C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFB8, 0xFFC0, 0xFFC8, 0xFFB0, 0xFFB8, 0xFFC0, 0xFFC8, 0xFFD0, + 0xFF9C, 0xFFA6, 0xFFB0, 0xFFBA, 0xFFC4, 0xFF9C, 0xFFA6, 0xFFB0, + 0xFFBA, 0xFFC4, 0xFF94, 0xFFA0, 0xFFAC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD8, 0xFFE0, 0xFFE8, 0xFFD0, 0xFFD8, 0xFFE0, 0xFFE8, 0xFFF0, + 0xFFC4, 0xFFCE, 0xFFD8, 0xFFE2, 0xFFEC, 0xFFC4, 0xFFCE, 0xFFD8, + 0xFFE2, 0xFFEC, 0xFFC4, 0xFFD0, 0xFFDC, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0x0000, 0x0008, 0xFFF0, 0xFFF8, 0x0000, 0x0008, 0x0010, + 0xFFEC, 0xFFF6, 0x0000, 0x000A, 0x0014, 0xFFEC, 0xFFF6, 0x0000, + 0x000A, 0x0014, 0xFFF4, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0018, 0x0020, 0x0028, 0x0010, 0x0018, 0x0020, 0x0028, 0x0030, + 0x0014, 0x001E, 0x0028, 0x0032, 0x003C, 0x0014, 0x001E, 0x0028, + 0x0032, 0x003C, 0x0024, 0x0030, 0x003C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0038, 0x0040, 0x0048, 0x0030, 0x0038, 0x0040, 0x0048, 0x0050, + 0x003C, 0x0046, 0x0050, 0x005A, 0x0064, 0x003C, 0x0046, 0x0050, + 0x005A, 0x0064, 0x0054, 0x0060, 0x006C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0058, 0x0060, 0x0068, 0x0050, 0x0058, 0x0060, 0x0068, 0x0070, + 0x0064, 0x006E, 0x0078, 0x0082, 0x008C, 0x0064, 0x006E, 0x0078, + 0x0082, 0x008C, 0x0084, 0x0090, 0x009C, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF94, 0xFFA0, 0xFFAC, 0xFF7E, 0xFF8B, 0xFF98, 0xFFA5, 0xFFB2, + 0xFF6C, 0xFF7B, 0xFF8A, 0xFF99, 0xFFA7, 0xFF60, 0xFF70, 0xFF80, + 0xFF90, 0xFFA0, 0xFF4C, 0xFF60, 0xFF74, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC4, 0xFFD0, 0xFFDC, 0xFFB2, 0xFFBF, 0xFFCC, 0xFFD9, 0xFFE6, + 0xFFA7, 0xFFB6, 0xFFC5, 0xFFD4, 0xFFE2, 0xFFA0, 0xFFB0, 0xFFC0, + 0xFFD0, 0xFFE0, 0xFF9C, 0xFFB0, 0xFFC4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF4, 0x0000, 0x000C, 0xFFE6, 0xFFF3, 0x0000, 0x000D, 0x001A, + 0xFFE2, 0xFFF1, 0x0000, 0x000F, 0x001E, 0xFFE0, 0xFFF0, 0x0000, + 0x0010, 0x0020, 0xFFEC, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0030, 0x003C, 0x001A, 0x0027, 0x0034, 0x0041, 0x004E, + 0x001E, 0x002C, 0x003B, 0x004A, 0x0059, 0x0020, 0x0030, 0x0040, + 0x0050, 0x0060, 0x003C, 0x0050, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0054, 0x0060, 0x006C, 0x004E, 0x005B, 0x0068, 0x0075, 0x0082, + 0x0059, 0x0067, 0x0076, 0x0085, 0x0094, 0x0060, 0x0070, 0x0080, + 0x0090, 0x00A0, 0x008C, 0x00A0, 0x00B4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF9C, 0xFFB0, 0xFFC4, 0xFF7C, 0xFF92, 0xFFA8, 0xFFBE, 0xFFD4, + 0xFF6D, 0xFF85, 0xFF9E, 0xFFB6, 0xFFCF, 0xFF5E, 0xFF79, 0xFF94, + 0xFFAF, 0xFFCA, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFEC, 0x0000, 0x0014, 0xFFD4, 0xFFEA, 0x0000, 0x0016, 0x002C, + 0xFFCF, 0xFFE7, 0x0000, 0x0019, 0x0031, 0xFFCA, 0xFFE5, 0x0000, + 0x001B, 0x0036, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x003C, 0x0050, 0x0064, 0x002C, 0x0042, 0x0058, 0x006E, 0x0084, + 0x0031, 0x004A, 0x0062, 0x007B, 0x0093, 0x0036, 0x0051, 0x006C, + 0x0087, 0x00A2, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFF60, 0xFF80, 0xFFA0, 0xFF1C, 0xFF42, 0xFF68, 0xFF8E, 0xFFB4, + 0xFF40, 0xFF60, 0xFF80, 0xFFA0, 0xFFC0, 0xFF1C, 0xFF42, 0xFF68, + 0xFF8E, 0xFFB4, 0xFF60, 0xFF80, 0xFFA0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFE0, 0x0000, 0x0020, 0xFFB4, 0xFFDA, 0x0000, 0x0026, 0x004C, + 0xFFC0, 0xFFE0, 0x0000, 0x0020, 0x0040, 0xFFB4, 0xFFDA, 0x0000, + 0x0026, 0x004C, 0xFFE0, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0060, 0x0080, 0x00A0, 0x004C, 0x0072, 0x0098, 0x00BE, 0x00E4, + 0x0040, 0x0060, 0x0080, 0x00A0, 0x00C0, 0x004C, 0x0072, 0x0098, + 0x00BE, 0x00E4, 0x0060, 0x0080, 0x00A0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorXPC98Provider = { ARRAYSIZE(kLoLDscDoorXPC98), kLoLDscDoorXPC98 }; + +static const uint16 kLoLDscDoorYPC98[576] = { + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFBF, 0xFFBF, 0xFFBF, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, + 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC5, 0xFFC5, 0xFFC5, + 0xFFC5, 0xFFC5, 0xFFC9, 0xFFC9, 0xFFC9, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, + 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFD3, 0xFFD3, 0xFFD3, + 0xFFD3, 0xFFD3, 0xFFD7, 0xFFD7, 0xFFD7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFD7, 0xFFD7, 0xFFD7, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, + 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFEA, 0xFFEA, 0xFFEA, + 0xFFEA, 0xFFEA, 0xFFF8, 0xFFF8, 0xFFF8, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xFFF8, 0xFFF8, 0xFFF8, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, 0xFFFC, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +static const Uint16Provider kLoLDscDoorYPC98Provider = { ARRAYSIZE(kLoLDscDoorYPC98), kLoLDscDoorYPC98 }; + +static const byte kLoLScrollXTopPC98[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXTopPC98Provider = { ARRAYSIZE(kLoLScrollXTopPC98), kLoLScrollXTopPC98 }; + +static const byte kLoLScrollYTopPC98[5] = { + 0x02, 0x04, 0x07, 0x09, 0x0C +}; + +static const ByteProvider kLoLScrollYTopPC98Provider = { ARRAYSIZE(kLoLScrollYTopPC98), kLoLScrollYTopPC98 }; + +static const byte kLoLScrollXBottomPC98[5] = { + 0x05, 0x0A, 0x0F, 0x14, 0x19 +}; + +static const ByteProvider kLoLScrollXBottomPC98Provider = { ARRAYSIZE(kLoLScrollXBottomPC98), kLoLScrollXBottomPC98 }; + +static const byte kLoLScrollYBottomPC98[5] = { + 0x04, 0x08, 0x0C, 0x10, 0x14 +}; + +static const ByteProvider kLoLScrollYBottomPC98Provider = { ARRAYSIZE(kLoLScrollYBottomPC98), kLoLScrollYBottomPC98 }; + +static const LoLButtonDef kLoLButtonDefsPC98[95] = { + { 0x1100, 68, 324, 33, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 72, 328, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 76, 332, 33, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 71, 327, 11, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 73, 329, 53, 150, 22, 18, 0x0000, 0 }, + { 0x1100, 67, 323, 11, 131, 22, 19, 0x0000, 0 }, + { 0x1100, 69, 325, 53, 131, 22, 19, 0x0000, 0 }, + { 0x0100, 99, 0, 80, 143, 22, 17, 0x0000, 0 }, + { 0x0100, 100, 0, 80, 143, 22, 17, 0x0001, 0 }, + { 0x0100, 101, 0, 80, 143, 22, 17, 0x0002, 0 }, + { 0x0100, 102, 0, 80, 143, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0000, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0001, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0002, 0 }, + { 0x1100, 0, 0, 80, 160, 22, 17, 0x0003, 0 }, + { 0x1100, 0, 0, 80, 144, 22, 32, 0x0000, 0 }, + { 0x1100, 1, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 33, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 12, 34, 0x0003, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x1000, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0002, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0004, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0005, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0006, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0007, 2 }, + { 0x1100, 0, 0, 0, 0, 20, 19, 0x0008, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x0009, 2 }, + { 0x1100, 0, 0, 0, 0, 12, 11, 0x000A, 2 }, + { 0x1100, 1, 0, 160, 93, 43, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 102, 88, 19, 0x0000, 2 }, + { 0x1100, 0, 0, 88, 102, 88, 19, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 85, 88, 17, 0x0002, 2 }, + { 0x1100, 0, 0, 88, 85, 88, 17, 0x0003, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 106, 179, 21, 21, 0x0000, 0 }, + { 0x1100, 0, 0, 127, 179, 21, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 148, 179, 21, 21, 0x0002, 0 }, + { 0x1100, 0, 0, 169, 179, 21, 21, 0x0003, 0 }, + { 0x1100, 0, 0, 190, 179, 21, 21, 0x0004, 0 }, + { 0x1100, 0, 0, 211, 179, 21, 21, 0x0005, 0 }, + { 0x1100, 0, 0, 232, 179, 21, 21, 0x0006, 0 }, + { 0x1100, 0, 0, 253, 179, 21, 21, 0x0007, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0008, 0 }, + { 0x1100, 0, 0, 274, 179, 21, 21, 0x0009, 0 }, + { 0x1100, 0, 0, 85, 179, 21, 21, 0xFFFF, 0 }, + { 0x1100, 0, 0, 295, 179, 22, 21, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 8, 128, 96, 0x0001, 2 }, + { 0x1100, 0, 0, 0, 0, 176, 120, 0x0000, 2 }, + { 0x1100, 0, 0, 0, 0, 0, 0, 0x0000, 0 }, + { 0x1100, 0, 0, 112, 0, 176, 16, 0x0001, 0 }, + { 0x1100, 0, 0, 112, 110, 176, 26, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 88, 32, 32, 0x0001, 0 }, + { 0x1100, 0, 0, 96, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 272, 16, 32, 72, 0x0001, 0 }, + { 0x1100, 0, 0, 24, 15, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 24, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 33, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 42, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 51, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 60, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 69, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 78, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 87, 61, 9, 0x0000, 0 }, + { 0x1100, 0, 0, 24, 96, 61, 9, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0000, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0001, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0002, 0 }, + { 0x0100, 0, 0, 80, 143, 66, 34, 0x0003, 0 }, + { 0x1100, 1, 0, 0, 0, 320, 200, 0x0003, 0 }, + { 0x0100, 0, 0, 112, 0, 88, 80, 0x0000, 0 }, + { 0x0100, 0, 0, 200, 0, 88, 80, 0x0001, 0 }, + { 0x1100, 25, 1, 11, 178, 21, 22, 0x0000, 0 }, + { 0x0100, 20, 0, 32, 178, 22, 22, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 96, 27, 24, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 0, 31, 28, 0x0000, 0 }, + { 0x0100, 0, 0, 289, 31, 31, 23, 0x0000, 0 }, + { 0x0100, 0, 0, 291, 56, 29, 24, 0x0000, 0 }, + { 0x1100, 0, 0, 220, 98, 43, 19, 0x0000, 0 } +}; + +static const LoLButtonDefProvider kLoLButtonDefsPC98Provider = { ARRAYSIZE(kLoLButtonDefsPC98), kLoLButtonDefsPC98 }; + +static const byte kLoLButtonList1PC98[40] = { + 0x59, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x31, + 0x3E, 0x2D, 0x2E, 0x2F, 0x30, 0x56, 0x57, 0x01, + 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x32, 0x33, + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, + 0x3C, 0x3D, 0x58, 0x5A, 0x5B, 0x5C, 0x5D, 0xFF +}; + +static const ByteProvider kLoLButtonList1PC98Provider = { ARRAYSIZE(kLoLButtonList1PC98), kLoLButtonList1PC98 }; + +static const byte kLoLButtonList2PC98[15] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x5E, 0xFF +}; + +static const ByteProvider kLoLButtonList2PC98Provider = { ARRAYSIZE(kLoLButtonList2PC98), kLoLButtonList2PC98 }; + +static const byte kLoLButtonList3PC98[2] = { + 0x40, 0xFF +}; + +static const ByteProvider kLoLButtonList3PC98Provider = { ARRAYSIZE(kLoLButtonList3PC98), kLoLButtonList3PC98 }; + +static const byte kLoLButtonList4PC98[15] = { + 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x3A, 0x3B, 0x3C, 0x3D, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList4PC98Provider = { ARRAYSIZE(kLoLButtonList4PC98), kLoLButtonList4PC98 }; + +static const byte kLoLButtonList5PC98[16] = { + 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x06, 0x41, + 0x42, 0x43, 0x44, 0x45, 0x46, 0x5A, 0x5B, 0xFF +}; + +static const ByteProvider kLoLButtonList5PC98Provider = { ARRAYSIZE(kLoLButtonList5PC98), kLoLButtonList5PC98 }; + +static const byte kLoLButtonList6PC98[14] = { + 0x2C, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, + 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF +}; + +static const ByteProvider kLoLButtonList6PC98Provider = { ARRAYSIZE(kLoLButtonList6PC98), kLoLButtonList6PC98 }; + +static const byte kLoLButtonList7PC98[3] = { + 0x0F, 0x10, 0xFF +}; + +static const ByteProvider kLoLButtonList7PC98Provider = { ARRAYSIZE(kLoLButtonList7PC98), kLoLButtonList7PC98 }; + +static const byte kLoLButtonList8PC98[2] = { + 0x55, 0xFF +}; + +static const ByteProvider kLoLButtonList8PC98Provider = { ARRAYSIZE(kLoLButtonList8PC98), kLoLButtonList8PC98 }; + +static const byte kLoLLegendDataPC98[60] = { + 0x0E, 0x00, 0x00, 0x07, 0x42, 0x19, 0x00, 0x00, + 0x08, 0x42, 0x1A, 0x00, 0x00, 0x09, 0x42, 0x0D, + 0x00, 0x00, 0x0A, 0x42, 0x0A, 0x00, 0x00, 0x0B, + 0x42, 0x0B, 0x00, 0x00, 0x0C, 0x42, 0x0F, 0x00, + 0x00, 0x0D, 0x42, 0x16, 0x00, 0x00, 0x0E, 0x42, + 0x17, 0x00, 0x00, 0x0F, 0x42, 0x11, 0x00, 0x00, + 0x10, 0x42, 0x12, 0x00, 0xFB, 0x51, 0x42, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF +}; + +static const ByteProvider kLoLLegendDataPC98Provider = { ARRAYSIZE(kLoLLegendDataPC98), kLoLLegendDataPC98 }; + +static const uint16 kLoLMapStringIdPC98[30] = { + 0xFFFF, 0x4211, 0x4212, 0x4213, 0x4214, 0x4215, 0x4216, 0x4217, + 0x4218, 0x4219, 0x421A, 0x421B, 0x421C, 0x421D, 0x421E, 0x421F, + 0x4220, 0x4221, 0x4222, 0x4223, 0x4224, 0x4225, 0x4226, 0x4227, + 0x4228, 0x4229, 0x422A, 0x422B, 0x422C, 0x422D +}; + +static const Uint16Provider kLoLMapStringIdPC98Provider = { ARRAYSIZE(kLoLMapStringIdPC98), kLoLMapStringIdPC98 }; + +static const byte kLoLSpellbookAnimPC98[28] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x13, 0xB6, 0x04, 0x00, 0x13, 0x4D, + 0x04, 0x00, 0x13, 0xB9, 0x04, 0x00, 0x13, 0xB8, + 0x04, 0x00, 0x13, 0xBA +}; + +static const ByteProvider kLoLSpellbookAnimPC98Provider = { ARRAYSIZE(kLoLSpellbookAnimPC98), kLoLSpellbookAnimPC98 }; + +static const byte kLoLSpellbookCoordsPC98[12] = { + 0x16, 0x16, 0x16, 0x1F, 0x16, 0x28, 0x16, 0x31, + 0x16, 0x3A, 0x16, 0x43 +}; + +static const ByteProvider kLoLSpellbookCoordsPC98Provider = { ARRAYSIZE(kLoLSpellbookCoordsPC98), kLoLSpellbookCoordsPC98 }; + +static const byte kLoLHealShapeFramesPC98[80] = { + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const ByteProvider kLoLHealShapeFramesPC98Provider = { ARRAYSIZE(kLoLHealShapeFramesPC98), kLoLHealShapeFramesPC98 }; + +static const byte kLoLLightningDefsPC98[20] = { + 0x06, 0x05, 0xAB, 0x00, 0x06, 0x04, 0xAB, 0x00, + 0x08, 0x04, 0xAA, 0x00, 0x06, 0x03, 0xAA, 0x00, + 0x06, 0x02, 0xA9, 0x00 +}; + +static const ByteProvider kLoLLightningDefsPC98Provider = { ARRAYSIZE(kLoLLightningDefsPC98), kLoLLightningDefsPC98 }; + +static const uint16 kLoLFireballCoordsPC98[256] = { + 0x0000, 0x0324, 0x0647, 0x096A, 0x0C8B, 0x0FAB, 0x12C7, 0x15E1, + 0x18F8, 0x1C0B, 0x1F19, 0x2223, 0x2527, 0x2826, 0x2B1E, 0x2E10, + 0x30FB, 0x33DE, 0x36B9, 0x398C, 0x3C56, 0x3F16, 0x41CD, 0x447A, + 0x471C, 0x49B3, 0x4C3F, 0x4EBF, 0x5133, 0x539A, 0x55F4, 0x5842, + 0x5A81, 0x5CB3, 0x5ED6, 0x60EB, 0x62F1, 0x64E7, 0x66CE, 0x68A5, + 0x6A6C, 0x6C23, 0x6DC9, 0x6F5E, 0x70E1, 0x7254, 0x73B5, 0x7503, + 0x7640, 0x776B, 0x7883, 0x7989, 0x7A7C, 0x7B5C, 0x7C29, 0x7CE2, + 0x7D89, 0x7E1C, 0x7E9C, 0x7F08, 0x7F61, 0x7FA6, 0x7FD7, 0x7FF5, + 0x7FFF, 0x7FF5, 0x7FD7, 0x7FA6, 0x7F61, 0x7F08, 0x7E9C, 0x7E1C, + 0x7D89, 0x7CE2, 0x7C29, 0x7B5C, 0x7A7C, 0x7989, 0x7883, 0x776B, + 0x7640, 0x7503, 0x73B5, 0x7254, 0x70E1, 0x6F5E, 0x6DC9, 0x6C23, + 0x6A6C, 0x68A5, 0x66CE, 0x64E7, 0x62F1, 0x60EB, 0x5ED6, 0x5CB3, + 0x5A81, 0x5842, 0x55F4, 0x539A, 0x5133, 0x4EBF, 0x4C3F, 0x49B3, + 0x471C, 0x447A, 0x41CD, 0x3F16, 0x3C56, 0x398C, 0x36B9, 0x33DE, + 0x30FB, 0x2E10, 0x2B1E, 0x2826, 0x2527, 0x2223, 0x1F19, 0x1C0B, + 0x18F8, 0x15E1, 0x12C7, 0x0FAB, 0x0C8B, 0x096A, 0x0647, 0x0324, + 0x0000, 0xFCDC, 0xF9B9, 0xF696, 0xF375, 0xF055, 0xED39, 0xEA1F, + 0xE708, 0xE3F5, 0xE0E7, 0xDDDD, 0xDAD9, 0xD7DA, 0xD4E2, 0xD1F0, + 0xCF05, 0xCC22, 0xC947, 0xC674, 0xC3AA, 0xC0EA, 0xBE33, 0xBB86, + 0xB8E4, 0xB64D, 0xB3C1, 0xB141, 0xAECD, 0xAC66, 0xAA0C, 0xA7BE, + 0xA57F, 0xA34D, 0xA12A, 0x9F15, 0x9D0F, 0x9B19, 0x9932, 0x975B, + 0x9594, 0x93DD, 0x9237, 0x90A2, 0x8F1F, 0x8DAC, 0x8C4B, 0x8AFD, + 0x89C0, 0x8895, 0x877D, 0x8677, 0x8584, 0x84A4, 0x83D7, 0x831E, + 0x8277, 0x81E4, 0x8164, 0x80F8, 0x809F, 0x805A, 0x8029, 0x800B, + 0x8001, 0x800B, 0x8029, 0x805A, 0x809F, 0x80F8, 0x8164, 0x81E4, + 0x8277, 0x831E, 0x83D7, 0x84A4, 0x8584, 0x8677, 0x877D, 0x8895, + 0x89C0, 0x8AFD, 0x8C4B, 0x8DAC, 0x8F1F, 0x90A2, 0x9237, 0x93DD, + 0x9594, 0x975B, 0x9932, 0x9B19, 0x9D0F, 0x9F15, 0xA12A, 0xA34D, + 0xA57F, 0xA7BE, 0xAA0C, 0xAC66, 0xAECD, 0xB141, 0xB3C1, 0xB64D, + 0xB8E4, 0xBB86, 0xBE33, 0xC0EA, 0xC3AA, 0xC674, 0xC947, 0xCC22, + 0xCF05, 0xD1F0, 0xD4E2, 0xD7DA, 0xDAD9, 0xDDDD, 0xE0E7, 0xE3F5, + 0xE708, 0xEA1F, 0xED39, 0xF055, 0xF375, 0xF696, 0xF9B9, 0xFCDC +}; + +static const Uint16Provider kLoLFireballCoordsPC98Provider = { ARRAYSIZE(kLoLFireballCoordsPC98), kLoLFireballCoordsPC98 }; + +static const byte kLoLCreditsPC98[1511] = { + 0x02, 0x54, 0x68, 0x65, 0x20, 0x45, 0x6E, 0x64, + 0x05, 0x0D, 0x0D, 0x0D, 0x02, 0x4C, 0x41, 0x4E, + 0x44, 0x53, 0x20, 0x4F, 0x46, 0x20, 0x4C, 0x4F, + 0x52, 0x45, 0x05, 0x0D, 0x01, 0x54, 0x68, 0x65, + 0x20, 0x54, 0x68, 0x72, 0x6F, 0x6E, 0x65, 0x20, + 0x6F, 0x66, 0x20, 0x43, 0x68, 0x61, 0x6F, 0x73, + 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, + 0x49, 0x56, 0x45, 0x20, 0x50, 0x52, 0x4F, 0x44, + 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D, 0x02, + 0x42, 0x72, 0x65, 0x74, 0x74, 0x20, 0x57, 0x2E, + 0x20, 0x53, 0x70, 0x65, 0x72, 0x72, 0x79, 0x05, + 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F, + 0x44, 0x55, 0x43, 0x45, 0x52, 0x05, 0x0D, 0x0D, + 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x47, 0x75, + 0x73, 0x68, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x50, 0x52, 0x4F, 0x44, 0x55, 0x43, 0x54, 0x20, + 0x43, 0x4F, 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, + 0x54, 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x43, + 0x61, 0x74, 0x68, 0x69, 0x65, 0x20, 0x41, 0x2E, + 0x20, 0x54, 0x6F, 0x64, 0x64, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x44, 0x45, 0x53, 0x49, 0x47, + 0x4E, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x02, + 0x57, 0x69, 0x6C, 0x6C, 0x69, 0x61, 0x6D, 0x20, + 0x41, 0x6C, 0x61, 0x6E, 0x20, 0x43, 0x72, 0x75, + 0x6D, 0x05, 0x0D, 0x50, 0x68, 0x69, 0x6C, 0x69, + 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, 0x72, + 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, + 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20, 0x50, 0x52, + 0x4F, 0x47, 0x52, 0x41, 0x4D, 0x4D, 0x45, 0x52, + 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x68, 0x69, 0x6C, + 0x69, 0x70, 0x20, 0x57, 0x2E, 0x20, 0x47, 0x6F, + 0x72, 0x72, 0x6F, 0x77, 0x05, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47, 0x52, 0x41, + 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05, 0x0D, 0x0D, + 0x02, 0x4A, 0x6F, 0x65, 0x20, 0x42, 0x6F, 0x73, + 0x74, 0x69, 0x63, 0x05, 0x0D, 0x02, 0x53, 0x63, + 0x6F, 0x74, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x42, + 0x6F, 0x77, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x6F, 0x68, 0x6E, 0x20, 0x4C, 0x61, 0x53, 0x61, + 0x6C, 0x76, 0x69, 0x61, 0x05, 0x0D, 0x02, 0x4D, + 0x61, 0x72, 0x6B, 0x20, 0x4D, 0x63, 0x43, 0x75, + 0x62, 0x62, 0x69, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x75, 0x73, 0x74, 0x69, 0x6E, 0x20, 0x4D, 0x63, + 0x4B, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x6E, 0x65, + 0x79, 0x05, 0x0D, 0x02, 0x51, 0x69, 0x6E, 0x67, + 0x20, 0x59, 0x75, 0x61, 0x6E, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x4C, 0x45, 0x41, 0x44, 0x20, + 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x05, 0x0D, + 0x0D, 0x02, 0x52, 0x69, 0x63, 0x6B, 0x20, 0x50, + 0x61, 0x72, 0x6B, 0x73, 0x05, 0x0D, 0x0D, 0x0D, + 0x0D, 0x02, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, + 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x45, 0x6C, 0x69, + 0x65, 0x20, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61, + 0x6E, 0x05, 0x0D, 0x02, 0x43, 0x61, 0x72, 0x79, + 0x20, 0x44, 0x65, 0x61, 0x6E, 0x20, 0x41, 0x76, + 0x65, 0x72, 0x65, 0x74, 0x74, 0x05, 0x0D, 0x02, + 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F, 0x6F, + 0x63, 0x68, 0x05, 0x0D, 0x02, 0x4A, 0x6F, 0x73, + 0x65, 0x70, 0x68, 0x20, 0x42, 0x2E, 0x20, 0x48, + 0x65, 0x77, 0x69, 0x74, 0x74, 0x20, 0x49, 0x56, + 0x05, 0x0D, 0x02, 0x52, 0x65, 0x6E, 0x20, 0x4F, + 0x6C, 0x73, 0x65, 0x6E, 0x05, 0x0D, 0x02, 0x4A, + 0x75, 0x64, 0x69, 0x74, 0x68, 0x20, 0x50, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x6F, 0x6E, 0x05, 0x0D, + 0x02, 0x45, 0x2E, 0x4D, 0x2E, 0x20, 0x4C, 0x6F, + 0x75, 0x69, 0x73, 0x65, 0x20, 0x53, 0x61, 0x6E, + 0x64, 0x6F, 0x76, 0x61, 0x6C, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53, 0x49, 0x43, + 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55, 0x4E, 0x44, + 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x50, 0x61, 0x75, + 0x6C, 0x20, 0x53, 0x2E, 0x20, 0x4D, 0x75, 0x64, + 0x72, 0x61, 0x05, 0x0D, 0x02, 0x44, 0x77, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x4B, 0x2E, 0x20, 0x4F, + 0x6B, 0x61, 0x68, 0x61, 0x72, 0x61, 0x05, 0x0D, + 0x02, 0x46, 0x72, 0x61, 0x6E, 0x6B, 0x20, 0x4B, + 0x6C, 0x65, 0x70, 0x61, 0x63, 0x6B, 0x69, 0x05, + 0x0D, 0x02, 0x50, 0x61, 0x74, 0x72, 0x69, 0x63, + 0x6B, 0x20, 0x43, 0x6F, 0x6C, 0x6C, 0x69, 0x6E, + 0x73, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x51, + 0x55, 0x41, 0x4C, 0x49, 0x54, 0x59, 0x20, 0x41, + 0x53, 0x53, 0x55, 0x52, 0x41, 0x4E, 0x43, 0x45, + 0x05, 0x0D, 0x0D, 0x02, 0x4A, 0x65, 0x73, 0x73, + 0x65, 0x20, 0x43, 0x6C, 0x65, 0x6D, 0x69, 0x74, + 0x05, 0x0D, 0x02, 0x4B, 0x65, 0x6E, 0x6E, 0x65, + 0x74, 0x68, 0x20, 0x44, 0x75, 0x6E, 0x6E, 0x65, + 0x05, 0x0D, 0x02, 0x4A, 0x65, 0x66, 0x66, 0x20, + 0x53, 0x74, 0x65, 0x76, 0x65, 0x6E, 0x20, 0x46, + 0x69, 0x6C, 0x6C, 0x68, 0x61, 0x62, 0x65, 0x72, + 0x05, 0x0D, 0x02, 0x57, 0x69, 0x6C, 0x6C, 0x69, + 0x61, 0x6D, 0x20, 0x46, 0x6F, 0x73, 0x74, 0x65, + 0x72, 0x05, 0x0D, 0x02, 0x53, 0x63, 0x6F, 0x74, + 0x74, 0x20, 0x46, 0x6C, 0x65, 0x6D, 0x69, 0x6E, + 0x67, 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x63, 0x68, + 0x61, 0x65, 0x6C, 0x20, 0x4C, 0x69, 0x67, 0x68, + 0x74, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x47, + 0x6C, 0x65, 0x6E, 0x6E, 0x20, 0x53, 0x70, 0x65, + 0x72, 0x72, 0x79, 0x05, 0x0D, 0x02, 0x43, 0x68, + 0x72, 0x69, 0x73, 0x20, 0x4D, 0x63, 0x46, 0x61, + 0x72, 0x6C, 0x61, 0x6E, 0x64, 0x05, 0x0D, 0x02, + 0x53, 0x63, 0x6F, 0x74, 0x74, 0x20, 0x4D, 0x61, + 0x6E, 0x6E, 0x69, 0x6E, 0x67, 0x05, 0x0D, 0x02, + 0x50, 0x61, 0x75, 0x6C, 0x20, 0x53, 0x68, 0x6F, + 0x65, 0x6E, 0x65, 0x72, 0x05, 0x0D, 0x02, 0x41, + 0x64, 0x61, 0x6D, 0x20, 0x52, 0x79, 0x61, 0x6E, + 0x05, 0x0D, 0x02, 0x4D, 0x69, 0x74, 0x63, 0x68, + 0x20, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x6D, 0x61, + 0x6E, 0x05, 0x0D, 0x02, 0x4A, 0x61, 0x72, 0x65, + 0x64, 0x20, 0x42, 0x72, 0x69, 0x6E, 0x6B, 0x6C, + 0x65, 0x79, 0x05, 0x0D, 0x02, 0x4A, 0x75, 0x73, + 0x74, 0x69, 0x6E, 0x20, 0x48, 0x61, 0x6C, 0x6C, + 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x56, 0x4F, 0x49, 0x43, 0x45, 0x20, 0x41, 0x43, + 0x54, 0x4F, 0x52, 0x53, 0x05, 0x0D, 0x0D, 0x03, + 0x52, 0x69, 0x63, 0x68, 0x61, 0x72, 0x64, 0x20, + 0x53, 0x6D, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73, + 0x05, 0x04, 0x4B, 0x49, 0x4E, 0x47, 0x20, 0x52, + 0x49, 0x43, 0x48, 0x41, 0x52, 0x44, 0x05, 0x0D, + 0x03, 0x45, 0x72, 0x69, 0x63, 0x20, 0x47, 0x6F, + 0x6F, 0x63, 0x68, 0x20, 0x61, 0x73, 0x05, 0x04, + 0x47, 0x45, 0x52, 0x4F, 0x4E, 0x05, 0x0D, 0x03, + 0x53, 0x63, 0x6F, 0x74, 0x69, 0x61, 0x20, 0x61, + 0x73, 0x05, 0x04, 0x68, 0x65, 0x72, 0x73, 0x65, + 0x6C, 0x66, 0x05, 0x0D, 0x03, 0x46, 0x72, 0x61, + 0x6E, 0x6B, 0x20, 0x4B, 0x6C, 0x65, 0x70, 0x61, + 0x63, 0x6B, 0x69, 0x20, 0x61, 0x73, 0x05, 0x04, + 0x50, 0x49, 0x47, 0x4C, 0x45, 0x54, 0x05, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4A, 0x41, + 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45, 0x20, 0x56, + 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, 0x05, 0x0D, + 0x0D, 0x0D, 0x02, 0x50, 0x52, 0x4F, 0x47, 0x52, + 0x41, 0x4D, 0x4D, 0x45, 0x52, 0x53, 0x05, 0x0D, + 0x0D, 0x02, 0x59, 0x75, 0x6B, 0x69, 0x6F, 0x20, + 0x53, 0x65, 0x6B, 0x69, 0x67, 0x75, 0x63, 0x68, + 0x69, 0x05, 0x0D, 0x02, 0x4E, 0x61, 0x6F, 0x73, + 0x68, 0x69, 0x20, 0x4E, 0x6F, 0x67, 0x75, 0x63, + 0x68, 0x69, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, + 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x53, 0x05, + 0x0D, 0x0D, 0x02, 0x4D, 0x61, 0x73, 0x61, 0x6B, + 0x69, 0x20, 0x54, 0x6F, 0x67, 0x61, 0x73, 0x68, + 0x69, 0x05, 0x0D, 0x02, 0x52, 0x69, 0x73, 0x61, + 0x6B, 0x6F, 0x20, 0x53, 0x65, 0x74, 0x6F, 0x05, + 0x0D, 0x02, 0x52, 0x65, 0x69, 0x67, 0x61, 0x20, + 0x59, 0x61, 0x73, 0x75, 0x64, 0x61, 0x05, 0x0D, + 0x02, 0x4D, 0x61, 0x73, 0x75, 0x6D, 0x69, 0x20, + 0x53, 0x68, 0x69, 0x6E, 0x62, 0x6F, 0x05, 0x0D, + 0x02, 0x4E, 0x61, 0x6F, 0x6B, 0x6F, 0x20, 0x4E, + 0x69, 0x74, 0x74, 0x61, 0x05, 0x0D, 0x02, 0x4B, + 0x69, 0x79, 0x6F, 0x66, 0x75, 0x6D, 0x69, 0x20, + 0x48, 0x69, 0x6E, 0x6F, 0x05, 0x0D, 0x02, 0x48, + 0x69, 0x72, 0x6F, 0x6D, 0x69, 0x20, 0x53, 0x61, + 0x6B, 0x61, 0x65, 0x05, 0x0D, 0x02, 0x4B, 0x79, + 0x6F, 0x75, 0x6B, 0x6F, 0x20, 0x4D, 0x69, 0x79, + 0x61, 0x6D, 0x6F, 0x74, 0x6F, 0x05, 0x0D, 0x02, + 0x53, 0x68, 0x6F, 0x6B, 0x6F, 0x20, 0x4D, 0x75, + 0x72, 0x61, 0x6B, 0x61, 0x6D, 0x69, 0x05, 0x0D, + 0x0D, 0x0D, 0x0D, 0x02, 0x4D, 0x55, 0x53, 0x49, + 0x43, 0x20, 0x26, 0x20, 0x53, 0x4F, 0x55, 0x4E, + 0x44, 0x53, 0x05, 0x0D, 0x0D, 0x02, 0x54, 0x61, + 0x6B, 0x65, 0x73, 0x68, 0x69, 0x20, 0x41, 0x62, + 0x6F, 0x05, 0x0D, 0x0D, 0x0D, 0x0D, 0x02, 0x4A, + 0x41, 0x50, 0x41, 0x4E, 0x45, 0x53, 0x45, 0x20, + 0x54, 0x52, 0x41, 0x4E, 0x53, 0x4C, 0x41, 0x54, + 0x4F, 0x52, 0x05, 0x0D, 0x0D, 0x02, 0x59, 0x75, + 0x72, 0x69, 0x20, 0x49, 0x74, 0x6F, 0x05, 0x0D, + 0x0D, 0x0D, 0x0D, 0x02, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6C, 0x20, 0x74, 0x68, 0x61, 0x6E, + 0x6B, 0x73, 0x20, 0x74, 0x6F, 0x3A, 0x05, 0x0D, + 0x0D, 0x02, 0x48, 0x69, 0x72, 0x6F, 0x6B, 0x6F, + 0x20, 0x59, 0x6F, 0x72, 0x6F, 0x69, 0x7A, 0x75, + 0x6B, 0x61, 0x05, 0x0D, 0x02, 0x59, 0x75, 0x6A, + 0x69, 0x20, 0x4F, 0x64, 0x61, 0x77, 0x61, 0x72, + 0x61, 0x05, 0x0D, 0x02, 0x4F, 0x68, 0x73, 0x68, + 0x75, 0x6E, 0x20, 0x4C, 0x65, 0x65, 0x05, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x01, 0x43, + 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x28, 0x43, 0x29, 0x20, 0x31, 0x39, 0x39, + 0x33, 0x2C, 0x20, 0x57, 0x65, 0x73, 0x74, 0x77, + 0x6F, 0x6F, 0x64, 0x20, 0x53, 0x74, 0x75, 0x64, + 0x69, 0x6F, 0x73, 0x2C, 0x20, 0x49, 0x6E, 0x63, + 0x2E, 0x05, 0x0D, 0x01, 0x43, 0x6F, 0x70, 0x79, + 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x43, + 0x29, 0x20, 0x31, 0x39, 0x39, 0x34, 0x2C, 0x20, + 0x53, 0x74, 0x61, 0x72, 0x43, 0x72, 0x61, 0x66, + 0x74, 0x2C, 0x49, 0x6E, 0x63, 0x2E, 0x05, 0x0D, + 0x01, 0x41, 0x6C, 0x6C, 0x20, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x2E, 0x05, 0x0D, 0x0D, + 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x00 +}; + +static const ByteProvider kLoLCreditsPC98Provider = { ARRAYSIZE(kLoLCreditsPC98), kLoLCreditsPC98 }; + diff --git a/devtools/create_kyradat/resources/lol_pc98_japanese.h b/devtools/create_kyradat/resources/lol_pc98_japanese.h new file mode 100644 index 0000000000..e4e6f18347 --- /dev/null +++ b/devtools/create_kyradat/resources/lol_pc98_japanese.h @@ -0,0 +1,68 @@ +static const LoLCharacter kLoLCharacterDefsPC98Japanese[9] = { + { 0x0001, "\x83""}""\x83""C""\x83""P""\x83\x8B", 0, -1, 0, 0, 17, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 20, 20, 6, 6, 0, 0, 0, 384, 320, 5, 2, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""e""\x83""B""\x83\x82\x83""V""\x81""[", 0, 2, 0, 0, 22, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 27, 27, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 93, 131, 0, 0, 0, 153, 0, 0, 162, 0, 0 }, + { 3, 2, 1 }, { 0, 0, 0 }, { 2500, 1000, 250 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""o""\x83""R""\x81""[""\x83""^", 3, 3, 0, 0, 23, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 22, 22, 18, 18, 0, 0, 0, 256, 256, 0, 0, 0, + { 108, 149, 0, 0, 145, 153, 0, 0, 129, 0, 0 }, + { 1, 1, 3 }, { 0, 0, 0 }, { 1, 1, 4000 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83\x8D\x81""[""\x83\x89", 1, 4, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 25, 48, 5, 5, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 137, 0, 0, 162, 0, 0 }, + { 1, 4, 1 }, { 0, 0, 0 }, { 1, 15001, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""R""\x83\x93\x83\x89\x83""b""\x83""h", 0, -5, 0, 0, 26, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 10, 10, 0, 0, 0, 366, 358, 2, 3, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""|""\x81""[""\x83\x8B\x83""\\""\x83\x93", 0, 6, 0, 0, 25, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 105, 105, 45, 45, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 5, 2, 3 }, { 0, 0, 0 }, { 40000, 501, 3500 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""h""\x81""[""\x83\x93", 1, 7, 0, 0, 24, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 50, 50, 80, 80, 0, 0, 0, 256, 256, 0, 0, 0, + { 0, 0, 0, 0, 0, 138, 0, 0, 129, 0, 0 }, + { 1, 2, 10 }, { 1, 254, 177 }, { 1, 501, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""L""\x81""[""\x83\x89\x83\x93", 2, -8, 0, 0, 21, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 23, 23, 8, 8, 0, 0, 0, 422, 332, 5, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }, + { 0x0001, "\x83""A""\x83""N""\x83""V""\x83""F""\x83\x8B", 4, -9, 0, 0, 20, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 256, 256, 256, 256, 256, 256, 256, 256 }, + 0, 28, 28, 32, 32, 0, 0, 0, 320, 256, 1, 1, 0, + { 44, 0, 0, 0, 0, 138, 0, 0, 162, 0, 0 }, + { 1, 1, 1 }, { 0, 0, 0 }, { 1, 1, 1 }, + { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } } +}; + +static const LoLCharacterProvider kLoLCharacterDefsPC98JapaneseProvider = { ARRAYSIZE(kLoLCharacterDefsPC98Japanese), kLoLCharacterDefsPC98Japanese }; + diff --git a/devtools/create_kyradat/resources/mr_dos_cd.h b/devtools/create_kyradat/resources/mr_dos_cd.h new file mode 100644 index 0000000000..9dffa33a1d --- /dev/null +++ b/devtools/create_kyradat/resources/mr_dos_cd.h @@ -0,0 +1,556 @@ +static const char *const k3MainMenuStringsDOSCD[12] = { + "Start a new game", + "Introduction", + "Load a game", + "Exit the game", + "Nouvelle Partie", + "Introduction", + "Charger une partie", + "Quitter le jeu", + "Neues Spiel starten", + "Intro", + "Spielstand laden", + "Spiel beenden" +}; + +static const StringListProvider k3MainMenuStringsDOSCDProvider = { ARRAYSIZE(k3MainMenuStringsDOSCD), k3MainMenuStringsDOSCD }; + +static const char *const k3MusicFilesDOSCD[43] = { + "ARREST1", + "BATH1", + "OCEAN1", + "CLOWN1", + "DARM2", + "FALL1M", + "FALL2", + "FISH1", + "FISHWNDR", + "HERMAN1", + "JAIL1", + "JUNGLE1", + "KATHY1", + "NICESINE", + "PEGASUS1", + "PIRATE1", + "PIRATE2", + "PIRATE3", + "POP3", + "PORT1", + "QUEEN1", + "RUINS1", + "SNAKES1", + "SPRING1", + "STATUE1", + "STATUE2", + "TITLE1", + "UNDER1", + "WALKCHP1", + "YANK1", + "ZAN2", + "GROOVE2", + "GROOVE3", + "KING1", + "KING2", + "GROOVE1", + "JAIL2", + "SPIRIT1", + "SPRING1A", + "POP1", + "POP2", + "SQUIRL1", + "" +}; + +static const StringListProvider k3MusicFilesDOSCDProvider = { ARRAYSIZE(k3MusicFilesDOSCD), k3MusicFilesDOSCD }; + +static const byte k3ScoreTableDOSCD[200] = { + 0x0A, 0x08, 0x05, 0x09, 0x0A, 0x0A, 0x07, 0x08, + 0x09, 0x09, 0x08, 0x08, 0x07, 0x08, 0x05, 0x09, + 0x06, 0x0A, 0x07, 0x08, 0x05, 0x09, 0x06, 0x06, + 0x07, 0x08, 0x05, 0x09, 0x06, 0x08, 0x07, 0x08, + 0x05, 0x09, 0x06, 0x0A, 0x07, 0x08, 0x05, 0x05, + 0x05, 0x07, 0x05, 0x07, 0x0A, 0x05, 0x0A, 0x05, + 0x05, 0x08, 0x06, 0x08, 0x07, 0x05, 0x05, 0x08, + 0x06, 0x09, 0x05, 0x07, 0x06, 0x05, 0x05, 0x07, + 0x07, 0x07, 0x06, 0x05, 0x08, 0x06, 0x0A, 0x05, + 0x07, 0x05, 0x0A, 0x05, 0x05, 0x05, 0x05, 0x07, + 0x05, 0x08, 0x09, 0x07, 0x07, 0x06, 0x0A, 0x06, + 0x05, 0x0A, 0x08, 0x05, 0x08, 0x06, 0x0A, 0x05, + 0x05, 0x08, 0x08, 0x05, 0x07, 0x07, 0x07, 0x06, + 0x08, 0x09, 0x08, 0x08, 0x06, 0x05, 0x07, 0x06, + 0x05, 0x08, 0x0F, 0x07, 0x09, 0x06, 0x06, 0x08, + 0x05, 0x08, 0x0F, 0x0F, 0x05, 0x0F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k3ScoreTableDOSCDProvider = { ARRAYSIZE(k3ScoreTableDOSCD), k3ScoreTableDOSCD }; + +static const char *const k3SfxFilesDOSCD[225] = { + "ALARM1", + "ARMOIRE1", + "ARROW1", + "AUDLAFF1", + "AUDLAFF2", + "AUDLAFF3", + "AUDLAFF4", + "AUDLAFF5", + "AUDLAFF6", + "AUDLAFF7", + "AUDLAFF8", + "AUDLAFF9", + "BARK22A", + "BEAM1", + "BEDSQK1", + "BEDSQK2", + "BIGCLOK1", + "BIGDOR2", + "BIRD4", + "BIRD122", + "BIRD222", + "BIRD322", + "BLAST22D", + "BLINK1", + "BOATMIX1", + "BODYFAL1", + "BOTLBLOW", + "BOUNCE3", + "BOUNCE5", + "BOW2", + "BUBL1", + "BUBL2", + "BUBL3", + "BUBL4", + "BUTTON1", + "BUTTON2", + "CANNON1", + "CASHREG1", + "CATHY1", + "CHAIN1", + "CHATTER1", + "CHATTER2", + "CHEESE1", + "CHICHIC2", + "CHIPLAF1", + "CHIPROR1", + "CLANG1", + "CLDOOR1", + "CLEAT1", + "CLOTHES1", + "COIN2", + "COUNTER1", + "CREAK1", + "CREAK2", + "CREAK3", + "CRIKT22A", + "CRMAD1", + "CRNORM1", + "CRUMBLE1", + "CRUNCH1", + "CRYSTAL1", + "DFLY1", + "DIAL1", + "DIGDIRT1", + "DIZZY1", + "DODO1", + "DOORBELL", + "DOORCL1", + "DOOROP1", + "DRIP1", + "DROPITM1", + "EAT22A", + "EATNUT1", + "ELEC1", + "EXPLODE2", + "FALL1", + "FALLM2", + "FALLM3", + "FESTRE1", + "FISHLAF2", + "FLAG22A", + "FLAG22B", + "FLAG22C", + "FLPOOF1", + "FOLDER1", + "FROG1", + "FROGJMP1", + "FSHBUBL1", + "FUNNEL1", + "FUSE1", + "GATE22A", + "GEM1", + "GEMFIRE1", + "GEMLIT1", + "GEMPUT1", + "GEMRAIN1", + "GEMWND1", + "GIRLLAF1", + "GIRLLAF2", + "GLASBRK1", + "GLOWY1", + "GOODK33", + "GROWTWIG", + "GUNTHER3", + "H2ODROP2", + "H2OFALL1", + "HAMMER1", + "HAYFALL2", + "HERMMAG1", + "HIPRES1", + "HITHED22", + "HOWL1", + "HUM1", + "HYPNO1", + "HYPNO2", + "IMPACT1", + "JOHAN1", + "JUNGAMB2", + "KISS1", + "KISS2", + "KNIFE", + "KNIFHIT1", + "KNIFSTAB", + "KNOCK", + "LAND1", + "LEVIBAB1", + "LEVIMAN1", + "LID", + "MACHMIX1", + "MALCFALL", + "MALCYAWN", + "MJUMP1", + "MOO1", + "MOO2", + "MOO3", + "MORPH1", + "MORPH2", + "MORPH3", + "MORPH4", + "MOTHS1", + "MSPLASH1", + "MTLSLAM1", + "MUDBATH1", + "NAIL1", + "NEIGH1", + "NETCATCH", + "NETMAL1", + "NETRIP1", + "OPDOOR1", + "OWL1", + "OWL2", + "PEDAL3", + "PEGWING1", + "PICKUP1", + "PLUCK3", + "POLGULP1", + "POOF1", + "PORTAL1", + "POURH2O1", + "PRIMOR1", + "PUMP1", + "PUNCTRE1", + "RATTLE1", + "REV2", + "RING", + "ROAR3", + "ROWBOAT1", + "RUCKUS1", + "RUMBLE1", + "SCOLD1", + "SCRATCH1", + "SHOVEL1", + "SHOWER2", + "SLOTPUL1", + "SNAKKILL", + "SNAP1", + "SNIFF1", + "SNIFF2", + "SNIFFM1", + "SNIP22B", + "SNORIN1", + "SNOROUT1", + "SNORT1", + "SPITBAL1", + "SPITBAL2", + "SPLASH1", + "SQUEAK1", + "SQUEAK2", + "SQUEAK3", + "STATUE", + "STAMPED1", + "STARS1", + "STONE1", + "STONE2", + "STONE3", + "STRETCH1", + "STRETCH2", + "SUNRISE1", + "SWALLOW1", + "SWALLOW2", + "SWAV22B", + "TELBEL1", + "TELBEL2", + "TENNIS1", + "THROW1", + "THUMP1", + "TOILET1", + "TRAPDOR1", + "TRICKLE", + "TROLGRNT", + "TROLYEL1", + "TROLYEL2", + "TUBEDOR1", + "TWIGSNAP", + "UMBRLA1", + "UNLOK22A", + "VACUUM", + "WAVELT1", + "WHIP1", + "WHIP2", + "WOODHIT1", + "YAWN1", + "ZING", + "ZIPPER1", + "" +}; + +static const StringListProvider k3SfxFilesDOSCDProvider = { ARRAYSIZE(k3SfxFilesDOSCD), k3SfxFilesDOSCD }; + +static const byte k3SfxMapDOSCD[608] = { + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x99, 0x00, + 0x46, 0x00, 0xA9, 0x00, 0x33, 0x00, 0x65, 0x00, + 0x9B, 0x00, 0x17, 0x00, 0xBB, 0x00, 0x64, 0x00, + 0x55, 0x00, 0xD5, 0x00, 0x66, 0x00, 0xB9, 0x00, + 0x9A, 0x00, 0xFF, 0x00, 0xCC, 0x00, 0x67, 0x00, + 0x2E, 0x00, 0xA1, 0x00, 0xD0, 0x00, 0x63, 0x00, + 0x89, 0x00, 0xBE, 0x00, 0x80, 0x00, 0x1D, 0x00, + 0x02, 0x00, 0x28, 0x00, 0x91, 0x00, 0x29, 0x00, + 0xCE, 0x00, 0x8F, 0x00, 0x49, 0x00, 0x2B, 0x00, + 0x2D, 0x00, 0x2C, 0x00, 0x3E, 0x00, 0x22, 0x00, + 0x80, 0x00, 0x9C, 0x00, 0x2E, 0x00, 0x04, 0x00, + 0x47, 0x00, 0xA8, 0x00, 0x51, 0x00, 0x52, 0x00, + 0x80, 0x00, 0x48, 0x00, 0x38, 0x0A, 0x0C, 0x00, + 0xD8, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD3, 0x00, + 0xD1, 0x00, 0x6A, 0x00, 0x8A, 0x00, 0xC0, 0x00, + 0xC1, 0x00, 0xC2, 0x00, 0x9F, 0x00, 0xA3, 0x00, + 0x90, 0x00, 0xB6, 0x00, 0x37, 0x00, 0x71, 0x00, + 0x13, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x6E, 0x00, + 0x70, 0x00, 0x11, 0x00, 0x16, 0x00, 0x14, 0x00, + 0x43, 0x00, 0xCD, 0x00, 0xAA, 0x00, 0x15, 0x00, + 0x83, 0x00, 0x19, 0x00, 0xB3, 0x00, 0x6F, 0x00, + 0x26, 0x00, 0xC8, 0x00, 0xA7, 0x00, 0x98, 0x00, + 0x87, 0x00, 0xC7, 0x00, 0xA2, 0x00, 0xB0, 0x00, + 0x12, 0x00, 0xD7, 0x00, 0x56, 0x00, 0x45, 0x00, + 0x4B, 0x00, 0xAF, 0x00, 0x3B, 0x00, 0x6C, 0x00, + 0x8E, 0x00, 0x39, 0x00, 0x38, 0x00, 0x92, 0x00, + 0x4B, 0x00, 0xD0, 0x00, 0x4A, 0x00, 0x9D, 0x00, + 0x7F, 0x00, 0x6D, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x3D, 0x00, 0x72, 0x00, 0x40, 0x00, 0x66, 0x00, + 0x01, 0x00, 0xA5, 0x00, 0x00, 0x00, 0x3C, 0x00, + 0xAC, 0x00, 0x38, 0x00, 0x8B, 0x00, 0xDF, 0x00, + 0x0E, 0x00, 0x54, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x94, 0x00, 0xAB, 0x00, 0x76, 0x00, 0x58, 0x00, + 0x6B, 0x00, 0x27, 0x00, 0xFF, 0x00, 0x77, 0x00, + 0xA6, 0x00, 0x63, 0x00, 0x9E, 0x00, 0xDE, 0x00, + 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x3F, 0x00, + 0xCC, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0x93, 0x00, + 0x9D, 0x00, 0x75, 0x00, 0x75, 0x00, 0x75, 0x00, + 0x75, 0x00, 0x3A, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xAE, 0x00, 0x8C, 0x00, 0x20, 0x00, + 0xFF, 0x00, 0x32, 0x00, 0x32, 0x00, 0xFF, 0x00, + 0x4D, 0x00, 0xD9, 0x00, 0x88, 0x00, 0x4D, 0x00, + 0x4D, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0xA0, 0x00, + 0x4C, 0x00, 0x8C, 0x00, 0x4C, 0x00, 0x4C, 0x00, + 0x8C, 0x00, 0x8C, 0x00, 0x5C, 0x00, 0x5D, 0x00, + 0x60, 0x00, 0x5F, 0x00, 0xC5, 0x00, 0xBF, 0x00, + 0xFF, 0x00, 0x4F, 0x00, 0x16, 0x00, 0x59, 0x00, + 0xFF, 0x00, 0x24, 0x00, 0xA4, 0x00, 0xCF, 0x00, + 0xFF, 0x00, 0x47, 0x00, 0x95, 0x00, 0x96, 0x00, + 0x7B, 0x00, 0xBD, 0x00, 0xFF, 0x00, 0x34, 0x00, + 0x35, 0x00, 0x36, 0x00, 0xDE, 0x00, 0xFF, 0x00, + 0x4B, 0x00, 0xD6, 0x00, 0xFF, 0x00, 0x61, 0x00, + 0x62, 0x00, 0xFF, 0x00, 0x78, 0x00, 0xFF, 0x00, + 0x44, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0x42, 0x00, + 0x27, 0x00, 0xA2, 0x00, 0x27, 0x00, 0x5D, 0x00, + 0x7A, 0x00, 0x89, 0x00, 0x1A, 0x00, 0x0E, 0x00, + 0x82, 0x00, 0xFF, 0x00, 0x79, 0x00, 0x2A, 0x00, + 0x81, 0x00, 0xFF, 0x00, 0x74, 0x00, 0x4E, 0x00, + 0xB1, 0x00, 0x1B, 0x00, 0x2F, 0x00, 0xBA, 0x00, + 0xBB, 0x00, 0xBC, 0x00, 0xDA, 0x00, 0xDB, 0x00, + 0x18, 0x00, 0x5E, 0x00, 0x0D, 0x0A, 0x88, 0x00, + 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, + 0x69, 0x00, 0x1C, 0x00, 0x7C, 0x00, 0x30, 0x00, + 0xC3, 0x00, 0xC4, 0x00, 0xAD, 0x00, 0x25, 0x00, + 0x53, 0x00, 0xB7, 0x00, 0xB8, 0x00, 0xDC, 0x00, + 0x8D, 0x00, 0xCB, 0x00, 0xD4, 0x00, 0xB2, 0x00, + 0xDD, 0x00, 0x57, 0x00, 0x41, 0x00, 0x10, 0x00, + 0x4C, 0x00, 0xC9, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x7D, 0x00, 0x7E, 0x00, 0xCA, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x23, 0x00, 0x97, 0x00, 0x73, 0x00, 0x00, 0x00 +}; + +static const ByteProvider k3SfxMapDOSCDProvider = { ARRAYSIZE(k3SfxMapDOSCD), k3SfxMapDOSCD }; + +static const FrameControl k3ItemAnimDataDOSCD0FrameControl[3] = { + { 0x0003, 0x0019 }, + { 0x0048, 0x001E }, + { 0x0049, 0x001E } +}; + +static const FrameControl k3ItemAnimDataDOSCD1FrameControl[7] = { + { 0x003A, 0x000B }, + { 0x004B, 0x000B }, + { 0x004C, 0x000B }, + { 0x004D, 0x000B }, + { 0x004E, 0x000B }, + { 0x004F, 0x000B }, + { 0x0050, 0x000B } +}; + +static const FrameControl k3ItemAnimDataDOSCD2FrameControl[4] = { + { 0x0014, 0x000F }, + { 0x0051, 0x000F }, + { 0x0052, 0x000F }, + { 0x0053, 0x000F } +}; + +static const FrameControl k3ItemAnimDataDOSCD3FrameControl[4] = { + { 0x0013, 0x0014 }, + { 0x0054, 0x0014 }, + { 0x0055, 0x0014 }, + { 0x0056, 0x0014 } +}; + +static const FrameControl k3ItemAnimDataDOSCD4FrameControl[7] = { + { 0x0015, 0x0010 }, + { 0x0057, 0x0012 }, + { 0x0058, 0x0010 }, + { 0x0059, 0x0011 }, + { 0x005A, 0x0010 }, + { 0x005B, 0x0011 }, + { 0x005C, 0x0010 } +}; + +static const FrameControl k3ItemAnimDataDOSCD5FrameControl[4] = { + { 0x0009, 0x001E }, + { 0x005D, 0x001E }, + { 0x005E, 0x001E }, + { 0x005D, 0x001E } +}; + +static const FrameControl k3ItemAnimDataDOSCD6FrameControl[7] = { + { 0x0039, 0x0021 }, + { 0x005F, 0x0020 }, + { 0x0060, 0x001E }, + { 0x0061, 0x0020 }, + { 0x0062, 0x0021 }, + { 0x0063, 0x001E }, + { 0x0064, 0x0022 } +}; + +static const FrameControl k3ItemAnimDataDOSCD7FrameControl[34] = { + { 0x0040, 0x000C }, + { 0x006C, 0x0010 }, + { 0x006B, 0x0010 }, + { 0x006A, 0x000F }, + { 0x0069, 0x000F }, + { 0x0068, 0x000F }, + { 0x0067, 0x000F }, + { 0x0066, 0x000F }, + { 0x0065, 0x000F }, + { 0x0066, 0x0011 }, + { 0x0067, 0x0012 }, + { 0x0068, 0x0010 }, + { 0x0069, 0x000F }, + { 0x006A, 0x0010 }, + { 0x006B, 0x000F }, + { 0x006C, 0x0010 }, + { 0x006B, 0x000F }, + { 0x006A, 0x0010 }, + { 0x006B, 0x000F }, + { 0x006C, 0x0010 }, + { 0x006B, 0x000F }, + { 0x006A, 0x0010 }, + { 0x0069, 0x000F }, + { 0x0068, 0x0010 }, + { 0x0067, 0x0012 }, + { 0x0066, 0x0011 }, + { 0x0065, 0x00C8 }, + { 0x0066, 0x0011 }, + { 0x0067, 0x0012 }, + { 0x0068, 0x0010 }, + { 0x0069, 0x000F }, + { 0x006A, 0x0010 }, + { 0x006B, 0x000F }, + { 0x006C, 0x0010 } +}; + +static const FrameControl k3ItemAnimDataDOSCD8FrameControl[5] = { + { 0x002B, 0x0019 }, + { 0x008E, 0x0016 }, + { 0x008F, 0x0014 }, + { 0x0090, 0x0016 }, + { 0x0091, 0x0050 } +}; + +static const FrameControl k3ItemAnimDataDOSCD9FrameControl[6] = { + { 0x003B, 0x0258 }, + { 0x0092, 0x000A }, + { 0x0093, 0x000A }, + { 0x0094, 0x000A }, + { 0x0093, 0x000A }, + { 0x0092, 0x000A } +}; + +static const ItemAnimDefinition k3ItemAnimDataDOSCD[10] = { + { 3, 3, k3ItemAnimDataDOSCD0FrameControl }, + { 58, 7, k3ItemAnimDataDOSCD1FrameControl }, + { 20, 4, k3ItemAnimDataDOSCD2FrameControl }, + { 19, 4, k3ItemAnimDataDOSCD3FrameControl }, + { 21, 7, k3ItemAnimDataDOSCD4FrameControl }, + { 9, 4, k3ItemAnimDataDOSCD5FrameControl }, + { 57, 7, k3ItemAnimDataDOSCD6FrameControl }, + { 64, 34, k3ItemAnimDataDOSCD7FrameControl }, + { 43, 5, k3ItemAnimDataDOSCD8FrameControl }, + { 59, 6, k3ItemAnimDataDOSCD9FrameControl } +}; + +static const ItemAnimDefinitionProvider k3ItemAnimDataDOSCDProvider = { ARRAYSIZE(k3ItemAnimDataDOSCD), k3ItemAnimDataDOSCD }; + +static const byte k3ItemMagicTableDOSCD[36] = { + 0x06, 0x05, 0x07, 0xFE, 0x05, 0x06, 0x07, 0xFE, + 0x03, 0x00, 0x22, 0xFE, 0x00, 0x03, 0x22, 0xFE, + 0x10, 0x00, 0x20, 0x0F, 0x00, 0x10, 0x0F, 0x20, + 0x10, 0x22, 0x21, 0x0F, 0x22, 0x10, 0x0F, 0x21, + 0xFF, 0xFF, 0xFF, 0x00 +}; + +static const ByteProvider k3ItemMagicTableDOSCDProvider = { ARRAYSIZE(k3ItemMagicTableDOSCD), k3ItemMagicTableDOSCD }; + +static const byte k3ItemStringMapDOSCD[72] = { + 0x01, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, + 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02 +}; + +static const ByteProvider k3ItemStringMapDOSCDProvider = { ARRAYSIZE(k3ItemStringMapDOSCD), k3ItemStringMapDOSCD }; + diff --git a/devtools/create_kyradat/search.cpp b/devtools/create_kyradat/search.cpp deleted file mode 100644 index b861ff0f5a..0000000000 --- a/devtools/create_kyradat/search.cpp +++ /dev/null @@ -1,215 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -// Disable symbol overrides so that we can use system headers. -#define FORBIDDEN_SYMBOL_ALLOW_ALL - -#include "search.h" -#include "md5.h" - -#include <algorithm> -#include <cassert> - -Hasher::Hash Hasher::createHash(const byte *data, uint32 size) { - md5_context ctx; - md5_starts(&ctx); - md5_update(&ctx, data, size); - - Hash hash; - md5_finish(&ctx, hash.digest); - return hash; -} - -SearchData SearchCreator::create(const char *filename) { - FILE *f = fopen(filename, "rb"); - assert(f); - - SearchData data; - data.size = fileSize(f); - - byte *buffer = new byte[data.size]; - fread(buffer, 1, data.size, f); - fclose(f); - - data = create(buffer, data.size); - delete[] buffer; - - return data; -} - -SearchData SearchCreator::create(const byte *buffer, uint32 size) { - SearchData data; - - data.size = size; - data.hash = Hasher::createHash(buffer, data.size); - data.byteSum = 0; - - for (uint32 i = 0; i < data.size; ++i) - data.byteSum += buffer[i]; - - return data; -} - -SumCreator::SumCreator(InputList list, const DataInput &input) : _curOffset(0), _input(input), _sums() { - // Sort in ascending order - list.sort(std::less<uint32>()); - - uint32 byteSum = 0; - uint32 oldSize = 0; - - for (InputList::const_iterator i = list.begin(); i != list.end(); ++i) { - // Strip out entries, which exceed the buffer size - if (*i > _input.size()) - continue; - - // Strip out duplicates - if (_sums.find(*i) != _sums.end()) - continue; - - // Only add the bytes exceeding the old sum's size - // to the sum. This saves a few accesses. - for (uint32 j = oldSize; j < *i; ++j) - byteSum += _input[j]; - - _sums[*i] = byteSum; - - // Save this sum's size - oldSize = *i; - } -} - -bool SumCreator::nextByte() { - // Calculate the bytes available for summing. We need to add - // 1 here, since we will only update the offset AFTER everything - // is done. - const uint32 sizeLeft = _input.size() - (_curOffset + 1); - - if (!sizeLeft) { - _sums.clear(); - return false; - } - - // Grab the old first byte. - const byte firstByte = _input[_curOffset]; - - typedef std::list<uint32> DeletionList; - DeletionList toRemove; - - for (SumMap::iterator i = _sums.begin(); i != _sums.end(); ++i) { - // If this entry needs to sum up a larger buffer than the buffer - // size left, we will remove the entry and continue to the next - // one. - if (i->first > sizeLeft) { - // Add the current entry to the removal list. - toRemove.push_back(i->first); - continue; - } - - // Update the byte sum. First we remove the old first byte - // from the sum, next we add the next available byte. - i->second -= firstByte; - i->second += _input[_curOffset + i->first]; - } - - // Remove all entries flagged for removal - for (DeletionList::const_iterator i = toRemove.begin(); i != toRemove.end(); ++i) - _sums.erase(*i); - - // Update out offset. - ++_curOffset; - - // We return whether there are still some sums left available. - return !_sums.empty(); -} - -bool SumCreator::hasSum(uint32 size) const { - return _sums.find(size) != _sums.end(); -} - -uint32 SumCreator::getSum(uint32 size) const { - SumMap::const_iterator s = _sums.find(size); - - if (s == _sums.end()) - return 0; - - return s->second; -} - -Search::Search(const char *filename) : _data(), _search() { - FILE *src = fopen(filename, "rb"); - assert(src); - - uint32 size = fileSize(src); - byte *data = new byte[size]; - fread(data, 1, size, src); - fclose(src); - - _data.resize(size); - std::copy(data, data + size, _data.begin()); - delete[] data; -} - -Search::Search(const byte *data, uint32 size) : _data(), _search() { - _data.resize(size); - std::copy(data, data + size, _data.begin()); -} - -void Search::addData(SearchData data) { - // Do not add any duplicates - if (std::find(_search.begin(), _search.end(), data) != _search.end()) - return; - - _search.push_back(data); -} - -bool Search::search(ResultList &res) { - SumCreator::InputList list; - for (SearchList::const_iterator i = _search.begin(); i != _search.end(); ++i) - list.push_back(i->size); - - SumCreator sum(list, _data); - list.clear(); - - do { - const uint32 offset = sum.getOffset(); - - for (SearchList::iterator i = _search.begin(); i != _search.end(); ) { - if (!sum.hasSum(i->size)) { - i = _search.erase(i); - continue; - } - - const uint32 byteSum = sum.getSum(i->size); - if (byteSum == i->byteSum) { - if (Hasher::createHash(&_data[offset], i->size) == i->hash) { - res.push_back(ResultData(*i, offset)); - i = _search.erase(i); - continue; - } - } - - ++i; - } - } while (sum.nextByte()); - - return !res.empty(); -} diff --git a/devtools/create_kyradat/search.h b/devtools/create_kyradat/search.h deleted file mode 100644 index a9e8ee2726..0000000000 --- a/devtools/create_kyradat/search.h +++ /dev/null @@ -1,116 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#ifndef SEARCH_H -#define SEARCH_H - -#include "util.h" - -#include <list> -#include <map> -#include <vector> -#include <cstring> - -class Hasher { -public: - struct Hash { - uint8 digest[16]; - - bool operator==(const Hash &r) const { - return !std::memcmp(digest, r.digest, sizeof(digest)); - } - - bool operator<(const Hash &r) const { - return std::memcmp(digest, r.digest, sizeof(digest)) < 0; - } - }; - - static Hash createHash(const byte *data, uint32 size); -}; - -struct SearchData { - uint32 size; - - uint32 byteSum; - Hasher::Hash hash; - - bool operator==(const SearchData &r) const { - return (size == r.size && byteSum == r.byteSum && hash == r.hash); - } - - bool operator<(const SearchData &r) const { - return (size < r.size && byteSum < r.byteSum && hash < r.hash); - } -}; - -class SearchCreator { -public: - static SearchData create(const char *filename); - static SearchData create(const byte *buffer, uint32 size); -}; - -class SumCreator { -public: - typedef std::list<uint32> InputList; - typedef std::vector<byte> DataInput; - - SumCreator(InputList list, const DataInput &input); - - bool nextByte(); - - uint32 getOffset() const { return _curOffset; } - - bool hasSum(uint32 size) const; - uint32 getSum(uint32 size) const; -private: - uint32 _curOffset; - DataInput _input; - - typedef std::map<uint32, uint32> SumMap; - SumMap _sums; -}; - -class Search { -public: - Search(const char *filename); - Search(const byte *data, uint32 size); - - void addData(SearchData data); - - struct ResultData { - SearchData data; - uint32 offset; - - ResultData() : data(), offset() {} - ResultData(SearchData d, uint32 o) : data(d), offset(o) {} - }; - - typedef std::list<ResultData> ResultList; - bool search(ResultList &res); -private: - SumCreator::DataInput _data; - - typedef std::list<SearchData> SearchList; - SearchList _search; -}; - -#endif diff --git a/devtools/create_kyradat/tables.cpp b/devtools/create_kyradat/tables.cpp deleted file mode 100644 index 15f8240e79..0000000000 --- a/devtools/create_kyradat/tables.cpp +++ /dev/null @@ -1,4479 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -// Disable symbol overrides so that we can use system headers. -#define FORBIDDEN_SYMBOL_ALLOW_ALL - -#include "tables.h" -#include "create_kyradat.h" -#include "common/language.h" -#include "common/platform.h" - -#define EXTRACT_END_ENTRY { UNK_LANG, kPlatformUnknown, { 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } } - -namespace { - -// Id provider tables - -const ExtractEntrySearchData k1ForestSeqProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000195, 0x00001455, { { 0x86, 0xC2, 0x45, 0xEB, 0x16, 0x8A, 0x44, 0x73, 0xB4, 0x59, 0x13, 0x9B, 0x85, 0x40, 0x82, 0x81 } } } }, // floppy - { UNK_LANG, kPlatformUnknown, { 0x000002DE, 0x00003946, { { 0x85, 0x79, 0xDC, 0xB8, 0x62, 0xAD, 0xD6, 0x01, 0xA5, 0x66, 0x6B, 0xC4, 0x61, 0xCA, 0x82, 0xF5 } } } }, // CD + Amiga - - { UNK_LANG, kPlatformUnknown, { 0x00000273, 0x00001D80, { { 0x18, 0x32, 0xB7, 0xFB, 0xD8, 0x1A, 0x6D, 0x83, 0x75, 0xF5, 0x2B, 0xF7, 0xC0, 0xFD, 0x85, 0xEF } } } }, // Amiga + CD demo - - { UNK_LANG, kPlatformFMTowns, { 0x00000196, 0x00001468, { { 0x06, 0x8D, 0xC1, 0x9B, 0xBC, 0x28, 0xE8, 0x36, 0x43, 0x67, 0x34, 0xAA, 0x78, 0xB9, 0xCB, 0x72 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x0000013B, 0x0000128A, { { 0xD8, 0xB1, 0xFF, 0x57, 0xC9, 0x5D, 0xE1, 0x23, 0xA5, 0xA0, 0x4B, 0x0F, 0x28, 0xAC, 0x56, 0x83 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1KallakWritingSeqProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000007F5, 0x00006DCD, { { 0x0E, 0x0A, 0x75, 0xA5, 0x71, 0x5A, 0xC6, 0x32, 0x52, 0x7F, 0xEC, 0x2B, 0x0B, 0xF2, 0x22, 0xE6 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000805, 0x0000719E, { { 0xA2, 0xFE, 0x0A, 0xAA, 0xD9, 0x43, 0x5A, 0xBE, 0x56, 0x38, 0x73, 0x42, 0xAC, 0xA9, 0x1B, 0x01 } } } }, // CD - - { UNK_LANG, kPlatformAmiga, { 0x000007F4, 0x00006DAD, { { 0x84, 0x9D, 0x82, 0xD2, 0x4E, 0x8B, 0xE2, 0x86, 0x82, 0x5E, 0xE7, 0x2C, 0x7A, 0xD6, 0xFE, 0x19 } } } }, - - { UNK_LANG, kPlatformFMTowns, { 0x000007F7, 0x00006E23, { { 0x97, 0x8C, 0x63, 0x8D, 0x91, 0x68, 0xA5, 0x63, 0x55, 0x43, 0xE7, 0xE0, 0x12, 0xF9, 0x80, 0xA4 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x000007F3, 0x00006D9E, { { 0x3E, 0x83, 0xA4, 0xBF, 0x43, 0xAC, 0xDD, 0x41, 0x33, 0xC3, 0x33, 0x4E, 0xAE, 0x08, 0xB6, 0xDA } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1KyrandiaLogoSeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000005C, 0x000003D3, { { 0x75, 0xC5, 0x55, 0x54, 0x00, 0xD7, 0xE9, 0x26, 0x0F, 0x01, 0xB1, 0xB7, 0xA9, 0x29, 0xF7, 0x69 } } } }, - { UNK_LANG, kPlatformDOS, { 0x000000A6, 0x00000A09, { { 0x70, 0x6E, 0x74, 0xBB, 0xD7, 0x09, 0x05, 0xDD, 0xA3, 0x09, 0x96, 0x40, 0xBD, 0x01, 0x19, 0x05 } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x00000054, 0x00000300, { { 0x4E, 0xAD, 0xD0, 0x73, 0xD2, 0x3C, 0xF6, 0x6B, 0x65, 0x23, 0xA2, 0x30, 0xD6, 0xEE, 0x1C, 0x13 } } } }, // demo - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1KallakMalcolmSeqProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000026B, 0x00002132, { { 0x51, 0x07, 0x32, 0xA2, 0x09, 0x47, 0x97, 0x02, 0x85, 0x31, 0x39, 0x93, 0x3A, 0x53, 0x47, 0xA5 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000267, 0x00002100, { { 0xD9, 0x5E, 0x59, 0xF0, 0x7B, 0xC8, 0xF1, 0x40, 0x4F, 0x68, 0x6F, 0xEC, 0xB5, 0xE8, 0x88, 0xE2 } } } }, // floppy - { UNK_LANG, kPlatformUnknown, { 0x0000027B, 0x0000220A, { { 0xB7, 0xC1, 0x57, 0x04, 0x9B, 0x67, 0x82, 0x7B, 0x6E, 0xFD, 0x59, 0xF2, 0x10, 0x93, 0x89, 0x12 } } } }, // CD + Amiga - - { UNK_LANG, kPlatformUnknown, { 0x000002B8, 0x0000280B, { { 0x98, 0xC8, 0x36, 0x8C, 0xF8, 0x92, 0xC2, 0xB9, 0x1B, 0x71, 0x6B, 0x4C, 0xA4, 0x6C, 0xF6, 0x30 } } } }, // Amiga + CD demo - - { UNK_LANG, kPlatformFMTowns, { 0x0000026D, 0x00002188, { { 0x7E, 0x3B, 0x06, 0x69, 0x11, 0x59, 0xBE, 0x42, 0xCB, 0x33, 0x9C, 0x15, 0xCF, 0x61, 0xF6, 0xB0 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x0000026C, 0x00002145, { { 0x95, 0xB7, 0x9E, 0x63, 0x99, 0xFA, 0x22, 0xBF, 0x62, 0x37, 0xC2, 0x2B, 0x40, 0x73, 0x53, 0x83 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1MalcolmTreeSeqProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000216, 0x000014FB, { { 0xBA, 0x6F, 0x63, 0xD5, 0x44, 0xCE, 0xE8, 0x20, 0xD4, 0x4C, 0x06, 0x58, 0x21, 0x8E, 0x07, 0x8B } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000230, 0x0000192A, { { 0x28, 0xCC, 0x89, 0x40, 0x8A, 0xF7, 0xCB, 0xC0, 0x11, 0x8F, 0x0F, 0xE5, 0x5F, 0x24, 0x2D, 0x32 } } } }, // CD - - { UNK_LANG, kPlatformAmiga, { 0x00000214, 0x000014C4, { { 0xA2, 0x60, 0x16, 0x14, 0x20, 0xE4, 0x8D, 0x89, 0xC4, 0x30, 0x07, 0x21, 0xC9, 0x26, 0xA6, 0x84 } } } }, - - { UNK_LANG, kPlatformFMTowns, { 0x00000218, 0x00001551, { { 0x30, 0x42, 0xD3, 0x7D, 0x6B, 0x43, 0x3B, 0xC7, 0x63, 0x56, 0x7D, 0x12, 0xE0, 0x53, 0x41, 0x48 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x00000217, 0x0000150E, { { 0x41, 0xFC, 0xD3, 0xAC, 0x8D, 0x1C, 0x11, 0x4E, 0xE0, 0x0C, 0xF6, 0x93, 0xA9, 0x22, 0x53, 0x7F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1WestwoodLogoSeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000004B, 0x000002FE, { { 0x6E, 0xDA, 0x5D, 0x1E, 0xF4, 0x38, 0xAE, 0x7A, 0x9F, 0xBC, 0x00, 0x7C, 0x77, 0x9D, 0x03, 0xAF } } } }, - { UNK_LANG, kPlatformDOS, { 0x0000004B, 0x0000032A, { { 0x9A, 0x54, 0x6F, 0x6C, 0x70, 0xD1, 0x02, 0x94, 0xD1, 0xA1, 0xA7, 0xBE, 0x1B, 0x10, 0xBD, 0x2F } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x00000044, 0x00000243, { { 0x00, 0x11, 0x10, 0x64, 0x60, 0xE8, 0xB5, 0x59, 0x00, 0x60, 0xF5, 0x10, 0xB5, 0x63, 0x9D, 0x55 } } } }, // demo - - { UNK_LANG, kPlatformAmiga, { 0x0000004D, 0x00000319, { { 0xE9, 0x5D, 0xD4, 0x60, 0x4E, 0xA6, 0x92, 0x30, 0x9C, 0x77, 0x99, 0xBC, 0xB1, 0x97, 0xFB, 0xBD } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Demo1SeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000026, 0x0000016E, { { 0x61, 0xF2, 0x84, 0x42, 0x89, 0x6E, 0xB8, 0x0D, 0x01, 0xB7, 0xE4, 0x49, 0xA1, 0x72, 0xDC, 0x66 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Demo2SeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000023, 0x00000151, { { 0xE7, 0x9F, 0xA7, 0x80, 0xE3, 0xC1, 0x63, 0xF2, 0x3F, 0x7B, 0x64, 0xD9, 0x70, 0x3A, 0xF1, 0x55 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Demo3SeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000059, 0x000001A8, { { 0x9E, 0x90, 0x4F, 0x9E, 0xBC, 0x39, 0x37, 0xD1, 0x10, 0x67, 0x8C, 0xE5, 0x84, 0xFD, 0xD9, 0x7C } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Demo4SeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000013E, { { 0xB7, 0x67, 0x1D, 0x50, 0x11, 0xD0, 0x16, 0x91, 0x40, 0x40, 0xD1, 0xC0, 0xA0, 0x79, 0x3D, 0xCE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AmuleteAnimSeqProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002A, 0x0000025D, { { 0xB1, 0x59, 0x3C, 0x9A, 0x61, 0xC0, 0x1D, 0x80, 0xB5, 0x0C, 0x2E, 0xF9, 0xF6, 0x36, 0xED, 0x7D } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1OutroReunionSeqProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000547, 0x0000781C, { { 0xCF, 0xD6, 0x1D, 0x3D, 0x14, 0x40, 0x88, 0x35, 0x36, 0x4F, 0x0B, 0x1F, 0x9A, 0x1C, 0x3D, 0xAC } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000547, 0x000077E0, { { 0x80, 0xC4, 0xFC, 0xD5, 0xEB, 0xAA, 0xA5, 0x87, 0x58, 0x5E, 0xAA, 0xE7, 0x01, 0x8F, 0x59, 0x3F } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x000005E5, 0x00008918, { { 0x6A, 0x33, 0x8C, 0xB0, 0x16, 0x57, 0x2D, 0xEB, 0xB2, 0xE1, 0x64, 0x80, 0x98, 0x99, 0x98, 0x19 } } } }, // CD - - { UNK_LANG, kPlatformAmiga, { 0x0000054A, 0x0000785F, { { 0x55, 0xEA, 0xB8, 0x7F, 0x3A, 0x86, 0xCD, 0xA6, 0xBC, 0xA7, 0x9A, 0x39, 0xED, 0xF5, 0x30, 0x0A } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x00000547, 0x00007876, { { 0x7A, 0xC7, 0x80, 0x34, 0x7A, 0x1B, 0xAB, 0xF8, 0xA7, 0x2F, 0x63, 0x3C, 0xDA, 0x89, 0x3F, 0x82 } } } }, // some floppy DOS + FM-TOWNS - - { UNK_LANG, kPlatformPC98, { 0x00000548, 0x00007889, { { 0x17, 0xE9, 0x40, 0xBA, 0x4A, 0xBD, 0xC6, 0x62, 0x56, 0x96, 0xD6, 0x1B, 0x11, 0xF3, 0xD8, 0x14 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1IntroCPSStringsProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00000015, 0x0000071D, { { 0x59, 0x65, 0x08, 0xF9, 0x4C, 0x81, 0xA1, 0xE3, 0x68, 0xF7, 0xE3, 0xF6, 0x33, 0x5F, 0xF5, 0x36 } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x00000014, 0x0000071D, { { 0xBA, 0xB6, 0x58, 0xB3, 0x28, 0x5E, 0x9F, 0x77, 0x69, 0x9D, 0x77, 0x53, 0x9D, 0x0D, 0xB0, 0x29 } } } }, // floppy + PC98 - { UNK_LANG, kPlatformDOS, { 0x00000015, 0x00000786, { { 0xCF, 0x09, 0xE1, 0xD9, 0x8E, 0x34, 0x5D, 0xEA, 0xBC, 0xAC, 0xC4, 0xF4, 0x4A, 0xEC, 0xFF, 0xC1 } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x00000019, 0x000008DB, { { 0x3A, 0xDC, 0x1D, 0xAD, 0xF4, 0x5E, 0xC9, 0x19, 0xE9, 0x84, 0xD1, 0x31, 0x89, 0x6B, 0x6C, 0xF7 } } } }, // Old floppy - { UNK_LANG, kPlatformDOS, { 0x0000000C, 0x00000413, { { 0xA1, 0xE3, 0x06, 0x53, 0x23, 0x9A, 0xE0, 0xF1, 0xE4, 0xFD, 0xD9, 0x05, 0x22, 0xA6, 0x28, 0x46 } } } }, // demo - - { UNK_LANG, kPlatformAmiga, { 0x00000016, 0x0000070A, { { 0xD9, 0xDB, 0x91, 0xCD, 0x93, 0x81, 0xC4, 0x3F, 0x14, 0xF1, 0xC5, 0x02, 0xE7, 0x3F, 0x3A, 0x6C } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1IntroCOLStringsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000F09, { { 0x05, 0x7B, 0x69, 0xB7, 0x6A, 0xC3, 0x7F, 0xD9, 0x7E, 0x51, 0x87, 0xA5, 0x31, 0xD8, 0x80, 0xB3 } } } }, - { UNK_LANG, kPlatformUnknown, { 0x0000002B, 0x00000F09, { { 0x01, 0x40, 0x65, 0xC1, 0x33, 0xAA, 0x64, 0xA7, 0x44, 0xD5, 0x89, 0x68, 0x17, 0x47, 0xC7, 0x1D } } } }, // floppy(?) + PC98 - { UNK_LANG, kPlatformDOS, { 0x00000046, 0x0000174F, { { 0xAA, 0x59, 0x01, 0x20, 0x06, 0xB4, 0x80, 0xC0, 0x84, 0x38, 0xFD, 0x97, 0xBF, 0x78, 0xDD, 0x78 } } } }, // demo - - { UNK_LANG, kPlatformAmiga, { 0x0000002E, 0x00000F09, { { 0x2A, 0x42, 0xB8, 0x4E, 0xC6, 0xF0, 0x5F, 0x4A, 0x08, 0xB4, 0xE3, 0xE5, 0xBD, 0x32, 0x11, 0x06 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1IntroWSAStringsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000093, 0x00002E5D, { { 0xAB, 0xD1, 0x32, 0x89, 0x2A, 0x8D, 0xC0, 0x2C, 0x87, 0x87, 0xA3, 0x14, 0x2A, 0x2A, 0x22, 0x7F } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x00000086, 0x00002E5D, { { 0xD2, 0x8D, 0x62, 0xEF, 0xEB, 0x75, 0x04, 0x13, 0x64, 0x85, 0x6B, 0x6C, 0xE8, 0x6C, 0xCF, 0x52 } } } }, - { UNK_LANG, kPlatformDOS, { 0x0000004D, 0x00001AEC, { { 0x15, 0xBC, 0x8C, 0xD9, 0x33, 0x0C, 0xC5, 0x66, 0x87, 0x3B, 0x76, 0xEE, 0x0C, 0x41, 0x4D, 0x1F } } } }, // demo - - { UNK_LANG, kPlatformUnknown, { 0x00000080, 0x00002E5D, { { 0x67, 0x03, 0x20, 0xDF, 0xAA, 0x3C, 0x6A, 0xB5, 0x45, 0xD0, 0x00, 0x2B, 0x30, 0xCC, 0x36, 0xB6 } } } }, // Amiga + CD Demo - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1IntroStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x000004F5, 0x0001A7B1, { { 0xC7, 0x65, 0x5B, 0x5A, 0x56, 0x43, 0x94, 0x55, 0x5B, 0x00, 0xFD, 0x5D, 0xF4, 0xB5, 0x04, 0x15 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x000004F6, 0x0001A7B1, { { 0xDE, 0x41, 0xB1, 0x98, 0xD5, 0xAD, 0x6B, 0xBA, 0x33, 0x04, 0x19, 0x5D, 0xCC, 0x07, 0xB5, 0x56 } } } }, // CD - { EN_ANY, kPlatformDOS, { 0x000002FA, 0x00010181, { { 0x48, 0xD3, 0x1B, 0x8E, 0x8D, 0xBC, 0x1F, 0x51, 0x35, 0x71, 0xE2, 0xAB, 0xC8, 0xBE, 0xFC, 0x88 } } } }, // demo - - { FR_FRA, kPlatformDOS, { 0x000005EF, 0x000207E6, { { 0xDC, 0x6C, 0x9A, 0x7C, 0x19, 0x45, 0x2B, 0x25, 0x84, 0xCC, 0xE1, 0x40, 0xFE, 0x8E, 0xF4, 0x51 } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x000005F0, 0x000207E6, { { 0xB8, 0x51, 0xEA, 0x44, 0x64, 0x04, 0xE4, 0x6A, 0x7B, 0xBD, 0x31, 0x62, 0xC0, 0xDD, 0xEA, 0xEF } } } }, // CD - - { DE_DEU, kPlatformDOS, { 0x00000605, 0x000212AB, { { 0x8F, 0x3A, 0x9D, 0x9A, 0x81, 0xF2, 0x4A, 0x90, 0xBC, 0xBD, 0x62, 0x8B, 0xD8, 0xD6, 0xF4, 0x5D } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000606, 0x000212AB, { { 0xB0, 0x78, 0x86, 0xFB, 0xCB, 0x3D, 0x1E, 0x1E, 0x86, 0xE7, 0x2C, 0x2B, 0x3A, 0x3C, 0x6F, 0x1C } } } }, // CD - - { IT_ITA, kPlatformDOS, { 0x0000057C, 0x0001DF02, { { 0x4B, 0x09, 0xBC, 0xBC, 0xB3, 0x3C, 0x69, 0xEB, 0xA6, 0xB5, 0x76, 0xED, 0xC7, 0x57, 0x71, 0xB0 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x000005F0, 0x0001CF13, { { 0x4F, 0xA0, 0x47, 0x57, 0x6D, 0x2D, 0xA6, 0x62, 0x06, 0xBE, 0x86, 0xD2, 0xD7, 0xEA, 0x2E, 0xD6 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x000005CF, 0x00020415, { { 0xCC, 0xE5, 0x9F, 0xB8, 0xCA, 0xFA, 0x2D, 0x05, 0xB8, 0xAF, 0x9F, 0x1F, 0x8A, 0xA8, 0x56, 0xDE } } } }, - - { RU_RUS, kPlatformDOS, { 0x000004F6, 0x000131C6, { { 0x77, 0x76, 0x12, 0xB1, 0xDA, 0x9C, 0xA9, 0xB5, 0x21, 0x1E, 0x49, 0x08, 0x46, 0xB3, 0xE4, 0x61 } } } }, - - { EN_ANY, kPlatformAmiga, { 0x0000050A, 0x0001A7B1, { { 0x1B, 0x74, 0x71, 0x4C, 0xAB, 0x81, 0x10, 0x59, 0x8A, 0x21, 0x50, 0xBB, 0xFE, 0x6F, 0xD0, 0xE8 } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000626, 0x00021319, { { 0x80, 0x55, 0x54, 0x14, 0x5D, 0x6F, 0x49, 0x04, 0x4A, 0xEF, 0x92, 0xB8, 0x5B, 0x01, 0x0F, 0x97 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x00000545, 0x0001A84C, { { 0xEF, 0xE2, 0xE4, 0x92, 0xE1, 0x18, 0xF8, 0x3C, 0x91, 0x29, 0x4D, 0x82, 0xA4, 0x3E, 0xE6, 0x7D } } } }, - { JA_JPN, kPlatformFMTowns, { 0x000005FB, 0x0003163E, { { 0x16, 0x28, 0x83, 0xCE, 0x29, 0x94, 0x9F, 0x82, 0xDC, 0xD4, 0x06, 0xE8, 0x67, 0xC9, 0x56, 0x29 } } } }, - - { JA_JPN, kPlatformPC98, { 0x000005D0, 0x00032AD7, { { 0xEE, 0x36, 0x93, 0xDD, 0x71, 0x02, 0xE9, 0x0D, 0x54, 0xDE, 0xB6, 0xE1, 0x09, 0x59, 0x60, 0x64 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1OutroHomeStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000005, 0x00000189, { { 0xA5, 0xF3, 0x03, 0x3F, 0x43, 0x2B, 0x77, 0xCC, 0x5C, 0x96, 0x64, 0xB1, 0x75, 0xB5, 0x3E, 0xF6 } } } }, - - { JA_JPN, kPlatformUnknown, { 0x00000007, 0x000003E8, { { 0x68, 0x35, 0x87, 0x53, 0xD9, 0x53, 0x1F, 0x13, 0x24, 0x61, 0x0D, 0x8D, 0x33, 0x91, 0xF3, 0x47 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000007, 0x00000267, { { 0xD0, 0xC1, 0x11, 0x49, 0x3D, 0x3F, 0xCE, 0x84, 0x8F, 0xEF, 0xE3, 0xFD, 0x43, 0xCA, 0x92, 0xB0 } } } }, - - { DE_DEU, kPlatformUnknown, { 0x0000000E, 0x00000473, { { 0xB6, 0xEB, 0xE8, 0x22, 0x67, 0x24, 0xA9, 0xA3, 0x94, 0x55, 0xC6, 0x57, 0x17, 0x15, 0x5B, 0x04 } } } }, - - { ES_ESP, kPlatformDOS, { 0x00000005, 0x00000178, { { 0x2E, 0x9C, 0x94, 0x0F, 0x29, 0x77, 0x27, 0x1D, 0x77, 0x1E, 0x5A, 0xF8, 0x0E, 0x8D, 0x09, 0x6B } } } }, - { IT_ITA, kPlatformDOS, { 0x00000005, 0x00000178, { { 0x2E, 0x9C, 0x94, 0x0F, 0x29, 0x77, 0x27, 0x1D, 0x77, 0x1E, 0x5A, 0xF8, 0x0E, 0x8D, 0x09, 0x6B } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000007, 0x000001B8, { { 0x17, 0x95, 0x5B, 0x4F, 0xE2, 0x07, 0x5A, 0x49, 0xFA, 0xCE, 0x53, 0x8B, 0xE7, 0x46, 0x69, 0xC7 } } } }, // (fan) CD - - { RU_RUS, kPlatformDOS, { 0x00000005, 0x000000EF, { { 0xA0, 0xB4, 0xF2, 0x11, 0x16, 0x92, 0xC8, 0xEB, 0xF2, 0x0C, 0xFE, 0x43, 0xFE, 0x18, 0xF6, 0xBB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1RoomFilenamesProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x0000034C, 0x0000B7AA, { { 0x7C, 0x1B, 0x89, 0x09, 0xF0, 0x87, 0x3C, 0x64, 0x3D, 0x0E, 0x61, 0xCC, 0x09, 0x8D, 0xC9, 0x95 } } } }, - { UNK_LANG, kPlatformUnknown, { 0x000002DC, 0x0000B7AA, { { 0x31, 0x56, 0x41, 0x69, 0x1E, 0x84, 0x54, 0x2C, 0xF7, 0x7B, 0x98, 0x25, 0xF3, 0x91, 0x56, 0xFD } } } }, // DOS + PC98 - - { UNK_LANG, kPlatformAmiga, { 0x00000308, 0x0000B7AA, { { 0x6D, 0xA4, 0xE8, 0x27, 0x68, 0x24, 0xCF, 0xAA, 0x30, 0x32, 0x71, 0x74, 0x36, 0x68, 0x82, 0x20 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1RoomListProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x000064E8, 0x0010312B, { { 0x94, 0x5C, 0x87, 0x35, 0x35, 0x6B, 0x3E, 0xBF, 0x55, 0x3D, 0xDB, 0xD9, 0xFB, 0x97, 0x27, 0x5D } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x00004DD6, 0x0010312B, { { 0xC6, 0xF0, 0xC4, 0x2C, 0x5A, 0xD7, 0x48, 0xE4, 0x41, 0x23, 0x65, 0x6D, 0xC8, 0xC7, 0xCE, 0xF5 } } } }, // DOS + PC98 - { UNK_LANG, kPlatformUnknown, { 0x00004DD6, 0x0010315D, { { 0x4A, 0x1B, 0xA2, 0x35, 0xE1, 0x22, 0xD3, 0x7A, 0xE9, 0x69, 0x12, 0x3A, 0x9C, 0x92, 0x6F, 0x5C } } } }, // Old DOS floppy - - { UNK_LANG, kPlatformAmiga, { 0x00004ECC, 0x0010312B, { { 0x9A, 0x91, 0xF1, 0x9C, 0x8A, 0x96, 0x1C, 0x7B, 0xB7, 0xE4, 0xF1, 0xE9, 0x7D, 0xEF, 0x40, 0xBF } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1CharacterImageFilenamesProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x000000F7, 0x00003A8F, { { 0x1F, 0xAB, 0x8E, 0x5F, 0xAD, 0x76, 0x57, 0x37, 0xD7, 0x9B, 0x3F, 0x35, 0x4B, 0xA0, 0x98, 0x37 } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x000000E4, 0x00003A8F, { { 0x7A, 0x77, 0x6D, 0x26, 0xC8, 0x43, 0xCB, 0x74, 0x46, 0x2E, 0x04, 0x22, 0x89, 0x27, 0x33, 0x06 } } } }, // DOS + PC98 - - { UNK_LANG, kPlatformAmiga, { 0x000000F0, 0x00003A8F, { { 0xC0, 0xD9, 0x8C, 0x2B, 0x65, 0x51, 0x7C, 0x13, 0x52, 0x7E, 0xF7, 0x63, 0xA6, 0xA9, 0xCE, 0x40 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AudioTracksProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000038, 0x00000D5C, { { 0x65, 0x35, 0x2F, 0xA3, 0x93, 0x22, 0x15, 0xA0, 0xC6, 0x2B, 0x73, 0x7C, 0x3E, 0xB8, 0x7A, 0xB5 } } } }, - - { UNK_LANG, kPlatformFMTowns, { 0x0000005D, 0x0000154E, { { 0xA7, 0x7E, 0x03, 0x0A, 0x81, 0x54, 0xD2, 0x5D, 0x7B, 0x33, 0x07, 0xBF, 0x70, 0x01, 0x4B, 0x79 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AudioTracks2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000009, 0x00000363, { { 0x16, 0xA2, 0x68, 0x21, 0x04, 0xA8, 0x39, 0x7E, 0xA1, 0x7D, 0x70, 0xFD, 0x86, 0xC7, 0x69, 0x28 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AudioTracksIntroProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x0000022C, { { 0x5F, 0xC9, 0xE1, 0x4B, 0x34, 0x52, 0xB9, 0xF8, 0xFF, 0x37, 0x8B, 0xF4, 0xEF, 0x5E, 0xC5, 0xDA } } } }, // floppy + demo - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x00000458, { { 0xEB, 0xB3, 0x96, 0xA5, 0x07, 0xE6, 0x11, 0x58, 0xDB, 0x3F, 0x34, 0x30, 0xFB, 0x7B, 0x92, 0xC8 } } } }, // CD - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1ItemNamesProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000468, 0x00018B13, { { 0xCE, 0xFE, 0x19, 0x5D, 0x3F, 0xD7, 0x2A, 0xF6, 0xD0, 0xC5, 0xBC, 0x17, 0x6A, 0x52, 0xDB, 0xFE } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000506, 0x0001C3CC, { { 0x46, 0xD4, 0x19, 0x04, 0x2A, 0x46, 0xCD, 0x63, 0x41, 0x5A, 0x8E, 0xA8, 0x00, 0xDD, 0x02, 0x77 } } } }, - - { DE_DEU, kPlatformDOS, { 0x00000512, 0x0001DD2C, { { 0x5D, 0xB0, 0x6B, 0x8E, 0x9C, 0x70, 0x09, 0x90, 0x3C, 0xC6, 0x58, 0x1F, 0x71, 0x24, 0x76, 0x56 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000591, 0x0001F869, { { 0x4D, 0xD7, 0x66, 0xBB, 0x9A, 0xD8, 0x79, 0x1E, 0x92, 0x2B, 0xE5, 0xC2, 0x0F, 0x02, 0x0B, 0x35 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000506, 0x0001C1D9, { { 0xF2, 0x2D, 0x18, 0x13, 0x61, 0xFB, 0x57, 0x93, 0x5C, 0xDC, 0x79, 0x44, 0x96, 0x01, 0xA6, 0x90 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000530, 0x0001D90A, { { 0x52, 0xFB, 0xA8, 0x3F, 0xA3, 0x6F, 0xC2, 0x67, 0x55, 0x9F, 0x66, 0x9F, 0xFD, 0x79, 0x44, 0xDF } } } }, - - { RU_RUS, kPlatformDOS, { 0x000004AE, 0x00011888, { { 0x6F, 0x4D, 0xBE, 0xC8, 0xAE, 0x7C, 0x12, 0x3E, 0x69, 0x0B, 0x39, 0xCB, 0x4D, 0x4B, 0xA8, 0x3A } } } }, // floppy - - { EN_ANY, kPlatformAmiga, { 0x00000380, 0x00012960, { { 0x2D, 0x81, 0xCF, 0x7A, 0x9D, 0x71, 0x83, 0xB7, 0xE5, 0x00, 0xB0, 0x6E, 0x25, 0x94, 0xCB, 0xA4 } } } }, - { DE_DEU, kPlatformAmiga, { 0x000003E5, 0x0001607D, { { 0x6D, 0xBE, 0xAD, 0xE5, 0xD1, 0x41, 0x6C, 0x42, 0x71, 0x79, 0x9C, 0x78, 0x93, 0x84, 0xC8, 0x11 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x00000505, 0x00018B13, { { 0x62, 0x76, 0x84, 0x5D, 0x8D, 0xBA, 0x23, 0xC5, 0x67, 0x26, 0x22, 0xBD, 0xBE, 0x81, 0x2D, 0xFF } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000587, 0x000247A1, { { 0xE8, 0xCA, 0x1E, 0x34, 0x05, 0xE5, 0x08, 0xCA, 0xA7, 0xFE, 0x55, 0xCB, 0x75, 0xD0, 0xA7, 0x19 } } } }, - - { JA_JPN, kPlatformPC98, { 0x000004CF, 0x000247A1, { { 0xBE, 0x80, 0x3F, 0x10, 0xF7, 0x3A, 0x85, 0xD1, 0xE8, 0x24, 0xE6, 0x4E, 0x8F, 0x17, 0xC9, 0x2E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1TakenStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000010, 0x000004C2, { { 0x08, 0xC0, 0x66, 0xB1, 0x45, 0x04, 0x78, 0xF9, 0xAF, 0x0F, 0x52, 0xC8, 0x0E, 0x0C, 0x69, 0x86 } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000001E, 0x000008FA, { { 0xC9, 0xCC, 0x2E, 0x0B, 0xE4, 0xE0, 0x44, 0xBD, 0xC2, 0x10, 0x09, 0xA3, 0x36, 0xB1, 0x5D, 0x1C } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x0000000F, 0x0000047D, { { 0xE8, 0xB5, 0x15, 0xD5, 0x96, 0x81, 0xD2, 0x84, 0xAB, 0x33, 0xC1, 0x1C, 0x47, 0x1B, 0xFE, 0xDB } } } }, // CD - - { DE_DEU, kPlatformDOS, { 0x0000001C, 0x000009C0, { { 0xA8, 0x64, 0xDD, 0x9D, 0x91, 0x42, 0x04, 0x26, 0xD0, 0x80, 0x40, 0xED, 0x08, 0x51, 0xC9, 0xBB } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000014, 0x00000588, { { 0x5B, 0x75, 0xAE, 0xD7, 0x50, 0x6C, 0x3E, 0x65, 0x5C, 0xF8, 0x84, 0x34, 0x48, 0x58, 0x0E, 0x6E } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000000F, 0x000002F0, { { 0x37, 0x22, 0x62, 0xE4, 0x1B, 0x1F, 0xD6, 0x9E, 0x94, 0xA3, 0x41, 0x00, 0xD5, 0x29, 0x28, 0x09 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000014, 0x000005D8, { { 0xD6, 0x00, 0x90, 0x6A, 0x75, 0x3B, 0xF1, 0xFE, 0xF4, 0x3E, 0x0E, 0x1D, 0x39, 0xEB, 0x2D, 0xC8 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000010, 0x00000262, { { 0x1E, 0x90, 0x20, 0xC8, 0xD3, 0x08, 0x53, 0x4F, 0x28, 0x95, 0x6A, 0xA4, 0x14, 0x37, 0x05, 0xF0 } } } }, - - { EN_ANY, kPlatformAmiga, { 0x00000008, 0x00000261, { { 0x93, 0x5B, 0x79, 0xE8, 0x89, 0x8E, 0xB5, 0x37, 0x39, 0x2A, 0xB0, 0x04, 0x98, 0x80, 0x5A, 0x4E } } } }, - { DE_DEU, kPlatformAmiga, { 0x0000000E, 0x000004E0, { { 0x52, 0x4D, 0x74, 0x91, 0x70, 0x0D, 0x4C, 0x40, 0x5C, 0x7E, 0xBA, 0xDA, 0x24, 0x49, 0xF3, 0x1A } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000001C, 0x00000AED, { { 0x32, 0xD2, 0x87, 0x67, 0x3D, 0x01, 0x50, 0xF3, 0xFA, 0x19, 0x7A, 0xB0, 0xF8, 0x6F, 0x8A, 0x07 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x0000001F, 0x00000EB7, { { 0x7F, 0x8C, 0xFF, 0x35, 0x30, 0x71, 0x9A, 0x78, 0xCC, 0x07, 0x11, 0x86, 0xE3, 0x0D, 0x16, 0xDF } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000016, 0x00000C56, { { 0x97, 0xF0, 0x57, 0xCC, 0x03, 0x06, 0x41, 0xDC, 0xFC, 0xD5, 0xA2, 0x35, 0x0C, 0x71, 0x37, 0xCC } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PlacedStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000009, 0x000002B7, { { 0xE7, 0xCF, 0x8A, 0x19, 0xEF, 0x98, 0xE5, 0x74, 0x46, 0x46, 0x47, 0x65, 0xB6, 0x81, 0x70, 0x0A } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000000D, 0x0000074C, { { 0x0E, 0x1C, 0x1F, 0xD2, 0xCF, 0xBF, 0x40, 0xE1, 0x59, 0x0F, 0x1B, 0x46, 0xED, 0x8B, 0x96, 0x8E } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000011, 0x00000545, { { 0x05, 0xEF, 0x74, 0x54, 0x06, 0xB7, 0x64, 0x47, 0x21, 0x56, 0x55, 0x74, 0x70, 0x2D, 0xA8, 0x23 } } } }, - - { DE_DEU, kPlatformUnknown, { 0x0000000B, 0x00000389, { { 0xB9, 0x74, 0xBE, 0x63, 0xB4, 0xA4, 0x8A, 0x04, 0xD9, 0x50, 0x73, 0xB7, 0x01, 0x9E, 0x77, 0xD3 } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000000D, 0x0000040D, { { 0x9C, 0x71, 0x53, 0x35, 0xC3, 0xE8, 0x46, 0xB9, 0xD2, 0xFA, 0x1C, 0x8C, 0xC3, 0xFF, 0xBC, 0x1F } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000011, 0x000003B8, { { 0xC8, 0xA6, 0xE4, 0x8A, 0xF7, 0x4C, 0x3F, 0xA6, 0x24, 0x7F, 0xEF, 0xE4, 0x63, 0x8B, 0x72, 0xF3 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000000D, 0x00000439, { { 0x57, 0xAE, 0x1C, 0xC1, 0xF5, 0xE8, 0x5B, 0x9E, 0x90, 0x02, 0xB9, 0x8D, 0x86, 0x38, 0xFB, 0xA8 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000009, 0x00000203, { { 0x7D, 0xAE, 0x67, 0x94, 0x8E, 0x73, 0x35, 0xC1, 0x11, 0xB4, 0x55, 0x6E, 0x92, 0x25, 0x39, 0xE4 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1DroppedStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000A, 0x0000033C, { { 0x96, 0x63, 0xFD, 0x73, 0x71, 0xCC, 0x62, 0x59, 0x86, 0x02, 0x47, 0x55, 0x82, 0xF8, 0x5E, 0x1F } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000000B, 0x0000059F, { { 0xDD, 0x5E, 0x51, 0x7E, 0xD9, 0xFC, 0xCD, 0xAD, 0x6B, 0x93, 0x71, 0xBE, 0x83, 0x63, 0x3F, 0x88 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000011, 0x00000579, { { 0x3D, 0x0C, 0x3C, 0xAD, 0x2E, 0xE3, 0x7A, 0x5A, 0x4A, 0x21, 0x1C, 0x96, 0xC5, 0x5A, 0xA7, 0x9E } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000011, 0x00000612, { { 0xEC, 0xCD, 0x99, 0x58, 0xF7, 0x08, 0x92, 0x43, 0x95, 0x10, 0x6B, 0xDD, 0x61, 0xF7, 0x5C, 0xA4 } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000000B, 0x0000031B, { { 0x32, 0x0C, 0xCD, 0x83, 0xF6, 0x97, 0xC8, 0x76, 0x57, 0x6B, 0x7C, 0xAD, 0x51, 0xEB, 0x91, 0x1F } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000011, 0x000003B8, { { 0xC8, 0xA6, 0xE4, 0x8A, 0xF7, 0x4C, 0x3F, 0xA6, 0x24, 0x7F, 0xEF, 0xE4, 0x63, 0x8B, 0x72, 0xF3 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000008, 0x00000261, { { 0x1D, 0xB5, 0xFB, 0x23, 0x94, 0xA7, 0x86, 0x7A, 0xAC, 0x53, 0xDA, 0x6F, 0xCC, 0x41, 0x0F, 0xD7 } } } }, - - { RU_RUS, kPlatformDOS, { 0x0000000A, 0x000001F5, { { 0xAA, 0x21, 0x88, 0x6D, 0xD0, 0xAB, 0x5C, 0x15, 0x7F, 0xAD, 0x0E, 0x3B, 0x2F, 0x17, 0xBF, 0xAD } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1NoDropStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000047, 0x00001881, { { 0xEF, 0x81, 0x2B, 0x8F, 0x06, 0x0C, 0xA6, 0xBA, 0x50, 0x9C, 0x99, 0x40, 0x53, 0xFD, 0xC1, 0x55 } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000004C, 0x00001B39, { { 0xFF, 0xD5, 0x5D, 0x1C, 0xF1, 0x8A, 0xA4, 0x21, 0xB1, 0x56, 0x2B, 0xAC, 0x9F, 0x40, 0x30, 0x53 } } } }, - - { DE_DEU, kPlatformDOS, { 0x0000004C, 0x00001AFF, { { 0xE5, 0x05, 0x79, 0x10, 0x91, 0x95, 0x64, 0x40, 0xB2, 0x73, 0x39, 0xFA, 0x50, 0x8D, 0xCE, 0x8A } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000045, 0x00001850, { { 0x50, 0x34, 0x82, 0xA9, 0x28, 0xDE, 0x44, 0xB3, 0x2D, 0x59, 0x0B, 0x7F, 0xCE, 0x42, 0x1F, 0x73 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000004C, 0x00001650, { { 0x42, 0x7A, 0x04, 0xCD, 0x69, 0xB1, 0x06, 0x9A, 0xD8, 0x7E, 0x7A, 0x14, 0x5B, 0x1C, 0x70, 0xB8 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000003D, 0x000015FA, { { 0x87, 0x2E, 0xE6, 0x8A, 0xF1, 0xC9, 0xC9, 0xEC, 0xD3, 0x2C, 0x25, 0x7E, 0x36, 0x02, 0xF7, 0xAC } } } }, - - { EN_ANY, kPlatformAmiga, { 0x00000048, 0x00001881, { { 0x69, 0xA8, 0x0B, 0x47, 0xFD, 0xA0, 0x94, 0x12, 0x82, 0x1D, 0xE0, 0x9C, 0xB1, 0x10, 0x6D, 0x11 } } } }, - { DE_DEU, kPlatformAmiga, { 0x0000004D, 0x00001AFF, { { 0xF8, 0x83, 0x2E, 0x08, 0x88, 0x7B, 0x72, 0x7F, 0x71, 0xD4, 0x05, 0xF3, 0x1A, 0x78, 0xF1, 0x9D } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000007A, 0x0000323C, { { 0x00, 0x7F, 0x8E, 0x2E, 0x7B, 0xFC, 0x06, 0x0B, 0x7A, 0x7F, 0x17, 0xAF, 0x47, 0x82, 0xC1, 0x16 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000061, 0x00002E9C, { { 0x8A, 0xFA, 0x43, 0x26, 0x68, 0x6D, 0x5A, 0x59, 0x0C, 0x9E, 0xCB, 0x28, 0x43, 0x33, 0x54, 0x49 } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000042, 0x000025C2, { { 0x6F, 0x34, 0x59, 0x17, 0x22, 0xCE, 0x1A, 0x82, 0x18, 0xE3, 0x9F, 0x86, 0x84, 0xF1, 0x8E, 0x0C } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PutDownStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000026, 0x00000D27, { { 0x83, 0x09, 0x51, 0xD3, 0x94, 0x2B, 0xB1, 0x8B, 0x8B, 0x16, 0xA9, 0xEB, 0xE8, 0xA2, 0x4F, 0x0C } } } }, - - { JA_JPN, kPlatformUnknown, { 0x00000029, 0x0000187D, { { 0xDE, 0xEE, 0x66, 0x88, 0x57, 0xF5, 0xF9, 0x2E, 0xD2, 0x14, 0xF5, 0x83, 0xA0, 0x0D, 0x96, 0x86 } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000002E, 0x0000101D, { { 0xBC, 0xEA, 0x6C, 0x1F, 0x31, 0xCF, 0x30, 0x26, 0x2D, 0x24, 0xC5, 0xEA, 0x97, 0x49, 0xDC, 0x4C } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000028, 0x00000E7E, { { 0x26, 0x93, 0x76, 0x37, 0x41, 0x2E, 0xF3, 0xED, 0xF5, 0x7B, 0xA7, 0xEB, 0x80, 0x61, 0x3B, 0x84 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000034, 0x0000131D, { { 0x36, 0x87, 0x4D, 0x73, 0x2A, 0x67, 0xBA, 0xCE, 0xCB, 0x33, 0x3C, 0x10, 0xCC, 0x3E, 0x7E, 0xAD } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000002E, 0x00000EB2, { { 0x14, 0x08, 0xE6, 0xD1, 0x54, 0x76, 0x2A, 0x9E, 0xBE, 0x5A, 0x15, 0xEB, 0x52, 0x01, 0x52, 0x97 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000002D, 0x00001052, { { 0x12, 0x0A, 0x23, 0x11, 0xDF, 0x8A, 0x59, 0xD4, 0xF2, 0xCA, 0xA5, 0xA7, 0x76, 0x1B, 0x54, 0xB6 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000024, 0x0000099F, { { 0x05, 0xD7, 0xB8, 0x32, 0x95, 0x93, 0x29, 0x5F, 0xF3, 0x1A, 0xF0, 0x2E, 0xBA, 0x3A, 0x0D, 0x27 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1WaitAmuletStringProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000003D, 0x0000150D, { { 0x11, 0xC8, 0x7E, 0x83, 0x7A, 0xC3, 0x5D, 0xD9, 0x72, 0xFC, 0x75, 0xCB, 0x57, 0xE9, 0xF1, 0x36 } } } }, - - { JA_JPN, kPlatformUnknown, { 0x00000029, 0x000017A7, { { 0xFD, 0xA3, 0xAD, 0x24, 0x16, 0x49, 0x22, 0x6F, 0x52, 0xE9, 0x50, 0x11, 0x51, 0x38, 0xCA, 0xE0 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000049, 0x00001ADD, { { 0xFD, 0xCF, 0x9C, 0xAD, 0xA2, 0xAA, 0x74, 0x11, 0x8E, 0x89, 0x02, 0xCB, 0x2B, 0x5B, 0x2B, 0x1C } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000048, 0x000019CF, { { 0x82, 0xDD, 0xBD, 0xA3, 0xD0, 0xE0, 0x19, 0xC0, 0x6D, 0xC5, 0xEE, 0x7A, 0x0B, 0x49, 0x06, 0xCE } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000004A, 0x00001B4C, { { 0x38, 0x26, 0x54, 0x10, 0x3D, 0x32, 0xCD, 0xAE, 0x3F, 0x96, 0xFE, 0x6F, 0x4A, 0x94, 0x72, 0xB0 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000049, 0x0000184F, { { 0x11, 0x42, 0xB2, 0xD6, 0x76, 0xEA, 0xF9, 0xCA, 0x46, 0xE4, 0xA6, 0x35, 0xE8, 0xB9, 0x8B, 0xE9 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000042, 0x000017FD, { { 0x0A, 0x8A, 0x7E, 0x9A, 0x5F, 0x4A, 0x35, 0x06, 0x4D, 0x6B, 0xBF, 0x29, 0x1B, 0xAD, 0xD8, 0x37 } } } }, - - { RU_RUS, kPlatformDOS, { 0x0000003C, 0x00000EF1, { { 0xC1, 0x0A, 0xFA, 0xBB, 0x65, 0xC3, 0x31, 0xC9, 0x80, 0x9B, 0x0C, 0x16, 0xED, 0xBF, 0x47, 0xFA } } } }, - - { EN_ANY, kPlatformUnknown, { 0x0000003E, 0x0000150D, { { 0xA8, 0xBF, 0x99, 0x9B, 0xC1, 0x36, 0x21, 0x47, 0x6D, 0x99, 0x4F, 0x34, 0xE6, 0x61, 0x47, 0xFD } } } }, // Amiga + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1BlackJewelStringProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000023, 0x00000B73, { { 0xBE, 0xE9, 0xBD, 0x65, 0xB9, 0xB1, 0xCD, 0xF0, 0x45, 0x03, 0x01, 0x70, 0xBE, 0xD0, 0x0F, 0x80 } } } }, - - { JA_JPN, kPlatformUnknown, { 0x00000035, 0x0000205F, { { 0x33, 0xD6, 0x19, 0xEE, 0xEA, 0xDD, 0x9F, 0xB5, 0x77, 0x0C, 0x8E, 0x84, 0x5E, 0x61, 0x22, 0x3E } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000002B, 0x00000F11, { { 0x68, 0xA0, 0xA3, 0xA0, 0xB6, 0xD1, 0x40, 0x22, 0xB4, 0x10, 0x3D, 0x5A, 0x7F, 0x1F, 0x4B, 0xE7 } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000031, 0x0000113B, { { 0xA5, 0x00, 0xD1, 0xDC, 0x25, 0x99, 0x3E, 0x6B, 0xFF, 0xC8, 0x6C, 0xDA, 0xA4, 0xCF, 0x51, 0xD7 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000022, 0x00000B6E, { { 0xAE, 0xA0, 0xDF, 0x07, 0xDD, 0x88, 0x98, 0x6B, 0xDD, 0x9E, 0x2E, 0xC0, 0xBD, 0x45, 0x2E, 0x2B } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000002B, 0x00000D6D, { { 0x08, 0x5E, 0x1F, 0xA8, 0x8F, 0x1F, 0x6A, 0xE0, 0xF3, 0x49, 0xEF, 0x44, 0xA8, 0xCD, 0xDE, 0x45 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000025, 0x00000CF6, { { 0x4B, 0x13, 0x39, 0xCB, 0x3F, 0x44, 0x18, 0x46, 0x43, 0xDB, 0x94, 0xC5, 0x3E, 0x6B, 0xC4, 0x74 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000021, 0x000007FF, { { 0x3F, 0x26, 0xB4, 0xB4, 0x11, 0x0C, 0xEF, 0xC0, 0x6A, 0xD1, 0xCC, 0x0E, 0x68, 0x7D, 0xA5, 0x1A } } } }, - - { EN_ANY, kPlatformUnknown, { 0x00000024, 0x00000B73, { { 0x8D, 0x57, 0x5F, 0x93, 0x85, 0x75, 0xF2, 0xD8, 0x36, 0xC2, 0x7C, 0x0E, 0x3B, 0xEA, 0xE0, 0x0A } } } }, // Amiga + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PoisonGoneStringProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000002D, 0x00000F59, { { 0x9A, 0x88, 0x07, 0x5A, 0x9C, 0xC3, 0x7B, 0xB0, 0x79, 0x69, 0xE0, 0x84, 0x11, 0x9B, 0x82, 0xCD } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000059, 0x00001E91, { { 0xDA, 0x9C, 0xC4, 0x7A, 0x79, 0x73, 0x60, 0xBF, 0x31, 0xF8, 0x8F, 0xAF, 0xC1, 0x4D, 0x25, 0xEC } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x0000002A, 0x00000EAA, { { 0x0B, 0x4E, 0xDF, 0x03, 0x9E, 0x64, 0x3B, 0x13, 0x10, 0x6A, 0xF9, 0x4C, 0x66, 0x0D, 0x09, 0xC5 } } } }, // (fan) CD - - { DE_DEU, kPlatformDOS, { 0x00000036, 0x00001324, { { 0x30, 0x67, 0xEE, 0x7C, 0x4D, 0x36, 0xFE, 0x46, 0x05, 0x44, 0x23, 0xA1, 0xB4, 0x07, 0x16, 0xB5 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000034, 0x0000128D, { { 0x4E, 0x54, 0xFE, 0x58, 0x7F, 0x15, 0xFA, 0xC1, 0x50, 0xF8, 0x47, 0x29, 0x15, 0xE8, 0x83, 0xC7 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000002A, 0x00000DFD, { { 0x57, 0xDC, 0xE0, 0x45, 0x2E, 0x89, 0x77, 0x7F, 0x4B, 0x41, 0xCF, 0x4A, 0xFE, 0x0B, 0xAF, 0xC1 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000033, 0x0000127E, { { 0x67, 0xEB, 0xD3, 0x00, 0xF8, 0x4F, 0xF1, 0x79, 0x48, 0xE6, 0x9C, 0xB2, 0xA7, 0xCF, 0x76, 0x07 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000027, 0x00000952, { { 0x36, 0x64, 0x30, 0x1C, 0x5A, 0xC0, 0x0D, 0x73, 0xE5, 0xA6, 0x2F, 0xD8, 0x64, 0x98, 0x81, 0x56 } } } }, - - { EN_ANY, kPlatformAmiga, { 0x0000002E, 0x00000F59, { { 0xAD, 0x95, 0xF3, 0xA7, 0xBB, 0x04, 0x08, 0x77, 0xD0, 0x71, 0xFC, 0x8B, 0x33, 0x2A, 0x6D, 0xD3 } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000037, 0x00001324, { { 0xB3, 0xE6, 0x0A, 0x49, 0x37, 0x73, 0x3C, 0xAF, 0x78, 0x9E, 0x7D, 0x13, 0x75, 0xAE, 0xA8, 0x89 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000003C, 0x000013B4, { { 0xE9, 0x54, 0xF1, 0xEC, 0x64, 0x5A, 0xEB, 0xC7, 0xAA, 0x7E, 0xA2, 0x9F, 0xE8, 0xFB, 0x3A, 0x82 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x0000003D, 0x000017D1, { { 0x7C, 0x93, 0x62, 0x32, 0x47, 0xB9, 0x78, 0x03, 0x86, 0x8D, 0x99, 0xB8, 0x86, 0x68, 0xEF, 0x3A } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000016, 0x00000B60, { { 0xFF, 0x8C, 0xC0, 0x1B, 0x2C, 0x0C, 0x23, 0x89, 0x93, 0x79, 0xC5, 0xCD, 0xAC, 0xF9, 0xEA, 0xA7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1HealingTipStringProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000002D, 0x00000F04, { { 0xC0, 0xC7, 0x0C, 0x3D, 0xA7, 0x62, 0x14, 0xFB, 0xE8, 0x52, 0x05, 0x0D, 0xFE, 0xF6, 0xC7, 0x28 } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000002B, 0x00001949, { { 0xC7, 0xE3, 0x0A, 0x6B, 0x8F, 0xCA, 0xBC, 0x3A, 0xDC, 0x76, 0x48, 0xD3, 0x8B, 0xD9, 0x44, 0x2E } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000036, 0x0000132C, { { 0x86, 0x65, 0x80, 0x10, 0x40, 0x32, 0x6C, 0x2F, 0x5E, 0x76, 0xFB, 0xDC, 0x19, 0x33, 0x02, 0x3C } } } }, - - { DE_DEU, kPlatformUnknown, { 0x0000003C, 0x00001537, { { 0x78, 0xC2, 0x76, 0x24, 0x0D, 0x1F, 0xC0, 0x13, 0x4E, 0x34, 0x0A, 0x50, 0x4C, 0x35, 0x7E, 0xB1 } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000003F, 0x0000170E, { { 0x0B, 0x37, 0xA4, 0x5E, 0x05, 0x4A, 0x96, 0x1F, 0x2E, 0x02, 0x43, 0xBE, 0xCC, 0xF9, 0x21, 0x5E } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000036, 0x00001364, { { 0x59, 0x70, 0x13, 0x8D, 0x93, 0x9C, 0x1B, 0x69, 0x2F, 0x13, 0x9A, 0xB2, 0x4C, 0x97, 0x7E, 0x95 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000028, 0x00000E0F, { { 0x3E, 0x40, 0xCA, 0x2A, 0x5F, 0xFE, 0x74, 0x30, 0x8C, 0x31, 0x41, 0x09, 0xBD, 0xFD, 0xA3, 0x7E } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000026, 0x000008EE, { { 0x7C, 0xC0, 0x62, 0x39, 0x66, 0x9E, 0x63, 0xCD, 0x21, 0x3D, 0x72, 0x91, 0xB8, 0xB9, 0xB6, 0x92 } } } }, - - { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00000F04, { { 0x95, 0x39, 0x36, 0x89, 0xC4, 0x60, 0x7C, 0x0C, 0xDC, 0x06, 0xF7, 0x86, 0x1A, 0xF7, 0x93, 0x2B } } } }, // Amiga + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1WispJewelStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000053, 0x00001C62, { { 0x9A, 0xF1, 0xCC, 0xB3, 0x09, 0xF0, 0x9C, 0x33, 0x0E, 0xF0, 0xE3, 0xF8, 0x24, 0x63, 0x40, 0x95 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000052, 0x00001CE8, { { 0x6D, 0x69, 0x6D, 0x15, 0x4F, 0xF1, 0xD8, 0xA6, 0x53, 0x9F, 0xE3, 0x77, 0x75, 0x25, 0xE7, 0x93 } } } }, // CD - - { FR_FRA, kPlatformDOS, { 0x0000005B, 0x00001E9A, { { 0xC1, 0x26, 0xF3, 0x64, 0x18, 0x7D, 0xF7, 0x5A, 0xB6, 0x2B, 0x44, 0x57, 0xDC, 0x60, 0x20, 0x3C } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x00000050, 0x00001B8D, { { 0x9A, 0xCE, 0x1D, 0x62, 0xFA, 0xC6, 0x73, 0x80, 0x02, 0x0A, 0x61, 0x24, 0xDC, 0x2A, 0xEF, 0xE6 } } } }, // CD - - { DE_DEU, kPlatformDOS, { 0x00000061, 0x00002184, { { 0x4B, 0x20, 0xD7, 0xE6, 0x00, 0xBF, 0x32, 0x40, 0xB7, 0xD0, 0xD6, 0xEC, 0x9C, 0x0F, 0x0B, 0xF0 } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000058, 0x00001E88, { { 0x0E, 0x14, 0xD1, 0xF3, 0x03, 0x29, 0x48, 0x1D, 0x32, 0x2A, 0xBB, 0x0B, 0x48, 0xB3, 0x2E, 0x47 } } } }, // CD - - { IT_ITA, kPlatformDOS, { 0x00000074, 0x00002945, { { 0x17, 0x8B, 0x7E, 0xD9, 0x04, 0x7C, 0xD4, 0x9D, 0xCE, 0xF0, 0x79, 0x00, 0xAC, 0x82, 0x7C, 0x82 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000050, 0x00001A10, { { 0xFB, 0x79, 0x74, 0x14, 0xB9, 0x75, 0x4F, 0x44, 0x83, 0xB1, 0xD4, 0xBE, 0x17, 0x0F, 0xC4, 0xD6 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000005F, 0x0000211E, { { 0xE7, 0x0A, 0x85, 0x25, 0x44, 0x41, 0x47, 0x3B, 0x7A, 0xA6, 0x62, 0xAE, 0xAE, 0xD5, 0x92, 0x45 } } } }, - - // only one of two strings translated in the fan translation - { RU_RUS, kPlatformDOS, { 0x00000053, 0x0000191F, { { 0x14, 0xEB, 0x38, 0x54, 0x40, 0x40, 0x04, 0xA6, 0xA0, 0xFE, 0xDB, 0xD0, 0x8C, 0xA6, 0x1F, 0x55 } } } }, - - { EN_ANY, kPlatformAmiga, { 0x00000056, 0x00001C62, { { 0x43, 0x28, 0x3C, 0x0F, 0x78, 0x52, 0xE7, 0x2A, 0x77, 0xF3, 0x21, 0x5A, 0xF0, 0xFC, 0x9E, 0xF8 } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000063, 0x00002184, { { 0x6B, 0xDC, 0x6B, 0xCF, 0xD4, 0xC7, 0x2A, 0x9A, 0x2E, 0x34, 0x71, 0x4E, 0xB7, 0xF6, 0xAF, 0xDA } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x00000075, 0x00002B94, { { 0xA5, 0x4C, 0xBF, 0x5F, 0xD3, 0xF8, 0x6D, 0xE4, 0xB4, 0x8E, 0x64, 0x84, 0xD9, 0xBA, 0x2B, 0x33 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000067, 0x00002C6B, { { 0x55, 0x56, 0x6B, 0xEA, 0xEF, 0x34, 0xDA, 0x23, 0x23, 0xF4, 0x9D, 0x0F, 0xBF, 0xC3, 0x1F, 0xDA } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000037, 0x00001EDF, { { 0xA8, 0x42, 0x79, 0xEB, 0x82, 0xAF, 0x03, 0xD7, 0x03, 0xF9, 0xE0, 0x60, 0xD4, 0x87, 0xAD, 0x2E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1MagicJewelStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000013, 0x0000069E, { { 0x7C, 0xF2, 0xEE, 0x7C, 0x8A, 0xCE, 0x5B, 0x09, 0x32, 0xDC, 0x31, 0x1F, 0x45, 0x21, 0x84, 0xFF } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000000F, 0x0000087E, { { 0xD8, 0xF1, 0x40, 0x9D, 0x9C, 0x15, 0x9E, 0xBD, 0x69, 0xE5, 0xE1, 0x51, 0x34, 0x22, 0xF3, 0x75 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000011, 0x000005DB, { { 0x44, 0x99, 0x35, 0x77, 0x9B, 0x3D, 0xF8, 0xAF, 0x7A, 0xA6, 0x14, 0xD0, 0x99, 0xC6, 0x80, 0x7B } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000014, 0x000006EF, { { 0xDE, 0x77, 0xB6, 0x8C, 0x39, 0x5C, 0x6F, 0xDF, 0x7D, 0x04, 0x0F, 0x65, 0x24, 0x75, 0xED, 0x95 } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000001D, 0x00000A83, { { 0x60, 0x69, 0x18, 0x6C, 0x34, 0xB0, 0x56, 0xE3, 0x06, 0x7C, 0xB1, 0xDD, 0x26, 0x80, 0xAE, 0x30 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000011, 0x000005E4, { { 0xD5, 0x11, 0xDA, 0x40, 0x09, 0x6A, 0x5D, 0x76, 0x5C, 0x20, 0xC4, 0x43, 0x4D, 0xF3, 0x67, 0xF0 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000011, 0x000005CD, { { 0x32, 0x2A, 0xFF, 0x9F, 0x10, 0x75, 0x6B, 0xD6, 0x46, 0xAE, 0x55, 0xD3, 0x68, 0x4F, 0xBB, 0x5A } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000012, 0x0000047D, { { 0xB1, 0xC3, 0x66, 0xBC, 0x42, 0xAD, 0x5B, 0xD8, 0xF5, 0x3D, 0xB9, 0x50, 0x77, 0x32, 0xA7, 0x15 } } } }, - - { EN_ANY, kPlatformUnknown, { 0x00000014, 0x0000069E, { { 0x6A, 0x1C, 0x9B, 0x85, 0x61, 0xC7, 0x28, 0xA9, 0xA3, 0xF4, 0xFA, 0x47, 0x90, 0x8F, 0x06, 0xB4 } } } }, // Amiga + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1ThePoisonStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000057, 0x00001C24, { { 0xBC, 0x31, 0x5C, 0x25, 0x50, 0x36, 0x58, 0x20, 0x55, 0xFC, 0x75, 0x47, 0x2D, 0x43, 0x73, 0x78 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000068, 0x000022D8, { { 0x39, 0xDA, 0xB3, 0xD2, 0xDA, 0x3F, 0xAB, 0x40, 0x1A, 0x4F, 0x9D, 0x02, 0xBA, 0x37, 0xEC, 0x4D } } } }, - - { DE_DEU, kPlatformDOS, { 0x00000072, 0x00002690, { { 0xEF, 0x62, 0x85, 0xA3, 0x8B, 0x20, 0x4B, 0x65, 0xF8, 0xE7, 0x2C, 0x02, 0x3F, 0x3F, 0x25, 0x65 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000063, 0x000021F8, { { 0x3C, 0x2E, 0xF8, 0xAD, 0xCF, 0xB5, 0xE7, 0x2C, 0x98, 0x7A, 0xB9, 0x6F, 0x7A, 0x42, 0xE1, 0x92 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000068, 0x00002077, { { 0x5D, 0xF4, 0xF9, 0xD9, 0x87, 0x34, 0x14, 0xAB, 0xE4, 0x9A, 0x67, 0xAF, 0x18, 0x8B, 0x40, 0x98 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000059, 0x00001DF7, { { 0x16, 0x7B, 0x5F, 0x91, 0x06, 0x5B, 0xFC, 0x9C, 0x88, 0x61, 0xCC, 0x1B, 0x52, 0x4F, 0x91, 0xC5 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000052, 0x0000136F, { { 0xEF, 0xD2, 0xA0, 0x5F, 0xD5, 0xE6, 0x77, 0x96, 0xFA, 0xC5, 0x60, 0x7C, 0xB7, 0xA8, 0x7C, 0x7A } } } }, - - { EN_ANY, kPlatformAmiga, { 0x00000058, 0x00001C24, { { 0xBA, 0x1F, 0xBD, 0x5C, 0x85, 0x3D, 0x3C, 0x92, 0xD1, 0x13, 0xF3, 0x40, 0x2E, 0xBB, 0x1C, 0xE2 } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000073, 0x00002690, { { 0x44, 0xAE, 0xC9, 0xFD, 0x9F, 0x8E, 0x1B, 0xDD, 0x3F, 0xE4, 0x4D, 0x4B, 0x5A, 0x13, 0xE5, 0x99 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x00000092, 0x0000334E, { { 0xC9, 0x02, 0xB5, 0xEF, 0x90, 0xA8, 0x9C, 0x6E, 0xAD, 0xD6, 0x1F, 0xCC, 0x71, 0x9F, 0x19, 0x2C } } } }, - { JA_JPN, kPlatformFMTowns, { 0x000000A0, 0x00003EEB, { { 0x4B, 0x0C, 0xD5, 0xF0, 0xFE, 0x05, 0xF5, 0x09, 0x96, 0xA9, 0xE4, 0xDD, 0x86, 0x8D, 0x79, 0x3C } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000045, 0x00002350, { { 0xAD, 0x17, 0xA0, 0x40, 0x86, 0x0E, 0x1D, 0x2F, 0xA7, 0x14, 0x5B, 0x81, 0x38, 0x09, 0x80, 0x21 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1FluteStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000003C, 0x00001599, { { 0x96, 0x72, 0x5A, 0x8A, 0xA0, 0xEE, 0xA2, 0xCE, 0x4D, 0x21, 0x01, 0x6C, 0xC5, 0x1A, 0xEB, 0x21 } } } }, // floppy + AMIGA - { EN_ANY, kPlatformDOS, { 0x0000009C, 0x00002334, { { 0xA8, 0xA3, 0x1F, 0x0D, 0x36, 0x25, 0x19, 0x98, 0x50, 0xA0, 0x13, 0x65, 0xF4, 0xE8, 0x27, 0x19 } } } }, // CD - - { FR_FRA, kPlatformDOS, { 0x00000045, 0x000018EE, { { 0x3E, 0x3B, 0x20, 0x46, 0xEB, 0xB0, 0x88, 0x26, 0xB2, 0x0D, 0xD6, 0x8F, 0xF7, 0x53, 0x74, 0xAE } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000040, 0x000016F2, { { 0x70, 0xFF, 0x86, 0x73, 0x9E, 0x75, 0xDD, 0x17, 0x27, 0x86, 0x44, 0xE9, 0x78, 0x3D, 0x48, 0xDB } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000004C, 0x00001BFB, { { 0x06, 0x4F, 0x6A, 0x37, 0x8B, 0x44, 0x27, 0x26, 0xCE, 0x28, 0xB2, 0x47, 0x71, 0xE2, 0x27, 0x73 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000045, 0x00001726, { { 0x5A, 0xCF, 0x64, 0x4B, 0x61, 0x57, 0xEC, 0xB3, 0xBF, 0x32, 0x45, 0x51, 0x5D, 0x02, 0xC5, 0xB6 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000052, 0x00001D8E, { { 0x9D, 0xA5, 0xF1, 0x42, 0xD1, 0x48, 0xEB, 0x8F, 0x4B, 0xDC, 0xD9, 0x10, 0x55, 0xBD, 0x12, 0xBB } } } }, - - // not translated in the fan translation - { RU_RUS, kPlatformDOS, { 0x0000003C, 0x00001599, { { 0x96, 0x72, 0x5A, 0x8A, 0xA0, 0xEE, 0xA2, 0xCE, 0x4D, 0x21, 0x01, 0x6C, 0xC5, 0x1A, 0xEB, 0x21 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000005A, 0x000024F9, { { 0xCA, 0x1F, 0x62, 0x23, 0x22, 0x25, 0x4A, 0x94, 0x8A, 0x50, 0x59, 0xD5, 0xB4, 0x4E, 0xF1, 0xA6 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000053, 0x00002745, { { 0x7A, 0xBB, 0xFC, 0x30, 0xB6, 0xCE, 0x61, 0xD4, 0xDB, 0xB0, 0xE6, 0xB2, 0xF4, 0x4D, 0x81, 0x35 } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000032, 0x00001CDF, { { 0xB7, 0x08, 0x8D, 0x67, 0xB2, 0x0F, 0x59, 0x2D, 0xA6, 0x36, 0x21, 0x7B, 0x8B, 0x89, 0xE3, 0xED } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1FlaskFullStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001C, 0x000009C8, { { 0xA5, 0xC7, 0x5E, 0x6E, 0x02, 0xEE, 0x8C, 0xF8, 0xF0, 0xBF, 0x69, 0xB8, 0x05, 0x1E, 0xF5, 0x28 } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000001F, 0x00001135, { { 0x90, 0x52, 0x4A, 0x95, 0xE4, 0x89, 0xD6, 0x0A, 0xE1, 0x2E, 0x98, 0x11, 0x02, 0xF5, 0x79, 0x37 } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000001E, 0x00000AC7, { { 0x4E, 0x7A, 0xC8, 0xC5, 0xD4, 0xB8, 0xD0, 0x73, 0x66, 0x2B, 0x2A, 0x13, 0xDE, 0xE1, 0x32, 0xAA } } } }, - - { DE_DEU, kPlatformUnknown, { 0x0000001E, 0x00000A71, { { 0x11, 0x88, 0x37, 0x8E, 0x17, 0xF2, 0x82, 0x1E, 0x72, 0xF0, 0xA3, 0x2B, 0x4F, 0x76, 0x5F, 0xBA } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000021, 0x00000C19, { { 0xC0, 0xFA, 0xD2, 0xB8, 0xCA, 0x94, 0x67, 0x10, 0x65, 0x01, 0x7F, 0xB0, 0x95, 0xC6, 0x0E, 0xFF } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000001E, 0x00000973, { { 0xD3, 0x93, 0x3C, 0xA6, 0xF7, 0x79, 0xE6, 0x05, 0x49, 0x88, 0x89, 0xDE, 0xCA, 0x77, 0x2F, 0x1B } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000001B, 0x0000099D, { { 0x13, 0x23, 0x5D, 0x38, 0x9B, 0xFB, 0x00, 0x5C, 0xA1, 0x3A, 0x22, 0xD6, 0xCD, 0x5C, 0x09, 0xAE } } } }, - - { RU_RUS, kPlatformDOS, { 0x0000001A, 0x0000066E, { { 0x36, 0x43, 0xB6, 0xB2, 0xED, 0xBA, 0x21, 0x0C, 0x16, 0x54, 0x99, 0xF9, 0x2E, 0x6E, 0x0A, 0x28 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1FullFlaskStringProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000097, 0x00003521, { { 0x9C, 0x30, 0xC7, 0xC9, 0x97, 0xF3, 0x0E, 0xC4, 0x6E, 0xCA, 0x63, 0xC6, 0xD8, 0x06, 0xFF, 0x30 } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000086, 0x00002E16, { { 0x94, 0x6C, 0x6D, 0xB6, 0x4C, 0x84, 0xBB, 0xF6, 0xC8, 0x50, 0x4C, 0x00, 0x38, 0xE3, 0x09, 0x5B } } } }, - - { DE_DEU, kPlatformDOS, { 0x000000AF, 0x00003E38, { { 0x66, 0x86, 0xAF, 0x1A, 0x2D, 0x33, 0x40, 0xE7, 0x96, 0x9B, 0x32, 0x26, 0xFF, 0x9F, 0x79, 0x8B } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000086, 0x00002CDB, { { 0xB1, 0xAE, 0x2A, 0x03, 0x28, 0xEC, 0x6D, 0x2F, 0xED, 0x71, 0xBE, 0x60, 0xCF, 0xAB, 0x8C, 0x00 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x000000B5, 0x00004111, { { 0xA3, 0x4D, 0xA0, 0xF5, 0xE5, 0xD7, 0xFE, 0x11, 0xBB, 0x2C, 0xB5, 0xF2, 0xE0, 0x52, 0xF1, 0xF0 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000009A, 0x0000363B, { { 0x38, 0x25, 0xE6, 0xB5, 0xCB, 0x78, 0x5E, 0xAD, 0x2D, 0xD4, 0x2E, 0x8B, 0x89, 0x20, 0xB1, 0x95 } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000094, 0x0000232B, { { 0xBF, 0x68, 0xF9, 0x8F, 0x82, 0xE9, 0xE7, 0x69, 0x33, 0xD6, 0x41, 0x15, 0x2C, 0xFE, 0x72, 0xAB } } } }, - - { EN_ANY, kPlatformAmiga, { 0x0000009A, 0x00003521, { { 0x26, 0xE5, 0xC8, 0x6D, 0x14, 0x81, 0x9F, 0x90, 0x38, 0x3C, 0x00, 0x9D, 0x8E, 0x72, 0xB1, 0x83 } } } }, - { DE_DEU, kPlatformAmiga, { 0x000000B0, 0x00003E38, { { 0x8A, 0x6D, 0x42, 0x36, 0x29, 0x06, 0xB2, 0xCE, 0xA3, 0x41, 0x14, 0xE8, 0xB1, 0xEF, 0x6E, 0x3B } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000009D, 0x00003521, { { 0xAB, 0x74, 0x71, 0x5C, 0x6E, 0x65, 0xF5, 0x5E, 0xB0, 0x6E, 0x0E, 0xC7, 0x56, 0xCB, 0x55, 0x98 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x0000007D, 0x000039CE, { { 0x9E, 0xBE, 0x13, 0x7F, 0x4D, 0x4B, 0xCB, 0x08, 0xC3, 0xE5, 0xF1, 0xC2, 0xD3, 0x69, 0x9E, 0xDF } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000079, 0x000039CE, { { 0xEF, 0x3F, 0x36, 0xD4, 0x6C, 0x64, 0x74, 0x9A, 0xFE, 0x13, 0xB5, 0x77, 0x9A, 0xCF, 0x15, 0x5C } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1VeryCleverStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000032, 0x0000118D, { { 0x4B, 0x6D, 0xD4, 0xDC, 0x3E, 0xA2, 0x2D, 0x6D, 0x2C, 0x5A, 0xF7, 0x67, 0x4B, 0x6D, 0x40, 0xEF } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000002F, 0x00001BDF, { { 0x32, 0x2C, 0x60, 0x1E, 0xB7, 0xE0, 0xFE, 0x5F, 0xEA, 0xEF, 0xA4, 0x73, 0xAC, 0xCB, 0xBA, 0xFE } } } }, - - { FR_FRA, kPlatformDOS, { 0x00000027, 0x00000DE1, { { 0x43, 0xC2, 0xC7, 0xD2, 0xA3, 0x70, 0x36, 0x38, 0xB5, 0x5B, 0x22, 0xEF, 0xBA, 0x0D, 0x37, 0x27 } } } }, - - { DE_DEU, kPlatformUnknown, { 0x00000043, 0x00001871, { { 0x33, 0x3F, 0xEA, 0x7F, 0x5F, 0x56, 0x98, 0xF3, 0x03, 0x8D, 0x3E, 0xAC, 0xA1, 0x62, 0x2A, 0xD7 } } } }, - - { IT_ITA, kPlatformDOS, { 0x00000038, 0x000013CF, { { 0x58, 0x7B, 0x59, 0x50, 0x84, 0xBB, 0x5B, 0x70, 0xDF, 0x76, 0x2F, 0xC3, 0x7E, 0xEC, 0x6A, 0x8B } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x00000027, 0x00000D01, { { 0x72, 0x7E, 0x88, 0xFB, 0xDA, 0xC0, 0x9E, 0x31, 0xAC, 0x32, 0xFD, 0x90, 0x7D, 0x01, 0x86, 0xD0 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x00000036, 0x000013F8, { { 0x2D, 0x9B, 0x7D, 0x58, 0xD1, 0x94, 0x04, 0x45, 0x6E, 0x81, 0xCC, 0x1E, 0x2F, 0xC5, 0xC9, 0xEA } } } }, - - // not translated in the fan translation - { RU_RUS, kPlatformDOS, { 0x00000032, 0x0000118D, { { 0x4B, 0x6D, 0xD4, 0xDC, 0x3E, 0xA2, 0x2D, 0x6D, 0x2C, 0x5A, 0xF7, 0x67, 0x4B, 0x6D, 0x40, 0xEF } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1NewGameStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000015, 0x0000052B, { { 0xAB, 0xD2, 0x16, 0x26, 0xC2, 0x86, 0xFA, 0xC8, 0x42, 0xCD, 0x16, 0xCD, 0x25, 0xB7, 0x44, 0xDC } } } }, - - { JA_JPN, kPlatformUnknown, { 0x0000001B, 0x00000EC8, { { 0x13, 0x9A, 0xBC, 0x8F, 0xE2, 0x4B, 0xD7, 0x0B, 0xC0, 0x81, 0x60, 0x10, 0xC2, 0xA6, 0x9C, 0xFA } } } }, - - { FR_FRA, kPlatformDOS, { 0x0000001D, 0x0000079B, { { 0x2B, 0x5B, 0x54, 0x29, 0x76, 0x31, 0x5E, 0x89, 0xC2, 0xD1, 0xDB, 0x3B, 0xF0, 0xBC, 0xCD, 0x66 } } } }, - - { DE_DEU, kPlatformUnknown, { 0x0000001D, 0x0000076F, { { 0x5C, 0x84, 0x2A, 0xB1, 0x61, 0xDD, 0x7B, 0xB3, 0xD4, 0x6A, 0xD2, 0xEF, 0xA4, 0x5F, 0x81, 0xFE } } } }, - - { IT_ITA, kPlatformDOS, { 0x0000001C, 0x0000075E, { { 0xC8, 0xCB, 0x35, 0x5E, 0x73, 0x09, 0xDB, 0xA1, 0xF1, 0x8D, 0x14, 0x54, 0x8D, 0xF7, 0xB1, 0xD3 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000001D, 0x000007BD, { { 0xF4, 0x5C, 0x50, 0x82, 0x91, 0x7E, 0x09, 0x52, 0x44, 0x95, 0xC2, 0x2E, 0xC9, 0x52, 0x12, 0x2B } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000001B, 0x00000701, { { 0x2B, 0x87, 0xC3, 0x82, 0x68, 0xA5, 0xFC, 0xC5, 0x64, 0x9E, 0xAB, 0xD2, 0x8A, 0x07, 0x9C, 0x1E } } } }, - - { RU_RUS, kPlatformDOS, { 0x00000015, 0x0000035F, { { 0x7E, 0x49, 0xC1, 0xCB, 0x2D, 0x61, 0xA7, 0x4C, 0x20, 0xAC, 0xEC, 0x54, 0x80, 0x14, 0x6A, 0xCA } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1DefaultShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000048A, 0x00012C0A, { { 0x90, 0x9E, 0x21, 0x9F, 0x90, 0x16, 0x1D, 0xA5, 0x57, 0xF8, 0x71, 0xE1, 0x15, 0x44, 0x29, 0x73 } } } }, - - // TODO: Where did this come from? - /*{ UNK_LANG, kPlatformUnknown, { 0x000004F3, 0x00014AE4, { { 0x6E, 0x37, 0x81, 0x15, 0x4D, 0xDD, 0xBA, 0xA6, 0xE3, 0x5F, 0xB6, 0xC8, 0x20, 0xE9, 0xE0, 0x63 } } } },*/ - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Healing1ShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00002F17, { { 0x92, 0x2C, 0xF1, 0x5C, 0x8B, 0xCE, 0xEB, 0x0B, 0xE4, 0x07, 0x16, 0xAA, 0x25, 0x4F, 0x83, 0xEB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Healing2ShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000D2, 0x00004257, { { 0xAC, 0x35, 0xAA, 0x72, 0x50, 0x67, 0x58, 0xE4, 0x70, 0xB0, 0xBB, 0xCA, 0xA7, 0x4C, 0x91, 0x82 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PoisonDeathShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000008C, 0x00002E90, { { 0xBC, 0x44, 0xFB, 0x98, 0xE7, 0x42, 0xF6, 0xC8, 0x87, 0xDD, 0x00, 0x42, 0x85, 0xD8, 0x1E, 0x81 } } } }, - { UNK_LANG, kPlatformUnknown, { 0x0000008C, 0x00002E7C, { { 0xA5, 0xD7, 0x13, 0xFC, 0x43, 0x22, 0x13, 0xBC, 0x5F, 0x3F, 0xC8, 0x28, 0xDA, 0x04, 0xB0, 0xDD } } } }, // Old Dos Floppy - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1FluteShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000FC, 0x00004F0F, { { 0xB1, 0xF0, 0x56, 0x6E, 0xAB, 0x3C, 0x88, 0x13, 0x97, 0x7C, 0xCC, 0x61, 0x85, 0x8A, 0x28, 0x12 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Winter1ShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000031, 0x00000E70, { { 0x3A, 0x15, 0x36, 0x51, 0x2F, 0xF8, 0xAF, 0xE6, 0x41, 0x71, 0x8D, 0x44, 0x99, 0x48, 0xB3, 0x4F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Winter2ShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000F5, 0x00005192, { { 0xD3, 0x64, 0xAC, 0x64, 0x42, 0x9F, 0xB9, 0xCA, 0x0C, 0xC8, 0x97, 0x67, 0x8C, 0x92, 0xB4, 0x79 } } } }, - - { UNK_LANG, kPlatformUnknown, { 0x000000F5, 0x000029E4, { { 0xF0, 0x7B, 0x05, 0xD8, 0xC1, 0x97, 0x27, 0x17, 0xFA, 0x32, 0xE9, 0x1A, 0x46, 0xA5, 0xEB, 0x84 } } } }, // CD + Amiga - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1Winter3ShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001C, 0x00000A5E, { { 0x84, 0xDD, 0xC0, 0xEA, 0xE3, 0xBE, 0x98, 0x66, 0xE0, 0xA3, 0x4D, 0x00, 0x88, 0x31, 0x61, 0x1F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1DrinkShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000069, 0x00001EDA, { { 0x21, 0xFA, 0x2F, 0x41, 0x8F, 0x70, 0x3B, 0xBB, 0x93, 0x35, 0x49, 0xEC, 0x1C, 0xEE, 0xDD, 0xAC } } } }, - - { UNK_LANG, kPlatformFMTowns, { 0x0000006A, 0x00001EDA, { { 0xE2, 0xDA, 0xEC, 0x87, 0x4A, 0x27, 0xD8, 0xC1, 0x57, 0xE7, 0xD8, 0xD7, 0x87, 0x5F, 0x3A, 0xEB } } } }, - - { UNK_LANG, kPlatformPC98, { 0x0000006A, 0x00001EDA, { { 0xE2, 0xDA, 0xEC, 0x87, 0x4A, 0x27, 0xD8, 0xC1, 0x57, 0xE7, 0xD8, 0xD7, 0x87, 0x5F, 0x3A, 0xEB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1WispShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B6, 0x00003A53, { { 0x34, 0x52, 0x9D, 0x06, 0x4F, 0x1B, 0xCD, 0xB7, 0x30, 0xF7, 0xB4, 0x9F, 0x0F, 0x34, 0xDD, 0xF7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1MagicAnimShapesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000023, 0x00000A2D, { { 0x48, 0x8E, 0x2A, 0x61, 0x93, 0xCD, 0x58, 0x3B, 0x45, 0x62, 0xD9, 0x01, 0x8F, 0xBA, 0x2A, 0x1A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1BranStoneShapesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000006E, 0x00001E41, { { 0x77, 0x99, 0x54, 0xED, 0x4C, 0x31, 0x08, 0x50, 0x41, 0x22, 0x6B, 0xED, 0x34, 0xF4, 0x17, 0xA1 } } } }, - - { UNK_LANG, kPlatformAmiga, { 0x0000006E, 0x00002026, { { 0x5A, 0xAF, 0x28, 0xF3, 0x0F, 0x82, 0x05, 0xB4, 0x33, 0x83, 0xCE, 0x56, 0xDB, 0xE7, 0x5C, 0xB4 } } } }, - - { UNK_LANG, kPlatformFMTowns, { 0x00000063, 0x00001E41, { { 0xDA, 0xA1, 0x93, 0x68, 0xBF, 0xB3, 0xBB, 0xD1, 0x2E, 0xF9, 0xB2, 0x25, 0x72, 0xD9, 0xA6, 0x00 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x00000063, 0x00001E41, { { 0xDA, 0xA1, 0x93, 0x68, 0xBF, 0xB3, 0xBB, 0xD1, 0x2E, 0xF9, 0xB2, 0x25, 0x72, 0xD9, 0xA6, 0x00 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x0000024B, { { 0x6C, 0x6C, 0xE9, 0xB6, 0xC4, 0xC2, 0x29, 0xA5, 0xB6, 0xB3, 0x82, 0xB6, 0x03, 0x5B, 0x66, 0x7A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000033, 0x00000470, { { 0x63, 0x02, 0x97, 0x7D, 0xBE, 0x97, 0x5E, 0x88, 0x2E, 0x50, 0x18, 0x6A, 0x4A, 0x61, 0x09, 0xA6 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000033, 0x0000042A, { { 0xF8, 0x32, 0x65, 0x55, 0x1C, 0xC5, 0x6E, 0x71, 0xC6, 0x6A, 0x8E, 0xC5, 0x3C, 0xBC, 0x1F, 0xA8 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette4Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000033, 0x000003A4, { { 0xA1, 0xA6, 0x6F, 0x53, 0xA2, 0x1E, 0x27, 0x6F, 0x0D, 0xD0, 0x4F, 0xDC, 0x4C, 0xDC, 0xAE, 0x17 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette5Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000033, 0x0000033D, { { 0x22, 0x02, 0xB3, 0xCD, 0x4E, 0xD5, 0x6E, 0x65, 0x2B, 0x38, 0x7D, 0x3E, 0x27, 0x03, 0x1A, 0x59 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette6Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000033, 0x000001EA, { { 0xC7, 0xA7, 0x0E, 0xBA, 0x3F, 0x5E, 0xD3, 0x02, 0x99, 0x3B, 0x32, 0x00, 0x39, 0x3C, 0xD2, 0xAC } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette7Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000036, 0x0000040C, { { 0x1A, 0x8E, 0x3E, 0x5F, 0x09, 0xFE, 0x4A, 0xF1, 0x5D, 0x2E, 0x2C, 0xD3, 0xFF, 0x75, 0x7D, 0x1C } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette8Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000036, 0x000008E4, { { 0x55, 0xB4, 0xD3, 0xD1, 0x89, 0x49, 0xA5, 0x7E, 0x40, 0xF9, 0xFE, 0x6E, 0x16, 0xE8, 0xBD, 0xBB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette9Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x000001DB, { { 0x7A, 0x04, 0x16, 0xDD, 0x6A, 0xBA, 0x51, 0x9E, 0x24, 0x9E, 0xEA, 0x76, 0xD0, 0xFA, 0x92, 0xF4 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette10Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x0000017A, { { 0xD2, 0x20, 0x1F, 0x12, 0xE1, 0x65, 0x68, 0xA7, 0x9C, 0x69, 0x8E, 0x99, 0xDF, 0xC5, 0xD2, 0x8E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette11Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x00000136, { { 0xBF, 0x38, 0xB1, 0xFE, 0xBF, 0x25, 0xBC, 0xD3, 0xCC, 0x60, 0x40, 0x97, 0xB6, 0x4A, 0xC7, 0xB2 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette12Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x00000102, { { 0x1C, 0x1E, 0x6A, 0x30, 0xE1, 0xD1, 0xF9, 0x3D, 0x9A, 0xF1, 0x84, 0xBD, 0x44, 0x07, 0x51, 0xEA } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette13Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x00000000, { { 0x76, 0x22, 0x21, 0x4B, 0x85, 0x36, 0xAF, 0xE7, 0xB8, 0x9B, 0x1C, 0x66, 0x06, 0x06, 0x9B, 0x0D } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette14Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x000003BF, { { 0x78, 0xE8, 0xA8, 0xF2, 0x4D, 0x54, 0x48, 0x47, 0xC9, 0xC1, 0x5B, 0x6C, 0x69, 0xCB, 0x65, 0xB6 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette15Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002D, 0x000002DD, { { 0x9F, 0x66, 0x50, 0xAC, 0xED, 0x0C, 0x63, 0x20, 0xE9, 0x4E, 0x4D, 0x3D, 0xC4, 0xBC, 0x94, 0x8A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette16Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x0000036E, { { 0xA9, 0xDB, 0x1C, 0x35, 0xED, 0xED, 0xE4, 0x40, 0x68, 0x29, 0xB1, 0x6E, 0x60, 0xE4, 0xB0, 0xDB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette17Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x000004D7, { { 0xC0, 0xB5, 0x7B, 0x94, 0xED, 0xD7, 0x48, 0x66, 0x37, 0x54, 0xE8, 0xFC, 0x0F, 0xA5, 0x54, 0x8A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette18Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x000002FD, { { 0x0A, 0xDD, 0x81, 0xA8, 0x89, 0xD2, 0x53, 0x05, 0x25, 0xCC, 0x2B, 0x8B, 0x48, 0x1D, 0xAB, 0x0A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette19Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x00000134, { { 0xCB, 0x0F, 0xA9, 0xD2, 0xD8, 0xEA, 0x2A, 0x1F, 0x16, 0x7B, 0x90, 0xE5, 0x72, 0xB3, 0x52, 0x50 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette20Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x00000396, { { 0x3B, 0xD8, 0xA5, 0xC5, 0x66, 0x3E, 0xC7, 0x88, 0xD0, 0x3B, 0x42, 0x29, 0x84, 0x58, 0xA7, 0x00 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette21Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x00000134, { { 0x96, 0x70, 0x7D, 0x5B, 0xC4, 0xBA, 0x89, 0x89, 0xC9, 0x42, 0xF4, 0x70, 0x33, 0xF5, 0xE8, 0x02 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette22Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x00000376, { { 0xA2, 0x92, 0x28, 0x65, 0xAB, 0xCC, 0x16, 0xE8, 0xA5, 0x72, 0x2F, 0x00, 0x66, 0x8F, 0x8D, 0x96 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette23Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000015, 0x000002C2, { { 0x5C, 0x78, 0x74, 0x81, 0x76, 0xB5, 0x26, 0x8E, 0x20, 0xAE, 0x50, 0xCD, 0x2B, 0x9E, 0x81, 0x8B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette24Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000472, { { 0xC6, 0xF0, 0xA6, 0x33, 0x7E, 0xAE, 0xBC, 0xF9, 0xAE, 0xE2, 0xF4, 0x7B, 0x71, 0x44, 0x50, 0xEF } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette25Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x000004CD, { { 0x57, 0x03, 0xB5, 0x27, 0x64, 0x48, 0xBF, 0x6A, 0x0F, 0xC2, 0xC0, 0x4A, 0x73, 0x9A, 0xFE, 0xB3 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette26Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x000004CA, { { 0xF8, 0x39, 0x8D, 0x6F, 0x8D, 0x9C, 0x6E, 0x0A, 0x33, 0xE8, 0xF2, 0xA6, 0xF6, 0x40, 0x70, 0xE5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette27Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x000004D9, { { 0xF6, 0xD4, 0x88, 0x57, 0x6F, 0x1A, 0xA3, 0x1F, 0x6B, 0x17, 0x4D, 0xA0, 0x9E, 0xD8, 0x09, 0x66 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette28Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x0000051D, { { 0x59, 0x02, 0xE3, 0xC6, 0x28, 0xF6, 0xBC, 0xD4, 0xC8, 0x7E, 0x58, 0x6F, 0xE4, 0xA2, 0x28, 0x4F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette29Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000534, { { 0xC2, 0x26, 0x94, 0x47, 0x28, 0x11, 0xAA, 0xE6, 0x10, 0xA2, 0xD4, 0xD9, 0x61, 0x57, 0x62, 0x22 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette30Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000453, { { 0xE1, 0x30, 0xC2, 0xCD, 0x79, 0xD8, 0x36, 0x8D, 0xAC, 0xF7, 0x87, 0x05, 0x49, 0xD7, 0x7A, 0x5F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette31Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000027, 0x000002FB, { { 0xA6, 0x65, 0xE1, 0xE1, 0xCC, 0x71, 0x83, 0x63, 0x9A, 0x04, 0xE2, 0x00, 0xBF, 0x90, 0xDF, 0x95 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette32Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000027, 0x0000016C, { { 0xAA, 0x88, 0x97, 0xE3, 0xCA, 0x06, 0x11, 0x07, 0x8F, 0xFA, 0x75, 0x26, 0xA8, 0x7A, 0x49, 0x28 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1SpecialPalette33Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x0000094C, { { 0x2E, 0x5E, 0x34, 0x3E, 0x99, 0x61, 0x6F, 0x88, 0x91, 0xA7, 0x75, 0xAA, 0x42, 0x4B, 0x1F, 0x5D } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1GUIStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x000001B0, 0x00009562, { { 0x78, 0xB0, 0x81, 0x15, 0x96, 0x09, 0x1E, 0x6C, 0x20, 0x7B, 0xF7, 0xB1, 0x29, 0x2A, 0x3D, 0xE4 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000209, 0x00009788, { { 0xDD, 0xA0, 0x5C, 0x30, 0x60, 0x68, 0xDC, 0x24, 0xBE, 0x3F, 0xA2, 0x31, 0xE0, 0x81, 0x6C, 0xCA } } } }, // CD - - { FR_FRA, kPlatformDOS, { 0x00000234, 0x0000C262, { { 0x08, 0x83, 0x32, 0x4E, 0x48, 0xEC, 0x83, 0x4B, 0x1B, 0x82, 0x58, 0x48, 0xA3, 0x30, 0x05, 0x33 } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x0000025D, 0x0000CBDC, { { 0x36, 0xF0, 0x92, 0x9C, 0x5F, 0xFF, 0x5D, 0x65, 0x5F, 0x0B, 0xC0, 0x72, 0x9F, 0x30, 0x47, 0xAB } } } }, // CD - - { DE_DEU, kPlatformDOS, { 0x00000236, 0x0000BA9C, { { 0xEB, 0xA6, 0x90, 0x9D, 0x99, 0x4B, 0x4F, 0xD9, 0xCE, 0xFF, 0x44, 0x3F, 0x77, 0x6F, 0xE1, 0x71 } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000261, 0x0000C538, { { 0xF3, 0xED, 0x5E, 0x73, 0x6F, 0x6E, 0x06, 0xF8, 0x48, 0xF8, 0x30, 0x69, 0x34, 0x5D, 0x99, 0x0C } } } }, // CD - - { IT_ITA, kPlatformDOS, { 0x00000225, 0x0000B0E1, { { 0x57, 0xE2, 0x39, 0xA8, 0xF5, 0x70, 0x48, 0xB4, 0x3D, 0xD4, 0x2A, 0x8C, 0x7C, 0x76, 0xB7, 0x8D } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000025D, 0x0000AFD0, { { 0x8E, 0x97, 0xA9, 0x55, 0x16, 0xF7, 0x42, 0x83, 0xA3, 0x68, 0x2F, 0xD6, 0x37, 0x1C, 0x9A, 0xD1 } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000023A, 0x0000C3BD, { { 0xED, 0x0D, 0xE7, 0x5B, 0xDC, 0x21, 0x41, 0x54, 0x68, 0x7D, 0x8E, 0x97, 0x1A, 0xB1, 0xA1, 0x4A } } } }, // floppy - - { RU_RUS, kPlatformDOS, { 0x000001B1, 0x000065E8, { { 0x91, 0x22, 0x61, 0x8B, 0xCD, 0x7C, 0x0E, 0xD4, 0x32, 0x00, 0xC3, 0x6E, 0x50, 0x7F, 0x3C, 0x82 } } } }, // floppy - - { EN_ANY, kPlatformAmiga, { 0x000001DF, 0x00009042, { { 0x0D, 0xD3, 0x1A, 0x92, 0x8D, 0x9C, 0x72, 0x55, 0xEF, 0xFB, 0x81, 0x21, 0x3B, 0x43, 0xA7, 0xE8 } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000237, 0x0000BAF7, { { 0xD7, 0x1A, 0x8E, 0xCC, 0x6D, 0x3E, 0xA9, 0xDD, 0x9A, 0x6B, 0x71, 0xFE, 0xD4, 0x50, 0x30, 0x6E } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x000001FC, 0x00009D9A, { { 0xE8, 0x39, 0x46, 0x0A, 0x41, 0xC3, 0xDC, 0x33, 0x6E, 0xC5, 0x5D, 0x99, 0xCC, 0xF6, 0xDD, 0xCC } } } }, - { JA_JPN, kPlatformFMTowns, { 0x0000025F, 0x0000E56A, { { 0x77, 0x9A, 0x02, 0x52, 0xED, 0x62, 0x23, 0x5A, 0x58, 0x78, 0x19, 0x52, 0x03, 0xD7, 0x88, 0x40 } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000213, 0x0000EC5A, { { 0x3B, 0xBA, 0xFB, 0x61, 0x34, 0x60, 0x25, 0xDA, 0x48, 0xBF, 0x95, 0x7F, 0x7F, 0xB6, 0xE4, 0x55 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1ConfigStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000003F, 0x000016E9, { { 0x4F, 0x19, 0x60, 0x67, 0xA8, 0x31, 0x0B, 0xD5, 0x3D, 0x06, 0x39, 0xF1, 0x42, 0xB0, 0xFD, 0x5C } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000061, 0x00002249, { { 0x5D, 0xE2, 0x05, 0xA7, 0xEC, 0x0A, 0x73, 0xF5, 0x01, 0x5B, 0x64, 0x71, 0x83, 0xEC, 0x56, 0x24 } } } }, // CD - - { FR_FRA, kPlatformDOS, { 0x0000004B, 0x00001AE8, { { 0xE3, 0xC9, 0x0F, 0x54, 0x48, 0x31, 0x6E, 0x5F, 0x51, 0x8E, 0xF8, 0xE6, 0xAC, 0x16, 0xAC, 0x1C } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x0000007A, 0x00002C37, { { 0x9E, 0xD8, 0x85, 0xB4, 0x9D, 0x32, 0x9D, 0x80, 0x58, 0xE4, 0x08, 0xC7, 0x75, 0xD2, 0x9C, 0x1E } } } }, // CD - - { DE_DEU, kPlatformDOS, { 0x0000005E, 0x00002280, { { 0xC7, 0xD2, 0x22, 0xB5, 0xD3, 0xBC, 0x7A, 0x97, 0x26, 0x04, 0x07, 0x78, 0xAA, 0xAB, 0x1D, 0x5C } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000082, 0x00002E94, { { 0xC5, 0xDC, 0x44, 0x6C, 0x4B, 0x3E, 0x4E, 0x27, 0x0C, 0xCC, 0x65, 0x6C, 0x20, 0x8D, 0x71, 0x07 } } } }, // CD - - { IT_ITA, kPlatformDOS, { 0x00000054, 0x00001E98, { { 0x10, 0x6B, 0x6B, 0x9B, 0x91, 0x05, 0xE9, 0x30, 0xE2, 0x75, 0xE2, 0x45, 0x79, 0x17, 0x73, 0xC9 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x0000007A, 0x00002904, { { 0xD3, 0xD2, 0x96, 0x6E, 0xE7, 0xE8, 0x64, 0x77, 0x73, 0xCD, 0xC2, 0x9E, 0x57, 0xB5, 0xD3, 0xCD } } } }, // (fan) CD - - { ES_ESP, kPlatformDOS, { 0x0000004A, 0x00001B7B, { { 0x6B, 0x69, 0x50, 0x92, 0x9B, 0x35, 0x58, 0xE1, 0xEA, 0xBF, 0x42, 0x0B, 0xEB, 0x88, 0x41, 0x8D } } } }, // floppy - - // not translated in the fan translation - { RU_RUS, kPlatformDOS, { 0x0000003F, 0x00000B0D, { { 0x0E, 0x60, 0x0F, 0x4A, 0xA9, 0xF0, 0x1B, 0x76, 0xBB, 0x33, 0xB2, 0x4B, 0x5C, 0xB5, 0x4A, 0x97 } } } }, // floppy - - { EN_ANY, kPlatformAmiga, { 0x0000002E, 0x00000FA1, { { 0x5E, 0xFF, 0xFF, 0x3D, 0xF8, 0x11, 0x6F, 0x3B, 0xC5, 0x39, 0x8F, 0x25, 0x8F, 0x0F, 0xE9, 0x2B } } } }, - { DE_DEU, kPlatformAmiga, { 0x00000043, 0x00001783, { { 0xB2, 0x2B, 0xAB, 0x27, 0x06, 0x9A, 0x1E, 0x4B, 0xA7, 0xD3, 0xFF, 0xEB, 0xFD, 0x12, 0xDC, 0x94 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000004A, 0x000016E9, { { 0x37, 0x12, 0xAD, 0x4C, 0xB8, 0x2C, 0xF5, 0x75, 0x20, 0x74, 0xA0, 0xFD, 0x58, 0xB1, 0x71, 0x77 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000057, 0x00002262, { { 0xC5, 0x9A, 0x4A, 0xE3, 0xDF, 0xD3, 0x0E, 0x8E, 0xBB, 0xAF, 0x75, 0xD3, 0x67, 0xB1, 0xF6, 0x08 } } } }, - - { JA_JPN, kPlatformPC98, { 0x0000003F, 0x00001E9D, { { 0x8A, 0x3C, 0x78, 0x6B, 0x3F, 0x0A, 0x7D, 0x92, 0x16, 0x39, 0xEB, 0x1C, 0x84, 0x9E, 0x4F, 0x84 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1TownsMusicFadeTableProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00000B10, 0x000076DE, { { 0x9F, 0x08, 0x5B, 0xD6, 0x25, 0x7F, 0x11, 0x08, 0x87, 0x45, 0x92, 0xD3, 0xE5, 0xA8, 0x7C, 0x2F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1TownsSFXwdTableProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00012608, 0x006717A1, { { 0x34, 0xDD, 0x2D, 0xA5, 0x14, 0x05, 0xEE, 0x2F, 0x93, 0x7C, 0x78, 0x4D, 0xCA, 0x13, 0xED, 0x93 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1TownsSFXbtTableProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00000100, 0x00007FFE, { { 0xEF, 0x3D, 0x9F, 0x31, 0xE7, 0x19, 0x1E, 0x4F, 0xF3, 0x66, 0x42, 0xC8, 0x0D, 0x89, 0x96, 0x20 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1TownsCDATableProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x000002C4, 0x0000C5ED, { { 0x76, 0x86, 0x77, 0xF9, 0x85, 0x23, 0x32, 0x56, 0x3C, 0x06, 0x03, 0xCF, 0x0C, 0x49, 0x94, 0xB5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PC98StoryStringsProvider[] = { - { JA_JPN, kPlatformPC98, { 0x00000054, 0x00002FAD, { { 0xCB, 0x25, 0xD1, 0xFA, 0x65, 0xCE, 0xD5, 0xE6, 0xAD, 0xE3, 0x48, 0x25, 0xC8, 0x51, 0xC6, 0x12 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1PC98IntroSfxProvider[] = { - { UNK_LANG, kPlatformPC98, { 0x00000300, 0x00017445, { { 0xC3, 0x54, 0x4A, 0x58, 0x00, 0x33, 0xEA, 0xF1, 0x20, 0xA8, 0x0C, 0xDE, 0x7A, 0x94, 0xAB, 0x5E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1CreditsStringsProvider[] = { - { EN_ANY, kPlatformAmiga, { 0x000004CC, 0x000182F7, { { 0x7D, 0x14, 0xA6, 0xEC, 0x12, 0x67, 0xAC, 0xA7, 0x7B, 0xF8, 0x44, 0x19, 0x52, 0xCC, 0x3A, 0x65 } } } }, - { DE_DEU, kPlatformAmiga, { 0x000004FB, 0x00019987, { { 0x8B, 0xF1, 0x61, 0xB9, 0x3E, 0xA4, 0x28, 0x9B, 0x45, 0x86, 0xD1, 0xF0, 0xC3, 0x35, 0x44, 0xA0 } } } }, - - { EN_ANY, kPlatformFMTowns, { 0x0000058C, 0x0001AD16, { { 0xFC, 0x1B, 0xE6, 0xEB, 0x03, 0x1C, 0x54, 0x93, 0x64, 0x53, 0xB1, 0x17, 0x9D, 0x95, 0x1B, 0x4A } } } }, - { JA_JPN, kPlatformFMTowns, { 0x0000058C, 0x0001AD16, { { 0xFC, 0x1B, 0xE6, 0xEB, 0x03, 0x1C, 0x54, 0x93, 0x64, 0x53, 0xB1, 0x17, 0x9D, 0x95, 0x1B, 0x4A } } } }, - - { JA_JPN, kPlatformPC98, { 0x00000530, 0x00019571, { { 0x38, 0x4F, 0xE0, 0x74, 0x27, 0x21, 0xEC, 0x63, 0x41, 0x32, 0xB1, 0xD9, 0xA5, 0x65, 0x62, 0x71 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AmigaIntroSFXTableProvider[] = { - { UNK_LANG, kPlatformAmiga, { 0x00000140, 0x00000D82, { { 0x61, 0xF6, 0x8F, 0xE5, 0xCD, 0x15, 0x58, 0x9F, 0xDF, 0x0E, 0x22, 0xAA, 0x9A, 0xCF, 0xC4, 0xA6 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k1AmigaGameSFXTableProvider[] = { - { UNK_LANG, kPlatformAmiga, { 0x000003C0, 0x00005505, { { 0x8D, 0x6D, 0x2C, 0x58, 0x50, 0xF7, 0xBF, 0x60, 0xC3, 0x15, 0x20, 0x23, 0x1F, 0x90, 0x3E, 0xD6 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayPakFilesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000022, 0x000008E0, { { 0xB7, 0x3B, 0x51, 0x46, 0x78, 0x2D, 0x4D, 0x82, 0xD4, 0x30, 0xFC, 0x6E, 0xC4, 0x5B, 0x27, 0x3E } } } }, // DOS floppy + PC98 - - { UNK_LANG, kPlatformDOS, { 0x00000046, 0x0000121A, { { 0x42, 0xC2, 0x5A, 0xDC, 0x27, 0x2D, 0xB4, 0x44, 0x85, 0x58, 0x0F, 0xB6, 0x6D, 0x76, 0x04, 0x4F } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x00000014, 0x000004FA, { { 0xBB, 0x4C, 0x16, 0xEB, 0x56, 0xEF, 0xAC, 0x68, 0x6B, 0x49, 0x96, 0x3A, 0x9F, 0x00, 0x75, 0xF6 } } } }, // demo - { UNK_LANG, kPlatformDOS, { 0x0000000C, 0x00000308, { { 0xC0, 0xAC, 0x10, 0xF1, 0x12, 0xD1, 0x21, 0x92, 0xA1, 0x62, 0x5B, 0x6E, 0xCF, 0x88, 0x32, 0x7C } } } }, // Lands of Lore demo - - { UNK_LANG, kPlatformFMTowns, { 0x00000033, 0x00000BBD, { { 0x92, 0x5B, 0xDA, 0xE3, 0x7C, 0x39, 0xC4, 0x75, 0x24, 0xBA, 0x67, 0x27, 0x6E, 0x21, 0xA3, 0xF7 } } } }, - - // TODO: Where did this come from? - //{ UNK_LANG, kPlatformUnknown, { 0x0000002E, 0x00000C09, { { 0x6A, 0x25, 0xF6, 0x03, 0xA6, 0x88, 0xA0, 0x53, 0xE1, 0xF4, 0xB9, 0x0C, 0x71, 0x17, 0x36, 0x6B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x000008C8, 0x0002FDE3, { { 0x62, 0xD1, 0x6F, 0xBC, 0xEC, 0xE6, 0xCF, 0xE8, 0xD8, 0xE9, 0xDE, 0xFB, 0x09, 0xAF, 0x34, 0x92 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000916, 0x00031417, { { 0x3E, 0x15, 0xDA, 0xF4, 0x77, 0x44, 0x80, 0x47, 0xDB, 0x32, 0x0E, 0x6D, 0xCA, 0x32, 0x65, 0x1B } } } }, // CD - { EN_ANY, kPlatformDOS, { 0x00000102, 0x00005BD6, { { 0xB3, 0x00, 0xE5, 0x39, 0x02, 0x3D, 0xBF, 0xDD, 0x54, 0x70, 0xEA, 0xC1, 0xCB, 0xAC, 0xAA, 0xF7 } } } }, // Lands of Lore demo - - { DE_DEU, kPlatformDOS, { 0x000009EC, 0x000370F9, { { 0x56, 0x94, 0xCC, 0xE5, 0x38, 0x19, 0xAD, 0xD1, 0xBB, 0x6A, 0x6E, 0xEC, 0xC5, 0x1B, 0x57, 0x7B } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000A3F, 0x000389F4, { { 0x51, 0xC1, 0x87, 0x16, 0x53, 0x8C, 0x68, 0x8E, 0x9B, 0x81, 0xA1, 0xD2, 0xCE, 0x5F, 0x83, 0x31 } } } }, // CD - - { FR_FRA, kPlatformDOS, { 0x000009C9, 0x00036324, { { 0x2C, 0xC2, 0xD9, 0xCF, 0x90, 0x2A, 0xDF, 0xE9, 0x85, 0x9E, 0x5D, 0xBB, 0x1D, 0x9A, 0x14, 0x69 } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x00000995, 0x000352D7, { { 0xED, 0x7C, 0x49, 0x7B, 0x1A, 0x2C, 0x73, 0x61, 0x73, 0xAF, 0x16, 0x89, 0x1E, 0x01, 0xE2, 0xAE } } } }, // CD - - { IT_ITA, kPlatformDOS, { 0x00000916, 0x0003188F, { { 0xDC, 0x46, 0x06, 0xE1, 0xB0, 0x66, 0xBC, 0x18, 0x2E, 0x6E, 0x9E, 0xC9, 0xA4, 0x14, 0x8D, 0x08 } } } }, // floppy - { IT_ITA, kPlatformDOS, { 0x000008C8, 0x00030947, { { 0x7F, 0x75, 0x5F, 0x99, 0x94, 0xFE, 0xA1, 0xE6, 0xEF, 0xB8, 0x93, 0x71, 0x83, 0x1B, 0xAC, 0x4A } } } }, // (fan) CD - - { RU_RUS, kPlatformDOS, { 0x00000916, 0x00032C49, { { 0xEA, 0x5C, 0xE5, 0x06, 0x05, 0x5F, 0x36, 0xE8, 0x31, 0x3E, 0xBF, 0x74, 0x73, 0xFB, 0xAB, 0xFF } } } }, // (fan) CD - intro and outro strings haven't been translated in this fan translation - { RU_RUS, kPlatformDOS, { 0x000008C8, 0x00028639, { { 0xF9, 0x1D, 0x6A, 0x85, 0x23, 0x5E, 0x2A, 0x64, 0xBC, 0x45, 0xB2, 0x48, 0x13, 0x49, 0xD4, 0xF7 } } } }, // (fan) floppy - - { EN_ANY, kPlatformFMTowns, { 0x00000990, 0x00030C61, { { 0x60, 0x51, 0x11, 0x83, 0x3F, 0x06, 0xC3, 0xA3, 0xE0, 0xC0, 0x2F, 0x41, 0x29, 0xDE, 0x65, 0xB1 } } } }, - { JA_JPN, kPlatformFMTowns, { 0x000008A8, 0x00036831, { { 0x56, 0x5B, 0x23, 0x61, 0xE8, 0x3B, 0xE1, 0x36, 0xD6, 0x62, 0xD0, 0x84, 0x00, 0x04, 0x05, 0xAD } } } }, - - { EN_ANY, kPlatformPC98, { 0x000008F4, 0x00030C61, { { 0xA4, 0x4C, 0xD9, 0x05, 0x65, 0x24, 0xE5, 0x3E, 0x6C, 0x8B, 0xEE, 0x8D, 0x4F, 0x09, 0x6F, 0x00 } } } }, - { JA_JPN, kPlatformPC98, { 0x000007F5, 0x00036831, { { 0xF7, 0xCF, 0xF1, 0x2B, 0x26, 0x1E, 0xEC, 0xC8, 0x13, 0xDE, 0xC7, 0x71, 0x72, 0x05, 0x0F, 0xA7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplaySfxFilesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000173, 0x00008198, { { 0x2D, 0xF5, 0x5C, 0xAE, 0xDB, 0x71, 0x60, 0xFE, 0x78, 0x04, 0xFC, 0xAD, 0x4B, 0x43, 0xB1, 0x4B } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000234, 0x0000B0B2, { { 0xE4, 0x19, 0x4F, 0x8C, 0x53, 0xFD, 0x5F, 0x2A, 0xFB, 0x77, 0x1C, 0x32, 0xB3, 0x39, 0x25, 0x85 } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x000000DE, 0x00004EA4, { { 0x97, 0xA8, 0x4A, 0xED, 0x12, 0x87, 0xEB, 0x82, 0x42, 0xFA, 0x45, 0x0D, 0x45, 0x8F, 0xFE, 0x76 } } } }, // demo - { UNK_LANG, kPlatformDOS, { 0x000000C5, 0x00004508, { { 0xBF, 0xA9, 0x1A, 0x37, 0x0B, 0xF8, 0x13, 0x9D, 0x2D, 0x67, 0x3D, 0x9B, 0xE9, 0x16, 0x07, 0x0C } } } }, // Lands of Lore demo - - { UNK_LANG, kPlatformFMTowns, { 0x000001A3, 0x00008098, { { 0xA9, 0xD2, 0xE2, 0x32, 0x59, 0xC4, 0x97, 0x74, 0x11, 0x49, 0x8F, 0x2B, 0xBF, 0x00, 0xF9, 0xF1 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x00000173, 0x00008098, { { 0x29, 0xA6, 0xF1, 0x2D, 0x35, 0x38, 0xFD, 0x3B, 0xF0, 0xB1, 0xE1, 0xFE, 0x45, 0xB1, 0x43, 0xAE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayTlkFilesProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000009D, 0x0000286B, { { 0x58, 0x30, 0x72, 0x62, 0xC8, 0x77, 0x2A, 0x06, 0xD6, 0x24, 0x1A, 0x7A, 0xAF, 0x79, 0xFF, 0xAE } } } }, - { FR_FRA, kPlatformDOS, { 0x0000009D, 0x00002878, { { 0x28, 0x5D, 0x7F, 0x5B, 0x57, 0xC2, 0xFF, 0x73, 0xC1, 0x8E, 0xD6, 0xE0, 0x4D, 0x03, 0x99, 0x2C } } } }, - { DE_DEU, kPlatformDOS, { 0x0000009D, 0x00002885, { { 0x87, 0x24, 0xB6, 0xE9, 0xD6, 0xAA, 0x68, 0x2D, 0x6B, 0x05, 0xDF, 0xE1, 0x2B, 0xA4, 0x79, 0xE5 } } } }, - { IT_ITA, kPlatformDOS, { 0x0000009D, 0x0000286B, { { 0x58, 0x30, 0x72, 0x62, 0xC8, 0x77, 0x2A, 0x06, 0xD6, 0x24, 0x1A, 0x7A, 0xAF, 0x79, 0xFF, 0xAE } } } }, - { RU_RUS, kPlatformDOS, { 0x0000009D, 0x0000286B, { { 0x58, 0x30, 0x72, 0x62, 0xC8, 0x77, 0x2A, 0x06, 0xD6, 0x24, 0x1A, 0x7A, 0xAF, 0x79, 0xFF, 0xAE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplaySeqDataProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000006F4, 0x0000F5AD, { { 0x23, 0x1E, 0x30, 0xF0, 0xF1, 0x5B, 0xFF, 0x4B, 0xDF, 0xB1, 0x78, 0xD8, 0x48, 0x7A, 0xA3, 0xDD } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x000006F4, 0x0000FA52, { { 0xC8, 0x33, 0xCC, 0x0A, 0x40, 0x8A, 0x96, 0x4F, 0x42, 0x7E, 0x8B, 0x62, 0x9C, 0x2F, 0x33, 0x0B } } } }, // floppy (French) - { UNK_LANG, kPlatformDOS, { 0x000006F4, 0x0000F8A6, { { 0x8B, 0xF3, 0x80, 0xE1, 0xB8, 0xCA, 0xE1, 0x18, 0x72, 0xA3, 0xF0, 0x4C, 0xBF, 0x81, 0x97, 0x71 } } } }, // floppy (German) - { UNK_LANG, kPlatformDOS, { 0x000006F4, 0x0000FA35, { { 0x4C, 0x26, 0x1B, 0xF6, 0x8E, 0x73, 0xB7, 0xD2, 0x58, 0x59, 0xB8, 0x97, 0x58, 0xFB, 0x0E, 0x2A } } } }, // floppy (Italian) - { UNK_LANG, kPlatformDOS, { 0x000006BE, 0x0000E9FF, { { 0x9A, 0xCD, 0x40, 0x44, 0xEF, 0x9F, 0x05, 0x86, 0xDA, 0x49, 0x8A, 0x85, 0x68, 0xDF, 0xA7, 0x55 } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x0000027C, 0x00007742, { { 0x42, 0x37, 0xF8, 0xDD, 0xA2, 0x8C, 0xA6, 0x26, 0x89, 0x5F, 0xCF, 0x61, 0xDD, 0x8F, 0xC7, 0x1E } } } }, // demo - { UNK_LANG, kPlatformDOS, { 0x0000024C, 0x00004C10, { { 0x21, 0x3A, 0x86, 0x60, 0xA8, 0xFF, 0x42, 0x19, 0x35, 0x32, 0xA5, 0xB9, 0x3A, 0xDD, 0xA9, 0xC7 } } } }, // Lands of Lore demo - - { UNK_LANG, kPlatformFMTowns, { 0x000006BC, 0x0000DCE3, { { 0x27, 0x09, 0x22, 0xDC, 0xED, 0xDE, 0x88, 0xAE, 0xDB, 0x97, 0x52, 0x12, 0x96, 0x8D, 0x8D, 0x37 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x000006BE, 0x0000E043, { { 0x35, 0xA0, 0xF1, 0x14, 0xC7, 0x60, 0x80, 0x35, 0xA2, 0xDB, 0xF2, 0x73, 0x96, 0xC0, 0xAE, 0x84 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayCreditsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000AE8, 0x0002E520, { { 0x19, 0x59, 0xEA, 0x70, 0x23, 0xE2, 0x41, 0x78, 0x2D, 0xF5, 0xE6, 0x28, 0xEA, 0x0C, 0xCF, 0x79 } } } }, - { IT_ITA, kPlatformDOS, { 0x00000AE8, 0x0002EE4A, { { 0x3E, 0x5C, 0x6F, 0x9E, 0x72, 0x2D, 0xAB, 0x17, 0x1D, 0x27, 0xFF, 0x32, 0xD3, 0x48, 0x46, 0xBA } } } }, // (fan) CD - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayCreditsSpecialProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001A, 0x00000829, { { 0xDF, 0x31, 0x0F, 0xB9, 0xC9, 0xC4, 0xF2, 0xB5, 0xF7, 0x98, 0x6F, 0x44, 0x4E, 0x9C, 0xFE, 0xA7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayIntroTracksProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x00000592, { { 0xDE, 0xD9, 0x5E, 0xCA, 0x5A, 0x9F, 0x8B, 0xB1, 0xE2, 0xDB, 0xA4, 0xA1, 0xAF, 0xD4, 0x75, 0x46 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x000002C9, { { 0xFA, 0x80, 0x3C, 0x78, 0x66, 0x2C, 0xD5, 0x91, 0x5D, 0xF1, 0xE9, 0xC1, 0x6A, 0x65, 0xEB, 0xD6 } } } }, // CD - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x00000542, { { 0xE5, 0xAA, 0x6A, 0xB9, 0x19, 0xAB, 0x35, 0x26, 0x43, 0x70, 0x32, 0xEF, 0xB9, 0x7F, 0x0F, 0x19 } } } }, // demo - { UNK_LANG, kPlatformDOS, { 0x0000001A, 0x0000096C, { { 0xC2, 0xBD, 0x2C, 0x65, 0xD3, 0xFE, 0xF1, 0x6A, 0xE7, 0x34, 0x18, 0x0C, 0x86, 0x95, 0x66, 0x35 } } } }, // Lands of Lore demo - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayFinaleTracksProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000012, 0x00000618, { { 0x22, 0x61, 0x4D, 0x6F, 0xCE, 0x38, 0x64, 0xAB, 0x20, 0xD8, 0x34, 0x33, 0x44, 0x21, 0xE0, 0x23 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x00000009, 0x0000030C, { { 0x24, 0x3F, 0x57, 0xFA, 0x7E, 0x6D, 0x61, 0x6C, 0x53, 0xBC, 0x44, 0x38, 0x61, 0xE9, 0x3E, 0xE6 } } } }, // CD - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayIntroCDAProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00000018, 0x00000036, { { 0xCE, 0x10, 0x68, 0x7E, 0x84, 0x68, 0x3A, 0x23, 0x36, 0x41, 0x07, 0xE8, 0x59, 0xDB, 0xA3, 0x31 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayFinaleCDAProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x00000008, 0x000000AE, { { 0x38, 0x47, 0x35, 0xAA, 0xEC, 0xBA, 0xD3, 0xD0, 0x3E, 0x17, 0xFD, 0xB8, 0x9F, 0xB9, 0xAD, 0x61 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2SeqplayShapeAnimDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B8, 0x00000270, { { 0xBD, 0x3B, 0xFA, 0xE6, 0xA0, 0x40, 0x4E, 0x6E, 0x3E, 0x43, 0x81, 0xF3, 0x35, 0x57, 0x62, 0x27 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngamePakFilesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000049F, 0x00012F40, { { 0x4B, 0x2A, 0x84, 0xE3, 0xA5, 0x34, 0xE9, 0xB3, 0xB7, 0x39, 0xF1, 0x1B, 0x4C, 0xE6, 0x43, 0x79 } } } }, // floppy - - { UNK_LANG, kPlatformFMTowns, { 0x0000011C, 0x00003FB8, { { 0x66, 0x34, 0xE8, 0x1C, 0xF9, 0xFF, 0x84, 0x90, 0x20, 0x71, 0x42, 0xA3, 0x2C, 0x4A, 0xE9, 0x46 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x000000F4, 0x00003F57, { { 0x8A, 0xA7, 0x2C, 0xB9, 0x6E, 0x8D, 0x95, 0xBF, 0xF8, 0xB9, 0x98, 0x63, 0x20, 0xF8, 0xB0, 0x7B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameSfxFilesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000006F1, 0x0001545E, { { 0xD3, 0x8A, 0xA1, 0xD4, 0x83, 0x77, 0x96, 0x6D, 0x87, 0xB1, 0x71, 0x8F, 0x38, 0x6A, 0x34, 0xDC } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000967, 0x0002101A, { { 0x09, 0xC7, 0xB7, 0x2A, 0x76, 0xF1, 0x4B, 0x87, 0xC5, 0x83, 0xFF, 0xF3, 0xDB, 0x3C, 0x66, 0x60 } } } }, - { UNK_LANG, kPlatformPC98, { 0x000006F1, 0x0001545E, { { 0xD3, 0x8A, 0xA1, 0xD4, 0x83, 0x77, 0x96, 0x6D, 0x87, 0xB1, 0x71, 0x8F, 0x38, 0x6A, 0x34, 0xDC } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameSfxIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000358, 0x000074F4, { { 0xC8, 0x30, 0x1D, 0x9C, 0xFC, 0xF8, 0xD5, 0xBA, 0x7E, 0xAB, 0x13, 0x3F, 0x43, 0x50, 0xFA, 0xC4 } } } }, // CD - - { UNK_LANG, kPlatformUnknown, { 0x00000358, 0x0000747E, { { 0x20, 0x99, 0x4D, 0xB8, 0xF2, 0x05, 0xF2, 0xA7, 0x07, 0x28, 0x97, 0xFB, 0x70, 0x1F, 0x2A, 0x73 } } } }, // floppy + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameTracksProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000007E, 0x00001E45, { { 0xC6, 0x52, 0xCC, 0x1A, 0x23, 0x3B, 0xDA, 0x03, 0xF3, 0xC2, 0x46, 0xDF, 0x01, 0xA3, 0x9E, 0x50 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameCDAProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000130, 0x00001B9D, { { 0x9E, 0xFB, 0x01, 0xE7, 0xBA, 0xE1, 0x4F, 0x3C, 0xC5, 0xB9, 0x75, 0x80, 0xEA, 0xAC, 0xB0, 0x0F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameTalkObjIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000078, 0x00000A9C, { { 0x27, 0x65, 0xFA, 0xB1, 0xF8, 0x04, 0x7F, 0x93, 0x2B, 0x2D, 0x44, 0x3C, 0x95, 0x13, 0x50, 0xD2 } } } }, // floppy (English) - { UNK_LANG, kPlatformDOS, { 0x00000078, 0x00000A53, { { 0x18, 0x5B, 0x79, 0x92, 0x54, 0xDB, 0x4B, 0x0C, 0x78, 0x89, 0x7C, 0x59, 0xBF, 0x53, 0x37, 0x14 } } } }, // floppy (German + French) - { UNK_LANG, kPlatformDOS, { 0x00000078, 0x00000A7C, { { 0x33, 0x89, 0x69, 0xEF, 0x62, 0x94, 0x3A, 0xC0, 0xB2, 0xBA, 0xFB, 0x0C, 0x86, 0x2C, 0xAC, 0x5C } } } }, // floppy (Italian) - { UNK_LANG, kPlatformDOS, { 0x00000084, 0x00000CD0, { { 0x82, 0x2E, 0xF4, 0xDD, 0x28, 0x75, 0xDD, 0x79, 0x78, 0x62, 0x55, 0x48, 0xDD, 0xF7, 0x16, 0x81 } } } }, // CD - - { UNK_LANG, kPlatformFMTowns, { 0x0000007A, 0x00000744, { { 0x74, 0x84, 0xB4, 0xA6, 0x9D, 0x91, 0xBF, 0x24, 0x1E, 0xD5, 0xDE, 0xD4, 0x73, 0x93, 0x1F, 0xE6 } } } }, - - { UNK_LANG, kPlatformPC98, { 0x00000078, 0x0000099D, { { 0x2F, 0x06, 0x8D, 0x4E, 0x76, 0x9E, 0x92, 0xFD, 0x43, 0xA4, 0x12, 0xED, 0xBA, 0x30, 0xFE, 0x94 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameTimJpStringsProvider[] = { - { UNK_LANG, kPlatformFMTowns, { 0x0000002D, 0x00001302, { { 0x15, 0x29, 0xFD, 0xB1, 0xEB, 0xC0, 0x00, 0xA4, 0x19, 0xDA, 0xC7, 0x2E, 0x17, 0x0F, 0x3F, 0xB7 } } } }, - { UNK_LANG, kPlatformPC98, { 0x0000002C, 0x00001302, { { 0xAB, 0xBA, 0xC8, 0x2A, 0xD0, 0xD1, 0x1C, 0xEA, 0x6F, 0x35, 0x12, 0x5D, 0x85, 0xFB, 0x92, 0x84 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameShapeAnimDataProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000348, 0x0001AAEB, { { 0x67, 0xD1, 0x03, 0xBF, 0x4B, 0xEC, 0x80, 0x26, 0x5D, 0x1D, 0x0E, 0x5B, 0xF1, 0xE8, 0x4C, 0x64 } } } }, // CD - - { UNK_LANG, kPlatformUnknown, { 0x00000348, 0x00002473, { { 0xBC, 0x18, 0x51, 0xFA, 0x51, 0x1D, 0x24, 0x7D, 0x44, 0xD0, 0xE2, 0x38, 0x31, 0x33, 0x3B, 0x56 } } } }, // floppy + FM-TOWNS - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k2IngameTlkDemoStringsProvider[] = { - { EN_ANY, kPlatformDOS, { 0x000000CB, 0x00004741, { { 0xF3, 0x54, 0x37, 0xEE, 0x61, 0x9E, 0xE0, 0x82, 0x64, 0x8B, 0xF3, 0x53, 0xC7, 0x2F, 0x49, 0x1F } } } }, - { FR_FRA, kPlatformDOS, { 0x000000BE, 0x00004327, { { 0x8C, 0xF2, 0x5E, 0x85, 0xDA, 0xA1, 0x91, 0x90, 0xE5, 0xC7, 0x2A, 0xBA, 0x48, 0xC3, 0x9A, 0xCA } } } }, - { DE_DEU, kPlatformDOS, { 0x000000DC, 0x00004C7B, { { 0xC9, 0x75, 0x3A, 0x4A, 0xF4, 0xB0, 0xE8, 0x61, 0x90, 0x74, 0x34, 0x84, 0x53, 0x54, 0xA2, 0x4F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3MainMenuStringsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B0, 0x00003E75, { { 0xA7, 0x91, 0x9B, 0x61, 0x31, 0x12, 0x74, 0xB5, 0x4B, 0x4F, 0x8A, 0x44, 0xA9, 0xB1, 0x03, 0xC0 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3MusicFilesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000001D5, 0x00007436, { { 0x27, 0xC2, 0x96, 0xFF, 0x22, 0xEC, 0xB5, 0x26, 0xF9, 0x4F, 0x04, 0xDD, 0x58, 0x17, 0xFE, 0xC6 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3ScoreTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000C8, 0x0000038F, { { 0x4E, 0x2E, 0xC3, 0xD9, 0x13, 0xA0, 0x74, 0x7E, 0xAB, 0xA1, 0x23, 0x2F, 0x11, 0x35, 0x4D, 0xA5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3SfxFilesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000008BF, 0x0001A766, { { 0xBD, 0x5D, 0x65, 0x5D, 0xC4, 0x34, 0xDF, 0x36, 0xF5, 0xC0, 0xE8, 0x7B, 0x51, 0x9F, 0xE5, 0xC7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3SfxMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000004C0, 0x0000C4F9, { { 0x06, 0x61, 0x45, 0x38, 0xC2, 0x6A, 0x12, 0x23, 0x55, 0x2C, 0x7F, 0xA5, 0xE2, 0x79, 0x81, 0x9E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3ItemAnimDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000001C8, 0x00003777, { { 0x8F, 0xE8, 0x80, 0x4A, 0x88, 0x83, 0xC0, 0x48, 0x55, 0x47, 0x81, 0xD3, 0xB7, 0xD5, 0x09, 0x8F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3ItemMagicTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x00000F9E, { { 0x87, 0xA7, 0xC0, 0xA2, 0x0F, 0xA3, 0x5B, 0x08, 0x76, 0x6F, 0x02, 0x68, 0x13, 0x17, 0x3B, 0x76 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData k3ItemStringMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x0000003C, { { 0x4C, 0xA7, 0xAA, 0xB0, 0x3C, 0xCC, 0x78, 0x91, 0x0A, 0xF2, 0x7F, 0x25, 0x80, 0xB3, 0x74, 0x74 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenStrings1Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x000000CA, 0x00003BC8, { { 0x27, 0xEA, 0xE3, 0x0D, 0x55, 0xB3, 0x69, 0x3E, 0xC2, 0x66, 0x58, 0x64, 0xAA, 0xC2, 0x80, 0x58 } } } }, - { DE_DEU, kPlatformUnknown, { 0x000000C3, 0x000038F6, { { 0x20, 0x68, 0xAB, 0xD4, 0xBF, 0x49, 0x04, 0xC0, 0x91, 0xB4, 0x71, 0xB0, 0xB6, 0xC9, 0x11, 0xF0 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x000000C7, 0x00003ADB, { { 0x0D, 0x03, 0x7A, 0xE6, 0x7D, 0x41, 0x89, 0x49, 0x0C, 0xB6, 0xD0, 0x4F, 0xEA, 0x1E, 0x54, 0xFF } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenStrings2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000004B, 0x000011AE, { { 0x28, 0x98, 0x4C, 0xA3, 0x98, 0xB0, 0xA2, 0x17, 0x9C, 0x80, 0x4F, 0x3F, 0x58, 0x3B, 0x2C, 0xFB } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000004E, 0x0000129D, { { 0xED, 0xF3, 0x36, 0x16, 0xE2, 0x1B, 0x32, 0x95, 0xFE, 0xE8, 0x3E, 0x7D, 0xE6, 0x32, 0x34, 0xD4 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000004A, 0x00001267, { { 0xD6, 0xE2, 0x27, 0x6A, 0x6F, 0x7E, 0xB4, 0xCE, 0xA8, 0xE9, 0x79, 0x31, 0x5C, 0x13, 0xA1, 0x8F } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenStartLevelsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000054, { { 0xAB, 0x68, 0x74, 0x3E, 0x0D, 0x45, 0xA3, 0x50, 0xA7, 0x72, 0x6A, 0xDF, 0x9C, 0x23, 0x98, 0x74 } } } }, // EOB 1 - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x000000B1, { { 0xFD, 0x3F, 0x6B, 0xB5, 0xE4, 0xEE, 0x32, 0x3B, 0xBD, 0x72, 0x37, 0x88, 0x52, 0x84, 0xBD, 0xC6 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenStatStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000055, 0x000015D6, { { 0xB8, 0x29, 0x4B, 0xA4, 0x4F, 0x45, 0x16, 0x1A, 0x07, 0x28, 0x14, 0x86, 0x1B, 0xDF, 0xAC, 0xDF } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000056, 0x000015F9, { { 0xBB, 0x5A, 0x7D, 0xCF, 0xC3, 0x90, 0x9A, 0xB3, 0x73, 0xB2, 0x4D, 0x46, 0xB8, 0x89, 0x7D, 0xAE } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000053, 0x0000159A, { { 0x1D, 0xA6, 0x84, 0xDB, 0xC5, 0x81, 0xC7, 0xF0, 0x1C, 0xA4, 0xE3, 0x10, 0x4F, 0x8A, 0xF3, 0xCE } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenRaceSexStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000098, 0x00002572, { { 0x8D, 0xF9, 0xDE, 0x92, 0xFC, 0xA8, 0xFC, 0xE9, 0x0A, 0x98, 0x6D, 0xA4, 0x6F, 0x21, 0xCD, 0xF4 } } } }, - { DE_DEU, kPlatformUnknown, { 0x000000AA, 0x00002A1E, { { 0x8E, 0xAF, 0x4B, 0x20, 0xEA, 0xFE, 0x71, 0x8E, 0x8B, 0x4B, 0x46, 0x62, 0x91, 0x48, 0x08, 0xAF } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000098, 0x00002502, { { 0xA4, 0x8B, 0x20, 0xF5, 0x97, 0xFE, 0x34, 0x6D, 0x9F, 0xF0, 0xA8, 0xE9, 0xE8, 0xFA, 0x23, 0x9B } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenClassStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x000000D5, 0x000035A7, { { 0xAF, 0x89, 0x9A, 0x11, 0x9A, 0x8D, 0x39, 0x6F, 0x26, 0x41, 0x4E, 0x20, 0xAD, 0x91, 0xC5, 0xDA } } } }, - { DE_DEU, kPlatformUnknown, { 0x000000FA, 0x00003FD8, { { 0xBD, 0x78, 0xF7, 0xEC, 0x9D, 0x9A, 0x3A, 0x22, 0xAB, 0xD9, 0x10, 0xAD, 0x8E, 0x1D, 0x4D, 0xDE } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x000000E4, 0x00003BE5, { { 0xDE, 0x1B, 0x25, 0x4F, 0xE6, 0xD0, 0xB5, 0x95, 0xD0, 0xA6, 0x69, 0xE6, 0x53, 0xB8, 0x20, 0x1E } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenAlignmentStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000078, 0x00001F44, { { 0xBB, 0x52, 0x3C, 0xA6, 0x79, 0x87, 0xDC, 0xB8, 0x21, 0x7A, 0xA0, 0x17, 0x45, 0xEA, 0xF2, 0x50 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000008A, 0x00002423, { { 0xA3, 0x36, 0x0D, 0x64, 0x33, 0xFD, 0x54, 0xA5, 0xA9, 0xD7, 0xFA, 0x34, 0x39, 0xAD, 0x6A, 0x98 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000007F, 0x000021F8, { { 0xBD, 0xB2, 0x06, 0xF9, 0xC9, 0x36, 0x5D, 0x91, 0x43, 0x08, 0x3A, 0x2C, 0x5F, 0x1C, 0xF3, 0x9C } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenEnterGameStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000020, 0x00000A0E, { { 0x98, 0x7F, 0x2C, 0x2E, 0xBB, 0x5E, 0xAA, 0xD0, 0x72, 0xF5, 0xBC, 0x4A, 0x34, 0x5B, 0xB4, 0xF5 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000021, 0x00000AB6, { { 0x02, 0x7F, 0x19, 0x5A, 0xA9, 0xB7, 0x8C, 0xE2, 0xF7, 0x35, 0xB0, 0xD8, 0xA8, 0x0C, 0x24, 0x44 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000001E, 0x00000925, { { 0xDA, 0x83, 0x00, 0xD2, 0x94, 0xF0, 0xD8, 0xFC, 0x3D, 0xA8, 0xD2, 0x4E, 0xF2, 0xD7, 0x2B, 0x7E } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenClassMinStatsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B4, 0x00000165, { { 0x83, 0x5E, 0x91, 0x10, 0x4D, 0x75, 0x6B, 0xF9, 0x45, 0x1B, 0x65, 0x13, 0x37, 0x3E, 0xC0, 0xAE } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenRaceMinStatsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x000000B2, { { 0x08, 0xF0, 0x8F, 0x22, 0x9D, 0xD8, 0xBE, 0x52, 0x70, 0x7C, 0xCA, 0x8D, 0xB2, 0xF5, 0xC6, 0xB8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseChargenRaceMaxStatsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x00000479, { { 0xBD, 0xA0, 0x8C, 0xC2, 0x05, 0xCA, 0x0D, 0x4B, 0x82, 0x9B, 0x3D, 0xB5, 0x4B, 0xDB, 0xD2, 0xC1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrowTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000032, 0x00000214, { { 0x3D, 0x89, 0x30, 0x0A, 0x5C, 0x4A, 0x0F, 0xC3, 0xC7, 0x6B, 0x72, 0x7C, 0x12, 0x51, 0x8D, 0x8E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrowTable2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000019, 0x000000E7, { { 0xF4, 0x0D, 0xDF, 0xA3, 0x23, 0x71, 0x76, 0x2A, 0xC5, 0x6F, 0xF1, 0x59, 0x5F, 0x45, 0x73, 0x05 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrowTable3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000023, 0x00000155, { { 0x42, 0x98, 0x84, 0x00, 0x70, 0x8A, 0x7B, 0x26, 0xC0, 0x96, 0xA3, 0x28, 0x41, 0x36, 0x4B, 0x21 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrowTable4Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001E, 0x0000013B, { { 0xAB, 0x84, 0x2B, 0x0A, 0xC2, 0x46, 0xFF, 0x83, 0x03, 0xF8, 0x3F, 0x32, 0x53, 0xA2, 0x95, 0x65 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrwLvlIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x00000070, { { 0x57, 0x48, 0x5F, 0x75, 0x79, 0xD4, 0xAA, 0x7D, 0xB7, 0xEB, 0x19, 0x9F, 0xCF, 0x99, 0x29, 0x29 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrwModDivProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x00000012, { { 0x50, 0x29, 0x51, 0x65, 0x0B, 0xF1, 0xCC, 0xDA, 0x2C, 0xA4, 0x7E, 0xEE, 0x20, 0xB0, 0x29, 0xB1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSaveThrwModExtProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x00000030, { { 0x07, 0x7D, 0x61, 0x1C, 0x95, 0xEC, 0x9A, 0xCE, 0xA1, 0x29, 0x83, 0x2F, 0xCA, 0x95, 0x95, 0xF5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePryDoorStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x000000E8, 0x00004D9F, { { 0xDE, 0x01, 0x69, 0x00, 0x0B, 0x32, 0xFA, 0x20, 0xB8, 0x11, 0xD6, 0xD9, 0xE2, 0xEA, 0xF5, 0xE8 } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x000000D2, 0x000043D2, { { 0x82, 0x3C, 0xF4, 0x4A, 0x87, 0x84, 0xFE, 0xF9, 0xBA, 0xC6, 0x67, 0x3A, 0x0D, 0x0F, 0x76, 0x78 } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x00000128, 0x0000657C, { { 0xA3, 0xC8, 0x48, 0xA7, 0x1F, 0x75, 0xDF, 0xB0, 0x37, 0xDA, 0x75, 0x2E, 0x9F, 0x4E, 0x45, 0xB0 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x000000D9, 0x00004769, { { 0x24, 0x59, 0x00, 0x8F, 0x9A, 0x3E, 0x95, 0xAB, 0x14, 0x9A, 0x3B, 0x19, 0x34, 0xDB, 0x9B, 0x18 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseWarningStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000052, 0x00001A7B, { { 0x81, 0x7A, 0xDF, 0xD2, 0x4F, 0xA7, 0x92, 0xA7, 0x44, 0xE5, 0x22, 0x73, 0xF6, 0xB3, 0x29, 0x5C } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x00000085, 0x00002B5C, { { 0xF1, 0xCE, 0x7C, 0x53, 0xEF, 0x5B, 0x59, 0x71, 0xA9, 0xEB, 0x00, 0xBA, 0xB7, 0x59, 0xC5, 0x2E } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x0000005F, 0x00001FD2, { { 0xBA, 0x85, 0x97, 0x63, 0x84, 0x80, 0x79, 0x44, 0x50, 0x99, 0x1A, 0x01, 0x37, 0x37, 0x0E, 0xD1 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000096, 0x000032BF, { { 0x07, 0x95, 0x91, 0x1A, 0x1B, 0xC8, 0xA3, 0xEE, 0x76, 0x0A, 0x48, 0x11, 0x37, 0x6F, 0xBA, 0x05 } } } }, // EOB 1 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseItemSuffixStringsRingsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002B, 0x00000F7B, { { 0x8A, 0x27, 0x87, 0x81, 0x5F, 0x74, 0x27, 0xA9, 0x5E, 0x1B, 0xEE, 0xC0, 0xF7, 0x22, 0x8F, 0x57 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000022, 0x00000C02, { { 0x7D, 0x5F, 0x40, 0xEA, 0xAD, 0xDD, 0x1B, 0xA0, 0xA6, 0xE0, 0x57, 0x7D, 0x0D, 0x60, 0xF4, 0x2C } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000002E, 0x00000FF2, { { 0xE1, 0x50, 0xB7, 0xE2, 0xEF, 0xAD, 0x5B, 0x6D, 0x27, 0x35, 0x9C, 0xE7, 0x2D, 0xB2, 0x2E, 0xD0 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseItemSuffixStringsPotionsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000054, 0x00001DDB, { { 0xB6, 0x78, 0xD9, 0x09, 0x1D, 0x09, 0x63, 0xF8, 0x96, 0x74, 0xF0, 0x75, 0x23, 0xF5, 0xD4, 0xC4 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000064, 0x000024ED, { { 0x10, 0x5A, 0xB8, 0xCA, 0x0F, 0x0D, 0x44, 0x19, 0x9D, 0x3D, 0x76, 0x54, 0xA1, 0x69, 0x97, 0x8B } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000006F, 0x00002792, { { 0x1A, 0x71, 0x2B, 0xCC, 0xCA, 0xDA, 0xF6, 0xED, 0x5E, 0xF0, 0x24, 0x20, 0xD7, 0x2D, 0x18, 0x49 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseItemSuffixStringsWandsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000003C, 0x000014EB, { { 0xB5, 0x38, 0x35, 0x57, 0xF2, 0xF8, 0x0E, 0xBA, 0x75, 0x03, 0x1C, 0xCD, 0x46, 0x7D, 0x03, 0x83 } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x0000004A, 0x000019B2, { { 0x44, 0x10, 0xE4, 0xAF, 0xAB, 0x19, 0x25, 0x87, 0x2B, 0x15, 0x1C, 0x4C, 0x03, 0x50, 0x41, 0xC4 } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x00000040, 0x000016B5, { { 0xEC, 0xF4, 0x71, 0xC1, 0x69, 0x5C, 0xF9, 0xC1, 0xED, 0xC1, 0xED, 0x0C, 0x25, 0x3E, 0x13, 0xB1 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000069, 0x0000252B, { { 0x12, 0x06, 0xEA, 0x2F, 0xAF, 0x47, 0x55, 0x52, 0xB6, 0xD9, 0x11, 0xA4, 0x4F, 0x30, 0xCE, 0x9D } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseRipItemStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000025, 0x00000AEA, { { 0x7A, 0x2D, 0x03, 0xA5, 0x94, 0xD1, 0xA2, 0x2C, 0x41, 0x1F, 0xEB, 0x5C, 0xFB, 0xB2, 0xC6, 0x9E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000024, 0x00000B1B, { { 0xD0, 0x26, 0x19, 0x0B, 0xA5, 0x8A, 0x38, 0x73, 0x14, 0x25, 0x40, 0x5D, 0x24, 0xB8, 0x4E, 0xC5 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000002E, 0x00000D38, { { 0xCE, 0xC5, 0x00, 0x63, 0xBB, 0xF0, 0xC4, 0x0D, 0x50, 0x2B, 0x82, 0x1C, 0xC0, 0xCD, 0xF1, 0xAF } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCursedStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000D, 0x000003C7, { { 0x7F, 0x6B, 0x6A, 0xFE, 0x63, 0xF4, 0x17, 0xAF, 0xFD, 0x00, 0x31, 0x4A, 0x20, 0x9E, 0x8C, 0xEB } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x0000000D, 0x000003C7, { { 0x59, 0xD8, 0x84, 0x25, 0xE0, 0x06, 0x51, 0xA4, 0x70, 0xC5, 0x78, 0x22, 0xF0, 0x2D, 0xA0, 0x43 } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x00000010, 0x00000514, { { 0x97, 0x41, 0xA6, 0xAE, 0xF8, 0xA8, 0x3E, 0x85, 0xA8, 0x16, 0x01, 0x15, 0x0E, 0x46, 0x13, 0x45 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000013, 0x000005A5, { { 0xEC, 0xD3, 0xA5, 0xD2, 0xAD, 0x7C, 0x5E, 0x0F, 0x42, 0xBC, 0x6E, 0xDE, 0x7E, 0x36, 0x0B, 0x43 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseEnchantedStringProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000007, 0x0000016C, { { 0x98, 0x62, 0xD3, 0xA3, 0x11, 0xAE, 0x0A, 0xBA, 0x8F, 0xE8, 0x30, 0x0B, 0xDC, 0x12, 0x90, 0x3B } } } }, // EOB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000007, 0x0000016C, { { 0x01, 0x91, 0xBD, 0x89, 0xAE, 0x0E, 0x71, 0xEE, 0xBE, 0x31, 0xD9, 0x55, 0x21, 0x61, 0x19, 0xAE } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicObjectStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002B, 0x00000E7D, { { 0x7E, 0x8F, 0x17, 0xEB, 0xE5, 0x5D, 0xEB, 0x9A, 0x84, 0xFF, 0x86, 0x6A, 0x01, 0x3E, 0x04, 0x84 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000003A, 0x000014E4, { { 0x3D, 0x34, 0x3C, 0xCA, 0xDC, 0xD1, 0xCF, 0x15, 0x69, 0x57, 0xC3, 0xB1, 0x58, 0xDF, 0xE9, 0x9D } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000002A, 0x00000EE4, { { 0x9C, 0x38, 0x4B, 0x9B, 0x67, 0x30, 0x4E, 0x88, 0xA9, 0xA2, 0xF8, 0x78, 0x8E, 0xC7, 0xC3, 0x86 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicObject5StringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000006, 0x000001FE, { { 0x74, 0x8D, 0xB9, 0x76, 0xD2, 0x2F, 0x60, 0xD2, 0x36, 0x45, 0x98, 0x4C, 0x0A, 0xE5, 0xE5, 0x0D } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x00000204, { { 0xE4, 0xC1, 0xAD, 0x71, 0x87, 0x80, 0x9D, 0x97, 0x91, 0x80, 0x3F, 0x71, 0xD3, 0x62, 0x06, 0xD5 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000007, 0x0000027A, { { 0x44, 0x47, 0x79, 0x46, 0x9B, 0xE5, 0xBD, 0x3C, 0xE8, 0x8D, 0xC6, 0xC5, 0x4E, 0x88, 0x13, 0xC0 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePatternSuffixProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000009, 0x00000245, { { 0x67, 0x3F, 0x33, 0xA5, 0x3B, 0x5D, 0x2C, 0x9E, 0x15, 0x82, 0x04, 0xE2, 0xD7, 0x34, 0x42, 0x24 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x0000015D, { { 0x33, 0xD6, 0x91, 0x2D, 0xED, 0xE1, 0x43, 0x42, 0x23, 0xB9, 0xE9, 0x3D, 0x48, 0x82, 0x92, 0x1E } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000008, 0x00000219, { { 0xCD, 0xDC, 0x7F, 0x8B, 0xBE, 0xD6, 0x05, 0x37, 0xDA, 0xDC, 0x11, 0xC3, 0x1E, 0x7A, 0xE7, 0x13 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePatternGrFix1Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000009, 0x00000245, { { 0x67, 0x3F, 0x33, 0xA5, 0x3B, 0x5D, 0x2C, 0x9E, 0x15, 0x82, 0x04, 0xE2, 0xD7, 0x34, 0x42, 0x24 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x0000015D, { { 0x33, 0xD6, 0x91, 0x2D, 0xED, 0xE1, 0x43, 0x42, 0x23, 0xB9, 0xE9, 0x3D, 0x48, 0x82, 0x92, 0x1E } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000007, 0x0000018A, { { 0x02, 0x5C, 0x86, 0xD9, 0x62, 0x0C, 0x71, 0xB3, 0x77, 0x9C, 0x7B, 0xBC, 0x4D, 0x5B, 0xDB, 0xE7 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePatternGrFix2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000009, 0x00000245, { { 0x67, 0x3F, 0x33, 0xA5, 0x3B, 0x5D, 0x2C, 0x9E, 0x15, 0x82, 0x04, 0xE2, 0xD7, 0x34, 0x42, 0x24 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x0000015D, { { 0x33, 0xD6, 0x91, 0x2D, 0xED, 0xE1, 0x43, 0x42, 0x23, 0xB9, 0xE9, 0x3D, 0x48, 0x82, 0x92, 0x1E } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x00000150, { { 0x48, 0xBE, 0xED, 0xD3, 0xA5, 0x2E, 0xCD, 0xE0, 0x34, 0xBA, 0xA6, 0x8D, 0x7D, 0x00, 0xA2, 0xFF } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseValidateArmorStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000023, 0x00000B78, { { 0xC2, 0x33, 0x6B, 0xB9, 0xE1, 0x5E, 0x88, 0x5E, 0x22, 0xF2, 0x97, 0x83, 0xF8, 0xC8, 0x8C, 0xAB } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000026, 0x00000D19, { { 0xAD, 0x19, 0xE2, 0xDE, 0x04, 0xF9, 0x8F, 0x92, 0xAC, 0x1A, 0x05, 0xEA, 0x7B, 0xB5, 0x9F, 0x09 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000029, 0x00000E7A, { { 0xEC, 0xA8, 0x2E, 0x8D, 0xB1, 0xC8, 0x0F, 0xCD, 0x24, 0xBD, 0x4B, 0x39, 0x16, 0xC9, 0x53, 0x08 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseValidateCursedStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00000F35, { { 0xE7, 0x0E, 0xA1, 0xCE, 0xCC, 0x13, 0xBC, 0x4B, 0x2B, 0x19, 0xEB, 0xA4, 0x05, 0xCF, 0xCF, 0x65 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000037, 0x000012D8, { { 0x3C, 0x7F, 0x16, 0xCE, 0x40, 0x58, 0xF1, 0x3A, 0xAB, 0x4C, 0x37, 0x82, 0x32, 0x88, 0xA4, 0x2D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseValidateNoDropStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001F, 0x00000A8F, { { 0x61, 0x99, 0x3E, 0x36, 0x49, 0x19, 0xB4, 0xE4, 0xBC, 0xFA, 0xB5, 0x71, 0x0E, 0xD6, 0x15, 0x3C } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x00000020, 0x00000AB6, { { 0xAA, 0x0E, 0x64, 0xD1, 0xA2, 0xA6, 0x62, 0x76, 0x51, 0xDF, 0x9E, 0x76, 0x85, 0x42, 0xE1, 0x4A } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x00000024, 0x00000C31, { { 0x10, 0xD9, 0x55, 0x69, 0xFE, 0x0A, 0x8C, 0xE5, 0xF7, 0x05, 0x5F, 0x09, 0x3B, 0xC9, 0x93, 0x38 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000027, 0x00000D9F, { { 0xA5, 0xF0, 0x8E, 0x78, 0x0A, 0x37, 0x31, 0xDC, 0xE0, 0xDF, 0xE5, 0xCB, 0x86, 0xDC, 0x21, 0x73 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePotionStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000017, 0x0000070E, { { 0xD9, 0xCB, 0x26, 0xB6, 0x6F, 0x17, 0x12, 0xB7, 0xB0, 0x95, 0x1B, 0x2A, 0xD8, 0x83, 0x0D, 0x2B } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000001E, 0x000009BD, { { 0xCA, 0xD0, 0x29, 0xB0, 0x7A, 0x2B, 0x0B, 0x69, 0xCA, 0xA4, 0xCA, 0x97, 0xCF, 0x8B, 0x03, 0xAD } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000001D, 0x00000964, { { 0x5D, 0xE2, 0xA5, 0x0D, 0x72, 0xE9, 0x8F, 0xC9, 0xFA, 0xF3, 0x41, 0x5A, 0x3F, 0x33, 0xAA, 0x15 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseWandStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000035, 0x000011EC, { { 0x7C, 0x3D, 0xF1, 0x28, 0x0C, 0x23, 0xD3, 0x18, 0xEE, 0xAD, 0xA7, 0xF4, 0x58, 0xD7, 0x1C, 0x8E } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x00000029, 0x00000E47, { { 0xED, 0x2E, 0xD4, 0x4D, 0xDB, 0x90, 0x3F, 0xD0, 0xFB, 0x95, 0xB8, 0xF2, 0xCF, 0x06, 0x08, 0xAF } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x00000046, 0x0000186E, { { 0x54, 0x8F, 0x53, 0x34, 0xE8, 0x81, 0x76, 0x71, 0x53, 0x3F, 0x99, 0xE7, 0xCF, 0xB7, 0xC9, 0xD9 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000002F, 0x00001070, { { 0x86, 0x18, 0x00, 0x54, 0x05, 0x3D, 0xC2, 0x26, 0xA7, 0xD9, 0x68, 0xE6, 0xC2, 0x0D, 0x26, 0x99 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseItemMisuseStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000066, 0x000022F6, { { 0xE8, 0xB9, 0x07, 0x61, 0x29, 0x90, 0xB0, 0x22, 0x30, 0xC5, 0x0F, 0xAD, 0xCA, 0x6C, 0x83, 0xC6 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000068, 0x00002472, { { 0xCA, 0xD7, 0xFD, 0x5B, 0x65, 0x72, 0xC7, 0x15, 0xB3, 0xFE, 0xFC, 0xEF, 0x53, 0xFB, 0x57, 0x6C } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000007E, 0x00002C87, { { 0x5E, 0x11, 0xC9, 0x93, 0xF4, 0xAB, 0x1A, 0x9D, 0xA7, 0x62, 0x71, 0x94, 0x37, 0xCA, 0xE2, 0x25 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseTakenStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000009, 0x0000026E, { { 0x3B, 0x73, 0x70, 0x2E, 0x22, 0x90, 0x0D, 0xC1, 0xDE, 0x32, 0x11, 0xCC, 0x97, 0xBA, 0xA3, 0x58 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000F, 0x000004ED, { { 0x8D, 0x12, 0x1E, 0x91, 0xD3, 0xF4, 0x34, 0x15, 0xC7, 0x4F, 0xE7, 0x23, 0x5B, 0xE8, 0x66, 0xB7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePotionEffectStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000065, 0x0000248F, { { 0x4F, 0x60, 0x7F, 0xA7, 0x6F, 0x81, 0xD4, 0xAA, 0x68, 0xD5, 0xAA, 0xBE, 0xBC, 0xD4, 0x92, 0x3A } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x0000005D, 0x0000219D, { { 0x87, 0x60, 0x9F, 0xF3, 0x1B, 0x30, 0x4B, 0x2B, 0xE4, 0x94, 0xEF, 0x22, 0xEA, 0x36, 0xE4, 0x7F } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x0000006E, 0x00002840, { { 0x04, 0xF8, 0x53, 0x38, 0x09, 0xD8, 0x58, 0xFC, 0x5F, 0xE9, 0x69, 0xFB, 0x9C, 0x0D, 0x92, 0x2E } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000059, 0x000020D2, { { 0xB6, 0xA1, 0x57, 0xD6, 0x46, 0xE3, 0xCF, 0x04, 0x5A, 0xC8, 0xBB, 0x59, 0x8D, 0xE3, 0x6F, 0xBF } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseYesNoStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000007, 0x0000022E, { { 0xF1, 0x30, 0x61, 0xA7, 0x20, 0x71, 0x3B, 0x75, 0xBE, 0xA7, 0xD6, 0x78, 0x34, 0xF7, 0x19, 0x06 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000008, 0x00000275, { { 0xAF, 0x3E, 0xC5, 0x5A, 0x60, 0x34, 0x9B, 0x39, 0x37, 0x9E, 0xE2, 0x17, 0x23, 0x8E, 0x23, 0x23 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonMoreStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000005, 0x00000133, { { 0xA6, 0x1A, 0x3A, 0xB8, 0xCC, 0x92, 0xB8, 0xBE, 0x28, 0xD6, 0x64, 0x8F, 0x0A, 0x2A, 0x39, 0xCD } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000005, 0x0000012C, { { 0x82, 0x30, 0x00, 0xD6, 0xFA, 0x53, 0x17, 0x69, 0x64, 0xCA, 0xFE, 0x0F, 0x92, 0xEF, 0x87, 0x7A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNpcMaxStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000052, 0x00001D23, { { 0x95, 0xB0, 0xBF, 0xF9, 0xE6, 0x8C, 0xCF, 0x9B, 0x36, 0xE3, 0x81, 0x22, 0x1E, 0x68, 0x9E, 0xBE } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000064, 0x00002341, { { 0xC0, 0xA6, 0xCD, 0x5E, 0x8E, 0xFA, 0x89, 0xE4, 0x98, 0xE5, 0x3D, 0x13, 0x6B, 0xE7, 0x8F, 0x6E } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x0000003E, 0x00001613, { { 0x4E, 0x31, 0x7F, 0xC4, 0xC7, 0x9C, 0xB5, 0x7D, 0x36, 0x85, 0xD8, 0x81, 0xE2, 0x06, 0xF9, 0xAE } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseOkStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000003, 0x0000009A, { { 0x88, 0xD2, 0x76, 0x1C, 0x80, 0x02, 0xC5, 0x5B, 0x35, 0x57, 0x0E, 0xEB, 0xCA, 0xD6, 0xC9, 0x2E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000003, 0x0000009A, { { 0x88, 0xD2, 0x76, 0x1C, 0x80, 0x02, 0xC5, 0x5B, 0x35, 0x57, 0x0E, 0xEB, 0xCA, 0xD6, 0xC9, 0x2E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNpcJoinStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000015, 0x000006C7, { { 0x5A, 0xBF, 0xA2, 0x3E, 0x36, 0xC4, 0x23, 0xC8, 0xA8, 0x86, 0x06, 0x80, 0xAF, 0xB1, 0xDD, 0xAB } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000020, 0x00000A93, { { 0x4A, 0xFD, 0x70, 0xB7, 0x7A, 0x0B, 0x7C, 0x32, 0x07, 0x5A, 0x4A, 0xC7, 0x84, 0x9D, 0x2D, 0xF3 } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x00000018, 0x00000848, { { 0xC9, 0xEE, 0x71, 0x04, 0xA2, 0xA5, 0x52, 0x87, 0x7C, 0x6D, 0x3C, 0x15, 0x7D, 0x41, 0xE0, 0xE7 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCancelStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000007, 0x000001A6, { { 0x21, 0xED, 0xF9, 0x71, 0xEF, 0x74, 0xD7, 0x9E, 0xF3, 0x02, 0xE5, 0x03, 0x06, 0xDE, 0xD5, 0x09 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000A, 0x0000027A, { { 0xBD, 0x88, 0xB2, 0xA0, 0xAF, 0x8D, 0xFE, 0x5B, 0xAC, 0xDF, 0xB5, 0x9F, 0xA0, 0x23, 0x6E, 0xAE } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x00000145, { { 0x22, 0x45, 0x35, 0xC6, 0x28, 0x00, 0x22, 0xAA, 0xD1, 0x15, 0x48, 0xE6, 0xE5, 0x62, 0x73, 0x37 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseAbortStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000006, 0x00000178, { { 0xDD, 0xEC, 0x68, 0x6D, 0x2E, 0x10, 0x34, 0x94, 0x46, 0x25, 0xF9, 0xAB, 0x29, 0x27, 0x32, 0xA8 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000006, 0x00000145, { { 0x22, 0x45, 0x35, 0xC6, 0x28, 0x00, 0x22, 0xAA, 0xD1, 0x15, 0x48, 0xE6, 0xE5, 0x62, 0x73, 0x37 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsMainProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000067, 0x0000245E, { { 0xD9, 0xE0, 0x74, 0x9D, 0x43, 0x96, 0xDC, 0x3B, 0xDF, 0x90, 0x03, 0xDE, 0x91, 0xE6, 0xA0, 0x1E } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000068, 0x000025D9, { { 0x17, 0xEB, 0xAB, 0x4F, 0x95, 0xD1, 0x7F, 0xEB, 0xF4, 0x92, 0x42, 0xD1, 0xD2, 0xA8, 0xC4, 0xA8 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000069, 0x0000265B, { { 0x4C, 0xA9, 0x38, 0x28, 0xE1, 0xD0, 0xE3, 0x35, 0xBB, 0xDC, 0xFB, 0x6B, 0xAB, 0xB1, 0x62, 0x88 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsSaveLoadProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000077, 0x00002513, { { 0x70, 0xD9, 0x48, 0xC2, 0x3A, 0x38, 0x1D, 0xD0, 0x8B, 0x90, 0x08, 0x8D, 0x80, 0xF5, 0x24, 0x59 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000086, 0x00002D2F, { { 0x2B, 0x48, 0x5C, 0x78, 0xF9, 0xB9, 0xD6, 0xA8, 0x1D, 0xF4, 0x97, 0xAC, 0xF1, 0x09, 0x26, 0xA7 } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x000000A9, 0x00003850, { { 0xC3, 0x09, 0x7B, 0x18, 0xD6, 0x08, 0x0E, 0x2A, 0xB6, 0x66, 0x43, 0x14, 0xD7, 0x59, 0x34, 0xF7 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x000000A2, 0x00003942, { { 0x6E, 0x10, 0x87, 0x4B, 0x80, 0xE8, 0x89, 0xC4, 0x31, 0xDC, 0xAC, 0xA9, 0xA3, 0x8D, 0x79, 0x41 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsOnOffProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000007, 0x00000178, { { 0x4D, 0xA7, 0x13, 0x00, 0x05, 0xF2, 0x44, 0xCB, 0xF7, 0x12, 0x72, 0x54, 0xDE, 0x35, 0x04, 0xEC } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000007, 0x00000178, { { 0xC7, 0x6F, 0x60, 0x72, 0x47, 0x89, 0x47, 0xF0, 0x29, 0x57, 0x45, 0x41, 0xD5, 0x80, 0x40, 0x7B } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsSpellsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x000001EF, 0x0000A0D0, { { 0xBA, 0x80, 0x5C, 0xAB, 0x93, 0x19, 0x53, 0x45, 0x17, 0xBC, 0x86, 0x5B, 0x1B, 0x01, 0x3E, 0x98 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x000001EA, 0x00009DE0, { { 0x00, 0xB0, 0x1F, 0xE7, 0x16, 0x48, 0x51, 0x25, 0xE5, 0xD8, 0xA1, 0x31, 0x13, 0x81, 0x8D, 0xB6 } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x000001FB, 0x0000A658, { { 0xAD, 0x6A, 0xFE, 0x13, 0xE5, 0xEA, 0x6A, 0xD1, 0xC9, 0x80, 0x1C, 0xEE, 0xD7, 0x2A, 0xF8, 0xB2 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000222, 0x0000B1C9, { { 0x24, 0xC8, 0x9B, 0x51, 0xEE, 0x45, 0x14, 0xFC, 0x1B, 0xE4, 0x37, 0x8B, 0xEC, 0x94, 0xD9, 0x0B } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsRestProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x000000B3, 0x00003CED, { { 0x82, 0xF9, 0xA1, 0x74, 0xE6, 0x95, 0xA4, 0xFC, 0xE6, 0x5E, 0xB4, 0x43, 0x7D, 0x10, 0xFD, 0x12 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x000000B3, 0x00003BE4, { { 0x7F, 0xE8, 0xFE, 0xA4, 0xD9, 0x5C, 0x49, 0x66, 0x38, 0x8F, 0x84, 0xB8, 0xF5, 0x03, 0xCD, 0x70 } } } }, // EOB - { DE_DEU, kPlatformUnknown, { 0x000000C0, 0x000040A6, { { 0x05, 0x97, 0x45, 0x72, 0xE2, 0x33, 0xBE, 0xDE, 0x56, 0x26, 0x26, 0x15, 0x3A, 0x56, 0x93, 0xFD } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsDropProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00000FCA, { { 0x88, 0xCB, 0xD2, 0xB3, 0xDA, 0x36, 0x97, 0x3D, 0xB8, 0x75, 0xFF, 0x36, 0xE1, 0x4E, 0xF4, 0x6D } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000039, 0x0000131E, { { 0x74, 0x0B, 0xE9, 0x04, 0x76, 0x26, 0xD2, 0xE8, 0x03, 0x48, 0x38, 0x18, 0xAC, 0x19, 0xBD, 0x7E } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000033, 0x0000119C, { { 0x8F, 0x2B, 0xC3, 0x01, 0xB2, 0xDE, 0x1F, 0xC6, 0x82, 0xC3, 0x58, 0x7C, 0x50, 0x23, 0x37, 0x65 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsExitProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002B, 0x00000E3D, { { 0x1C, 0xD6, 0x39, 0xA9, 0xC7, 0x3D, 0x32, 0x4A, 0xF2, 0xAE, 0xEC, 0x08, 0x6F, 0xC7, 0xA6, 0x7B } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000002D, 0x00000E68, { { 0x4B, 0x2F, 0x65, 0x39, 0x69, 0xE7, 0x3D, 0x7B, 0x10, 0x15, 0x6F, 0x1F, 0xD8, 0x8E, 0xEA, 0x55 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000026, 0x00000CBD, { { 0x0C, 0x5D, 0xE4, 0xD2, 0x6F, 0xA3, 0x91, 0xDA, 0x5F, 0xE2, 0x57, 0x77, 0x74, 0x22, 0xE7, 0x85 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsStarveProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000003D, 0x0000150C, { { 0x40, 0xEB, 0x79, 0xC3, 0x99, 0x4C, 0xEA, 0xCD, 0x8A, 0xB4, 0x54, 0xB8, 0xAA, 0xEC, 0xAD, 0x4F } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000037, 0x00001296, { { 0x51, 0x3C, 0x90, 0x91, 0x4E, 0x1C, 0x73, 0x2F, 0x0C, 0x7A, 0x6D, 0x03, 0x1E, 0x54, 0x65, 0xF1 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000030, 0x00001057, { { 0xF3, 0x5E, 0xFC, 0xC3, 0x9D, 0xB5, 0xFE, 0x4E, 0x66, 0x9D, 0x6A, 0xC6, 0x61, 0xC8, 0x0A, 0x17 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsScribeProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000103, 0x000055E1, { { 0x1B, 0x56, 0xD2, 0x78, 0x3F, 0x67, 0x7A, 0x5B, 0xB6, 0x2B, 0x70, 0x3D, 0x6A, 0xBB, 0x08, 0x0A } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000010C, 0x00005B1C, { { 0xD7, 0xBF, 0x37, 0x21, 0xA2, 0x63, 0x8C, 0x6A, 0x02, 0x92, 0x13, 0x32, 0xD6, 0xA6, 0x1C, 0xDC } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000100, 0x0000560F, { { 0x69, 0x15, 0x2C, 0x2D, 0xE7, 0x40, 0x4A, 0xE0, 0x86, 0x0D, 0xC8, 0x66, 0x87, 0x1C, 0x27, 0x0B } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsDrop2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000084, 0x00002ACE, { { 0xAB, 0x78, 0x42, 0x29, 0xFB, 0xC5, 0x34, 0x96, 0x9D, 0x8A, 0x21, 0x46, 0xE7, 0x6B, 0x06, 0xBA } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000008C, 0x00002D02, { { 0x11, 0x3F, 0x0C, 0xB2, 0xBF, 0xA7, 0x39, 0x23, 0xDC, 0x00, 0xB4, 0xEA, 0x5E, 0xFE, 0x40, 0xB7 } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x0000008E, 0x00002FFB, { { 0xCE, 0x7A, 0xCC, 0xA4, 0x02, 0x54, 0x1A, 0x78, 0xF1, 0xFC, 0xE6, 0x6C, 0x76, 0xCD, 0xFD, 0x9E } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000090, 0x000031CE, { { 0x01, 0x72, 0x59, 0xBE, 0x62, 0x72, 0xD4, 0x99, 0x76, 0xC9, 0x92, 0x0E, 0xE9, 0x1A, 0xCD, 0x65 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsHeadProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000021, 0x00000B27, { { 0x04, 0x06, 0x01, 0xF8, 0x50, 0x54, 0x11, 0x61, 0xFF, 0xB4, 0xE1, 0x97, 0xFA, 0x08, 0xAA, 0x1B } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000024, 0x00000CF5, { { 0x96, 0xD6, 0xB5, 0xB0, 0x2E, 0x71, 0xA4, 0x0A, 0x34, 0x41, 0x94, 0x02, 0x2F, 0xB0, 0x4C, 0x36 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000025, 0x00000D92, { { 0xE4, 0x73, 0x2D, 0x29, 0xAD, 0x30, 0xE5, 0x8D, 0xAE, 0xC6, 0xD7, 0xF5, 0x35, 0xD8, 0xA4, 0x98 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsPoisonProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002E, 0x00001077, { { 0x14, 0x7E, 0xFC, 0xE0, 0x88, 0xFE, 0x86, 0xA8, 0x96, 0x94, 0xB1, 0x71, 0x90, 0x47, 0x2D, 0x78 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000036, 0x000013A2, { { 0x18, 0xD9, 0x1D, 0xE5, 0x3D, 0xFD, 0x52, 0xB6, 0x18, 0x17, 0x61, 0xE8, 0xA5, 0x32, 0x9F, 0xA8 } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x0000002D, 0x00001006, { { 0xD6, 0x0B, 0x11, 0x79, 0xAD, 0x61, 0x5B, 0x3A, 0x72, 0x7D, 0x53, 0x6F, 0xA9, 0x08, 0x73, 0xDC } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000035, 0x000013BE, { { 0x73, 0x38, 0x76, 0x2C, 0x42, 0x87, 0x43, 0x7E, 0x8E, 0x4C, 0x41, 0x57, 0x3F, 0x04, 0xBA, 0x11 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsMgcProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000020, 0x00000857, { { 0xD1, 0x9E, 0xBF, 0xF7, 0xCF, 0xF7, 0xD0, 0x94, 0x14, 0x56, 0xD2, 0x4F, 0x59, 0x91, 0x57, 0x52 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000020, 0x0000086C, { { 0x12, 0x36, 0x84, 0x2F, 0x00, 0xAD, 0x12, 0x42, 0x3A, 0xA2, 0xC5, 0xC9, 0x59, 0x90, 0x64, 0x5F } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000021, 0x0000090B, { { 0x26, 0xA7, 0x58, 0x7C, 0x0C, 0x9E, 0x67, 0xB9, 0x05, 0xE6, 0x91, 0x59, 0xE3, 0xDF, 0x9C, 0x52 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsPrefsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000041, 0x00001392, { { 0xB1, 0x7E, 0xE3, 0x73, 0xB2, 0xA2, 0x63, 0x39, 0x20, 0xE8, 0xF3, 0x38, 0x45, 0xB6, 0xAC, 0xC8 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000045, 0x000015F6, { { 0x53, 0xBA, 0x7E, 0x6D, 0x24, 0x88, 0x2C, 0x19, 0x10, 0x71, 0x6F, 0xAB, 0x85, 0x8E, 0x97, 0xF6 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000003D, 0x00001246, { { 0x03, 0xFB, 0x7C, 0x80, 0x33, 0x45, 0x6C, 0x27, 0x89, 0x7B, 0x7C, 0xAC, 0x7A, 0xE1, 0xDE, 0x49 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsRest2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000004D, 0x00001744, { { 0x63, 0xA5, 0x6F, 0x09, 0x6F, 0x5E, 0x4B, 0x89, 0xFF, 0x33, 0x63, 0xCB, 0xAA, 0x04, 0x59, 0x63 } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000004D, 0x00001769, { { 0x2C, 0xA9, 0x7D, 0x4C, 0xC5, 0x13, 0xE2, 0xEB, 0x89, 0x6C, 0xAE, 0x25, 0xC3, 0x3E, 0x56, 0x7E } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x00000052, 0x000017F6, { { 0x7C, 0x49, 0xFC, 0x89, 0x90, 0x5D, 0xFF, 0x86, 0x86, 0xE9, 0xB2, 0x29, 0x60, 0xB2, 0x22, 0x7F } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x0000004C, 0x000014FF, { { 0x0C, 0x94, 0x6D, 0x5A, 0x42, 0x68, 0xE0, 0xDC, 0xCD, 0xB9, 0x1A, 0x4A, 0xC1, 0xCC, 0xE6, 0x91 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsRest3Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002B, 0x00000DF4, { { 0x42, 0x90, 0x49, 0xA7, 0x2E, 0x61, 0x77, 0x7F, 0x9F, 0x53, 0xAD, 0x3C, 0x87, 0xE2, 0x0E, 0x36 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000027, 0x00000D45, { { 0x8D, 0xAB, 0xBF, 0x57, 0xF3, 0x2C, 0x3F, 0x93, 0xBF, 0x33, 0x58, 0x2D, 0x97, 0x78, 0x71, 0x7F } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsRest4Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000029, 0x00000DEC, { { 0x1C, 0x86, 0x3D, 0x40, 0x2C, 0x5E, 0xCA, 0xA0, 0xA1, 0xB8, 0x23, 0x42, 0x9C, 0x6B, 0xFA, 0xBB } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x00000034, 0x00001238, { { 0xE9, 0x95, 0x27, 0x79, 0x1C, 0x0D, 0xF5, 0x94, 0x92, 0xFC, 0xCA, 0x22, 0x17, 0xA8, 0x36, 0x96 } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x0000002A, 0x00000DEB, { { 0x0E, 0xD3, 0xC5, 0xA9, 0x8B, 0x06, 0x57, 0xB0, 0x20, 0x1A, 0xEE, 0x42, 0x49, 0x2E, 0xA1, 0x50 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000033, 0x00001189, { { 0x56, 0x1B, 0x6B, 0x00, 0x47, 0xFD, 0x56, 0xD3, 0x12, 0x03, 0x79, 0x7D, 0xFF, 0x83, 0xCF, 0xAA } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsDefeatProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000006D, 0x00002643, { { 0x94, 0xBA, 0xAC, 0xA4, 0x87, 0x6A, 0xEA, 0x7D, 0x98, 0x6E, 0x09, 0x82, 0xE0, 0x16, 0x65, 0x4F } } } }, // EOB1 - { DE_DEU, kPlatformUnknown, { 0x0000006A, 0x00002456, { { 0xE0, 0x9A, 0x10, 0xE2, 0x73, 0x42, 0xF6, 0x79, 0xCB, 0x65, 0xA2, 0x50, 0xF0, 0x2B, 0xFD, 0x9B } } } }, // EOB1 - { EN_ANY, kPlatformUnknown, { 0x00000056, 0x00001E4F, { { 0x97, 0x07, 0x5F, 0xA2, 0x0D, 0x58, 0xD2, 0xDF, 0xD6, 0x04, 0xA2, 0x16, 0x0B, 0x1F, 0x7E, 0x23 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000042, 0x000016B1, { { 0xCA, 0x57, 0xDC, 0x2B, 0xC6, 0xC7, 0x78, 0x1E, 0x84, 0x0A, 0x10, 0x88, 0xCA, 0xCD, 0xFF, 0x89 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsTransferProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000114, 0x00005E09, { { 0xBF, 0xCE, 0x7F, 0xE4, 0x17, 0x15, 0xC6, 0x10, 0xDF, 0x16, 0xF9, 0x3C, 0xDA, 0x29, 0xA0, 0xA6 } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x000000D1, 0x00004811, { { 0x2E, 0x00, 0xD1, 0xA6, 0x9F, 0x53, 0xC5, 0x4B, 0x25, 0x4A, 0xAC, 0x9E, 0x11, 0x6C, 0x58, 0x5E } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsSpecProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000006F, 0x00002785, { { 0xAE, 0xC7, 0x88, 0x89, 0x39, 0xB8, 0xF7, 0xB4, 0xD5, 0x82, 0xBC, 0x46, 0xA1, 0xCB, 0x04, 0x1F } } } }, // EOB2 - { DE_DEU, kPlatformUnknown, { 0x00000075, 0x00002871, { { 0xB4, 0x38, 0x0F, 0x94, 0x8B, 0xB1, 0x8D, 0xA3, 0xF8, 0xDA, 0x37, 0x75, 0x6F, 0x39, 0x3E, 0xB5 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuStringsSpellNoProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x000000A5, { { 0x0D, 0x4A, 0x8B, 0x40, 0x70, 0x79, 0xCD, 0xB3, 0x0F, 0x5A, 0x5A, 0x3F, 0x6E, 0xE8, 0xF9, 0x74 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMenuYesNoStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000007, 0x000001EE, { { 0x8C, 0xF1, 0x35, 0x1F, 0xD6, 0x1F, 0xA4, 0xA1, 0xD6, 0xD6, 0x0A, 0x27, 0xB9, 0xFC, 0x9E, 0x62 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000008, 0x00000235, { { 0xC7, 0x06, 0xCF, 0xA8, 0xC0, 0xDE, 0xD4, 0x8C, 0x7F, 0xA2, 0x3A, 0xD3, 0x48, 0x51, 0x36, 0x89 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSpellLevelsMageProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001A, 0x00000042, { { 0x4F, 0xA3, 0x70, 0x0F, 0x6D, 0xB4, 0xC2, 0xAF, 0x12, 0xB4, 0x2E, 0x26, 0xEF, 0x0B, 0x37, 0x92 } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x00000023, 0x00000074, { { 0xBE, 0x10, 0xFA, 0xD9, 0xB3, 0xB0, 0x4E, 0x73, 0xC9, 0xA1, 0xE2, 0xCE, 0xE8, 0xEC, 0x85, 0x0F } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSpellLevelsClericProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000019, 0x00000045, { { 0x9E, 0xDA, 0xF2, 0x94, 0x3E, 0x0B, 0xA0, 0x23, 0x08, 0x41, 0xD5, 0x3C, 0x61, 0x77, 0xFD, 0x78 } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x0000001D, 0x00000066, { { 0xDB, 0x7F, 0x93, 0xE2, 0x2E, 0xCF, 0x69, 0xCC, 0x2A, 0xEF, 0x7C, 0x1E, 0x92, 0x6B, 0x51, 0x4E } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNumSpellsClericProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000032, 0x0000004C, { { 0x87, 0xDD, 0xD0, 0xF8, 0x52, 0x84, 0x26, 0xC4, 0x9C, 0x5D, 0x0E, 0x46, 0x1A, 0xE8, 0x19, 0xD6 } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x00000088, 0x00000114, { { 0xA0, 0xB7, 0x2F, 0xED, 0x50, 0xE7, 0xC6, 0x11, 0xC9, 0x25, 0xB2, 0xB9, 0x81, 0xFB, 0xD8, 0x59 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNumSpellsWisAdjProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000028, 0x0000001D, { { 0xA5, 0xCA, 0x1D, 0x96, 0xAE, 0x89, 0xBC, 0x7A, 0x32, 0x50, 0xCE, 0x44, 0x5D, 0x93, 0x25, 0x4B } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x00000040, 0x0000001D, { { 0x07, 0x31, 0x0D, 0x12, 0x55, 0x11, 0x11, 0xB6, 0x68, 0xC7, 0xEE, 0xDE, 0xC6, 0xED, 0x82, 0x5A } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNumSpellsPalProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000012, { { 0x96, 0x7E, 0x17, 0x9E, 0xFD, 0x39, 0xC9, 0x3A, 0xB7, 0x3E, 0x8D, 0xA8, 0xED, 0xA3, 0x07, 0xEB } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x00000088, 0x0000002F, { { 0x19, 0x1A, 0x9B, 0x42, 0xA0, 0x67, 0x10, 0x1A, 0xAC, 0x00, 0x0F, 0xF7, 0xBE, 0x04, 0x61, 0x36 } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNumSpellsMageProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x0000005E, { { 0x61, 0x30, 0x1A, 0x74, 0x9B, 0x4C, 0x8C, 0x83, 0xD5, 0xE6, 0x39, 0x6E, 0xCA, 0x18, 0x16, 0x63 } } } }, // EOB1 - { UNK_LANG, kPlatformUnknown, { 0x00000114, 0x00000102, { { 0x33, 0xEE, 0x32, 0x9C, 0xB2, 0xB3, 0x60, 0x66, 0x91, 0xE0, 0x90, 0x0E, 0x8F, 0xE1, 0xA5, 0x4A } } } }, // EOB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsHpProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000F, 0x00000352, { { 0x9C, 0x13, 0x3D, 0x2A, 0x68, 0x11, 0x81, 0xA4, 0x77, 0x54, 0x47, 0x43, 0xA1, 0xDA, 0x55, 0x50 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000E, 0x000002AC, { { 0xBB, 0xD5, 0x36, 0xB2, 0x8A, 0x60, 0x78, 0x04, 0x46, 0x2D, 0x35, 0x59, 0x3E, 0x42, 0xB9, 0x83 } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x0000000E, 0x000002B8, { { 0x77, 0x76, 0xA0, 0x38, 0xE9, 0xB6, 0x0C, 0x43, 0xFE, 0x5A, 0x51, 0xC7, 0x1B, 0x59, 0xD3, 0x63 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsWp1Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000A, 0x00000253, { { 0x1D, 0xF4, 0xB9, 0x56, 0xE6, 0x16, 0x7D, 0x08, 0xA4, 0x00, 0x1E, 0x1A, 0x60, 0x49, 0xE9, 0x29 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000A, 0x00000236, { { 0x17, 0xEC, 0x54, 0xA0, 0x43, 0xFB, 0x52, 0x66, 0xC5, 0x44, 0x1B, 0xDF, 0x95, 0x47, 0x62, 0xB3 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsWp2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000F, 0x00000371, { { 0x42, 0xF4, 0x52, 0x60, 0x20, 0xFC, 0x34, 0x94, 0x49, 0x1E, 0x67, 0x54, 0xB5, 0x6A, 0x97, 0x2A } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000010, 0x000003D6, { { 0x10, 0xD1, 0x77, 0x6C, 0xCD, 0x00, 0x94, 0xC7, 0xD0, 0x53, 0x47, 0x9F, 0x70, 0x77, 0x50, 0xD1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsWrProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000014, 0x00000477, { { 0xAA, 0x26, 0xD5, 0xFD, 0xE6, 0x16, 0x53, 0x19, 0x39, 0x46, 0xEB, 0xCD, 0x88, 0xEC, 0x5E, 0xCB } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000015, 0x000004A4, { { 0x53, 0x54, 0x37, 0x35, 0x27, 0x1F, 0xB9, 0x09, 0x9C, 0xE9, 0x5E, 0x11, 0xBD, 0x8F, 0x15, 0xAE } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x00000011, 0x00000402, { { 0xE0, 0x92, 0xF4, 0x49, 0xB7, 0x74, 0xBB, 0xEB, 0x90, 0x0D, 0x75, 0x65, 0xBB, 0xF6, 0xB6, 0xE9 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsSt1Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000003B, 0x0000104B, { { 0xC0, 0xD9, 0x0F, 0x7B, 0x6D, 0x17, 0x02, 0xBD, 0x7B, 0xB1, 0x76, 0x72, 0xA1, 0xEE, 0x5E, 0xAD } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000039, 0x00000F69, { { 0x09, 0x42, 0x35, 0x47, 0x48, 0x50, 0x05, 0x09, 0x3B, 0x81, 0x14, 0x01, 0xF9, 0xB5, 0x04, 0xB2 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsSt2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000045, 0x000012E7, { { 0x49, 0x48, 0x30, 0x73, 0xDA, 0x42, 0xDB, 0xB9, 0xF4, 0x07, 0x00, 0x26, 0x96, 0x1F, 0x02, 0x4E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000042, 0x0000114D, { { 0x88, 0x6E, 0x45, 0xF9, 0xAE, 0xEF, 0xE8, 0x54, 0x9C, 0xEF, 0xD2, 0x73, 0x78, 0x41, 0xD9, 0xAF } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharGuiStringsInProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000023, 0x000008CB, { { 0xF0, 0xE9, 0xF1, 0x05, 0x47, 0x3A, 0x5D, 0xCA, 0x9F, 0x75, 0x9D, 0x51, 0x9E, 0xEC, 0x9B, 0x67 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000020, 0x00000810, { { 0xF5, 0x39, 0x1E, 0x0E, 0x65, 0xEF, 0x09, 0xF2, 0x8D, 0x90, 0xC4, 0xF6, 0x8A, 0xED, 0xAD, 0xDF } } } }, // EoB 1 - { DE_DEU, kPlatformUnknown, { 0x00000023, 0x00000940, { { 0xAB, 0xF6, 0xE4, 0xD4, 0x07, 0x07, 0xDA, 0x92, 0x71, 0xE2, 0x73, 0x1F, 0x06, 0xE3, 0x12, 0xEB } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings7Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000022, 0x00000B95, { { 0xCB, 0xB7, 0x16, 0x77, 0x9C, 0xEB, 0x70, 0x83, 0xB2, 0xBE, 0xF7, 0x67, 0xB1, 0xE9, 0xD0, 0x5E } } } }, // EOB 1 + 2 - { DE_DEU, kPlatformUnknown, { 0x0000002B, 0x00000EE3, { { 0xC8, 0x81, 0x23, 0xC3, 0x03, 0xBD, 0x4C, 0xF5, 0x41, 0x47, 0xFA, 0x32, 0xA0, 0x98, 0x0A, 0x8E } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000023, 0x00000C68, { { 0xF5, 0x55, 0x09, 0xD8, 0x73, 0xF8, 0xF0, 0xE3, 0x14, 0xCD, 0x78, 0x84, 0x58, 0xB0, 0x64, 0x5B } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings81Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000021, 0x00000B03, { { 0x44, 0xFC, 0xC2, 0x23, 0x4B, 0x78, 0xA8, 0xF8, 0xA5, 0x46, 0x5B, 0x89, 0x1F, 0x9D, 0x4E, 0xFA } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000020, 0x00000A52, { { 0x81, 0xDA, 0x22, 0x8A, 0xD3, 0x7D, 0xE7, 0xF5, 0x39, 0x6A, 0x62, 0x41, 0xE5, 0x8D, 0x45, 0x20 } } } }, // EOB 1 -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings82Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000023, 0x00000B0F, { { 0xBD, 0xED, 0xFE, 0xFD, 0x40, 0x95, 0x42, 0x21, 0x1F, 0x55, 0x67, 0x65, 0xA8, 0xC3, 0x99, 0xA1 } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x0000001A, 0x00000789, { { 0x8C, 0xF3, 0xB8, 0x3C, 0x6E, 0x85, 0xED, 0xD6, 0x2B, 0xD7, 0xAE, 0x8A, 0xFC, 0x25, 0x5E, 0x8F } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings9Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001C, 0x00000952, { { 0x2F, 0x41, 0x17, 0x95, 0xF8, 0xC8, 0x4E, 0x88, 0xC6, 0x83, 0x38, 0x9B, 0xAB, 0x23, 0x48, 0xB9 } } } }, // EOB 1 + 2 - { DE_DEU, kPlatformUnknown, { 0x0000001D, 0x0000099F, { { 0x5E, 0xB4, 0xBE, 0xA9, 0x0C, 0xB2, 0xF2, 0x4E, 0x63, 0xF8, 0x7B, 0x98, 0x67, 0x2D, 0xC9, 0xBF } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x0000001E, 0x00000A52, { { 0xD4, 0x65, 0x3F, 0x35, 0xDD, 0x8A, 0x33, 0x44, 0x2F, 0x8C, 0xAC, 0x2F, 0xEC, 0x96, 0x5B, 0x02 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings12Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000010, 0x00000503, { { 0x81, 0x22, 0xE9, 0x0F, 0xA5, 0xEA, 0xFE, 0xB5, 0xB6, 0x43, 0x36, 0x22, 0x87, 0x24, 0x2C, 0x40 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000014, 0x00000683, { { 0x5A, 0xF8, 0xAA, 0x16, 0x97, 0xBE, 0xD5, 0x22, 0xCE, 0x3F, 0xBC, 0x00, 0x44, 0xC1, 0x27, 0xD3 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings131Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000B, 0x0000027A, { { 0x70, 0x1A, 0x83, 0x35, 0x0A, 0x51, 0xEA, 0x27, 0x6E, 0xCD, 0xEB, 0xAD, 0x20, 0x74, 0x28, 0x7D } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000C, 0x000002EE, { { 0xFE, 0xF9, 0x45, 0xE7, 0x89, 0x7B, 0xA4, 0x82, 0x90, 0x63, 0x91, 0x5B, 0x9E, 0x83, 0x80, 0x10 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseCharStatusStrings132Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000D, 0x00000286, { { 0x00, 0x1E, 0x11, 0xCC, 0x57, 0xFA, 0xEF, 0x2A, 0x0A, 0xFF, 0xFF, 0xE9, 0x3E, 0xA3, 0x62, 0x21 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000A, 0x0000018A, { { 0x10, 0x54, 0x6F, 0xC3, 0x08, 0xC4, 0xD2, 0xBB, 0x34, 0x0A, 0x04, 0x65, 0x49, 0xFC, 0x5E, 0x15 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseLevelGainStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000002A, 0x00000CC9, { { 0xF2, 0x1F, 0xDF, 0xE0, 0xA5, 0x86, 0x46, 0xF4, 0xFC, 0x71, 0xB0, 0x22, 0x32, 0x46, 0x71, 0xB6 } } } }, // EOB 1 - { DE_DEU, kPlatformUnknown, { 0x00000029, 0x00000D38, { { 0x18, 0xA3, 0xFD, 0xCC, 0xF2, 0x68, 0x18, 0x9E, 0x80, 0x5A, 0xC0, 0x22, 0xFD, 0x15, 0x83, 0x84 } } } }, // EOB 1 - { EN_ANY, kPlatformUnknown, { 0x0000001C, 0x0000078C, { { 0x15, 0x70, 0x37, 0xE4, 0x0B, 0x50, 0x32, 0xCA, 0xAE, 0xF6, 0x81, 0xD0, 0x98, 0x9B, 0x36, 0x8A } } } }, // EOB 2 - { DE_DEU, kPlatformUnknown, { 0x0000001F, 0x000008E3, { { 0x07, 0x2C, 0x51, 0x5E, 0x47, 0xAA, 0xCC, 0x27, 0x77, 0xD8, 0x17, 0x59, 0x6B, 0xBE, 0xF5, 0x87 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExperienceTable0Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000C9E, { { 0xDB, 0x47, 0xD9, 0x0D, 0x6E, 0x68, 0x04, 0xE4, 0x17, 0xCB, 0x60, 0x89, 0x35, 0x3E, 0xA9, 0xEE } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x00000E24, { { 0xBC, 0xF3, 0x96, 0x8A, 0xD5, 0x0C, 0xAA, 0x94, 0xBB, 0xB5, 0x08, 0x73, 0xF8, 0x5C, 0xF0, 0xA9 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExperienceTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000C80, { { 0x35, 0x45, 0x0D, 0x4F, 0xE0, 0x84, 0xA2, 0x1B, 0xB0, 0x0D, 0x60, 0x4D, 0x1D, 0xD5, 0x6C, 0x72 } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x00000E6F, { { 0xBD, 0x3F, 0x42, 0x54, 0x75, 0x41, 0xAA, 0x58, 0x0D, 0xD8, 0xC0, 0x07, 0x63, 0x35, 0x83, 0x6B } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExperienceTable2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000E10, { { 0xA5, 0x4D, 0xCB, 0xF3, 0x5F, 0x89, 0x71, 0x24, 0x6F, 0x70, 0xCA, 0x51, 0xAA, 0x1C, 0x0A, 0x97 } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x00001149, { { 0xF9, 0xF1, 0x7E, 0x6B, 0xB2, 0xFE, 0x04, 0xC4, 0x29, 0x3D, 0xE3, 0x42, 0x5D, 0x92, 0x77, 0x53 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExperienceTable3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000ADC, { { 0x42, 0x2E, 0x2E, 0xF5, 0xF8, 0x65, 0x69, 0x28, 0x50, 0x67, 0x43, 0xDF, 0x91, 0x67, 0x9B, 0x09 } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x00000C94, { { 0x67, 0x09, 0x98, 0x19, 0x1F, 0x6B, 0x4D, 0xEB, 0x1D, 0x4D, 0x55, 0xA8, 0xFF, 0xD1, 0xAB, 0xE1 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExperienceTable4Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000DA7, { { 0x45, 0x58, 0x34, 0xC9, 0x09, 0x61, 0xD7, 0xE1, 0xF8, 0x68, 0x80, 0xBC, 0xEF, 0x7A, 0x24, 0x03 } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x00000FE1, { { 0x26, 0x7F, 0x83, 0x53, 0x4A, 0xC6, 0xA2, 0x7B, 0xD2, 0xFB, 0x73, 0xB2, 0x08, 0x0A, 0xF7, 0xFD } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseWllFlagPresetProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000019, 0x00000BD9, { { 0xBE, 0x5A, 0xA6, 0xC8, 0xE4, 0x04, 0x4C, 0x32, 0x35, 0x61, 0x48, 0x73, 0x29, 0xA9, 0x99, 0x54 } } } }, // EoB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000019, 0x00000BC9, { { 0x56, 0xC0, 0x66, 0x4D, 0xE1, 0x3A, 0x27, 0x89, 0x9D, 0x73, 0x63, 0x93, 0x08, 0x2B, 0x13, 0xBC } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscShapeCoordsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000168, 0x0000F206, { { 0xB8, 0xDF, 0x10, 0xBB, 0x06, 0xA1, 0x46, 0xC6, 0xD2, 0xE3, 0xD7, 0x64, 0x4A, 0xC6, 0x40, 0xC0 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleOffsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000010F, { { 0x7B, 0x7D, 0x03, 0xDE, 0x33, 0x95, 0xB8, 0xFD, 0xAD, 0x72, 0x44, 0x7D, 0x47, 0xFE, 0x04, 0x3D } } } }, // EoB1 - { UNK_LANG, kPlatformDOS, { 0x00000035, 0x00000139, { { 0x74, 0x63, 0x18, 0xE7, 0xAB, 0xA4, 0x22, 0xCF, 0x32, 0x19, 0x28, 0x9E, 0x7F, 0x97, 0xA7, 0x37 } } } }, // EoB2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000026, { { 0x5D, 0x17, 0xFB, 0x6A, 0x7F, 0x51, 0x55, 0xFB, 0x55, 0xB9, 0x50, 0xB0, 0x7F, 0xE4, 0xDF, 0x67 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000006, { { 0x98, 0xD8, 0xF8, 0x0C, 0x98, 0xC4, 0xF1, 0x87, 0x59, 0x32, 0x78, 0x31, 0xFA, 0x98, 0x8A, 0x43 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult3Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000013, { { 0xEE, 0xB6, 0xA5, 0x6E, 0x0C, 0x8E, 0xAB, 0x38, 0xD9, 0x23, 0xC6, 0x21, 0xB3, 0x7E, 0x97, 0x78 } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000019, { { 0x86, 0xD8, 0x04, 0xD2, 0x66, 0x6F, 0x43, 0x24, 0x2E, 0x93, 0xB9, 0xAE, 0xEB, 0x44, 0xCA, 0x48 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult4Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000006, { { 0x98, 0xD8, 0xF8, 0x0C, 0x98, 0xC4, 0xF1, 0x87, 0x59, 0x32, 0x78, 0x31, 0xFA, 0x98, 0x8A, 0x43 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult5Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000020, { { 0x37, 0xA1, 0x0D, 0x64, 0xD6, 0x1E, 0xBA, 0xA3, 0xD9, 0x0A, 0x6C, 0xAB, 0x6B, 0xA3, 0x59, 0x24 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorScaleMult6Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000006, { { 0x98, 0xD8, 0xF8, 0x0C, 0x98, 0xC4, 0xF1, 0x87, 0x59, 0x32, 0x78, 0x31, 0xFA, 0x98, 0x8A, 0x43 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorType5OffsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000012, { { 0x73, 0xBB, 0x61, 0xD6, 0xA7, 0x75, 0xC8, 0x7B, 0xD6, 0xA4, 0x53, 0x1B, 0x54, 0xE9, 0x30, 0x3F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorXEProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000010F, { { 0x7B, 0x7D, 0x03, 0xDE, 0x33, 0x95, 0xB8, 0xFD, 0xAD, 0x72, 0x44, 0x7D, 0x47, 0xFE, 0x04, 0x3D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000D7, { { 0x25, 0xAE, 0xF4, 0x99, 0xE8, 0x97, 0x47, 0xAE, 0x75, 0xF3, 0xA9, 0x70, 0x4C, 0x70, 0xF3, 0x11 } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000D8, { { 0xB4, 0xAA, 0x0D, 0x91, 0x58, 0x22, 0x16, 0xCF, 0xC5, 0x9D, 0x8D, 0xA1, 0xB4, 0x40, 0x83, 0x0E } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY3Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000058, { { 0xF0, 0x3C, 0x3B, 0x97, 0x10, 0x95, 0x89, 0x18, 0x3B, 0xA9, 0xE8, 0x77, 0x9B, 0x10, 0xDC, 0xF1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY4Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000076, { { 0x84, 0xB6, 0x8F, 0x7E, 0x9A, 0x17, 0xAC, 0x59, 0xB1, 0x4C, 0xDE, 0x11, 0xA6, 0x95, 0xE3, 0x76 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY5Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000D9, { { 0x5D, 0x27, 0x1D, 0xD6, 0x5F, 0x98, 0xF9, 0x7D, 0x65, 0x7B, 0xE0, 0x67, 0x34, 0xA0, 0xE8, 0x30 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY6Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000D9, { { 0x4D, 0x15, 0x4A, 0xF1, 0x17, 0x09, 0xC1, 0xA6, 0x08, 0x4A, 0xCD, 0xB2, 0x68, 0xC2, 0x59, 0x52 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorY7Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000DA, { { 0xA9, 0x24, 0x71, 0x8A, 0x18, 0x24, 0x6D, 0x0A, 0x65, 0x12, 0xBB, 0x1F, 0xE7, 0x95, 0xC5, 0xA4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscDoorCoordsExtProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000048, 0x00000C8E, { { 0x2E, 0x0E, 0xB2, 0xAC, 0xE7, 0x0F, 0xDF, 0x38, 0xDF, 0x92, 0xB7, 0xB5, 0xA2, 0xFD, 0x40, 0x2D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscItemPosIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x00000018, { { 0x74, 0x90, 0x47, 0xE6, 0xFB, 0xC0, 0x34, 0xDF, 0x92, 0x5B, 0xA1, 0xCB, 0x06, 0x33, 0xCA, 0x6B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscItemShpXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000024, 0x00000F2C, { { 0x9E, 0x22, 0x3F, 0x8F, 0x31, 0x83, 0xF7, 0x7C, 0x59, 0x60, 0x7C, 0x0A, 0xEB, 0xD2, 0x18, 0x85 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscItemPosUnkProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000012, 0x00000433, { { 0xA4, 0x7B, 0x08, 0x07, 0x81, 0xEA, 0x4F, 0x99, 0x77, 0x74, 0x93, 0x65, 0xBF, 0x0C, 0x3B, 0x94 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscItemTileIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000012, 0x00000D23, { { 0x0E, 0x17, 0xE1, 0x1F, 0x34, 0x7D, 0x30, 0xF6, 0xAE, 0x0B, 0xAC, 0x9D, 0x21, 0xB6, 0x97, 0xCC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscItemShapeMapProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000005A, 0x00000B23, { { 0x41, 0x4A, 0x95, 0x7F, 0x82, 0x85, 0x28, 0x55, 0xD4, 0xD5, 0xD6, 0xD8, 0xA9, 0xAE, 0xF4, 0xC0 } } } }, // EoB 1 - { UNK_LANG, kPlatformDOS, { 0x00000071, 0x00000860, { { 0xEA, 0x5D, 0x33, 0xB6, 0x38, 0x30, 0x65, 0x29, 0x7F, 0x08, 0x89, 0x04, 0xC5, 0x97, 0x76, 0xCB } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscTelptrShpCoordsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000009C, 0x00000EBE, { { 0x2D, 0x1D, 0x74, 0x39, 0x29, 0xC3, 0x6F, 0x53, 0xD9, 0xA5, 0x4B, 0x9F, 0xD6, 0xDD, 0x73, 0xE9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBasePortalSeqDataProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000007E, 0x000002D0, { { 0x18, 0x7E, 0x65, 0x17, 0x4C, 0xD2, 0xB5, 0x2E, 0x81, 0xF8, 0x1C, 0xAC, 0x37, 0x21, 0x62, 0x2A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseManDefProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000078, 0x000002CD, { { 0x33, 0x9B, 0x0C, 0x6A, 0x2E, 0x4F, 0xE9, 0x02, 0x7B, 0xEE, 0xF1, 0x04, 0xA3, 0xBA, 0xD4, 0xF3 } } } }, // EoB 1 - { DE_DEU, kPlatformDOS, { 0x00000078, 0x000002C4, { { 0x92, 0x20, 0x58, 0x5F, 0x44, 0x09, 0x0B, 0xF0, 0xDA, 0x09, 0xE2, 0x44, 0x0B, 0xB7, 0x95, 0x96 } } } }, // EoB 1 - { EN_ANY, kPlatformDOS, { 0x000000C8, 0x00000834, { { 0x18, 0xEA, 0x33, 0xB7, 0x4B, 0x72, 0x23, 0x8D, 0x0E, 0x9F, 0x4E, 0xF5, 0x09, 0xA3, 0x9C, 0xEA } } } }, // EoB 2 - { DE_DEU, kPlatformDOS, { 0x000000C8, 0x00000622, { { 0xFE, 0x1D, 0x94, 0x3A, 0x0B, 0x17, 0x89, 0xEF, 0x60, 0x18, 0xB2, 0x43, 0x7A, 0x02, 0xDB, 0x61 } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseManWordProvider[] = { - { EN_ANY, kPlatformDOS, { 0x000000E0, 0x00005134, { { 0x68, 0x9C, 0x19, 0x2B, 0x5F, 0x38, 0x36, 0x41, 0xA7, 0x7E, 0xB7, 0x51, 0x41, 0x60, 0x1D, 0x67 } } } }, // EoB 1 - { DE_DEU, kPlatformDOS, { 0x000000EA, 0x00005458, { { 0xEC, 0x14, 0x11, 0xE9, 0x19, 0xFD, 0xF8, 0xFC, 0xA8, 0x46, 0x3D, 0xCD, 0x56, 0x08, 0xC3, 0x4A } } } }, // EoB 1 - { EN_ANY, kPlatformDOS, { 0x0000017E, 0x00008B64, { { 0x66, 0x38, 0x09, 0x5B, 0x2E, 0x50, 0x54, 0x43, 0x1C, 0xEC, 0x56, 0x3B, 0x72, 0x39, 0xF9, 0xC3 } } } }, // EoB 2 - { DE_DEU, kPlatformDOS, { 0x0000015B, 0x00007C37, { { 0x44, 0xA3, 0x32, 0x88, 0x9F, 0x63, 0x28, 0xA0, 0xBD, 0x00, 0xF1, 0x08, 0xCA, 0xE5, 0xFE, 0x5F } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseManPromptProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000041, 0x000013AC, { { 0x40, 0x2B, 0xB5, 0x99, 0xEF, 0x8F, 0x3C, 0x9F, 0xB1, 0x5A, 0xBE, 0xE4, 0x80, 0x8E, 0xBB, 0x96 } } } }, // EoB 1 - { DE_DEU, kPlatformDOS, { 0x00000048, 0x000015A5, { { 0x0B, 0xB4, 0x9E, 0xAD, 0xB3, 0x56, 0x75, 0xC1, 0xAE, 0x29, 0xF7, 0xB5, 0x82, 0x14, 0xD1, 0x27 } } } }, // EoB 1 - { EN_ANY, kPlatformDOS, { 0x00000041, 0x000013AC, { { 0x40, 0x2B, 0xB5, 0x99, 0xEF, 0x8F, 0x3C, 0x9F, 0xB1, 0x5A, 0xBE, 0xE4, 0x80, 0x8E, 0xBB, 0x96 } } } }, // EoB 2 - { DE_DEU, kPlatformDOS, { 0x0000005C, 0x00001D08, { { 0x10, 0xCE, 0x2D, 0xED, 0xA9, 0xA0, 0x7C, 0xA1, 0x91, 0x3F, 0xD8, 0x43, 0x03, 0x53, 0x97, 0xCA } } } }, // EoB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscMonsterFrmOffsTbl1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00001000, { { 0x98, 0x27, 0x57, 0x25, 0x3B, 0x04, 0x7D, 0x14, 0x3A, 0xD4, 0xA2, 0x5D, 0xBA, 0x04, 0x45, 0xAC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDscMonsterFrmOffsTbl2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000828, { { 0x7E, 0x8A, 0x0C, 0xEB, 0x5C, 0xBC, 0x6C, 0xBD, 0xD2, 0x48, 0x08, 0xCC, 0xF7, 0x7B, 0x81, 0x03 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseInvSlotXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000036, 0x000010BF, { { 0x50, 0x6E, 0x67, 0x2B, 0x7D, 0x6C, 0xF2, 0x21, 0x73, 0xA2, 0xD5, 0xBB, 0xCE, 0x3B, 0x71, 0xAA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseInvSlotYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001B, 0x00000A5B, { { 0x47, 0x55, 0x7D, 0x84, 0x45, 0x91, 0xC4, 0x44, 0x10, 0xD5, 0x39, 0xC4, 0xC8, 0x4F, 0x01, 0xA4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSlotValidationFlagsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000036, 0x00001F6B, { { 0x87, 0x4F, 0x9A, 0x97, 0x20, 0x20, 0xB2, 0xA6, 0xF7, 0xC2, 0x5F, 0xAA, 0x17, 0xEA, 0xB4, 0x50 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseProjectileWeaponTypesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x0000061C, { { 0x05, 0x55, 0xA6, 0xD1, 0x3C, 0x12, 0x84, 0xDA, 0xA9, 0x33, 0xCF, 0x07, 0x05, 0x2A, 0xB2, 0x29 } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x0000000F, 0x00000829, { { 0x9F, 0x6A, 0x13, 0x8A, 0xA7, 0x40, 0xE8, 0x40, 0x2E, 0x87, 0x49, 0x6B, 0x67, 0xED, 0xE8, 0xCE } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseWandTypesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000007, 0x00000162, { { 0xDB, 0x5D, 0x34, 0x70, 0x41, 0xAB, 0x8F, 0x75, 0xC8, 0x61, 0x8E, 0x44, 0x82, 0xCF, 0x28, 0x03 } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x00000175, { { 0x01, 0xC2, 0xF0, 0xC6, 0x1C, 0xD0, 0x14, 0xD9, 0xB8, 0xF5, 0x9C, 0xFC, 0x22, 0xE4, 0xA0, 0xA7 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseDrawObjPosIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000014, 0x00000028, { { 0x44, 0x46, 0x8C, 0x94, 0x76, 0x24, 0x08, 0xC7, 0x1F, 0x1B, 0x10, 0xD7, 0xDF, 0x18, 0x6C, 0x0D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseFlightObjFlipIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x00000008, { { 0xEB, 0xF0, 0x27, 0x7E, 0xA8, 0x09, 0x3A, 0x95, 0x3B, 0x71, 0x2A, 0x43, 0x2E, 0xCF, 0x22, 0x0B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseFlightObjShpMapProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000058, 0x000051BD, { { 0xC3, 0xD2, 0xD1, 0xE5, 0x78, 0xEE, 0xA7, 0xAA, 0x71, 0xD1, 0xDD, 0xDF, 0x40, 0xBB, 0xAF, 0x66 } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x0000002D, 0x000025E6, { { 0x64, 0x26, 0x3D, 0xDC, 0x6C, 0x1A, 0xFC, 0x36, 0x9E, 0x5A, 0xBF, 0x64, 0xAD, 0xF4, 0xA3, 0x5D } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseFlightObjSclIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000048, 0x00002A0E, { { 0xAC, 0xBB, 0x7D, 0x73, 0x98, 0xF4, 0x1E, 0x4A, 0x77, 0xF0, 0x98, 0x75, 0x11, 0xBF, 0xF7, 0xD5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseBookNumbersProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000020, 0x00000AC8, { { 0x35, 0x05, 0x37, 0x4C, 0x05, 0x74, 0x04, 0x08, 0xAD, 0xA3, 0x64, 0xBF, 0xC0, 0x67, 0xF2, 0xF7 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000028, 0x00000E5D, { { 0x80, 0x98, 0x05, 0x54, 0x84, 0x90, 0xD3, 0xB3, 0x9B, 0xFB, 0x8F, 0xB9, 0xA0, 0x43, 0xAA, 0xFD } } } }, - { EN_ANY, kPlatformDOS, { 0x00000020, 0x00000AC8, { { 0x35, 0x05, 0x37, 0x4C, 0x05, 0x74, 0x04, 0x08, 0xAD, 0xA3, 0x64, 0xBF, 0xC0, 0x67, 0xF2, 0xF7 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000022, 0x00000BCA, { { 0x93, 0x0E, 0xE0, 0x6D, 0xDD, 0x40, 0xBC, 0x89, 0x67, 0xBD, 0x8A, 0xCB, 0xD2, 0xCF, 0x78, 0x8D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMageSpellsListProvider[] = { - { EN_ANY, kPlatformDOS, { 0x00000122, 0x00006304, { { 0xD7, 0x14, 0x28, 0x83, 0x04, 0xC3, 0x42, 0x5A, 0x15, 0x49, 0x91, 0x12, 0x1D, 0x49, 0x17, 0x5B } } } }, - { DE_DEU, kPlatformDOS, { 0x0000013A, 0x00007155, { { 0x94, 0x45, 0xB9, 0x15, 0x57, 0x6E, 0xC6, 0x70, 0x66, 0x5F, 0xA7, 0x90, 0xA0, 0xC7, 0xC9, 0xE9 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000195, 0x00008AC0, { { 0x55, 0xB8, 0x75, 0x35, 0x09, 0x23, 0x83, 0x11, 0x22, 0xF8, 0x23, 0x1E, 0x8F, 0x08, 0x57, 0x66 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000019A, 0x0000929F, { { 0xB3, 0xA0, 0x2D, 0x3B, 0xF3, 0x72, 0x9B, 0x75, 0xA3, 0xC4, 0xD8, 0x72, 0x4B, 0xDE, 0x69, 0x82 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseClericSpellsListProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000013B, 0x00006BE6, { { 0x34, 0x63, 0x0B, 0xBA, 0xED, 0xC2, 0x9B, 0x31, 0xC3, 0x65, 0x51, 0xFF, 0xEF, 0xD8, 0x25, 0x92 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000016D, 0x00007E74, { { 0x6E, 0xDE, 0x28, 0xE6, 0x13, 0x3D, 0xA6, 0x42, 0x80, 0xAB, 0xE7, 0xED, 0xAD, 0xC8, 0x62, 0x48 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000164, 0x000079B3, { { 0x93, 0x16, 0x25, 0xFB, 0x76, 0xFF, 0xBC, 0x70, 0x9A, 0xB7, 0x93, 0xFC, 0x2E, 0xC3, 0x61, 0x7F } } } }, - { DE_DEU, kPlatformDOS, { 0x0000018B, 0x00008BB1, { { 0x8C, 0x21, 0xED, 0xE0, 0x1F, 0xF1, 0xDB, 0x72, 0xC4, 0x46, 0x36, 0x50, 0x16, 0xD5, 0xA8, 0x68 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSpellNamesProvider[] = { - { EN_ANY, kPlatformDOS, { 0x0000029A, 0x0000F1C8, { { 0xCA, 0xE1, 0x30, 0xDC, 0xAB, 0xD1, 0x87, 0xE8, 0x51, 0xA2, 0xA2, 0x1C, 0x23, 0x4A, 0x34, 0x58 } } } }, - { DE_DEU, kPlatformDOS, { 0x000002D3, 0x0001080D, { { 0x5F, 0xDB, 0x9E, 0x48, 0x30, 0x03, 0xE1, 0x8E, 0xC7, 0xDC, 0x98, 0x10, 0xCE, 0xA1, 0x28, 0x31 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000366, 0x00013B1A, { { 0x15, 0xCB, 0x0E, 0xA9, 0x4E, 0x78, 0x30, 0x99, 0xA1, 0xCF, 0xF7, 0x05, 0xAB, 0x00, 0x66, 0x82 } } } }, - { DE_DEU, kPlatformDOS, { 0x000003BA, 0x0001626B, { { 0x0E, 0x4F, 0xF6, 0xFB, 0x78, 0x5E, 0x03, 0xE7, 0x82, 0xC4, 0xE2, 0x7B, 0xD9, 0xB2, 0xD7, 0xB2 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings1Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000084, 0x000029B0, { { 0xC6, 0x90, 0x19, 0x61, 0xA1, 0x66, 0xF6, 0x03, 0x7A, 0x1F, 0x10, 0x00, 0xCA, 0x8F, 0x69, 0x3B } } } }, - { DE_DEU, kPlatformDOS, { 0x0000009D, 0x000033E4, { { 0x4B, 0xCF, 0x40, 0xCE, 0x0F, 0x86, 0x98, 0x36, 0x03, 0x59, 0xFE, 0x32, 0xFA, 0x4C, 0x14, 0x75 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000085, 0x000029BD, { { 0xAB, 0x22, 0x4A, 0x70, 0xBB, 0x29, 0xB8, 0xBD, 0xAF, 0xC5, 0x0D, 0x1F, 0x23, 0x38, 0xBD, 0x06 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000008C, 0x00002D68, { { 0x4B, 0x0A, 0x09, 0x22, 0xF7, 0x77, 0x82, 0x4B, 0xFE, 0x0B, 0xF1, 0x8F, 0x1C, 0xEA, 0x1A, 0x0C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings2Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000051, 0x00001AD6, { { 0x28, 0x18, 0x2B, 0xF0, 0x0E, 0xC6, 0xEB, 0x01, 0xB0, 0x9A, 0x0A, 0x65, 0x05, 0xCB, 0x8F, 0x41 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000004F, 0x00001A82, { { 0x77, 0x85, 0x17, 0x25, 0x07, 0x72, 0x4A, 0x7F, 0x4F, 0x39, 0x6C, 0xDD, 0xB6, 0x70, 0x11, 0x02 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000090, 0x00002E35, { { 0x39, 0xD7, 0xA3, 0x21, 0xF0, 0xB7, 0x93, 0x9D, 0xDD, 0xEE, 0x33, 0xC2, 0x05, 0xE6, 0xE3, 0x63 } } } }, - { DE_DEU, kPlatformDOS, { 0x000000A1, 0x0000365C, { { 0x9A, 0x2D, 0xDB, 0x38, 0xB3, 0xF4, 0x0E, 0xF4, 0x36, 0x87, 0x60, 0xAE, 0xF8, 0x7E, 0xCA, 0x8A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings3Provider[] = { - { EN_ANY, kPlatformDOS, { 0x0000008D, 0x00002DC8, { { 0x35, 0x5E, 0xDD, 0x32, 0x2D, 0x55, 0x1E, 0xBC, 0x93, 0x49, 0x55, 0x48, 0x8F, 0xCD, 0x87, 0xEB } } } }, - { DE_DEU, kPlatformDOS, { 0x000000A8, 0x0000381C, { { 0x12, 0x95, 0x55, 0x57, 0x2B, 0xA0, 0x1A, 0x75, 0xD3, 0x43, 0xFF, 0x3E, 0x00, 0xB6, 0xEC, 0x35 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000088, 0x00002CD4, { { 0xD8, 0xBA, 0x5D, 0x14, 0x92, 0x84, 0x5A, 0x07, 0xC6, 0x76, 0xDF, 0x11, 0x1D, 0x84, 0x7A, 0x98 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000081, 0x00002B14, { { 0xC8, 0xB7, 0x77, 0xBC, 0x3A, 0xB6, 0xDC, 0xB7, 0x00, 0xF3, 0x06, 0xEB, 0x77, 0x10, 0x7C, 0x7E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings4Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000017, 0x0000071C, { { 0x96, 0x50, 0xA8, 0x08, 0x1B, 0x2D, 0x0C, 0xF6, 0x90, 0x6A, 0xE7, 0x9F, 0x65, 0xCC, 0x71, 0xA0 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000001B, 0x00000840, { { 0xA2, 0xCF, 0x81, 0x3E, 0x87, 0xA8, 0x10, 0x1B, 0x44, 0x8D, 0x5B, 0x8B, 0xAE, 0x23, 0x30, 0xD3 } } } }, - { EN_ANY, kPlatformDOS, { 0x0000000C, 0x000003A5, { { 0x72, 0x64, 0xBD, 0x1C, 0xED, 0x05, 0x28, 0xFC, 0x94, 0x4B, 0x8F, 0x3C, 0x38, 0x08, 0x77, 0xED } } } }, - { DE_DEU, kPlatformDOS, { 0x00000010, 0x0000054E, { { 0xD9, 0x97, 0xA8, 0x24, 0x27, 0x7B, 0x01, 0x3F, 0x03, 0xBA, 0x2A, 0x43, 0x81, 0x8F, 0x97, 0x03 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings6Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000029, 0x00000DA4, { { 0x5C, 0x6F, 0xA1, 0xC2, 0x56, 0xDE, 0xFE, 0xD5, 0x01, 0xFB, 0x65, 0x00, 0x24, 0xD1, 0x49, 0x7B } } } }, - { DE_DEU, kPlatformDOS, { 0x00000032, 0x00001211, { { 0x13, 0xBC, 0xF1, 0x03, 0x49, 0xDB, 0x16, 0xA5, 0xC3, 0x7C, 0xBF, 0x14, 0x8F, 0x40, 0x07, 0x8E } } } }, - { EN_ANY, kPlatformDOS, { 0x00000030, 0x00000FF5, { { 0xE4, 0x2B, 0xB9, 0xF0, 0x26, 0x3D, 0x30, 0xCD, 0xEF, 0xCD, 0xF5, 0xC0, 0x4E, 0xA4, 0xC4, 0x92 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000029, 0x00000E6D, { { 0xE1, 0xBD, 0x4B, 0x42, 0x17, 0xA2, 0xB6, 0x6C, 0xF2, 0x7F, 0xEB, 0x41, 0x2C, 0x82, 0x8C, 0x76 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings7Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000014, 0x00000406, { { 0xBD, 0xE1, 0x0A, 0x75, 0xD1, 0x18, 0xF7, 0x08, 0x2D, 0x2B, 0x65, 0x36, 0xA7, 0x59, 0x2E, 0x13 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000000F, 0x000001E5, { { 0x1F, 0xC9, 0x46, 0x8B, 0x41, 0xAD, 0xAD, 0x2B, 0x5A, 0xA9, 0xAB, 0x94, 0x9A, 0x1E, 0x36, 0xAC } } } }, - { EN_ANY, kPlatformDOS, { 0x00000065, 0x000021AF, { { 0x76, 0x35, 0xAE, 0x1D, 0xC2, 0x54, 0x36, 0x11, 0x4D, 0x3E, 0x96, 0x11, 0xB2, 0xDC, 0x15, 0x20 } } } }, - { DE_DEU, kPlatformDOS, { 0x0000006F, 0x000026BA, { { 0xC9, 0x46, 0xD7, 0xF3, 0xF2, 0x5F, 0xF4, 0xB1, 0x22, 0xC8, 0x30, 0x16, 0x8E, 0x75, 0x4D, 0xA8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicStrings8Provider[] = { - { EN_ANY, kPlatformDOS, { 0x00000056, 0x00001C95, { { 0x7E, 0x43, 0x73, 0xEC, 0x94, 0x0D, 0xF8, 0x1B, 0xF3, 0x1A, 0x62, 0x19, 0x96, 0x6A, 0x2C, 0xB5 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000061, 0x0000213B, { { 0xE2, 0x3B, 0xA7, 0xB7, 0xE6, 0xA5, 0x0D, 0x0F, 0xE0, 0x94, 0x9B, 0xAE, 0xE1, 0x11, 0x97, 0x93 } } } }, - { EN_ANY, kPlatformDOS, { 0x00000085, 0x00002C0E, { { 0x6A, 0xEC, 0xF2, 0x5F, 0xA6, 0x3F, 0xB1, 0x1A, 0x74, 0x49, 0x5A, 0x47, 0xB0, 0x7A, 0xE6, 0x99 } } } }, - { DE_DEU, kPlatformDOS, { 0x00000096, 0x0000342E, { { 0x83, 0x48, 0x3B, 0xED, 0x73, 0x02, 0x03, 0xCA, 0xA9, 0x4D, 0x40, 0x0F, 0xDE, 0x17, 0x7D, 0x40 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExpObjectTlModeProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000012, 0x0000000C, { { 0x98, 0x29, 0x54, 0xCD, 0xED, 0xAC, 0x7B, 0x61, 0x8D, 0x4F, 0x19, 0xE8, 0xA6, 0xB1, 0x51, 0x80 } } } }, - EXTRACT_END_ENTRY -}; -const ExtractEntrySearchData kEoBBaseExpObjectTblIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000009, 0x00000005, { { 0xFE, 0xEA, 0xC4, 0x54, 0x62, 0x7E, 0x43, 0x6E, 0x89, 0x48, 0x03, 0xE7, 0x47, 0xBF, 0x7D, 0x9D } } } }, // EOB 1 - { UNK_LANG, kPlatformDOS, { 0x0000000E, 0x00000004, { { 0x63, 0x27, 0x19, 0x17, 0xBD, 0xC3, 0x8A, 0xA7, 0x1E, 0xF7, 0xD1, 0x78, 0x39, 0x3B, 0xD4, 0x4F } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; -const ExtractEntrySearchData kEoBBaseExpObjectShpStartProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000034, { { 0x27, 0xC5, 0x09, 0x97, 0x8E, 0xD4, 0xF1, 0x8D, 0x77, 0xEB, 0x1D, 0x34, 0x55, 0xB2, 0x48, 0x38 } } } }, - EXTRACT_END_ENTRY -}; -const ExtractEntrySearchData kEoBBaseExpObjectTbl1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000D, 0x0000005D, { { 0x49, 0xC4, 0x47, 0x55, 0xDC, 0x25, 0x08, 0x03, 0x3D, 0x23, 0xAD, 0x09, 0x5F, 0x9C, 0x34, 0x06 } } } }, - EXTRACT_END_ENTRY -}; -const ExtractEntrySearchData kEoBBaseExpObjectTbl2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000A, 0x0000005C, { { 0xAB, 0x6A, 0x97, 0x35, 0xCC, 0x13, 0xC4, 0x17, 0x0B, 0xF2, 0xD3, 0xFD, 0xA2, 0x1C, 0x6C, 0xA8 } } } }, - EXTRACT_END_ENTRY -}; -const ExtractEntrySearchData kEoBBaseExpObjectTbl3Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000B, 0x00000032, { { 0x59, 0x23, 0xB9, 0xBE, 0x0E, 0xFA, 0xEB, 0xDD, 0x82, 0x68, 0x5B, 0xB0, 0xBE, 0x9B, 0x1D, 0x8E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseExpObjectYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x0000016C, { { 0xCF, 0x5B, 0x04, 0xAB, 0x1A, 0xAF, 0xDD, 0x56, 0xAC, 0xF6, 0x23, 0x86, 0x33, 0x06, 0x5A, 0xC6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefStepsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x000002FD, { { 0xB5, 0x6F, 0x31, 0x5F, 0xC6, 0x47, 0xE9, 0x23, 0x0E, 0x73, 0xBF, 0x77, 0xC7, 0xEE, 0xDB, 0x27 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefSubStepsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000FF, { { 0x18, 0x27, 0x73, 0x45, 0x26, 0x58, 0x81, 0x82, 0x70, 0x86, 0x7A, 0x0D, 0xDE, 0xC1, 0x08, 0x52 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefShiftProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x0000000C, { { 0xCC, 0xDC, 0x78, 0xF9, 0xFE, 0x88, 0xF3, 0x87, 0xFD, 0x08, 0xE8, 0x8A, 0x38, 0xD5, 0x4C, 0x53 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefAddProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x0000007F, { { 0x7F, 0x86, 0x2E, 0x14, 0xDB, 0x36, 0xED, 0x99, 0xD9, 0xCE, 0xAF, 0x11, 0xC2, 0x89, 0x21, 0x6B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000C, 0x000000A5, { { 0x77, 0xD7, 0xE0, 0x2D, 0xD4, 0x25, 0x94, 0x6E, 0x59, 0x3B, 0xAF, 0x9B, 0x16, 0x4F, 0x6D, 0x4C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkDefYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000138, { { 0xB9, 0xA2, 0x72, 0x01, 0x2A, 0xD7, 0x61, 0xAB, 0x02, 0x57, 0x87, 0xC8, 0x86, 0x83, 0xDF, 0xB3 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkOfFlags1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000002C, 0x00000BF4, { { 0x94, 0x8C, 0x1B, 0x77, 0xBF, 0x3A, 0x51, 0x17, 0x89, 0x16, 0xD0, 0x74, 0x95, 0xBD, 0x85, 0x98 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkOfFlags2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000040, 0x000003FC, { { 0x40, 0x13, 0x5A, 0x9D, 0xBD, 0x29, 0x2E, 0x9C, 0xC1, 0xE7, 0xD4, 0xC9, 0x26, 0xFA, 0xF2, 0x70 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkOfShiftProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x000000F0, { { 0xC5, 0xC8, 0x91, 0x7E, 0x78, 0x2F, 0xF1, 0xE5, 0xE0, 0x06, 0xB2, 0x39, 0xDC, 0x0D, 0x7A, 0x5F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkOfXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x00000528, { { 0x58, 0xE6, 0x24, 0x6A, 0xD3, 0xA4, 0xEF, 0x58, 0x4A, 0x9C, 0x32, 0x31, 0x4C, 0x61, 0xBC, 0x1C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSparkOfYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x000002D4, { { 0x74, 0x31, 0xFE, 0x7C, 0x38, 0x16, 0x0C, 0x05, 0x64, 0xAB, 0x8A, 0x69, 0xEA, 0x66, 0x29, 0x2F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseSpellPropertiesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000003EF, 0x0000BE7A, { { 0x10, 0xEA, 0x14, 0x26, 0xE2, 0xFC, 0xA1, 0xCB, 0xD9, 0x80, 0xFE, 0x9F, 0x69, 0x58, 0x4A, 0xCA } } } }, - { UNK_LANG, kPlatformDOS, { 0x000003EF, 0x00008FCE, { { 0xC9, 0x36, 0xDD, 0x7B, 0x05, 0x6E, 0x92, 0xBA, 0x2B, 0x39, 0x87, 0xA7, 0x3A, 0x7E, 0xB0, 0xAD } } } }, - { UNK_LANG, kPlatformDOS, { 0x000006D6, 0x0000CA78, { { 0xEB, 0x3B, 0x9F, 0xFD, 0x4E, 0x3F, 0x5C, 0xDE, 0xC6, 0xBA, 0xFE, 0x83, 0xB4, 0x10, 0x6D, 0x95 } } } }, - { UNK_LANG, kPlatformDOS, { 0x000006D6, 0x0000EC32, { { 0x52, 0xAE, 0x4D, 0xC2, 0x24, 0xC8, 0xD3, 0xBE, 0x09, 0x45, 0x98, 0x38, 0x17, 0x7D, 0xFF, 0xE4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMagicFlightPropsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000060, 0x0000166F, { { 0x38, 0x30, 0xCA, 0x07, 0x64, 0xBA, 0xC4, 0xA4, 0x4F, 0x75, 0xB4, 0x84, 0x3A, 0x92, 0xFD, 0xE3 } } } }, - { UNK_LANG, kPlatformDOS, { 0x00000038, 0x00000DDC, { { 0x23, 0x32, 0x8D, 0x34, 0x4F, 0x72, 0x37, 0xE1, 0x0C, 0x1B, 0x47, 0x17, 0x5D, 0xDF, 0xDB, 0xF5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseTurnUndeadEffectProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000008C, 0x00002E8B, { { 0x96, 0x15, 0x61, 0x12, 0x43, 0xCF, 0x3A, 0x84, 0x1A, 0x89, 0xB5, 0x32, 0x0D, 0xB3, 0x20, 0x67 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseBurningHandsDestProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000008, 0x0000000C, { { 0x61, 0xD7, 0xAB, 0xE1, 0x56, 0x54, 0x51, 0x5B, 0xD9, 0x59, 0x2D, 0x3D, 0xAE, 0xA4, 0x49, 0x31 } } } }, // EOB1 - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000003E, { { 0xA5, 0x8C, 0xCA, 0x13, 0xED, 0x0F, 0xB7, 0xA2, 0xD7, 0x9C, 0xCD, 0x11, 0x65, 0x11, 0x4B, 0xD8 } } } }, // EOB2 - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseConeOfColdDest1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000007, 0x00000500, { { 0x48, 0xF1, 0xFE, 0x48, 0xEC, 0x64, 0x17, 0x51, 0x5C, 0x9A, 0x91, 0x35, 0x95, 0xC3, 0x73, 0x8E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseConeOfColdDest2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000007, 0x00000210, { { 0xBA, 0x62, 0xA0, 0x4F, 0x50, 0x0C, 0x02, 0xC3, 0xAD, 0x7C, 0x39, 0x63, 0x5F, 0x41, 0xB4, 0xFB } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseConeOfColdDest3Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000007, 0x00000200, { { 0xA0, 0x1F, 0xAC, 0x3A, 0x2D, 0x25, 0x1F, 0x5C, 0xD2, 0x04, 0xAC, 0xAB, 0x97, 0x8B, 0x61, 0xD7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseConeOfColdDest4Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000007, 0x000004F0, { { 0xB3, 0x9A, 0x2B, 0x3A, 0x51, 0x24, 0x95, 0xBE, 0xDE, 0x0F, 0xD5, 0xE9, 0xE9, 0x21, 0x96, 0x04 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseConeOfColdGfxTblProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000010, 0x0000003E, { { 0x0A, 0xBA, 0xFD, 0x3F, 0xD8, 0x49, 0x3F, 0xD2, 0x26, 0x1B, 0x19, 0x53, 0x4F, 0x84, 0xB9, 0x4F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1MainMenuStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000037, 0x00000D79, { { 0x1D, 0x72, 0x7F, 0x8F, 0xEB, 0x4A, 0xBF, 0x82, 0xB7, 0xB5, 0x9D, 0xB0, 0x7B, 0xDA, 0xEC, 0xEE } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000034, 0x00000C6F, { { 0xF2, 0x5F, 0xBE, 0xFB, 0x27, 0x1C, 0x91, 0x33, 0x25, 0x09, 0xC1, 0xA0, 0x27, 0x89, 0xD7, 0xD5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1BonusStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000093, 0x000031B6, { { 0xC1, 0x54, 0x1D, 0x02, 0x4A, 0x35, 0x7F, 0x5D, 0x84, 0x2D, 0x2C, 0x9C, 0x06, 0x97, 0x29, 0x8D } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000093, 0x000031CD, { { 0x3E, 0x0F, 0x52, 0x02, 0xC7, 0x9E, 0x83, 0xB3, 0xB1, 0xAB, 0x03, 0x3A, 0x18, 0xE2, 0x87, 0x2E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesOpeningProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000003F, 0x00001044, { { 0xF5, 0x8C, 0xC8, 0x39, 0x38, 0xBB, 0x0B, 0xCA, 0x34, 0x38, 0x1D, 0x11, 0x46, 0x91, 0xEF, 0x7E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesTowerProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001A, 0x000006E6, { { 0xBD, 0x06, 0x3B, 0x7D, 0x24, 0x79, 0xD6, 0xC2, 0xFA, 0xDA, 0x31, 0x15, 0x3E, 0xE2, 0x75, 0xF8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesOrbProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000015, 0x00000565, { { 0xA7, 0x91, 0x97, 0x5B, 0x29, 0xE8, 0x27, 0x90, 0xB3, 0x8F, 0xD5, 0x13, 0x77, 0x4A, 0x93, 0x37 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesWdEntryProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000002C, 0x00000B42, { { 0x5C, 0xDF, 0xB1, 0x2A, 0x83, 0x03, 0x73, 0x47, 0x1E, 0x29, 0x7C, 0x16, 0x2E, 0x5D, 0x0F, 0xA4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesKingProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000016, 0x000005AE, { { 0xB5, 0xB5, 0x80, 0xD3, 0xC0, 0xF4, 0x9F, 0xE1, 0x12, 0x3C, 0xCB, 0xD6, 0xF2, 0x7F, 0x15, 0x5B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesHandsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000A, 0x0000027C, { { 0x90, 0xC7, 0x36, 0xE6, 0x7D, 0x6D, 0xCB, 0x77, 0xA0, 0x03, 0x45, 0x48, 0x46, 0xF3, 0x80, 0xC8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesWdExitProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000033, 0x00000D2A, { { 0xA8, 0xF0, 0x36, 0x0E, 0x37, 0xC6, 0xCC, 0xDB, 0x9B, 0xB8, 0x52, 0x64, 0x02, 0x1E, 0x9D, 0x1C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroFilesTunnelProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001A, 0x000006E2, { { 0xA1, 0xDD, 0x20, 0x50, 0x7A, 0xB6, 0x89, 0x67, 0x13, 0xAA, 0x47, 0x6B, 0xC0, 0xA0, 0x8A, 0xFD } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroOpeningFrmDelayProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000A, 0x000001E0, { { 0xDA, 0xE3, 0x06, 0xA2, 0x41, 0xF6, 0x5A, 0x6A, 0xBD, 0x0B, 0xA6, 0x09, 0x69, 0x03, 0x1D, 0x2C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroWdEncodeXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001F, 0x000001BB, { { 0x00, 0x50, 0x8E, 0xF5, 0x51, 0xA6, 0xF5, 0x57, 0x0D, 0x55, 0x6C, 0x14, 0x62, 0xCD, 0xD0, 0x7E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroWdEncodeYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001F, 0x0000000B, { { 0x39, 0x38, 0x02, 0xCE, 0x9D, 0x89, 0x1E, 0xBF, 0x32, 0x86, 0xA0, 0x79, 0xA4, 0xBE, 0xC5, 0x81 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroWdEncodeWHProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001F, 0x00000027, { { 0xA8, 0x6C, 0x13, 0x2B, 0x4C, 0x26, 0x38, 0x3D, 0xDA, 0xC2, 0x90, 0xB3, 0x97, 0xA9, 0x45, 0x84 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroWdDsXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000003E, 0x0000104A, { { 0xAC, 0x1F, 0xA6, 0x20, 0xD0, 0x02, 0xF0, 0x9D, 0x75, 0x93, 0x6C, 0x12, 0x0A, 0x76, 0x1B, 0x3F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroWdDsYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000001F, 0x00000655, { { 0xF3, 0xF7, 0x65, 0xEC, 0xEA, 0x5C, 0x08, 0xCF, 0xAD, 0x48, 0x35, 0xA2, 0x5B, 0x82, 0xB0, 0xC5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlX1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000027, { { 0x7F, 0x14, 0x7D, 0x8C, 0x20, 0x49, 0xDB, 0xC3, 0x31, 0x1A, 0xC3, 0x95, 0xA4, 0x8C, 0x96, 0xDC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlY1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x000000EC, { { 0x29, 0xB4, 0x8D, 0xE1, 0xDF, 0x36, 0x39, 0x27, 0xC8, 0xF6, 0x32, 0x1A, 0x3B, 0x74, 0xA1, 0x4F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlX2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000051, { { 0x51, 0x33, 0x0A, 0x55, 0x76, 0xA2, 0x91, 0xDA, 0x59, 0xD6, 0x09, 0xD9, 0x3D, 0xD4, 0xB8, 0xFE } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlY2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x0000016A, { { 0xD5, 0xA3, 0xF6, 0x12, 0x90, 0x87, 0xF2, 0xC7, 0x6A, 0x22, 0x77, 0xB5, 0x48, 0xB2, 0xCB, 0xCA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlWProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x0000004E, { { 0xCF, 0xC7, 0xA8, 0x59, 0x6A, 0x5B, 0x35, 0x7F, 0xC9, 0xEC, 0x59, 0x7E, 0x88, 0x31, 0x32, 0xA6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1IntroTvlHProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x0000013D, { { 0x26, 0x7B, 0x3D, 0x5F, 0x64, 0x97, 0xF9, 0x1B, 0xB6, 0x65, 0x99, 0x95, 0x0A, 0x98, 0x38, 0x92 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1DoorShapeDefsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000060, 0x00000F8A, { { 0x95, 0x53, 0x1B, 0x07, 0x64, 0x81, 0x0E, 0x04, 0xC0, 0xDA, 0xB5, 0x74, 0x57, 0x04, 0x10, 0xE2 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1DoorSwitchShapeDefsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000060, 0x0000119E, { { 0xA4, 0xE6, 0x96, 0x36, 0x59, 0x05, 0xB8, 0x57, 0xF4, 0x6D, 0x79, 0x1D, 0x29, 0x52, 0xA0, 0xEE } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1DoorSwitchCoordsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000030, 0x000007F7, { { 0x85, 0x20, 0x98, 0x20, 0xE1, 0xD6, 0xA5, 0xBD, 0x9E, 0x59, 0x63, 0x6A, 0xEF, 0xEF, 0x80, 0x19 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1MonsterPropertiesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000252, 0x000038E5, { { 0x5E, 0xD7, 0xEF, 0x3B, 0xD5, 0xDA, 0x2A, 0x09, 0x78, 0xF6, 0xD8, 0x57, 0x68, 0xB4, 0x90, 0xCA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1EnemyMageSpellListProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000A, 0x0000000F, { { 0x01, 0x1B, 0x9C, 0x51, 0xC9, 0xA2, 0x10, 0xBB, 0xA7, 0x82, 0xD4, 0x91, 0x7E, 0x84, 0x54, 0x93 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1EnemyMageSfxProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000A, 0x0000029B, { { 0xA2, 0x9F, 0x2E, 0xDE, 0x15, 0x23, 0x78, 0xDD, 0x26, 0x98, 0x6E, 0xA3, 0x77, 0xEA, 0xB5, 0x80 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1BeholderSpellListProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000079, { { 0x8E, 0x13, 0x54, 0x9D, 0x54, 0xF6, 0xC9, 0x6E, 0x10, 0xF1, 0xC0, 0xE9, 0x66, 0xDD, 0x95, 0xED } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1BeholderSfxProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x000000F5, { { 0xA9, 0x90, 0x41, 0x0D, 0xB5, 0xE0, 0x28, 0xFD, 0x0A, 0xC3, 0xF9, 0xEC, 0xC8, 0x47, 0xC1, 0x57 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1TurnUndeadStringProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000027, 0x00000BF2, { { 0x43, 0x0A, 0x1E, 0xEE, 0x84, 0xD6, 0xD6, 0x87, 0x20, 0x9F, 0x15, 0x22, 0x9B, 0x65, 0x24, 0xDB } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000030, 0x00000F48, { { 0xDA, 0x59, 0xEC, 0xC1, 0x9B, 0xCF, 0x90, 0x4A, 0x93, 0x3E, 0xE5, 0x26, 0x20, 0x8B, 0x74, 0x92 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingDefaultProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000002C, { { 0x7E, 0x1C, 0x75, 0xC3, 0x8E, 0xF7, 0x56, 0x62, 0x9B, 0xB6, 0xF4, 0x3A, 0x21, 0x03, 0xFA, 0xF5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingAltProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000030, { { 0x2A, 0x8C, 0xF6, 0xD7, 0x87, 0xFA, 0x7B, 0x22, 0x28, 0x2A, 0x50, 0xE2, 0x26, 0x7B, 0xC7, 0x44 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingInvProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000002E, { { 0x3A, 0x06, 0xBF, 0x0C, 0xD4, 0xD0, 0x15, 0x1F, 0xB5, 0xC5, 0x49, 0xFD, 0x21, 0xE1, 0xE1, 0x66 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingItemsLProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x0000002A, { { 0xE0, 0x85, 0xA1, 0x3A, 0x3D, 0xC9, 0xF8, 0x56, 0x17, 0x0A, 0xD8, 0x44, 0x56, 0xDF, 0x3C, 0x57 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingItemsSProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000036, { { 0x2E, 0x6F, 0xD4, 0x2E, 0xB2, 0x84, 0xB2, 0xC3, 0x36, 0x88, 0x80, 0xC1, 0x67, 0x5A, 0xEB, 0x60 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingThrownProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000030, { { 0x0C, 0x3D, 0x1E, 0xAB, 0x0B, 0x25, 0x9F, 0x78, 0xE6, 0xB1, 0x52, 0x79, 0x0F, 0x96, 0x33, 0x97 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingIconsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000039, { { 0x99, 0x50, 0x1A, 0xE1, 0xF3, 0x52, 0xC3, 0x5A, 0x4E, 0xBD, 0x03, 0x74, 0x2C, 0x39, 0xCA, 0x71 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingDecoProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000035, { { 0xA5, 0x17, 0xED, 0xEE, 0x02, 0x87, 0x8C, 0x9D, 0xAC, 0x96, 0xC6, 0x07, 0xB0, 0x8E, 0x5D, 0xE3 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaLevelMappingIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000000C, 0x00000013, { { 0x48, 0x5D, 0xDF, 0x8F, 0xFD, 0x5D, 0xA0, 0xB0, 0x00, 0xD8, 0xB3, 0x09, 0x90, 0x5D, 0x13, 0x3F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingLevel0Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000035, { { 0xC2, 0x4D, 0x2F, 0x0A, 0xB0, 0x3E, 0x46, 0x80, 0xD1, 0xEE, 0x32, 0x5F, 0xBA, 0x5C, 0xCC, 0x7A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingLevel1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000030, { { 0x94, 0x8E, 0xAE, 0x12, 0xB5, 0x68, 0xCD, 0x43, 0x95, 0xD2, 0x01, 0x21, 0x0C, 0xA1, 0x34, 0xF5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingLevel2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000030, { { 0x20, 0x6F, 0x9F, 0x57, 0x0C, 0xFD, 0xDA, 0x5C, 0xA0, 0x1D, 0x28, 0xB4, 0x88, 0x24, 0x68, 0x68 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingLevel3Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000030, { { 0x44, 0x95, 0x9A, 0x69, 0x70, 0xB2, 0x63, 0xB6, 0xFB, 0xD0, 0xFF, 0xD9, 0xF0, 0xCD, 0xD4, 0x75 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1CgaMappingLevel4Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000031, { { 0xEA, 0xC4, 0x01, 0xC0, 0x21, 0xFE, 0x66, 0xDD, 0xD4, 0x83, 0xC1, 0x2C, 0x09, 0xD3, 0xD0, 0x97 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1NpcShpDataProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000004C, 0x00000A42, { { 0x70, 0x21, 0x85, 0x8C, 0xD4, 0x04, 0xAA, 0x20, 0x1D, 0x0E, 0x9D, 0xB7, 0x74, 0x58, 0xCC, 0x0C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1NpcSubShpIndex1Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000035, { { 0x9A, 0x83, 0xF9, 0xA4, 0x27, 0xBA, 0xFC, 0xD2, 0xDE, 0x03, 0x65, 0xF2, 0xFA, 0x37, 0xDA, 0xF1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1NpcSubShpIndex2Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000051, { { 0x7E, 0xAC, 0x0E, 0x54, 0x59, 0x5D, 0xF6, 0x53, 0x03, 0x22, 0x1D, 0xC7, 0xFC, 0x16, 0xC8, 0x88 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1NpcSubShpYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000143, { { 0xC1, 0xED, 0x93, 0x5E, 0x84, 0xCE, 0x48, 0xCF, 0x4C, 0xF3, 0x9C, 0x93, 0xBF, 0xFE, 0xB8, 0x6F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc0StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000044, 0x000016E2, { { 0x7C, 0x28, 0x72, 0xC9, 0x57, 0xF5, 0xAB, 0x02, 0xD1, 0x42, 0xE8, 0xA3, 0xF9, 0x33, 0x70, 0xEE } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000050, 0x00001B13, { { 0x69, 0x05, 0xEB, 0xB6, 0x86, 0x81, 0xAC, 0x09, 0x53, 0x35, 0x4D, 0x55, 0xF3, 0x13, 0x6F, 0xC0 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc11StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001B, 0x00000928, { { 0x86, 0x08, 0x95, 0x6B, 0xBF, 0x12, 0x2D, 0xF9, 0x62, 0x25, 0xD9, 0xAE, 0x25, 0x10, 0xDF, 0xDC } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000001A, 0x000008DB, { { 0xBD, 0xBB, 0x48, 0x8E, 0x04, 0x7D, 0xE4, 0x78, 0xBB, 0x59, 0x6E, 0x86, 0xE1, 0x06, 0x27, 0x50 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc12StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000016, 0x0000079C, { { 0x22, 0x57, 0x3A, 0x9C, 0x7C, 0xDB, 0x55, 0xD0, 0x9C, 0x84, 0x28, 0xA6, 0x9D, 0x40, 0x38, 0x6E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000014, 0x000006ED, { { 0x88, 0x1C, 0x09, 0x61, 0x5D, 0x9D, 0xDE, 0x8A, 0x54, 0x1C, 0x40, 0xCF, 0x28, 0x2B, 0x52, 0x9D } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc21StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000014, 0x000006FD, { { 0x55, 0x77, 0x2F, 0xB0, 0xB3, 0x2D, 0x81, 0x29, 0xDE, 0x71, 0x83, 0x41, 0x06, 0x5B, 0x72, 0x21 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000015, 0x00000748, { { 0x3E, 0x15, 0x27, 0xFD, 0x76, 0xFB, 0x14, 0x8C, 0xF6, 0x14, 0x3E, 0x20, 0x0A, 0x04, 0xF5, 0x32 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc22StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000F, 0x000004D4, { { 0xE5, 0x97, 0x06, 0x45, 0x6A, 0xAC, 0x96, 0x6D, 0x0A, 0xC9, 0xDF, 0x8F, 0x96, 0x2D, 0x01, 0x5D } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000D, 0x00000439, { { 0x87, 0xCB, 0x17, 0xD2, 0xC8, 0x7F, 0x34, 0xDA, 0x82, 0x30, 0xB2, 0x68, 0xB0, 0x10, 0xD9, 0x52 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc31StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000011, 0x00000597, { { 0x5C, 0xEB, 0x0A, 0xE6, 0xB1, 0x37, 0x0E, 0x8F, 0x14, 0xB4, 0x68, 0x86, 0xE5, 0xD2, 0xDE, 0xC7 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000012, 0x00000603, { { 0x8E, 0x68, 0x55, 0xCD, 0x29, 0x1E, 0x3C, 0x06, 0x7B, 0x97, 0xE1, 0x07, 0x49, 0x09, 0xF0, 0x57 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc32StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000020, 0x00000AE4, { { 0xED, 0x09, 0x04, 0xEC, 0xE3, 0x43, 0xDA, 0xEE, 0x5D, 0x78, 0x32, 0x63, 0x68, 0xFC, 0x4F, 0x9E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000020, 0x00000B13, { { 0x87, 0x40, 0x88, 0xA5, 0xE2, 0x6F, 0x83, 0xBC, 0x99, 0x2B, 0xD3, 0xF5, 0x8D, 0x6B, 0x6E, 0x7D } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc4StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000D, 0x0000043C, { { 0x2C, 0xE7, 0xE5, 0xAA, 0xF3, 0x50, 0xA8, 0x6D, 0xC2, 0xC6, 0x88, 0xFE, 0x12, 0x96, 0xFE, 0x54 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000014, 0x00000720, { { 0xF8, 0x58, 0x9A, 0xDB, 0xE5, 0x3F, 0x67, 0x53, 0x1F, 0x27, 0x2E, 0x8D, 0x6E, 0xAD, 0x45, 0xF5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc5StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000021, 0x00000ABC, { { 0xF1, 0xB5, 0x9E, 0x51, 0x9E, 0xF8, 0x84, 0x95, 0x55, 0x55, 0xE7, 0xDF, 0x36, 0xE1, 0x78, 0x9A } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000001D, 0x00000A8C, { { 0x4A, 0xAE, 0x5B, 0x3B, 0xAD, 0x18, 0x91, 0x3F, 0xC9, 0x5A, 0x82, 0x5D, 0xA7, 0x06, 0x1A, 0xAE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc6StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000011, 0x00000612, { { 0x1B, 0xE2, 0x23, 0xD9, 0x00, 0x5C, 0xB9, 0x54, 0xCE, 0xA7, 0x6A, 0x51, 0xF6, 0xBB, 0x8A, 0xC9 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000012, 0x00000647, { { 0x6C, 0x3F, 0xE2, 0xD0, 0xB0, 0x75, 0x2D, 0x73, 0xEE, 0x6F, 0x17, 0x74, 0xAA, 0x7D, 0xA2, 0x21 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB1Npc7StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000018, 0x00000777, { { 0x60, 0xB4, 0x17, 0x72, 0x89, 0x87, 0x47, 0xE3, 0xD9, 0xC3, 0x59, 0x16, 0xFD, 0x03, 0x31, 0xD4 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000016, 0x000007B6, { { 0xAE, 0xB6, 0x3C, 0x14, 0x2B, 0x34, 0xB8, 0x7C, 0xCF, 0x87, 0xDA, 0x70, 0xBF, 0x0D, 0xAB, 0xE2 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2MainMenuStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000005F, 0x000017BE, { { 0x77, 0x8A, 0x50, 0x9F, 0x42, 0xD8, 0x00, 0x05, 0x60, 0x2A, 0x80, 0x25, 0x00, 0xDC, 0x7C, 0x92 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000005E, 0x000017F3, { { 0xD0, 0x93, 0x2E, 0x5F, 0x9D, 0xDB, 0xC4, 0xFB, 0x9E, 0x9F, 0x14, 0xD6, 0xB4, 0xBE, 0x3D, 0x0C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferPortraitFramesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000040, 0x00000B25, { { 0x13, 0x25, 0x69, 0xC6, 0xE4, 0x9D, 0x35, 0x11, 0xAB, 0xE2, 0xC1, 0xEF, 0x21, 0x8B, 0xB8, 0x28 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferConvertTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000031, 0x000004BC, { { 0x96, 0x53, 0xA2, 0xF1, 0x26, 0xFE, 0x1B, 0x5E, 0xDF, 0x62, 0x2C, 0x8C, 0xBD, 0x62, 0x5A, 0xF9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferItemTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000025, { { 0xD0, 0xA4, 0xB3, 0x7D, 0x74, 0x4D, 0x16, 0x43, 0x56, 0x07, 0x84, 0xAA, 0x96, 0xBD, 0x82, 0x25 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferExpTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x0000076B, { { 0x91, 0x65, 0x5B, 0x8D, 0xE8, 0x5B, 0x28, 0x32, 0x4D, 0x7A, 0x57, 0x8E, 0x18, 0x5B, 0x1A, 0xE9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferStrings1Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000010, 0x000003D3, { { 0x31, 0xE4, 0x65, 0x69, 0x0A, 0xA1, 0x1D, 0xD1, 0xFE, 0xF8, 0x5C, 0x29, 0xB1, 0x46, 0xBD, 0xBE } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000010, 0x000003E2, { { 0xF0, 0x10, 0xF8, 0x9F, 0x05, 0x1E, 0x31, 0x33, 0x4E, 0xC8, 0x49, 0xBC, 0x9E, 0xAD, 0xD4, 0x99 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferStrings2Provider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000006A, 0x00002681, { { 0x12, 0x4D, 0x29, 0x9D, 0xD3, 0xFC, 0x39, 0x22, 0x73, 0x1E, 0x5C, 0xAF, 0x1F, 0xD1, 0xAA, 0x87 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000057, 0x00001F8E, { { 0x85, 0xD8, 0x39, 0x1E, 0x6D, 0x97, 0xBD, 0x0E, 0xDD, 0xCF, 0x19, 0x47, 0x31, 0xDC, 0x7C, 0x1A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2TransferLabelsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000A, 0x00000240, { { 0x2A, 0x8B, 0x54, 0x99, 0x94, 0x35, 0x2B, 0xAB, 0x7F, 0x7F, 0x98, 0xA3, 0xFD, 0x57, 0x20, 0xDE } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000009, 0x000001DF, { { 0x47, 0x6B, 0xBA, 0xCD, 0x99, 0x74, 0xCA, 0x3C, 0xAA, 0xC6, 0xB4, 0x50, 0x38, 0x90, 0x25, 0xB8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000321, 0x0000DBC3, { { 0x11, 0x9B, 0x54, 0xB3, 0x34, 0xF0, 0xB5, 0xE1, 0xFA, 0x6A, 0x31, 0x02, 0x59, 0x29, 0xCA, 0x94 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000038E, 0x0001119C, { { 0x92, 0x63, 0x18, 0xDD, 0x9F, 0x62, 0xF5, 0xBC, 0x3D, 0x93, 0xDC, 0x6E, 0xE5, 0xBE, 0x8C, 0x0B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroCPSFilesProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x000000A2, 0x0000296A, { { 0xE9, 0x28, 0x4A, 0x6E, 0xAA, 0x44, 0xF4, 0xD7, 0xD1, 0x29, 0xBF, 0x90, 0x6B, 0x82, 0xD1, 0x77 } } } }, - { DE_DEU, kPlatformUnknown, { 0x000000A2, 0x0000296B, { { 0x03, 0xA2, 0x0A, 0xAB, 0x76, 0x78, 0x04, 0x88, 0x6A, 0xE0, 0x36, 0x8B, 0x3A, 0x87, 0x44, 0xC8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData00Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003E1, { { 0x38, 0xC2, 0x0F, 0xE1, 0x43, 0x6A, 0xE8, 0x7C, 0x82, 0x65, 0x9B, 0x4A, 0x9F, 0x83, 0xCD, 0xC8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData01Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003A3, { { 0x84, 0x44, 0xF4, 0x46, 0x4E, 0x2B, 0xD7, 0xC6, 0xAD, 0x14, 0xF1, 0x9E, 0x8A, 0xBE, 0x7B, 0x42 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData02Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000446, { { 0x0C, 0xCA, 0x41, 0x0C, 0x89, 0x59, 0xD5, 0x28, 0x9A, 0xDC, 0x51, 0x1C, 0x0B, 0x8C, 0xD2, 0xDB } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData03Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x0000010E, { { 0xAB, 0x48, 0x64, 0x02, 0xB3, 0xF3, 0x6C, 0x82, 0x9D, 0x37, 0x5F, 0x52, 0x0F, 0x5B, 0xDF, 0x96 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData04Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x00000149, { { 0x3B, 0xAC, 0x14, 0x51, 0xDF, 0x5D, 0x22, 0x15, 0x46, 0x4E, 0xCD, 0xF3, 0xD4, 0x61, 0x29, 0x4A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData05Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x0000010E, { { 0x28, 0x29, 0x5F, 0x31, 0x23, 0x53, 0xBA, 0xD7, 0x24, 0xB9, 0x21, 0x70, 0x84, 0x8A, 0x1C, 0x2E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData06Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B0, 0x00001365, { { 0x91, 0x28, 0x2F, 0x10, 0x45, 0x4D, 0xCF, 0x3E, 0x70, 0x1E, 0xD4, 0xBA, 0x0E, 0x70, 0xDE, 0xD0 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData07Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000003C4, { { 0x8C, 0x72, 0xDE, 0x4F, 0x92, 0x52, 0x0A, 0xED, 0xF4, 0x79, 0xD6, 0x3D, 0x8F, 0x59, 0x9D, 0x69 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData08Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000442, { { 0xD2, 0x91, 0x51, 0xEB, 0x91, 0x13, 0x43, 0xCE, 0x7E, 0x60, 0xB8, 0xFF, 0xA7, 0xE2, 0x4C, 0x11 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData09Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x000004BC, { { 0xD6, 0xC7, 0x44, 0x2E, 0xE7, 0x2A, 0x44, 0x09, 0x39, 0xC3, 0xD3, 0xA8, 0x02, 0xC8, 0xA0, 0x19 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData10Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000006E, 0x00000C12, { { 0x91, 0xDB, 0x41, 0x7A, 0x4F, 0x7C, 0x7B, 0x83, 0x32, 0x13, 0x68, 0xF6, 0x58, 0x79, 0xDA, 0x99 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData11Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000B0, 0x0000073C, { { 0x17, 0x1F, 0x4D, 0x05, 0x3F, 0x14, 0x2E, 0x77, 0xD3, 0xDB, 0x78, 0x67, 0xBB, 0x18, 0xDC, 0x85 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData12Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x00000228, { { 0xC9, 0x50, 0x68, 0x51, 0xD0, 0xC1, 0x5D, 0xD4, 0xFF, 0x08, 0x28, 0xDE, 0xC4, 0x41, 0x8C, 0xDB } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData13Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000340, { { 0x03, 0xCA, 0x5D, 0xD1, 0x15, 0xFA, 0x60, 0xD7, 0x70, 0x64, 0x3D, 0x44, 0x08, 0xB8, 0xDB, 0xAD } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData14Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x000007C0, { { 0x82, 0xA9, 0x0B, 0x90, 0x9D, 0x65, 0x1E, 0xC7, 0x03, 0x5E, 0xB7, 0xDF, 0x6E, 0x1F, 0xED, 0xD6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData15Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000504, { { 0xA7, 0x91, 0x4F, 0xAD, 0xB1, 0x77, 0x80, 0x3A, 0xC7, 0xDE, 0x35, 0x7A, 0x96, 0x16, 0xD2, 0x13 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData16Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000079, 0x00000B3D, { { 0xCC, 0x63, 0x5A, 0x11, 0xEE, 0x8A, 0xAE, 0x3A, 0x14, 0xC3, 0xBC, 0xDA, 0xAF, 0x1D, 0xD4, 0x2C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData17Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000084, 0x00000911, { { 0x09, 0x1C, 0x4B, 0xD9, 0x0B, 0x2A, 0xD6, 0xC1, 0xE3, 0x8D, 0xFE, 0x43, 0x8F, 0x2E, 0x21, 0x51 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData18Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x000008FA, { { 0xFE, 0x58, 0xD9, 0x67, 0x78, 0x97, 0xE2, 0xCD, 0x82, 0xB8, 0xC9, 0xC0, 0x1F, 0xCA, 0x7C, 0xF5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData19Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D6B, { { 0xA1, 0xDD, 0x7B, 0x8B, 0x25, 0xA5, 0x96, 0x5A, 0x33, 0x5E, 0x80, 0x5F, 0xA5, 0xBB, 0xAC, 0x11 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData20Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D6C, { { 0x19, 0xF9, 0x93, 0x1D, 0x01, 0xEE, 0x7C, 0x8B, 0x6C, 0x3E, 0x35, 0x2C, 0x5C, 0x88, 0xCD, 0xB6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData21Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000D83, { { 0xCB, 0x4F, 0x21, 0x29, 0x63, 0x5B, 0x8C, 0xF2, 0xBA, 0x03, 0x49, 0xD1, 0xAF, 0x22, 0xB0, 0xD5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData22Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000200, { { 0x66, 0xEE, 0x45, 0xB1, 0x87, 0x66, 0xC4, 0x55, 0xCE, 0x60, 0x0C, 0x5B, 0xBB, 0x3C, 0x7D, 0x33 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData23Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000020D, { { 0xC4, 0x49, 0xE2, 0x5B, 0x2E, 0x17, 0x68, 0xC4, 0xBA, 0x20, 0xEC, 0xB1, 0xEB, 0x1A, 0xFB, 0xE0 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData24Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000214, { { 0xF1, 0x46, 0x82, 0xEF, 0x6D, 0xCA, 0x68, 0xA2, 0xF3, 0x55, 0x63, 0xD2, 0x13, 0x25, 0x19, 0xF7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData25Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000256, { { 0x8F, 0xB9, 0xCD, 0xB8, 0x58, 0xCB, 0x90, 0x03, 0xFC, 0xB6, 0x95, 0x6F, 0x52, 0xF8, 0x7D, 0x19 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData26Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000263, { { 0x7A, 0x37, 0x07, 0xC4, 0x67, 0x72, 0x1F, 0xCB, 0xAC, 0x98, 0x46, 0x9A, 0xF3, 0x5F, 0xBA, 0x78 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData27Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000026A, { { 0x80, 0x11, 0xEE, 0x44, 0xDA, 0xE1, 0x26, 0x1F, 0x14, 0x7E, 0x93, 0x99, 0x44, 0x44, 0x9F, 0x85 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData28Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x000001F6, { { 0x45, 0xA1, 0xA5, 0xEC, 0x85, 0x06, 0xE2, 0x91, 0x28, 0xE0, 0xBB, 0x53, 0x74, 0x44, 0xD9, 0xA6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData29Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x000001F9, { { 0x3F, 0x03, 0x2F, 0x8B, 0xFB, 0x6A, 0x97, 0x05, 0xED, 0xBB, 0xD6, 0xA0, 0xF5, 0x7A, 0x6D, 0x08 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData30Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000204, { { 0xA1, 0x37, 0x57, 0xC3, 0x72, 0x08, 0x98, 0xA6, 0xF4, 0x5E, 0x58, 0x9E, 0xF3, 0x11, 0x88, 0x1E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData31Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000212, { { 0x19, 0xCC, 0x6F, 0xA8, 0x29, 0xB5, 0x3B, 0x15, 0x2F, 0x2C, 0x43, 0xED, 0x7A, 0xF5, 0xC5, 0x69 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData32Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000006C9, { { 0xBF, 0x65, 0xBA, 0x3F, 0x44, 0xEE, 0xB0, 0x5C, 0x8B, 0xBD, 0x15, 0xAB, 0x03, 0xD1, 0x55, 0x21 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData33Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00001585, { { 0xB5, 0x44, 0x06, 0xC9, 0xE8, 0x27, 0x75, 0x6E, 0x63, 0x77, 0xE9, 0xA9, 0x68, 0x73, 0xF5, 0x78 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData34Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x00000B43, { { 0x52, 0xB4, 0x1E, 0x14, 0x88, 0xBD, 0x8A, 0xD7, 0x38, 0xDF, 0x25, 0xB0, 0xAF, 0xAE, 0x76, 0xE1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData35Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x000005A4, { { 0xFB, 0x82, 0xE7, 0xB2, 0x54, 0xDB, 0xB5, 0xE1, 0xCE, 0xFB, 0xD1, 0x23, 0x39, 0x8F, 0xA1, 0x0D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData36Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000572, { { 0x2C, 0x16, 0xD9, 0xBE, 0xDB, 0xBA, 0x04, 0xCA, 0x97, 0xB5, 0x88, 0x43, 0xA8, 0x62, 0xE2, 0x04 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData37Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000024E, { { 0xFF, 0x28, 0xD8, 0x62, 0xC6, 0xAD, 0x48, 0xC7, 0x31, 0x84, 0x6C, 0xBA, 0x9F, 0x4D, 0x15, 0xDA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData38Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000001D9, 0x00001FB1, { { 0x16, 0xB0, 0xDF, 0x86, 0x8C, 0xB3, 0x52, 0xEF, 0x21, 0x04, 0x22, 0x6D, 0xC0, 0x03, 0xB8, 0xC6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData39Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x00000582, { { 0x11, 0x6C, 0xBB, 0xF6, 0x1B, 0x3C, 0xAE, 0xAA, 0x40, 0x27, 0x3F, 0x86, 0x33, 0x92, 0xCB, 0xA9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData40Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000160, 0x000010A2, { { 0xD9, 0x9D, 0xF1, 0x7D, 0xE1, 0x7C, 0x61, 0xC0, 0xD4, 0xD3, 0x05, 0x0C, 0x79, 0xDD, 0xDB, 0xD1 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData41Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000355, { { 0x92, 0x85, 0xBE, 0x5A, 0x38, 0x08, 0xF3, 0xDF, 0xC6, 0x56, 0x74, 0xC3, 0x0B, 0x3F, 0x72, 0x4D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData42Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x0000010B, { { 0x68, 0xF8, 0x1D, 0x74, 0x6D, 0x32, 0x1E, 0x3A, 0x1C, 0xD1, 0x1D, 0x4B, 0x89, 0x3D, 0x5F, 0x2B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2IntroAnimData43Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000037, 0x00000116, { { 0xD5, 0x46, 0xCB, 0x3F, 0x27, 0xBD, 0x2B, 0xD6, 0x35, 0x69, 0x9E, 0x0A, 0x28, 0xDA, 0xC9, 0x84 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroShapes00Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000005A, 0x00000A86, { { 0xF9, 0xD5, 0xD2, 0x93, 0xBC, 0xC4, 0x86, 0x3F, 0x83, 0x0D, 0xDB, 0x38, 0x60, 0x6E, 0xA7, 0xDA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroShapes01Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x0000009B, { { 0xAA, 0xDD, 0x25, 0x21, 0x57, 0x6A, 0xB7, 0xEB, 0xDA, 0xFD, 0x72, 0x3B, 0xCA, 0x68, 0xDB, 0x34 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroShapes04Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000417, { { 0x13, 0x95, 0x81, 0x46, 0x84, 0x36, 0xF2, 0xFC, 0xDE, 0x15, 0x85, 0x81, 0xB3, 0x9A, 0x9D, 0x20 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2IntroShapes07Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000006C, 0x000021F1, { { 0x6F, 0x7C, 0x28, 0xBB, 0xC3, 0x52, 0xE4, 0x13, 0xB4, 0xE9, 0xA4, 0x47, 0x9A, 0xBE, 0x19, 0xDA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000031C, 0x0000E287, { { 0x1E, 0x73, 0x93, 0x79, 0xB7, 0xF8, 0x17, 0xEE, 0xE4, 0xFC, 0xF0, 0x34, 0x9D, 0x06, 0x4F, 0x55 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000039F, 0x00011660, { { 0xBC, 0x1D, 0x95, 0x20, 0x32, 0xF5, 0x83, 0xCF, 0xF7, 0x11, 0xE4, 0x1D, 0x89, 0x47, 0xF0, 0x65 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2CreditsDataProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000090C, 0x00023464, { { 0x55, 0x31, 0x9D, 0x60, 0x2C, 0xA1, 0x0B, 0xF9, 0xED, 0x46, 0xDF, 0x44, 0x1A, 0x9F, 0xB1, 0xB0 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000B11, 0x0002BBD7, { { 0x46, 0x24, 0x78, 0xE9, 0xCE, 0x75, 0x45, 0x7B, 0x3B, 0xAA, 0x15, 0xD8, 0x5B, 0xCB, 0x06, 0x3A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleCPSFilesProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000009C, 0x00002853, { { 0x1F, 0xB9, 0x3D, 0x48, 0x47, 0x31, 0x0D, 0xA8, 0x92, 0x52, 0xD1, 0x54, 0x48, 0x42, 0x47, 0xBD } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000009C, 0x00002878, { { 0x48, 0x3B, 0x7A, 0xC2, 0x9C, 0xEC, 0x10, 0x07, 0xD1, 0xB6, 0x9E, 0x89, 0xE9, 0xE1, 0xBF, 0xBF } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData00Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000079, 0x00000B66, { { 0x9B, 0x8C, 0x17, 0xFA, 0xD2, 0x4F, 0x4B, 0x0E, 0x3A, 0x43, 0xB1, 0x86, 0x0C, 0xDC, 0x73, 0xAB } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData01Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000063, 0x00000A03, { { 0xBB, 0x31, 0xEA, 0x35, 0xFB, 0x99, 0x4C, 0x3E, 0x72, 0xBD, 0x36, 0x6B, 0x5C, 0x03, 0x19, 0x7F } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData02Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x000007C2, { { 0xF6, 0x83, 0x37, 0x58, 0x3C, 0x59, 0x84, 0x8F, 0x97, 0x80, 0xE2, 0xD8, 0xFD, 0x77, 0xA9, 0x54 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData03Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x0000092B, { { 0x47, 0xE4, 0x34, 0xE8, 0x72, 0xCC, 0xA4, 0x4A, 0xA4, 0x8F, 0xBA, 0xBC, 0x0C, 0x04, 0x18, 0xAF } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData04Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x0000080B, { { 0x16, 0xDB, 0x77, 0x4C, 0x8E, 0xFD, 0x44, 0xF6, 0x5E, 0x28, 0x0B, 0x74, 0x93, 0x45, 0x8F, 0xD9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData05Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x00000C72, { { 0x6C, 0x57, 0x56, 0x7E, 0x87, 0x10, 0x9C, 0xE7, 0x69, 0xAC, 0x3B, 0x3F, 0xF6, 0x43, 0x5C, 0xD4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData06Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x00000264, { { 0x48, 0x49, 0x5D, 0x78, 0xE2, 0xF1, 0x0D, 0x87, 0xEE, 0xEE, 0xD1, 0xA1, 0xC6, 0x64, 0xCA, 0x13 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData07Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000042, 0x00000ABE, { { 0xFE, 0xA9, 0x5D, 0x87, 0xAF, 0x55, 0x04, 0x92, 0x41, 0xD3, 0xAD, 0x1D, 0xFF, 0x03, 0x81, 0x3C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData08Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x000004D8, { { 0x4E, 0xA7, 0xCC, 0x0B, 0x1B, 0x48, 0x22, 0x09, 0x33, 0xF7, 0x23, 0xF1, 0xF5, 0x9F, 0xA5, 0x7B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData09Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x000004BE, { { 0xF6, 0xEA, 0xA0, 0x7F, 0x54, 0x61, 0x79, 0x4C, 0x71, 0xD7, 0x9B, 0xA6, 0xC3, 0x45, 0xEE, 0x3E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData10Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000009A, 0x00000FC4, { { 0xA9, 0xFB, 0x31, 0x55, 0xB8, 0x28, 0x63, 0xC3, 0x4B, 0x9E, 0x7D, 0x41, 0xC7, 0x1F, 0x2F, 0xBD } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData11Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000C6, 0x0000166B, { { 0xCC, 0x16, 0x50, 0xFF, 0xFF, 0xD5, 0xAE, 0x03, 0x40, 0xA3, 0x9A, 0x1F, 0xF8, 0x8E, 0x23, 0x7A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData12Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000FD, 0x00001A69, { { 0x6A, 0x80, 0x89, 0x7E, 0xFC, 0xE4, 0x01, 0xF5, 0xA2, 0x11, 0xE7, 0x26, 0x20, 0x96, 0x62, 0x7B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData13Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000FD, 0x00001886, { { 0xF9, 0x5B, 0x62, 0xDD, 0xAB, 0x14, 0x35, 0x77, 0x53, 0x05, 0xDB, 0xC5, 0xFD, 0x4D, 0x4F, 0x12 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData14Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000108, 0x00001895, { { 0x22, 0xA1, 0x88, 0x69, 0xF9, 0x1C, 0xA2, 0x64, 0x44, 0xCD, 0x00, 0xFA, 0xB1, 0x94, 0xEB, 0x3A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData15Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000D1, 0x000016E5, { { 0xD8, 0xE9, 0xA5, 0xEE, 0x54, 0x1B, 0x3E, 0x32, 0xDA, 0x78, 0x90, 0xC2, 0x54, 0xFC, 0xD5, 0x39 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData16Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000008F, 0x00000C69, { { 0xBC, 0x41, 0xE5, 0xAF, 0x89, 0xE2, 0x54, 0x12, 0x9E, 0xB0, 0x5F, 0x28, 0xFF, 0x92, 0x9D, 0x89 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData17Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000000DC, 0x0000170D, { { 0x7A, 0x7B, 0x74, 0xCB, 0x68, 0xC2, 0xFF, 0xC7, 0xBE, 0x47, 0xE9, 0x43, 0xF7, 0x15, 0x8D, 0x59 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData18Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000134, 0x00002651, { { 0x71, 0x26, 0x47, 0x0D, 0x7C, 0x96, 0x45, 0x0B, 0x82, 0xD0, 0x37, 0xB9, 0xD4, 0xD0, 0x84, 0xFC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData19Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000004D, 0x000009C3, { { 0xDA, 0x96, 0xDF, 0x16, 0xEB, 0x5D, 0x49, 0xA4, 0x3F, 0xD3, 0x31, 0xBE, 0x49, 0x72, 0xF2, 0x71 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEob2FinaleAnimData20Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000021, 0x000003D8, { { 0xD9, 0xC8, 0x58, 0x4B, 0x7D, 0x79, 0x86, 0xCB, 0xEB, 0x77, 0xC2, 0xD4, 0xB7, 0xB4, 0xE9, 0x6A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleShapes00Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x0000071C, { { 0xE8, 0x67, 0xCB, 0x76, 0x6D, 0x49, 0xC2, 0x05, 0x0D, 0xAD, 0xB6, 0x83, 0x35, 0xB3, 0xBE, 0xE5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleShapes03Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x00000571, { { 0x91, 0xEC, 0xAC, 0x12, 0x08, 0x33, 0xDA, 0x7C, 0xBD, 0x51, 0x64, 0xE3, 0xAE, 0x43, 0x75, 0x14 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleShapes07Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x00000166, { { 0xED, 0x6E, 0x0C, 0x85, 0x13, 0x6F, 0xAC, 0xEB, 0xCA, 0x74, 0x2E, 0x2D, 0x0E, 0xCE, 0x17, 0xD6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleShapes09Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000036, 0x00000898, { { 0xEB, 0xB0, 0xD9, 0xC4, 0xB6, 0xBC, 0xE3, 0xAF, 0xB2, 0x5D, 0xE3, 0xCE, 0xF7, 0x26, 0x07, 0xE5 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2FinaleShapes10Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x0000017F, { { 0x0F, 0x37, 0x94, 0xA6, 0xCE, 0x23, 0xE3, 0x2E, 0x5E, 0x2B, 0x78, 0x5B, 0x66, 0xC8, 0xE5, 0x96 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2NpcShapeDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x0000045D, { { 0x69, 0xE0, 0x5E, 0x86, 0xEB, 0x7D, 0x25, 0x95, 0xC2, 0xA0, 0xE9, 0xD5, 0x3A, 0x4A, 0x65, 0xBC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseClassModifierFlagsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000F, 0x00000059, { { 0x17, 0x2B, 0x23, 0x14, 0x0F, 0x9D, 0x94, 0xD3, 0xBF, 0x94, 0x83, 0x0B, 0x79, 0xDB, 0xC0, 0xA9 } } } }, // EOB 1 - { UNK_LANG, kPlatformUnknown, { 0x0000000F, 0x00000083, { { 0x54, 0x68, 0xF4, 0x07, 0x3E, 0x2A, 0xD4, 0x06, 0xF3, 0x10, 0x88, 0x6C, 0xE3, 0x34, 0x08, 0x30 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterStepTable01Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000200, { { 0x26, 0x86, 0x10, 0x04, 0xC1, 0x48, 0xDD, 0xC0, 0x9F, 0x92, 0xD6, 0x20, 0x38, 0x36, 0xE2, 0xDD } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterStepTable02Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000008, 0x00000400, { { 0x6E, 0x53, 0x3C, 0x7A, 0x11, 0x46, 0x8B, 0xDC, 0x73, 0x24, 0xF8, 0x13, 0xCB, 0x6C, 0x9B, 0xE6 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterStepTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000400, { { 0x8B, 0x4C, 0x6B, 0x86, 0x93, 0xDA, 0x82, 0x1B, 0x04, 0x23, 0x92, 0x5B, 0x79, 0xB9, 0xFB, 0x06 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterStepTable2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000601, { { 0xE4, 0x36, 0x12, 0x93, 0x44, 0xDE, 0x6E, 0xA0, 0x4B, 0x98, 0x4B, 0x47, 0x87, 0xE3, 0x40, 0xD4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterStepTable3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x000007F8, { { 0x00, 0x0C, 0xB0, 0xDA, 0xE1, 0xC8, 0x45, 0x11, 0x57, 0xE4, 0x72, 0xD2, 0x32, 0xC6, 0x16, 0x2B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttPosTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000006, { { 0x4F, 0x9D, 0x50, 0xDA, 0xA1, 0x75, 0xB0, 0xD5, 0x90, 0xCA, 0xFF, 0x3E, 0xB5, 0xE8, 0x0D, 0xAA } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttPosTable21Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000008, 0x0000000C, { { 0x6A, 0xED, 0x15, 0xCE, 0x69, 0x54, 0x7D, 0x7B, 0x6D, 0xCE, 0xC7, 0x2A, 0x01, 0xD7, 0xDC, 0xB0 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttPosTable22Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000018, { { 0x6D, 0xB9, 0x69, 0x4A, 0xE3, 0x72, 0x03, 0x5B, 0x5A, 0xBB, 0x15, 0x4A, 0xDA, 0xFB, 0x99, 0x87 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttUnkTableProvider[] = {//// - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x000007FE, { { 0xF0, 0xCB, 0x3A, 0x53, 0xDD, 0x59, 0x04, 0x87, 0x6F, 0x1B, 0x5A, 0x13, 0xBA, 0x78, 0x62, 0xEC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttChkTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000008, { { 0x93, 0x27, 0x19, 0xA7, 0xA7, 0x49, 0x0E, 0xC9, 0xED, 0x5C, 0x8F, 0x9F, 0xC2, 0x34, 0x62, 0x07 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttChkTable2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000008, { { 0xEB, 0xF0, 0x27, 0x7E, 0xA8, 0x09, 0x3A, 0x95, 0x3B, 0x71, 0x2A, 0x43, 0x2E, 0xCF, 0x22, 0x0B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttDstTable1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000018, { { 0x1E, 0xC9, 0x6C, 0x5D, 0xDF, 0xD4, 0xC0, 0x87, 0xAD, 0xEE, 0x86, 0x29, 0xD5, 0x3E, 0x8D, 0xB4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterCloseAttDstTable2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000078, { { 0x4C, 0xA8, 0x2A, 0x53, 0xB3, 0xAA, 0x52, 0x96, 0x1D, 0xE8, 0x37, 0xDB, 0x4A, 0x77, 0xD8, 0x5B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterProximityTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x00000030, { { 0x25, 0xFC, 0xA3, 0xEB, 0x44, 0x93, 0x9B, 0x33, 0xB5, 0x86, 0xC4, 0xCB, 0x17, 0xEF, 0x2D, 0x47 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseFindBlockMonstersTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000040, 0x00000088, { { 0x6F, 0xEE, 0x8B, 0x4C, 0x21, 0xF0, 0xC6, 0x4F, 0x1D, 0x05, 0x95, 0x41, 0xD7, 0xD6, 0x52, 0x66 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterDirChangeTableProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x0000180C, { { 0xCD, 0xBB, 0xFD, 0xAB, 0xFB, 0x1D, 0x5C, 0x0F, 0xA2, 0xAC, 0x32, 0xA9, 0xA1, 0x93, 0x2D, 0x1C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseMonsterDistAttStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000076, 0x00002965, { { 0x1A, 0x22, 0x50, 0x04, 0x27, 0x05, 0xE9, 0x61, 0xF9, 0x0A, 0xF0, 0x50, 0x01, 0x0E, 0x65, 0xB4 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000008C, 0x00003274, { { 0xE7, 0x24, 0x17, 0x13, 0x4F, 0xB3, 0xF9, 0xB7, 0x90, 0xFA, 0x3D, 0xFF, 0xA7, 0xFB, 0x3F, 0x1F } } } }, - { EN_ANY, kPlatformUnknown, { 0x00000054, 0x00001D03, { { 0xEB, 0x07, 0xD4, 0x22, 0xFD, 0xA0, 0x77, 0x80, 0x22, 0x04, 0x2E, 0x27, 0x7F, 0x64, 0x99, 0x4E } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000062, 0x000023E0, { { 0xB8, 0x03, 0x5C, 0x31, 0xCC, 0x18, 0xCD, 0x8D, 0x60, 0xD1, 0xFB, 0x5B, 0x66, 0xC2, 0x9A, 0x4C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseEncodeMonsterDefsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000150, 0x00001ACB, { { 0x73, 0x67, 0x5B, 0x64, 0x22, 0xDB, 0x08, 0x3A, 0xCD, 0xEB, 0x30, 0x28, 0xBD, 0xAD, 0xF8, 0x9B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoBBaseNpcPresetsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000088B, 0x000038D0, { { 0x2E, 0xAE, 0xF0, 0x2A, 0x71, 0x6F, 0x7C, 0x5C, 0xF5, 0xAF, 0xB8, 0xBB, 0x47, 0xE5, 0xB6, 0xC3 } } } }, // EOB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000816, 0x00002C8E, { { 0xAB, 0xEE, 0x18, 0x0E, 0x59, 0xF6, 0xE0, 0x26, 0x93, 0xAB, 0x3B, 0x23, 0x29, 0x7A, 0x2C, 0x97 } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2Npc1StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000000B, 0x000003B9, { { 0xB1, 0x67, 0x80, 0x21, 0x92, 0xDD, 0xFA, 0x4C, 0x4D, 0x64, 0x7C, 0x05, 0x08, 0xDC, 0x55, 0xFD } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000000D, 0x0000049E, { { 0x2D, 0x78, 0xF6, 0x20, 0x30, 0xEC, 0x62, 0x6E, 0x58, 0xF7, 0xC7, 0x6D, 0xD7, 0xBD, 0x70, 0x76 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2Npc2StringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x00000012, 0x0000064C, { { 0xB0, 0x66, 0x0D, 0xDE, 0x16, 0xEB, 0x5E, 0x51, 0xAF, 0x4D, 0x19, 0xD1, 0x1E, 0x0B, 0xCB, 0xD6 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000018, 0x000008FF, { { 0x59, 0x29, 0x01, 0x6F, 0xF0, 0x49, 0xC8, 0x57, 0x3E, 0x70, 0x01, 0x7E, 0x5E, 0xF2, 0xEB, 0x35 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2MonsterDustStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001F, 0x00000AD7, { { 0x2B, 0x66, 0x27, 0xFD, 0xC6, 0x17, 0x0B, 0x6B, 0xFC, 0x7D, 0x7F, 0xD2, 0xC4, 0x12, 0x8F, 0x33 } } } }, - { DE_DEU, kPlatformUnknown, { 0x0000001F, 0x00000A91, { { 0x1D, 0x7D, 0xEE, 0xB8, 0x9B, 0x37, 0x2E, 0x64, 0x13, 0xB6, 0x39, 0xED, 0x88, 0xB6, 0x8B, 0xD7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2DreamStepsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000E, 0x00000114, { { 0x27, 0x32, 0xCB, 0x89, 0x27, 0xC5, 0xDD, 0x91, 0xBE, 0x97, 0x62, 0xF5, 0x76, 0xF7, 0xCD, 0x25 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2KheldranStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000001A, 0x00000887, { { 0xA6, 0xB4, 0x45, 0x1B, 0x33, 0x54, 0x36, 0xAD, 0x1D, 0xB1, 0xDA, 0xC3, 0x12, 0x85, 0x3C, 0x58 } } } }, - { DE_DEU, kPlatformUnknown, { 0x00000012, 0x00000511, { { 0xEE, 0x21, 0xA8, 0x6E, 0xF7, 0xEC, 0x9A, 0x8D, 0xBA, 0x8D, 0xE3, 0x4A, 0x17, 0x15, 0xCA, 0x8C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2HornStringsProvider[] = { - { EN_ANY, kPlatformUnknown, { 0x0000009A, 0x00003541, { { 0xA5, 0x4D, 0x88, 0xAC, 0x1C, 0xCD, 0x57, 0xD4, 0x1E, 0x9F, 0xAE, 0x13, 0x46, 0xAD, 0xA0, 0x22 } } } }, - { DE_DEU, kPlatformUnknown, { 0x000000AB, 0x00003B6C, { { 0x36, 0x34, 0xB3, 0xB1, 0x55, 0x66, 0x7A, 0x90, 0x97, 0x01, 0xDC, 0x4A, 0xAF, 0x17, 0x6B, 0x5A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2HornSoundsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000004, 0x00000106, { { 0x3E, 0x7B, 0x96, 0xFD, 0xCA, 0x4E, 0xA7, 0xA6, 0xB8, 0x82, 0x67, 0xCF, 0x93, 0x86, 0xE4, 0x45 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2WallOfForceDsXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000024, 0x00000D67, { { 0x51, 0xCF, 0xAB, 0x1E, 0xB4, 0xE0, 0xE3, 0x44, 0x29, 0xD1, 0xDC, 0x82, 0xCD, 0x08, 0x50, 0xF5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2WallOfForceDsYProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000003, 0x00000048, { { 0x45, 0xFC, 0xEA, 0x8C, 0x34, 0xD7, 0xBE, 0x74, 0x05, 0x03, 0xE6, 0x94, 0x34, 0xB5, 0x45, 0x4D } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2WallOfForceNumWProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000003, 0x00000006, { { 0x52, 0x89, 0xDF, 0x73, 0x7D, 0xF5, 0x73, 0x26, 0xFC, 0xDD, 0x22, 0x59, 0x7A, 0xFB, 0x1F, 0xAC } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2WallOfForceNumHProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000003, 0x00000011, { { 0x33, 0x86, 0x06, 0xBE, 0x8D, 0xC8, 0x37, 0x2D, 0x0F, 0x61, 0x97, 0xA4, 0x26, 0xA9, 0xBC, 0x60 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kEoB2WallOfForceShpIdProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000003, 0x00000006, { { 0x77, 0xAE, 0x9B, 0x52, 0x9E, 0xF7, 0xEB, 0x48, 0xA8, 0x5E, 0xED, 0xC2, 0x08, 0x53, 0xCE, 0x3C } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngamePakFilesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000088, 0x0000224F, { { 0xDA, 0x24, 0x18, 0xA3, 0xEF, 0x16, 0x70, 0x8F, 0xA8, 0xC2, 0x2E, 0xC2, 0xED, 0x39, 0x03, 0xD1 } } } }, - { UNK_LANG, kPlatformPC98, { 0x00000084, 0x00002125, { { 0x7A, 0x89, 0xE2, 0x36, 0xEC, 0x6F, 0x52, 0x2B, 0xEF, 0xBA, 0x3D, 0x28, 0x54, 0xDA, 0xFB, 0x72 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000009D, 0x00002179, { { 0x7D, 0x7A, 0xE1, 0xD9, 0x69, 0x23, 0x9D, 0xFF, 0x83, 0x39, 0x73, 0xEC, 0xF4, 0x26, 0x20, 0x8E } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharacterDefsProvider[] = { - { RU_RUS, kPlatformDOS, { 0x00000492, 0x000052BA, { { 0x52, 0x29, 0x0D, 0x49, 0xFD, 0x17, 0xD7, 0x70, 0x6D, 0xCA, 0xEB, 0xB6, 0x7E, 0xFA, 0xBE, 0x08 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000492, 0x000046B0, { { 0x7A, 0x94, 0x8B, 0xC6, 0xF7, 0xF1, 0x2F, 0xF3, 0xBC, 0x1B, 0x0B, 0x4E, 0x00, 0xC9, 0x44, 0x58 } } } }, // floppy - { DE_DEU, kPlatformDOS, { 0x00000492, 0x000047FD, { { 0x8C, 0x0B, 0x8B, 0xCE, 0xE0, 0xB0, 0x8F, 0xA9, 0x06, 0xC3, 0x98, 0xE6, 0x2E, 0x09, 0xB6, 0x93 } } } }, // floppy - { FR_FRA, kPlatformDOS, { 0x00000492, 0x000047FD, { { 0x8C, 0x0B, 0x8B, 0xCE, 0xE0, 0xB0, 0x8F, 0xA9, 0x06, 0xC3, 0x98, 0xE6, 0x2E, 0x09, 0xB6, 0x93 } } } }, // floppy - { EN_ANY, kPlatformDOS, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD - { DE_DEU, kPlatformDOS, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD - { FR_FRA, kPlatformDOS, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD - { RU_RUS, kPlatformDOS, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD - { IT_ITA, kPlatformDOS, { 0x00000492, 0x00004ACD, { { 0xDF, 0x87, 0xFE, 0x89, 0x59, 0xCC, 0x01, 0xD7, 0xC7, 0xEB, 0x16, 0xA4, 0x09, 0xAF, 0x5D, 0xC0 } } } }, // CD - { JA_JPN, kPlatformPC98, { 0x00000492, 0x00005893, { { 0x7C, 0x7E, 0xFB, 0x80, 0xD9, 0xB6, 0x16, 0x87, 0x80, 0xB7, 0x46, 0x9B, 0x96, 0x1A, 0x6A, 0xBE } } } }, - { JA_JPN, kPlatformFMTowns, { 0x00000492, 0x00005041, { { 0xAB, 0x07, 0x37, 0xFE, 0xC2, 0x4B, 0x5D, 0x16, 0xE4, 0xC4, 0x2C, 0x8C, 0xC3, 0x78, 0xCB, 0xCB } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngameSfxFilesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000008F2, 0x0001E5B6, { { 0x63, 0x5E, 0x37, 0xAA, 0x27, 0x80, 0x4C, 0x85, 0xB1, 0x9D, 0x7B, 0x1D, 0x64, 0xA3, 0xEB, 0x97 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x000008F2, 0x0001E5B7, { { 0x9E, 0xC8, 0xE8, 0x19, 0x2F, 0x58, 0x0B, 0xC7, 0x2D, 0x41, 0x72, 0xE7, 0xF4, 0x80, 0x03, 0xCB } } } }, // CD - { UNK_LANG, kPlatformPC98, { 0x000008EF, 0x0001E585, { { 0x85, 0x81, 0x5C, 0xA4, 0x34, 0x44, 0xF4, 0x58, 0xF9, 0x82, 0xEE, 0x0F, 0x6A, 0x0D, 0xA2, 0x7F } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x000008F0, 0x0001E585, { { 0xB7, 0x82, 0xFF, 0xAB, 0x71, 0x54, 0xEB, 0x52, 0x8D, 0xAC, 0x9A, 0xB4, 0x9E, 0x33, 0x00, 0x95 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngameSfxIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x000003E8, 0x0000E8D2, { { 0x19, 0x39, 0x17, 0xED, 0xAE, 0xDC, 0x7A, 0xAC, 0x45, 0x5F, 0x2D, 0xCD, 0x65, 0x8D, 0xAD, 0xAE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMusicTrackMapProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000000F0, 0x0000210D, { { 0x55, 0x25, 0x3E, 0x35, 0xD2, 0xD8, 0x13, 0xE3, 0x1D, 0xB1, 0xB3, 0x00, 0x2E, 0x17, 0x91, 0x2F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngameGMSfxIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000000FA, 0x00006281, { { 0x25, 0x89, 0xB0, 0x3B, 0x12, 0x09, 0x02, 0xF6, 0xFE, 0x76, 0xD5, 0xC9, 0x5B, 0x88, 0xAC, 0xAA } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngameMT32SfxIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000000FA, 0x00006579, { { 0x16, 0x40, 0x1C, 0x09, 0x69, 0xA9, 0x0D, 0x6D, 0x4B, 0x0C, 0x99, 0xF0, 0x40, 0x5D, 0xBB, 0x6E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLIngamePcSpkSfxIndexProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000000FA, 0x00005EFC, { { 0xA3, 0x5C, 0x69, 0xED, 0x13, 0xEC, 0x08, 0x0E, 0xFA, 0x72, 0x83, 0x0D, 0xD7, 0x8D, 0x9C, 0x70 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLSpellPropertiesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000118, 0x00000B06, { { 0x27, 0x69, 0x53, 0x01, 0xA0, 0xE3, 0x76, 0xAA, 0x33, 0xA4, 0x52, 0x11, 0x52, 0xB1, 0x0E, 0xDA } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLGameShapeMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000114, 0x000038D3, { { 0xB2, 0x8A, 0x5D, 0x9A, 0x51, 0x63, 0x4D, 0x65, 0xE4, 0xF5, 0xBA, 0x88, 0x70, 0x6C, 0xA6, 0xF8 } } } }, // floppy + PC98 - { UNK_LANG, kPlatformDOS, { 0x00000114, 0x00003B97, { { 0x29, 0xE5, 0x0F, 0x51, 0xF0, 0x10, 0x35, 0x3E, 0x70, 0x3A, 0xAA, 0xFE, 0xD7, 0xD5, 0xAA, 0x9F } } } }, // CD - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLSceneItemOffsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000008, 0x00000300, { { 0x69, 0x80, 0x5A, 0x3E, 0x63, 0xC1, 0x04, 0x60, 0x09, 0x2F, 0x49, 0xD7, 0x26, 0x32, 0xAA, 0xE2 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharInvIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x00000006, { { 0x19, 0x79, 0x4E, 0xFC, 0x05, 0x14, 0x89, 0x23, 0xEB, 0xCA, 0x94, 0x50, 0xE8, 0xD3, 0x81, 0x24 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000005, 0x00000006, { { 0x54, 0x11, 0x01, 0x79, 0x4D, 0xED, 0xF9, 0xEA, 0xDF, 0x03, 0x51, 0xAB, 0x8D, 0x9D, 0x2F, 0x34 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharInvDefsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000058, 0x00001D7A, { { 0x25, 0xE4, 0xEB, 0x6D, 0xBE, 0xEA, 0xBD, 0x9A, 0x9F, 0xA5, 0x9E, 0xEB, 0x3D, 0x03, 0x1D, 0x72 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharDefsManProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x0000003D, { { 0xEB, 0x82, 0x32, 0x9D, 0x76, 0xC8, 0x3D, 0x5E, 0x8C, 0x26, 0x53, 0xDF, 0xC1, 0xFD, 0x0F, 0xC5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharDefsWomanProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x0000003D, { { 0xEB, 0x82, 0x32, 0x9D, 0x76, 0xC8, 0x3D, 0x5E, 0x8C, 0x26, 0x53, 0xDF, 0xC1, 0xFD, 0x0F, 0xC5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharDefsKieranProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x000002E3, { { 0xBF, 0xB1, 0x0F, 0x40, 0xBF, 0xA1, 0xD0, 0x2B, 0xC9, 0x80, 0x35, 0x40, 0xA9, 0xA3, 0x01, 0xC8 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCharDefsAkshelProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x000002FB, { { 0x47, 0x3C, 0x07, 0x15, 0x20, 0xE6, 0x90, 0x59, 0x55, 0xF2, 0xA7, 0xC3, 0x27, 0x22, 0xAB, 0xDC } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLExpRequirementsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000002C, 0x00000C0A, { { 0x3F, 0x36, 0xFA, 0xE3, 0xB0, 0x76, 0x5E, 0xFF, 0xE9, 0xBA, 0xDF, 0xD0, 0x9D, 0xFF, 0xDD, 0x27 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterModifiers1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x00000142, { { 0x62, 0x4B, 0x5E, 0x46, 0x64, 0xA4, 0x3A, 0xB7, 0x11, 0x14, 0xA8, 0x41, 0xAF, 0x4E, 0xE6, 0x58 } } } }, // floppy + PC98 + FM-TOWNS - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x000000E8, { { 0x94, 0xCB, 0xD2, 0xE4, 0xF4, 0xA8, 0x4D, 0x46, 0x2E, 0x84, 0x8C, 0x6F, 0xF9, 0x75, 0xD7, 0x28 } } } }, // CD - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterModifiers2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x000000C2, { { 0x89, 0x12, 0xA7, 0x0D, 0xD9, 0xC7, 0x5B, 0x03, 0xD4, 0x21, 0x6F, 0x0A, 0x1D, 0x83, 0x1B, 0x98 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterModifiers3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x000000C2, { { 0x56, 0x4D, 0x82, 0xCC, 0x2C, 0x00, 0x1E, 0x9D, 0xF7, 0x64, 0xB7, 0x60, 0x63, 0x0A, 0x03, 0xD7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterModifiers4Provider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000006, 0x00000082, { { 0xA8, 0xFC, 0xBB, 0x1B, 0xC0, 0x85, 0x3B, 0xEF, 0xDB, 0xDE, 0xB0, 0x98, 0x58, 0x34, 0x75, 0xE9 } } } }, // CD - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterShiftOffsetsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x00000803, { { 0x30, 0x55, 0x74, 0x0D, 0xC7, 0x3B, 0xD9, 0x5C, 0x26, 0xF0, 0x4E, 0x8F, 0xE4, 0x4D, 0xCB, 0x2A } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterDirFlagsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x00000080, { { 0xE5, 0xA1, 0xE3, 0xCE, 0xA0, 0x5F, 0x15, 0xE9, 0x5B, 0x28, 0x90, 0xC0, 0xDF, 0x21, 0xEC, 0x24 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterScaleYProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001E, 0x00000982, { { 0xE2, 0x71, 0x5F, 0x57, 0x4A, 0x8F, 0x50, 0xDB, 0x3E, 0xDA, 0xAB, 0x10, 0xEB, 0xDB, 0x0D, 0x14 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterScaleXProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000020, 0x00000918, { { 0xF6, 0x14, 0xE6, 0x48, 0x4E, 0x5B, 0x43, 0xCC, 0xCE, 0x4E, 0x98, 0x71, 0x5A, 0xC2, 0x00, 0x1E } } } }, - { UNK_LANG, kPlatformPC98, { 0x0000001D, 0x000008D2, { { 0x1C, 0x25, 0x38, 0xE2, 0xBB, 0xB2, 0xDB, 0x93, 0x1B, 0x25, 0xB6, 0x89, 0xA9, 0x9B, 0x0A, 0xFE } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000001D, 0x000008D2, { { 0x1C, 0x25, 0x38, 0xE2, 0xBB, 0xB2, 0xDB, 0x93, 0x1B, 0x25, 0xB6, 0x89, 0xA9, 0x9B, 0x0A, 0xFE } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMonsterScaleWHProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000082, 0x00001D2A, { { 0x85, 0x7E, 0x18, 0xDD, 0x74, 0x1C, 0x62, 0x6F, 0xF4, 0xE5, 0xAF, 0x65, 0xEC, 0x6A, 0x90, 0xAD } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLFlyingObjectShpProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000082, 0x00000252, { { 0xDE, 0x9D, 0x89, 0xAF, 0x0F, 0x50, 0x14, 0x60, 0x68, 0xAF, 0x19, 0xD8, 0x54, 0x8A, 0x36, 0x27 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000075, 0x00000252, { { 0xD7, 0xE5, 0x13, 0x67, 0xDB, 0x9C, 0xD4, 0x12, 0x0E, 0x99, 0x0D, 0x2A, 0x70, 0x17, 0x95, 0x89 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLInventoryDescProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000016, 0x0000082D, { { 0x86, 0xB4, 0xB9, 0x50, 0xB6, 0xDA, 0x29, 0xB2, 0xC0, 0x0D, 0x34, 0x3F, 0x8D, 0x88, 0xAA, 0xE4 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLLevelShpListProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000007F, 0x00002090, { { 0x17, 0x31, 0x8A, 0xB5, 0x9B, 0x3A, 0xDA, 0x16, 0x9E, 0xE3, 0xD1, 0x5F, 0xB4, 0x7B, 0xB2, 0x25 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000091, 0x00002090, { { 0x51, 0x79, 0x1D, 0x60, 0xB0, 0x71, 0xB8, 0xF2, 0xDD, 0xD4, 0x36, 0x1B, 0xF8, 0x15, 0xBF, 0xB7 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLLevelDatListProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000007F, 0x00001FB8, { { 0xF6, 0xE9, 0x98, 0x79, 0x51, 0xCA, 0xA0, 0x35, 0xE4, 0xD0, 0xA1, 0xCD, 0x23, 0x89, 0x7D, 0x11 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000091, 0x00001FB8, { { 0x65, 0x1A, 0x3E, 0x96, 0x96, 0xA9, 0x94, 0xD6, 0xD5, 0x21, 0xBE, 0x60, 0xB5, 0x83, 0xF0, 0xE5 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCompassDefsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000100, 0x000030EF, { { 0x6F, 0xF0, 0x46, 0x6E, 0xB3, 0x72, 0xCF, 0xC7, 0xE3, 0xAF, 0xBE, 0x63, 0xA1, 0x1C, 0x33, 0x20 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLItemPricesProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000005C, 0x00001251, { { 0x18, 0x62, 0x5E, 0xE2, 0xE4, 0x2A, 0xB0, 0xA0, 0x8B, 0x8D, 0x9D, 0x07, 0x5F, 0x83, 0x53, 0xF7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLStashSetupProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x0000001E, { { 0x1C, 0x93, 0x66, 0x56, 0xDB, 0xD7, 0xA4, 0xB3, 0xE7, 0x2F, 0xEA, 0x88, 0xE2, 0xC8, 0x79, 0xD0 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscWallsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000024, 0x00000A2A, { { 0xAC, 0x4E, 0x73, 0x2C, 0xB0, 0xEE, 0x24, 0x0E, 0x66, 0x8D, 0x48, 0xE5, 0xCA, 0x6B, 0x7F, 0x7F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscShapeIndexProvider[] = { - // LOL: - { UNK_LANG, kPlatformUnknown, { 0x00000024, 0x00000728, { { 0x14, 0xBA, 0x6D, 0x5C, 0x7D, 0x20, 0x0D, 0x35, 0xA7, 0xB0, 0x8D, 0x2F, 0x1D, 0x2A, 0x49, 0xA4 } } } }, - // EOB: - { UNK_LANG, kPlatformUnknown, { 0x00000024, 0x00000632, { { 0xBE, 0x3E, 0x84, 0x71, 0x89, 0x04, 0xC9, 0x1D, 0xCF, 0xE4, 0x3B, 0xD8, 0x2A, 0xF4, 0x0F, 0x54 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscOvlMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x0000001F, { { 0x9C, 0xF2, 0xCC, 0x48, 0x42, 0xC6, 0x76, 0x83, 0xD3, 0x1A, 0x43, 0x42, 0x7F, 0xEF, 0x19, 0x0F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscScaleWidthDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x00000ABE, { { 0x28, 0x9A, 0xAA, 0x16, 0xC4, 0xFD, 0x52, 0xA9, 0x76, 0x98, 0x72, 0x0C, 0x2D, 0xE4, 0xB0, 0x57 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscScaleHeightDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x000009E8, { { 0x25, 0x35, 0x07, 0xBC, 0xF9, 0x82, 0x8B, 0x5B, 0x67, 0x7C, 0x38, 0xD1, 0xF8, 0x35, 0x81, 0xC7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscXProvider[] = { - // LOL - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x00001468, { { 0x55, 0xC5, 0x30, 0x76, 0x0A, 0xDC, 0xEC, 0xAB, 0x68, 0x9B, 0x61, 0xF0, 0x58, 0x78, 0x56, 0xA6 } } } }, - // EOB - { UNK_LANG, kPlatformUnknown, { 0x00000024, 0x00000BFA, { { 0x5F, 0x86, 0x9B, 0xDA, 0x5D, 0x6E, 0xC0, 0xB9, 0x29, 0x82, 0xA5, 0xD7, 0xC9, 0x34, 0x90, 0x63 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscYProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000024, 0x00000282, { { 0x09, 0x98, 0x3A, 0x33, 0x15, 0xA1, 0x4A, 0xFF, 0x76, 0x19, 0x2B, 0xB1, 0x74, 0x89, 0xF4, 0x37 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscTileIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x00000099, { { 0x18, 0xD9, 0x39, 0x27, 0x5B, 0x34, 0xAE, 0x7C, 0xA9, 0xA9, 0xDB, 0x42, 0x49, 0x61, 0x6B, 0x37 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscUnk2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000017, 0x000000D2, { { 0xDE, 0xDA, 0x75, 0x15, 0x2B, 0xDC, 0x90, 0x3F, 0xC9, 0x92, 0x04, 0x01, 0x23, 0x7A, 0xDA, 0x2E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorShapeIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000017, 0x0000000A, { { 0x2E, 0xC4, 0xA1, 0x47, 0x7C, 0xAE, 0xAD, 0xD8, 0x8A, 0x72, 0x95, 0x2F, 0x18, 0xC5, 0x08, 0x19 } } } }, // LOL - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x00000021, { { 0xE3, 0x00, 0x85, 0x1C, 0x13, 0xCE, 0x5D, 0xA7, 0xA2, 0x93, 0x9B, 0x56, 0x1A, 0x0C, 0x43, 0x3E } } } }, // EOB 1 - { UNK_LANG, kPlatformUnknown, { 0x00000035, 0x0000000B, { { 0xC2, 0xBC, 0xCA, 0x95, 0x69, 0xE8, 0x3F, 0x1F, 0xC2, 0x1C, 0x37, 0x90, 0x63, 0x8F, 0xE6, 0x1D } } } }, // EOB 2 - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDimData1Provider[] = { - // LOL - { UNK_LANG, kPlatformUnknown, { 0x00000144, 0x0001007D, { { 0x18, 0x3D, 0xA5, 0xF7, 0x1A, 0x5A, 0x90, 0xA7, 0x4E, 0x66, 0x1A, 0x4E, 0x0C, 0x69, 0x58, 0x31 } } } }, - // EOB - { UNK_LANG, kPlatformUnknown, { 0x00000144, 0x00010115, { { 0x89, 0x37, 0x1C, 0x85, 0x53, 0xEE, 0xC0, 0xEC, 0x17, 0x26, 0x0B, 0xE5, 0xCC, 0x9C, 0x30, 0x58 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDimData2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000288, 0x00001BC2, { { 0x30, 0xD1, 0xD1, 0x35, 0x74, 0x2C, 0x86, 0x81, 0x23, 0xE2, 0x05, 0xCE, 0x75, 0x60, 0x3C, 0x55 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscBlockMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x00000012, { { 0x01, 0xEE, 0x32, 0xA6, 0x71, 0x15, 0x8D, 0xFB, 0x33, 0xF2, 0xD6, 0x8A, 0x30, 0x00, 0x10, 0x4B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDimMapProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000012, 0x00000014, { { 0x4D, 0x53, 0x2E, 0xF2, 0xA3, 0xF9, 0xE2, 0xEC, 0x44, 0xBE, 0x5F, 0x04, 0x91, 0xF8, 0xE1, 0x04 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscOvlIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000028, 0x00000048, { { 0x3E, 0x8E, 0x62, 0xAF, 0xD1, 0x28, 0x39, 0x73, 0x0D, 0xD8, 0x4A, 0xA7, 0xF4, 0xD7, 0x32, 0x25 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscBlockIndexProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000048, 0x00002200, { { 0xF4, 0x8B, 0x32, 0xC3, 0xD3, 0xFB, 0x46, 0xF2, 0xB8, 0x3A, 0x58, 0x39, 0x94, 0x57, 0x97, 0x4B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorY2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000080, 0x00000348, { { 0xC6, 0x58, 0x8B, 0xFE, 0x18, 0x72, 0x47, 0xF1, 0xB6, 0x3A, 0x0F, 0xFB, 0x3D, 0x99, 0x74, 0xD0 } } } }, // LOL - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000046, { { 0x35, 0x36, 0xBC, 0xD8, 0x63, 0x25, 0x31, 0xA9, 0x61, 0x8E, 0xF6, 0x54, 0x4A, 0x79, 0x17, 0xF8 } } } }, // EOB - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorFrameY1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000053B, { { 0xF0, 0x9E, 0xC5, 0xB1, 0xEA, 0x5A, 0x58, 0xBD, 0xAC, 0x7B, 0xB2, 0xD4, 0xFE, 0x3F, 0x4F, 0x51 } } } }, // EOB I - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000046, { { 0xD4, 0xA4, 0xEC, 0xA2, 0x99, 0xB6, 0x5E, 0x12, 0x98, 0xFF, 0xF2, 0x55, 0xC8, 0xBD, 0xC5, 0x8F } } } }, // EOB II - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorFrameY2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000053B, { { 0xF0, 0x9E, 0xC5, 0xB1, 0xEA, 0x5A, 0x58, 0xBD, 0xAC, 0x7B, 0xB2, 0xD4, 0xFE, 0x3F, 0x4F, 0x51 } } } }, // EOB I - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000150, { { 0x49, 0x7E, 0xF4, 0xDF, 0x8D, 0x04, 0x0A, 0xCE, 0x49, 0xBB, 0xA2, 0x1D, 0x8D, 0xC2, 0x14, 0x9E } } } }, // EOB II - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorFrameIndex1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x00000058, { { 0xC9, 0xAF, 0x1F, 0x68, 0xF1, 0xDE, 0x96, 0x9B, 0x3B, 0xCB, 0x56, 0xEC, 0x2E, 0x62, 0x9A, 0x0A } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kRpgCommonDscDoorFrameIndex2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000C, 0x000000E8, { { 0x8C, 0x10, 0x56, 0xEA, 0x4D, 0x1A, 0x9C, 0xB2, 0x55, 0x54, 0xA5, 0x61, 0x1D, 0x19, 0x4E, 0x50 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscDoorScaleProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000010, 0x0000024C, { { 0x8D, 0x83, 0x26, 0xEE, 0xDC, 0xF7, 0x13, 0xC0, 0xAA, 0x88, 0xC2, 0xAA, 0x66, 0xA7, 0x59, 0x41 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscDoor4Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000008, 0x00000103, { { 0x29, 0xC0, 0x4B, 0x7F, 0x36, 0x23, 0xBB, 0x38, 0x4C, 0x83, 0xC6, 0x9D, 0xB4, 0x8F, 0x29, 0x2E } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000008, 0x0000000F, { { 0x9C, 0x6B, 0xAF, 0x69, 0x42, 0xC9, 0xC9, 0xA0, 0xD9, 0xF3, 0x54, 0xD9, 0x9A, 0xAF, 0xCF, 0xD8 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscDoorXProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000480, 0x0001654D, { { 0x2A, 0x1F, 0xBF, 0xE3, 0xC4, 0xEF, 0x7E, 0xD1, 0x61, 0x51, 0xFE, 0x88, 0x8D, 0x1F, 0x59, 0x70 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLDscDoorYProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000480, 0x00026666, { { 0x06, 0xBF, 0xA4, 0xD4, 0x6E, 0x29, 0x42, 0xA2, 0xA0, 0x8E, 0x3C, 0x14, 0xF3, 0xD6, 0x3F, 0x87 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLScrollXTopProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x0000004B, { { 0x18, 0x1E, 0x6E, 0xE9, 0x34, 0xF0, 0x02, 0xC6, 0x57, 0x34, 0xDF, 0x55, 0xD9, 0x39, 0xE8, 0x98 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLScrollYTopProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x00000022, { { 0xF3, 0x20, 0x5A, 0xC1, 0xBB, 0x0C, 0x79, 0x52, 0x23, 0xC1, 0x36, 0x81, 0x70, 0x2F, 0x92, 0xFC } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLScrollXBottomProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x0000004B, { { 0x18, 0x1E, 0x6E, 0xE9, 0x34, 0xF0, 0x02, 0xC6, 0x57, 0x34, 0xDF, 0x55, 0xD9, 0x39, 0xE8, 0x98 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLScrollYBottomProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000000A, 0x0000003C, { { 0x5B, 0x4F, 0xB7, 0xB5, 0x55, 0xA2, 0x9A, 0x21, 0xEF, 0xB4, 0x98, 0x47, 0x05, 0x57, 0x49, 0x55 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonDefsProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x0000082A, 0x0000CAAE, { { 0xC1, 0x83, 0x0D, 0xA0, 0x66, 0x16, 0x3D, 0x31, 0xCE, 0x30, 0x9F, 0x4E, 0x00, 0x65, 0x5A, 0xC8 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x0000082A, 0x0000C34E, { { 0x7F, 0x9A, 0x0F, 0x28, 0x1A, 0x8F, 0x03, 0x46, 0x48, 0xEB, 0xC9, 0xB9, 0x23, 0x29, 0x5E, 0x50 } } } }, // floppy - { UNK_LANG, kPlatformDOS, { 0x0000082A, 0x0000C47B, { { 0xDF, 0x1A, 0x18, 0x1F, 0x58, 0x05, 0x1F, 0x56, 0xD8, 0x6D, 0xBB, 0x93, 0xEC, 0x35, 0x9D, 0xA5 } } } }, // CD - { UNK_LANG, kPlatformPC98, { 0x0000082A, 0x0000AB58, { { 0xDD, 0x2B, 0xA9, 0x54, 0x60, 0x25, 0x2C, 0x74, 0xF8, 0x5D, 0xC6, 0xD2, 0x2C, 0x1A, 0x24, 0x44 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000082A, 0x0000D271, { { 0xAF, 0xAD, 0x11, 0xF9, 0xDC, 0x41, 0x94, 0xB3, 0x0E, 0x48, 0x69, 0xB3, 0x32, 0x89, 0x7C, 0xDD } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList1Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000050, 0x00000A37, { { 0x0F, 0x73, 0xEC, 0xDD, 0xAB, 0xFF, 0x49, 0x46, 0x5E, 0x8F, 0x0D, 0xC3, 0xE7, 0x1B, 0x89, 0x51 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000028, 0x00000938, { { 0x4B, 0xD9, 0x4A, 0x57, 0x58, 0xEC, 0x01, 0xE5, 0xA1, 0x25, 0x6A, 0x1A, 0x9C, 0x5D, 0x79, 0x19 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList2Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001E, 0x00000522, { { 0xEA, 0x41, 0x46, 0xE2, 0xFE, 0xAA, 0x7D, 0x5E, 0x89, 0x7F, 0xBF, 0x9B, 0x30, 0x60, 0x74, 0xF3 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000000F, 0x00000423, { { 0xD3, 0xA8, 0xD4, 0xFB, 0x1A, 0x56, 0x21, 0x8C, 0x01, 0xED, 0xF8, 0x54, 0xA9, 0xC5, 0x97, 0x04 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList3Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x0000023E, { { 0x70, 0xAA, 0xCA, 0xAC, 0x5C, 0x21, 0xCF, 0xA5, 0xBF, 0x7F, 0x5F, 0xBC, 0xF1, 0x24, 0x8A, 0xAF } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000002, 0x0000013F, { { 0xDF, 0xE4, 0x3D, 0x18, 0x94, 0x18, 0xA5, 0x74, 0xBA, 0x26, 0x7B, 0x31, 0x87, 0xAE, 0xEE, 0x22 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList4Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001E, 0x0000054D, { { 0x19, 0x2A, 0xBE, 0x7F, 0x94, 0x10, 0xA0, 0x60, 0x2A, 0x33, 0xD6, 0x11, 0x85, 0xF0, 0xA4, 0xA9 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000000F, 0x0000044E, { { 0x18, 0x1E, 0xBB, 0x7D, 0xAC, 0xA1, 0x87, 0x0F, 0x32, 0xA3, 0xBF, 0x5F, 0xBC, 0xBB, 0x90, 0xA4 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList5Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000020, 0x0000045D, { { 0xE3, 0x7C, 0xC2, 0x36, 0x21, 0x46, 0xDB, 0xF3, 0xDD, 0x38, 0x4B, 0x40, 0xE0, 0x35, 0x09, 0xC3 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000010, 0x0000035E, { { 0x4E, 0xE2, 0xD6, 0x93, 0xA3, 0xEF, 0xD0, 0xEA, 0x28, 0xE6, 0xE7, 0xDD, 0xFC, 0x44, 0xE2, 0xB9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList6Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000001C, 0x000004C4, { { 0x21, 0x7C, 0x29, 0x3F, 0x95, 0x6F, 0x91, 0x8C, 0xB2, 0x30, 0x09, 0xA6, 0x7B, 0x48, 0x44, 0x8F } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x0000000E, 0x000003C5, { { 0x05, 0x10, 0x83, 0x1E, 0x18, 0x11, 0xC4, 0x43, 0x01, 0xE3, 0xE0, 0xD7, 0x79, 0x29, 0xA5, 0x86 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList7Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000006, 0x0000021D, { { 0xDC, 0xCE, 0x1B, 0xEB, 0x11, 0x6D, 0xDE, 0x37, 0x17, 0xC8, 0x06, 0x51, 0xC3, 0x0C, 0xCB, 0xA6 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000003, 0x0000011E, { { 0xCF, 0x37, 0xEF, 0x83, 0xEC, 0x0D, 0x65, 0x41, 0xC8, 0x1D, 0xD1, 0x20, 0x82, 0x6B, 0xB5, 0x9B } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLButtonList8Provider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000004, 0x00000253, { { 0x0C, 0x7B, 0x10, 0x99, 0x93, 0xD0, 0x33, 0xCA, 0xAB, 0x8D, 0x7E, 0x24, 0xE5, 0x7E, 0x6C, 0x91 } } } }, - { UNK_LANG, kPlatformFMTowns, { 0x00000002, 0x00000154, { { 0xE9, 0x6B, 0x8A, 0xD7, 0x8E, 0xCF, 0x66, 0x07, 0xDC, 0xF1, 0xC0, 0xAA, 0x81, 0x88, 0xB8, 0xB9 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLLegendDataProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000030, 0x00000858, { { 0x63, 0x5E, 0x60, 0xC7, 0x62, 0x2C, 0x5D, 0x8F, 0x74, 0x71, 0x98, 0xB7, 0x09, 0xD2, 0x51, 0xC7 } } } }, - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000A52, { { 0x81, 0xC5, 0xA4, 0xE7, 0x60, 0xDA, 0xD6, 0x5E, 0x19, 0xAB, 0xF3, 0xC7, 0xDD, 0xDB, 0x92, 0x5E } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMapCursorOvlProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x00000019, 0x000009CD, { { 0xF6, 0xD2, 0xFA, 0x36, 0x62, 0x95, 0x1D, 0x99, 0x7F, 0x11, 0x5F, 0xA8, 0x4D, 0x47, 0x72, 0x40 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLMapStringIdProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x0000003C, 0x00000CFB, { { 0xE3, 0xC3, 0x41, 0x06, 0xD1, 0x71, 0x77, 0x78, 0xAD, 0x39, 0xAE, 0x2C, 0x16, 0x21, 0x45, 0xB7 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLSpellbookAnimProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000038, 0x000003A1, { { 0x50, 0xA0, 0xF6, 0xA7, 0x53, 0x96, 0x86, 0x49, 0xB0, 0x8D, 0xA8, 0xB2, 0x2D, 0x9A, 0xE2, 0x1F } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLSpellbookCoordsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000018, 0x0000018F, { { 0xA5, 0xF6, 0x8A, 0x58, 0x9A, 0xC7, 0x3C, 0x3A, 0xB5, 0x87, 0x89, 0x87, 0x73, 0x51, 0x9B, 0x1B } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLHealShapeFramesProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000050, 0x000000F4, { { 0xC9, 0x6E, 0x39, 0xE1, 0xD7, 0xAD, 0x10, 0x4F, 0xE2, 0xFE, 0xDC, 0xAD, 0x00, 0x9D, 0x41, 0xEF } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLLightningDefsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000014, 0x00000385, { { 0x68, 0x39, 0x65, 0xCB, 0xA9, 0x80, 0x90, 0xFB, 0xDD, 0x77, 0x0C, 0x76, 0x5A, 0xB5, 0x05, 0x03 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLFireballCoordsProvider[] = { - { UNK_LANG, kPlatformUnknown, { 0x00000200, 0x0000FD81, { { 0xB3, 0xE0, 0x6F, 0x89, 0xCD, 0xE5, 0xA9, 0x6A, 0x4B, 0x61, 0x7A, 0x3F, 0x47, 0x26, 0x73, 0x58 } } } }, - - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLCreditsProvider[] = { - { JA_JPN , kPlatformPC98, { 0x000005E7, 0x0001A1B0, { { 0x2A, 0xD0, 0x38, 0x84, 0x0C, 0x38, 0xCB, 0x52, 0x5D, 0x82, 0xBE, 0x03, 0x76, 0xFA, 0x0A, 0x4A } } } }, - { JA_JPN , kPlatformFMTowns, { 0x000005EC, 0x0001A219, { { 0x03, 0xBC, 0x67, 0x19, 0xA1, 0x99, 0x70, 0x10, 0x7A, 0x73, 0x85, 0xDA, 0xB4, 0x59, 0x49, 0xB0 } } } }, - EXTRACT_END_ENTRY -}; - -const ExtractEntrySearchData kLoLHistoryProvider[] = { - { UNK_LANG, kPlatformDOS, { 0x000001D1, 0x00007F9B, { { 0x25, 0x10, 0x86, 0x40, 0xAC, 0x53, 0xFE, 0x11, 0x4D, 0xE2, 0xD9, 0x35, 0xD6, 0x89, 0xBB, 0x09 } } } }, - - EXTRACT_END_ENTRY -}; - -// Provider tables - -struct ExtractEntry { - int id; - const ExtractEntrySearchData *providers; -}; - -const ExtractEntry extractProviders[] = { - { k1ForestSeq, k1ForestSeqProvider }, - { k1KallakWritingSeq, k1KallakWritingSeqProvider }, - { k1KyrandiaLogoSeq, k1KyrandiaLogoSeqProvider }, - { k1KallakMalcolmSeq, k1KallakMalcolmSeqProvider }, - { k1MalcolmTreeSeq, k1MalcolmTreeSeqProvider }, - { k1WestwoodLogoSeq, k1WestwoodLogoSeqProvider }, - { k1Demo1Seq, k1Demo1SeqProvider }, - { k1Demo2Seq, k1Demo2SeqProvider }, - { k1Demo3Seq, k1Demo3SeqProvider }, - { k1Demo4Seq, k1Demo4SeqProvider }, - { k1AmuleteAnimSeq, k1AmuleteAnimSeqProvider }, - { k1OutroReunionSeq, k1OutroReunionSeqProvider }, - { k1IntroCPSStrings, k1IntroCPSStringsProvider }, - { k1IntroCOLStrings, k1IntroCOLStringsProvider }, - { k1IntroWSAStrings, k1IntroWSAStringsProvider }, - { k1IntroStrings, k1IntroStringsProvider }, - { k1OutroHomeString, k1OutroHomeStringProvider }, - { k1RoomFilenames, k1RoomFilenamesProvider }, - { k1RoomList, k1RoomListProvider }, - { k1CharacterImageFilenames, k1CharacterImageFilenamesProvider }, - { k1AudioTracks, k1AudioTracksProvider }, - { k1AudioTracks2, k1AudioTracks2Provider }, - { k1AudioTracksIntro, k1AudioTracksIntroProvider }, - { k1ItemNames, k1ItemNamesProvider }, - { k1TakenStrings, k1TakenStringsProvider }, - { k1PlacedStrings, k1PlacedStringsProvider }, - { k1DroppedStrings, k1DroppedStringsProvider }, - { k1NoDropStrings, k1NoDropStringsProvider }, - { k1PutDownString, k1PutDownStringProvider }, - { k1WaitAmuletString, k1WaitAmuletStringProvider }, - { k1BlackJewelString, k1BlackJewelStringProvider }, - { k1PoisonGoneString, k1PoisonGoneStringProvider }, - { k1HealingTipString, k1HealingTipStringProvider }, - { k1WispJewelStrings, k1WispJewelStringsProvider }, - { k1MagicJewelStrings, k1MagicJewelStringsProvider }, - { k1ThePoisonStrings, k1ThePoisonStringsProvider }, - { k1FluteStrings, k1FluteStringsProvider }, - { k1FlaskFullString, k1FlaskFullStringProvider }, - { k1FullFlaskString, k1FullFlaskStringProvider }, - { k1VeryCleverString, k1VeryCleverStringProvider }, - { k1NewGameString, k1NewGameStringProvider }, - { k1DefaultShapes, k1DefaultShapesProvider }, - { k1Healing1Shapes, k1Healing1ShapesProvider }, - { k1Healing2Shapes, k1Healing2ShapesProvider }, - { k1PoisonDeathShapes, k1PoisonDeathShapesProvider }, - { k1FluteShapes, k1FluteShapesProvider }, - { k1Winter1Shapes, k1Winter1ShapesProvider }, - { k1Winter2Shapes, k1Winter2ShapesProvider }, - { k1Winter3Shapes, k1Winter3ShapesProvider }, - { k1DrinkShapes, k1DrinkShapesProvider }, - { k1WispShapes, k1WispShapesProvider }, - { k1MagicAnimShapes, k1MagicAnimShapesProvider }, - { k1BranStoneShapes, k1BranStoneShapesProvider }, - { k1SpecialPalette1, k1SpecialPalette1Provider }, - { k1SpecialPalette2, k1SpecialPalette2Provider }, - { k1SpecialPalette3, k1SpecialPalette3Provider }, - { k1SpecialPalette4, k1SpecialPalette4Provider }, - { k1SpecialPalette5, k1SpecialPalette5Provider }, - { k1SpecialPalette6, k1SpecialPalette6Provider }, - { k1SpecialPalette7, k1SpecialPalette7Provider }, - { k1SpecialPalette8, k1SpecialPalette8Provider }, - { k1SpecialPalette9, k1SpecialPalette9Provider }, - { k1SpecialPalette10, k1SpecialPalette10Provider }, - { k1SpecialPalette11, k1SpecialPalette11Provider }, - { k1SpecialPalette12, k1SpecialPalette12Provider }, - { k1SpecialPalette13, k1SpecialPalette13Provider }, - { k1SpecialPalette14, k1SpecialPalette14Provider }, - { k1SpecialPalette15, k1SpecialPalette15Provider }, - { k1SpecialPalette16, k1SpecialPalette16Provider }, - { k1SpecialPalette17, k1SpecialPalette17Provider }, - { k1SpecialPalette18, k1SpecialPalette18Provider }, - { k1SpecialPalette19, k1SpecialPalette19Provider }, - { k1SpecialPalette20, k1SpecialPalette20Provider }, - { k1SpecialPalette21, k1SpecialPalette21Provider }, - { k1SpecialPalette22, k1SpecialPalette22Provider }, - { k1SpecialPalette23, k1SpecialPalette23Provider }, - { k1SpecialPalette24, k1SpecialPalette24Provider }, - { k1SpecialPalette25, k1SpecialPalette25Provider }, - { k1SpecialPalette26, k1SpecialPalette26Provider }, - { k1SpecialPalette27, k1SpecialPalette27Provider }, - { k1SpecialPalette28, k1SpecialPalette28Provider }, - { k1SpecialPalette29, k1SpecialPalette29Provider }, - { k1SpecialPalette30, k1SpecialPalette30Provider }, - { k1SpecialPalette31, k1SpecialPalette31Provider }, - { k1SpecialPalette32, k1SpecialPalette32Provider }, - { k1SpecialPalette33, k1SpecialPalette33Provider }, - { k1GUIStrings, k1GUIStringsProvider }, - { k1ConfigStrings, k1ConfigStringsProvider }, - { k1TownsMusicFadeTable, k1TownsMusicFadeTableProvider }, - { k1TownsSFXwdTable, k1TownsSFXwdTableProvider }, - { k1TownsSFXbtTable, k1TownsSFXbtTableProvider }, - { k1TownsCDATable, k1TownsCDATableProvider }, - { k1PC98StoryStrings, k1PC98StoryStringsProvider }, - { k1PC98IntroSfx, k1PC98IntroSfxProvider }, - { k1CreditsStrings, k1CreditsStringsProvider }, - { k1AmigaIntroSFXTable, k1AmigaIntroSFXTableProvider }, - { k1AmigaGameSFXTable, k1AmigaGameSFXTableProvider }, - { k2SeqplayPakFiles, k2SeqplayPakFilesProvider }, - { k2SeqplayStrings, k2SeqplayStringsProvider }, - { k2SeqplaySfxFiles, k2SeqplaySfxFilesProvider }, - { k2SeqplayTlkFiles, k2SeqplayTlkFilesProvider }, - { k2SeqplaySeqData, k2SeqplaySeqDataProvider }, - { k2SeqplayCredits, k2SeqplayCreditsProvider }, - { k2SeqplayCreditsSpecial, k2SeqplayCreditsSpecialProvider }, - { k2SeqplayIntroTracks, k2SeqplayIntroTracksProvider }, - { k2SeqplayFinaleTracks, k2SeqplayFinaleTracksProvider }, - { k2SeqplayIntroCDA, k2SeqplayIntroCDAProvider }, - { k2SeqplayFinaleCDA, k2SeqplayFinaleCDAProvider }, - { k2SeqplayShapeAnimData, k2SeqplayShapeAnimDataProvider }, - { k2IngamePakFiles, k2IngamePakFilesProvider }, - { k2IngameSfxFiles, k2IngameSfxFilesProvider }, - { k2IngameSfxIndex, k2IngameSfxIndexProvider }, - { k2IngameTracks, k2IngameTracksProvider }, - { k2IngameCDA, k2IngameCDAProvider }, - { k2IngameTalkObjIndex, k2IngameTalkObjIndexProvider }, - { k2IngameTimJpStrings, k2IngameTimJpStringsProvider }, - { k2IngameShapeAnimData, k2IngameShapeAnimDataProvider }, - { k2IngameTlkDemoStrings, k2IngameTlkDemoStringsProvider }, - { k3MainMenuStrings, k3MainMenuStringsProvider }, - { k3MusicFiles, k3MusicFilesProvider }, - { k3ScoreTable, k3ScoreTableProvider }, - { k3SfxFiles, k3SfxFilesProvider }, - { k3SfxMap, k3SfxMapProvider }, - { k3ItemAnimData, k3ItemAnimDataProvider }, - { k3ItemMagicTable, k3ItemMagicTableProvider }, - { k3ItemStringMap, k3ItemStringMapProvider }, - - { kEoBBaseChargenStrings1, kEoBBaseChargenStrings1Provider }, - { kEoBBaseChargenStrings2, kEoBBaseChargenStrings2Provider }, - { kEoBBaseChargenStartLevels, kEoBBaseChargenStartLevelsProvider }, - { kEoBBaseChargenStatStrings, kEoBBaseChargenStatStringsProvider }, - { kEoBBaseChargenRaceSexStrings, kEoBBaseChargenRaceSexStringsProvider }, - { kEoBBaseChargenClassStrings, kEoBBaseChargenClassStringsProvider }, - { kEoBBaseChargenAlignmentStrings, kEoBBaseChargenAlignmentStringsProvider }, - { kEoBBaseChargenEnterGameStrings, kEoBBaseChargenEnterGameStringsProvider }, - { kEoBBaseChargenClassMinStats, kEoBBaseChargenClassMinStatsProvider }, - { kEoBBaseChargenRaceMinStats, kEoBBaseChargenRaceMinStatsProvider }, - { kEoBBaseChargenRaceMaxStats, kEoBBaseChargenRaceMaxStatsProvider }, - - { kEoBBaseSaveThrowTable1, kEoBBaseSaveThrowTable1Provider }, - { kEoBBaseSaveThrowTable2, kEoBBaseSaveThrowTable2Provider }, - { kEoBBaseSaveThrowTable3, kEoBBaseSaveThrowTable3Provider }, - { kEoBBaseSaveThrowTable4, kEoBBaseSaveThrowTable4Provider }, - { kEoBBaseSaveThrwLvlIndex, kEoBBaseSaveThrwLvlIndexProvider }, - { kEoBBaseSaveThrwModDiv, kEoBBaseSaveThrwModDivProvider }, - { kEoBBaseSaveThrwModExt, kEoBBaseSaveThrwModExtProvider }, - - { kEoBBasePryDoorStrings, kEoBBasePryDoorStringsProvider }, - { kEoBBaseWarningStrings, kEoBBaseWarningStringsProvider }, - - { kEoBBaseItemSuffixStringsRings, kEoBBaseItemSuffixStringsRingsProvider }, - { kEoBBaseItemSuffixStringsPotions, kEoBBaseItemSuffixStringsPotionsProvider }, - { kEoBBaseItemSuffixStringsWands, kEoBBaseItemSuffixStringsWandsProvider }, - - { kEoBBaseRipItemStrings, kEoBBaseRipItemStringsProvider }, - { kEoBBaseCursedString, kEoBBaseCursedStringProvider }, - { kEoBBaseEnchantedString, kEoBBaseEnchantedStringProvider }, - { kEoBBaseMagicObjectStrings, kEoBBaseMagicObjectStringsProvider }, - { kEoBBaseMagicObject5String, kEoBBaseMagicObject5StringProvider }, - { kEoBBasePatternSuffix, kEoBBasePatternSuffixProvider }, - { kEoBBasePatternGrFix1, kEoBBasePatternGrFix1Provider }, - { kEoBBasePatternGrFix2, kEoBBasePatternGrFix2Provider }, - { kEoBBaseValidateArmorString, kEoBBaseValidateArmorStringProvider }, - { kEoBBaseValidateCursedString, kEoBBaseValidateCursedStringProvider }, - { kEoBBaseValidateNoDropString, kEoBBaseValidateNoDropStringProvider }, - { kEoBBasePotionStrings, kEoBBasePotionStringsProvider }, - { kEoBBaseWandString, kEoBBaseWandStringProvider }, - { kEoBBaseItemMisuseStrings, kEoBBaseItemMisuseStringsProvider }, - - { kEoBBaseTakenStrings, kEoBBaseTakenStringsProvider }, - { kEoBBasePotionEffectStrings, kEoBBasePotionEffectStringsProvider }, - - { kEoBBaseYesNoStrings, kEoBBaseYesNoStringsProvider }, - { kRpgCommonMoreStrings, kRpgCommonMoreStringsProvider }, - { kEoBBaseNpcMaxStrings, kEoBBaseNpcMaxStringsProvider }, - { kEoBBaseOkStrings, kEoBBaseOkStringsProvider }, - { kEoBBaseNpcJoinStrings, kEoBBaseNpcJoinStringsProvider }, - { kEoBBaseCancelStrings, kEoBBaseCancelStringsProvider }, - { kEoBBaseAbortStrings, kEoBBaseAbortStringsProvider }, - - { kEoBBaseMenuStringsMain, kEoBBaseMenuStringsMainProvider }, - { kEoBBaseMenuStringsSaveLoad, kEoBBaseMenuStringsSaveLoadProvider }, - { kEoBBaseMenuStringsOnOff, kEoBBaseMenuStringsOnOffProvider }, - { kEoBBaseMenuStringsSpells, kEoBBaseMenuStringsSpellsProvider }, - { kEoBBaseMenuStringsRest, kEoBBaseMenuStringsRestProvider }, - { kEoBBaseMenuStringsDrop, kEoBBaseMenuStringsDropProvider }, - { kEoBBaseMenuStringsExit, kEoBBaseMenuStringsExitProvider }, - { kEoBBaseMenuStringsStarve, kEoBBaseMenuStringsStarveProvider }, - { kEoBBaseMenuStringsScribe, kEoBBaseMenuStringsScribeProvider }, - { kEoBBaseMenuStringsDrop2, kEoBBaseMenuStringsDrop2Provider }, - { kEoBBaseMenuStringsHead, kEoBBaseMenuStringsHeadProvider }, - { kEoBBaseMenuStringsPoison, kEoBBaseMenuStringsPoisonProvider }, - { kEoBBaseMenuStringsMgc, kEoBBaseMenuStringsMgcProvider }, - { kEoBBaseMenuStringsPrefs, kEoBBaseMenuStringsPrefsProvider }, - { kEoBBaseMenuStringsRest2, kEoBBaseMenuStringsRest2Provider }, - { kEoBBaseMenuStringsRest3, kEoBBaseMenuStringsRest3Provider }, - { kEoBBaseMenuStringsRest4, kEoBBaseMenuStringsRest4Provider }, - { kEoBBaseMenuStringsDefeat, kEoBBaseMenuStringsDefeatProvider }, - { kEoBBaseMenuStringsTransfer, kEoBBaseMenuStringsTransferProvider }, - { kEoBBaseMenuStringsSpec, kEoBBaseMenuStringsSpecProvider }, - { kEoBBaseMenuStringsSpellNo, kEoBBaseMenuStringsSpellNoProvider }, - { kEoBBaseMenuYesNoStrings, kEoBBaseMenuYesNoStringsProvider }, - - { kEoBBaseSpellLevelsMage, kEoBBaseSpellLevelsMageProvider }, - { kEoBBaseSpellLevelsCleric, kEoBBaseSpellLevelsClericProvider }, - { kEoBBaseNumSpellsCleric, kEoBBaseNumSpellsClericProvider }, - { kEoBBaseNumSpellsWisAdj, kEoBBaseNumSpellsWisAdjProvider }, - { kEoBBaseNumSpellsPal, kEoBBaseNumSpellsPalProvider }, - { kEoBBaseNumSpellsMage, kEoBBaseNumSpellsMageProvider }, - - { kEoBBaseCharGuiStringsHp, kEoBBaseCharGuiStringsHpProvider }, - { kEoBBaseCharGuiStringsWp1, kEoBBaseCharGuiStringsWp1Provider }, - { kEoBBaseCharGuiStringsWp2, kEoBBaseCharGuiStringsWp2Provider }, - { kEoBBaseCharGuiStringsWr, kEoBBaseCharGuiStringsWrProvider }, - { kEoBBaseCharGuiStringsSt1, kEoBBaseCharGuiStringsSt1Provider }, - { kEoBBaseCharGuiStringsSt2, kEoBBaseCharGuiStringsSt2Provider }, - { kEoBBaseCharGuiStringsIn, kEoBBaseCharGuiStringsInProvider }, - - { kEoBBaseCharStatusStrings7, kEoBBaseCharStatusStrings7Provider }, - { kEoBBaseCharStatusStrings81, kEoBBaseCharStatusStrings81Provider }, - { kEoBBaseCharStatusStrings82, kEoBBaseCharStatusStrings82Provider }, - { kEoBBaseCharStatusStrings9, kEoBBaseCharStatusStrings9Provider }, - { kEoBBaseCharStatusStrings12, kEoBBaseCharStatusStrings12Provider }, - { kEoBBaseCharStatusStrings131, kEoBBaseCharStatusStrings131Provider }, - { kEoBBaseCharStatusStrings132, kEoBBaseCharStatusStrings132Provider }, - - { kEoBBaseLevelGainStrings, kEoBBaseLevelGainStringsProvider }, - { kEoBBaseExperienceTable0, kEoBBaseExperienceTable0Provider }, - { kEoBBaseExperienceTable1, kEoBBaseExperienceTable1Provider }, - { kEoBBaseExperienceTable2, kEoBBaseExperienceTable2Provider }, - { kEoBBaseExperienceTable3, kEoBBaseExperienceTable3Provider }, - { kEoBBaseExperienceTable4, kEoBBaseExperienceTable4Provider }, - - { kEoBBaseWllFlagPreset, kEoBBaseWllFlagPresetProvider }, - { kEoBBaseDscShapeCoords, kEoBBaseDscShapeCoordsProvider }, - { kEoBBaseDscDoorScaleOffs, kEoBBaseDscDoorScaleOffsProvider }, - { kEoBBaseDscDoorScaleMult1, kEoBBaseDscDoorScaleMult1Provider }, - { kEoBBaseDscDoorScaleMult2, kEoBBaseDscDoorScaleMult2Provider }, - { kEoBBaseDscDoorScaleMult3, kEoBBaseDscDoorScaleMult3Provider }, - { kEoBBaseDscDoorScaleMult4, kEoBBaseDscDoorScaleMult4Provider }, - { kEoBBaseDscDoorScaleMult5, kEoBBaseDscDoorScaleMult5Provider }, - { kEoBBaseDscDoorScaleMult6, kEoBBaseDscDoorScaleMult6Provider }, - { kEoBBaseDscDoorType5Offs, kEoBBaseDscDoorType5OffsProvider }, - { kEoBBaseDscDoorXE, kEoBBaseDscDoorXEProvider }, - { kEoBBaseDscDoorY1, kEoBBaseDscDoorY1Provider }, - { kEoBBaseDscDoorY3, kEoBBaseDscDoorY3Provider }, - { kEoBBaseDscDoorY4, kEoBBaseDscDoorY4Provider }, - { kEoBBaseDscDoorY5, kEoBBaseDscDoorY5Provider }, - { kEoBBaseDscDoorY6, kEoBBaseDscDoorY6Provider }, - { kEoBBaseDscDoorY7, kEoBBaseDscDoorY7Provider }, - { kEoBBaseDscDoorCoordsExt, kEoBBaseDscDoorCoordsExtProvider }, - { kEoBBaseDscItemPosIndex, kEoBBaseDscItemPosIndexProvider }, - { kEoBBaseDscItemShpX, kEoBBaseDscItemShpXProvider }, - { kEoBBaseDscItemPosUnk, kEoBBaseDscItemPosUnkProvider }, - { kEoBBaseDscItemTileIndex, kEoBBaseDscItemTileIndexProvider }, - { kEoBBaseDscItemShapeMap, kEoBBaseDscItemShapeMapProvider }, - { kEoBBaseDscTelptrShpCoords, kEoBBaseDscTelptrShpCoordsProvider }, - - { kEoBBasePortalSeqData, kEoBBasePortalSeqDataProvider }, - { kEoBBaseManDef, kEoBBaseManDefProvider }, - { kEoBBaseManWord, kEoBBaseManWordProvider }, - { kEoBBaseManPrompt, kEoBBaseManPromptProvider }, - - { kEoBBaseDscMonsterFrmOffsTbl1, kEoBBaseDscMonsterFrmOffsTbl1Provider }, - { kEoBBaseDscMonsterFrmOffsTbl2, kEoBBaseDscMonsterFrmOffsTbl2Provider }, - - { kEoBBaseInvSlotX, kEoBBaseInvSlotXProvider }, - { kEoBBaseInvSlotY, kEoBBaseInvSlotYProvider }, - { kEoBBaseSlotValidationFlags, kEoBBaseSlotValidationFlagsProvider }, - - { kEoBBaseProjectileWeaponTypes, kEoBBaseProjectileWeaponTypesProvider }, - { kEoBBaseWandTypes, kEoBBaseWandTypesProvider }, - - { kEoBBaseDrawObjPosIndex, kEoBBaseDrawObjPosIndexProvider }, - { kEoBBaseFlightObjFlipIndex, kEoBBaseFlightObjFlipIndexProvider }, - { kEoBBaseFlightObjShpMap, kEoBBaseFlightObjShpMapProvider }, - { kEoBBaseFlightObjSclIndex, kEoBBaseFlightObjSclIndexProvider }, - - { kEoBBaseBookNumbers, kEoBBaseBookNumbersProvider }, - { kEoBBaseMageSpellsList, kEoBBaseMageSpellsListProvider }, - { kEoBBaseClericSpellsList, kEoBBaseClericSpellsListProvider }, - { kEoBBaseSpellNames, kEoBBaseSpellNamesProvider }, - { kEoBBaseMagicStrings1, kEoBBaseMagicStrings1Provider }, - { kEoBBaseMagicStrings2, kEoBBaseMagicStrings2Provider }, - { kEoBBaseMagicStrings3, kEoBBaseMagicStrings3Provider }, - { kEoBBaseMagicStrings4, kEoBBaseMagicStrings4Provider }, - { kEoBBaseMagicStrings6, kEoBBaseMagicStrings6Provider }, - { kEoBBaseMagicStrings7, kEoBBaseMagicStrings7Provider }, - { kEoBBaseMagicStrings8, kEoBBaseMagicStrings8Provider }, - - { kEoBBaseExpObjectTlMode, kEoBBaseExpObjectTlModeProvider }, - { kEoBBaseExpObjectTblIndex, kEoBBaseExpObjectTblIndexProvider }, - { kEoBBaseExpObjectShpStart, kEoBBaseExpObjectShpStartProvider }, - { kEoBBaseExpObjectTbl1, kEoBBaseExpObjectTbl1Provider }, - { kEoBBaseExpObjectTbl2, kEoBBaseExpObjectTbl2Provider }, - { kEoBBaseExpObjectTbl3, kEoBBaseExpObjectTbl3Provider }, - { kEoBBaseExpObjectY, kEoBBaseExpObjectYProvider }, - - { kEoBBaseSparkDefSteps, kEoBBaseSparkDefStepsProvider }, - { kEoBBaseSparkDefSubSteps, kEoBBaseSparkDefSubStepsProvider }, - { kEoBBaseSparkDefShift, kEoBBaseSparkDefShiftProvider }, - { kEoBBaseSparkDefAdd, kEoBBaseSparkDefAddProvider }, - { kEoBBaseSparkDefX, kEoBBaseSparkDefXProvider }, - { kEoBBaseSparkDefY, kEoBBaseSparkDefYProvider }, - { kEoBBaseSparkOfFlags1, kEoBBaseSparkOfFlags1Provider }, - { kEoBBaseSparkOfFlags2, kEoBBaseSparkOfFlags2Provider }, - { kEoBBaseSparkOfShift, kEoBBaseSparkOfShiftProvider }, - { kEoBBaseSparkOfX, kEoBBaseSparkOfXProvider }, - { kEoBBaseSparkOfY, kEoBBaseSparkOfYProvider }, - - { kEoBBaseSpellProperties, kEoBBaseSpellPropertiesProvider }, - { kEoBBaseMagicFlightProps, kEoBBaseMagicFlightPropsProvider }, - { kEoBBaseTurnUndeadEffect, kEoBBaseTurnUndeadEffectProvider }, - { kEoBBaseBurningHandsDest, kEoBBaseBurningHandsDestProvider }, - { kEoBBaseConeOfColdDest1, kEoBBaseConeOfColdDest1Provider }, - { kEoBBaseConeOfColdDest2, kEoBBaseConeOfColdDest2Provider }, - { kEoBBaseConeOfColdDest3, kEoBBaseConeOfColdDest3Provider }, - { kEoBBaseConeOfColdDest4, kEoBBaseConeOfColdDest4Provider }, - { kEoBBaseConeOfColdGfxTbl, kEoBBaseConeOfColdGfxTblProvider }, - - { kEoB1MainMenuStrings, kEoB1MainMenuStringsProvider }, - { kEoB1BonusStrings, kEoB1BonusStringsProvider }, - - { kEoB1IntroFilesOpening, kEoB1IntroFilesOpeningProvider }, - { kEoB1IntroFilesTower, kEoB1IntroFilesTowerProvider }, - { kEoB1IntroFilesOrb, kEoB1IntroFilesOrbProvider }, - { kEoB1IntroFilesWdEntry, kEoB1IntroFilesWdEntryProvider }, - { kEoB1IntroFilesKing, kEoB1IntroFilesKingProvider }, - { kEoB1IntroFilesHands, kEoB1IntroFilesHandsProvider }, - { kEoB1IntroFilesWdExit, kEoB1IntroFilesWdExitProvider }, - { kEoB1IntroFilesTunnel, kEoB1IntroFilesTunnelProvider }, - { kEoB1IntroOpeningFrmDelay, kEoB1IntroOpeningFrmDelayProvider }, - { kEoB1IntroWdEncodeX, kEoB1IntroWdEncodeXProvider }, - { kEoB1IntroWdEncodeY, kEoB1IntroWdEncodeYProvider }, - { kEoB1IntroWdEncodeWH, kEoB1IntroWdEncodeWHProvider }, - { kEoB1IntroWdDsX, kEoB1IntroWdDsXProvider }, - { kEoB1IntroWdDsY, kEoB1IntroWdDsYProvider }, - { kEoB1IntroTvlX1, kEoB1IntroTvlX1Provider }, - { kEoB1IntroTvlY1, kEoB1IntroTvlY1Provider }, - { kEoB1IntroTvlX2, kEoB1IntroTvlX2Provider }, - { kEoB1IntroTvlY2, kEoB1IntroTvlY2Provider }, - { kEoB1IntroTvlW, kEoB1IntroTvlWProvider }, - { kEoB1IntroTvlH, kEoB1IntroTvlHProvider }, - - { kEoB1DoorShapeDefs, kEoB1DoorShapeDefsProvider }, - { kEoB1DoorSwitchShapeDefs, kEoB1DoorSwitchShapeDefsProvider }, - { kEoB1DoorSwitchCoords, kEoB1DoorSwitchCoordsProvider }, - { kEoB1MonsterProperties, kEoB1MonsterPropertiesProvider }, - - { kEoB1EnemyMageSpellList, kEoB1EnemyMageSpellListProvider }, - { kEoB1EnemyMageSfx, kEoB1EnemyMageSfxProvider }, - { kEoB1BeholderSpellList, kEoB1BeholderSpellListProvider }, - { kEoB1BeholderSfx, kEoB1BeholderSfxProvider }, - { kEoB1TurnUndeadString, kEoB1TurnUndeadStringProvider }, - - { kEoB1CgaMappingDefault, kEoB1CgaMappingDefaultProvider }, - { kEoB1CgaMappingAlt, kEoB1CgaMappingAltProvider }, - { kEoB1CgaMappingInv, kEoB1CgaMappingInvProvider }, - { kEoB1CgaMappingItemsL, kEoB1CgaMappingItemsLProvider }, - { kEoB1CgaMappingItemsS, kEoB1CgaMappingItemsSProvider }, - { kEoB1CgaMappingThrown, kEoB1CgaMappingThrownProvider }, - { kEoB1CgaMappingIcons, kEoB1CgaMappingIconsProvider }, - { kEoB1CgaMappingDeco, kEoB1CgaMappingDecoProvider }, - { kEoB1CgaLevelMappingIndex, kEoB1CgaLevelMappingIndexProvider }, - { kEoB1CgaMappingLevel0, kEoB1CgaMappingLevel0Provider }, - { kEoB1CgaMappingLevel1, kEoB1CgaMappingLevel1Provider }, - { kEoB1CgaMappingLevel2, kEoB1CgaMappingLevel2Provider }, - { kEoB1CgaMappingLevel3, kEoB1CgaMappingLevel3Provider }, - { kEoB1CgaMappingLevel4, kEoB1CgaMappingLevel4Provider }, - - { kEoB1NpcShpData, kEoB1NpcShpDataProvider }, - { kEoB1NpcSubShpIndex1, kEoB1NpcSubShpIndex1Provider }, - { kEoB1NpcSubShpIndex2, kEoB1NpcSubShpIndex2Provider }, - { kEoB1NpcSubShpY, kEoB1NpcSubShpYProvider }, - { kEoB1Npc0Strings, kEoB1Npc0StringsProvider }, - { kEoB1Npc11Strings, kEoB1Npc11StringsProvider }, - { kEoB1Npc12Strings, kEoB1Npc12StringsProvider }, - { kEoB1Npc21Strings, kEoB1Npc21StringsProvider }, - { kEoB1Npc22Strings, kEoB1Npc22StringsProvider }, - { kEoB1Npc31Strings, kEoB1Npc31StringsProvider }, - { kEoB1Npc32Strings, kEoB1Npc32StringsProvider }, - { kEoB1Npc4Strings, kEoB1Npc4StringsProvider }, - { kEoB1Npc5Strings, kEoB1Npc5StringsProvider }, - { kEoB1Npc6Strings, kEoB1Npc6StringsProvider }, - { kEoB1Npc7Strings, kEoB1Npc7StringsProvider }, - - { kEoB2MainMenuStrings, kEoB2MainMenuStringsProvider }, - - { kEoB2TransferPortraitFrames, kEoB2TransferPortraitFramesProvider }, - { kEoB2TransferConvertTable, kEoB2TransferConvertTableProvider }, - { kEoB2TransferItemTable, kEoB2TransferItemTableProvider }, - { kEoB2TransferExpTable, kEoB2TransferExpTableProvider }, - { kEoB2TransferStrings1, kEoB2TransferStrings1Provider }, - { kEoB2TransferStrings2, kEoB2TransferStrings2Provider }, - { kEoB2TransferLabels, kEoB2TransferLabelsProvider }, - - { kEoB2IntroStrings, kEoB2IntroStringsProvider }, - { kEoB2IntroCPSFiles, kEoB2IntroCPSFilesProvider }, - { kEob2IntroAnimData00, kEob2IntroAnimData00Provider }, - { kEob2IntroAnimData01, kEob2IntroAnimData01Provider }, - { kEob2IntroAnimData02, kEob2IntroAnimData02Provider }, - { kEob2IntroAnimData03, kEob2IntroAnimData03Provider }, - { kEob2IntroAnimData04, kEob2IntroAnimData04Provider }, - { kEob2IntroAnimData05, kEob2IntroAnimData05Provider }, - { kEob2IntroAnimData06, kEob2IntroAnimData06Provider }, - { kEob2IntroAnimData07, kEob2IntroAnimData07Provider }, - { kEob2IntroAnimData08, kEob2IntroAnimData08Provider }, - { kEob2IntroAnimData09, kEob2IntroAnimData09Provider }, - { kEob2IntroAnimData10, kEob2IntroAnimData10Provider }, - { kEob2IntroAnimData11, kEob2IntroAnimData11Provider }, - { kEob2IntroAnimData12, kEob2IntroAnimData12Provider }, - { kEob2IntroAnimData13, kEob2IntroAnimData13Provider }, - { kEob2IntroAnimData14, kEob2IntroAnimData14Provider }, - { kEob2IntroAnimData15, kEob2IntroAnimData15Provider }, - { kEob2IntroAnimData16, kEob2IntroAnimData16Provider }, - { kEob2IntroAnimData17, kEob2IntroAnimData17Provider }, - { kEob2IntroAnimData18, kEob2IntroAnimData18Provider }, - { kEob2IntroAnimData19, kEob2IntroAnimData19Provider }, - { kEob2IntroAnimData20, kEob2IntroAnimData20Provider }, - { kEob2IntroAnimData21, kEob2IntroAnimData21Provider }, - { kEob2IntroAnimData22, kEob2IntroAnimData22Provider }, - { kEob2IntroAnimData23, kEob2IntroAnimData23Provider }, - { kEob2IntroAnimData24, kEob2IntroAnimData24Provider }, - { kEob2IntroAnimData25, kEob2IntroAnimData25Provider }, - { kEob2IntroAnimData26, kEob2IntroAnimData26Provider }, - { kEob2IntroAnimData27, kEob2IntroAnimData27Provider }, - { kEob2IntroAnimData28, kEob2IntroAnimData28Provider }, - { kEob2IntroAnimData29, kEob2IntroAnimData29Provider }, - { kEob2IntroAnimData30, kEob2IntroAnimData30Provider }, - { kEob2IntroAnimData31, kEob2IntroAnimData31Provider }, - { kEob2IntroAnimData32, kEob2IntroAnimData32Provider }, - { kEob2IntroAnimData33, kEob2IntroAnimData33Provider }, - { kEob2IntroAnimData34, kEob2IntroAnimData34Provider }, - { kEob2IntroAnimData35, kEob2IntroAnimData35Provider }, - { kEob2IntroAnimData36, kEob2IntroAnimData36Provider }, - { kEob2IntroAnimData37, kEob2IntroAnimData37Provider }, - { kEob2IntroAnimData38, kEob2IntroAnimData38Provider }, - { kEob2IntroAnimData39, kEob2IntroAnimData39Provider }, - { kEob2IntroAnimData40, kEob2IntroAnimData40Provider }, - { kEob2IntroAnimData41, kEob2IntroAnimData41Provider }, - { kEob2IntroAnimData42, kEob2IntroAnimData42Provider }, - { kEob2IntroAnimData43, kEob2IntroAnimData43Provider }, - { kEoB2IntroShapes00, kEoB2IntroShapes00Provider }, - { kEoB2IntroShapes01, kEoB2IntroShapes01Provider }, - { kEoB2IntroShapes04, kEoB2IntroShapes04Provider }, - { kEoB2IntroShapes07, kEoB2IntroShapes07Provider }, - - { kEoB2FinaleStrings, kEoB2FinaleStringsProvider }, - { kEoB2CreditsData, kEoB2CreditsDataProvider }, - { kEoB2FinaleCPSFiles, kEoB2FinaleCPSFilesProvider }, - { kEob2FinaleAnimData00, kEob2FinaleAnimData00Provider }, - { kEob2FinaleAnimData01, kEob2FinaleAnimData01Provider }, - { kEob2FinaleAnimData02, kEob2FinaleAnimData02Provider }, - { kEob2FinaleAnimData03, kEob2FinaleAnimData03Provider }, - { kEob2FinaleAnimData04, kEob2FinaleAnimData04Provider }, - { kEob2FinaleAnimData05, kEob2FinaleAnimData05Provider }, - { kEob2FinaleAnimData06, kEob2FinaleAnimData06Provider }, - { kEob2FinaleAnimData07, kEob2FinaleAnimData07Provider }, - { kEob2FinaleAnimData08, kEob2FinaleAnimData08Provider }, - { kEob2FinaleAnimData09, kEob2FinaleAnimData09Provider }, - { kEob2FinaleAnimData10, kEob2FinaleAnimData10Provider }, - { kEob2FinaleAnimData11, kEob2FinaleAnimData11Provider }, - { kEob2FinaleAnimData12, kEob2FinaleAnimData12Provider }, - { kEob2FinaleAnimData13, kEob2FinaleAnimData13Provider }, - { kEob2FinaleAnimData14, kEob2FinaleAnimData14Provider }, - { kEob2FinaleAnimData15, kEob2FinaleAnimData15Provider }, - { kEob2FinaleAnimData16, kEob2FinaleAnimData16Provider }, - { kEob2FinaleAnimData17, kEob2FinaleAnimData17Provider }, - { kEob2FinaleAnimData18, kEob2FinaleAnimData18Provider }, - { kEob2FinaleAnimData19, kEob2FinaleAnimData19Provider }, - { kEob2FinaleAnimData20, kEob2FinaleAnimData20Provider }, - { kEoB2FinaleShapes00, kEoB2FinaleShapes00Provider }, - { kEoB2FinaleShapes03, kEoB2FinaleShapes03Provider }, - { kEoB2FinaleShapes07, kEoB2FinaleShapes07Provider }, - { kEoB2FinaleShapes09, kEoB2FinaleShapes09Provider }, - { kEoB2FinaleShapes10, kEoB2FinaleShapes10Provider }, - - { kEoB2NpcShapeData, kEoB2NpcShapeDataProvider }, - { kEoBBaseClassModifierFlags, kEoBBaseClassModifierFlagsProvider }, - - { kEoBBaseMonsterStepTable01, kEoBBaseMonsterStepTable01Provider }, - { kEoBBaseMonsterStepTable02, kEoBBaseMonsterStepTable02Provider }, - { kEoBBaseMonsterStepTable1, kEoBBaseMonsterStepTable1Provider }, - { kEoBBaseMonsterStepTable2, kEoBBaseMonsterStepTable2Provider }, - { kEoBBaseMonsterStepTable3, kEoBBaseMonsterStepTable3Provider }, - { kEoBBaseMonsterCloseAttPosTable1, kEoBBaseMonsterCloseAttPosTable1Provider }, - { kEoBBaseMonsterCloseAttPosTable21, kEoBBaseMonsterCloseAttPosTable21Provider }, - { kEoBBaseMonsterCloseAttPosTable22, kEoBBaseMonsterCloseAttPosTable22Provider }, - { kEoBBaseMonsterCloseAttUnkTable, kEoBBaseMonsterCloseAttUnkTableProvider }, - { kEoBBaseMonsterCloseAttChkTable1, kEoBBaseMonsterCloseAttChkTable1Provider }, - { kEoBBaseMonsterCloseAttChkTable2, kEoBBaseMonsterCloseAttChkTable2Provider }, - { kEoBBaseMonsterCloseAttDstTable1, kEoBBaseMonsterCloseAttDstTable1Provider }, - { kEoBBaseMonsterCloseAttDstTable2, kEoBBaseMonsterCloseAttDstTable2Provider }, - - { kEoBBaseMonsterProximityTable, kEoBBaseMonsterProximityTableProvider }, - { kEoBBaseFindBlockMonstersTable, kEoBBaseFindBlockMonstersTableProvider }, - { kEoBBaseMonsterDirChangeTable, kEoBBaseMonsterDirChangeTableProvider }, - { kEoBBaseMonsterDistAttStrings, kEoBBaseMonsterDistAttStringsProvider }, - { kEoBBaseEncodeMonsterDefs, kEoBBaseEncodeMonsterDefsProvider }, - { kEoBBaseNpcPresets, kEoBBaseNpcPresetsProvider }, - { kEoB2Npc1Strings, kEoB2Npc1StringsProvider }, - { kEoB2Npc2Strings, kEoB2Npc2StringsProvider }, - { kEoB2MonsterDustStrings, kEoB2MonsterDustStringsProvider }, - { kEoB2DreamSteps, kEoB2DreamStepsProvider }, - { kEoB2KheldranStrings, kEoB2KheldranStringsProvider }, - { kEoB2HornStrings, kEoB2HornStringsProvider }, - { kEoB2HornSounds, kEoB2HornSoundsProvider }, - { kEoB2WallOfForceDsX, kEoB2WallOfForceDsXProvider }, - { kEoB2WallOfForceDsY, kEoB2WallOfForceDsYProvider }, - { kEoB2WallOfForceNumW, kEoB2WallOfForceNumWProvider }, - { kEoB2WallOfForceNumH, kEoB2WallOfForceNumHProvider }, - { kEoB2WallOfForceShpId, kEoB2WallOfForceShpIdProvider }, - - { kLoLIngamePakFiles, kLoLIngamePakFilesProvider }, - { kLoLCharacterDefs, kLoLCharacterDefsProvider }, - { kLoLIngameSfxFiles, kLoLIngameSfxFilesProvider }, - { kLoLIngameSfxIndex, kLoLIngameSfxIndexProvider }, - { kLoLMusicTrackMap, kLoLMusicTrackMapProvider }, - { kLoLIngameGMSfxIndex, kLoLIngameGMSfxIndexProvider }, - { kLoLIngameMT32SfxIndex, kLoLIngameMT32SfxIndexProvider }, - { kLoLIngamePcSpkSfxIndex, kLoLIngamePcSpkSfxIndexProvider }, - { kLoLSpellProperties, kLoLSpellPropertiesProvider }, - { kLoLGameShapeMap, kLoLGameShapeMapProvider }, - { kLoLSceneItemOffs, kLoLSceneItemOffsProvider }, - { kLoLCharInvIndex, kLoLCharInvIndexProvider }, - { kLoLCharInvDefs, kLoLCharInvDefsProvider }, - { kLoLCharDefsMan, kLoLCharDefsManProvider }, - { kLoLCharDefsWoman, kLoLCharDefsWomanProvider }, - { kLoLCharDefsKieran, kLoLCharDefsKieranProvider }, - { kLoLCharDefsAkshel, kLoLCharDefsAkshelProvider }, - { kLoLExpRequirements, kLoLExpRequirementsProvider }, - { kLoLMonsterModifiers1, kLoLMonsterModifiers1Provider }, - { kLoLMonsterModifiers2, kLoLMonsterModifiers2Provider }, - { kLoLMonsterModifiers3, kLoLMonsterModifiers3Provider }, - { kLoLMonsterModifiers4, kLoLMonsterModifiers4Provider }, - { kLoLMonsterShiftOffsets, kLoLMonsterShiftOffsetsProvider }, - { kLoLMonsterDirFlags, kLoLMonsterDirFlagsProvider }, - { kLoLMonsterScaleY, kLoLMonsterScaleYProvider }, - { kLoLMonsterScaleX, kLoLMonsterScaleXProvider }, - { kLoLMonsterScaleWH, kLoLMonsterScaleWHProvider }, - { kLoLFlyingObjectShp, kLoLFlyingObjectShpProvider }, - { kLoLInventoryDesc, kLoLInventoryDescProvider }, - { kLoLLevelShpList, kLoLLevelShpListProvider }, - { kLoLLevelDatList, kLoLLevelDatListProvider }, - { kLoLCompassDefs, kLoLCompassDefsProvider }, - { kLoLItemPrices, kLoLItemPricesProvider }, - { kLoLStashSetup, kLoLStashSetupProvider }, - { kLoLDscWalls, kLoLDscWallsProvider }, - { kRpgCommonDscShapeIndex, kRpgCommonDscShapeIndexProvider }, - { kLoLDscOvlMap, kLoLDscOvlMapProvider }, - { kLoLDscScaleWidthData, kLoLDscScaleWidthDataProvider }, - { kLoLDscScaleHeightData, kLoLDscScaleHeightDataProvider }, - { kRpgCommonDscX, kRpgCommonDscXProvider }, - { kLoLDscY, kLoLDscYProvider }, - { kRpgCommonDscTileIndex, kRpgCommonDscTileIndexProvider }, - { kRpgCommonDscUnk2, kRpgCommonDscUnk2Provider }, - { kRpgCommonDscDoorShapeIndex, kRpgCommonDscDoorShapeIndexProvider }, - { kRpgCommonDscDimData1, kRpgCommonDscDimData1Provider }, - { kRpgCommonDscDimData2, kRpgCommonDscDimData2Provider }, - { kRpgCommonDscBlockMap, kRpgCommonDscBlockMapProvider }, - { kRpgCommonDscDimMap, kRpgCommonDscDimMapProvider }, - { kLoLDscOvlIndex, kLoLDscOvlIndexProvider }, - { kRpgCommonDscBlockIndex, kRpgCommonDscBlockIndexProvider }, - { kRpgCommonDscDoorY2, kRpgCommonDscDoorY2Provider }, - { kRpgCommonDscDoorFrameY1, kRpgCommonDscDoorFrameY1Provider }, - { kRpgCommonDscDoorFrameY2, kRpgCommonDscDoorFrameY2Provider }, - { kRpgCommonDscDoorFrameIndex1, kRpgCommonDscDoorFrameIndex1Provider }, - { kRpgCommonDscDoorFrameIndex2, kRpgCommonDscDoorFrameIndex2Provider }, - { kLoLDscDoorScale, kLoLDscDoorScaleProvider }, - { kLoLDscDoor4, kLoLDscDoor4Provider }, - { kLoLDscDoorX, kLoLDscDoorXProvider }, - { kLoLDscDoorY, kLoLDscDoorYProvider }, - { kLoLScrollXTop, kLoLScrollXTopProvider }, - { kLoLScrollYTop, kLoLScrollYTopProvider }, - { kLoLScrollXBottom, kLoLScrollXBottomProvider }, - { kLoLScrollYBottom, kLoLScrollYBottomProvider }, - { kLoLButtonDefs, kLoLButtonDefsProvider }, - { kLoLButtonList1, kLoLButtonList1Provider }, - { kLoLButtonList2, kLoLButtonList2Provider }, - { kLoLButtonList3, kLoLButtonList3Provider }, - { kLoLButtonList4, kLoLButtonList4Provider }, - { kLoLButtonList5, kLoLButtonList5Provider }, - { kLoLButtonList6, kLoLButtonList6Provider }, - { kLoLButtonList7, kLoLButtonList7Provider }, - { kLoLButtonList8, kLoLButtonList8Provider }, - { kLoLLegendData, kLoLLegendDataProvider }, - { kLoLMapCursorOvl, kLoLMapCursorOvlProvider }, - { kLoLMapStringId, kLoLMapStringIdProvider }, - { kLoLSpellbookAnim, kLoLSpellbookAnimProvider }, - { kLoLSpellbookCoords, kLoLSpellbookCoordsProvider }, - { kLoLHealShapeFrames, kLoLHealShapeFramesProvider }, - { kLoLLightningDefs, kLoLLightningDefsProvider }, - { kLoLFireballCoords, kLoLFireballCoordsProvider }, - { kLoLCredits, kLoLCreditsProvider }, - { kLoLHistory, kLoLHistoryProvider }, - { -1, NULL } -}; - -} // end of anonymous namespace - -ExtractEntryList getProvidersForId(int id) { - ExtractEntryList list; - - for (const ExtractEntry *p = extractProviders; p->id != -1; ++p) { - if (p->id == id) { - for (const ExtractEntrySearchData *d = p->providers; d->hint.size != 0; ++d) - list.push_back(*d); - } - } - - return list; -} diff --git a/devtools/create_kyradat/types.cpp b/devtools/create_kyradat/types.cpp new file mode 100644 index 0000000000..1f8430ab7f --- /dev/null +++ b/devtools/create_kyradat/types.cpp @@ -0,0 +1,663 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// Disable symbol overrides so that we can use system headers. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + +#include "types.h" +#include "pak.h" + +#include "common/endian.h" + +static void writeStringList(PAKFile &out, const char *filename, const StringListProvider *provider); +static void writeRawData(PAKFile &out, const char *filename, const ByteProvider *provider); +static void writeRoomList(PAKFile &out, const char *filename, const RoomProvider *provider); +static void writeShapeList(PAKFile &out, const char *filename, const ShapeProvider *provider); +static void writeAmigaSfxTable(PAKFile &out, const char *filename, const AmigaSfxTableProvider *provider); +static void writeK2SeqData(PAKFile &out, const char *filename, const HoFSequenceProvider *provider); +static void writeK2SeqItemAnimData(PAKFile &out, const char *filename, const HoFSeqItemAnimDataProvider *provider); +static void writeK2ItemAnimDefinition(PAKFile &out, const char *filename, const ItemAnimDefinitionProvider *provider); +static void writeLoLCharData(PAKFile &out, const char *filename, const LoLCharacterProvider *provider); +static void writeLoLSpellData(PAKFile &out, const char *filename, const SpellPropertyProvider *provider); +static void writeLoLCompassData(PAKFile &out, const char *filename, const CompassDefProvider *provider); +static void writeLoLFlightShpData(PAKFile &out, const char *filename, const FlyingObjectShapeProvider *provider); +static void writeLoLButtonData(PAKFile &out, const char *filename, const LoLButtonDefProvider *provider); +static void writeRawDataBe16(PAKFile &out, const char *filename, const Uint16Provider *provider); +static void writeRawDataBe32(PAKFile &out, const char *filename, const Uint32Provider *provider); +static void writeEoB2SequenceData(PAKFile &out, const char *filename, const DarkMoonAnimCommandProvider *provider); +static void writeEoB2ShapeData(PAKFile &out, const char *filename, const DarkMoonShapeDefProvider *provider); +static void writeEoBNpcData(PAKFile &out, const char *filename, const EoBCharacterProvider *provider); + +void writeResource(PAKFile &out, const char *filename, ResTypes type, const void *provider) { + switch (type) { + case kStringList: + writeStringList(out, filename, (const StringListProvider *)provider); + break; + + case kRawData: + writeRawData(out, filename, (const ByteProvider *)provider); + break; + + case kRoomList: + writeRoomList(out, filename, (const RoomProvider *)provider); + break; + + case kShapeList: + writeShapeList(out, filename, (const ShapeProvider *)provider); + break; + + case kAmigaSfxTable: + writeAmigaSfxTable(out, filename, (const AmigaSfxTableProvider *)provider); + break; + + case k2SeqData: + writeK2SeqData(out, filename, (const HoFSequenceProvider *)provider); + break; + + case k2SeqItemAnimData: + writeK2SeqItemAnimData(out, filename, (const HoFSeqItemAnimDataProvider *)provider); + break; + + case k2ItemAnimDefinition: + writeK2ItemAnimDefinition(out, filename, (const ItemAnimDefinitionProvider *)provider); + break; + + case kLoLCharData: + writeLoLCharData(out, filename, (const LoLCharacterProvider *)provider); + break; + + case kLoLSpellData: + writeLoLSpellData(out, filename, (const SpellPropertyProvider *)provider); + break; + + case kLoLCompassData: + writeLoLCompassData(out, filename, (const CompassDefProvider *)provider); + break; + + case kLoLFlightShpData: + writeLoLFlightShpData(out, filename, (const FlyingObjectShapeProvider *)provider); + break; + + case kLoLButtonData: + writeLoLButtonData(out, filename, (const LoLButtonDefProvider *)provider); + break; + + case kRawDataBe16: + writeRawDataBe16(out, filename, (const Uint16Provider *)provider); + break; + + case kRawDataBe32: + writeRawDataBe32(out, filename, (const Uint32Provider *)provider); + break; + + case kEoB2SequenceData: + writeEoB2SequenceData(out, filename, (const DarkMoonAnimCommandProvider *)provider); + break; + + case kEoB2ShapeData: + writeEoB2ShapeData(out, filename, (const DarkMoonShapeDefProvider *)provider); + break; + + case kEoBNpcData: + writeEoBNpcData(out, filename, (const EoBCharacterProvider *)provider); + break; + } +} + +static void writeStringList(PAKFile &out, const char *filename, const StringListProvider *provider) { + // Step 1: Calculate size + size_t size = 4; + for (uint i = 0; i < provider->numEntries; ++i) { + size += strlen(provider->data[i]) + 1; + } + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + WRITE_BE_UINT32(dst, provider->numEntries); dst += 4; + for (uint i = 0; i < provider->numEntries; ++i) { + size_t num = strlen(provider->data[i]) + 1; + memcpy(dst, provider->data[i], num); dst += num; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeRawData(PAKFile &out, const char *filename, const ByteProvider *provider) { + // Step 1: Calculate size + size_t size = provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + memcpy(output, provider->data, size); + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeRoomList(PAKFile &out, const char *filename, const RoomProvider *provider) { + // Step 1: Calculate size + size_t size = 4 + 9 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + WRITE_BE_UINT32(dst, provider->numEntries); dst += 4; + for (uint i = 0; i < provider->numEntries; ++i) { + const Room &room = provider->data[i]; + + *dst = room.index; dst += 1; + WRITE_BE_UINT16(dst, room.north); dst += 2; + WRITE_BE_UINT16(dst, room.east); dst += 2; + WRITE_BE_UINT16(dst, room.south); dst += 2; + WRITE_BE_UINT16(dst, room.west); dst += 2; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeShapeList(PAKFile &out, const char *filename, const ShapeProvider *provider) { + // Step 1: Calculate size + size_t size = 4 + 7 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + WRITE_BE_UINT32(dst, provider->numEntries); dst += 4; + for (uint i = 0; i < provider->numEntries; ++i) { + const Shape &shape = provider->data[i]; + + *dst = shape.imageIndex; dst += 1; + *dst = shape.x; dst += 1; + *dst = shape.y; dst += 1; + *dst = shape.w; dst += 1; + *dst = shape.h; dst += 1; + *dst = shape.xOffset; dst += 1; + *dst = shape.yOffset; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeAmigaSfxTable(PAKFile &out, const char *filename, const AmigaSfxTableProvider *provider) { + // Step 1: Calculate size + size_t size = 4 + 6 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + WRITE_BE_UINT32(dst, provider->numEntries); dst += 4; + for (uint i = 0; i < provider->numEntries; ++i) { + const AmigaSfxTable &entry = provider->data[i]; + + *dst = entry.note; dst += 1; + *dst = entry.patch; dst += 1; + WRITE_BE_UINT16(dst, entry.duration); dst += 2; + *dst = entry.volume; dst += 1; + *dst = entry.pan; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeK2SeqData(PAKFile &out, const char *filename, const HoFSequenceProvider *provider) { + // Step 1: Calculate size + size_t size = 4 + (2 + 48) * provider->numSequences + (2 + 32) * provider->numNestedSequences; + + const size_t startSequenceOffset = 4 + 2 * provider->numSequences + 2 * provider->numNestedSequences; + const size_t startNestedSequences = startSequenceOffset + 48 * provider->numSequences; + const size_t startControlOffset = size; + + for (uint i = 0; i < provider->numNestedSequences; ++i) { + if (provider->nestedSequences[i].numControls) { + size += 1 + 4 * provider->nestedSequences[i].numControls; + } + } + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *offsetTable = output; + byte *sequenceDst = output + startSequenceOffset; + byte *nestedDst = output + startNestedSequences; + byte *controlDst = output + startControlOffset; + + // First write all sequences + WRITE_BE_UINT16(offsetTable, provider->numSequences); offsetTable += 2; + for (uint i = 0; i < provider->numSequences; ++i) { + const HoFSequence &entry = provider->sequences[i]; + + // Write location to the offset table + WRITE_BE_UINT16(offsetTable, sequenceDst - output); offsetTable += 2; + + // Write actual sequence data + WRITE_BE_UINT16(sequenceDst, entry.flags); sequenceDst += 2; + memcpy(sequenceDst, entry.wsaFile, 14); sequenceDst += 14; + memcpy(sequenceDst, entry.cpsFile, 14); sequenceDst += 14; + *sequenceDst = entry.fadeInTransitionType; sequenceDst += 1; + *sequenceDst = entry.fadeOutTransitionType; sequenceDst += 1; + WRITE_BE_UINT16(sequenceDst, entry.stringIndex1); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.stringIndex2); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.startFrame); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.numFrames); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.duration); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.xPos); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.yPos); sequenceDst += 2; + WRITE_BE_UINT16(sequenceDst, entry.timeout); sequenceDst += 2; + } + + assert(sequenceDst == nestedDst); + + // Then write all nested sequences + WRITE_BE_UINT16(offsetTable, provider->numNestedSequences); offsetTable += 2; + for (uint i = 0; i < provider->numNestedSequences; ++i) { + const HoFNestedSequence &entry = provider->nestedSequences[i]; + + // Write location to the offset table + WRITE_BE_UINT16(offsetTable, nestedDst - output); offsetTable += 2; + + // Write the nested sequence data + WRITE_BE_UINT16(nestedDst, entry.flags); nestedDst += 2; + memcpy(nestedDst, entry.wsaFile, 14); nestedDst += 14; + WRITE_BE_UINT16(nestedDst, entry.startFrame); nestedDst += 2; + WRITE_BE_UINT16(nestedDst, entry.endFrame); nestedDst += 2; + WRITE_BE_UINT16(nestedDst, entry.frameDelay); nestedDst += 2; + WRITE_BE_UINT16(nestedDst, entry.x); nestedDst += 2; + WRITE_BE_UINT16(nestedDst, entry.y); nestedDst += 2; + + if (entry.numControls) { + WRITE_BE_UINT16(nestedDst, controlDst - output); nestedDst += 2; + + *controlDst = entry.numControls; controlDst += 1; + for (uint j = 0; j < entry.numControls; ++j) { + WRITE_BE_UINT16(controlDst, entry.wsaControl[j].index); controlDst += 2; + WRITE_BE_UINT16(controlDst, entry.wsaControl[j].delay); controlDst += 2; + } + } else { + WRITE_BE_UINT16(nestedDst, 0); nestedDst += 2; + } + + WRITE_BE_UINT16(nestedDst, entry.fadeInTransitionType); nestedDst += 2; + WRITE_BE_UINT16(nestedDst, entry.fadeOutTransitionType); nestedDst += 2; + } + + assert(offsetTable == output + startSequenceOffset); + assert(nestedDst == output + startControlOffset); + assert(controlDst == output + size); + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeK2SeqItemAnimData(PAKFile &out, const char *filename, const HoFSeqItemAnimDataProvider *provider) { + // Step 1: Calculate size + size_t size = 1 + 44 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + *dst = provider->numEntries; dst += 1; + for (uint i = 0; i < provider->numEntries; ++i) { + const HoFSeqItemAnimData &entry = provider->data[i]; + + WRITE_BE_UINT16(dst, entry.itemIndex); dst += 2; + WRITE_BE_UINT16(dst, entry.y); dst += 2; + + for (uint j = 0; j < 20; ++j) { + WRITE_BE_UINT16(dst, entry.frames[j]); dst += 2; + } + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeK2ItemAnimDefinition(PAKFile &out, const char *filename, const ItemAnimDefinitionProvider *provider) { + // Step 1: Calculate size + size_t size = 1 + 3 * provider->numEntries; + + for (uint i = 0; i < provider->numEntries; ++i) { + size += provider->data[i].numFrames * 4; + } + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + *dst = provider->numEntries; dst += 1; + for (uint i = 0; i < provider->numEntries; ++i) { + const ItemAnimDefinition &entry = provider->data[i]; + + WRITE_BE_UINT16(dst, entry.itemIndex); dst += 2; + *dst = entry.numFrames; dst += 1; + + for (uint j = 0; j < entry.numFrames; ++j) { + WRITE_BE_UINT16(dst, entry.frames[j].index); dst += 2; + WRITE_BE_UINT16(dst, entry.frames[j].delay); dst += 2; + } + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeLoLCharData(PAKFile &out, const char *filename, const LoLCharacterProvider *provider) { + // Step 1: Calculate size + size_t size = 130 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const LoLCharacter &entry = provider->data[i]; + + WRITE_LE_UINT16(dst, entry.flags); dst += 2; + memcpy(dst, entry.name, 11); dst += 11; + *dst = entry.raceClassSex; dst += 1; + WRITE_LE_UINT16(dst, entry.id); dst += 2; + *dst = entry.curFaceFrame; dst += 1; + *dst = entry.tempFaceFrame; dst += 1; + *dst = entry.screamSfx; dst += 1; + WRITE_BE_UINT32(dst, 0xDEADBEEF); dst += 4; + for (uint j = 0; j < 8; ++j) { + WRITE_LE_UINT16(dst, entry.itemsMight[j]); dst += 2; + } + for (uint j = 0; j < 8; ++j) { + WRITE_LE_UINT16(dst, entry.protectionAgainstItems[j]); dst += 2; + } + WRITE_LE_UINT16(dst, entry.itemProtection); dst += 2; + WRITE_LE_UINT16(dst, entry.hitPointsCur); dst += 2; + WRITE_LE_UINT16(dst, entry.hitPointsMax); dst += 2; + WRITE_LE_UINT16(dst, entry.magicPointsCur); dst += 2; + WRITE_LE_UINT16(dst, entry.magicPointsMax); dst += 2; + *dst = entry.field_41; dst += 1; + WRITE_LE_UINT16(dst, entry.damageSuffered); dst += 2; + WRITE_LE_UINT16(dst, entry.weaponHit); dst += 2; + WRITE_LE_UINT16(dst, entry.totalMightModifier); dst += 2; + WRITE_LE_UINT16(dst, entry.totalProtectionModifier); dst += 2; + WRITE_LE_UINT16(dst, entry.might); dst += 2; + WRITE_LE_UINT16(dst, entry.protection); dst += 2; + WRITE_LE_UINT16(dst, entry.nextAnimUpdateCountdown); dst += 2; + for (uint j = 0; j < 11; ++j) { + WRITE_LE_UINT16(dst, entry.items[j]); dst += 2; + } + for (uint j = 0; j < 3; ++j) { + *dst = entry.skillLevels[j]; dst += 1; + } + for (uint j = 0; j < 3; ++j) { + *dst = entry.skillModifiers[j]; dst += 1; + } + for (uint j = 0; j < 3; ++j) { + WRITE_LE_UINT32(dst, entry.experiencePts[j]); dst += 4; + } + for (uint j = 0; j < 5; ++j) { + *dst = entry.characterUpdateEvents[j]; dst += 1; + } + for (uint j = 0; j < 5; ++j) { + *dst = entry.characterUpdateDelay[j]; dst += 1; + } + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeLoLSpellData(PAKFile &out, const char *filename, const SpellPropertyProvider *provider) { + // Step 1: Calculate size + size_t size = 28 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const SpellProperty &entry = provider->data[i]; + + WRITE_LE_UINT16(dst, entry.spellNameCode); dst += 2; + for (uint j = 0; j < 4; ++j) { + WRITE_LE_UINT16(dst, entry.mpRequired[j]); dst += 2; + } + WRITE_LE_UINT16(dst, entry.field_a); dst += 2; + WRITE_LE_UINT16(dst, entry.field_c); dst += 2; + for (uint j = 0; j < 4; ++j) { + WRITE_LE_UINT16(dst, entry.hpRequired[j]); dst += 2; + } + WRITE_LE_UINT16(dst, entry.field_16); dst += 2; + WRITE_LE_UINT16(dst, entry.field_18); dst += 2; + WRITE_LE_UINT16(dst, entry.flags); dst += 2; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeLoLCompassData(PAKFile &out, const char *filename, const CompassDefProvider *provider) { + // Step 1: Calculate size + size_t size = 4 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const CompassDef &entry = provider->data[i]; + + *dst = entry.shapeIndex; dst += 1; + *dst = entry.x; dst += 1; + *dst = entry.y; dst += 1; + *dst = entry.flags; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeLoLFlightShpData(PAKFile &out, const char *filename, const FlyingObjectShapeProvider *provider) { + // Step 1: Calculate size + size_t size = 5 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const FlyingObjectShape &entry = provider->data[i]; + + *dst = entry.shapeFront; dst += 1; + *dst = entry.shapeBack; dst += 1; + *dst = entry.shapeLeft; dst += 1; + *dst = entry.drawFlags; dst += 1; + *dst = entry.flipFlags; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeLoLButtonData(PAKFile &out, const char *filename, const LoLButtonDefProvider *provider) { + // Step 1: Calculate size + size_t size = 18 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const LoLButtonDef &entry = provider->data[i]; + + WRITE_BE_UINT16(dst, entry.buttonFlags); dst += 2; + WRITE_BE_UINT16(dst, entry.keyCode); dst += 2; + WRITE_BE_UINT16(dst, entry.keyCode2); dst += 2; + WRITE_BE_UINT16(dst, entry.x); dst += 2; + WRITE_BE_UINT16(dst, entry.y); dst += 2; + WRITE_BE_UINT16(dst, entry.w); dst += 2; + WRITE_BE_UINT16(dst, entry.h); dst += 2; + WRITE_BE_UINT16(dst, entry.index); dst += 2; + WRITE_BE_UINT16(dst, entry.screenDim); dst += 2; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeRawDataBe16(PAKFile &out, const char *filename, const Uint16Provider *provider) { + // Step 1: Calculate size + size_t size = 2 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + WRITE_BE_UINT16(dst, provider->data[i]); dst += 2; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeRawDataBe32(PAKFile &out, const char *filename, const Uint32Provider *provider) { + // Step 1: Calculate size + size_t size = 4 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + WRITE_BE_UINT32(dst, provider->data[i]); dst += 4; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeEoB2SequenceData(PAKFile &out, const char *filename, const DarkMoonAnimCommandProvider *provider) { + // Step 1: Calculate size + size_t size = 11 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const DarkMoonAnimCommand &entry = provider->data[i]; + + *dst = entry.command; dst += 1; + *dst = entry.obj; dst += 1; + WRITE_BE_UINT16(dst, entry.x1); dst += 2; + *dst = entry.y1; dst += 1; + *dst = entry.delay; dst += 1; + *dst = entry.pal; dst += 1; + *dst = entry.x2; dst += 1; + *dst = entry.y2; dst += 1; + *dst = entry.w; dst += 1; + *dst = entry.h; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeEoB2ShapeData(PAKFile &out, const char *filename, const DarkMoonShapeDefProvider *provider) { + // Step 1: Calculate size + size_t size = 6 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + for (uint i = 0; i < provider->numEntries; ++i) { + const DarkMoonShapeDef &entry = provider->data[i]; + + WRITE_BE_UINT16(dst, entry.index); dst += 2; + *dst = entry.x; dst += 1; + *dst = entry.y; dst += 1; + *dst = entry.w; dst += 1; + *dst = entry.h; dst += 1; + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} + +static void writeEoBNpcData(PAKFile &out, const char *filename, const EoBCharacterProvider *provider) { + // Step 1: Calculate size + size_t size = 2 + 111 * provider->numEntries; + + // Step 2: Write data + byte *const output = new byte[size]; + + byte *dst = output; + WRITE_BE_UINT16(dst, provider->numEntries); dst += 2; + for (uint i = 0; i < provider->numEntries; ++i) { + const EoBCharacter &entry = provider->data[i]; + + *dst = entry.id; dst += 1; + *dst = entry.flags; dst += 1; + memcpy(dst, entry.name, 11); dst += 11; + *dst = entry.strengthCur; dst += 1; + *dst = entry.strengthMax; dst += 1; + *dst = entry.strengthExtCur; dst += 1; + *dst = entry.strengthExtMax; dst += 1; + *dst = entry.intelligenceCur; dst += 1; + *dst = entry.intelligenceMax; dst += 1; + *dst = entry.wisdomCur; dst += 1; + *dst = entry.wisdomMax; dst += 1; + *dst = entry.dexterityCur; dst += 1; + *dst = entry.dexterityMax; dst += 1; + *dst = entry.constitutionCur; dst += 1; + *dst = entry.constitutionMax; dst += 1; + *dst = entry.charismaCur; dst += 1; + *dst = entry.charismaMax; dst += 1; + WRITE_BE_UINT16(dst, entry.hitPointsCur); dst += 2; + WRITE_BE_UINT16(dst, entry.hitPointsMax); dst += 2; + *dst = entry.armorClass; dst += 1; + *dst = entry.disabledSlots; dst += 1; + *dst = entry.raceSex; dst += 1; + *dst = entry.cClass; dst += 1; + *dst = entry.alignment; dst += 1; + *dst = entry.portrait; dst += 1; + *dst = entry.food; dst += 1; + memcpy(dst, entry.level, 3); dst += 3; + WRITE_BE_UINT32(dst, entry.experience[0]); dst += 4; + WRITE_BE_UINT32(dst, entry.experience[1]); dst += 4; + WRITE_BE_UINT32(dst, entry.experience[2]); dst += 4; + WRITE_BE_UINT32(dst, entry.mageSpellsAvailableFlags); dst += 4; + for (uint j = 0; j < 27; ++j) { + WRITE_BE_UINT16(dst, entry.inventory[j]); dst += 2; + } + } + + // Step 3: Add data to output + out.addFile(filename, output, size); +} diff --git a/devtools/create_kyradat/types.h b/devtools/create_kyradat/types.h new file mode 100644 index 0000000000..bb97948a25 --- /dev/null +++ b/devtools/create_kyradat/types.h @@ -0,0 +1,238 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef CREATE_KYRADAT_TYPES_H +#define CREATE_KYRADAT_TYPES_H + +#include "create_kyradat.h" + +struct Room { + byte index; + uint16 north, east, south, west; +}; + +struct Shape { + byte imageIndex; + byte x, y, w, h; + int8 xOffset, yOffset; +}; + +struct AmigaSfxTable { + byte note; + byte patch; + uint16 duration; + byte volume; + byte pan; +}; + +struct HoFSequence { + uint16 flags; + char wsaFile[14]; + char cpsFile[14]; + byte fadeInTransitionType; + byte fadeOutTransitionType; + uint16 stringIndex1; + uint16 stringIndex2; + uint16 startFrame; + uint16 numFrames; + uint16 duration; + uint16 xPos; + uint16 yPos; + uint16 timeout; +}; + +struct FrameControl { + uint16 index; + uint16 delay; +}; + +struct HoFNestedSequence { + uint16 flags; + char wsaFile[14]; + uint16 startFrame; + uint16 endFrame; + uint16 frameDelay; + uint16 x; + uint16 y; + uint16 numControls; + const FrameControl *wsaControl; + uint16 fadeInTransitionType; + uint16 fadeOutTransitionType; +}; + +struct HoFSeqItemAnimData { + int16 itemIndex; + uint16 y; + uint16 frames[20]; +}; + +struct ItemAnimDefinition { + int16 itemIndex; + byte numFrames; + const FrameControl *frames; +}; + +struct LoLCharacter { + uint16 flags; + char name[11]; + byte raceClassSex; + int16 id; + byte curFaceFrame; + byte tempFaceFrame; + byte screamSfx; + /*uint32 unused;*/ + uint16 itemsMight[8]; + uint16 protectionAgainstItems[8]; + uint16 itemProtection; + int16 hitPointsCur; + uint16 hitPointsMax; + int16 magicPointsCur; + uint16 magicPointsMax; + byte field_41; + uint16 damageSuffered; + uint16 weaponHit; + uint16 totalMightModifier; + uint16 totalProtectionModifier; + uint16 might; + uint16 protection; + int16 nextAnimUpdateCountdown; + uint16 items[11]; + byte skillLevels[3]; + byte skillModifiers[3]; + uint32 experiencePts[3]; + byte characterUpdateEvents[5]; + byte characterUpdateDelay[5]; +}; + +struct SpellProperty { + uint16 spellNameCode; + uint16 mpRequired[4]; + uint16 field_a; + uint16 field_c; + uint16 hpRequired[4]; + uint16 field_16; + uint16 field_18; + uint16 flags; +}; + +struct CompassDef { + byte shapeIndex; + int8 x, y; + byte flags; +}; + +struct FlyingObjectShape { + byte shapeFront; + byte shapeBack; + byte shapeLeft; + byte drawFlags; + byte flipFlags; +}; + +struct LoLButtonDef { + uint16 buttonFlags; + uint16 keyCode; + uint16 keyCode2; + int16 x, y; + uint16 w, h; + uint16 index; + uint16 screenDim; +}; + +struct DarkMoonAnimCommand { + byte command; + byte obj; + int16 x1; + byte y1; + byte delay; + byte pal; + byte x2, y2; + byte w, h; +}; + +struct DarkMoonShapeDef { + int16 index; + byte x, y, w, h; +}; + +struct EoBCharacter { + byte id; + byte flags; + char name[11]; + int8 strengthCur, strengthMax; + int8 strengthExtCur, strengthExtMax; + int8 intelligenceCur, intelligenceMax; + int8 wisdomCur, wisdomMax; + int8 dexterityCur, dexterityMax; + int8 constitutionCur, constitutionMax; + int8 charismaCur, charismaMax; + int16 hitPointsCur, hitPointsMax; + int8 armorClass; + byte disabledSlots; + byte raceSex; + byte cClass; + byte alignment; + int8 portrait; + byte food; + byte level[3]; + uint32 experience[3]; + uint32 mageSpellsAvailableFlags; + uint16 inventory[27]; +}; + +template<typename Type> +struct ArrayProvider { + uint numEntries; + const Type *data; +}; + +typedef ArrayProvider<const char *> StringListProvider; +typedef ArrayProvider<byte> ByteProvider; +typedef ArrayProvider<Room> RoomProvider; +typedef ArrayProvider<Shape> ShapeProvider; +typedef ArrayProvider<AmigaSfxTable> AmigaSfxTableProvider; + +struct HoFSequenceProvider { + uint numSequences; + const HoFSequence *sequences; + + uint numNestedSequences; + const HoFNestedSequence *nestedSequences; +}; + +typedef ArrayProvider<HoFSeqItemAnimData> HoFSeqItemAnimDataProvider; +typedef ArrayProvider<ItemAnimDefinition> ItemAnimDefinitionProvider; +typedef ArrayProvider<LoLCharacter> LoLCharacterProvider; +typedef ArrayProvider<SpellProperty> SpellPropertyProvider; +typedef ArrayProvider<CompassDef> CompassDefProvider; +typedef ArrayProvider<FlyingObjectShape> FlyingObjectShapeProvider; +typedef ArrayProvider<LoLButtonDef> LoLButtonDefProvider; +typedef ArrayProvider<uint16> Uint16Provider; +typedef ArrayProvider<uint32> Uint32Provider; +typedef ArrayProvider<DarkMoonAnimCommand> DarkMoonAnimCommandProvider; +typedef ArrayProvider<DarkMoonShapeDef> DarkMoonShapeDefProvider; +typedef ArrayProvider<EoBCharacter> EoBCharacterProvider; + +class PAKFile; +void writeResource(PAKFile &out, const char *filename, ResTypes type, const void *provider); + +#endif diff --git a/devtools/create_kyradat/util.cpp b/devtools/create_kyradat/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_kyradat/util.cpp +++ b/devtools/create_kyradat/util.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_kyradat/util.h b/devtools/create_kyradat/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_kyradat/util.h +++ b/devtools/create_kyradat/util.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_lure/create_lure_dat.cpp b/devtools/create_lure/create_lure_dat.cpp index c53a6bf81d..0ac07c460d 100644 --- a/devtools/create_lure/create_lure_dat.cpp +++ b/devtools/create_lure/create_lure_dat.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -1348,7 +1348,7 @@ const char *germanTextStrings[NUM_TEXT_ENTRIES] = { "Abbrechen", "Schneller Text\x8b", "Langsamer Text\x8b", "Sound an", "Sound aus", "(nichts)", " nach ", " an ", " f\x8cr ", "und dann", "Schlu\x92", "Sicher (j/n)?", - "Du tr\x8dgst", "niets", "und du hast ", "silberm\x8cnzen", "silberm\x8cnzen" + "Du tr\x8dgst ", "nichts.", "und du hast ", "silberm\x8cnzen", "silberm\x8cnzen", "keinen ", "keine ", "kein ", "der ", "die ", "das ", "den ", "einen ", "eine ", "ein " }; @@ -1359,7 +1359,7 @@ const char *spanishTextStrings[NUM_TEXT_ENTRIES] = { "Cr\x7f" "ditos", "Reiniciar", "Salvar juego", "Recuperar jue", "Abandonar", "Texto r\x98pido\x8b", "Texto lento \x8b", "Sonido activado ", "Sonido desactivado ", "(nada)", " con ", " a ", " con ", "y luego", "eso es todo", "\x94" "Est\x98s seguro? (S/N)", - "Llevas ", "nada", "y tienes ", "moneda", "monedas" + "Llevas ", "nada", "y tienes ", "moneda", "monedas", "el ", "la ", "los ", "las ", "este ", "esta ", "estos ", "estas ", NULL, NULL }; diff --git a/devtools/create_lure/create_lure_dat.h b/devtools/create_lure/create_lure_dat.h index ad49878d43..ed713dd4f3 100644 --- a/devtools/create_lure/create_lure_dat.h +++ b/devtools/create_lure/create_lure_dat.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_lure/process_actions.cpp b/devtools/create_lure/process_actions.cpp index d1ddbf03f2..20d8e50aa5 100644 --- a/devtools/create_lure/process_actions.cpp +++ b/devtools/create_lure/process_actions.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp index 0065407daa..f6b2884005 100644 --- a/devtools/create_mortdat/create_mortdat.cpp +++ b/devtools/create_mortdat/create_mortdat.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -210,7 +210,7 @@ void writeMenuData(const char *menuData, int languageId) { outputFile.writeByte(languageId); // Write each 8-characters block as a byte (one bit per character) // ' ' -> 0, anything else -> 1 - byte value; + byte value = 0; int valueCpt = 0; const char* str = menuData; while (*str != 0) { diff --git a/devtools/create_mortdat/create_mortdat.h b/devtools/create_mortdat/create_mortdat.h index e5007ae653..a4ce3999f4 100644 --- a/devtools/create_mortdat/create_mortdat.h +++ b/devtools/create_mortdat/create_mortdat.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_mortdat/enginetext.h b/devtools/create_mortdat/enginetext.h index e1c40f898b..a257ddd5a2 100644 --- a/devtools/create_mortdat/enginetext.h +++ b/devtools/create_mortdat/enginetext.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_mortdat/gametext.h b/devtools/create_mortdat/gametext.h index 4f7b1f9776..7a83448bad 100644 --- a/devtools/create_mortdat/gametext.h +++ b/devtools/create_mortdat/gametext.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_mortdat/menudata.h b/devtools/create_mortdat/menudata.h index ec8724135c..2290666ffe 100644 --- a/devtools/create_mortdat/menudata.h +++ b/devtools/create_mortdat/menudata.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_neverhood/create_neverhood.cpp b/devtools/create_neverhood/create_neverhood.cpp index a37ff99ca9..fb2912f722 100644 --- a/devtools/create_neverhood/create_neverhood.cpp +++ b/devtools/create_neverhood/create_neverhood.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -467,7 +467,15 @@ public: std::vector<LISTCLASS*> lists; void add(LISTCLASS *list) { - lists.push_back(list); + bool doAppend = true; + for (typename std::vector<LISTCLASS*>::iterator it = lists.begin(); it != lists.end(); it++) { + if ((*it)->id == list->id) { + doAppend = false; + break; + } + } + if (doAppend) + lists.push_back(list); } void loadListVector(const uint32 *offsets) { @@ -475,7 +483,6 @@ public: LISTCLASS *list = new LISTCLASS(); list->loadList(offsets[i], offsets[i + 1]); bool doAppend = true; - // Bad for (typename std::vector<LISTCLASS*>::iterator it = lists.begin(); it != lists.end(); it++) { if ((*it)->id == list->id) { doAppend = false; diff --git a/devtools/create_neverhood/create_neverhood.h b/devtools/create_neverhood/create_neverhood.h index 6382c87375..205936601d 100644 --- a/devtools/create_neverhood/create_neverhood.h +++ b/devtools/create_neverhood/create_neverhood.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_neverhood/md5.cpp b/devtools/create_neverhood/md5.cpp index 50f7406a47..0477002654 100644 --- a/devtools/create_neverhood/md5.cpp +++ b/devtools/create_neverhood/md5.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_neverhood/md5.h b/devtools/create_neverhood/md5.h index 81bc03ff83..bf81d5ae1b 100644 --- a/devtools/create_neverhood/md5.h +++ b/devtools/create_neverhood/md5.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_neverhood/tables.h b/devtools/create_neverhood/tables.h index eb136491db..edcecc5d8d 100644 --- a/devtools/create_neverhood/tables.h +++ b/devtools/create_neverhood/tables.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -45,7 +45,6 @@ static const uint32 rectListOffsets[] = { // Scene1002 3, 0x004B43A0, 1, 0x004B4418, - 3, 0x004B43A0, // Scene1004 1, 0x004B7C70, // Scene1109 diff --git a/devtools/create_neverhood/util.cpp b/devtools/create_neverhood/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_neverhood/util.cpp +++ b/devtools/create_neverhood/util.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_neverhood/util.h b/devtools/create_neverhood/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_neverhood/util.h +++ b/devtools/create_neverhood/util.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_project/codeblocks.cpp b/devtools/create_project/codeblocks.cpp index ec003df2d5..442a2b0025 100644 --- a/devtools/create_project/codeblocks.cpp +++ b/devtools/create_project/codeblocks.cpp @@ -120,6 +120,7 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s "\t\t\t\t\t<Add directory=\"..\\..\\engines\" />\n" "\t\t\t\t\t<Add directory=\"..\\..\\common\" />\n" "\t\t\t\t\t<Add directory=\"..\\..\" />\n" + "\t\t\t\t\t<Add directory=\".\\\" />\n" "\t\t\t\t</Compiler>\n"; ////////////////////////////////////////////////////////////////////////// diff --git a/devtools/create_project/config.h b/devtools/create_project/config.h index 1a66edff93..63bf3dee26 100644 --- a/devtools/create_project/config.h +++ b/devtools/create_project/config.h @@ -27,11 +27,12 @@ #define PROJECT_NAME "scummvm" // Used for folders, icons, resources and project/solution name #define LIBS_DEFINE "SCUMMVM_LIBS" // Name of the include environment variable #define REVISION_DEFINE "SCUMMVM_INTERNAL_REVISION" +#define FIRST_ENGINE "scumm" // Name of the engine which should be sorted as first element #define ENABLE_LANGUAGE_EXTENSIONS "" // Comma separated list of projects that need language extensions #define DISABLE_EDIT_AND_CONTINUE "tinsel,tony,scummvm" // Comma separated list of projects that need Edit&Continue to be disabled for co-routine support (the main project is automatically added) //#define ADDITIONAL_LIBRARY "" // Add a single library to the list of externally linked libraries -#define NEEDS_RTTI 0 // Enable RTTI globally +#define NEEDS_RTTI 1 // Enable RTTI globally #endif // TOOLS_CREATE_PROJECT_CONFIG_H diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index e013377241..876c116b5c 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -43,6 +43,7 @@ #include <stack> #include <algorithm> #include <iomanip> +#include <iterator> #include <cstring> #include <cstdlib> @@ -59,6 +60,7 @@ #include <sys/param.h> #include <sys/stat.h> #include <dirent.h> +#include <errno.h> #endif namespace { @@ -81,22 +83,6 @@ std::string unifyPath(const std::string &path); * @param exe Name of the executable. */ void displayHelp(const char *exe); - -/** - * Structure for describing an FSNode. This is a very minimalistic - * description, which includes everything we need. - * It only contains the name of the node and whether it is a directory - * or not. - */ -struct FSNode { - FSNode() : name(), isDirectory(false) {} - FSNode(const std::string &n, bool iD) : name(n), isDirectory(iD) {} - - std::string name; ///< Name of the file system node - bool isDirectory; ///< Whether it is a directory or not -}; - -typedef std::list<FSNode> FileList; } // End of anonymous namespace enum ProjectType { @@ -128,7 +114,7 @@ int main(int argc, char *argv[]) { setup.filePrefix = setup.srcDir; setup.outputDir = '.'; - setup.engines = parseConfigure(setup.srcDir); + setup.engines = parseEngines(setup.srcDir); if (setup.engines.empty()) { std::cout << "WARNING: No engines found in configure file or configure file missing in \"" << setup.srcDir << "\"\n"; @@ -672,47 +658,70 @@ void displayHelp(const char *exe) { } /** - * Try to parse a given line and create an engine definition - * out of the result. + * Parse the configure.engine file of a given engine directory and return a + * list of all defined engines. * - * This may take *any* input line, when the line is not used - * to define an engine the result of the function will be "false". + * @param engineDir The directory of the engine. + * @return The list of all defined engines. + */ +EngineDescList parseEngineConfigure(const std::string &engineDir); + +/** + * Compares two FSNode entries in a strict-weak fashion based on the name. * - * Note that the contents of "engine" are undefined, when this - * function returns "false". + * @param left The first operand. + * @param right The second operand. + * @return "true" when the name of the left operand is strictly smaller than + * the name of the second operand. "false" otherwise. + */ +bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right); + +#ifdef FIRST_ENGINE +/** + * Compares two FSNode entries in a strict-weak fashion based on engine name + * order. * - * @param line Text input line. - * @param engine Reference to an object, where the engine information - * is to be stored in. - * @return "true", when parsing succeeded, "false" otherwise. + * @param left The first operand. + * @param right The second operand. + * @return "true" when the name of the left operand is strictly smaller than + * the name of the second operand. "false" otherwise. */ -bool parseEngine(const std::string &line, EngineDesc &engine); +bool compareEngineNames(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right); +#endif } // End of anonymous namespace -EngineDescList parseConfigure(const std::string &srcDir) { - std::string configureFile = srcDir + "/engines/configure.engines"; +EngineDescList parseEngines(const std::string &srcDir) { + using CreateProjectTool::FileList; + using CreateProjectTool::listDirectory; - std::ifstream configure(configureFile.c_str()); - if (!configure) - return EngineDescList(); + EngineDescList engineList; - std::string line; - EngineDescList engines; + FileList engineFiles = listDirectory(srcDir + "/engines/"); - for (;;) { - std::getline(configure, line); - if (configure.eof()) - break; +#ifdef FIRST_ENGINE + // In case we want to sort an engine to the front of the list we will + // use some manual sorting predicate which assures that. + engineFiles.sort(&compareEngineNames); +#else + // Otherwise, we simply sort the file list alphabetically this allows + // for a nicer order in --list-engines output, for example. + engineFiles.sort(&compareFSNode); +#endif - if (configure.fail()) - error("Failed while reading from " + configureFile); + for (FileList::const_iterator i = engineFiles.begin(), end = engineFiles.end(); i != end; ++i) { + // Each engine requires its own sub directory thus we will skip all + // non directory file nodes here. + if (!i->isDirectory) { + continue; + } - EngineDesc desc; - if (parseEngine(line, desc)) - engines.push_back(desc); + // Retrieve all engines defined in this sub directory and add them to + // the list of all engines. + EngineDescList list = parseEngineConfigure(srcDir + "/engines/" + i->name); + engineList.splice(engineList.end(), list); } - return engines; + return engineList; } bool isSubEngine(const std::string &name, const EngineDescList &engines) { @@ -777,6 +786,21 @@ StringList getEngineDefines(const EngineDescList &engines) { } namespace { +/** + * Try to parse a given line and create an engine definition + * out of the result. + * + * This may take *any* input line, when the line is not used + * to define an engine the result of the function will be "false". + * + * Note that the contents of "engine" are undefined, when this + * function returns "false". + * + * @param line Text input line. + * @param engine Reference to an object, where the engine information + * is to be stored in. + * @return "true", when parsing succeeded, "false" otherwise. + */ bool parseEngine(const std::string &line, EngineDesc &engine) { // Format: // add_engine engine_name "Readable Description" enable_default ["SubEngineList"] @@ -799,6 +823,48 @@ bool parseEngine(const std::string &line, EngineDesc &engine) { return true; } + +EngineDescList parseEngineConfigure(const std::string &engineDir) { + std::string configureFile = engineDir + "/configure.engine"; + + std::ifstream configure(configureFile.c_str()); + if (!configure) + return EngineDescList(); + + std::string line; + EngineDescList engines; + + for (;;) { + std::getline(configure, line); + if (configure.eof()) + break; + + if (configure.fail()) + error("Failed while reading from " + configureFile); + + EngineDesc desc; + if (parseEngine(line, desc)) + engines.push_back(desc); + } + + return engines; +} + +bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right) { + return left.name < right.name; +} + +#ifdef FIRST_ENGINE +bool compareEngineNames(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right) { + if (left.name == FIRST_ENGINE) { + return right.name != FIRST_ENGINE; + } else if (right.name == FIRST_ENGINE) { + return false; + } else { + return compareFSNode(left, right); + } +} +#endif } // End of anonymous namespace TokenList tokenize(const std::string &input, char separator) { @@ -1048,13 +1114,6 @@ bool compareNodes(const FileNode *l, const FileNode *r) { } } -/** - * Returns a list of all files and directories in the specified - * path. - * - * @param dir Directory which should be listed. - * @return List of all children. - */ FileList listDirectory(const std::string &dir) { FileList result; #ifdef USE_WIN32_API @@ -1095,6 +1154,32 @@ FileList listDirectory(const std::string &dir) { return result; } +void createDirectory(const std::string &dir) { +#if defined(_WIN32) || defined(WIN32) + if (!CreateDirectory(dir.c_str(), NULL)) { + if (GetLastError() != ERROR_ALREADY_EXISTS) { + error("Could not create folder \"" + dir + "\""); + } + } +#else + if (mkdir(dir.c_str(), 0777) == -1) { + if (errno == EEXIST) { + // Try to open as a folder (might be a file / symbolic link) + DIR *dirp = opendir(dir.c_str()); + if (dirp == NULL) { + error("Could not create folder \"" + dir + "\""); + } else { + // The folder exists, just close the stream and return + closedir(dirp); + } + } else { + error("Could not create folder \"" + dir + "\""); + } + } +#endif + +} + /** * Scans the specified directory against files, which should be included * in the project files. It will not include files present in the exclude list. @@ -1220,6 +1305,7 @@ void ProjectProvider::createProject(BuildSetup &setup) { createModuleList(setup.srcDir + "/audio", setup.defines, setup.testDirs, in, ex); createModuleList(setup.srcDir + "/audio/softsynth/mt32", setup.defines, setup.testDirs, in, ex); createModuleList(setup.srcDir + "/video", setup.defines, setup.testDirs, in, ex); + createModuleList(setup.srcDir + "/image", setup.defines, setup.testDirs, in, ex); // Resource files in.push_back(setup.srcDir + "/icons/" + setup.projectName + ".ico"); @@ -1242,6 +1328,12 @@ void ProjectProvider::createProject(BuildSetup &setup) { // Create other misc. build files createOtherBuildFiles(setup); + + // In case we create the main ScummVM project files we will need to + // generate engines/plugins_table.h too. + if (!setup.tests && !setup.devTools) { + createEnginePluginsTable(setup); + } } ProjectProvider::UUIDMap ProjectProvider::createUUIDMap(const BuildSetup &setup) const { @@ -1569,6 +1661,37 @@ void ProjectProvider::createModuleList(const std::string &moduleDir, const Strin error("Malformed file " + moduleMkFile); } +void ProjectProvider::createEnginePluginsTable(const BuildSetup &setup) { + // First we need to create the "engines" directory. + createDirectory(setup.outputDir + "/engines"); + + // Then, we can generate the actual "plugins_table.h" file. + const std::string enginePluginsTableFile = setup.outputDir + "/engines/plugins_table.h"; + std::ofstream enginePluginsTable(enginePluginsTableFile.c_str()); + if (!enginePluginsTable) { + error("Could not open \"" + enginePluginsTableFile + "\" for writing"); + } + + enginePluginsTable << "/* This file is automatically generated by create_project */\n" + << "/* DO NOT EDIT MANUALLY */\n" + << "// This file is being included by \"base/plugins.cpp\"\n"; + + for (EngineDescList::const_iterator i = setup.engines.begin(), end = setup.engines.end(); i != end; ++i) { + // We ignore all sub engines here because they require no special + // handling. + if (isSubEngine(i->name, setup.engines)) { + continue; + } + + // Make the engine name all uppercase. + std::string engineName; + std::transform(i->name.begin(), i->name.end(), std::back_inserter(engineName), toupper); + + enginePluginsTable << "#if PLUGIN_ENABLED_STATIC(" << engineName << ")\n" + << "LINK_PLUGIN(" << engineName << ")\n" + << "#endif\n"; + } +} } // End of anonymous namespace void error(const std::string &message) { diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h index 2f27cc2f61..459342a67d 100644 --- a/devtools/create_project/create_project.h +++ b/devtools/create_project/create_project.h @@ -102,16 +102,17 @@ struct EngineDesc { typedef std::list<EngineDesc> EngineDescList; /** - * This function parses the project configure file and creates a list - * of available engines. + * This function parses the project directory and creates a list of + * available engines. * * It will also automatically setup the default build state (enabled - * or disabled) to the state specified in the "configure" file. + * or disabled) to the state specified in the individual configure.engine + * files. * * @param srcDir Path to the root of the project source. * @return List of available engines. */ -EngineDescList parseConfigure(const std::string &srcDir); +EngineDescList parseEngines(const std::string &srcDir); /** * Checks whether the specified engine is a sub engine. To determine this @@ -263,6 +264,22 @@ void NORETURN_PRE error(const std::string &message) NORETURN_POST; namespace CreateProjectTool { /** + * Structure for describing an FSNode. This is a very minimalistic + * description, which includes everything we need. + * It only contains the name of the node and whether it is a directory + * or not. + */ +struct FSNode { + FSNode() : name(), isDirectory(false) {} + FSNode(const std::string &n, bool iD) : name(n), isDirectory(iD) {} + + std::string name; ///< Name of the file system node + bool isDirectory; ///< Whether it is a directory or not +}; + +typedef std::list<FSNode> FileList; + +/** * Gets a proper sequence of \t characters for the given * indentation level. * @@ -315,6 +332,22 @@ bool producesObjectFile(const std::string &fileName); std::string toString(int num); /** + * Returns a list of all files and directories in the specified + * path. + * + * @param dir Directory which should be listed. + * @return List of all children. + */ +FileList listDirectory(const std::string &dir); + +/** + * Create a directory at the given path. + * + * @param dir The path to create. + */ +void createDirectory(const std::string &dir); + +/** * Structure representing a file tree. This contains two * members: name and children. "name" holds the name of * the node. "children" does contain all the node's children. @@ -474,6 +507,15 @@ protected: * @return A new UUID as string. */ std::string createUUID() const; + +private: + /** + * This creates the engines/plugins_table.h file required for building + * ScummVM. + * + * @param setup Description of the desired build. + */ + void createEnginePluginsTable(const BuildSetup &setup); }; } // End of CreateProjectTool namespace diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 0d68b2e9c9..018a04370f 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -360,7 +360,7 @@ void MSBuildProvider::outputGlobalPropFile(const BuildSetup &setup, std::ofstrea "\t\t<ClCompile>\n" "\t\t\t<DisableLanguageExtensions>true</DisableLanguageExtensions>\n" "\t\t\t<DisableSpecificWarnings>" << warnings << ";%(DisableSpecificWarnings)</DisableSpecificWarnings>\n" - "\t\t\t<AdditionalIncludeDirectories>$(" << LIBS_DEFINE << ")\\include;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n" + "\t\t\t<AdditionalIncludeDirectories>$(" << LIBS_DEFINE << ")\\include;.;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n" "\t\t\t<PreprocessorDefinitions>" << definesList << "%(PreprocessorDefinitions)</PreprocessorDefinitions>\n" "\t\t\t<ExceptionHandling>" << ((setup.devTools || setup.tests) ? "Sync" : "") << "</ExceptionHandling>\n"; @@ -434,8 +434,11 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b "\t\t\t<DebugInformationFormat>" << (isWin32 ? "EditAndContinue" : "ProgramDatabase") << "</DebugInformationFormat>\n" // For x64 format Edit and continue is not supported, thus we default to Program Database "\t\t\t<EnablePREfast>" << (configuration == "Analysis" ? "true" : "false") << "</EnablePREfast>\n"; - if (configuration == "LLVM") - properties << "\t\t\t<AdditionalOptions>-Wno-microsoft -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder -Wpointer-arith -Wcast-qual -Wshadow -Wnon-virtual-dtor -Wwrite-strings -Wno-conversion -Wno-shorten-64-to-32 -Wno-sign-compare -Wno-four-char-constants -Wno-nested-anon-types %(AdditionalOptions)</AdditionalOptions>\n"; + if (configuration == "LLVM") { + // FIXME The LLVM cl wrapper does not seem to work properly with the $(TargetDir) path so we hard-code the build folder until the issue is resolved + properties << "\t\t\t<AdditionalIncludeDirectories>" << configuration << outputBitness <<";%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n" + "\t\t\t<AdditionalOptions>-Wno-microsoft -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder -Wpointer-arith -Wcast-qual -Wshadow -Wnon-virtual-dtor -Wwrite-strings -Wno-conversion -Wno-shorten-64-to-32 -Wno-sign-compare -Wno-four-char-constants -Wno-nested-anon-types -Qunused-arguments %(AdditionalOptions)</AdditionalOptions>\n"; + } properties << "\t\t</ClCompile>\n" "\t\t<Link>\n" @@ -521,6 +524,7 @@ void MSBuildProvider::writeFileListToProject(const FileNode &dir, std::ofstream outputNasmCommand(projectFile, "Debug", (isDuplicate ? (*entry).prefix : "")); outputNasmCommand(projectFile, "Analysis", (isDuplicate ? (*entry).prefix : "")); outputNasmCommand(projectFile, "Release", (isDuplicate ? (*entry).prefix : "")); + outputNasmCommand(projectFile, "LLVM", (isDuplicate ? (*entry).prefix : "")); projectFile << "\t\t</CustomBuild>\n"; } diff --git a/devtools/create_project/scripts/install-natvis.bat b/devtools/create_project/scripts/install-natvis.bat new file mode 100644 index 0000000000..62186df7bf --- /dev/null +++ b/devtools/create_project/scripts/install-natvis.bat @@ -0,0 +1,41 @@ +@echo off +echo Installing Visual Studio debugger integration... + +REM On 2000 & XP, the folder is "My Documents" but VS 2012 is not supported on those OSes +SET DOCUMENTS="%USERPROFILE%\Documents" +set FOUND=0 + +REM Set current folder +cd /d %~dp0 + +:INSTALL_VS11 +SET FOLDER="%DOCUMENTS%\Visual Studio 2012" +IF EXIST %FOLDER% ( + echo Visual Studio 2012 + copy scummvm.natvis %FOLDER%\Visualizers + IF NOT %ERRORLEVEL% == 0 GOTO FAILED + SET FOUND=1 +) + +:INSTALL_VS12 +SET FOLDER="%DOCUMENTS%\Visual Studio 2013" +IF EXIST %FOLDER% ( + echo Visual Studio 2013 + copy scummvm.natvis %FOLDER%\Visualizers + IF NOT %ERRORLEVEL% == 0 GOTO FAILED + SET FOUND=1 +) + +IF %FOUND% == 1 goto SUCCESS +echo Failed to find Visual Studio user folder. + +:SUCCESS +echo. +echo Done! +goto END + +:FAILED +echo Failed to install visualization file + +:END +pause diff --git a/devtools/create_project/scripts/scummvm.natvis b/devtools/create_project/scripts/scummvm.natvis new file mode 100644 index 0000000000..995668690e --- /dev/null +++ b/devtools/create_project/scripts/scummvm.natvis @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + Debug visualizers for a few common ScummVM types for Visual Studio 2012 and up. + + To use, copy this file into Documents\Visual Studio 20xx\Visualizers. + + Known issues: + + * Lists appear to be infinite (the same elements repeat over and over again). + Unfortunately, Lists don't store length information, and it's not possible to + detect whether a Node is the last one by the Node itself. + + * In HashMaps, missing and dummy nodes are shown along with the useful ones. +--> + +<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> + <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" MenuName="Add to Image Watch"/> + + <Type Name="Graphics::Surface"> + <UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}" Id="1" /> + </Type> + + <Type Name="Graphics::Surface"> + <Expand> + <Synthetic Name="[type]"> + <DisplayString>UINT8</DisplayString> + </Synthetic> + <Item Name="[channels]" Condition="format.bytesPerPixel==1">1</Item> + <Item Name="[channels]" Condition="format.bytesPerPixel==2">2</Item> + <Synthetic Name="[channels]" Condition="format.bytesPerPixel==4"> + <DisplayString>RGBA</DisplayString> + </Synthetic> + <Item Name="[width]">w</Item> + <Item Name="[height]">h</Item> + <Item Name="[stride]">pitch</Item> + <Item Name="[data]">pixels</Item> + </Expand> + </Type> + + <Type Name="Common::Array<*>"> + <DisplayString>{{size = {_size}}}</DisplayString> + <Expand> + <Item Name="[size]">_size</Item> + <Item Name="[capacity]">_capacity</Item> + <ArrayItems> + <Size>_size</Size> + <ValuePointer>_storage</ValuePointer> + </ArrayItems> + </Expand> + </Type> + + <Type Name="Common::HashMap<*,*,*,*>"> + <DisplayString>{{ size = {_size} }}</DisplayString> + <Expand> + <Item Name="[size]">_size</Item> + <Item Name="[capacity]">_mask + 1</Item> + <Item Name="[deleted]">_deleted</Item> + <IndexListItems> + <Size>_mask + 1</Size> + <ValueNode Condition="_storage[$i] && _storage[$i] != (Common::HashMap<$T1,$T2,$T3,$T4>::Node *)1">*_storage[$i]</ValueNode> + </IndexListItems> + </Expand> + </Type> + + <Type Name="Common::List<*>"> + <DisplayString Condition="&_anchor == _anchor._next">{{ empty }}</DisplayString> + <DisplayString Condition="&_anchor != _anchor._next">{{ non-empty }}</DisplayString> + <Expand> + <LinkedListItems Condition="&_anchor != _anchor._next"> + <HeadPointer>_anchor._next</HeadPointer> + <NextPointer>_next</NextPointer> + <ValueNode>((Common::ListInternal::Node<$T1>*)this)->_data</ValueNode> + </LinkedListItems> + </Expand> + </Type> + + <Type Name="Common::String"> + <DisplayString>{_str,[_size]}</DisplayString> + <StringView>_str,[_size]</StringView> + <Expand> + <Item Name="[size]">_size</Item> + <Item Condition="_str != _storage" Name="[capacity]">_extern._capacity</Item> + <Item Condition="_str != _storage" Name="[refCount]">*_extern._refCount</Item> + <ArrayItems> + <Size>_size</Size> + <ValuePointer>_str</ValuePointer> + </ArrayItems> + </Expand> + </Type> +</AutoVisualizer> diff --git a/devtools/create_project/visualstudio.cpp b/devtools/create_project/visualstudio.cpp index 438e0772f9..84bc674f9a 100644 --- a/devtools/create_project/visualstudio.cpp +++ b/devtools/create_project/visualstudio.cpp @@ -232,7 +232,7 @@ void VisualStudioProvider::outputGlobalPropFile(const BuildSetup &setup, std::of "\t\tName=\"VCCLCompilerTool\"\n" "\t\tDisableLanguageExtensions=\"" << (setup.devTools ? "false" : "true") << "\"\n" "\t\tDisableSpecificWarnings=\"" << warnings << "\"\n" - "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines;$(" << LIBS_DEFINE << ")\\include;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir)\"\n" + "\t\tAdditionalIncludeDirectories=\".\\;" << prefix << ";" << prefix << "\\engines;$(" << LIBS_DEFINE << ")\\include;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir)\"\n" "\t\tPreprocessorDefinitions=\"" << definesList << "\"\n" "\t\tExceptionHandling=\"" << ((setup.devTools || setup.tests) ? "1" : "0") << "\"\n"; diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp index a9b8e7a752..d95bf3e9ee 100644 --- a/devtools/create_project/xcode.cpp +++ b/devtools/create_project/xcode.cpp @@ -26,15 +26,6 @@ #include <fstream> #include <algorithm> -#if defined(_WIN32) || defined(WIN32) -#include <windows.h> -#else -#include <sys/param.h> -#include <sys/stat.h> -#include <dirent.h> -#include <errno.h> -#endif - namespace CreateProjectTool { #define DEBUG_XCODE_HASH 0 @@ -88,27 +79,7 @@ XCodeProvider::XCodeProvider(StringList &global_warnings, std::map<std::string, void XCodeProvider::createWorkspace(const BuildSetup &setup) { // Create project folder std::string workspace = setup.outputDir + '/' + PROJECT_NAME ".xcodeproj"; - -#if defined(_WIN32) || defined(WIN32) - if (!CreateDirectory(workspace.c_str(), NULL)) - if (GetLastError() != ERROR_ALREADY_EXISTS) - error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\""); -#else - if (mkdir(workspace.c_str(), 0777) == -1) { - if (errno == EEXIST) { - // Try to open as a folder (might be a file / symbolic link) - DIR *dirp = opendir(workspace.c_str()); - if (dirp == NULL) { - error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\""); - } else { - // The folder exists, just close the stream and return - closedir(dirp); - } - } else { - error("Could not create folder \"" + setup.outputDir + '/' + PROJECT_NAME ".xcodeproj\""); - } - } -#endif + createDirectory(workspace); // Setup global objects setupDefines(setup); diff --git a/devtools/create_teenagent/create_teenagent.cpp b/devtools/create_teenagent/create_teenagent.cpp index 79c61900f3..732532f9b2 100644 --- a/devtools/create_teenagent/create_teenagent.cpp +++ b/devtools/create_teenagent/create_teenagent.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_teenagent/static_tables.h b/devtools/create_teenagent/static_tables.h index 5c9b5b3d21..9094f98a74 100644 --- a/devtools/create_teenagent/static_tables.h +++ b/devtools/create_teenagent/static_tables.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_teenagent/util.cpp b/devtools/create_teenagent/util.cpp index 5ce8237b85..dd88d4ed85 100644 --- a/devtools/create_teenagent/util.cpp +++ b/devtools/create_teenagent/util.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_teenagent/util.h b/devtools/create_teenagent/util.h index a2783cca71..666386ea93 100644 --- a/devtools/create_teenagent/util.h +++ b/devtools/create_teenagent/util.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_tony/create_tony.cpp b/devtools/create_tony/create_tony.cpp index f2d086c083..cb76e954c9 100644 --- a/devtools/create_tony/create_tony.cpp +++ b/devtools/create_tony/create_tony.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_tony/create_tony.h b/devtools/create_tony/create_tony.h index 3075835bd9..96793bf3aa 100644 --- a/devtools/create_tony/create_tony.h +++ b/devtools/create_tony/create_tony.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_tony/staticdata.h b/devtools/create_tony/staticdata.h index fff977d8dc..a2cacb3e58 100644 --- a/devtools/create_tony/staticdata.h +++ b/devtools/create_tony/staticdata.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_toon/create_toon.cpp b/devtools/create_toon/create_toon.cpp index 2cf8895d4b..08f8d8c543 100644 --- a/devtools/create_toon/create_toon.cpp +++ b/devtools/create_toon/create_toon.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_toon/create_toon.h b/devtools/create_toon/create_toon.h index b047959215..0c26261dc9 100644 --- a/devtools/create_toon/create_toon.h +++ b/devtools/create_toon/create_toon.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_toon/staticdata.h b/devtools/create_toon/staticdata.h index bc49c7adaf..1d00455d5d 100644 --- a/devtools/create_toon/staticdata.h +++ b/devtools/create_toon/staticdata.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_translations/create_translations.cpp b/devtools/create_translations/create_translations.cpp index a8b04a7a52..01e6446cb8 100644 --- a/devtools/create_translations/create_translations.cpp +++ b/devtools/create_translations/create_translations.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_translations/create_translations.h b/devtools/create_translations/create_translations.h index 1df01e6333..34a79913ac 100644 --- a/devtools/create_translations/create_translations.h +++ b/devtools/create_translations/create_translations.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_translations/po_parser.cpp b/devtools/create_translations/po_parser.cpp index e8d7d7a644..7882502ca4 100644 --- a/devtools/create_translations/po_parser.cpp +++ b/devtools/create_translations/po_parser.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/create_translations/po_parser.h b/devtools/create_translations/po_parser.h index 6991b1d11e..a3b1c9a9d7 100644 --- a/devtools/create_translations/po_parser.h +++ b/devtools/create_translations/po_parser.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/credits.pl b/devtools/credits.pl index fda6f4782e..e61f918f3b 100755 --- a/devtools/credits.pl +++ b/devtools/credits.pl @@ -48,7 +48,7 @@ if ($mode eq "") { $Text::Wrap::unexpand = 0; if ($mode eq "TEXT") { $Text::Wrap::columns = 78; - $max_name_width = 23; # The maximal width of a name. + $max_name_width = 28; # The maximal width of a name. } elsif ($mode eq "CPP") { $Text::Wrap::columns = 48; # Approx. } @@ -60,6 +60,7 @@ sub html_entities_to_ascii { # For now we hardcode these mappings # á -> a # é -> e + # í -> i # ì -> i # ó -> o # ø -> o @@ -72,8 +73,10 @@ sub html_entities_to_ascii { # ł -> l # ś -> s # Š -> S + # ñ -> n $text =~ s/á/a/g; $text =~ s/é/e/g; + $text =~ s/í/i/g; $text =~ s/ì/i/g; $text =~ s/ó/o/g; $text =~ s/ø/o/g; @@ -81,6 +84,7 @@ sub html_entities_to_ascii { $text =~ s/ś/s/g; $text =~ s/Š/S/g; $text =~ s/å/aa/g; + $text =~ s/ñ/n/g; $text =~ s/ä/a/g; $text =~ s/ë/e/g; @@ -101,6 +105,7 @@ sub html_entities_to_cpp { # The numerical values are octal! $text =~ s/á/\\341/g; $text =~ s/é/\\351/g; + $text =~ s/í/\\355/g; $text =~ s/ì/\\354/g; $text =~ s/ó/\\363/g; $text =~ s/ø/\\370/g; @@ -108,6 +113,7 @@ sub html_entities_to_cpp { $text =~ s/ś/s/g; $text =~ s/Š/S/g; $text =~ s/å/\\345/g; + $text =~ s/ñ/\\361/g; $text =~ s/ä/\\344/g; $text =~ s/ë/\\353/g; @@ -126,6 +132,7 @@ sub html_entities_to_rtf { $text =~ s/á/\\'87/g; $text =~ s/é/\\'8e/g; + $text =~ s/í/\\'92/g; $text =~ s/ì/\\'93/g; $text =~ s/ó/\\'97/g; $text =~ s/ø/\\'bf/g; @@ -135,6 +142,8 @@ sub html_entities_to_rtf { $text =~ s/Š/\\uc0\\u540 /g; # Back to hex numbers + $text =~ s/ñ/\\'96/g; + $text =~ s/ä/\\'8a/g; $text =~ s/ë/\\'eb/g; $text =~ s/ö/\\'9a/g; @@ -151,12 +160,14 @@ sub html_entities_to_tex { $text =~ s/á/\\'a/g; $text =~ s/é/\\'e/g; + $text =~ s/í/\\'i/g; $text =~ s/ì/\\`\\i/g; $text =~ s/ó/\\'o/g; $text =~ s/ø/{\\o}/g; $text =~ s/å/\\aa /g; $text =~ s/ł/{\\l}/g; $text =~ s/Š/{\\v S}/g; + $text =~ s/ñ/\\˜n/g; $text =~ s/ä/\\"a/g; $text =~ s/ö/\\"o/g; @@ -542,7 +553,7 @@ begin_credits("Credits"); add_person("Ludvig Strigeus", "ludde", "(retired)"); end_section(); - begin_section("AVALANCHE"); + begin_section("Avalanche"); add_person("Peter Bozsó", "uruk", ""); add_person("Arnaud Boutonné", "Strangerke", ""); end_section(); @@ -634,6 +645,12 @@ begin_credits("Credits"); add_person("Filippos Karapetis", "[md5]", ""); end_section(); + begin_section("MADS"); + add_person("Arnaud Boutonné", "Strangerke", ""); + add_person("Paul Gilbert", "dreammaster", ""); + add_person("Filippos Karapetis", "[md5]", ""); + end_section(); + begin_section("Mohawk"); add_person("Bastien Bouclet", "bgk", ""); add_person("Matthew Hoops", "clone2727", ""); @@ -756,6 +773,11 @@ begin_credits("Credits"); add_person("Gregory Montoir", "cyx", "(retired)"); end_section(); + begin_section("Voyeur"); + add_person("Arnaud Boutonné", "Strangerke", ""); + add_person("Paul Gilbert", "dreammaster", ""); + end_section(); + begin_section("Wintermute"); add_person("Einar Johan T. Sømåen", "somaen", ""); end_section(); @@ -831,6 +853,7 @@ begin_credits("Credits"); begin_section("SymbianOS"); add_person("Jurgen Braam", "SumthinWicked", ""); add_person("Lars Persson", "AnotherGuest", ""); + add_person("Fedor Strizhniou", "zanac", ""); end_section(); begin_section("Tizen / BADA"); @@ -984,7 +1007,7 @@ begin_credits("Credits"); end_section(); end_section(); - begin_section("Translations"); + begin_section("GUI Translations"); begin_persons(); add_person("Thierry Crozat", "criezy", "Translation Lead"); end_persons(); @@ -1049,6 +1072,20 @@ begin_credits("Credits"); add_person("Lubomyr Lisen", "", ""); end_section(); end_section(); + begin_section("Game Translations"); + begin_section("CGE"); + add_person("Dan Serban", "nutron", "Soltys English translation"); + add_person("Víctor González", "IlDucci", "Soltys Spanish translation"); + add_person("Alejandro Gómez de la Muñoza", "TheFireRed", "Soltys Spanish translation"); + end_section(); + begin_section("Drascula"); + add_person("Thierry Crozat", "criezy", "Improve French translation"); + end_section(); + begin_section("Mortevielle"); + add_person("Hugo Labrande", "", "Improve English translation"); + add_person("Thierry Crozat", "criezy", "Improve English translation"); + end_section(); + end_section(); begin_section("Websites (design)"); begin_persons(); diff --git a/devtools/extract_mort/extract_mort.cpp b/devtools/extract_mort/extract_mort.cpp index 4346f1f4bf..7e4003a8c6 100644 --- a/devtools/extract_mort/extract_mort.cpp +++ b/devtools/extract_mort/extract_mort.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -104,9 +104,9 @@ public: return ftell(f); } uint32 size() { - int position = ftell(f); + uint32 position = ftell(f); fseek (f, 0, SEEK_END); - int end = ftell (f); + uint32 end = ftell(f); fseek (f, position, SEEK_SET); return end; diff --git a/devtools/sci/musicplayer.cpp b/devtools/sci/musicplayer.cpp index 25f2d684a8..73f0e12bb0 100644 --- a/devtools/sci/musicplayer.cpp +++ b/devtools/sci/musicplayer.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/sci/scidisasm.cpp b/devtools/sci/scidisasm.cpp index 9b212c208d..6c7049e639 100644 --- a/devtools/sci/scidisasm.cpp +++ b/devtools/sci/scidisasm.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/sci/scipack.cpp b/devtools/sci/scipack.cpp index ff52e25061..9e9ebcd0a2 100644 --- a/devtools/sci/scipack.cpp +++ b/devtools/sci/scipack.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/AsciiCptCompile.cpp b/devtools/skycpt/AsciiCptCompile.cpp index f339f6816c..3d638b6c35 100644 --- a/devtools/skycpt/AsciiCptCompile.cpp +++ b/devtools/skycpt/AsciiCptCompile.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/KmpSearch.cpp b/devtools/skycpt/KmpSearch.cpp index 9551156295..aaae48614c 100644 --- a/devtools/skycpt/KmpSearch.cpp +++ b/devtools/skycpt/KmpSearch.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/KmpSearch.h b/devtools/skycpt/KmpSearch.h index 7bec5f07a8..04a0c9ac89 100644 --- a/devtools/skycpt/KmpSearch.h +++ b/devtools/skycpt/KmpSearch.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/TextFile.cpp b/devtools/skycpt/TextFile.cpp index 038b1b9329..b03e66121f 100644 --- a/devtools/skycpt/TextFile.cpp +++ b/devtools/skycpt/TextFile.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/TextFile.h b/devtools/skycpt/TextFile.h index 6c390c050d..80564fbd5e 100644 --- a/devtools/skycpt/TextFile.h +++ b/devtools/skycpt/TextFile.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/cptcompiler.cpp b/devtools/skycpt/cptcompiler.cpp index 657f51b8a0..eb2c287a1d 100644 --- a/devtools/skycpt/cptcompiler.cpp +++ b/devtools/skycpt/cptcompiler.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/cpthelp.cpp b/devtools/skycpt/cpthelp.cpp index 0780888097..e2e4577a90 100644 --- a/devtools/skycpt/cpthelp.cpp +++ b/devtools/skycpt/cpthelp.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/cpthelp.h b/devtools/skycpt/cpthelp.h index 71d760af3f..54daac2128 100644 --- a/devtools/skycpt/cpthelp.h +++ b/devtools/skycpt/cpthelp.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/idFinder.cpp b/devtools/skycpt/idFinder.cpp index 99e4378867..b2b9b9b524 100644 --- a/devtools/skycpt/idFinder.cpp +++ b/devtools/skycpt/idFinder.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/stdafx.cpp b/devtools/skycpt/stdafx.cpp index e91ca09470..fb87b37cba 100644 --- a/devtools/skycpt/stdafx.cpp +++ b/devtools/skycpt/stdafx.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/devtools/skycpt/stdafx.h b/devtools/skycpt/stdafx.h index d4d389a2b6..55fdf33cd4 100644 --- a/devtools/skycpt/stdafx.h +++ b/devtools/skycpt/stdafx.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |