DS-Pokemon-Rom-Editor/DS_Map/Resources/ScriptDatabase.cs
2023-05-13 03:06:17 +02:00

3009 lines
121 KiB
C#

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<ushort, string> comparisonOperatorsDict = new Dictionary<ushort, string>() {
[0] = "LESS",
[1] = "EQUAL",
[2] = "GREATER",
[3] = "LESS/EQUAL",
[4] = "GREATER/EQUAL",
[5] = "DIFFERENT",
};
public static Dictionary<ushort, string> comparisonOperatorsGenVappendix = new Dictionary<ushort, string>() {
/* GEN V ONLY */
[6] = "OR",
[7] = "AND",
[0xFF] = "TRUEUP"
};
public static Dictionary<ushort, string> specialOverworlds = new Dictionary<ushort, string>() {
[241] = "Camera",
[242] = "Partner",
[253] = "Following",
[255] = "Player"
};
public static Dictionary<byte, string> overworldDirections = new Dictionary<byte, string>() {
[0] = "Up",
[1] = "Down",
[2] = "Left",
[3] = "Right"
};
public static Dictionary<ushort, int> commandsWithRelativeJump = new Dictionary<ushort, int>() {
//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<ushort?> endCodes = new HashSet<ushort?>() {
0x2,
0x16,
0x1B
};
public static Dictionary<ushort, string> movementsDictIDName = new Dictionary<ushort, string>() {
[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 Dictionary<ushort, string> DPPtScrCmdNames = new Dictionary<ushort, string>() {
[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] = "CheckPlayerHasItem",
[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] = "TakeBerries",
[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",
[0x01CF] = "Strength",
[0x01D0] = "Flash",
[0x01D1] = "Defog",
[0x01E8] = "CheckCompleteSinnohDex",
[0x01E9] = "CheckCompleteNationalDex",
[0x01EA] = "RegisterSinnohPokedex",
[0x01EB] = "RegisterNationalPokedex",
[0x01F1] = "GetFossilCount",
[0x01F4] = "GetPokeNameFromFossil",
[0x01F5] = "CheckFossil",
[0x01F6] = "CountPokemonUnderLevel",
[0x01F7] = "SurvivePoison",
[0x0200] = "GetPreviousHeaderID",
[0x0201] = "GetCurrentHeaderID",
[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",
[0x024E] = "GetLottoNumber",
[0x024F] = "CheckWinLotto",
[0x0250] = "InitLotto",
[0x0252] = "CountPCFreeSpace",
[0x0261] = "TextAccesory",
[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"
};
public static Dictionary<ushort, byte[]> DPPtScrCmdParameters = new Dictionary<ushort, byte[]>() {
[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[1] { 0 },
[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[1] { 0 },
[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[1] { 0 },
[0x0158] = new byte[1] { 0 },
[0x0159] = new byte[1] { 0 },
[0x015A] = new byte[1] { 0 },
[0x015B] = new byte[] { 2, 2 },
[0x015C] = new byte[] { 2 },
[0x015D] = new byte[] { 2 },
[0x015E] = new byte[1] { 0 },
[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[] { 2 },
[0x017C] = new byte[] { 1, 2 },
[0x017D] = new byte[] { 2 },
[0x017E] = new byte[] { 2 },
[0x017F] = new byte[] { 2 },
[0x0180] = new byte[] { 1 },
[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[1] { 0 },
[0x01BC] = new byte[] { 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, 2, 2, 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[1] { 0 },
[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<ushort, string> DPScrCmdNames = new Dictionary<ushort, string>() {
[0x0264] = "CheckBurmyForms",
};
public static Dictionary<ushort, byte[]> DPScrCmdParameters = new Dictionary<ushort, byte[]>() {
[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<ushort, string> PlatScrCmdNames = new Dictionary<ushort, string>() {
[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",
[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",
[0x0315] = "GetCurrentWeather",
[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<ushort, byte[]> PlatScrCmdParameters = new Dictionary<ushort, byte[]>() {
[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[1] { 0 },
[0x0335] = new byte[] { 2, 4 },
[0x0336] = new byte[] { 2 },
//International release exclusive
[0x0337] = new byte[1] { 0 },
[0x0338] = new byte[1] { 0 },
[0x0339] = new byte[1] { 0 },
[0x033A] = new byte[] { 1 },
[0x033B] = new byte[1] { 0 },
[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<ushort, string> HGSSScrCmdNames = new Dictionary<ushort, string>() {
[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",
[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",
[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",
[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",
[0x01B0] = "GetPokeNameFromFossil",
[0x01B1] = "CheckFossil",
[0x01B2] = "CountPokemonUnderLevel",
[0x01B3] = "SurvivePoison",
[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",
[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",
[0x0290] = "CheckHeadbuttCompatibility",
[0x02AC] = "GetCurrentWeather",
[0x02C4] = "FloorTrapAnimation",
[0x02C7] = "TalkFollowingPoke",
[0x02D9] = "CheckPokemonAlive",
[0x02DA] = "CheckFollowingPoke",
[0x02EA] = "OpenTouchScreen",
[0x02EB] = "CloseTouchScreen",
[0x02EC] = "YesNoTouchScreen",
[0x02ED] = "MultiTouchStandardText",
[0x02EE] = "MultiTouchLocalText",
[0x02EF] = "CreateMultiTouchBox",
[0x02F0] = "CloseMultiTouch",
[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<ushort, byte[]> HGSSScrCmdParameters = new Dictionary<ushort, byte[]>() {
[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[1] { 0 },
[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 },
[0x017E] = new byte[] { 2, 2 },
[0x017F] = new byte[] { 2, 2 },
[0x0180] = new byte[] { 1 },
[0x0181] = new byte[] { 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, 2, 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[] { 2, 2, 2 },
[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[] { 2, 2 },
[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[] { 2, 2 },
[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, 2, 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, 2, 2 },
[0x0281] = new byte[] { 2, 2, 2 },
[0x0282] = new byte[] { 2, 2, 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[] { 2 },
[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 },
[0x02AE] = new byte[1] { 0 },
[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[1] { 0 },
[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[] { 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[] { 2, 2 },
[0x0300] = new byte[1] { 0 },
[0x0301] = new byte[1] { 0 },
[0x0302] = new byte[] { 2 },
[0x0303] = new byte[1] { 0 },
[0x0304] = new byte[] { 2, 2, 2, 2 },
[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[] { 2 },
[0x030D] = new byte[] { 2 },
[0x030E] = new byte[1] { 0 },
[0x030F] = new byte[] { 1 },
[0x0310] = new byte[] { 2 },
[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[] { 2, 2, 2 },
[0x0318] = new byte[] { 2, 2 },
[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[] { 2 },
[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 }
};
}
}