diff --git a/DS_Map/DSPRE.csproj b/DS_Map/DSPRE.csproj index 2998b10..be330bf 100644 --- a/DS_Map/DSPRE.csproj +++ b/DS_Map/DSPRE.csproj @@ -125,6 +125,7 @@ Resources.resx + diff --git a/DS_Map/Resources/PokeDatabase.cs b/DS_Map/Resources/PokeDatabase.cs index b65bb8a..ceb16b7 100644 --- a/DS_Map/Resources/PokeDatabase.cs +++ b/DS_Map/Resources/PokeDatabase.cs @@ -579,2864 +579,6 @@ namespace DSPRE.Resources { }; } } - public static class ScriptEditor { - public static Dictionary comparisonOperatorsDict = new Dictionary() { - [0] = "LESS", - [1] = "EQUAL", - [2] = "GREATER", - [3] = "LESS/EQUAL", - [4] = "GREATER/EQUAL", - [5] = "DIFFERENT", - - /* GEN V ONLY */ - //[6] = "OR", - //[7] = "AND", - //[0xFF] = "TRUEUP" - }; - - 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, //CondJump - [0x001D] = 1, //CondCall - [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", - [0x0045] = "WaitDisappear", - [0x0047] = "LockDir", - [0x0048] = "ReleaseDir", - [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 customMovementsDictIDName = new Dictionary() { - [0x0071] = "Descend", - [0x0072] = "Ascend", - [0x0073] = "Heart", - [0x0074] = "Smile", - [0x0075] = "Anger", - [0x0076] = "Sad", - [0x0077] = "Grin", - [0x0078] = "Suspecting", - [0x0079] = "MusicNote", - [0x007A] = "Question", - [0x007B] = "BigExclamation", - [0x007C] = "Water", - [0x007D] = "Exhaust", - [0x007E] = "Poison", - [0x007F] = "Ellipsis", - [0x0080] = "Asleep" - }; - - 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] = "IfRegReg", - [0x000C] = "IfRegValue", - [0x000D] = "IfRegAdrs", - [0x000E] = "IfAdrsReg", - [0x000F] = "IfAdrsValue", - [0x0010] = "IfAdrsAdrs", - [0x0011] = "CompareVarValue", - [0x0012] = "CompareVars", - - [0x0014] = "CommonScript", - [0x0015] = "LocalScript", - [0x0016] = "Jump", - [0x0017] = "JumpIfObjID", - [0x0018] = "JumpIfBgID", - [0x0019] = "JumpIfPlayerDir", - [0x001A] = "Call", - [0x001B] = "Return", - [0x001C] = "CondJump", - [0x001D] = "CondCall", - [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", - - [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] = "CheckPlayerPosition", - [0x006A] = "CheckOverworldPosition", - - [0x006C] = "KeepOverworld", - [0x006D] = "SetObjectDefaultMovement", - [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", - - [0x00A9] = "SealCapsuleScreen", - [0x00AA] = "WorldMapScreen", - [0x00AB] = "PCBoxScreen", - [0x00AC] = "DrawUnion", - [0x00AD] = "TrainerCaseUnion", - [0x00AE] = "TradeUnion", - [0x00AF] = "RecordMixingUnion", - - [0x00B0] = "EndGameScreen", - - [0x00B4] = "ChooseStarterScreen", - [0x00B5] = "EndChooseStarterScreen", - - [0x00BA] = "ChoosePlayerName", - [0x00BB] = "ChoosePokémonName", - [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] = "CheckPlayerAction", - [0x00CB] = "SetPlayerAction", - [0x00CC] = "UpdatePlayerAction", - [0x00CD] = "TextPlayerName", - [0x00CE] = "TextRivalName", - [0x00CF] = "TextCounterpart", - [0x00D0] = "TextPokemon", - [0x00D1] = "TextItem", - [0x00D2] = "TextPocket", - [0x00D3] = "TextMachineAttack", - [0x00D4] = "TextMove", - [0x00D5] = "TextNumber", - [0x00D6] = "TextNickname", - [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] = "GenerateSwarm", - [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] = "PokémonContest", - - [0x0111] = "FlashContest", - [0x0112] = "EndFlash", - [0x0116] = "ShowLinkCountRecord", - - [0x0119] = "CheckPokerus", - [0x011A] = "CheckPokemonGender", - [0x011B] = "SetWarpData", - [0x011C] = "CheckElevatorFloor", - [0x011D] = "ElevatorBox", - [0x011E] = "SinnohDexSeen", - [0x011F] = "SinnohDexObtained", - [0x0120] = "NationalDexSeen", - [0x0121] = "NationalDexObtained", - [0x0122] = "DummyNationalDexCheck", - [0x0123] = "PokedexProgressMsg", - [0x0124] = "WildBattle", - [0x0125] = "FirstBattle", - [0x0126] = "CatchTutorial", - [0x0127] = "UpdateHoneyTree", - [0x0128] = "CheckHoneyTree", - [0x0129] = "HoneyTreeBattle", - [0x012A] = "StopHoneyTreeAnimation", - - [0x012C] = "CheckSaveGame", - [0x012D] = "SaveGame", - - [0x0131] = "GivePokétch", - [0x0132] = "PoketchFlag", - [0x0133] = "GivePoketchApp", - [0x0134] = "CheckPoketchApp", - - [0x014B] = "DummyLostBattle", - [0x014C] = "SetLastWarp", - [0x014D] = "CheckPlayerGender", - [0x014E] = "HealPokemon", - - [0x0157] = "CheckPokedex", - [0x0158] = "GivePokedex", - [0x0159] = "CheckShoes", - [0x015A] = "GiveShoes", - [0x015B] = "CheckBadge", - [0x015C] = "GiveBadge", - [0x015D] = "CountBadges", - [0x015E] = "CheckBag", - [0x015F] = "GiveBag", - [0x0160] = "CheckPartner", - [0x0161] = "SetPartner", - [0x0162] = "ClearPartner", - - [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] = "SetOverworldPosition", - [0x0187] = "SetOverworldFullPosition", - [0x0188] = "SetOverworldMovement", - [0x0189] = "SetOverworldDirection", - [0x018A] = "SetWarpPosition", - [0x018B] = "SetSpawnablePosition", - - [0x0190] = "WaitTimeOrAB", - - [0x0193] = "GetSelectedPartySlot", - [0x0198] = "GetPartyPokemonID", - [0x0199] = "CheckTradedPokemon", - [0x019A] = "CountPartyBornPokemon", - [0x019B] = "CountRemainingPokemon", - [0x019C] = "CountTotalAlivePokemon", - [0x019D] = "CountPartyEggs", - - [0x01A3] = "TakeMoneyFlex", - - [0x01AB] = "CompareMoneyFlex", - [0x01AC] = "EggHatchScreen", - [0x01AD] = "DummyDaycare", - [0x01AE] = "CheckDaycareLevel", - - [0x01B1] = "UnvanishOverworld", - [0x01B2] = "VanishOverworld", - [0x01B3] = "OpenMailScreen", - [0x01B4] = "CountMail", - - [0x01B6] = "CheckTimePeriod", - [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] = "DeletePokemonMove", - [0x01CA] = "GetPartyPokemonMoveID", - [0x01CB] = "TextPartyPokemonMoveID", - - [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] = "GetPreviousHeader", - [0x0201] = "GetCurrentHeader", - - [0x0205] = "GeonetScreen", - - [0x0208] = "ShowPokemonPic", - [0x0209] = "HidePokemonPic", - - [0x020D] = "SpearPillarSequence", - [0x020E] = "KeepSafariTrain", - [0x020F] = "SafariTrainAnimation", - [0x0210] = "CheckSafariTrainMovement", - [0x0211] = "IgnoreHeights", - - [0x0214] = "CheckSpiritombCounter", - [0x0215] = "ClearAmitySquareSteps", - [0x0216] = "CheckAmitySquareSteps", - [0x0217] = "GetAmitySquareAccessory", - - [0x021C] = "AddRoamingPokemon", - [0x021D] = "Group", - - [0x0221] = "RememberMove", - - [0x0226] = "InitTrade", - [0x0227] = "GetOfferedPokemon", - [0x0228] = "GetRequestedPokemon", - [0x0229] = "TradePokemonScreen", - [0x022A] = "EndTrade", - [0x022B] = "ActivateInternationalDex", - [0x022C] = "ActivateDimorphismDex", - [0x022D] = "NationalDex", - [0x022E] = "PokemonRibbonCount", - [0x022F] = "PartyRibbonCount", - [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] = "GetFirstPokemon", - - [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", - - [0x0280] = "TextNumberSp", - - [0x0282] = "CheckBirthday", - [0x0283] = "MusicVolumeSet", - [0x0284] = "CountSeenUnown", - - [0x029F] = "ShakeCamera", - - [0x02A5] = "PartyPokemonTradeScreen", - - [0x02BD] = "SpWildBattle", - [0x02BE] = "CheckTrainerCardLevel", - [0x02BF] = "DummyRideBike", - - [0x02C1] = "ShowSaveBox", - [0x02C2] = "HideSaveBox", - [0x02C3] = "ScopeMode" - }; - 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, 2, 2 }, - [0x0079] = new byte[] { 2 }, - [0x007A] = new byte[] { 2, 2, 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 }, - [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[1] { 0 }, - [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[] { }, ///////////////// - [0x01D0] = new byte[] { }, ///////////////// - [0x01D1] = new byte[] { }, ///////////////// - [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[] { }, /////////////////// - [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[] { }, /////////////////// - [0x0236] = new byte[] { 2 }, - [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, 2 }, - [0x023D] = new byte[] { 2, 2, 2, 2 }, - [0x023E] = new byte[] { }, ///////////////// - [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, 1, 2, 2, 2, 1, 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[1] { 0 }, - [0x0298] = new byte[1] { 0 }, - [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 DPScrCmdNames = new Dictionary() { - [0x011D] = "ElevatorFloorWrite", - - [0x0264] = "CheckBurmyForm", - }; - 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() { - [0x011D] = "ElevatorFloorWrite", - - [0x0264] = "CombeeCheck", - - //0x02C3 is the last command ID that DP and Plat have in common - [0x02C6] = "SpinTradeUnion", - [0x02C7] = "CheckGameVersion", - - [0x02C9] = "InitEternaGym", - [0x02CA] = "FloralClockAnimation", - [0x02CD] = "SetDarkFog", - [0x02CE] = "ClearDarkFog", - - [0x02FB] = "SpearPillarSequence2", - [0x0328] = "PortalEffect", - - //International release exclusive - [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[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 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] = "IfRegReg", - [0x000C] = "IfRegValue", - [0x000D] = "IfRegAdrs", - [0x000E] = "IfAdrsReg", - [0x000F] = "IfAdrsValue", - [0x0010] = "IfAdrsAdrs", - [0x0011] = "CompareVarValue", - [0x0012] = "CompareVars", - - [0x0014] = "CommonScript", - [0x0015] = "LocalScript", - [0x0016] = "Jump", - [0x0017] = "JumpIfObjID", - [0x0018] = "JumpIfBgID", - [0x0019] = "JumpIfPlayerDir", - [0x001A] = "Call", - [0x001B] = "Return", - [0x001C] = "CondJump", - [0x001D] = "CondCall", - [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] = "MessageSp", - [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] = "EndBoard", - [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] = "CheckPlayerPosition", - [0x006A] = "CheckOverworldPosition", - - [0x006C] = "KeepOverworld", - [0x006D] = "SetObjectDefaultMovement", - [0x006E] = "GiveMoney", - [0x006F] = "TakeMoney", - [0x0070] = "CompareMoney", - [0x0071] = "ShowMoney", - [0x0072] = "HideMoney", - [0x0073] = "UpdateMoney", - - [0x0077] = "CheckCoins", - [0x0078] = "GiveCoins", - [0x0079] = "TakeCoins", - - [0x007E] = "TakeItem", - [0x007F] = "GiveItem", - [0x0080] = "CheckItem", - [0x0081] = "CheckItemIsMachine", - [0x0082] = "GetItemPocket", - [0x0083] = "SetStarter", - [0x0084] = "GenderMessage", - - [0x0089] = "GivePokemon", - [0x008A] = "GivePokemonEgg", - - [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] = "CheckPlayerAction", - [0x00BC] = "SetPlayerAction", - [0x00BD] = "UpdatePlayerAction", - [0x00BE] = "TextPlayerName", - [0x00BF] = "TextRivalName", - [0x00C0] = "TextCounterpart", - [0x00C1] = "TextPokemon", - [0x00C2] = "TextItem", - [0x00C4] = "TextAttackItem", - [0x00C5] = "TextMoveName", - [0x00C6] = "TextNumber", - [0x00C7] = "TextPokeNickname", - [0x00C8] = "TextObject", - [0x00C9] = "TextPlayerTrainerType", - [0x00CA] = "TextPokemonStored", - [0x00CB] = "TextStarterPokemon", - [0x00CC] = "TextRivalStarter", - [0x00CD] = "TextCounterpartStarter", - [0x00CE] = "CheckStarter", - [0x00CF] = "DummyTextGoods", - [0x00D0] = "DummyTextTrap", - [0x00D1] = "DummyTextTreasure", - [0x00D2] = "TextMapName", - [0x00D3] = "CheckSwarm", - [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] = "CheckPokemonGender", - - [0x00F1] = "CheckElevatorFloor", - [0x00F2] = "ElevatorBox", - [0x00F3] = "GetJohtoDexSeenCount", - [0x00F4] = "GetJohtoDexObtained", - [0x00F5] = "GetNationalDexSeen", - [0x00F6] = "GetNationalDexObtained", - [0x00F7] = "DummyNationalDexCheck", - [0x00F8] = "CheckDexProgressMsg", - [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] = "SetOverworldPosition", - [0x0153] = "SetOverworldFullPosition", - [0x0154] = "SetOverworldMovement", - [0x0155] = "SetOverworldDirection", - [0x0156] = "SetWarpPosition", - [0x0157] = "SetSpawnablePosition", - - [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] = "OpenMail", - [0x0179] = "CheckMail", - - [0x017B] = "GetTimePeriod", - [0x017C] = "GetRandom", - [0x017D] = "DummyGetRandom", - [0x017E] = "CheckHappiness", - [0x017F] = "AddHappiness", - [0x0180] = "SubHappiness", - - [0x0182] = "GetPlayerDirection", - - [0x0185] = "CheckBornPokemonInParty", - [0x0186] = "ComparePokemonPlayerSize", - [0x0187] = "SetPokemonSizeRecord", - [0x0188] = "TextPartyPokemonSize", - [0x0189] = "TextPokemonRecordSize", - - [0x018C] = "GetMoveCount", - [0x018D] = "DeletePokemonMove", - [0x018E] = "GetPartyPokemonMoveID", - [0x018F] = "TextPartyPokemonMoveID", - [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] = "AddRoamingPokémon", - [0x01D1] = "Group", - - [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] = "PokemonEVCount", - [0x01E4] = "GetDayOfWeek", - [0x01E5] = "ShowRulesList", - [0x01E6] = "DummyGetFootprint", - [0x01E7] = "PCHealAnimation", - [0x01E8] = "ElevatorAnimation", - [0x01E9] = "MysteryGiftGive", - - [0x01EF] = "CheckVersion", - [0x01F0] = "FirstPokemonInParty", - - [0x01FB] = "CountPCFreeSpace", - - [0x01FF] = "StoreFriendParkResult", - - [0x0204] = "TextAccessory", - [0x0205] = "CheckPokemonInParty", - [0x0206] = "SetDeoxysForm", - [0x0207] = "CheckBurmyForms", - - [0x020A] = "GetHour", - [0x020B] = "ShakeOverworld", - [0x020C] = "BlinkOverworld", - [0x020D] = "CheckRegis", - - [0x020F] = "MessageUnown", - [0x0210] = "CheckGBACartidge", - [0x0211] = "GetFirstPokemonAlive", - [0x0212] = "SetMatrixAlternativeMap", - - [0x021D] = "TextNumberSp", - - [0x021F] = "CheckBirthday", - [0x0220] = "MusicVolumeSet", - [0x0221] = "CountUnownSeen", - - [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] = "GetOverworldDirection", - - [0x02AC] = "GetCurrentWeather", - - [0x02C4] = "FloorTrapAnimation", - - [0x02C7] = "TalkFollowingPoke", - - [0x02D9] = "CheckPokemonAlive", - [0x02DA] = "CheckFollowingPoke", - - [0x02EA] = "OpenTouchScreen", - [0x02EB] = "CloseTouchScreen", - [0x02EC] = "YesNoTouchScreen", - [0x02ED] = "MultiTouchStandardText", - [0x02EE] = "MultiTouchLocalText", - [0x02EF] = "CreateMultiTouchBox", - [0x02F0] = "CloseMultiTouch", - - [0x0344] = "CheckJadeOrbRequirements", - - [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 }, - [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, 2, 2 }, - [0x007B] = new byte[1] { 0 }, - [0x007C] = new byte[] { 2, 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, 2, 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] { 0 }, - [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, 2, 2, 2 }, - [0x00B3] = new byte[] { 2 }, - [0x00B4] = new byte[1] { 0 }, - [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, 2 }, - [0x00E0] = new byte[] { 1, 2 }, - [0x00E1] = new byte[] { 1, 2 }, - [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, 2, 2, 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[] { 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, 2, 2, 2 }, - [0x0117] = new byte[1] { 0 }, - [0x0118] = new byte[1] { 0 }, - [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, 2 }, - [0x0123] = new byte[1] { 0 }, - [0x0124] = new byte[1] { 0 }, - [0x0125] = new byte[1] { 0 }, - [0x0126] = new byte[] { 2, 2 }, - [0x0127] = new byte[] { 2 }, - [0x0128] = new byte[] { 2 }, - [0x0129] = new byte[1] { 0 }, - [0x012A] = new byte[] { 2, 2, 2, 2 }, - [0x012B] = new byte[] { 2 }, - [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, 2, 2, 2 }, - [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, 2, 2, 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 }, - [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[] { 1 }, - [0x0191] = new byte[1] { 0 }, - [0x0192] = new byte[1] { 0 }, - [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[] { 2 }, - [0x01C0] = new byte[] { 2, 2, 2, 2, 2 }, - [0x01C1] = new byte[] { 2, 2 }, - [0x01C2] = new byte[] { 2 }, - [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[] { 2, 2, 2 }, - [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[1] { 0 }, - [0x01D8] = new byte[] { 2 }, - [0x01D9] = new byte[] { 2 }, - [0x01DA] = new byte[1] { 0 }, - [0x01DB] = new byte[] { 2, 2 }, - [0x01DC] = new byte[1] { 0 }, - [0x01DD] = new byte[] { 1, 2 }, - [0x01DE] = new byte[] { 2, 2, 2, 2 }, - [0x01DF] = new byte[1] { 0 }, - [0x01E0] = new byte[] { 2, 2, 2 }, - [0x01E1] = new byte[] { 2, 2 }, - [0x01E2] = new byte[] { 2, 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[] { 2 }, - [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[1] { 0 }, - [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[] { 1, 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 }, - [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[1] { 0 }, - [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 } - }; - - public static Dictionary CustomScrCmdNames = new Dictionary() { - [0x0357] = "DivVar", - [0x0360] = "AddCameraMovementParam", - [0x0361] = "OverrideDefaultCam", - [0x0362] = "ResetCamMovement", - [0x0363] = "RestoreDefaultCam", - [0x0364] = "SetSSEQTrackVol", - [0x0365] = "ClearSSEQTrackChanges", - [0x0366] = "GetSSEQTrackVol", - - [0x036A] = "DoubleFadeScreen", - [0x036B] = "MessageAllTextbox", - [0x036C] = "MessageTextbox", - [0x036D] = "SetTextboxAlpha", - [0x036E] = "TextPocketWhite", - [0x036F] = "SetLayerVisibility", - [0x0370] = "StopWeatherAlphaBlend", - [0x0371] = "SetRepelSteps" - }; - public static Dictionary CustomScrCmdParameters = new Dictionary() { - [0x0357] = new byte[] { 2, 2 }, - [0x0360] = new byte[] { 2, 2, 2, 2 }, - [0x0361] = new byte[1] { 0 }, - [0x0362] = new byte[1] { 0 }, - [0x0363] = new byte[1] { 0 }, - [0x0364] = new byte[] { 2, 2, 2, 2, 2, 2, 2 }, - [0x0365] = new byte[1] { 0 }, - [0x0366] = new byte[] { 2, 2 }, - - [0x036A] = new byte[] { 2, 2, 2, 2, 2, 2 }, - [0x036B] = new byte[] { 2, 2, 2, 2, 2 }, - [0x036C] = new byte[] { 2, 2, 2, 2, 2 }, - [0x036D] = new byte[] { 2, 2 }, - [0x036E] = new byte[] { 1, 2 }, - [0x036F] = new byte[] { 2, 2 }, - [0x0370] = new byte[] { 2 }, - [0x0371] = new byte[] { 2 } - }; - } public static class System { public static Dictionary versionsDict = new Dictionary() { ["ADAE"] = gVerEnum.Diamond, diff --git a/DS_Map/Resources/ScriptDatabase.cs b/DS_Map/Resources/ScriptDatabase.cs new file mode 100644 index 0000000..2f5e1f3 --- /dev/null +++ b/DS_Map/Resources/ScriptDatabase.cs @@ -0,0 +1,2868 @@ +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 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, //CondJump + [0x001D] = 1, //CondCall + [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", + [0x0045] = "WaitDisappear", + [0x0047] = "LockDir", + [0x0048] = "ReleaseDir", + [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 customMovementsDictIDName = new Dictionary() { + [0x0071] = "Descend", + [0x0072] = "Ascend", + [0x0073] = "Heart", + [0x0074] = "Smile", + [0x0075] = "Anger", + [0x0076] = "Sad", + [0x0077] = "Grin", + [0x0078] = "Suspecting", + [0x0079] = "MusicNote", + [0x007A] = "Question", + [0x007B] = "BigExclamation", + [0x007C] = "Water", + [0x007D] = "Exhaust", + [0x007E] = "Poison", + [0x007F] = "Ellipsis", + [0x0080] = "Asleep" + }; + + 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] = "IfRegReg", + [0x000C] = "IfRegValue", + [0x000D] = "IfRegAdrs", + [0x000E] = "IfAdrsReg", + [0x000F] = "IfAdrsValue", + [0x0010] = "IfAdrsAdrs", + [0x0011] = "CompareVarValue", + [0x0012] = "CompareVars", + + [0x0014] = "CommonScript", + [0x0015] = "LocalScript", + [0x0016] = "Jump", + [0x0017] = "JumpIfObjID", + [0x0018] = "JumpIfBgID", + [0x0019] = "JumpIfPlayerDir", + [0x001A] = "Call", + [0x001B] = "Return", + [0x001C] = "CondJump", + [0x001D] = "CondCall", + [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", + + [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] = "CheckPlayerPosition", + [0x006A] = "CheckOverworldPosition", + + [0x006C] = "KeepOverworld", + [0x006D] = "SetObjectDefaultMovement", + [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", + + [0x00A9] = "SealCapsuleScreen", + [0x00AA] = "WorldMapScreen", + [0x00AB] = "PCBoxScreen", + [0x00AC] = "DrawUnion", + [0x00AD] = "TrainerCaseUnion", + [0x00AE] = "TradeUnion", + [0x00AF] = "RecordMixingUnion", + + [0x00B0] = "EndGameScreen", + + [0x00B4] = "ChooseStarterScreen", + [0x00B5] = "EndChooseStarterScreen", + + [0x00BA] = "ChoosePlayerName", + [0x00BB] = "ChoosePokémonName", + [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] = "CheckPlayerAction", + [0x00CB] = "SetPlayerAction", + [0x00CC] = "UpdatePlayerAction", + [0x00CD] = "TextPlayerName", + [0x00CE] = "TextRivalName", + [0x00CF] = "TextCounterpart", + [0x00D0] = "TextPokemon", + [0x00D1] = "TextItem", + [0x00D2] = "TextPocket", + [0x00D3] = "TextMachineAttack", + [0x00D4] = "TextMove", + [0x00D5] = "TextNumber", + [0x00D6] = "TextNickname", + [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] = "GenerateSwarm", + [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] = "PokémonContest", + + [0x0111] = "FlashContest", + [0x0112] = "EndFlash", + [0x0116] = "ShowLinkCountRecord", + + [0x0119] = "CheckPokerus", + [0x011A] = "CheckPokemonGender", + [0x011B] = "SetWarpData", + [0x011C] = "CheckElevatorFloor", + [0x011D] = "ElevatorBox", + [0x011E] = "SinnohDexSeen", + [0x011F] = "SinnohDexObtained", + [0x0120] = "NationalDexSeen", + [0x0121] = "NationalDexObtained", + [0x0122] = "DummyNationalDexCheck", + [0x0123] = "PokedexProgressMsg", + [0x0124] = "WildBattle", + [0x0125] = "FirstBattle", + [0x0126] = "CatchTutorial", + [0x0127] = "UpdateHoneyTree", + [0x0128] = "CheckHoneyTree", + [0x0129] = "HoneyTreeBattle", + [0x012A] = "StopHoneyTreeAnimation", + + [0x012C] = "CheckSaveGame", + [0x012D] = "SaveGame", + + [0x0131] = "GivePokétch", + [0x0132] = "PoketchFlag", + [0x0133] = "GivePoketchApp", + [0x0134] = "CheckPoketchApp", + + [0x014B] = "DummyLostBattle", + [0x014C] = "SetLastWarp", + [0x014D] = "CheckPlayerGender", + [0x014E] = "HealPokemon", + + [0x0157] = "CheckPokedex", + [0x0158] = "GivePokedex", + [0x0159] = "CheckShoes", + [0x015A] = "GiveShoes", + [0x015B] = "CheckBadge", + [0x015C] = "GiveBadge", + [0x015D] = "CountBadges", + [0x015E] = "CheckBag", + [0x015F] = "GiveBag", + [0x0160] = "CheckPartner", + [0x0161] = "SetPartner", + [0x0162] = "ClearPartner", + + [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] = "SetOverworldPosition", + [0x0187] = "SetOverworldFullPosition", + [0x0188] = "SetOverworldMovement", + [0x0189] = "SetOverworldDirection", + [0x018A] = "SetWarpPosition", + [0x018B] = "SetSpawnablePosition", + + [0x0190] = "WaitTimeOrAB", + + [0x0193] = "GetSelectedPartySlot", + [0x0198] = "GetPartyPokemonID", + [0x0199] = "CheckTradedPokemon", + [0x019A] = "CountPartyBornPokemon", + [0x019B] = "CountRemainingPokemon", + [0x019C] = "CountTotalAlivePokemon", + [0x019D] = "CountPartyEggs", + + [0x01A3] = "TakeMoneyFlex", + + [0x01AB] = "CompareMoneyFlex", + [0x01AC] = "EggHatchScreen", + [0x01AD] = "DummyDaycare", + [0x01AE] = "CheckDaycareLevel", + + [0x01B1] = "UnvanishOverworld", + [0x01B2] = "VanishOverworld", + [0x01B3] = "OpenMailScreen", + [0x01B4] = "CountMail", + + [0x01B6] = "CheckTimePeriod", + [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] = "DeletePokemonMove", + [0x01CA] = "GetPartyPokemonMoveID", + [0x01CB] = "TextPartyPokemonMoveID", + + [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] = "GetPreviousHeader", + [0x0201] = "GetCurrentHeader", + + [0x0205] = "GeonetScreen", + + [0x0208] = "ShowPokemonPic", + [0x0209] = "HidePokemonPic", + + [0x020D] = "SpearPillarSequence", + [0x020E] = "KeepSafariTrain", + [0x020F] = "SafariTrainAnimation", + [0x0210] = "CheckSafariTrainMovement", + [0x0211] = "IgnoreHeights", + + [0x0214] = "CheckSpiritombCounter", + [0x0215] = "ClearAmitySquareSteps", + [0x0216] = "CheckAmitySquareSteps", + [0x0217] = "GetAmitySquareAccessory", + + [0x021C] = "AddRoamingPokemon", + [0x021D] = "Group", + + [0x0221] = "RememberMove", + + [0x0226] = "InitTrade", + [0x0227] = "GetOfferedPokemon", + [0x0228] = "GetRequestedPokemon", + [0x0229] = "TradePokemonScreen", + [0x022A] = "EndTrade", + [0x022B] = "ActivateInternationalDex", + [0x022C] = "ActivateDimorphismDex", + [0x022D] = "NationalDex", + [0x022E] = "PokemonRibbonCount", + [0x022F] = "PartyRibbonCount", + [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] = "GetFirstPokemon", + + [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", + + [0x0280] = "TextNumberSp", + + [0x0282] = "CheckBirthday", + [0x0283] = "MusicVolumeSet", + [0x0284] = "CountSeenUnown", + + [0x029F] = "ShakeCamera", + + [0x02A5] = "PartyPokemonTradeScreen", + + [0x02BD] = "SpWildBattle", + [0x02BE] = "CheckTrainerCardLevel", + [0x02BF] = "DummyRideBike", + + [0x02C1] = "ShowSaveBox", + [0x02C2] = "HideSaveBox", + [0x02C3] = "ScopeMode" + }; + 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, 2, 2 }, + [0x0079] = new byte[] { 2 }, + [0x007A] = new byte[] { 2, 2, 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 }, + [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[1] { 0 }, + [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[] { }, ///////////////// + [0x01D0] = new byte[] { }, ///////////////// + [0x01D1] = new byte[] { }, ///////////////// + [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[] { }, /////////////////// + [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[] { }, /////////////////// + [0x0236] = new byte[] { 2 }, + [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, 2 }, + [0x023D] = new byte[] { 2, 2, 2, 2 }, + [0x023E] = new byte[] { }, ///////////////// + [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, 1, 2, 2, 2, 1, 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[1] { 0 }, + [0x0298] = new byte[1] { 0 }, + [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 DPScrCmdNames = new Dictionary() { + [0x011D] = "ElevatorFloorWrite", + + [0x0264] = "CheckBurmyForm", + }; + 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() { + [0x011D] = "ElevatorFloorWrite", + + [0x0264] = "CombeeCheck", + + //0x02C3 is the last command ID that DP and Plat have in common + [0x02C6] = "SpinTradeUnion", + [0x02C7] = "CheckGameVersion", + + [0x02C9] = "InitEternaGym", + [0x02CA] = "FloralClockAnimation", + [0x02CD] = "SetDarkFog", + [0x02CE] = "ClearDarkFog", + + [0x02FB] = "SpearPillarSequence2", + [0x0328] = "PortalEffect", + + //International release exclusive + [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[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 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] = "IfRegReg", + [0x000C] = "IfRegValue", + [0x000D] = "IfRegAdrs", + [0x000E] = "IfAdrsReg", + [0x000F] = "IfAdrsValue", + [0x0010] = "IfAdrsAdrs", + [0x0011] = "CompareVarValue", + [0x0012] = "CompareVars", + + [0x0014] = "CommonScript", + [0x0015] = "LocalScript", + [0x0016] = "Jump", + [0x0017] = "JumpIfObjID", + [0x0018] = "JumpIfBgID", + [0x0019] = "JumpIfPlayerDir", + [0x001A] = "Call", + [0x001B] = "Return", + [0x001C] = "CondJump", + [0x001D] = "CondCall", + [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] = "MessageSp", + [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] = "EndBoard", + [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] = "CheckPlayerPosition", + [0x006A] = "CheckOverworldPosition", + + [0x006C] = "KeepOverworld", + [0x006D] = "SetObjectDefaultMovement", + [0x006E] = "GiveMoney", + [0x006F] = "TakeMoney", + [0x0070] = "CompareMoney", + [0x0071] = "ShowMoney", + [0x0072] = "HideMoney", + [0x0073] = "UpdateMoney", + + [0x0077] = "CheckCoins", + [0x0078] = "GiveCoins", + [0x0079] = "TakeCoins", + + [0x007E] = "TakeItem", + [0x007F] = "GiveItem", + [0x0080] = "CheckItem", + [0x0081] = "CheckItemIsMachine", + [0x0082] = "GetItemPocket", + [0x0083] = "SetStarter", + [0x0084] = "GenderMessage", + + [0x0089] = "GivePokemon", + [0x008A] = "GivePokemonEgg", + + [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] = "CheckPlayerAction", + [0x00BC] = "SetPlayerAction", + [0x00BD] = "UpdatePlayerAction", + [0x00BE] = "TextPlayerName", + [0x00BF] = "TextRivalName", + [0x00C0] = "TextCounterpart", + [0x00C1] = "TextPokemon", + [0x00C2] = "TextItem", + [0x00C4] = "TextAttackItem", + [0x00C5] = "TextMoveName", + [0x00C6] = "TextNumber", + [0x00C7] = "TextPokeNickname", + [0x00C8] = "TextObject", + [0x00C9] = "TextPlayerTrainerType", + [0x00CA] = "TextPokemonStored", + [0x00CB] = "TextStarterPokemon", + [0x00CC] = "TextRivalStarter", + [0x00CD] = "TextCounterpartStarter", + [0x00CE] = "CheckStarter", + [0x00CF] = "DummyTextGoods", + [0x00D0] = "DummyTextTrap", + [0x00D1] = "DummyTextTreasure", + [0x00D2] = "TextMapName", + [0x00D3] = "CheckSwarm", + [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] = "CheckPokemonGender", + + [0x00F1] = "CheckElevatorFloor", + [0x00F2] = "ElevatorBox", + [0x00F3] = "GetJohtoDexSeenCount", + [0x00F4] = "GetJohtoDexObtained", + [0x00F5] = "GetNationalDexSeen", + [0x00F6] = "GetNationalDexObtained", + [0x00F7] = "DummyNationalDexCheck", + [0x00F8] = "CheckDexProgressMsg", + [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] = "SetOverworldPosition", + [0x0153] = "SetOverworldFullPosition", + [0x0154] = "SetOverworldMovement", + [0x0155] = "SetOverworldDirection", + [0x0156] = "SetWarpPosition", + [0x0157] = "SetSpawnablePosition", + + [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] = "OpenMail", + [0x0179] = "CheckMail", + + [0x017B] = "GetTimePeriod", + [0x017C] = "GetRandom", + [0x017D] = "DummyGetRandom", + [0x017E] = "CheckHappiness", + [0x017F] = "AddHappiness", + [0x0180] = "SubHappiness", + + [0x0182] = "GetPlayerDirection", + + [0x0185] = "CheckBornPokemonInParty", + [0x0186] = "ComparePokemonPlayerSize", + [0x0187] = "SetPokemonSizeRecord", + [0x0188] = "TextPartyPokemonSize", + [0x0189] = "TextPokemonRecordSize", + + [0x018C] = "GetMoveCount", + [0x018D] = "DeletePokemonMove", + [0x018E] = "GetPartyPokemonMoveID", + [0x018F] = "TextPartyPokemonMoveID", + [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] = "AddRoamingPokémon", + [0x01D1] = "Group", + + [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] = "PokemonEVCount", + [0x01E4] = "GetDayOfWeek", + [0x01E5] = "ShowRulesList", + [0x01E6] = "DummyGetFootprint", + [0x01E7] = "PCHealAnimation", + [0x01E8] = "ElevatorAnimation", + [0x01E9] = "MysteryGiftGive", + + [0x01EF] = "CheckVersion", + [0x01F0] = "FirstPokemonInParty", + + [0x01FB] = "CountPCFreeSpace", + + [0x01FF] = "StoreFriendParkResult", + + [0x0204] = "TextAccessory", + [0x0205] = "CheckPokemonInParty", + [0x0206] = "SetDeoxysForm", + [0x0207] = "CheckBurmyForms", + + [0x020A] = "GetHour", + [0x020B] = "ShakeOverworld", + [0x020C] = "BlinkOverworld", + [0x020D] = "CheckRegis", + + [0x020F] = "MessageUnown", + [0x0210] = "CheckGBACartidge", + [0x0211] = "GetFirstPokemonAlive", + [0x0212] = "SetMatrixAlternativeMap", + + [0x021D] = "TextNumberSp", + + [0x021F] = "CheckBirthday", + [0x0220] = "MusicVolumeSet", + [0x0221] = "CountUnownSeen", + + [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] = "GetOverworldDirection", + + [0x02AC] = "GetCurrentWeather", + + [0x02C4] = "FloorTrapAnimation", + + [0x02C7] = "TalkFollowingPoke", + + [0x02D9] = "CheckPokemonAlive", + [0x02DA] = "CheckFollowingPoke", + + [0x02EA] = "OpenTouchScreen", + [0x02EB] = "CloseTouchScreen", + [0x02EC] = "YesNoTouchScreen", + [0x02ED] = "MultiTouchStandardText", + [0x02EE] = "MultiTouchLocalText", + [0x02EF] = "CreateMultiTouchBox", + [0x02F0] = "CloseMultiTouch", + + [0x0344] = "CheckJadeOrbRequirements", + + [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 }, + [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, 2, 2 }, + [0x007B] = new byte[1] { 0 }, + [0x007C] = new byte[] { 2, 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, 2, 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] { 0 }, + [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, 2, 2, 2 }, + [0x00B3] = new byte[] { 2 }, + [0x00B4] = new byte[1] { 0 }, + [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, 2 }, + [0x00E0] = new byte[] { 1, 2 }, + [0x00E1] = new byte[] { 1, 2 }, + [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, 2, 2, 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[] { 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, 2, 2, 2 }, + [0x0117] = new byte[1] { 0 }, + [0x0118] = new byte[1] { 0 }, + [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, 2 }, + [0x0123] = new byte[1] { 0 }, + [0x0124] = new byte[1] { 0 }, + [0x0125] = new byte[1] { 0 }, + [0x0126] = new byte[] { 2, 2 }, + [0x0127] = new byte[] { 2 }, + [0x0128] = new byte[] { 2 }, + [0x0129] = new byte[1] { 0 }, + [0x012A] = new byte[] { 2, 2, 2, 2 }, + [0x012B] = new byte[] { 2 }, + [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, 2, 2, 2 }, + [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, 2, 2, 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 }, + [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[] { 1 }, + [0x0191] = new byte[1] { 0 }, + [0x0192] = new byte[1] { 0 }, + [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[] { 2 }, + [0x01C0] = new byte[] { 2, 2, 2, 2, 2 }, + [0x01C1] = new byte[] { 2, 2 }, + [0x01C2] = new byte[] { 2 }, + [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[] { 2, 2, 2 }, + [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[1] { 0 }, + [0x01D8] = new byte[] { 2 }, + [0x01D9] = new byte[] { 2 }, + [0x01DA] = new byte[1] { 0 }, + [0x01DB] = new byte[] { 2, 2 }, + [0x01DC] = new byte[1] { 0 }, + [0x01DD] = new byte[] { 1, 2 }, + [0x01DE] = new byte[] { 2, 2, 2, 2 }, + [0x01DF] = new byte[1] { 0 }, + [0x01E0] = new byte[] { 2, 2, 2 }, + [0x01E1] = new byte[] { 2, 2 }, + [0x01E2] = new byte[] { 2, 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[] { 2 }, + [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[1] { 0 }, + [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[] { 1, 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 }, + [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[1] { 0 }, + [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 } + }; + + public static Dictionary CustomScrCmdNames = new Dictionary() { + [0x0357] = "DivVar", + [0x0360] = "AddCameraMovementParam", + [0x0361] = "OverrideDefaultCam", + [0x0362] = "ResetCamMovement", + [0x0363] = "RestoreDefaultCam", + [0x0364] = "SetSSEQTrackVol", + [0x0365] = "ClearSSEQTrackChanges", + [0x0366] = "GetSSEQTrackVol", + + [0x036A] = "DoubleFadeScreen", + [0x036B] = "MessageAllTextbox", + [0x036C] = "MessageTextbox", + [0x036D] = "SetTextboxAlpha", + [0x036E] = "TextPocketWhite", + [0x036F] = "SetLayerVisibility", + [0x0370] = "StopWeatherAlphaBlend", + [0x0371] = "SetRepelSteps" + }; + public static Dictionary CustomScrCmdParameters = new Dictionary() { + [0x0357] = new byte[] { 2, 2 }, + [0x0360] = new byte[] { 2, 2, 2, 2 }, + [0x0361] = new byte[1] { 0 }, + [0x0362] = new byte[1] { 0 }, + [0x0363] = new byte[1] { 0 }, + [0x0364] = new byte[] { 2, 2, 2, 2, 2, 2, 2 }, + [0x0365] = new byte[1] { 0 }, + [0x0366] = new byte[] { 2, 2 }, + + [0x036A] = new byte[] { 2, 2, 2, 2, 2, 2 }, + [0x036B] = new byte[] { 2, 2, 2, 2, 2 }, + [0x036C] = new byte[] { 2, 2, 2, 2, 2 }, + [0x036D] = new byte[] { 2, 2 }, + [0x036E] = new byte[] { 1, 2 }, + [0x036F] = new byte[] { 2, 2 }, + [0x0370] = new byte[] { 2 }, + [0x0371] = new byte[] { 2 } + }; + } +}