using DSPRE.ROMFiles; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DSPRE.Resources { public static class ScriptDatabase { public static Dictionary comparisonOperatorsDict = new Dictionary() { [0] = "LESS", [1] = "EQUAL", [2] = "GREATER", [3] = "LESS/EQUAL", [4] = "GREATER/EQUAL", [5] = "DIFFERENT", }; public static Dictionary comparisonOperatorsGenVappendix = new Dictionary() { /* GEN V ONLY */ [6] = "OR", [7] = "AND", [0xFF] = "TRUEUP" }; public static Dictionary specialOverworlds = new Dictionary() { [241] = "Camera", [242] = "Partner", [253] = "Following", [255] = "Player" }; public static Dictionary overworldDirections = new Dictionary() { [0] = "Up", [1] = "Down", [2] = "Left", [3] = "Right" }; public static Dictionary commandsWithRelativeJump = new Dictionary() { //commandID, ID of parameter With Jump Address [0x0016] = 0, //Jump [0x0017] = 1, //Call [0x0018] = 1, //Call [0x0019] = 1, //Call [0x001A] = 0, //Call [0x001C] = 1, //JumpIf [0x001D] = 1, //CallIf [0x005E] = 1, //Movement }; public static HashSet endCodes = new HashSet() { 0x2, 0x16, 0x1B }; public static Dictionary movementsDictIDName = new Dictionary() { [0x0000] = "LookUp", [0x0001] = "LookDown", [0x0002] = "LookLeft", [0x0003] = "LookRight", [0x0004] = "WalkUpSlow", [0x0005] = "WalkDownSlow", [0x0006] = "WalkLeftSlow", [0x0007] = "WalkRightSlow", [0x0008] = "WalkUp", [0x0009] = "WalkDown", [0x000A] = "WalkLeft", [0x000B] = "WalkRight", [0x000C] = "WalkUpFast", [0x000D] = "WalkDownFast", [0x000E] = "WalkLeftFast", [0x000F] = "WalkRightFast", [0x0010] = "WalkUpVeryFast", [0x0011] = "WalkDownVeryFast", [0x0012] = "WalkLeftVeryFast", [0x0013] = "WalkRightVeryFast", [0x0014] = "RunUp", [0x0015] = "RunDown", [0x0016] = "RunLeft", [0x0017] = "RunRight", [0x0018] = "WalkUpSlowSite", [0x0019] = "WalkDownSlowSite", [0x001A] = "WalkLeftSlowSite", [0x001B] = "WalkRightSlowSite", [0x001C] = "WalkUpSite", [0x001D] = "WalkDownSite", [0x001E] = "WalkLeftSite", [0x001F] = "WalkRightSite", [0x0020] = "WalkUpFastSite", [0x0021] = "WalkDownFastSite", [0x0022] = "WalkLeftFastSite", [0x0023] = "WalkRightFastSite", [0x0024] = "WalkUpVeryFastSite", [0x0025] = "WalkDownVeryFastSite", [0x0026] = "WalkLeftVeryFastSite", [0x0027] = "WalkRightVeryFastSite", [0x0028] = "RunUpSite", [0x0029] = "RunDownSite", [0x002A] = "RunLeftSite", [0x002B] = "RunRightSite", [0x002C] = "JumpUpSlow", [0x002D] = "JumpDownSlow", [0x002E] = "JumpLeftSlow", [0x002F] = "JumpRightSlow", [0x0030] = "JumpUpSite", [0x0031] = "JumpDownSite", [0x0032] = "JumpLeftSite", [0x0033] = "JumpRightSite", [0x0034] = "JumpUp", [0x0035] = "JumpDown", [0x0036] = "JumpLeft", [0x0037] = "JumpRight", [0x0038] = "JumpUp2", [0x0039] = "JumpDown2", [0x003A] = "JumpLeft2", [0x003B] = "JumpRight2", [0x003C] = "Freeze1", [0x003D] = "Freeze2", [0x003E] = "Freeze4", [0x003F] = "Freeze8", [0x0040] = "Freeze15", [0x0041] = "Freeze16", [0x0042] = "Freeze32", [0x0043] = "TeleportUp", [0x0044] = "TeleportDown", [0x0045] = "DisappearTrue", [0x0046] = "DisappearFalse", [0x0047] = "LockDir", [0x0048] = "ReleaseDir", [0x0049] = "StopAnimation", [0x004A] = "ResumeAnimation", [0x004B] = "Exclamation", [0x004C] = "WaitWalkUpSlow", [0x004D] = "WaitWalkDownSlow", [0x004E] = "WaitWalkLeftSlow",//Seems to make the player run in HGSS? [0x004F] = "WaitWalkRightSlow", [0x0050] = "WaitWalkUp", [0x0051] = "WaitWalkDown", [0x0052] = "WaitWalkLeft", [0x0053] = "WaitWalkRight", [0x0054] = "WaitMoveUp", [0x0055] = "WaitMoveDown", [0x0056] = "WaitMoveLeft", [0x0057] = "WaitMoveRight", [0x0058] = "WaitWalkBackUp", [0x0059] = "WaitWalkBackDown", [0x005A] = "WaitWalkBackLeft", [0x005B] = "WaitWalkBackRight", [0x005C] = "WaitJumpLeft1", [0x005D] = "WaitJumpRight1", [0x005E] = "WaitJumpLeft2", [0x005F] = "WaitJumpRight2", [0x0064] = "WaitMoveSite", [0x0065] = "WaitJumpSite", [0x0067] = "WaitDoubleExclamation", [0x0068] = "WaitMoveForever", [0x00FE] = "End" }; public static HashSet movementEndCodes = new HashSet() { 0x00FE, }; public static Dictionary DPPtScrCmdNames = new Dictionary() { [0x0000] = "Nop", [0x0001] = "Dummy", [0x0002] = "End", [0x0003] = "WaitTime", [0x0004] = "RegValueSet", [0x0005] = "RegDataSet", [0x0006] = "RegAdrsSet", [0x0007] = "AdrsValueSet", [0x0008] = "AdrsRegSet", [0x0009] = "RegRegSet", [0x000A] = "AdrsAdrsSet", [0x000B] = "CompareRegs", [0x000C] = "CompareRegValue", [0x000D] = "CompareRegAdrs", [0x000E] = "CompareAdrsReg", [0x000F] = "CompareAdrsValue", [0x0010] = "CompareAdrsAdrs", [0x0011] = "CompareVarValue", [0x0012] = "CompareVars", [0x0013] = "ParallelCommonScript", [0x0014] = "CommonScript", [0x0015] = "LocalScript", [0x0016] = "Jump", [0x0017] = "JumpIfObjID", [0x0018] = "JumpIfEventID", [0x0019] = "JumpIfPlayerDir", [0x001A] = "Call", [0x001B] = "Return", [0x001C] = "JumpIf", [0x001D] = "CallIf", [0x001E] = "SetFlag", [0x001F] = "ClearFlag", [0x0020] = "CheckFlag", [0x0021] = "CheckFlagToVar", [0x0022] = "SetFlagFromVar", [0x0023] = "SetTrainerFlag", [0x0024] = "ClearTrainerFlag", [0x0025] = "CheckTrainerFlag", [0x0026] = "IncrementVar", [0x0027] = "DecrementVar", [0x0028] = "SetVar", [0x0029] = "SetVarFromVariable", [0x002A] = "SetVarFromFlexible", [0x002B] = "MessageAll", [0x002C] = "Message", [0x002D] = "MessageFlex", [0x002E] = "MessageNoSkip", [0x0030] = "WaitAB", [0x0031] = "WaitButton", [0x0032] = "WaitABPad", [0x0033] = "OpenMessage", [0x0034] = "CloseMessage", [0x0035] = "FreezeMessage", [0x0036] = "SetIconBoard", [0x0037] = "SetTextBoard", [0x0038] = "ShowBoard", [0x0039] = "WaitBoard", [0x003A] = "BoardMessage", [0x003B] = "CloseBoard", [0x003C] = "Menu", [0x003E] = "YesNoBox", [0x003F] = "DummyGuinnessBox", [0x0040] = "MultiStandardText", [0x0041] = "MultiLocalText", [0x0042] = "AddMultiOption", [0x0043] = "ShowMulti", [0x0044] = "ListStandardText", [0x0045] = "ListLocalText", [0x0046] = "AddListOption", [0x0047] = "ShowList", [0x0048] = "MultiColumn", [0x0049] = "PlayFanfare", [0x004A] = "StopFanfare", [0x004B] = "WaitFanfare", [0x004C] = "PlayCry", [0x004D] = "WaitCry", [0x004E] = "PlaySound", [0x004F] = "WaitSound", [0x0050] = "PlayMusic", [0x0051] = "StopMusic", [0x0052] = "PlayDefaultMusic", [0x0053] = "SetMusic", [0x0054] = "FadeOutMusic", [0x0055] = "FadeInMusic", [0x0057] = "PlayFieldBGM", [0x0059] = "CheckChatotCry", [0x005A] = "StartChatotCry", [0x005B] = "StopChatotCry", [0x005C] = "SaveChatotCry", [0x005D] = "LoadSpearPillarAudio", [0x005E] = "Movement", [0x005F] = "WaitMovement", [0x0060] = "LockAll", [0x0061] = "ReleaseAll", [0x0062] = "Lock", [0x0063] = "Release", [0x0064] = "AddOW", [0x0065] = "RemoveOW", [0x0066] = "LockCamera", [0x0067] = "ReleaseCamera", [0x0068] = "FacePlayer", [0x0069] = "GetPlayerPosition", [0x006A] = "GetOWPosition", [0x006C] = "KeepOverworld", [0x006D] = "SetOWMovement", [0x006E] = "SetFollowingOverworld", [0x006F] = "GiveMoney", [0x0070] = "TakeMoney", [0x0071] = "CompareMoney", [0x0072] = "ShowMoney", [0x0073] = "HideMoney", [0x0074] = "UpdateMoney", [0x0075] = "ShowCoins", [0x0076] = "HideCoins", [0x0077] = "UpdateCoins", [0x0078] = "CheckCoins", [0x0079] = "GiveCoins", [0x007A] = "TakeCoins", [0x007B] = "GiveItem", [0x007C] = "TakeItem", [0x007D] = "CheckItemSpace", [0x007E] = "CheckItem", [0x007F] = "CheckItemIsMachine", [0x0080] = "GetItemPocket", [0x0081] = "DummyGivePCItem", [0x0082] = "DummyCheckPCItem", [0x0083] = "GiveGoods", [0x0084] = "DummyTakeGoods", [0x0085] = "CheckGoodsSpace", [0x0086] = "DummyCheckGoods", [0x0087] = "GiveTrap", [0x0088] = "DummyTakeTrap", [0x0089] = "DummyCheckTrapSpace", [0x008A] = "DummyCheckTrap", [0x008B] = "DummyGiveTreasure", [0x008C] = "DummyTakeTreasure", [0x008D] = "DummyCheckTreasureSpace", [0x008E] = "DummyCheckTreasure", [0x008F] = "GiveSphere", [0x0090] = "DummyTakeSphere", [0x0091] = "DummyCheckSphereSpace", [0x0092] = "DummyCheckSphere", [0x0093] = "CheckSealAmount", [0x0094] = "GiveSeal", [0x0095] = "CheckPokemonForm", [0x0096] = "GivePokemon", [0x0097] = "GivePokemonEgg", [0x0098] = "ReplaceMove", [0x0099] = "CheckMove", [0x009A] = "CheckMoveInParty", [0x009C] = "DummySetWeather", [0x009D] = "DummyInitWeather", [0x009E] = "DummyUpdateWeather", [0x009F] = "DummyCheckMapPosition", [0x00A0] = "DummyCountPartyPokemon", [0x00A1] = "ReturnScreen", [0x00A6] = "DressPokemon", [0x00A7] = "DisplayDressedPokemon", [0x00A8] = "DisplayContestPokemon", [0x00A9] = "SealCapsuleScreen", [0x00AA] = "WorldMapScreen", [0x00AB] = "PCBoxScreen", [0x00AC] = "DrawUnion", [0x00AD] = "TrainerCaseUnion", [0x00AE] = "TradeUnion", [0x00AF] = "RecordMixingUnion", [0x00B0] = "EndGameScreen", [0x00B4] = "StarterSelectionScreen", [0x00B5] = "EndStarterSelectionScreen", [0x00BA] = "ChoosePlayerName", [0x00BB] = "ChoosePokemonNickname", [0x00BC] = "FadeScreen", [0x00BD] = "WaitFadeScreen", [0x00BE] = "Warp", [0x00BF] = "RockClimbAnimation", [0x00C0] = "SurfAnimation", [0x00C1] = "WaterfallAnimation", [0x00C2] = "FlyAnimation", [0x00C3] = "FlashAnimation", [0x00C4] = "DefogAnimation", [0x00C5] = "CutAnimation", [0x00C6] = "Tuxedo", [0x00C7] = "CheckBike", [0x00C8] = "RideBike", [0x00C9] = "CyclingRoad", [0x00CA] = "CheckPlayerForm", [0x00CB] = "SetPlayerForm", [0x00CC] = "UpdatePlayerForm", [0x00CD] = "TextPlayerName", [0x00CE] = "TextRivalName", [0x00CF] = "TextCounterpart", [0x00D0] = "TextPokemon", [0x00D1] = "TextItem", [0x00D2] = "TextPocket", [0x00D3] = "TextMachineMove", [0x00D4] = "TextMove", [0x00D5] = "TextNumber", [0x00D6] = "TextPokeNickname", [0x00D7] = "TextPoketch", [0x00D8] = "TextTrainer", [0x00D9] = "TextPlayerTrainerType", [0x00DA] = "TextPokemonStored", [0x00DB] = "TextStarterPokemon", [0x00DC] = "TextRivalStarter", [0x00DD] = "TextCounterpartStarter", [0x00DE] = "CheckStarter", [0x00DF] = "TextGoods", [0x00E0] = "TextTrap", [0x00E1] = "TextTreasure", [0x00E2] = "TextMapName", [0x00E3] = "GetSwarmInfo", [0x00E4] = "TrainerID", [0x00E5] = "TrainerBattle", [0x00E6] = "TrainerMessage", [0x00E7] = "TrainerMsgCheck", [0x00E8] = "TrainerRematchMsgCheck", [0x00E9] = "TrainerTypeCheck", [0x00EA] = "TrainerMusic", [0x00EB] = "LostBattle", [0x00EC] = "CheckBattleIsLost", [0x00ED] = "CheckDefeatedPokemon", [0x00EE] = "Check2vs2", [0x00EF] = "DummyTrainerBattle", [0x00F0] = "DummyTrainerFlag", [0x00F1] = "DummyTrainerFlagJump", [0x00F7] = "PokemonContest", [0x0111] = "FlashContest", [0x0112] = "EndFlash", [0x0116] = "ShowLinkCountRecord", [0x0119] = "CheckPokerus", [0x011A] = "GetPokemonGender", [0x011B] = "SetWarpData", [0x011C] = "GetElevatorFloor", [0x011D] = "ElevatorBox", [0x011E] = "CountSinnohDexSeen", [0x011F] = "CountSinnohDexObtained", [0x0120] = "CountNationalDexSeen", [0x0121] = "CountNationalDexObtained", [0x0122] = "DummyNationalDexCheck", [0x0123] = "GetDexProgressMsg", [0x0124] = "WildBattle", [0x0125] = "FirstBattle", [0x0126] = "CatchTutorial", [0x0127] = "UpdateHoneyTree", [0x0128] = "CheckHoneyTree", [0x0129] = "HoneyTreeBattle", [0x012A] = "StopHoneyTreeAnimation", [0x012B] = "SignatureScreen", [0x012C] = "CheckSaveGame", [0x012D] = "SaveGame", [0x012E] = "CheckPortrait", [0x012F] = "CheckContestPortrait", [0x0131] = "GivePoketch", [0x0132] = "PoketchFlag", [0x0133] = "GivePoketchApp", [0x0134] = "CheckPoketchApp", [0x0147] = "MartScreen", [0x0148] = "SpMartScreen", [0x0149] = "GoodsMartScreen", [0x014A] = "SealMartScreen", [0x014B] = "DummyLostBattle", [0x014C] = "SetLastWarp", [0x014D] = "CheckPlayerGender", [0x014E] = "HealPokemon", [0x014F] = "DummyUnderground", [0x0152] = "SetPlayerDirComm", [0x0157] = "CheckPokedex", [0x0158] = "GivePokedex", [0x0159] = "CheckShoes", [0x015A] = "GiveShoes", [0x015B] = "CheckBadge", [0x015C] = "GiveBadge", [0x015D] = "CountBadges", [0x015E] = "CheckBag", [0x015F] = "GiveBag", [0x0160] = "CheckPartner", [0x0161] = "SetPartner", [0x0162] = "ClearPartner", [0x0163] = "CheckStepFlag", [0x0164] = "SetStepFlag", [0x0165] = "ClearStepFlag", [0x0166] = "CheckGameIsCompleted", [0x0167] = "GameCompleted", [0x0168] = "DoorAnimation", [0x0169] = "WaitDoor", [0x016A] = "FreeDoor", [0x016B] = "OpenDoor", [0x016C] = "CloseDoor", [0x016D] = "GetDaycareNames", [0x016E] = "GetDaycareStatus", [0x016F] = "InitPastoriaGym", [0x0170] = "PastoriaGymButton", [0x0171] = "InitHearthomeGym", [0x0172] = "HearthomeGymLift", [0x0173] = "InitCanalaveGym", [0x0174] = "InitVeilstoneGym", [0x0175] = "InitSunyshoreGym", [0x0176] = "SunyshoreGymGear", [0x0177] = "GetPartyCount", [0x0178] = "BagScreen", [0x0179] = "GetBagSelection", [0x017A] = "CheckPocketItems", [0x017B] = "TextBerry", [0x017C] = "TextNature", [0x017D] = "GetBerryGrowth", [0x017E] = "GetBerrySpecies", [0x017F] = "GetBerryMulch", [0x0180] = "GetBerryDryness", [0x0181] = "CheckBerryAmount", [0x0182] = "SetBerryMulch", [0x0183] = "SetBerrySpecies", [0x0184] = "WateringAnimation", [0x0185] = "HarvestBerries", [0x0186] = "SetOWDefaultPosition", [0x0187] = "SetOWPosition", [0x0188] = "SetOWDefaultMovement", [0x0189] = "SetOWDefaultDirection", [0x018A] = "SetWarpPosition", [0x018B] = "SetSpawnablePosition", [0x018C] = "SetOWDirection", [0x0190] = "WaitTimeOrAB", [0x0191] = "PokemonSelectionScreen", [0x0193] = "GetSelectedPartySlot", [0x0198] = "GetPartyPokemonID", [0x0199] = "CheckTradedPokemon", [0x019A] = "CountPartyBornPokemon", [0x019B] = "CountRemainingPokemon", [0x019C] = "CountTotalAlivePokemon", [0x019D] = "CountPartyEggs", [0x01A3] = "TakeMoneyFlex", [0x01AB] = "CompareMoneyFlex", [0x01AC] = "EggHatchScreen", //This command is dangerous when used without an egg in party [0x01AD] = "DummyDaycare", [0x01AE] = "CheckDaycareLevel", [0x01B1] = "UnvanishOverworld", [0x01B2] = "VanishOverworld", [0x01B3] = "MailScreen", [0x01B4] = "CountMail", [0x01B6] = "GetTimePeriod", [0x01B7] = "GetRandom", [0x01B8] = "DummyGetRandom", [0x01B9] = "GetPokemonHappiness", [0x01BA] = "AddHappiness", [0x01BB] = "SubHappiness", [0x01BD] = "GetPlayerDirection", [0x01C0] = "CheckBornPokemonInParty", [0x01C1] = "ComparePokemonPlayerSize", [0x01C2] = "SetPokemonSizeRecord", [0x01C3] = "TextPartyPokemonSize", [0x01C4] = "TextPokemonSizeRecord", [0x01C5] = "InitPokemonSizeRecord", [0x01C8] = "GetMoveCount", [0x01C9] = "DeleteMove", [0x01CA] = "GetPartyPokemonMove", [0x01CB] = "TextPartyPokemonMove", [0x01CD] = "CreateJournalData", [0x01CF] = "Strength", [0x01D0] = "Flash", [0x01D1] = "Defog", [0x01E8] = "CheckCompleteSinnohDex", [0x01E9] = "CheckCompleteNationalDex", [0x01EA] = "RegisterSinnohPokedex", [0x01EB] = "RegisterNationalPokedex", [0x01F1] = "GetFossilCount", [0x01F4] = "GetPokeNameFromFossil", [0x01F5] = "CheckFossil", [0x01F6] = "CountPokemonUnderLevel", [0x01F7] = "SurvivePoison", [0x01F8] = "FinishOverworldScreen", [0x01F9] = "DummyGetVar", [0x01FA] = "MessageAllFromArchive", [0x01FB] = "MessageFromArchive", [0x0200] = "GetPreviousHeaderID", [0x0201] = "GetCurrentHeaderID", [0x0202] = "SetSafariFlag", [0x0203] = "BattleRoomWarp", [0x0204] = "ExitBattleRoom", [0x0205] = "GeonetScreen", [0x0206] = "GreatMarshBinoculars", [0x0208] = "ShowPokemonPic", [0x0209] = "HidePokemonPic", [0x020D] = "SpearPillarSequence", [0x020E] = "KeepSafariTrain", [0x020F] = "SafariTrainAnimation", [0x0210] = "CheckSafariTrainMovement", [0x0211] = "IgnoreHeights", [0x0212] = "GetPokemonNature", [0x0213] = "CheckPartyNature", [0x0214] = "CheckSpiritombCounter", [0x0215] = "ClearAmitySquareSteps", [0x0216] = "CheckAmitySquareSteps", [0x0217] = "GetAmitySquareAccessory", [0x021C] = "AddRoamingPokemon", [0x021D] = "UnionGroup", [0x0221] = "RememberMoveScreen", [0x0222] = "DummyMoveCommand", // [0x0223] = "ResponseRememberMove", [0x0224] = "TeachMoveScreen", [0x0225] = "ResponseTeachMove", [0x0226] = "InitTrade", [0x0227] = "GetOfferedPokemon", [0x0228] = "GetRequestedPokemon", [0x0229] = "TradePokemonScreen", [0x022A] = "EndTrade", [0x022B] = "ActivateInternationalDex", [0x022C] = "ActivateDimorphismDex", [0x022D] = "NationalDex", [0x022E] = "CountPokemonRibbons", [0x022F] = "CountPartyRibbons", [0x0230] = "CheckRibbon", [0x0231] = "GiveRibbon", [0x0232] = "TextRibbon", [0x0233] = "CountPokemonEVs", [0x0234] = "GetDayOfWeek", [0x0239] = "ShowRulesList", [0x023A] = "GetPokemonFootprint", [0x023B] = "PCHealAnimation", [0x023C] = "ElevatorAnimation", [0x023D] = "ShipAnimation", [0x023E] = "MysteryGiftGive", [0x0246] = "CheckVersion", [0x0247] = "FirstPokemonInParty", [0x0248] = "GetPartyPokemonTypes", [0x024E] = "GetLottoNumber", [0x024F] = "CheckWinLotto", [0x0250] = "InitLotto", [0x0252] = "CountPCFreeSpace", [0x0261] = "TextAccessory", [0x0262] = "CheckPokemonInParty", [0x0263] = "SetDeoxysForm", //0x0264 is different between DP/Plat [0x0267] = "SlotMachine", [0x0268] = "GetHour", [0x0269] = "ShakeOverworld", [0x026A] = "BlinkOverworld", [0x026B] = "CheckRegis", [0x026D] = "MessageUnown", [0x026E] = "CheckGBACartidge", [0x026F] = "ResetSpiritombCounter", [0x0270] = "SetMatrixAlternativeMap", [0x0271] = "WriteStone", [0x0272] = "TextStoneName", [0x027A] = "SunyshoreBinoculars", [0x0280] = "TextNumberSp", [0x0282] = "CheckBirthday", [0x0283] = "MusicVolumeSet", [0x0284] = "CountSeenUnown", [0x028B] = "CheckEventValidity", [0x028F] = "CountLeagueVictories", [0x0297] = "GetBP", [0x0298] = "AddBP", [0x0299] = "SubBP", [0x029A] = "CompareBP", [0x029F] = "ShakeCamera", [0x02A0] = "Battle2vs2", [0x02A5] = "PartyPokemonTradeScreen", [0x02AC] = "ActivateMysteryGift", [0x02AD] = "GetOWMovement", [0x02AE] = "CountPlayingSeq", [0x02B3] = "TextSeal", [0x02B4] = "DummyLockAll", [0x02BC] = "LastBattleCheckCaught", [0x02BD] = "SpWildBattle", [0x02BE] = "CheckTrainerCardLevel", [0x02BF] = "DummyRideBike", [0x02C1] = "ShowSaveBox", [0x02C2] = "HideSaveBox", [0x02C3] = "ScopeMode", [0x0333] = "SetFieldVolume", }; public static Dictionary DPPtScrCmdParameters = new Dictionary() { [0x0000] = new byte[1] { 0 }, [0x0001] = new byte[1] { 0 }, [0x0002] = new byte[1] { 0 }, [0x0003] = new byte[] { 2, 2 }, [0x0004] = new byte[] { 1, 1 }, [0x0005] = new byte[] { 1, 4 }, [0x0006] = new byte[] { 1, 4 }, [0x0007] = new byte[] { 4, 1 }, [0x0008] = new byte[] { 4, 1 }, [0x0009] = new byte[] { 1, 1 }, [0x000A] = new byte[] { 4, 4 }, [0x000B] = new byte[] { 1, 1 }, [0x000C] = new byte[] { 1, 1 }, [0x000D] = new byte[] { 1, 4 }, [0x000E] = new byte[] { 4, 1 }, [0x000F] = new byte[] { 4, 1 }, [0x0010] = new byte[] { 4, 4 }, [0x0011] = new byte[] { 2, 2 }, [0x0012] = new byte[] { 2, 2 }, [0x0013] = new byte[] { 2 }, [0x0014] = new byte[] { 2 }, [0x0015] = new byte[1] { 0 }, [0x0016] = new byte[] { 4 }, [0x0017] = new byte[] { 1, 4 }, [0x0018] = new byte[] { 1, 4 }, [0x0019] = new byte[] { 1, 4 }, [0x001A] = new byte[] { 4 }, [0x001B] = new byte[1] { 0 }, [0x001C] = new byte[] { 1, 4 }, [0x001D] = new byte[] { 1, 4 }, [0x001E] = new byte[] { 2 }, [0x001F] = new byte[] { 2 }, [0x0020] = new byte[] { 2 }, [0x0021] = new byte[] { 2, 2 }, [0x0022] = new byte[] { 2 }, [0x0023] = new byte[] { 2 }, [0x0024] = new byte[] { 2 }, [0x0025] = new byte[] { 2 }, [0x0026] = new byte[] { 2, 2 }, [0x0027] = new byte[] { 2, 2 }, [0x0028] = new byte[] { 2, 2 }, [0x0029] = new byte[] { 2, 2 }, [0x002A] = new byte[] { 2, 2 }, [0x002B] = new byte[] { 1 }, [0x002C] = new byte[] { 1 }, [0x002D] = new byte[] { 2 }, [0x002E] = new byte[] { 2 }, [0x002F] = new byte[] { 1 }, [0x0030] = new byte[1] { 0 }, [0x0031] = new byte[1] { 0 }, [0x0032] = new byte[1] { 0 }, [0x0033] = new byte[1] { 0 }, [0x0034] = new byte[1] { 0 }, [0x0035] = new byte[1] { 0 }, [0x0036] = new byte[] { 1, 1, 2, 2 }, [0x0037] = new byte[] { 1, 2 }, [0x0038] = new byte[] { 1 }, [0x0039] = new byte[1] { 0 }, [0x003A] = new byte[] { 1, 2 }, [0x003B] = new byte[] { 2 }, [0x003C] = new byte[1] { 0 }, [0x003D] = new byte[] { 1, 1, 1, 1, 1, 1 }, [0x003E] = new byte[] { 2 }, [0x003F] = new byte[1] { 0 }, [0x0040] = new byte[] { 1, 1, 1, 1, 2 }, [0x0041] = new byte[] { 1, 1, 1, 1, 2 }, [0x0042] = new byte[] { 1, 1 }, [0x0043] = new byte[1] { 0 }, [0x0044] = new byte[] { 1, 1, 1, 1, 2 }, [0x0045] = new byte[] { 1, 1, 1, 1, 2 }, [0x0046] = new byte[] { 2, 2, 2 }, [0x0047] = new byte[1] { 0 }, [0x0048] = new byte[] { 1 }, [0x0049] = new byte[] { 2 }, [0x004A] = new byte[] { 2 }, [0x004B] = new byte[] { 2 }, [0x004C] = new byte[] { 2, 2 }, [0x004D] = new byte[1] { 0 }, [0x004E] = new byte[] { 2 }, [0x004F] = new byte[1] { 0 }, [0x0050] = new byte[] { 2 }, [0x0051] = new byte[] { 2 }, [0x0052] = new byte[1] { 0 }, [0x0053] = new byte[] { 2 }, [0x0054] = new byte[] { 2, 2 }, [0x0055] = new byte[] { 2 }, [0x0056] = new byte[] { 1, 1 }, [0x0057] = new byte[] { 2 }, [0x0058] = new byte[] { 1 }, [0x0059] = new byte[] { 2 }, [0x005A] = new byte[] { 2 }, [0x005B] = new byte[1] { 0 }, [0x005C] = new byte[1] { 0 }, [0x005D] = new byte[1] { 0 }, [0x005E] = new byte[] { 2, 4 }, [0x005F] = new byte[1] { 0 }, [0x0060] = new byte[1] { 0 }, [0x0061] = new byte[1] { 0 }, [0x0062] = new byte[] { 2 }, [0x0063] = new byte[] { 2 }, [0x0064] = new byte[] { 2 }, [0x0065] = new byte[] { 2 }, [0x0066] = new byte[] { 2, 2 }, [0x0067] = new byte[1] { 0 }, [0x0068] = new byte[1] { 0 }, [0x0069] = new byte[] { 2, 2 }, [0x006A] = new byte[] { 2, 2, 2 }, [0x006B] = new byte[] { 2, 2, 2 }, [0x006C] = new byte[] { 2, 1 }, [0x006D] = new byte[] { 2, 2 }, [0x006E] = new byte[1] { 0 }, [0x006F] = new byte[] { 4 }, [0x0070] = new byte[] { 4 }, [0x0071] = new byte[] { 2, 4 }, [0x0072] = new byte[] { 2, 2 }, [0x0073] = new byte[1] { 0 }, [0x0074] = new byte[1] { 0 }, [0x0075] = new byte[] { 2, 2 }, [0x0076] = new byte[1] { 0 }, [0x0077] = new byte[1] { 0 }, [0x0078] = new byte[] { 2 }, [0x0079] = new byte[] { 2 }, [0x007A] = new byte[] { 2 }, [0x007B] = new byte[] { 2, 2, 2 }, [0x007C] = new byte[] { 2, 2, 2 }, [0x007D] = new byte[] { 2, 2, 2 }, [0x007E] = new byte[] { 2, 2, 2 }, [0x007F] = new byte[] { 2, 2 }, [0x0080] = new byte[] { 2, 2 }, [0x0081] = new byte[1] { 0 }, [0x0082] = new byte[1] { 0 }, [0x0083] = new byte[] { 2, 2, 2 }, [0x0084] = new byte[1] { 0 }, [0x0085] = new byte[] { 2, 2, 2 }, [0x0086] = new byte[1] { 0 }, [0x0087] = new byte[] { 2, 2, 2 }, [0x0088] = new byte[1] { 0 }, [0x0089] = new byte[1] { 0 }, [0x008A] = new byte[1] { 0 }, [0x008B] = new byte[1] { 0 }, [0x008C] = new byte[1] { 0 }, [0x008D] = new byte[1] { 0 }, [0x008E] = new byte[1] { 0 }, [0x008F] = new byte[] { 2, 2, 2 }, [0x0090] = new byte[1] { 0 }, [0x0091] = new byte[1] { 0 }, [0x0092] = new byte[1] { 0 }, [0x0093] = new byte[] { 2, 2 }, [0x0094] = new byte[] { 2, 2 }, [0x0095] = new byte[] { 2, 2 }, [0x0096] = new byte[] { 2, 2, 2, 2 }, [0x0097] = new byte[] { 2, 2 }, [0x0098] = new byte[] { 2, 2, 2 }, [0x0099] = new byte[] { 2, 2, 2 }, [0x009A] = new byte[] { 2, 2 }, [0x009B] = new byte[] { 2, 2 }, [0x009C] = new byte[1] { 0 }, [0x009D] = new byte[1] { 0 }, [0x009E] = new byte[1] { 0 }, [0x009F] = new byte[1] { 0 }, [0x00A0] = new byte[1] { 0 }, [0x00A1] = new byte[1] { 0 }, [0x00A2] = new byte[1] { 0 }, [0x00A3] = new byte[1] { 0 }, [0x00A4] = new byte[1] { 0 }, [0x00A5] = new byte[1] { 0 }, [0x00A6] = new byte[] { 2, 2, 2 }, [0x00A7] = new byte[] { 2, 2 }, [0x00A8] = new byte[] { 2, 2 }, [0x00A9] = new byte[1] { 0 }, [0x00AA] = new byte[1] { 0 }, [0x00AB] = new byte[] { 1 }, [0x00AC] = new byte[1] { 0 }, [0x00AD] = new byte[1] { 0 }, [0x00AE] = new byte[1] { 0 }, [0x00AF] = new byte[1] { 0 }, [0x00B0] = new byte[1] { 0 }, [0x00B1] = new byte[1] { 0 }, [0x00B2] = new byte[] { 2, 2 }, [0x00B3] = new byte[] { 2 }, [0x00B4] = new byte[1] { 0 }, [0x00B5] = new byte[1] { 0 }, [0x00B6] = new byte[] { 2 }, [0x00B7] = new byte[] { 2, 2 }, [0x00B8] = new byte[] { 2 }, [0x00B9] = new byte[] { 2, 2 }, [0x00BA] = new byte[] { 2 }, [0x00BB] = new byte[] { 2, 2 }, [0x00BC] = new byte[] { 2, 2, 2, 2 }, [0x00BD] = new byte[1] { 0 }, [0x00BE] = new byte[] { 2, 2, 2, 2, 2 }, [0x00BF] = new byte[] { 2 }, [0x00C0] = new byte[] { 2 }, [0x00C1] = new byte[] { 2 }, [0x00C2] = new byte[] { 2, 2, 2 }, [0x00C3] = new byte[1] { 0 }, [0x00C4] = new byte[1] { 0 }, [0x00C5] = new byte[] { 2 }, [0x00C6] = new byte[1] { 0 }, [0x00C7] = new byte[] { 2 }, [0x00C8] = new byte[] { 1 }, [0x00C9] = new byte[] { 1 }, [0x00CA] = new byte[] { 2 }, [0x00CB] = new byte[] { 2 }, [0x00CC] = new byte[1] { 0 }, [0x00CD] = new byte[] { 1 }, [0x00CE] = new byte[] { 1 }, [0x00CF] = new byte[] { 1 }, [0x00D0] = new byte[] { 1, 2 }, [0x00D1] = new byte[] { 1, 2 }, [0x00D2] = new byte[] { 1, 2 }, [0x00D3] = new byte[] { 1, 2 }, [0x00D4] = new byte[] { 1, 2 }, [0x00D5] = new byte[] { 1, 2 }, [0x00D6] = new byte[] { 1, 2 }, [0x00D7] = new byte[] { 1, 2 }, [0x00D8] = new byte[] { 1, 2 }, [0x00D9] = new byte[] { 1 }, [0x00DA] = new byte[] { 1, 2, 2, 1 }, [0x00DB] = new byte[] { 1 }, [0x00DC] = new byte[] { 1 }, [0x00DD] = new byte[] { 1 }, [0x00DE] = new byte[] { 2 }, [0x00DF] = new byte[] { 1, 2 }, [0x00E0] = new byte[] { 1, 2 }, [0x00E1] = new byte[] { 1, 2 }, [0x00E2] = new byte[] { 1, 2 }, [0x00E3] = new byte[] { 2, 2 }, [0x00E4] = new byte[] { 2 }, [0x00E5] = new byte[] { 2, 2 }, [0x00E6] = new byte[] { 2, 2 }, [0x00E7] = new byte[] { 2, 2, 2 }, [0x00E8] = new byte[] { 2, 2, 2 }, [0x00E9] = new byte[] { 2 }, [0x00EA] = new byte[] { 2 }, [0x00EB] = new byte[1] { 0 }, [0x00EC] = new byte[] { 2 }, [0x00ED] = new byte[] { 2 }, [0x00EE] = new byte[] { 2 }, [0x00EF] = new byte[1] { 0 }, [0x00F0] = new byte[1] { 0 }, [0x00F1] = new byte[] { 4 }, [0x00F2] = new byte[] { 2, 2, 2, 2 }, [0x00F3] = new byte[] { 2, 2, 2, 2 }, [0x00F4] = new byte[1] { 0 }, [0x00F5] = new byte[1] { 0 }, [0x00F6] = new byte[1] { 0 }, [0x00F7] = new byte[] { 2 }, [0x00F8] = new byte[] { 2 }, [0x00F9] = new byte[] { 2 }, [0x00FA] = new byte[] { 2, 2, 2, 2 }, [0x00FB] = new byte[] { 2 }, [0x00FC] = new byte[1] { 0 }, [0x00FD] = new byte[] { 2, 2 }, [0x00FE] = new byte[] { 2, 2 }, [0x00FF] = new byte[] { 2, 2 }, [0x0100] = new byte[1] { 0 }, [0x0101] = new byte[1] { 0 }, [0x0102] = new byte[] { 2 }, [0x0103] = new byte[] { 2 }, [0x0104] = new byte[] { 2 }, [0x0105] = new byte[1] { 0 }, [0x0106] = new byte[] { 2 }, [0x0107] = new byte[] { 2 }, [0x0108] = new byte[] { 2 }, [0x0109] = new byte[] { 2 }, [0x010A] = new byte[] { 2, 2 }, [0x010B] = new byte[] { 2, 2 }, [0x010C] = new byte[] { 2 }, [0x010D] = new byte[] { 2 }, [0x010E] = new byte[] { 2 }, [0x010F] = new byte[] { 2 }, [0x0110] = new byte[] { 2, 2, 2, 2 }, [0x0111] = new byte[] { 2 }, [0x0112] = new byte[1] { 0 }, [0x0113] = new byte[1] { 0 }, [0x0114] = new byte[1] { 0 }, [0x0115] = new byte[] { 2, 2, 2 }, [0x0116] = new byte[1] { 0 }, [0x0117] = new byte[1] { 0 }, [0x0118] = new byte[1] { 0 }, [0x0119] = new byte[] { 2 }, [0x011A] = new byte[1] { 0 }, [0x011B] = new byte[] { 2, 2, 2, 2, 2 }, [0x011C] = new byte[] { 2 }, [0x011E] = new byte[] { 2 }, [0x011F] = new byte[1] { 0 }, [0x0120] = new byte[] { 2 }, [0x0121] = new byte[] { 2 }, [0x0122] = new byte[1] { 0 }, [0x0123] = new byte[] { 1, 2 }, [0x0124] = new byte[] { 2, 2 }, //0x0125 is different between DP and PT [0x0126] = new byte[1] { 0 }, [0x0127] = new byte[1] { 0 }, [0x0128] = new byte[] { 2 }, [0x0129] = new byte[1] { 0 }, [0x012A] = new byte[1] { 0 }, [0x012B] = new byte[1] { 0 }, [0x012C] = new byte[] { 2 }, [0x012D] = new byte[] { 2 }, [0x012E] = new byte[] { 2, 2 }, [0x012F] = new byte[] { 2, 2 }, [0x0130] = new byte[] { 2 }, [0x0131] = new byte[1] { 0 }, [0x0132] = new byte[] { 2 }, [0x0133] = new byte[] { 2 }, [0x0134] = new byte[] { 2, 2 }, [0x0135] = new byte[] { 2 }, [0x0136] = new byte[1] { 0 }, [0x0137] = new byte[1] { 0 }, [0x0138] = new byte[] { 2 }, [0x0139] = new byte[] { 2 }, [0x013A] = new byte[1] { 0 }, [0x013B] = new byte[1] { 0 }, [0x013C] = new byte[] { 2 }, [0x013D] = new byte[1] { 0 }, [0x013E] = new byte[1] { 0 }, [0x013F] = new byte[] { 2, 2 }, [0x0140] = new byte[] { 2 }, [0x0141] = new byte[] { 2 }, [0x0142] = new byte[1] { 0 }, [0x0143] = new byte[] { 2, 2 }, [0x0144] = new byte[] { 2 }, [0x0145] = new byte[] { 2 }, [0x0146] = new byte[] { 2, 2 }, [0x0147] = new byte[] { 2 }, [0x0148] = new byte[] { 2 }, [0x0149] = new byte[] { 2 }, [0x014A] = new byte[] { 2 }, [0x014B] = new byte[1] { 0 }, [0x014C] = new byte[] { 2 }, [0x014D] = new byte[] { 2 }, [0x014E] = new byte[1] { 0 }, [0x014F] = new byte[1] { 0 }, [0x0150] = new byte[1] { 0 }, [0x0151] = new byte[1] { 0 }, [0x0152] = new byte[] { 2 }, [0x0153] = new byte[1] { 0 }, [0x0154] = new byte[1] { 0 }, [0x0155] = new byte[] { 2, 2 }, [0x0156] = new byte[] { 2 }, [0x0157] = new byte[] { 2 }, [0x0158] = new byte[1] { 0 }, [0x0159] = new byte[] { 2 }, [0x015A] = new byte[1] { 0 }, [0x015B] = new byte[] { 2, 2 }, [0x015C] = new byte[] { 2 }, [0x015D] = new byte[] { 2 }, [0x015E] = new byte[] { 2 }, [0x015F] = new byte[1] { 0 }, [0x0160] = new byte[] { 2 }, [0x0161] = new byte[1] { 0 }, [0x0162] = new byte[1] { 0 }, [0x0163] = new byte[] { 2 }, [0x0164] = new byte[1] { 0 }, [0x0165] = new byte[1] { 0 }, [0x0166] = new byte[] { 2 }, [0x0167] = new byte[1] { 0 }, [0x0168] = new byte[] { 2, 2, 2, 2, 1 }, [0x0169] = new byte[] { 1 }, [0x016A] = new byte[] { 1 }, [0x016B] = new byte[] { 1 }, [0x016C] = new byte[] { 1 }, [0x016D] = new byte[1] { 0 }, [0x016E] = new byte[] { 2 }, [0x016F] = new byte[1] { 0 }, [0x0170] = new byte[1] { 0 }, [0x0171] = new byte[1] { 0 }, [0x0172] = new byte[1] { 0 }, [0x0173] = new byte[1] { 0 }, [0x0174] = new byte[1] { 0 }, [0x0175] = new byte[] { 1 }, [0x0176] = new byte[] { 1 }, [0x0177] = new byte[] { 2 }, [0x0178] = new byte[] { 1 }, [0x0179] = new byte[] { 2 }, [0x017A] = new byte[] { 2, 2 }, [0x017B] = new byte[] { 1, 2, 2 }, [0x017C] = new byte[] { 1, 2 }, [0x017D] = new byte[] { 2 }, [0x017E] = new byte[] { 2 }, [0x017F] = new byte[] { 2 }, [0x0180] = new byte[] { 2 }, [0x0181] = new byte[] { 2 }, [0x0182] = new byte[] { 2 }, [0x0183] = new byte[] { 2 }, [0x0184] = new byte[] { 2 }, [0x0185] = new byte[1] { 0 }, [0x0186] = new byte[] { 2, 2, 2 }, [0x0187] = new byte[] { 2, 2, 2, 2, 2 }, [0x0188] = new byte[] { 2, 2 }, [0x0189] = new byte[] { 2, 2 }, [0x018A] = new byte[] { 2, 2, 2 }, [0x018B] = new byte[] { 2, 2, 2 }, [0x018C] = new byte[] { 2, 2 }, [0x018D] = new byte[1] { 0 }, [0x018E] = new byte[1] { 0 }, [0x018F] = new byte[] { 2 }, [0x0190] = new byte[] { 2 }, [0x0191] = new byte[1] { 0 }, [0x0192] = new byte[1] { 0 }, [0x0193] = new byte[] { 2 }, [0x0194] = new byte[] { 2, 2, 2, 2 }, [0x0195] = new byte[] { 2, 2 }, [0x0196] = new byte[] { 2 }, [0x0197] = new byte[] { 2 }, [0x0198] = new byte[] { 2, 2 }, [0x0199] = new byte[] { 2, 2 }, [0x019A] = new byte[] { 2 }, [0x019B] = new byte[] { 2, 2 }, [0x019C] = new byte[] { 2 }, [0x019D] = new byte[] { 2 }, [0x019E] = new byte[] { 2, 2 }, [0x019F] = new byte[] { 2 }, [0x01A0] = new byte[1] { 0 }, [0x01A1] = new byte[1] { 0 }, [0x01A2] = new byte[1] { 0 }, [0x01A3] = new byte[] { 2 }, [0x01A4] = new byte[] { 2, 2 }, [0x01A5] = new byte[1] { 0 }, [0x01A6] = new byte[1] { 0 }, [0x01A7] = new byte[1] { 0 }, [0x01A8] = new byte[1] { 0 }, [0x01A9] = new byte[1] { 0 }, [0x01AA] = new byte[] { 2, 2 }, [0x01AB] = new byte[] { 2, 2 }, [0x01AC] = new byte[1] { 0 }, [0x01AD] = new byte[1] { 0 }, [0x01AE] = new byte[] { 2, 2 }, [0x01AF] = new byte[] { 2, 2, 2 }, [0x01B0] = new byte[] { 2 }, [0x01B1] = new byte[] { 2 }, [0x01B2] = new byte[] { 2 }, [0x01B3] = new byte[1] { 0 }, [0x01B4] = new byte[] { 2 }, [0x01B5] = new byte[] { 2 }, [0x01B6] = new byte[] { 2 }, [0x01B7] = new byte[] { 2, 2 }, [0x01B8] = new byte[] { 2, 2 }, [0x01B9] = new byte[] { 2, 2 }, [0x01BA] = new byte[] { 2, 2 }, [0x01BB] = new byte[] { 2, 2 }, [0x01BC] = new byte[] { 2, 2, 2, 2 }, [0x01BD] = new byte[] { 2 }, [0x01BE] = new byte[] { 2 }, [0x01BF] = new byte[] { 2 }, [0x01C0] = new byte[] { 2, 2 }, [0x01C1] = new byte[] { 2, 2 }, [0x01C2] = new byte[] { 2 }, [0x01C3] = new byte[] { 2, 2, 2 }, [0x01C4] = new byte[] { 2, 2, 2 }, [0x01C5] = new byte[1] { 0 }, [0x01C6] = new byte[] { 2 }, [0x01C7] = new byte[] { 2 }, [0x01C8] = new byte[] { 2, 2 }, [0x01C9] = new byte[] { 2, 2 }, [0x01CA] = new byte[] { 2, 2, 2 }, [0x01CB] = new byte[] { 1, 2, 2 }, [0x01CC] = new byte[1] { 0 }, [0x01CD] = new byte[] { 2, 2, 2, 2, 2 }, [0x01CE] = new byte[1] { 0 }, [0x01CF] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x01D0] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x01D1] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x01D2] = new byte[] { 2, 2 }, [0x01D3] = new byte[] { 2, 2, 2 }, [0x01D4] = new byte[1] { 0 }, [0x01D5] = new byte[] { 2 }, [0x01D6] = new byte[] { 2, 2 }, [0x01D7] = new byte[] { 2 }, [0x01D8] = new byte[] { 2 }, [0x01D9] = new byte[] { 2, 2 }, [0x01DA] = new byte[1] { 0 }, [0x01DB] = new byte[] { 2, 2 }, [0x01DC] = new byte[1] { 0 }, [0x01DD] = new byte[] { 2, 2, 2 }, [0x01DE] = new byte[] { 2, 2, 2, 2 }, [0x01DF] = new byte[] { 2 }, [0x01E0] = new byte[] { 2 }, [0x01E2] = new byte[] { 2, 2 }, [0x01E3] = new byte[] { 2, 2 }, [0x01E4] = new byte[] { 2 }, [0x01E5] = new byte[] { 2 }, [0x01E6] = new byte[] { 2, 2, 2 }, [0x01E7] = new byte[] { 2, 2, 2, 1 }, [0x01E8] = new byte[] { 2 }, [0x01E9] = new byte[] { 2 }, [0x01EA] = new byte[] { 2 }, [0x01EB] = new byte[] { 2 }, [0x01EC] = new byte[1] { 0 }, [0x01ED] = new byte[] { 2 }, [0x01EE] = new byte[1] { 0 }, [0x01EF] = new byte[1] { 0 }, [0x01F0] = new byte[1] { 0 }, [0x01F1] = new byte[] { 2 }, [0x01F2] = new byte[1] { 0 }, [0x01F3] = new byte[1] { 0 }, [0x01F4] = new byte[] { 2, 2 }, [0x01F5] = new byte[] { 2, 2, 2 }, [0x01F6] = new byte[] { 2, 2 }, [0x01F7] = new byte[] { 2, 2 }, [0x01F8] = new byte[1] { 0 }, [0x01F9] = new byte[] { 2 }, [0x01FA] = new byte[1] { 0 }, [0x01FB] = new byte[] { 2, 2 }, [0x01FC] = new byte[1] { 0 }, [0x01FD] = new byte[] { 2, 2, 2, 2 }, [0x01FE] = new byte[] { 1 }, [0x01FF] = new byte[] { 2, 2, 2 }, [0x0200] = new byte[] { 2 }, [0x0201] = new byte[] { 2 }, [0x0202] = new byte[] { 1 }, [0x0203] = new byte[] { 2, 2, 2, 2, 2 }, [0x0204] = new byte[1] { 0 }, [0x0205] = new byte[1] { 0 }, [0x0206] = new byte[1] { 0 }, [0x0207] = new byte[] { 2 }, [0x0208] = new byte[] { 2, 2 }, [0x0209] = new byte[1] { 0 }, [0x020A] = new byte[] { 2 }, [0x020B] = new byte[1] { 0 }, [0x020C] = new byte[1] { 0 }, [0x020D] = new byte[] { 1, 2 }, [0x020E] = new byte[1] { 0 }, [0x020F] = new byte[] { 2, 2 }, [0x0210] = new byte[] { 2, 2 }, [0x0211] = new byte[] { 1 }, [0x0212] = new byte[] { 2, 2 }, [0x0213] = new byte[] { 2, 2 }, [0x0214] = new byte[] { 2 }, [0x0215] = new byte[1] { 0 }, [0x0216] = new byte[] { 2 }, [0x0217] = new byte[] { 2, 2 }, [0x0218] = new byte[] { 2 }, [0x0219] = new byte[] { 2 }, [0x021A] = new byte[] { 2 }, [0x021B] = new byte[1] { 0 }, [0x021C] = new byte[] { 1 }, [0x021D] = new byte[] { 0xFF, 2, //0xFF = Variable number of parameters, 2 = size of first parameter 0, 2, 2, 2, //if value is 0, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 1, 2, 2, 2, //if value is 1, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 2, 2, 2, 2, //if value is 2, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 3, 2, 2, 2, //if value is 3, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 4, 1, 2, //if value is 4, read 1 parameter... which takes up 2 bytes 5, 1, 2, //if value is 5, read 1 parameter... which takes up 2 bytes 6, 0 //if value is 6, don't read anything }, [0x021E] = new byte[1] { 0 }, [0x021F] = new byte[] { 2, 2 }, [0x0220] = new byte[1] { 0 }, [0x0221] = new byte[] { 2 }, [0x0222] = new byte[1] { 0 }, [0x0223] = new byte[] { 2 }, [0x0224] = new byte[] { 2, 2 }, [0x0225] = new byte[] { 2 }, [0x0226] = new byte[] { 1 }, [0x0227] = new byte[1] { 0 }, [0x0228] = new byte[] { 2 }, [0x0229] = new byte[] { 2 }, [0x022A] = new byte[1] { 0 }, [0x022B] = new byte[1] { 0 }, [0x022C] = new byte[1] { 0 }, [0x022D] = new byte[] { 1, 2 }, [0x022E] = new byte[] { 2, 2 }, [0x022F] = new byte[] { 2 }, [0x0230] = new byte[] { 2, 2, 2 }, [0x0231] = new byte[] { 2, 2 }, [0x0232] = new byte[] { 1, 2 }, [0x0233] = new byte[] { 2, 2 }, [0x0234] = new byte[] { 2 }, [0x0235] = new byte[] { 0xFF, 2, //0xFF = Variable number of parameters, 2 = size of first parameter 0, 1, 2, //if value is 0, read 1 parameter... which takes up 2 bytes 1, 3, 2, 2, 2, //if value is 1, read 3 parameters... each one takes up 2 bytes 2, 0, //if value is 2, don't read anything 3, 3, 2, 2, 2, //if value is 3, read 3 parameters... each one takes up 2 bytes 4, 2, 2, 2, //if value is 4, read 2 parameters... each one takes up 2 bytes 5, 3, 2, 2, 2, //if value is 5, read 3 parameters... each one takes up 2 bytes 6, 1, 2 //if value is 6, read 1 parameter... which takes up 2 bytes }, [0x0236] = new byte[] { 2 }, [0x0237] = new byte[] { 2, 2, 2, 2 }, //u16: 0; Flex: ???; Var: Variable; Var: //u16: 1; Flex: ???; Flex: ???; Flex: ??? [0x0238] = new byte[] { 2, 2 }, [0x0239] = new byte[] { 2 }, [0x023A] = new byte[] { 2, 2, 2 }, [0x023B] = new byte[] { 2 }, [0x023C] = new byte[] { 2, 2 }, [0x023D] = new byte[] { 1, 1, 2, 2, 2 }, [0x023E] = new byte[] { 0xFF, 2, //0xFF = Variable number of parameters, 2 = size of first parameter 0, 0, //if value is 0, don't read anything 1, 1, 2, //if value is 1, read 1 parameter... which takes up 2 bytes 2, 1, 2, //if value is 2, read 1 parameter... which takes up 2 bytes 3, 1, 2, //if value is 3, read 1 parameter... which takes up 2 bytes 4, 0, //if value is 4, don't read anything 5, 2, 2, 2, //if value is 5, read 2 parameters... each one takes up 2 bytes 6, 2, 2, 2, //if value is 6, read 2 parameters... each one takes up 2 bytes 7, 0, //if value is 7, don't read anything 8, 0 //if value is 8, don't read anything }, [0x023F] = new byte[1] { 0 }, [0x0240] = new byte[1] { 0 }, [0x0241] = new byte[1] { 0 }, [0x0242] = new byte[1] { 0 }, [0x0243] = new byte[] { 2, 2, 2 }, [0x0244] = new byte[] { 2, 2, 2, 2 }, [0x0245] = new byte[] { 2, 2 }, [0x0246] = new byte[] { 2 }, [0x0247] = new byte[] { 2 }, [0x0248] = new byte[] { 2, 2, 2 }, [0x0249] = new byte[] { 2, 2, 2, 2, 2 }, [0x024A] = new byte[] { 2 }, [0x024B] = new byte[] { 1 }, [0x024C] = new byte[] { 1 }, [0x024D] = new byte[] { 1 }, [0x024E] = new byte[] { 2 }, [0x024F] = new byte[] { 2, 2, 2, 2 }, [0x0250] = new byte[1] { 0 }, [0x0251] = new byte[] { 1, 2 }, [0x0252] = new byte[] { 2 }, [0x0253] = new byte[] { 2 }, [0x0254] = new byte[] { 2 }, [0x0255] = new byte[1] { 0 }, [0x0256] = new byte[] { 2, 2 }, [0x0257] = new byte[1] { 0 }, [0x0258] = new byte[1] { 0 }, [0x0259] = new byte[1] { 0 }, [0x025A] = new byte[] { 2 }, [0x025B] = new byte[1] { 0 }, [0x025C] = new byte[1] { 0 }, [0x025D] = new byte[] { 2 }, [0x025E] = new byte[1] { 0 }, [0x025F] = new byte[1] { 0 }, [0x0260] = new byte[] { 2 }, [0x0261] = new byte[] { 1, 2 }, [0x0262] = new byte[] { 2, 2 }, [0x0263] = new byte[] { 2 }, [0x0264] = new byte[] { 2 }, [0x0265] = new byte[1] { 0 }, [0x0266] = new byte[1] { 0 }, [0x0267] = new byte[] { 2 }, [0x0268] = new byte[] { 2 }, [0x0269] = new byte[] { 2, 2, 2, 2, 2 }, [0x026A] = new byte[] { 2, 2, 2 }, [0x026B] = new byte[] { 2 }, [0x026C] = new byte[] { 2 }, [0x026D] = new byte[] { 2 }, [0x026E] = new byte[] { 2 }, [0x026F] = new byte[1] { 0 }, [0x0270] = new byte[] { 1, 2 }, [0x0271] = new byte[] { 2 }, [0x0272] = new byte[] { 1 }, [0x0273] = new byte[] { 1, 2 }, [0x0274] = new byte[] { 2, 4 }, [0x0275] = new byte[] { 2 }, [0x0276] = new byte[] { 2, 2, 2 }, [0x0277] = new byte[] { 2 }, [0x0278] = new byte[] { 2, 2 }, [0x0279] = new byte[1] { 0 }, [0x027A] = new byte[1] { 0 }, [0x027B] = new byte[1] { 0 }, [0x027C] = new byte[] { 2, 2 }, [0x027D] = new byte[] { 2, 2 }, [0x027E] = new byte[] { 2 }, [0x027F] = new byte[] { 2 }, [0x0280] = new byte[] { 1, 2, 2 }, [0x0281] = new byte[] { 2, 2, 2 }, [0x0282] = new byte[] { 2 }, [0x0283] = new byte[] { 2, 2 }, [0x0284] = new byte[] { 2 }, [0x0285] = new byte[] { 2, 2 }, [0x0286] = new byte[] { 2 }, [0x0287] = new byte[] { 2 }, [0x0288] = new byte[] { 2 }, [0x0289] = new byte[] { 2, 2, 2, 2, 2, 2, 2 }, [0x028A] = new byte[] { 2 }, [0x028B] = new byte[] { 1, 2 }, [0x028C] = new byte[] { 2 }, [0x028D] = new byte[1] { 0 }, [0x028E] = new byte[] { 2 }, [0x028F] = new byte[] { 2 }, [0x0290] = new byte[] { 2 }, [0x0291] = new byte[] { 2, 2 }, [0x0292] = new byte[] { 1, 2 }, [0x0293] = new byte[] { 2 }, [0x0294] = new byte[] { 2 }, [0x0295] = new byte[1] { 0 }, [0x0296] = new byte[1] { 0 }, [0x0297] = new byte[] { 2 }, [0x0298] = new byte[] { 2 }, [0x0299] = new byte[] { 2 }, [0x029A] = new byte[] { 2, 2 }, [0x029B] = new byte[] { 2, 2, 2, 2 }, [0x029C] = new byte[] { 2, 2 }, [0x029D] = new byte[] { 2, 2 }, [0x029E] = new byte[] { 2, 2 }, [0x029F] = new byte[] { 2 }, [0x02A0] = new byte[] { 2, 2, 2 }, [0x02A1] = new byte[] { 2, 2, 2 }, [0x02A2] = new byte[] { 2 }, [0x02A3] = new byte[] { 2 }, [0x02A4] = new byte[] { 2 }, [0x02A5] = new byte[1] { 0 }, [0x02A6] = new byte[] { 2, 2, 2 }, [0x02A7] = new byte[] { 2, 2 }, [0x02A8] = new byte[] { 2 }, [0x02A9] = new byte[] { 2, 2 }, [0x02AA] = new byte[] { 2, 2, 2, 2, 2 }, [0x02AB] = new byte[] { 2 }, [0x02AC] = new byte[1] { 0 }, [0x02AD] = new byte[] { 2, 2 }, [0x02AE] = new byte[1] { 0 }, [0x02AF] = new byte[] { 2 }, [0x02B0] = new byte[1] { 0 }, [0x02B1] = new byte[1] { 0 }, [0x02B2] = new byte[1] { 0 }, [0x02B3] = new byte[] { 1, 2 }, [0x02B4] = new byte[1] { 0 }, [0x02B5] = new byte[] { 2, 2, 2 }, [0x02B6] = new byte[] { 1, 2 }, [0x02B7] = new byte[] { 2 }, [0x02B8] = new byte[] { 2 }, [0x02B9] = new byte[1] { 0 }, [0x02BA] = new byte[] { 2 }, [0x02BB] = new byte[1] { 0 }, [0x02BC] = new byte[] { 2 }, [0x02BD] = new byte[] { 2, 2 }, [0x02BE] = new byte[] { 2 }, [0x02BF] = new byte[1] { 0 }, [0x02C0] = new byte[] { 2 }, [0x02C1] = new byte[1] { 0 }, [0x02C2] = new byte[1] { 0 }, [0x02C3] = new byte[1] { 1 }, }; public static Dictionary DPScrCmdNames = new Dictionary() { [0x0264] = "CheckBurmyForms", }; public static Dictionary DPScrCmdParameters = new Dictionary() { [0x011D] = new byte[] { 1, 1, 2 }, [0x0125] = new byte[] { 2, 2 }, [0x01E1] = new byte[] { 2, 2 }, //0x02C3 is the last command ID that DP and Plat have in common //International release exclusive [0x02C4] = new byte[] { 1, 2 }, [0x02C5] = new byte[] { 1, 2 }, [0x02C6] = new byte[] { 1, 2 }, [0x02C7] = new byte[] { 1, 2 }, [0x02C8] = new byte[] { 1, 2 }, [0x02C9] = new byte[] { 1, 2, 2, 1 }, [0x02CA] = new byte[] { 1 }, [0x02CB] = new byte[] { 1, 2 }, [0x02CC] = new byte[] { 1, 2 }, [0x02CD] = new byte[] { 1, 2 }, [0x02CE] = new byte[] { 1 }, [0x02CF] = new byte[] { 1 }, [0x02D0] = new byte[] { 2, 2, 2 }, [0x02D1] = new byte[] { 1, 1 } }; public static Dictionary PlatScrCmdNames = new Dictionary() { [0x0264] = "CombeeCheck", //0x02C3 is the last command ID that DP and Plat have in common [0x02C6] = "SpinTradeScreen", //[0x02C7] = "CheckGameVersion", //Needs to be checked [0x02C9] = "InitEternaGym", [0x02CA] = "EternaGymClockAnim", [0x02CD] = "SetDarkFog", [0x02CE] = "ClearDarkFog", [0x02E2] = "ScratchOffScreen", [0x02E3] = "ReleaseScriptApp", [0x02E5] = "CheckLearnableTutorMoves", [0x02E6] = "ShowTutorMovesList", [0x02E7] = "LearnMoveScreen", [0x02E8] = "LearnMoveGetSelection", [0x02E9] = "ChangePartyPokemonMove", [0x02EA] = "CheckAffordMove", [0x02EB] = "PayTutorShards", [0x02EC] = "ShowMovePriceBoard", [0x02ED] = "CloseMovePriceBoard", [0x02F0] = "InitVilla", [0x02F1] = "ChangePokemonForm", [0x02F2] = "InitDistortionWorld", [0x02F9] = "LoadFieldAudio", [0x02FA] = "GetPlayingBGM", [0x02FB] = "SpearPillarSequence2", [0x0302] = "CheckUsedRotomAppliances", [0x0314] = "GetBattleOutcome", [0x0315] = "GetCurrentWeather", [0x0317] = "GetPlayerPositionFull", [0x0318] = "WildBattleFateful", [0x0319] = "GiratinaBattle", [0x031A] = "RegisterSeenPokemon", [0x0320] = "PortalAnimation", [0x032B] = "CheckEventRegigigas", //International release exclusive [0x0337] = "CheckPokemonIsSeen", [0x033C] = "TextItemLowercase", [0x033D] = "TextItemPlural", [0x0344] = "TextTrainerClass", [0x0345] = "TextSealPlural", [0x0346] = "TextCapitalize", [0x0347] = "DisplayFloor", }; public static Dictionary PlatScrCmdParameters = new Dictionary() { [0x011D] = new byte[] { 1, 1, 2, 2 }, [0x0125] = new byte[] { 2 }, [0x01E1] = new byte[] { 2, 2, 2 }, //0x02C3 is the last command ID that DP and Plat have in common [0x02C4] = new byte[] { 1 }, [0x02C5] = new byte[] { 1, 2 }, [0x02C6] = new byte[] { 1, 2 }, [0x02C7] = new byte[] { 2 }, [0x02C8] = new byte[] { 2, 2, 2 }, [0x02C9] = new byte[1] { 0 }, [0x02CA] = new byte[1] { 0 }, [0x02CB] = new byte[] { 2, 2 }, [0x02CC] = new byte[] { 2, 2, 2 }, [0x02CD] = new byte[1] { 0 }, [0x02CE] = new byte[1] { 0 }, [0x02CF] = new byte[] { 2, 2 }, [0x02D0] = new byte[] { 2, 2 }, [0x02D1] = new byte[] { 2 }, [0x02D2] = new byte[] { 2, 2, 2 }, [0x02D3] = new byte[] { 2, 2, 2 }, [0x02D4] = new byte[] { 2, 2, 2 }, [0x02D5] = new byte[] { 2 }, [0x02D6] = new byte[1] { 0 }, [0x02D7] = new byte[] { 2 }, [0x02D8] = new byte[] { 1 }, [0x02D9] = new byte[] { 2, 2, 2 }, [0x02DA] = new byte[] { 2, 2, 2 }, [0x02DB] = new byte[] { 2, 2, 2 }, [0x02DC] = new byte[] { 2 }, [0x02DD] = new byte[] { 2, 2 }, [0x02DE] = new byte[] { 2, 2, 2, 2, 2 }, [0x02DF] = new byte[] { 2 }, [0x02E0] = new byte[] { 2, 2 }, [0x02E1] = new byte[] { 2, 2 }, [0x02E2] = new byte[1] { 0 }, [0x02E3] = new byte[1] { 0 }, [0x02E4] = new byte[] { 2, 2, 2 }, [0x02E5] = new byte[] { 2, 2, 2 }, [0x02E6] = new byte[] { 2, 2, 2 }, [0x02E7] = new byte[] { 2, 2 }, [0x02E8] = new byte[] { 2 }, [0x02E9] = new byte[] { 2, 2, 2 }, [0x02EA] = new byte[] { 2, 2 }, [0x02EB] = new byte[] { 2 }, [0x02EC] = new byte[] { 2, 2, 2 }, [0x02ED] = new byte[1] { 0 }, [0x02EE] = new byte[] { 2, 2, 2, 2 }, [0x02EF] = new byte[1] { 0 }, [0x02F0] = new byte[1] { 0 }, [0x02F1] = new byte[1] { 0 }, [0x02F2] = new byte[1] { 0 }, [0x02F3] = new byte[] { 1, 2 }, [0x02F4] = new byte[] { 2, 2, 2, 2 }, [0x02F5] = new byte[] { 1, 2, 2, 2 }, [0x02F6] = new byte[] { 2, 2, 2 }, [0x02F7] = new byte[] { 2 }, [0x02F8] = new byte[1] { 0 }, [0x02F9] = new byte[] { 2 }, [0x02FA] = new byte[] { 2 }, [0x02FB] = new byte[1] { 0 }, [0x02FC] = new byte[] { 2 }, [0x02FD] = new byte[] { 2, 2, 2 }, [0x02FE] = new byte[] { 2, 2 }, [0x02FF] = new byte[] { 2, 2 }, [0x0300] = new byte[1] { 0 }, [0x0301] = new byte[1] { 0 }, [0x0302] = new byte[] { 2, 2, 2, 2, 2 }, [0x0303] = new byte[] { 2, 2 }, [0x0304] = new byte[] { 2, 2, 2, 2 }, [0x0305] = new byte[] { 2, 2 }, [0x0306] = new byte[] { 2, 2 }, [0x0307] = new byte[] { 2 }, [0x0308] = new byte[1] { 0 }, [0x0309] = new byte[1] { 0 }, [0x030A] = new byte[] { 2 }, [0x030B] = new byte[1] { 0 }, [0x030C] = new byte[1] { 0 }, [0x030D] = new byte[] { 2 }, [0x030E] = new byte[] { 2 }, [0x030F] = new byte[] { 2, 2 }, [0x0310] = new byte[1] { 0 }, [0x0311] = new byte[] { 2 }, [0x0312] = new byte[] { 2 }, [0x0313] = new byte[] { 2 }, [0x0314] = new byte[] { 2 }, [0x0315] = new byte[] { 2 }, [0x0316] = new byte[1] { 0 }, [0x0317] = new byte[] { 2, 2, 2 }, [0x0318] = new byte[] { 2, 2, 2, 2 }, [0x0319] = new byte[] { 2, 2, 2, 2 }, [0x031A] = new byte[1] { 0 }, [0x031B] = new byte[] { 2 }, [0x031C] = new byte[] { 2 }, [0x031D] = new byte[] { 2 }, [0x031E] = new byte[] { 2, 2 }, [0x031F] = new byte[1] { 0 }, [0x0320] = new byte[1] { 0 }, [0x0321] = new byte[] { 2 }, [0x0322] = new byte[1] { 0 }, [0x0323] = new byte[] { 2 }, [0x0324] = new byte[] { 2, 2, 2, 2 }, [0x0325] = new byte[] { 2 }, [0x0326] = new byte[] { 2 }, [0x0327] = new byte[] { 2 }, [0x0328] = new byte[] { 2 }, [0x0329] = new byte[] { 2, 2, 2, 2 }, [0x032A] = new byte[] { 2 }, [0x032B] = new byte[] { 2 }, [0x032C] = new byte[] { 2, 2, 2, 2, }, [0x032D] = new byte[1] { 0 }, [0x032E] = new byte[1] { 0 }, [0x032F] = new byte[] { 2, 2 }, [0x0330] = new byte[1] { 0 }, [0x0331] = new byte[1] { 0 }, [0x0332] = new byte[1] { 0 }, [0x0333] = new byte[] { 2 }, [0x0334] = new byte[] { 2, 2 }, [0x0335] = new byte[] { 2, 4 }, [0x0336] = new byte[] { 2 }, //International release exclusive [0x0337] = new byte[] { 2, 2 }, [0x0338] = new byte[1] { 0 }, [0x0339] = new byte[1] { 0 }, [0x033A] = new byte[] { 1 }, [0x033B] = new byte[] { 1 }, [0x033C] = new byte[] { 1, 2 }, [0x033D] = new byte[] { 1, 2 }, [0x033E] = new byte[] { 1, 2 }, [0x033F] = new byte[] { 1, 2 }, [0x0340] = new byte[] { 1, 2 }, [0x0341] = new byte[] { 1, 2, 2, 1 }, [0x0342] = new byte[] { 1 }, [0x0343] = new byte[] { 1, 2 }, [0x0344] = new byte[] { 1, 2 }, [0x0345] = new byte[] { 1, 2 }, [0x0346] = new byte[] { 1 }, [0x0347] = new byte[] { 1, 1 } }; public static Dictionary HGSSScrCmdNames = new Dictionary() { [0x0000] = "Nop", [0x0001] = "Dummy", [0x0002] = "End", [0x0003] = "WaitTime", [0x0004] = "RegValueSet", [0x0005] = "RegDataSet", [0x0006] = "RegAdrsSet", [0x0007] = "AdrsValueSet", [0x0008] = "AdrsRegSet", [0x0009] = "RegRegSet", [0x000A] = "AdrsAdrsSet", [0x000B] = "CompareRegs", [0x000C] = "CompareRegValue", [0x000D] = "CompareRegAdrs", [0x000E] = "CompareAdrsReg", [0x000F] = "CompareAdrsValue", [0x0010] = "CompareAdrsAdrs", [0x0011] = "CompareVarValue", [0x0012] = "CompareVars", [0x0013] = "ParallelCommonScript", [0x0014] = "CommonScript", [0x0015] = "LocalScript", [0x0016] = "Jump", [0x0017] = "JumpIfObjID", [0x0018] = "JumpIfBgID", [0x0019] = "JumpIfPlayerDir", [0x001A] = "Call", [0x001B] = "Return", [0x001C] = "JumpIf", [0x001D] = "CallIf", [0x001E] = "SetFlag", [0x001F] = "ClearFlag", [0x0020] = "CheckFlag", [0x0021] = "SetFlagFromVar", [0x0022] = "ClearFlagFromVar", [0x0023] = "FlagStatusToVar", [0x0024] = "SetTrainerFlag", [0x0025] = "ClearTrainerFlag", [0x0026] = "CheckTrainerFlag", [0x0027] = "IncrementVar", [0x0028] = "DecrementVar", [0x0029] = "SetVar", [0x002A] = "SetVarFromVariable", [0x002B] = "SetVarFromFlexible", [0x002C] = "MessageAll", [0x002D] = "Message", [0x002E] = "MessageFlex", [0x002F] = "MessageNoSkip", [0x0031] = "WaitAB", [0x0032] = "WaitButton", [0x0033] = "WaitABPad", [0x0034] = "OpenMessage", [0x0035] = "CloseMessage", [0x0036] = "FreezeMessage", [0x0037] = "SetIconBoard", [0x0038] = "SetTextBoard", [0x0039] = "ShowBoard", [0x003A] = "WaitBoard", [0x003B] = "BoardMessage", [0x003C] = "CloseBoard", [0x003D] = "Menu", [0x003F] = "YesNoBox", [0x0040] = "MultiStandardText", [0x0041] = "MultiLocalText", [0x0042] = "AddMultiOption", [0x0043] = "ShowMulti", [0x0044] = "ListStandardText", [0x0045] = "ListLocalText", [0x0046] = "AddListOption", [0x0047] = "ShowList", [0x0048] = "MultiColumn", [0x0049] = "PlayFanfare", [0x004A] = "StopFanfare", [0x004B] = "WaitFanfare", [0x004C] = "PlayCry", [0x004D] = "WaitCry", [0x004E] = "PlaySound", [0x004F] = "WaitSound", [0x0050] = "PlayMusic", [0x0051] = "StopMusic", [0x0052] = "PlayDefaultMusic", [0x0053] = "SetMusic", [0x0054] = "FadeOutMusic", [0x0055] = "FadeInMusic", [0x0059] = "CheckChatotCry", [0x005A] = "StartChatotCry", [0x005B] = "StopChatotCry", [0x005C] = "SaveChatotCry", [0x005E] = "Movement", [0x005F] = "WaitMovement", [0x0060] = "LockAll", [0x0061] = "ReleaseAll", [0x0062] = "Lock", [0x0063] = "Release", [0x0064] = "AddOW", [0x0065] = "RemoveOW", [0x0066] = "LockCamera", [0x0067] = "ReleaseCamera", [0x0068] = "FacePlayer", [0x0069] = "GetPlayerPosition", [0x006A] = "GetOWPosition", [0x006C] = "KeepOverworld", [0x006D] = "SetOWMovement", [0x006E] = "GiveMoney", [0x006F] = "TakeMoney", [0x0070] = "CompareMoney", [0x0071] = "ShowMoney", [0x0072] = "HideMoney", [0x0073] = "UpdateMoney", [0x0074] = "ShowSpecialCurrency", [0x0075] = "HideSpecialCurrency", [0x0076] = "UpdateSpecialCurrency", [0x0077] = "CheckCoins", [0x0078] = "GiveCoins", [0x0079] = "TakeCoins", [0x007A] = "GiveAthletePoints", [0x007B] = "TakeAthletePoints", [0x007C] = "CompareAthletePoints", [0x007D] = "GiveItem", [0x007E] = "TakeItem", [0x007F] = "CheckItemSpace", [0x0080] = "CheckItem", [0x0081] = "CheckItemIsMachine", [0x0082] = "GetItemPocket", [0x0083] = "SetStarter", [0x0084] = "GenderMessage", [0x0089] = "GivePokemon", [0x008A] = "GivePokemonEgg", [0x008B] = "ReplaceMove", [0x008C] = "CheckPokemonHasMove", [0x008D] = "CheckMoveInParty", [0x008F] = "ChooseRivalName", [0x0090] = "GetCounterpartSprite", [0x0091] = "UpgradePokegear", [0x0092] = "RecordPokegearNumber", //to be confirmed [0x0096] = "ReturnScreen", [0x009D] = "WorldMapScreen", [0x00A3] = "EndGameScreen", [0x00A7] = "StarterSelectionScreen", [0x00AC] = "ChoosePlayerName", [0x00AD] = "ChoosePokemonNickname", [0x00AE] = "FadeScreen", [0x00AF] = "WaitFadeScreen", [0x00B0] = "Warp", [0x00B1] = "RockClimbAnimation", [0x00B2] = "SurfAnimation", [0x00B3] = "WaterfallAnimation", [0x00B4] = "FlyAnimation", [0x00B5] = "FlashAnimation", [0x00B6] = "WhirlpoolAnimation", [0x00B7] = "CutAnimation", [0x00B8] = "CheckBike", [0x00B9] = "RideBike", [0x00BA] = "CyclingRoad", [0x00BB] = "CheckPlayerForm", [0x00BC] = "SetPlayerForm", [0x00BD] = "UpdatePlayerForm", [0x00BE] = "TextPlayerName", [0x00BF] = "TextRivalName", [0x00C0] = "TextCounterpart", [0x00C1] = "TextPartyPokemon", [0x00C2] = "TextItem", [0x00C2] = "TextPocket", [0x00C4] = "TextAttackItem", [0x00C5] = "TextMove", [0x00C6] = "TextNumber", [0x00C7] = "TextPokeNickname", [0x00C9] = "TextPlayerTrainerType", [0x00CA] = "TextPokemon", [0x00CB] = "TextStarterPokemon", [0x00CC] = "TextRivalStarter", [0x00CD] = "TextCounterpartStarter", [0x00CE] = "CheckStarter", [0x00CF] = "DummyTextGoods", [0x00D0] = "DummyTextTrap", [0x00D1] = "DummyTextTreasure", [0x00D2] = "TextMapName", [0x00D3] = "GetSwarmInfo", [0x00D4] = "TrainerID", [0x00D5] = "TrainerBattle", [0x00D6] = "TrainerMessage", [0x00D7] = "TrainerMsgCheck", [0x00D8] = "TrainerRematchMsgCheck", [0x00D9] = "TrainerTypeCheck", [0x00DA] = "TrainerMusic", [0x00DB] = "LostBattle", [0x00DC] = "CheckBattleIsLost", [0x00DD] = "CheckDefeatedPokemon", [0x00DE] = "Check2vs2", [0x00DF] = "DummyTrainerBattle", [0x00E0] = "DummyTrainerFlag", [0x00E1] = "DummyTrainerFlagJump", [0x00EE] = "CheckPokerus", [0x00EF] = "GetPokemonGender", [0x00F1] = "GetElevatorFloor", [0x00F2] = "ElevatorBox", [0x00F3] = "CountJohtoDexSeen", [0x00F4] = "CountJohtoDexObtained", [0x00F5] = "CountNationalDexSeen", [0x00F6] = "CountNationalDexObtained", [0x00F7] = "DummyNationalDexCheck", [0x00F8] = "GetDexProgressMsg", [0x00F9] = "WildBattle", [0x00FA] = "WildBattleNoButtons", [0x00FB] = "CatchTutorial", [0x00FD] = "CheckSaveGame", [0x0113] = "MartScreen", [0x0114] = "SpMartScreen", [0x0115] = "GoodsMartScreen", [0x0116] = "SealMartScreen", [0x0117] = "DummyLostBattle", [0x0118] = "SetLastWarp", [0x0119] = "CheckPlayerGender", [0x011A] = "HealPokemon", [0x0122] = "CheckPokedex", [0x0123] = "GivePokedex", [0x0124] = "CheckShoes", [0x0125] = "GiveShoes", [0x0126] = "CheckBadge", [0x0127] = "GiveBadge", [0x0128] = "CountBadges", [0x0129] = "DummyCheckBag", [0x012A] = "DummyGiveBag", [0x012B] = "CheckPartner", [0x012C] = "SetPartner", [0x012D] = "ClearPartner", [0x0131] = "DummyCheckGameCompleted", [0x0132] = "DummyGameCompleted", [0x0133] = "DoorAnimation", [0x0134] = "WaitDoor", [0x0135] = "FreeDoor", [0x0136] = "OpenDoor", [0x0137] = "CloseDoor", [0x0138] = "GetDaycareNames", [0x0139] = "GetDaycareStatus", [0x0141] = "VermillionGymAnimation", [0x0142] = "VermillionGymBin", [0x0144] = "InitVioletGym", [0x0145] = "VioletGymElevator", [0x0147] = "AzaleaGym", [0x0148] = "AzaleaGym2", [0x014C] = "GetPartyCount", [0x0152] = "SetOWDefaultPosition", [0x0153] = "SetOWPosition", [0x0154] = "SetOWDefaultMovement", [0x0155] = "SetOWDefaultDirection", [0x0156] = "SetWarpPosition", [0x0157] = "SetSpawnablePosition", [0x0158] = "SetOWDirection", [0x015C] = "WaitTimeOrAB", [0x015F] = "GetSelectedPartySlot", [0x0162] = "GetPartyPokemonID", [0x0163] = "CheckTradedPokemon", [0x0164] = "CountPartyBornPokemon", [0x0165] = "CountAlivePokemonExceptFirst", [0x0166] = "CountTotalAlivePokemon", [0x0167] = "CountPartyEggs", [0x0168] = "TakeMoneyFlex", [0x016C] = "DeletePartyPokemon", [0x0170] = "CompareMoneyFlex", [0x0171] = "EggHatchScreen", //This command is dangerous when used without an egg in party [0x0176] = "UnvanishOverworld", [0x0177] = "VanishOverworld", [0x0178] = "MailScreen", [0x0179] = "CountMail", [0x017B] = "GetTimePeriod", [0x017C] = "GetRandom", [0x017D] = "DummyGetRandom", [0x017E] = "GetPokemonHappiness", [0x017F] = "AddHappiness", [0x0180] = "SubHappiness", [0x0181] = "TextDaycareMonData", [0x0182] = "GetPlayerDirection", [0x0185] = "CheckBornPokemonInParty", [0x0186] = "ComparePokemonPlayerSize", [0x0187] = "SetPokemonSizeRecord", [0x0188] = "TextPartyPokemonSize", [0x0189] = "TextPokemonRecordSize", [0x018C] = "GetMoveCount", [0x018D] = "DeleteMove", [0x018E] = "GetPartyPokemonMove", [0x018F] = "TextPartyPokemonMove", [0x0190] = "Strength", [0x01A7] = "CheckCompleteJohtoDex", [0x01A8] = "CheckCompleteNationalDex", [0x01AD] = "GetFossilCount", [0x01AE] = "PreparePokeGearCall", [0x01AF] = "StartPokeGearCall", [0x01B0] = "GetPokeNameFromFossil", [0x01B1] = "CheckFossil", [0x01B2] = "CountPokemonUnderLevel", [0x01B3] = "SurvivePoison", [0x01B4] = "FinishOverworldScreen", [0x01B5] = "DummyGetVar", [0x01BD] = "GetPreviousHeaderID", [0x01BE] = "GetCurrentHeaderID", [0x01BF] = "SetSafariFlag", [0x01C2] = "GeonetScreen", [0x01C4] = "ShowPokemonPic", [0x01C5] = "HidePokemonPic", [0x01D0] = "AddRoamingPokemon", [0x01D1] = "UnionGroup", [0x01D6] = "InitTrade", [0x01D7] = "GetOfferedPokemon", [0x01D8] = "GetRequestedPokemon", [0x01D9] = "TradePokemonScreen", [0x01DA] = "EndTrade", [0x01DB] = "DummyInternationalDex", [0x01DC] = "DummyDimorphismDex", [0x01DD] = "NationalDex", [0x01DE] = "PokemonRibbonCount", [0x01DF] = "PartyRibbonCount", [0x01E0] = "CheckRibbon", [0x01E1] = "GiveRibbon", [0x01E2] = "TextRibbon", [0x01E3] = "CountPokemonEVs", [0x01E4] = "GetDayOfWeek", [0x01E5] = "ShowRulesList", [0x01E6] = "DummyGetPokemonFootprint", [0x01E7] = "PCHealAnimation", [0x01E8] = "ElevatorAnimation", [0x01E9] = "MysteryGiftGive", [0x01EF] = "CheckVersion", [0x01F0] = "FirstPokemonInParty", [0x01F1] = "GetPartyPokemonTypes", [0x01F7] = "GetLottoNumber", [0x01F8] = "CheckWinLotto", [0x01F9] = "InitLotto", [0x01FB] = "CountPCFreeSpace", [0x0204] = "TextAccessory", [0x0205] = "CheckPokemonInParty", [0x0206] = "SetDeoxysForm", [0x0207] = "CheckBurmyForms", [0x020A] = "GetHour", [0x020B] = "ShakeOverworld", [0x020C] = "BlinkOverworld", [0x020D] = "CheckRegis", [0x020F] = "MessageUnown", [0x0210] = "CheckGBACartidge", [0x0211] = "GetFirstAlivePokemonSlot", [0x0212] = "SetMatrixAlternativeMap", [0x0217] = "GetPokemonLevel", [0x021D] = "TextNumberSp", [0x021F] = "CheckBirthday", [0x0220] = "MusicVolumeSet", [0x0221] = "CountSeenUnown", [0x0231] = "ShakeCamera", [0x0232] = "Battle2vs2", [0x0236] = "PartyPokemonTradeScreen", [0x024D] = "WildBattleSp", [0x024E] = "CheckTrainerCardLevel", [0x024F] = "DummyRideBike", [0x0251] = "ShowSaveBox", [0x0252] = "HideSaveBox", [0x0253] = "ScopeMode", [0x0254] = "GetFollowingPokeSize", [0x0257] = "FollowingPokePCAnimation", [0x0258] = "SendBackFollowingPoke", [0x0259] = "FollowingPokeFacePlayer", [0x025A] = "LockFollowingPoke", [0x025B] = "WaitFollowingPoke", [0x025C] = "SetFollowingPokeMovement", [0x025D] = "SetFollowingPokePosition", [0x025E] = "BallResetFollowingPoke", [0x025F] = "NoBallResetFollowingPoke", [0x0260] = "SendOutFollowingPoke", [0x0261] = "MecScript", [0x0267] = "TakePhoto", [0x026A] = "CheckAlbumPhoto", [0x026E] = "GetOWDirection", [0x026F] = "HarvestApricorn", [0x0270] = "GetApricornColor", [0x0271] = "GiveApricorn", [0x0272] = "TextApricorn", [0x0289] = "ScratchOffScreen", [0x028A] = "ReleaseScriptApp", [0x0290] = "CheckHeadbuttCompatibility", [0x02AB] = "GetBattleOutcome", [0x02AC] = "GetCurrentWeather", [0x02AD] = "GetPlayerPositionFull", [0x02AE] = "WildBattleFateful", [0x02AF] = "RegisterSeenPokemon", [0x02BF] = "SetFieldVolume", [0x02C4] = "FloorTrapAnimation", [0x02C7] = "TalkFollowingPoke", [0x02C9] = "OpenAlphaPuzzle", [0x02CA] = "OpenRuinsofAlphHiddenRoom", [0x02D3] = "BoatAnimation", [0x02D9] = "CheckPokemonAlive", [0x02DA] = "CheckFollowingPoke", [0x02DD] = "GetBornPokemonPartyPos", [0x02EA] = "OpenTouchScreen", [0x02EB] = "CloseTouchScreen", [0x02EC] = "YesNoTouchScreen", [0x02ED] = "MultiTouchStandardText", [0x02EE] = "MultiTouchLocalText", [0x02EF] = "CreateMultiTouchBox", [0x02F0] = "CloseMultiTouch", [0x0310] = "OverlayManager", [0x031B] = "ShowMomMoney", [0x031C] = "HideMomMoney", [0x0344] = "CheckJadeOrbRequirements", [0x0346] = "CheckMoneyFull", [0x034B] = "TextItemLowercase", [0x034C] = "TextItemPlural", [0x034D] = "TextPartyPokemonDefault", [0x0351] = "TextTrainerClass", [0x0352] = "TextSealPlural", [0x0353] = "TextCapitalize", [0x0354] = "TextFloor" }; public static Dictionary HGSSScrCmdParameters = new Dictionary() { [0x0000] = new byte[1] { 0 }, [0x0001] = new byte[1] { 0 }, [0x0002] = new byte[1] { 0 }, [0x0003] = new byte[] { 2, 2 }, [0x0004] = new byte[] { 1, 1 }, [0x0005] = new byte[] { 1, 4 }, [0x0006] = new byte[] { 1, 4 }, [0x0007] = new byte[] { 4, 1 }, [0x0008] = new byte[] { 4, 1 }, [0x0009] = new byte[] { 1, 1 }, [0x000A] = new byte[] { 4, 4 }, [0x000B] = new byte[] { 1, 1 }, [0x000C] = new byte[] { 1, 1 }, [0x000D] = new byte[] { 1, 4 }, [0x000E] = new byte[] { 4, 1 }, [0x000F] = new byte[] { 4, 1 }, [0x0010] = new byte[] { 4, 4 }, [0x0011] = new byte[] { 2, 2 }, [0x0012] = new byte[] { 2, 2 }, [0x0013] = new byte[] { 2 }, [0x0014] = new byte[] { 2 }, [0x0015] = new byte[1] { 0 }, [0x0016] = new byte[] { 4 }, [0x0017] = new byte[] { 1, 4 }, [0x0018] = new byte[] { 1, 4 }, [0x0019] = new byte[] { 1, 4 }, [0x001A] = new byte[] { 4 }, [0x001B] = new byte[1] { 0 }, [0x001C] = new byte[] { 1, 4 }, [0x001D] = new byte[] { 1, 4 }, [0x001E] = new byte[] { 2 }, [0x001F] = new byte[] { 2 }, [0x0020] = new byte[] { 2 }, [0x0021] = new byte[] { 2 }, [0x0022] = new byte[] { 2 }, [0x0023] = new byte[] { 2, 2 }, [0x0024] = new byte[] { 2 }, [0x0025] = new byte[] { 2 }, [0x0026] = new byte[] { 2 }, [0x0027] = new byte[] { 2, 2 }, [0x0028] = new byte[] { 2, 2 }, [0x0029] = new byte[] { 2, 2 }, [0x002A] = new byte[] { 2, 2 }, [0x002B] = new byte[] { 2, 2 }, [0x002C] = new byte[] { 1 }, [0x002D] = new byte[] { 1 }, [0x002E] = new byte[] { 2 }, [0x002F] = new byte[] { 2 }, [0x0030] = new byte[] { 1 }, [0x0031] = new byte[1] { 0 }, [0x0032] = new byte[1] { 0 }, [0x0033] = new byte[1] { 0 }, [0x0034] = new byte[1] { 0 }, [0x0035] = new byte[1] { 0 }, [0x0036] = new byte[1] { 0 }, [0x0037] = new byte[] { 1, 1, 2, 2 }, [0x0038] = new byte[] { 1, 2 }, [0x0039] = new byte[] { 1 }, [0x003A] = new byte[1] { 0 }, [0x003B] = new byte[] { 1, 2 }, [0x003C] = new byte[] { 2 }, [0x003D] = new byte[1] { 0 }, [0x003E] = new byte[] { 1, 1, 1, 1, 1, 1 }, [0x003F] = new byte[] { 2 }, [0x0040] = new byte[] { 1, 1, 1, 1, 2 }, [0x0041] = new byte[] { 1, 1, 1, 1, 2 }, [0x0042] = new byte[] { 1, 1 }, [0x0043] = new byte[1] { 0 }, [0x0044] = new byte[] { 1, 1, 1, 1, 2 }, [0x0045] = new byte[] { 1, 1, 1, 1, 2 }, [0x0046] = new byte[] { 2, 2, 2 }, [0x0047] = new byte[1] { 0 }, [0x0048] = new byte[] { 1 }, [0x0049] = new byte[] { 2 }, [0x004A] = new byte[] { 2 }, [0x004B] = new byte[] { 2 }, [0x004C] = new byte[] { 2, 2 }, [0x004D] = new byte[1] { 0 }, [0x004E] = new byte[] { 2 }, [0x004F] = new byte[1] { 0 }, [0x0050] = new byte[] { 2 }, [0x0051] = new byte[] { 2 }, [0x0052] = new byte[1] { 0 }, [0x0053] = new byte[] { 2 }, [0x0054] = new byte[] { 2, 2 }, [0x0055] = new byte[] { 2 }, [0x0056] = new byte[] { 1, 1 }, [0x0057] = new byte[] { 2 }, [0x0058] = new byte[] { 1 }, [0x0059] = new byte[] { 2 }, [0x005A] = new byte[] { 2 }, [0x005B] = new byte[1] { 0 }, [0x005C] = new byte[1] { 0 }, [0x005D] = new byte[1] { 0 }, [0x005E] = new byte[] { 2, 4 }, [0x005F] = new byte[1] { 0 }, [0x0060] = new byte[1] { 0 }, [0x0061] = new byte[1] { 0 }, [0x0062] = new byte[] { 2 }, [0x0063] = new byte[] { 2 }, [0x0064] = new byte[] { 2 }, [0x0065] = new byte[] { 2 }, [0x0066] = new byte[] { 2, 2 }, [0x0067] = new byte[1] { 0 }, [0x0068] = new byte[1] { 0 }, [0x0069] = new byte[] { 2, 2 }, [0x006A] = new byte[] { 2, 2, 2 }, [0x006B] = new byte[] { 2, 2, 2 }, [0x006C] = new byte[] { 2, 1 }, [0x006D] = new byte[] { 2, 2 }, [0x006E] = new byte[] { 4 }, [0x006F] = new byte[] { 4 }, [0x0070] = new byte[] { 2, 4 }, [0x0071] = new byte[] { 2, 2 }, [0x0072] = new byte[1] { 0 }, [0x0073] = new byte[1] { 0 }, [0x0074] = new byte[] { 1, 2, 2 }, [0x0075] = new byte[1] { 0 }, [0x0076] = new byte[] { 1 }, [0x0077] = new byte[] { 2 }, [0x0078] = new byte[] { 2 }, [0x0079] = new byte[] { 2 }, [0x007A] = new byte[] { 2 }, [0x007B] = new byte[] { 2 }, [0x007C] = new byte[] { 2, 2 }, [0x007D] = new byte[] { 2, 2, 2 }, [0x007E] = new byte[] { 2, 2, 2 }, [0x007F] = new byte[] { 2, 2, 2 }, [0x0080] = new byte[] { 2, 2, 2 }, [0x0081] = new byte[] { 2, 2 }, [0x0082] = new byte[] { 2, 2 }, [0x0083] = new byte[] { 2 }, [0x0084] = new byte[] { 1, 1 }, [0x0085] = new byte[] { 2, 2 }, [0x0086] = new byte[] { 2, 2 }, [0x0087] = new byte[] { 2, 2, 2 }, [0x0088] = new byte[] { 2, 2 }, [0x0089] = new byte[] { 2, 2, 2, 2, 2, 2 }, [0x008A] = new byte[] { 2, 2 }, [0x008B] = new byte[] { 2, 2, 2 }, [0x008C] = new byte[] { 2, 2, 2 }, [0x008D] = new byte[] { 2, 2 }, [0x008E] = new byte[] { 2, 2 }, [0x008F] = new byte[] { 2 }, [0x0090] = new byte[] { 2 }, [0x0091] = new byte[] { 1 }, [0x0092] = new byte[] { 2 }, [0x0093] = new byte[] { 2, 2 }, [0x0094] = new byte[] { 2, 2 }, [0x0095] = new byte[] { 1 }, [0x0096] = new byte[1] { 0 }, [0x0097] = new byte[1] { 0 }, [0x0098] = new byte[1] { 0 }, [0x0099] = new byte[] { 2, 2, 2 }, [0x009A] = new byte[] { 2, 2, 2 }, [0x009B] = new byte[] { 2, 2 }, [0x009C] = new byte[1] { 0 }, [0x009D] = new byte[1] { 0 }, [0x009E] = new byte[] { 1 }, [0x009F] = new byte[1] { 0 }, [0x00A0] = new byte[1] { 0 }, [0x00A1] = new byte[1] { 0 }, [0x00A2] = new byte[1] { 0 }, [0x00A3] = new byte[] { 2 }, [0x00A4] = new byte[] { 2, 2, 2, 2 }, [0x00A5] = new byte[] { 2, 2 }, [0x00A6] = new byte[] { 2 }, [0x00A7] = new byte[1] { 0 }, [0x00A8] = new byte[] { 2 }, [0x00A9] = new byte[] { 2, 2 }, [0x00AA] = new byte[] { 2 }, [0x00AB] = new byte[] { 2, 2 }, [0x00AC] = new byte[1] { 2 }, [0x00AD] = new byte[] { 2, 2 }, [0x00AE] = new byte[] { 2, 2, 2, 2 }, [0x00AF] = new byte[1] { 0 }, [0x00B0] = new byte[] { 2, 2, 2, 2, 2 }, [0x00B1] = new byte[] { 2 }, [0x00B2] = new byte[] { 2 }, [0x00B3] = new byte[] { 2 }, [0x00B4] = new byte[] { 2, 2, 2 }, [0x00B5] = new byte[1] { 0 }, [0x00B6] = new byte[] { 2 }, [0x00B7] = new byte[] { 2 }, [0x00B8] = new byte[] { 2 }, [0x00B9] = new byte[] { 1 }, [0x00BA] = new byte[] { 1 }, [0x00BB] = new byte[] { 2 }, [0x00BC] = new byte[] { 2 }, [0x00BD] = new byte[1] { 0 }, [0x00BE] = new byte[] { 1 }, [0x00BF] = new byte[] { 1 }, [0x00C0] = new byte[] { 1 }, [0x00C1] = new byte[] { 1, 2 }, [0x00C2] = new byte[] { 1, 2 }, [0x00C3] = new byte[] { 1, 2 }, [0x00C4] = new byte[] { 1, 2 }, [0x00C5] = new byte[] { 1, 2 }, [0x00C6] = new byte[] { 1, 2 }, [0x00C7] = new byte[] { 1, 2 }, [0x00C8] = new byte[] { 1, 2 }, [0x00C9] = new byte[] { 1 }, [0x00CA] = new byte[] { 1, 2, 2, 1 }, [0x00CB] = new byte[] { 1 }, [0x00CC] = new byte[] { 1 }, [0x00CD] = new byte[] { 1 }, [0x00CE] = new byte[] { 2 }, [0x00CF] = new byte[] { 1 }, [0x00D0] = new byte[] { 1, 2 }, [0x00D1] = new byte[] { 1, 2 }, [0x00D2] = new byte[] { 1, 2 }, [0x00D3] = new byte[] { 1, 2 }, [0x00D4] = new byte[] { 2 }, [0x00D5] = new byte[] { 2, 2, 1, 1 }, [0x00D6] = new byte[] { 2, 2 }, [0x00D7] = new byte[] { 2, 2, 2 }, [0x00D8] = new byte[] { 2, 2, 2 }, [0x00D9] = new byte[] { 2 }, [0x00DA] = new byte[] { 2 }, [0x00DB] = new byte[1] { 0 }, [0x00DC] = new byte[] { 2 }, [0x00DD] = new byte[] { 2, 1 }, [0x00DE] = new byte[] { 2 }, [0x00DF] = new byte[1] { 0 }, [0x00E0] = new byte[1] { 0 }, [0x00E1] = new byte[] { 4 }, [0x00E2] = new byte[] { 2, 2, 2, 2 }, [0x00E3] = new byte[] { 2, 2, 2, 2 }, [0x00E4] = new byte[] { 2 }, [0x00E5] = new byte[] { 2, 2 }, [0x00E6] = new byte[1] { 0 }, [0x00E7] = new byte[] { 2, 2, 2 }, [0x00E8] = new byte[] { 2, 2, 2 }, [0x00E9] = new byte[] { 2 }, [0x00EA] = new byte[] { 2, 2, 2, 2 }, [0x00EB] = new byte[] { 2 }, [0x00EC] = new byte[] { 2, 2, 2, 2, 2 }, [0x00ED] = new byte[1] { 0 }, [0x00EE] = new byte[] { 2 }, [0x00EF] = new byte[] { 2, 2 }, [0x00F0] = new byte[] { 2, 2, 2, 2, 2 }, [0x00F1] = new byte[] { 2 }, [0x00F2] = new byte[] { 1, 1, 2, 2 }, [0x00F3] = new byte[] { 2 }, [0x00F4] = new byte[] { 2 }, [0x00F5] = new byte[] { 2 }, [0x00F6] = new byte[] { 2 }, [0x00F7] = new byte[1] { 0 }, [0x00F8] = new byte[] { 1, 2, 2 }, [0x00F9] = new byte[] { 2, 2 }, [0x00FA] = new byte[] { 2, 2 }, [0x00FB] = new byte[1] { 0 }, [0x00FC] = new byte[1] { 0 }, [0x00FD] = new byte[] { 2 }, [0x00FE] = new byte[] { 2 }, [0x00FF] = new byte[] { 2, 2 }, [0x0100] = new byte[] { 2 }, [0x0101] = new byte[] { 2 }, [0x0102] = new byte[] { 2, 2 }, [0x0103] = new byte[] { 1, 1 }, [0x0104] = new byte[] { 2 }, [0x0105] = new byte[] { 2 }, [0x0106] = new byte[1] { 0 }, [0x0107] = new byte[1] { 0 }, [0x0108] = new byte[] { 2 }, [0x0109] = new byte[1] { 0 }, [0x010A] = new byte[1] { 0 }, [0x010B] = new byte[] { 2, 2 }, [0x010C] = new byte[] { 2 }, [0x010D] = new byte[] { 2, 2, 2, 2 }, [0x010E] = new byte[] { 2 }, [0x010F] = new byte[] { 2, 2 }, [0x0110] = new byte[] { 2 }, [0x0111] = new byte[] { 2 }, [0x0112] = new byte[] { 2, 2 }, [0x0113] = new byte[] { 2 }, [0x0114] = new byte[] { 2 }, [0x0115] = new byte[] { 2 }, [0x0116] = new byte[] { 2 }, [0x0117] = new byte[1] { 0 }, [0x0118] = new byte[] { 2 }, [0x0119] = new byte[] { 2 }, [0x011A] = new byte[1] { 0 }, [0x011B] = new byte[1] { 0 }, [0x011C] = new byte[1] { 0 }, [0x011D] = new byte[] { 2, 2 }, [0x011E] = new byte[] { 2 }, [0x011F] = new byte[] { 2, 2 }, [0x0120] = new byte[] { 2, 2 }, [0x0121] = new byte[] { 2 }, [0x0122] = new byte[] { 2 }, [0x0123] = new byte[1] { 0 }, [0x0124] = new byte[] { 2 }, [0x0125] = new byte[1] { 0 }, [0x0126] = new byte[] { 2, 2 }, [0x0127] = new byte[] { 2 }, [0x0128] = new byte[] { 2 }, [0x0129] = new byte[] { 2 }, [0x012A] = new byte[1] { 0 }, [0x012B] = new byte[] { 2 }, [0x012C] = new byte[1] { 0 }, [0x012D] = new byte[1] { 0 }, [0x012E] = new byte[] { 2, 2 }, [0x012F] = new byte[] { 2, 2 }, [0x0130] = new byte[] { 2 }, [0x0131] = new byte[] { 2 }, [0x0132] = new byte[] { 0 }, [0x0133] = new byte[] { 2, 2, 2, 2, 1 }, [0x0134] = new byte[] { 1 }, [0x0135] = new byte[] { 1 }, [0x0136] = new byte[] { 1 }, [0x0137] = new byte[] { 1 }, [0x0138] = new byte[1] { 0 }, [0x0139] = new byte[] { 2 }, [0x013A] = new byte[1] { 0 }, [0x013B] = new byte[1] { 0 }, [0x013C] = new byte[1] { 0 }, [0x013D] = new byte[] { 1 }, [0x013E] = new byte[1] { 0 }, [0x013F] = new byte[] { 2 }, [0x0140] = new byte[] { 2 }, [0x0141] = new byte[] { 2 }, [0x0142] = new byte[] { 1, 2 }, [0x0143] = new byte[] { 2, 2 }, [0x0144] = new byte[1] { 0 }, [0x0145] = new byte[1] { 0 }, [0x0146] = new byte[1] { 0 }, [0x0147] = new byte[] { 1 }, [0x0148] = new byte[] { 1 }, [0x0149] = new byte[1] { 0 }, [0x014A] = new byte[1] { 0 }, [0x014B] = new byte[1] { 0 }, [0x014C] = new byte[] { 2 }, [0x014D] = new byte[] { 2 }, [0x014E] = new byte[1] { 0 }, [0x014F] = new byte[1] { 0 }, [0x0150] = new byte[1] { 0 }, [0x0151] = new byte[1] { 0 }, [0x0152] = new byte[] { 2, 2, 2 }, [0x0153] = new byte[] { 2, 2, 2, 2, 2 }, [0x0154] = new byte[] { 2, 2 }, [0x0155] = new byte[] { 2, 2 }, [0x0156] = new byte[] { 2, 2, 2 }, [0x0157] = new byte[] { 2, 2, 2 }, [0x0158] = new byte[] { 2, 2 }, [0x0159] = new byte[1] { 0 }, [0x015A] = new byte[1] { 0 }, [0x015B] = new byte[] { 2, 2 }, [0x015C] = new byte[] { 2 }, [0x015D] = new byte[1] { 0 }, [0x015E] = new byte[1] { 0 }, [0x015F] = new byte[] { 2 }, [0x0160] = new byte[] { 1, 2, 2 }, [0x0161] = new byte[] { 1, 2 }, [0x0162] = new byte[] { 2, 2 }, [0x0163] = new byte[] { 2, 2 }, [0x0164] = new byte[] { 2 }, [0x0165] = new byte[] { 2, 2 }, [0x0166] = new byte[] { 2 }, [0x0167] = new byte[] { 2 }, [0x0168] = new byte[] { 2 }, [0x0169] = new byte[] { 2, 2 }, [0x016A] = new byte[] { 2, 2 }, [0x016B] = new byte[] { 1, 2, 2 }, [0x016C] = new byte[] { 2 }, [0x016D] = new byte[1] { 0 }, [0x016E] = new byte[1] { 0 }, [0x016F] = new byte[] { 2, 2 }, [0x0170] = new byte[] { 2, 2 }, [0x0171] = new byte[1] { 0 }, [0x0172] = new byte[1] { 0 }, [0x0173] = new byte[] { 2, 2 }, [0x0174] = new byte[] { 2, 2 }, [0x0175] = new byte[] { 2 }, [0x0176] = new byte[] { 2 }, [0x0177] = new byte[] { 2 }, [0x0178] = new byte[1] { 0 }, [0x0179] = new byte[] { 2 }, [0x017A] = new byte[] { 2, 2 }, [0x017B] = new byte[] { 2 }, [0x017C] = new byte[] { 2, 2 }, [0x017D] = new byte[] { 2, 2 }, [0x017E] = new byte[] { 2, 2 }, [0x017F] = new byte[] { 2, 2 }, [0x0180] = new byte[] { 2, 2 }, [0x0181] = new byte[] { 2, 2, 2, 2 }, [0x0182] = new byte[] { 2 }, [0x0183] = new byte[] { 2 }, [0x0184] = new byte[] { 2 }, [0x0185] = new byte[] { 2, 2 }, [0x0186] = new byte[] { 2, 2 }, [0x0187] = new byte[] { 2 }, [0x0188] = new byte[] { 2, 2, 2 }, [0x0189] = new byte[] { 2, 2, 2 }, [0x018A] = new byte[] { 2 }, [0x018B] = new byte[] { 2 }, [0x018C] = new byte[] { 2, 2 }, [0x018D] = new byte[] { 2, 2 }, [0x018E] = new byte[] { 2, 2, 2 }, [0x018F] = new byte[] { 1, 2, 2 }, [0x0190] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x0191] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x0192] = new byte[] { 0xFF, 1, //0xFF signals that this scrcmd takes a variable num of parameters, 1 is the size of the 1st par 0, 0, //if 1st par is 0, read 0 parameters 1, 0, //if 1st par is 1, read 0 parameters 2, 1, 2 //if 1st par is 2, read 1 parameter of size = 2 bytes }, [0x0193] = new byte[] { 2, 2 }, [0x0194] = new byte[] { 2, 2, 2 }, [0x0195] = new byte[] { 2, 2 }, [0x0196] = new byte[] { 2 }, [0x0197] = new byte[] { 2, 2 }, [0x0198] = new byte[] { 2, 2 }, [0x0199] = new byte[1] { 0 }, [0x019A] = new byte[] { 2, 2 }, [0x019B] = new byte[1] { 0 }, [0x019C] = new byte[] { 2, 2, 2 }, [0x019D] = new byte[] { 2, 2, 2, 2 }, [0x019E] = new byte[] { 2 }, [0x019F] = new byte[] { 2 }, [0x01A0] = new byte[] { 2, 2, 2 }, [0x01A1] = new byte[] { 2, 2 }, [0x01A2] = new byte[] { 2, 2 }, [0x01A3] = new byte[] { 2 }, [0x01A4] = new byte[] { 2 }, [0x01A5] = new byte[1] { 0 }, [0x01A6] = new byte[1] { 0 }, [0x01A7] = new byte[] { 2 }, [0x01A8] = new byte[] { 2 }, [0x01A9] = new byte[] { 2 }, [0x01AA] = new byte[] { 1, 2, 2 }, [0x01AB] = new byte[] { 2, 2 }, [0x01AC] = new byte[] { 2 }, [0x01AD] = new byte[] { 2 }, [0x01AE] = new byte[] { 2, 2, 2 }, [0x01AF] = new byte[1] { 0 }, [0x01B0] = new byte[] { 2, 2 }, [0x01B1] = new byte[] { 2, 2, 2 }, [0x01B2] = new byte[] { 2, 2 }, [0x01B3] = new byte[] { 2, 2 }, [0x01B4] = new byte[1] { 0 }, [0x01B5] = new byte[] { 2 }, [0x01B6] = new byte[] { 2, 2 }, [0x01B7] = new byte[] { 2, 2 }, [0x01B8] = new byte[] { 2, 2 }, [0x01B9] = new byte[] { 2, 2 }, [0x01BA] = new byte[] { 2, 2 }, [0x01BB] = new byte[1] { 0 }, [0x01BC] = new byte[] { 1, 2, 2, 1 }, [0x01BD] = new byte[] { 2 }, [0x01BE] = new byte[] { 2 }, [0x01BF] = new byte[] { 1, 1 }, [0x01C0] = new byte[] { 2, 2, 2, 2, 2 }, [0x01C1] = new byte[] { 2, 2 }, [0x01C2] = new byte[1] { 0 }, [0x01C3] = new byte[] { 2 }, [0x01C4] = new byte[] { 2, 2 }, [0x01C5] = new byte[1] { 0 }, [0x01C6] = new byte[1] { 0 }, [0x01C7] = new byte[] { 2 }, [0x01C8] = new byte[] { 2, 2 }, [0x01C9] = new byte[] { 2, 2 }, [0x01CA] = new byte[] { 2, 2, 2 }, [0x01CB] = new byte[1] { 0 }, [0x01CC] = new byte[] { 2, 2 }, [0x01CD] = new byte[] { 1, 2, 2 }, [0x01CE] = new byte[] { 2 }, [0x01CF] = new byte[1] { 0 }, [0x01D0] = new byte[] { 1 }, [0x01D1] = new byte[] { 0xFF, 2, //0xFF = Variable number of parameters, 2 = size of first parameter 0, 2, 2, 2, //if value is 0, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 1, 2, 2, 2, //if value is 1, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 2, 2, 2, 2, //if value is 2, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 3, 2, 2, 2, //if value is 3, read 2 parameters... first one takes up 2 bytes, second par takes up 2 bytes 4, 1, 2, //if value is 4, read 1 parameter... which takes up 2 bytes 5, 1, 2, //if value is 5, read 1 parameter... which takes up 2 bytes 6, 0, //if value is 6, don't read anything 7, 1, 2, //if value is 7, read 1 parameter... which takes up 2 bytes }, [0x01D2] = new byte[] { 2, 2 }, [0x01D3] = new byte[] { 2 }, [0x01D4] = new byte[] { 2, 2 }, [0x01D5] = new byte[] { 2 }, [0x01D6] = new byte[] { 1 }, [0x01D7] = new byte[] { 2 }, [0x01D8] = new byte[] { 2 }, [0x01D9] = new byte[] { 2 }, [0x01DA] = new byte[1] { 0 }, [0x01DB] = new byte[1] { 0 }, [0x01DC] = new byte[1] { 0 }, [0x01DD] = new byte[] { 1, 2 }, [0x01DE] = new byte[] { 2, 2 }, [0x01DF] = new byte[] { 2 }, [0x01E0] = new byte[] { 2, 2, 2 }, [0x01E1] = new byte[] { 2, 2 }, [0x01E2] = new byte[] { 1, 2 }, [0x01E3] = new byte[] { 2, 2 }, [0x01E4] = new byte[] { 2 }, [0x01E5] = new byte[] { 2 }, [0x01E6] = new byte[1] { 0 }, [0x01E7] = new byte[] { 2 }, [0x01E8] = new byte[] { 2, 2 }, [0x01E9] = new byte[] { 0xFF, 2, //0xFF = Variable number of parameters, 2 = size of first parameter 0, 0, //if value is 0, don't read anything 1, 1, 2, //if value is 1, read 1 parameter... which takes up 2 bytes 2, 1, 2, //if value is 2, read 1 parameter... which takes up 2 bytes 3, 1, 2, //if value is 3, read 1 parameter... which takes up 2 bytes 4, 0, //if value is 4, don't read anything 5, 2, 2, 2, //if value is 5, read 2 parameters... each one takes up 2 bytes 6, 2, 2, 2, //if value is 6, read 2 parameters... each one takes up 2 bytes 7, 0, //if value is 7, don't read anything 8, 0 //if value is 8, don't read anything }, [0x01EA] = new byte[] { 2 }, [0x01EB] = new byte[] { 2 }, [0x01EC] = new byte[] { 2, 2, 2 }, [0x01ED] = new byte[] { 2, 2, 2 }, [0x01EE] = new byte[] { 2, 2 }, [0x01EF] = new byte[] { 2 }, [0x01F0] = new byte[] { 2 }, [0x01F1] = new byte[] { 2, 2, 2 }, [0x01F2] = new byte[] { 2, 2, 2, 2, 2 }, [0x01F3] = new byte[] { 2, 2, 2, 2, 2 }, [0x01F4] = new byte[] { 1 }, [0x01F5] = new byte[] { 1 }, [0x01F6] = new byte[] { 2, 2 }, [0x01F7] = new byte[] { 2 }, [0x01F8] = new byte[] { 2, 2, 2, 2 }, [0x01F9] = new byte[1] { 0 }, [0x01FA] = new byte[] { 1, 2 }, [0x01FB] = new byte[] { 2 }, [0x01FC] = new byte[] { 2 }, [0x01FD] = new byte[] { 2 }, [0x01FE] = new byte[1] { 0 }, [0x01FF] = new byte[] { 2, 2 }, [0x0200] = new byte[] { 2 }, [0x0201] = new byte[] { 2, 2, 2 }, [0x0202] = new byte[] { 2 }, [0x0203] = new byte[] { 2 }, [0x0204] = new byte[] { 1, 2 }, [0x0205] = new byte[] { 2, 2 }, [0x0206] = new byte[] { 2 }, [0x0207] = new byte[] { 2 }, [0x0208] = new byte[1] { 0 }, [0x0209] = new byte[1] { 0 }, [0x020A] = new byte[] { 2 }, [0x020B] = new byte[] { 2, 2, 2, 2, 2 }, [0x020C] = new byte[] { 2, 2, 2, 2, 2 }, [0x020D] = new byte[] { 2 }, [0x020E] = new byte[1] { 0 }, [0x020F] = new byte[] { 2 }, [0x0210] = new byte[] { 2 }, [0x0211] = new byte[] { 2 }, [0x0212] = new byte[] { 2, 1 }, [0x0213] = new byte[] { 1, 2 }, [0x0214] = new byte[] { 2, 2, 2 }, [0x0215] = new byte[] { 2, 2, 2 }, [0x0216] = new byte[] { 2 }, [0x0217] = new byte[] { 2, 2 }, [0x0218] = new byte[] { 2 }, [0x0219] = new byte[1] { 0 }, [0x021A] = new byte[] { 2, 2 }, [0x021B] = new byte[1] { 0 }, [0x021C] = new byte[] { 2 }, [0x021D] = new byte[] { 1, 2, 1, 1 }, [0x021E] = new byte[1] { 0 }, [0x021F] = new byte[] { 2 }, [0x0220] = new byte[] { 2, 2 }, [0x0221] = new byte[] { 2 }, [0x0222] = new byte[] { 1, 2 }, [0x0223] = new byte[] { 2 }, [0x0224] = new byte[1] { 0 }, [0x0225] = new byte[] { 2 }, [0x0226] = new byte[] { 1 }, [0x0227] = new byte[] { 2 }, [0x0228] = new byte[] { 2, 2 }, [0x0229] = new byte[] { 1, 2 }, [0x022A] = new byte[1] { 0 }, [0x022B] = new byte[] { 2 }, [0x022C] = new byte[] { 2 }, [0x022D] = new byte[] { 2, 2 }, [0x022E] = new byte[] { 2, 2 }, [0x022F] = new byte[] { 2 }, [0x0230] = new byte[] { 2, 2 }, [0x0231] = new byte[] { 2, 2, 2, 2 }, [0x0232] = new byte[] { 2, 2, 2, 1 }, [0x0233] = new byte[] { 2, 2 }, [0x0234] = new byte[] { 2 }, [0x0235] = new byte[] { 2 }, [0x0236] = new byte[1] { 0 }, [0x0237] = new byte[] { 2, 2, 2, 2 }, [0x0238] = new byte[] { 2, 2 }, [0x0239] = new byte[] { 2 }, [0x023A] = new byte[] { 2, 2, 2 }, [0x023B] = new byte[] { 2 }, [0x023C] = new byte[] { 2 }, [0x023D] = new byte[1] { 0 }, [0x023E] = new byte[] { 2, 2 }, [0x023F] = new byte[1] { 0 }, [0x0240] = new byte[] { 2 }, [0x0241] = new byte[1] { 0 }, [0x0242] = new byte[1] { 0 }, [0x0243] = new byte[1] { 0 }, [0x0244] = new byte[] { 1, 2 }, [0x0245] = new byte[] { 2, 2 }, [0x0246] = new byte[] { 2, 2, 2 }, [0x0247] = new byte[] { 2 }, [0x0248] = new byte[] { 2 }, [0x0249] = new byte[1] { 0 }, [0x024A] = new byte[] { 2 }, [0x024B] = new byte[1] { 0 }, [0x024C] = new byte[] { 2 }, [0x024D] = new byte[] { 2, 2, 1 }, [0x024E] = new byte[] { 2 }, [0x024F] = new byte[1] { 0 }, [0x0250] = new byte[] { 2 }, [0x0251] = new byte[1] { 0 }, [0x0252] = new byte[1] { 0 }, [0x0253] = new byte[] { 1 }, [0x0254] = new byte[] { 2 }, [0x0255] = new byte[1] { 0 }, [0x0256] = new byte[] { 2 }, [0x0257] = new byte[1] { 0 }, [0x0258] = new byte[1] { 0 }, [0x0259] = new byte[1] { 0 }, [0x025A] = new byte[] { 2 }, [0x025B] = new byte[1] { 0 }, [0x025C] = new byte[] { 2 }, [0x025D] = new byte[] { 1, 1 }, [0x025E] = new byte[1] { 0 }, [0x025F] = new byte[1] { 0 }, [0x0260] = new byte[1] { 0 }, [0x0261] = new byte[1] { 0 }, [0x0262] = new byte[1] { 0 }, [0x0263] = new byte[] { 2, 2, 2, 2, 2, 2 }, [0x0264] = new byte[] { 2 }, [0x0265] = new byte[] { 2 }, [0x0266] = new byte[] { 2 }, [0x0267] = new byte[] { 2, 2 }, [0x0268] = new byte[] { 2 }, [0x0269] = new byte[1] { 0 }, [0x026A] = new byte[] { 2 }, [0x026B] = new byte[] { 2 }, [0x026C] = new byte[] { 1 }, [0x026D] = new byte[] { 2 }, [0x026E] = new byte[] { 2, 2 }, [0x026F] = new byte[] { 2 }, [0x0270] = new byte[] { 2 }, [0x0271] = new byte[] { 2, 2, 2 }, [0x0272] = new byte[] { 1, 2 }, [0x0273] = new byte[] { 1 }, [0x0274] = new byte[] { 2, 2 }, [0x0275] = new byte[] { 2 }, [0x0276] = new byte[] { 2 }, [0x0277] = new byte[] { 2, 2, 2 }, [0x0278] = new byte[] { 2, 2 }, [0x0279] = new byte[] { 2, 2, 2 }, [0x027A] = new byte[] { 2, 2 }, [0x027B] = new byte[] { 2, 2 }, [0x027C] = new byte[] { 2 }, [0x027D] = new byte[] { 2, 2, 2 }, [0x027E] = new byte[] { 2, 2, 2 }, [0x027F] = new byte[] { 2, 2, 2 }, [0x0280] = new byte[] { 2 }, [0x0281] = new byte[] { 2, 2, 2 }, [0x0282] = new byte[] { 2 }, [0x0283] = new byte[] { 2, 2, 2 }, [0x0284] = new byte[] { 2, 2, 2 }, [0x0285] = new byte[] { 2, 2, 2 }, [0x0286] = new byte[] { 2 }, [0x0287] = new byte[] { 2, 2 }, //To be checked! [0x0288] = new byte[] { 2 }, [0x0289] = new byte[1] { 0 }, [0x028A] = new byte[1] { 0 }, [0x028B] = new byte[] { 2, 2, 2 }, [0x028C] = new byte[] { 2, 2, 2 }, [0x028D] = new byte[] { 2, 2, 2, 2 }, [0x028E] = new byte[] { 2, 2, 2 }, [0x028F] = new byte[] { 2, 2 }, [0x0290] = new byte[] { 2, 2 }, [0x0291] = new byte[] { 2, 2, 2, 2 }, [0x0292] = new byte[] { 1, 2 }, [0x0293] = new byte[] { 2 }, [0x0294] = new byte[] { 2 }, [0x0295] = new byte[1] { 0 }, [0x0296] = new byte[] { 2, 2, 2 }, [0x0297] = new byte[] { 2 }, [0x0298] = new byte[1] { 0 }, [0x0299] = new byte[] { 2 }, [0x029A] = new byte[] { 2, 2 }, [0x029B] = new byte[] { 2, 2, 2, 2 }, [0x029C] = new byte[] { 1, 2 }, [0x029D] = new byte[] { 2, 2 }, [0x029E] = new byte[] { 2, 2 }, [0x029F] = new byte[1] { 0 }, [0x02A0] = new byte[] { 2, 2, 2 }, [0x02A1] = new byte[] { 2, 2, 2, 2, 2 }, [0x02A2] = new byte[] { 2, 2 }, [0x02A3] = new byte[] { 2, 2, 2, 2 }, [0x02A4] = new byte[] { 2, 2 }, [0x02A5] = new byte[1] { 0 }, [0x02A6] = new byte[] { 2, 2, 2 }, [0x02A7] = new byte[] { 2, 2 }, [0x02A8] = new byte[] { 2, 2 }, [0x02A9] = new byte[] { 2 }, [0x02AA] = new byte[] { 2 }, [0x02AB] = new byte[] { 2 }, [0x02AC] = new byte[] { 2 }, [0x02AD] = new byte[] { 2, 2, 2 }, [0x02AE] = new byte[] { 2, 2 }, [0x02AF] = new byte[] { 2 }, [0x02B0] = new byte[] { 2 }, [0x02B1] = new byte[] { 2 }, [0x02B2] = new byte[] { 2, 2 }, [0x02B3] = new byte[] { 2 }, [0x02B4] = new byte[1] { 0 }, [0x02B5] = new byte[] { 2 }, [0x02B6] = new byte[] { 2 }, [0x02B7] = new byte[] { 2 }, [0x02B8] = new byte[] { 2 }, [0x02B9] = new byte[1] { 0 }, [0x02BA] = new byte[] { 1, 2, 2 }, [0x02BB] = new byte[1] { 0 }, [0x02BC] = new byte[] { 2 }, [0x02BD] = new byte[] { 2, 2, 2, 2 }, [0x02BE] = new byte[1] { 0 }, [0x02BF] = new byte[] { 2 }, [0x02C0] = new byte[] { 2 }, [0x02C1] = new byte[1] { 0 }, [0x02C2] = new byte[] { 2 }, [0x02C3] = new byte[] { 2, 2 }, [0x02C4] = new byte[] { 2 }, [0x02C5] = new byte[1] { 0 }, [0x02C6] = new byte[1] { 0 }, [0x02C7] = new byte[1] { 0 }, [0x02C8] = new byte[] { 1 }, [0x02C9] = new byte[] { 1 }, [0x02CA] = new byte[] { 1 }, [0x02CB] = new byte[1] { 0 }, [0x02CC] = new byte[1] { 0 }, [0x02CD] = new byte[] { 2 }, [0x02CE] = new byte[] { 1, 2 }, [0x02CF] = new byte[] { 2, 2 }, [0x02D0] = new byte[] { 2 }, [0x02D1] = new byte[] { 2 }, [0x02D2] = new byte[] { 1, 1, 2, 2, 2 }, [0x02D3] = new byte[] { 1, 1, 2, 2, 2 }, [0x02D4] = new byte[] { 2, 2 }, [0x02D5] = new byte[] { 1, 2 }, [0x02D6] = new byte[1] { 0 }, [0x02D7] = new byte[] { 2 }, [0x02D8] = new byte[] { 1, 1 }, [0x02D9] = new byte[] { 2 }, [0x02DA] = new byte[] { 2 }, [0x02DB] = new byte[1] { 0 }, [0x02DC] = new byte[] { 1 }, [0x02DD] = new byte[] { 1, 2 }, [0x02DE] = new byte[] { 1 }, [0x02DF] = new byte[] { 2 }, [0x02E0] = new byte[1] { 0 }, [0x02E1] = new byte[] { 2 }, [0x02E2] = new byte[] { 2 }, [0x02E3] = new byte[1] { 0 }, [0x02E4] = new byte[] { 2, 2, 2 }, [0x02E5] = new byte[] { 2, 2, 2, 2 }, [0x02E6] = new byte[] { 2, 2, 2 }, [0x02E7] = new byte[] { 2 }, [0x02E8] = new byte[1] { 0 }, [0x02E9] = new byte[] { 1, 2 }, [0x02EA] = new byte[1] { 0 }, [0x02EB] = new byte[1] { 0 }, [0x02EC] = new byte[] { 2 }, [0x02ED] = new byte[] { 1, 1, 1, 1, 2 }, [0x02EE] = new byte[] { 1, 1, 1, 1, 2 }, [0x02EF] = new byte[] { 2, 2, 2 }, [0x02F0] = new byte[1] { 0 }, [0x02F1] = new byte[] { 2, 2, 2 }, [0x02F2] = new byte[] { 2 }, [0x02F3] = new byte[1] { 0 }, [0x02F4] = new byte[1] { 0 }, [0x02F5] = new byte[] { 2, 2 }, [0x02F6] = new byte[] { 2, 2, 2 }, [0x02F7] = new byte[1] { 0 }, [0x02F8] = new byte[1] { 0 }, [0x02F9] = new byte[] { 2 }, [0x02FA] = new byte[] { 2 }, [0x02FB] = new byte[1] { 0 }, [0x02FC] = new byte[1] { 0 }, [0x02FD] = new byte[1] { 0 }, [0x02FE] = new byte[] { 2, 2 }, [0x02FF] = new byte[1] { 0 }, [0x0300] = new byte[1] { 0 }, [0x0301] = new byte[1] { 0 }, [0x0302] = new byte[] { 2 }, [0x0303] = new byte[1] { 0 }, [0x0304] = new byte[1] { 0 }, [0x0305] = new byte[] { 2 }, [0x0306] = new byte[] { 2, 2 }, [0x0307] = new byte[] { 2, 2 }, [0x0308] = new byte[1] { 0 }, [0x0309] = new byte[] { 2, 2 }, [0x030A] = new byte[1] { 0 }, [0x030B] = new byte[] { 2, 2 }, [0x030C] = new byte[] { 1, 1 }, [0x030D] = new byte[] { 2 }, [0x030E] = new byte[1] { 0 }, [0x030F] = new byte[] { 1 }, [0x0310] = new byte[] { 1, 1 }, [0x0311] = new byte[] { 2, 1 }, [0x0312] = new byte[] { 1 }, [0x0313] = new byte[] { 2, 2, 2 }, [0x0314] = new byte[] { 1, 2 }, [0x0315] = new byte[] { 1 }, [0x0316] = new byte[] { 2, 2 }, [0x0317] = new byte[] { 1, 2 }, [0x0318] = new byte[1] { 0 }, [0x0319] = new byte[] { 2, 2 }, [0x031A] = new byte[] { 2, 2, 2 }, [0x031B] = new byte[] { 2, 2 }, [0x031C] = new byte[1] { 0 }, [0x031D] = new byte[] { 2 }, [0x031E] = new byte[] { 2 }, [0x031F] = new byte[] { 2 }, [0x0320] = new byte[] { 2 }, [0x0321] = new byte[] { 2 }, [0x0322] = new byte[1] { 0 }, [0x0323] = new byte[] { 2, 2 }, [0x0324] = new byte[] { 1 }, [0x0325] = new byte[1] { 0 }, [0x0326] = new byte[1] { 0 }, [0x0327] = new byte[] { 2, 2 }, [0x0328] = new byte[] { 2 }, [0x0329] = new byte[] { 2 }, [0x032A] = new byte[1] { 0 }, [0x032B] = new byte[] { 2, 2 }, [0x032C] = new byte[] { 2, 2, 2, 2 }, [0x032D] = new byte[] { 2 }, [0x032E] = new byte[1] { 0 }, [0x032F] = new byte[] { 2 }, [0x0330] = new byte[1] { 0 }, [0x0331] = new byte[] { 1 }, [0x0332] = new byte[1] { 0 }, [0x0333] = new byte[1] { 0 }, [0x0334] = new byte[] { 1 }, [0x0335] = new byte[] { 2, 2 }, [0x0336] = new byte[] { 2 }, [0x0337] = new byte[] { 2 }, [0x0338] = new byte[] { 2 }, [0x0339] = new byte[] { 2, 2 }, [0x033A] = new byte[] { 2 }, [0x033B] = new byte[] { 2, 2 }, [0x033C] = new byte[] { 2, 2, 1 }, [0x033D] = new byte[] { 2 }, [0x033E] = new byte[] { 2 }, [0x033F] = new byte[] { 2 }, [0x0340] = new byte[] { 2 }, [0x0341] = new byte[] { 2 }, [0x0342] = new byte[] { 2 }, [0x0343] = new byte[] { 2 }, [0x0344] = new byte[] { 2 }, [0x0345] = new byte[] { 2 }, [0x0346] = new byte[] { 2, 2 }, [0x0347] = new byte[] { 2 }, [0x0348] = new byte[] { 2, 2 }, [0x0349] = new byte[] { 1 }, [0x034A] = new byte[] { 1 }, [0x034B] = new byte[] { 1, 2 }, [0x034C] = new byte[] { 1, 2 }, [0x034D] = new byte[] { 1, 2 }, [0x034E] = new byte[] { 2, 2, 2 }, [0x034F] = new byte[] { 1 }, [0x0350] = new byte[] { 1, 2 }, [0x0351] = new byte[] { 1, 2 }, [0x0352] = new byte[] { 1, 2 }, [0x0353] = new byte[] { 1 }, [0x0354] = new byte[] { 1, 1 } }; } }