diff --git a/worlds/mmbn6/BN6RomUtils.py b/worlds/mmbn6/BN6RomUtils.py index dbe15e992dbd..97e62317ba99 100644 --- a/worlds/mmbn6/BN6RomUtils.py +++ b/worlds/mmbn6/BN6RomUtils.py @@ -2,12 +2,18 @@ from .Items import ItemType -ArchiveToSizeUncomp = {0x021D88: 0x7, 0x6C3758: 0xFD6, 0x6C4730: 0x34C, 0x6C92AC: 0x81B, 0x6CD430: 0x5C, 0x6D368C: 0xDE5, 0x6E88D0: 0xA07, 0x6E92D8: 0x562, 0x6E983C: 0x2814, 0x6EC050: 0x1408, 0x6ED458: 0x245, 0x6ED6A0: 0x70, 0x6ED710: 0xB72, 0x6EE284: 0x74, 0x6EE2F8: 0x105, 0x6EE400: 0x8FE, 0x6EED00: 0x5C3, 0x6F0DE4: 0xA06, 0x6F17EC: 0x6F1, 0x6F1EE0: 0x53B, 0x6F241C: 0xF36, 0x6F3354: 0x41A, 0x734CB0: 0x34A, 0x734FFC: 0x105C, 0x736058: 0x4AE, 0x73991C: 0x6F5, 0x73B044: 0x8F3, 0x73B938: 0x450, 0x73C98C: 0x275, 0x7D9338: 0x431, 0x7D976C: 0x1208, 0x7DA974: 0x296, 0x7DAC0C: 0x5F, 0x7DBEB0: 0x220F, 0x7E0384: 0x1A2, 0x7E0DFC: 0x17B, 0x7E1430: 0x12E, 0x7E1560: 0xE2, 0x7E2358: 0x2F3, 0x7E264C: 0xE05, 0x7F15A8: 0x1B4, 0x7F175C: 0xD4, 0x7F1970: 0x419, 0x7F1D8C: 0x98, 0x7F1E24: 0x98, } -ArchiveToSizeComp = {0x6C2AA4: 0x457, 0x6CC6A8: 0x55, 0x6CC700: 0x53, 0x6CCE08: 0x324, 0x6CD12C: 0x301, 0x6CD59C: 0x118, 0x6CD6B4: 0xFC, 0x6CD918: 0x164, 0x6CDA7C: 0x16B, 0x6CE3E4: 0xE2, 0x6CE4C8: 0xCD, 0x6CE598: 0x2B40, 0x6D10D8: 0x5D5, 0x6D354C: 0x140, 0x6D48F8: 0x2F9, 0x6D4E68: 0x4B, 0x6D4EB4: 0x44B, 0x6D54FC: 0x345, 0x6D5844: 0x351, 0x6D5B98: 0x352, 0x6D5EEC: 0x351, 0x6D6240: 0x33A, 0x6D657C: 0x347, 0x6D68C4: 0x331, 0x6D6F1C: 0xC1, 0x6D6FE0: 0x9A, 0x6D813C: 0x78B, 0x6D8DEC: 0x1AA, 0x736508: 0x2DB, 0x7367E4: 0x27B, 0x736A60: 0x1A01, 0x738464: 0x14B8, 0x73A014: 0x4CC, 0x73A4E0: 0xB64, 0x73BD88: 0xC04, 0x73CC04: 0x340, 0x73CF44: 0x1F, 0x73CF64: 0x1F, 0x73CF84: 0x3E7, 0x73D36C: 0x4D6, 0x73D844: 0x45C, 0x73DCA0: 0x6B6, 0x73E358: 0x557, 0x73E8B0: 0x51B, 0x73EDCC: 0x61C, 0x73F3E8: 0x856, 0x73FC40: 0x612, 0x740254: 0x5BB, 0x740810: 0x48D, 0x740CA0: 0x655, 0x7412F8: 0x619, 0x741914: 0x594, 0x741EA8: 0x55C, 0x742404: 0x670, 0x742A74: 0x5C6, 0x74303C: 0x74A, 0x743788: 0x59F, 0x743D28: 0x3B4, 0x7440DC: 0x12F, 0x74420C: 0x121, 0x744330: 0xB5, 0x7443E8: 0x24A, 0x744634: 0x2CA, 0x744900: 0x6F, 0x744970: 0xB4, 0x744A24: 0x24A, 0x744C70: 0x101, 0x744D74: 0xB5, 0x744E2C: 0x24B, 0x745078: 0xE9, 0x745164: 0x24A, 0x7453B0: 0x380, 0x745730: 0x539, 0x745C6C: 0x91D, 0x74658C: 0x8F1, 0x746E80: 0x5CD, 0x747450: 0x724, 0x747B74: 0x9FF, 0x748574: 0xB1C, 0x749090: 0x723, 0x7497B4: 0x3BC, 0x749B70: 0x99C, 0x74A50C: 0xA65, 0x74AF74: 0x712, 0x74B688: 0x5A3, 0x74BC2C: 0x9ED, 0x74C61C: 0x8FE, 0x74CF1C: 0x5E3, 0x74D500: 0x3BC, 0x74D8BC: 0x932, 0x74E1F0: 0x8CB, 0x74EABC: 0x5CD, 0x74F08C: 0x695, 0x74F724: 0x98A, 0x7500B0: 0x6A2, 0x750754: 0x7A4, 0x750EF8: 0x5CD, 0x7514C8: 0x9EA, 0x751EB4: 0x6A6, 0x75255C: 0x53, 0x7525B0: 0xA48, 0x752FF8: 0x6EA, 0x7536E4: 0x89, 0x753770: 0xA2, 0x753814: 0x333, 0x753B48: 0xB, 0x753B54: 0x50A, 0x754060: 0x4C3, 0x754524: 0x4BC, 0x7549E0: 0x1F5, 0x754BD8: 0x890, 0x755468: 0x64D, 0x755AB8: 0x49B, 0x755F54: 0x3F5, 0x75634C: 0x422, 0x756770: 0x2BC, 0x756A2C: 0x2A7, 0x756CD4: 0x2D1, 0x756FA8: 0x412, 0x7573BC: 0x3EF, 0x7577AC: 0x3A0, 0x757B4C: 0x2E5, 0x757E34: 0x3CB, 0x758200: 0x651, 0x758854: 0x74B, 0x758FA0: 0x2A8, 0x759248: 0x1A3, 0x7593EC: 0x484, 0x759870: 0x380, 0x759BF0: 0x1A6, 0x759D98: 0x121, 0x759EBC: 0x55, 0x759F14: 0x253, 0x75A168: 0x289, 0x75A3F4: 0x383, 0x75A778: 0x32B, 0x75AAA4: 0x2A8, 0x75AD4C: 0x1B4, 0x75AF00: 0x235, 0x75B138: 0x3E3, 0x75B51C: 0x191, 0x75B6B0: 0xB, 0x75B6BC: 0x7E, 0x75B73C: 0x174, 0x75B8B0: 0x4A, 0x75B8FC: 0x4C, 0x75B948: 0x4C, 0x75B994: 0x5E, 0x75B9F4: 0x5E, 0x75BA54: 0xC0, 0x75BB14: 0x36, 0x75BB4C: 0x38, 0x75BB84: 0x38, 0x75BBBC: 0xCA, 0x75BC88: 0xAC, 0x75BD34: 0x85, 0x75BDBC: 0x9F, 0x75BE5C: 0xB, 0x75BE68: 0xC, 0x75BE74: 0xC, 0x75BE80: 0xC, 0x75BE8C: 0x26, 0x75BEB4: 0x2A, 0x75BEE0: 0xC, 0x75BEEC: 0xC, 0x75BEF8: 0xC, 0x75BF04: 0xC, 0x75BF10: 0xC, 0x75BF1C: 0xC, 0x75BF28: 0xC, 0x75BF34: 0xFB, 0x75C030: 0xC, 0x75C03C: 0x26A, 0x75C2A8: 0xB, 0x75C2B4: 0x99, 0x75C350: 0x97, 0x75C3E8: 0x7D, 0x75C468: 0x95, 0x75C500: 0xC, 0x75C50C: 0xC, 0x75C518: 0xC, 0x75C524: 0xC, 0x75C530: 0xC, 0x75C53C: 0xC, 0x75C548: 0xC, 0x75C554: 0xC, 0x75C560: 0xC, 0x75C56C: 0xC, 0x75C578: 0xC, 0x75C584: 0xC, 0x75C590: 0xC, 0x75C59C: 0xC, 0x75C5A8: 0xC, 0x75C5B4: 0xC, 0x75C5C0: 0xC, 0x75C5CC: 0x24A, 0x75C818: 0x131, 0x75C94C: 0x626, 0x75CF74: 0x3E9, 0x75D360: 0x411, 0x75D774: 0x27F, 0x75D9F4: 0x4B6, 0x75DEAC: 0x289, 0x75E138: 0x3E1, 0x75E51C: 0x330, 0x75E84C: 0x425, 0x75EC74: 0x4FC, 0x75F170: 0x461, 0x75F5D4: 0x228, 0x75F7FC: 0x849, 0x760048: 0x325, 0x760370: 0xB62, 0x760ED4: 0x49, 0x760F20: 0xC, 0x760F2C: 0x82A, 0x761758: 0x308, 0x761A60: 0x882, 0x7622E4: 0xC, 0x7622F0: 0xC, 0x7622FC: 0xC, 0x762308: 0xB, 0x762314: 0xB, 0x762320: 0xBC7, 0x762EE8: 0x941, 0x76382C: 0xDC4, 0x7645F0: 0x546, 0x764B38: 0x14B0, 0x765FE8: 0x4AB, 0x766494: 0x7D0, 0x766C64: 0x1C3, 0x766E28: 0x259, 0x767084: 0x8F, 0x767114: 0xC, 0x767120: 0x7E, 0x7671A0: 0xC, 0x7671AC: 0xC, 0x7671B8: 0x2D, 0x7671E8: 0x10E, 0x7672F8: 0xB, 0x767304: 0xB, 0x767310: 0xB, 0x76731C: 0xD3, 0x7673F0: 0xB, 0x7673FC: 0x3EF, 0x7677EC: 0x2F5, 0x767AE4: 0x23D, 0x767D24: 0x7CB, 0x7684F0: 0xB27, 0x769018: 0x1BE, 0x7691D8: 0x307, 0x7694E0: 0x21D, 0x769700: 0x1B2, 0x7698B4: 0x3D9, 0x769C90: 0x20D, 0x769EA0: 0x175, 0x76A018: 0x1CB, 0x76A1E4: 0x5D7, 0x76A7BC: 0x1B7, 0x76A974: 0x1B0, 0x76AB24: 0x12F, 0x76AC54: 0x145, 0x76AD9C: 0x2F1, 0x76B090: 0x221, 0x76B2B4: 0x112, 0x76B3C8: 0xF3, 0x76B4BC: 0x98, 0x76B554: 0x1C6, 0x76B71C: 0x3A6, 0x76BAC4: 0x2E5, 0x76BDAC: 0x206, 0x76BFB4: 0xCA, 0x76C080: 0x3F3, 0x76C474: 0x15E, 0x76C5D4: 0xA1, 0x76C678: 0x136, 0x76C7B0: 0x8C, 0x76C83C: 0x561, 0x76CDA0: 0x488, 0x76D228: 0x4F7, 0x76D720: 0x54C, 0x76DC6C: 0xFA, 0x76DD68: 0x257, 0x76DFC0: 0x767, 0x76E728: 0x1DF, 0x76E908: 0x352, 0x76EC5C: 0x19D, 0x76EDFC: 0x39B, 0x76F198: 0xC, 0x76F1A4: 0x33, 0x76F1D8: 0x1D, 0x76F1F8: 0xB, 0x76F204: 0x57B, 0x76F780: 0xC, 0x76F78C: 0xC, 0x76F798: 0x74D, 0x76FEE8: 0xC, 0x76FEF4: 0xC, 0x76FF00: 0xC, 0x76FF0C: 0x9A3, 0x7708B0: 0x6F3, 0x770FA4: 0x6C5, 0x77166C: 0xA3B, 0x7720A8: 0x3C4, 0x77246C: 0xA18, 0x772E84: 0x2C0, 0x773144: 0x474, 0x7735B8: 0x4E4, 0x773A9C: 0x29D, 0x773D3C: 0xC20, 0x77495C: 0x22D, 0x774B8C: 0x425, 0x774FB4: 0x3AD, 0x775364: 0x252, 0x7755B8: 0xD82, 0x77633C: 0x2EC, 0x776628: 0x124, 0x77674C: 0x1E4, 0x776930: 0x14A, 0x776A7C: 0x768, 0x7771E4: 0xB, 0x7771F0: 0xB, 0x7771FC: 0xB, 0x777208: 0xD, 0x777218: 0x83D, 0x777A58: 0x40B, 0x777E64: 0x57D, 0x7783E4: 0x354, 0x778738: 0x1900, 0x77A038: 0x436, 0x77A470: 0x270, 0x77A6E0: 0x1A6, 0x77A888: 0x446, 0x77ACD0: 0xA3E, 0x77B710: 0xF7, 0x77B808: 0x1E6, 0x77B9F0: 0x4B8, 0x77BEA8: 0xD0, 0x77BF78: 0x239, 0x77C1B4: 0x161, 0x77C318: 0x176, 0x77C490: 0xB, 0x77C49C: 0xB, 0x77C4A8: 0xB3, 0x77C55C: 0x7B7, 0x77CD14: 0x685, 0x77D39C: 0x131, 0x77D4D0: 0xB6D, 0x77E040: 0x61F, 0x77E660: 0x1AA, 0x77E80C: 0x775, 0x77EF84: 0x384, 0x77F308: 0x196, 0x77F4A0: 0x21D, 0x77F6C0: 0x392, 0x77FA54: 0x19B, 0x77FBF0: 0x21F, 0x77FE10: 0x10E, 0x77FF20: 0x63, 0x77FF84: 0x13, 0x77FF98: 0x156, 0x7800F0: 0x132, 0x780224: 0xB, 0x780230: 0x11E, 0x780350: 0xB, 0x78035C: 0x143, 0x7804A0: 0x4D, 0x7804F0: 0xC, 0x7804FC: 0xB, 0x780508: 0xA1F, 0x780F28: 0xEE2, 0x781E0C: 0x73C, 0x782548: 0x2FA, 0x782844: 0x10B7, 0x7838FC: 0x634, 0x783F30: 0x6A0, 0x7845D0: 0x56F, 0x784B40: 0x29B, 0x784DDC: 0x843, 0x785620: 0x585, 0x785BA8: 0x721, 0x7862CC: 0xBE7, 0x786EB4: 0x344, 0x7871F8: 0x4C3, 0x7876BC: 0x28F, 0x78794C: 0x5F4, 0x787F40: 0x4DA, 0x78841C: 0x3B6, 0x7887D4: 0xBD3, 0x7893A8: 0x222, 0x7895CC: 0x5D2, 0x789BA0: 0x5AD, 0x78A150: 0x3B2, 0x78A504: 0x850, 0x78AD54: 0x21E, 0x78AF74: 0x50B, 0x78B480: 0x58E, 0x78BA10: 0x332, 0x78BD44: 0x91E, 0x78C664: 0x316, 0x78C97C: 0x6CE, 0x78D04C: 0x252, 0x78D2A0: 0x6E7, 0x78D988: 0x57B, 0x78DF04: 0x53E, 0x78E444: 0x233, 0x78E678: 0xC8A, 0x78F304: 0x239, 0x78F540: 0x1D0, 0x78F710: 0xA3, 0x78F7B4: 0x193, 0x78F948: 0x1B, 0x78F964: 0x7E, 0x78F9E4: 0x74A, 0x790130: 0x284, 0x7903B4: 0x1954, 0x791D08: 0x838, 0x792540: 0x2B3, 0x7927F4: 0x607, 0x792DFC: 0x373, 0x793170: 0x48D, 0x793600: 0x372, 0x793974: 0xC, 0x793980: 0x314, 0x793C94: 0xBC, 0x793D50: 0x680, 0x7943D0: 0xC, 0x7943DC: 0xC, 0x7943E8: 0x1B, 0x794404: 0x475, 0x79487C: 0xC, 0x794888: 0x8D, 0x794918: 0x107, 0x794A20: 0x721, 0x795144: 0xC, 0x795150: 0xC, 0x79515C: 0xED, 0x79524C: 0x17B, 0x7953C8: 0xC, 0x7953D4: 0xC, 0x7953E0: 0xC, 0x7953EC: 0x51B, 0x795908: 0x24, 0x79592C: 0xC, 0x795938: 0xC, 0x795944: 0xC, 0x795950: 0xB, 0x79595C: 0x450, 0x795DAC: 0xB, 0x795DB8: 0xC, 0x795DC4: 0xC, 0x795DD0: 0x415, 0x7961E8: 0xC, 0x7961F4: 0xB, 0x796200: 0xC, 0x79620C: 0xC, 0x796218: 0x196, 0x7963B0: 0xB, 0x7963BC: 0xB, 0x7963C8: 0xC, 0x7963D4: 0xC, 0x7963E0: 0x1B9, 0x79659C: 0x30C, 0x7968A8: 0xC, 0x7968B4: 0xC, 0x7968C0: 0xC, 0x7968CC: 0xC, 0x7968D8: 0xC, 0x7968E4: 0xC, 0x7968F0: 0xC, 0x7968FC: 0xC, 0x796908: 0xC, 0x796914: 0xC, 0x796920: 0x141, 0x796A64: 0x3AF, 0x796E14: 0xC, 0x796E20: 0x5BF, 0x7973E0: 0xB, 0x7973EC: 0xC, 0x7973F8: 0x60, 0x797458: 0xB, 0x797464: 0xC, 0x797470: 0x1D3, 0x797644: 0x3CB, 0x797A10: 0xC, 0x797A1C: 0x37C, 0x797D98: 0xC, 0x797DA4: 0x3BE, 0x798164: 0x64, 0x7981C8: 0x3B0, 0x798578: 0xC, 0x798584: 0xC, 0x798590: 0xC, 0x79859C: 0xC, 0x7985A8: 0x6F, 0x798618: 0xC, 0x798624: 0x1B, 0x798640: 0x5F, 0x7986A0: 0xC, 0x7986AC: 0xC, 0x7986B8: 0x332, 0x7989EC: 0x1B, 0x798A08: 0x48E, 0x798E98: 0xC, 0x798EA4: 0x323, 0x7991C8: 0xC, 0x7991D4: 0x1B, 0x7991F0: 0xCB7, 0x799EA8: 0x792, 0x79A63C: 0xC, 0x79A648: 0x1B, 0x79A664: 0xA07, 0x79B06C: 0xC, 0x79B078: 0x1B, 0x79B094: 0x8EC, 0x79B980: 0xC, 0x79B98C: 0xC, 0x79B998: 0xC, 0x79B9A4: 0xC, 0x79B9B0: 0x959, 0x79C30C: 0xC, 0x79C318: 0xC, 0x79C324: 0xC, 0x79C330: 0xCE, 0x79C400: 0xAE, 0x79C4B0: 0xC, 0x79C4BC: 0xC, 0x79C4C8: 0xC, 0x79C4D4: 0x91, 0x79C568: 0xB, 0x79C574: 0xC, 0x79C580: 0xC, 0x79C58C: 0xC, 0x79C598: 0x51B, 0x79CAB4: 0xB, 0x79CAC0: 0xB, 0x79CACC: 0xC, 0x79CAD8: 0xC, 0x79CAE4: 0x5EA, 0x79D0D0: 0xB, 0x79D0DC: 0xC, 0x79D0E8: 0xC, 0x79D0F4: 0x413, 0x79D508: 0xB, 0x79D514: 0xB, 0x79D520: 0xC, 0x79D52C: 0xC, 0x79D538: 0xA2, 0x79D5DC: 0x93, 0x79D670: 0xC, 0x79D67C: 0x3D5, 0x79DA54: 0xC, 0x79DA60: 0x275, 0x79DCD8: 0xC, 0x79DCE4: 0xC, 0x79DCF0: 0x322, 0x79E014: 0x35C, 0x79E370: 0xC, 0x79E37C: 0xC, 0x79E388: 0x73, 0x79E3FC: 0xC, 0x79E408: 0xC, 0x79E414: 0xC, 0x79E420: 0xFA, 0x79E51C: 0xB5, 0x79E5D4: 0xC, 0x79E5E0: 0x5B, 0x79E63C: 0xCE, 0x79E70C: 0xC, 0x79E718: 0x2CC, 0x79E9E4: 0x6B, 0x79EA50: 0xC, 0x79EA5C: 0x68, 0x79EAC4: 0x8F, 0x79EB54: 0xC, 0x79EB60: 0x2CE, 0x79EE30: 0xC, 0x79EE3C: 0xC, 0x79EE48: 0xAC, 0x79EEF4: 0xC, 0x79EF00: 0xC, 0x79EF0C: 0xA6, 0x79EFB4: 0xC, 0x79EFC0: 0xC, 0x79EFCC: 0x8D, 0x79F05C: 0xC, 0x79F068: 0xC, 0x79F074: 0xC, 0x79F080: 0x42A, 0x79F4AC: 0xC, 0x79F4B8: 0xC, 0x79F4C4: 0xC, 0x79F4D0: 0xC, 0x79F4DC: 0x720, 0x79FBFC: 0xC, 0x79FC08: 0xC, 0x79FC14: 0xC, 0x79FC20: 0x20D, 0x79FE30: 0xC, 0x79FE3C: 0xC, 0x79FE48: 0xC, 0x79FE54: 0x522, 0x7A0378: 0xC, 0x7A0384: 0xC, 0x7A0390: 0xC, 0x7A039C: 0x552, 0x7A08F0: 0xC, 0x7A08FC: 0xC, 0x7A0908: 0xC, 0x7A0914: 0x145, 0x7A0A5C: 0xC, 0x7A0A68: 0xC, 0x7A0A74: 0xC, 0x7A0A80: 0xC, 0x7A0A8C: 0x9C, 0x7A0B28: 0xC, 0x7A0B34: 0xC, 0x7A0B40: 0x561, 0x7A10A4: 0xB, 0x7A10B0: 0xB, 0x7A10BC: 0x4A3, 0x7A1560: 0xC, 0x7A156C: 0xC, 0x7A1578: 0xAB, 0x7A1624: 0xC, 0x7A1630: 0x87, 0x7A16B8: 0xC, 0x7A16C4: 0xC, 0x7A16D0: 0xC, 0x7A16DC: 0xC, 0x7A16E8: 0x24E, 0x7A1938: 0xC, 0x7A1944: 0xC, 0x7A1950: 0xE8, 0x7A1A38: 0xC, 0x7A1A44: 0x7C, 0x7A1AC0: 0x643, 0x7A2104: 0x7B5, 0x7A28BC: 0x15E, 0x7A2A1C: 0x186, 0x7A2BA4: 0x167, 0x7A2D0C: 0x3F, 0x7A2D4C: 0x4C, 0x7A2D98: 0x49, 0x7A2DE4: 0x4C, 0x7A2E30: 0xBC, 0x7A2EEC: 0x4C, 0x7A2F38: 0x1AF, 0x7A30E8: 0x1BD, 0x7A32A8: 0x175, 0x7A3420: 0x57B, 0x7A399C: 0x4E8, 0x7A3E84: 0x272, 0x7A40F8: 0x400, 0x7A44F8: 0x2C8, 0x7A47C0: 0x4E2, 0x7A4CA4: 0x6B0, 0x7A5354: 0x5FF, 0x7A5954: 0x1CC, 0x7A5B20: 0x3FA, 0x7A5F1C: 0x19B, 0x7A60B8: 0x199, 0x7A6254: 0x182, 0x7A63D8: 0x36D, 0x7A6748: 0x11B, 0x7A6864: 0x183, 0x7A69E8: 0x168, 0x7A6B50: 0x80A, 0x7A735C: 0x176, 0x7A74D4: 0x487, 0x7A795C: 0x659, 0x7A7FB8: 0x351, 0x7A830C: 0x1C2, 0x7A84D0: 0x24E, 0x7A8720: 0x35C, 0x7A8A7C: 0x38B, 0x7A8E08: 0x17B, 0x7A8F84: 0x3F0, 0x7A9374: 0x137, 0x7A94AC: 0x3FC, 0x7A98A8: 0x540, 0x7A9DE8: 0xDA, 0x7A9EC4: 0x323, 0x7AA1E8: 0x3A6, 0x7AA590: 0x206, 0x7AA798: 0x7A, 0x7AA814: 0x16A, 0x7AA980: 0x16C, 0x7AAAEC: 0x115, 0x7AAC04: 0x1B6, 0x7AADBC: 0x44D, 0x7AB20C: 0xCC, 0x7AB2D8: 0x23C, 0x7AB514: 0xFD, 0x7AB614: 0xED, 0x7AB704: 0x435, 0x7ABB3C: 0x42D, 0x7ABF6C: 0x495, 0x7AC404: 0x110, 0x7AC514: 0x37A, 0x7AC890: 0xA1D, 0x7AD2B0: 0x3CE, 0x7AD680: 0x43E, 0x7ADAC0: 0x153, 0x7ADC14: 0x254, 0x7ADE68: 0x6E7, 0x7AE550: 0x13C, 0x7AE68C: 0xCF, 0x7AE75C: 0x27A, 0x7AE9D8: 0x733, 0x7AF10C: 0x54F, 0x7AF65C: 0x46A, 0x7AFAC8: 0x31C, 0x7AFDE4: 0xC3, 0x7AFEA8: 0x636, 0x7B04E0: 0x4F4, 0x7B09D4: 0x254, 0x7B0C28: 0x2E9, 0x7B0F14: 0x332, 0x7B1248: 0x434, 0x7B167C: 0x344, 0x7B19C0: 0xB2, 0x7B1A74: 0xC5, 0x7B1B3C: 0xFE, 0x7B1C3C: 0xC5, 0x7B1D04: 0xE5, 0x7B1DEC: 0xC5, 0x7B1EB4: 0xD6, 0x7B1F8C: 0xC5, 0x7B2054: 0x3B0, 0x7B2404: 0x18B, 0x7B2590: 0xB64, 0x7B30F4: 0x450, 0x7B3544: 0x225, 0x7B376C: 0x786, 0x7B3EF4: 0x6C3, 0x7B45B8: 0xA4F, 0x7B5008: 0xB12, 0x7B5B1C: 0x12A, 0x7B5C48: 0x601, 0x7B624C: 0x293, 0x7B64E0: 0x699, 0x7B6B7C: 0x356, 0x7B6ED4: 0x4F6, 0x7B73CC: 0x41E, 0x7B77EC: 0x384, 0x7B7B70: 0x607, 0x7B8178: 0x155, 0x7B82D0: 0x2F4, 0x7B85C4: 0xB6, 0x7B867C: 0x53E, 0x7B8BBC: 0x32E, 0x7B8EEC: 0x890, 0x7B977C: 0x141, 0x7B98C0: 0x484, 0x7B9D44: 0x8E, 0x7B9DD4: 0x347, 0x7BA11C: 0xFE, 0x7BA21C: 0xB4, 0x7BA2D0: 0xCC, 0x7BA39C: 0x116, 0x7BA4B4: 0xB4, 0x7BA568: 0x99, 0x7BA604: 0xD1, 0x7BA6D8: 0xB4, 0x7BA78C: 0x391, 0x7BAB20: 0x1F6, 0x7BAD18: 0x241, 0x7BAF5C: 0x3D9, 0x7BB338: 0x43A, 0x7BB774: 0x510, 0x7BBC84: 0x59A, 0x7BC220: 0x816, 0x7BCA38: 0x314, 0x7BCD4C: 0x214, 0x7BCF60: 0xD2, 0x7BD034: 0x124, 0x7BD158: 0x14D, 0x7BD2A8: 0xC5, 0x7BD370: 0x1EE, 0x7BD560: 0xBB, 0x7BD61C: 0xBA, 0x7BD6D8: 0xB4, 0x7BD78C: 0xB5, 0x7BD844: 0x14C, 0x7BD990: 0x392, 0x7BDD24: 0x3D4, 0x7BE0F8: 0x289, 0x7BE384: 0x3D1, 0x7BE758: 0x7C, 0x7BE7D4: 0x1E8, 0x7BE9BC: 0x7A, 0x7BEA38: 0x6AD, 0x7BF0E8: 0x314, 0x7BF3FC: 0x259, 0x7BF658: 0x541, 0x7BFB9C: 0x2B4, 0x7BFE50: 0x223, 0x7C0074: 0xAB1, 0x7C0B28: 0x349, +ArchiveToSizeUncompGregar = {0x021D88: 0x7, 0x6C3758: 0xFD6, 0x6C4730: 0x34C, 0x6C92AC: 0x81B, 0x6CD430: 0x5C, 0x6D368C: 0xDE5, 0x6E88D0: 0xA07, 0x6E92D8: 0x562, 0x6E983C: 0x2814, 0x6EC050: 0x1408, 0x6ED458: 0x245, 0x6ED6A0: 0x70, 0x6ED710: 0xB72, 0x6EE284: 0x74, 0x6EE2F8: 0x105, 0x6EE400: 0x8FE, 0x6EED00: 0x5C3, 0x6F0DE4: 0xA06, 0x6F17EC: 0x6F1, 0x6F1EE0: 0x53B, 0x6F241C: 0xF36, 0x6F3354: 0x41A, 0x734CB0: 0x34A, 0x734FFC: 0x105C, 0x736058: 0x4AE, 0x73991C: 0x6F5, 0x73B044: 0x8F3, 0x73B938: 0x450, 0x73C98C: 0x275, 0x7D9338: 0x431, 0x7D976C: 0x1208, 0x7DA974: 0x296, 0x7DAC0C: 0x5F, 0x7DBEB0: 0x220F, 0x7E0384: 0x1A2, 0x7E0DFC: 0x17B, 0x7E1430: 0x12E, 0x7E1560: 0xE2, 0x7E2358: 0x2F3, 0x7E264C: 0xE05, 0x7F15A8: 0x1B4, 0x7F175C: 0xD4, 0x7F1970: 0x419, 0x7F1D8C: 0x98, 0x7F1E24: 0x98 } +ArchiveToSizeCompGregar = {0x6C2AA4: 0x457, 0x6CC6A8: 0x55, 0x6CC700: 0x53, 0x6CCE08: 0x324, 0x6CD12C: 0x301, 0x6CD59C: 0x118, 0x6CD6B4: 0xFC, 0x6CD918: 0x164, 0x6CDA7C: 0x16B, 0x6CE3E4: 0xE2, 0x6CE4C8: 0xCD, 0x6CE598: 0x2B40, 0x6D10D8: 0x5D5, 0x6D354C: 0x140, 0x6D48F8: 0x2F9, 0x6D4E68: 0x4B, 0x6D4EB4: 0x44B, 0x6D54FC: 0x345, 0x6D5844: 0x351, 0x6D5B98: 0x352, 0x6D5EEC: 0x351, 0x6D6240: 0x33A, 0x6D657C: 0x347, 0x6D68C4: 0x331, 0x6D6F1C: 0xC1, 0x6D6FE0: 0x9A, 0x6D813C: 0x78B, 0x6D8DEC: 0x1AA, 0x736508: 0x2DB, 0x7367E4: 0x27B, 0x736A60: 0x1A01, 0x738464: 0x14B8, 0x73A014: 0x4CC, 0x73A4E0: 0xB64, 0x73BD88: 0xC04, 0x73CC04: 0x340, 0x73CF44: 0x1F, 0x73CF64: 0x1F, 0x73CF84: 0x3E7, 0x73D36C: 0x4D6, 0x73D844: 0x45C, 0x73DCA0: 0x6B6, 0x73E358: 0x557, 0x73E8B0: 0x51B, 0x73EDCC: 0x61C, 0x73F3E8: 0x856, 0x73FC40: 0x612, 0x740254: 0x5BB, 0x740810: 0x48D, 0x740CA0: 0x655, 0x7412F8: 0x619, 0x741914: 0x594, 0x741EA8: 0x55C, 0x742404: 0x670, 0x742A74: 0x5C6, 0x74303C: 0x74A, 0x743788: 0x59F, 0x743D28: 0x3B4, 0x7440DC: 0x12F, 0x74420C: 0x121, 0x744330: 0xB5, 0x7443E8: 0x24A, 0x744634: 0x2CA, 0x744900: 0x6F, 0x744970: 0xB4, 0x744A24: 0x24A, 0x744C70: 0x101, 0x744D74: 0xB5, 0x744E2C: 0x24B, 0x745078: 0xE9, 0x745164: 0x24A, 0x7453B0: 0x380, 0x745730: 0x539, 0x745C6C: 0x91D, 0x74658C: 0x8F1, 0x746E80: 0x5CD, 0x747450: 0x724, 0x747B74: 0x9FF, 0x748574: 0xB1C, 0x749090: 0x723, 0x7497B4: 0x3BC, 0x749B70: 0x99C, 0x74A50C: 0xA65, 0x74AF74: 0x712, 0x74B688: 0x5A3, 0x74BC2C: 0x9ED, 0x74C61C: 0x8FE, 0x74CF1C: 0x5E3, 0x74D500: 0x3BC, 0x74D8BC: 0x932, 0x74E1F0: 0x8CB, 0x74EABC: 0x5CD, 0x74F08C: 0x695, 0x74F724: 0x98A, 0x7500B0: 0x6A2, 0x750754: 0x7A4, 0x750EF8: 0x5CD, 0x7514C8: 0x9EA, 0x751EB4: 0x6A6, 0x75255C: 0x53, 0x7525B0: 0xA48, 0x752FF8: 0x6EA, 0x7536E4: 0x89, 0x753770: 0xA2, 0x753814: 0x333, 0x753B48: 0xB, 0x753B54: 0x50A, 0x754060: 0x4C3, 0x754524: 0x4BC, 0x7549E0: 0x1F5, 0x754BD8: 0x890, 0x755468: 0x64D, 0x755AB8: 0x49B, 0x755F54: 0x3F5, 0x75634C: 0x422, 0x756770: 0x2BC, 0x756A2C: 0x2A7, 0x756CD4: 0x2D1, 0x756FA8: 0x412, 0x7573BC: 0x3EF, 0x7577AC: 0x3A0, 0x757B4C: 0x2E5, 0x757E34: 0x3CB, 0x758200: 0x651, 0x758854: 0x74B, 0x758FA0: 0x2A8, 0x759248: 0x1A3, 0x7593EC: 0x484, 0x759870: 0x380, 0x759BF0: 0x1A6, 0x759D98: 0x121, 0x759EBC: 0x55, 0x759F14: 0x253, 0x75A168: 0x289, 0x75A3F4: 0x383, 0x75A778: 0x32B, 0x75AAA4: 0x2A8, 0x75AD4C: 0x1B4, 0x75AF00: 0x235, 0x75B138: 0x3E3, 0x75B51C: 0x191, 0x75B6B0: 0xB, 0x75B6BC: 0x7E, 0x75B73C: 0x174, 0x75B8B0: 0x4A, 0x75B8FC: 0x4C, 0x75B948: 0x4C, 0x75B994: 0x5E, 0x75B9F4: 0x5E, 0x75BA54: 0xC0, 0x75BB14: 0x36, 0x75BB4C: 0x38, 0x75BB84: 0x38, 0x75BBBC: 0xCA, 0x75BC88: 0xAC, 0x75BD34: 0x85, 0x75BDBC: 0x9F, 0x75BE5C: 0xB, 0x75BE68: 0xC, 0x75BE74: 0xC, 0x75BE80: 0xC, 0x75BE8C: 0x26, 0x75BEB4: 0x2A, 0x75BEE0: 0xC, 0x75BEEC: 0xC, 0x75BEF8: 0xC, 0x75BF04: 0xC, 0x75BF10: 0xC, 0x75BF1C: 0xC, 0x75BF28: 0xC, 0x75BF34: 0xFB, 0x75C030: 0xC, 0x75C03C: 0x26A, 0x75C2A8: 0xB, 0x75C2B4: 0x99, 0x75C350: 0x97, 0x75C3E8: 0x7D, 0x75C468: 0x95, 0x75C500: 0xC, 0x75C50C: 0xC, 0x75C518: 0xC, 0x75C524: 0xC, 0x75C530: 0xC, 0x75C53C: 0xC, 0x75C548: 0xC, 0x75C554: 0xC, 0x75C560: 0xC, 0x75C56C: 0xC, 0x75C578: 0xC, 0x75C584: 0xC, 0x75C590: 0xC, 0x75C59C: 0xC, 0x75C5A8: 0xC, 0x75C5B4: 0xC, 0x75C5C0: 0xC, 0x75C5CC: 0x24A, 0x75C818: 0x131, 0x75C94C: 0x626, 0x75CF74: 0x3E9, 0x75D360: 0x411, 0x75D774: 0x27F, 0x75D9F4: 0x4B6, 0x75DEAC: 0x289, 0x75E138: 0x3E1, 0x75E51C: 0x330, 0x75E84C: 0x425, 0x75EC74: 0x4FC, 0x75F170: 0x461, 0x75F5D4: 0x228, 0x75F7FC: 0x849, 0x760048: 0x325, 0x760370: 0xB62, 0x760ED4: 0x49, 0x760F20: 0xC, 0x760F2C: 0x82A, 0x761758: 0x308, 0x761A60: 0x882, 0x7622E4: 0xC, 0x7622F0: 0xC, 0x7622FC: 0xC, 0x762308: 0xB, 0x762314: 0xB, 0x762320: 0xBC7, 0x762EE8: 0x941, 0x76382C: 0xDC4, 0x7645F0: 0x546, 0x764B38: 0x14B0, 0x765FE8: 0x4AB, 0x766494: 0x7D0, 0x766C64: 0x1C3, 0x766E28: 0x259, 0x767084: 0x8F, 0x767114: 0xC, 0x767120: 0x7E, 0x7671A0: 0xC, 0x7671AC: 0xC, 0x7671B8: 0x2D, 0x7671E8: 0x10E, 0x7672F8: 0xB, 0x767304: 0xB, 0x767310: 0xB, 0x76731C: 0xD3, 0x7673F0: 0xB, 0x7673FC: 0x3EF, 0x7677EC: 0x2F5, 0x767AE4: 0x23D, 0x767D24: 0x7CB, 0x7684F0: 0xB27, 0x769018: 0x1BE, 0x7691D8: 0x307, 0x7694E0: 0x21D, 0x769700: 0x1B2, 0x7698B4: 0x3D9, 0x769C90: 0x20D, 0x769EA0: 0x175, 0x76A018: 0x1CB, 0x76A1E4: 0x5D7, 0x76A7BC: 0x1B7, 0x76A974: 0x1B0, 0x76AB24: 0x12F, 0x76AC54: 0x145, 0x76AD9C: 0x2F1, 0x76B090: 0x221, 0x76B2B4: 0x112, 0x76B3C8: 0xF3, 0x76B4BC: 0x98, 0x76B554: 0x1C6, 0x76B71C: 0x3A6, 0x76BAC4: 0x2E5, 0x76BDAC: 0x206, 0x76BFB4: 0xCA, 0x76C080: 0x3F3, 0x76C474: 0x15E, 0x76C5D4: 0xA1, 0x76C678: 0x136, 0x76C7B0: 0x8C, 0x76C83C: 0x561, 0x76CDA0: 0x488, 0x76D228: 0x4F7, 0x76D720: 0x54C, 0x76DC6C: 0xFA, 0x76DD68: 0x257, 0x76DFC0: 0x767, 0x76E728: 0x1DF, 0x76E908: 0x352, 0x76EC5C: 0x19D, 0x76EDFC: 0x39B, 0x76F198: 0xC, 0x76F1A4: 0x33, 0x76F1D8: 0x1D, 0x76F1F8: 0xB, 0x76F204: 0x57B, 0x76F780: 0xC, 0x76F78C: 0xC, 0x76F798: 0x74D, 0x76FEE8: 0xC, 0x76FEF4: 0xC, 0x76FF00: 0xC, 0x76FF0C: 0x9A3, 0x7708B0: 0x6F3, 0x770FA4: 0x6C5, 0x77166C: 0xA3B, 0x7720A8: 0x3C4, 0x77246C: 0xA18, 0x772E84: 0x2C0, 0x773144: 0x474, 0x7735B8: 0x4E4, 0x773A9C: 0x29D, 0x773D3C: 0xC20, 0x77495C: 0x22D, 0x774B8C: 0x425, 0x774FB4: 0x3AD, 0x775364: 0x252, 0x7755B8: 0xD82, 0x77633C: 0x2EC, 0x776628: 0x124, 0x77674C: 0x1E4, 0x776930: 0x14A, 0x776A7C: 0x768, 0x7771E4: 0xB, 0x7771F0: 0xB, 0x7771FC: 0xB, 0x777208: 0xD, 0x777218: 0x83D, 0x777A58: 0x40B, 0x777E64: 0x57D, 0x7783E4: 0x354, 0x778738: 0x1900, 0x77A038: 0x436, 0x77A470: 0x270, 0x77A6E0: 0x1A6, 0x77A888: 0x446, 0x77ACD0: 0xA3E, 0x77B710: 0xF7, 0x77B808: 0x1E6, 0x77B9F0: 0x4B8, 0x77BEA8: 0xD0, 0x77BF78: 0x239, 0x77C1B4: 0x161, 0x77C318: 0x176, 0x77C490: 0xB, 0x77C49C: 0xB, 0x77C4A8: 0xB3, 0x77C55C: 0x7B7, 0x77CD14: 0x685, 0x77D39C: 0x131, 0x77D4D0: 0xB6D, 0x77E040: 0x61F, 0x77E660: 0x1AA, 0x77E80C: 0x775, 0x77EF84: 0x384, 0x77F308: 0x196, 0x77F4A0: 0x21D, 0x77F6C0: 0x392, 0x77FA54: 0x19B, 0x77FBF0: 0x21F, 0x77FE10: 0x10E, 0x77FF20: 0x63, 0x77FF84: 0x13, 0x77FF98: 0x156, 0x7800F0: 0x132, 0x780224: 0xB, 0x780230: 0x11E, 0x780350: 0xB, 0x78035C: 0x143, 0x7804A0: 0x4D, 0x7804F0: 0xC, 0x7804FC: 0xB, 0x780508: 0xA1F, 0x780F28: 0xEE2, 0x781E0C: 0x73C, 0x782548: 0x2FA, 0x782844: 0x10B7, 0x7838FC: 0x634, 0x783F30: 0x6A0, 0x7845D0: 0x56F, 0x784B40: 0x29B, 0x784DDC: 0x843, 0x785620: 0x585, 0x785BA8: 0x721, 0x7862CC: 0xBE7, 0x786EB4: 0x344, 0x7871F8: 0x4C3, 0x7876BC: 0x28F, 0x78794C: 0x5F4, 0x787F40: 0x4DA, 0x78841C: 0x3B6, 0x7887D4: 0xBD3, 0x7893A8: 0x222, 0x7895CC: 0x5D2, 0x789BA0: 0x5AD, 0x78A150: 0x3B2, 0x78A504: 0x850, 0x78AD54: 0x21E, 0x78AF74: 0x50B, 0x78B480: 0x58E, 0x78BA10: 0x332, 0x78BD44: 0x91E, 0x78C664: 0x316, 0x78C97C: 0x6CE, 0x78D04C: 0x252, 0x78D2A0: 0x6E7, 0x78D988: 0x57B, 0x78DF04: 0x53E, 0x78E444: 0x233, 0x78E678: 0xC8A, 0x78F304: 0x239, 0x78F540: 0x1D0, 0x78F710: 0xA3, 0x78F7B4: 0x193, 0x78F948: 0x1B, 0x78F964: 0x7E, 0x78F9E4: 0x74A, 0x790130: 0x284, 0x7903B4: 0x1954, 0x791D08: 0x838, 0x792540: 0x2B3, 0x7927F4: 0x607, 0x792DFC: 0x373, 0x793170: 0x48D, 0x793600: 0x372, 0x793974: 0xC, 0x793980: 0x314, 0x793C94: 0xBC, 0x793D50: 0x680, 0x7943D0: 0xC, 0x7943DC: 0xC, 0x7943E8: 0x1B, 0x794404: 0x475, 0x79487C: 0xC, 0x794888: 0x8D, 0x794918: 0x107, 0x794A20: 0x721, 0x795144: 0xC, 0x795150: 0xC, 0x79515C: 0xED, 0x79524C: 0x17B, 0x7953C8: 0xC, 0x7953D4: 0xC, 0x7953E0: 0xC, 0x7953EC: 0x51B, 0x795908: 0x24, 0x79592C: 0xC, 0x795938: 0xC, 0x795944: 0xC, 0x795950: 0xB, 0x79595C: 0x450, 0x795DAC: 0xB, 0x795DB8: 0xC, 0x795DC4: 0xC, 0x795DD0: 0x415, 0x7961E8: 0xC, 0x7961F4: 0xB, 0x796200: 0xC, 0x79620C: 0xC, 0x796218: 0x196, 0x7963B0: 0xB, 0x7963BC: 0xB, 0x7963C8: 0xC, 0x7963D4: 0xC, 0x7963E0: 0x1B9, 0x79659C: 0x30C, 0x7968A8: 0xC, 0x7968B4: 0xC, 0x7968C0: 0xC, 0x7968CC: 0xC, 0x7968D8: 0xC, 0x7968E4: 0xC, 0x7968F0: 0xC, 0x7968FC: 0xC, 0x796908: 0xC, 0x796914: 0xC, 0x796920: 0x141, 0x796A64: 0x3AF, 0x796E14: 0xC, 0x796E20: 0x5BF, 0x7973E0: 0xB, 0x7973EC: 0xC, 0x7973F8: 0x60, 0x797458: 0xB, 0x797464: 0xC, 0x797470: 0x1D3, 0x797644: 0x3CB, 0x797A10: 0xC, 0x797A1C: 0x37C, 0x797D98: 0xC, 0x797DA4: 0x3BE, 0x798164: 0x64, 0x7981C8: 0x3B0, 0x798578: 0xC, 0x798584: 0xC, 0x798590: 0xC, 0x79859C: 0xC, 0x7985A8: 0x6F, 0x798618: 0xC, 0x798624: 0x1B, 0x798640: 0x5F, 0x7986A0: 0xC, 0x7986AC: 0xC, 0x7986B8: 0x332, 0x7989EC: 0x1B, 0x798A08: 0x48E, 0x798E98: 0xC, 0x798EA4: 0x323, 0x7991C8: 0xC, 0x7991D4: 0x1B, 0x7991F0: 0xCB7, 0x799EA8: 0x792, 0x79A63C: 0xC, 0x79A648: 0x1B, 0x79A664: 0xA07, 0x79B06C: 0xC, 0x79B078: 0x1B, 0x79B094: 0x8EC, 0x79B980: 0xC, 0x79B98C: 0xC, 0x79B998: 0xC, 0x79B9A4: 0xC, 0x79B9B0: 0x959, 0x79C30C: 0xC, 0x79C318: 0xC, 0x79C324: 0xC, 0x79C330: 0xCE, 0x79C400: 0xAE, 0x79C4B0: 0xC, 0x79C4BC: 0xC, 0x79C4C8: 0xC, 0x79C4D4: 0x91, 0x79C568: 0xB, 0x79C574: 0xC, 0x79C580: 0xC, 0x79C58C: 0xC, 0x79C598: 0x51B, 0x79CAB4: 0xB, 0x79CAC0: 0xB, 0x79CACC: 0xC, 0x79CAD8: 0xC, 0x79CAE4: 0x5EA, 0x79D0D0: 0xB, 0x79D0DC: 0xC, 0x79D0E8: 0xC, 0x79D0F4: 0x413, 0x79D508: 0xB, 0x79D514: 0xB, 0x79D520: 0xC, 0x79D52C: 0xC, 0x79D538: 0xA2, 0x79D5DC: 0x93, 0x79D670: 0xC, 0x79D67C: 0x3D5, 0x79DA54: 0xC, 0x79DA60: 0x275, 0x79DCD8: 0xC, 0x79DCE4: 0xC, 0x79DCF0: 0x322, 0x79E014: 0x35C, 0x79E370: 0xC, 0x79E37C: 0xC, 0x79E388: 0x73, 0x79E3FC: 0xC, 0x79E408: 0xC, 0x79E414: 0xC, 0x79E420: 0xFA, 0x79E51C: 0xB5, 0x79E5D4: 0xC, 0x79E5E0: 0x5B, 0x79E63C: 0xCE, 0x79E70C: 0xC, 0x79E718: 0x2CC, 0x79E9E4: 0x6B, 0x79EA50: 0xC, 0x79EA5C: 0x68, 0x79EAC4: 0x8F, 0x79EB54: 0xC, 0x79EB60: 0x2CE, 0x79EE30: 0xC, 0x79EE3C: 0xC, 0x79EE48: 0xAC, 0x79EEF4: 0xC, 0x79EF00: 0xC, 0x79EF0C: 0xA6, 0x79EFB4: 0xC, 0x79EFC0: 0xC, 0x79EFCC: 0x8D, 0x79F05C: 0xC, 0x79F068: 0xC, 0x79F074: 0xC, 0x79F080: 0x42A, 0x79F4AC: 0xC, 0x79F4B8: 0xC, 0x79F4C4: 0xC, 0x79F4D0: 0xC, 0x79F4DC: 0x720, 0x79FBFC: 0xC, 0x79FC08: 0xC, 0x79FC14: 0xC, 0x79FC20: 0x20D, 0x79FE30: 0xC, 0x79FE3C: 0xC, 0x79FE48: 0xC, 0x79FE54: 0x522, 0x7A0378: 0xC, 0x7A0384: 0xC, 0x7A0390: 0xC, 0x7A039C: 0x552, 0x7A08F0: 0xC, 0x7A08FC: 0xC, 0x7A0908: 0xC, 0x7A0914: 0x145, 0x7A0A5C: 0xC, 0x7A0A68: 0xC, 0x7A0A74: 0xC, 0x7A0A80: 0xC, 0x7A0A8C: 0x9C, 0x7A0B28: 0xC, 0x7A0B34: 0xC, 0x7A0B40: 0x561, 0x7A10A4: 0xB, 0x7A10B0: 0xB, 0x7A10BC: 0x4A3, 0x7A1560: 0xC, 0x7A156C: 0xC, 0x7A1578: 0xAB, 0x7A1624: 0xC, 0x7A1630: 0x87, 0x7A16B8: 0xC, 0x7A16C4: 0xC, 0x7A16D0: 0xC, 0x7A16DC: 0xC, 0x7A16E8: 0x24E, 0x7A1938: 0xC, 0x7A1944: 0xC, 0x7A1950: 0xE8, 0x7A1A38: 0xC, 0x7A1A44: 0x7C, 0x7A1AC0: 0x643, 0x7A2104: 0x7B5, 0x7A28BC: 0x15E, 0x7A2A1C: 0x186, 0x7A2BA4: 0x167, 0x7A2D0C: 0x3F, 0x7A2D4C: 0x4C, 0x7A2D98: 0x49, 0x7A2DE4: 0x4C, 0x7A2E30: 0xBC, 0x7A2EEC: 0x4C, 0x7A2F38: 0x1AF, 0x7A30E8: 0x1BD, 0x7A32A8: 0x175, 0x7A3420: 0x57B, 0x7A399C: 0x4E8, 0x7A3E84: 0x272, 0x7A40F8: 0x400, 0x7A44F8: 0x2C8, 0x7A47C0: 0x4E2, 0x7A4CA4: 0x6B0, 0x7A5354: 0x5FF, 0x7A5954: 0x1CC, 0x7A5B20: 0x3FA, 0x7A5F1C: 0x19B, 0x7A60B8: 0x199, 0x7A6254: 0x182, 0x7A63D8: 0x36D, 0x7A6748: 0x11B, 0x7A6864: 0x183, 0x7A69E8: 0x168, 0x7A6B50: 0x80A, 0x7A735C: 0x176, 0x7A74D4: 0x487, 0x7A795C: 0x659, 0x7A7FB8: 0x351, 0x7A830C: 0x1C2, 0x7A84D0: 0x24E, 0x7A8720: 0x35C, 0x7A8A7C: 0x38B, 0x7A8E08: 0x17B, 0x7A8F84: 0x3F0, 0x7A9374: 0x137, 0x7A94AC: 0x3FC, 0x7A98A8: 0x540, 0x7A9DE8: 0xDA, 0x7A9EC4: 0x323, 0x7AA1E8: 0x3A6, 0x7AA590: 0x206, 0x7AA798: 0x7A, 0x7AA814: 0x16A, 0x7AA980: 0x16C, 0x7AAAEC: 0x115, 0x7AAC04: 0x1B6, 0x7AADBC: 0x44D, 0x7AB20C: 0xCC, 0x7AB2D8: 0x23C, 0x7AB514: 0xFD, 0x7AB614: 0xED, 0x7AB704: 0x435, 0x7ABB3C: 0x42D, 0x7ABF6C: 0x495, 0x7AC404: 0x110, 0x7AC514: 0x37A, 0x7AC890: 0xA1D, 0x7AD2B0: 0x3CE, 0x7AD680: 0x43E, 0x7ADAC0: 0x153, 0x7ADC14: 0x254, 0x7ADE68: 0x6E7, 0x7AE550: 0x13C, 0x7AE68C: 0xCF, 0x7AE75C: 0x27A, 0x7AE9D8: 0x733, 0x7AF10C: 0x54F, 0x7AF65C: 0x46A, 0x7AFAC8: 0x31C, 0x7AFDE4: 0xC3, 0x7AFEA8: 0x636, 0x7B04E0: 0x4F4, 0x7B09D4: 0x254, 0x7B0C28: 0x2E9, 0x7B0F14: 0x332, 0x7B1248: 0x434, 0x7B167C: 0x344, 0x7B19C0: 0xB2, 0x7B1A74: 0xC5, 0x7B1B3C: 0xFE, 0x7B1C3C: 0xC5, 0x7B1D04: 0xE5, 0x7B1DEC: 0xC5, 0x7B1EB4: 0xD6, 0x7B1F8C: 0xC5, 0x7B2054: 0x3B0, 0x7B2404: 0x18B, 0x7B2590: 0xB64, 0x7B30F4: 0x450, 0x7B3544: 0x225, 0x7B376C: 0x786, 0x7B3EF4: 0x6C3, 0x7B45B8: 0xA4F, 0x7B5008: 0xB12, 0x7B5B1C: 0x12A, 0x7B5C48: 0x601, 0x7B624C: 0x293, 0x7B64E0: 0x699, 0x7B6B7C: 0x356, 0x7B6ED4: 0x4F6, 0x7B73CC: 0x41E, 0x7B77EC: 0x384, 0x7B7B70: 0x607, 0x7B8178: 0x155, 0x7B82D0: 0x2F4, 0x7B85C4: 0xB6, 0x7B867C: 0x53E, 0x7B8BBC: 0x32E, 0x7B8EEC: 0x890, 0x7B977C: 0x141, 0x7B98C0: 0x484, 0x7B9D44: 0x8E, 0x7B9DD4: 0x347, 0x7BA11C: 0xFE, 0x7BA21C: 0xB4, 0x7BA2D0: 0xCC, 0x7BA39C: 0x116, 0x7BA4B4: 0xB4, 0x7BA568: 0x99, 0x7BA604: 0xD1, 0x7BA6D8: 0xB4, 0x7BA78C: 0x391, 0x7BAB20: 0x1F6, 0x7BAD18: 0x241, 0x7BAF5C: 0x3D9, 0x7BB338: 0x43A, 0x7BB774: 0x510, 0x7BBC84: 0x59A, 0x7BC220: 0x816, 0x7BCA38: 0x314, 0x7BCD4C: 0x214, 0x7BCF60: 0xD2, 0x7BD034: 0x124, 0x7BD158: 0x14D, 0x7BD2A8: 0xC5, 0x7BD370: 0x1EE, 0x7BD560: 0xBB, 0x7BD61C: 0xBA, 0x7BD6D8: 0xB4, 0x7BD78C: 0xB5, 0x7BD844: 0x14C, 0x7BD990: 0x392, 0x7BDD24: 0x3D4, 0x7BE0F8: 0x289, 0x7BE384: 0x3D1, 0x7BE758: 0x7C, 0x7BE7D4: 0x1E8, 0x7BE9BC: 0x7A, 0x7BEA38: 0x6AD, 0x7BF0E8: 0x314, 0x7BF3FC: 0x259, 0x7BF658: 0x541, 0x7BFB9C: 0x2B4, 0x7BFE50: 0x223, 0x7C0074: 0xAB1, 0x7C0B28: 0x349, 0x7C0E74: 0x530, 0x7C13A4: 0x937, 0x7C1CDC: 0x427, 0x7C2104: 0x301, 0x7C2408: 0x50A, 0x7C2914: 0x39A, 0x7C2CB0: 0x2AE, 0x7C2F60: 0x780, 0x7C36E0: 0x352, 0x7C3A34: 0x53D, 0x7C3F74: 0x223, 0x7C4198: 0x60B, 0x7C47A4: 0x34F, 0x7C4AF4: 0x918, 0x7C540C: 0x499, 0x7C58A8: 0xC72, 0x7C651C: 0xA4D, 0x7C6F6C: 0x242, 0x7C71B0: 0x530, 0x7C76E0: 0xB91, 0x7C8274: 0xA15, 0x7C8C8C: 0x521, 0x7C91B0: 0x4E3, 0x7C9694: 0x1EB, 0x7C9880: 0x2AD, 0x7C9B30: 0x76, 0x7C9BA8: 0x53, 0x7C9BFC: 0x157, 0x7C9D54: 0x17D, 0x7C9ED4: 0x5C4, 0x7CA498: 0x193, 0x7CA62C: 0x1B1, 0x7CA7E0: 0x2B0, 0x7CAA90: 0x79, 0x7CAB0C: 0xD5, 0x7CABE4: 0xD9, 0x7CACC0: 0x1C6, 0x7CAE88: 0x150, 0x7CAFD8: 0x10D, 0x7CB0E8: 0x9E, 0x7CB188: 0xDF, 0x7CB268: 0x9E, 0x7CB308: 0xE2, 0x7CB3EC: 0x9E, 0x7CB48C: 0xF6, 0x7CB584: 0x1C7, 0x7CB74C: 0x1C1, 0x7CB910: 0xC68, 0x7CC578: 0xD28, 0x7CD2A0: 0x4DF, 0x7CD780: 0x49B, 0x7CDC1C: 0x4F8, 0x7CE114: 0x2B3, 0x7CE3C8: 0xC9, 0x7CE494: 0x21E, 0x7CE6B4: 0x4D8, 0x7CEB8C: 0x502, 0x7CF090: 0x386, 0x7CF418: 0x75D, 0x7CFB78: 0x33, 0x7CFBAC: 0x73, 0x7CFC20: 0x58B, 0x7D01AC: 0x10C, 0x7D02B8: 0x12D, 0x7D03E8: 0x137, 0x7D0520: 0x2B5, 0x7D07D8: 0x43, 0x7D081C: 0x8D, 0x7D08AC: 0x23D, 0x7D0AEC: 0x142, 0x7D0C30: 0x7F, 0x7D0CB0: 0x60, 0x7D0D10: 0x403, 0x7D1114: 0xF6, 0x7D120C: 0x7D, 0x7D128C: 0x66, 0x7D12F4: 0x2A3, 0x7D1598: 0xE0, 0x7D1678: 0xA6, 0x7D1720: 0xB54, 0x7D2274: 0x9F5, 0x7D2C6C: 0xA11, 0x7D3680: 0x23C, 0x7D38BC: 0x227, 0x7D3AE4: 0x71E, 0x7D4204: 0x61E, 0x7D4824: 0xA24, 0x7D5248: 0xBA9, 0x7D5DF4: 0x704, 0x7D64F8: 0xBD, 0x7D65B8: 0x4B, 0x7D6604: 0x3D, 0x7D6644: 0x3F, 0x7D6684: 0x73A, 0x7D6DC0: 0x375, 0x7D7138: 0x2D9, 0x7D7414: 0x66F, 0x7D7A84: 0x569, 0x7D7FF0: 0x5FA, 0x7D85EC: 0x440, 0x7D8A2C: 0xCF, 0x7D8AFC: 0x135, 0x7D8C34: 0xD6, 0x7D8D0C: 0xF0, 0x7D8DFC: 0x174, 0x7D8F70: 0x142, 0x7D90B4: 0x106, 0x7D91BC: 0x179, 0x7E67FC: 0x286, 0x7E6A84: 0x17EE, 0x7E8274: 0x256, 0x7E84CC: 0x1210, 0x7E96DC: 0x26A, 0x7E9948: 0x10C2, 0x7EAA0C: 0x322, 0x7EAD30: 0x1155, 0x7EBE88: 0x30B, 0x7EC194: 0xF69, 0x7ED100: 0x144, 0x7ED244: 0x2BD, 0x7ED504: 0xFF3, 0x7EED68: 0x257, 0x7EFCF4: 0x252, 0x7EFF48: 0x283, 0x7F01CC: 0x254, 0x7F0420: 0x245, 0x7F0668: 0x246, 0x7F08B0: 0x249, 0x7F0AFC: 0x268, 0x7F0D64: 0x284, 0x7F0FE8: 0x465 } -ArchiveToReferences = {0x021D88: [0x021D80], 0x6C2AA4: [0x13A5A0], 0x6C3758: [0x04BCE0,0x09B3EC,0x09B5AC,0x09B638,0x09B8E4,0x09B938,0x09B980,0x09BB58,0x09BCB8,0x09BDCC,0x09BDF6], 0x6C4730: [0x09C2B4], 0x6C92AC: [0x033F34,0x120E9C], 0x6CC6A8: [0x1256C0,0x1256EC], 0x6CC700: [0x1256C4,0x1256C8,0x1256CC,0x1256D0,0x1256D4,0x1256D8,0x1256DC,0x1256E0,0x1256E4,0x1256E8,0x1256F0], 0x6CCE08: [0x135D0C,0x135D38], 0x6CD12C: [0x135D10,0x135D14,0x135D18,0x135D1C,0x135D20,0x135D24,0x135D28,0x135D2C,0x135D30,0x135D34,0x135D3C], 0x6CD430: [0x042044,0x04A1FC,0x11A3B0,0x11BDB8,0x11BF94,0x12211C,0x132014], 0x6CD59C: [0x134AF4,0x134B20], 0x6CD6B4: [0x134AF8,0x134AFC,0x134B00,0x134B04,0x134B08,0x134B0C,0x134B10,0x134B14,0x134B18,0x134B1C,0x134B24], 0x6CD918: [0x1261EC,0x126218], 0x6CDA7C: [0x1261F0,0x1261F4,0x1261F8,0x1261FC,0x126200,0x126204,0x126208,0x12620C,0x126210,0x126214,0x12621C], 0x6CE3E4: [0x129B14,0x129B40], 0x6CE4C8: [0x129B18,0x129B1C,0x129B20,0x129B24,0x129B28,0x129B2C,0x129B30,0x129B34,0x129B38,0x129B3C,0x129B44], 0x6CE598: [0x129BCC], 0x6D10D8: [0x129C44], 0x6D354C: [0x137B24], 0x6D368C: [0x139490], 0x6D48F8: [0x02B0DC,0x12ADB0], 0x6D4E68: [0x127210], 0x6D4EB4: [0x1271F8], 0x6D54FC: [0x128EFC,0x128F14,0x128F18,0x128F1C,0x128F20,0x128F24,0x128F28], 0x6D5844: [0x128F00], 0x6D5B98: [0x128F04], 0x6D5EEC: [0x128F08], 0x6D6240: [0x128F0C], 0x6D657C: [0x128F10], 0x6D68C4: [0x128F2C], 0x6D6F1C: [0x139908,0x139934], 0x6D6FE0: [0x13990C,0x139910,0x139914,0x139918,0x13991C,0x139920,0x139924,0x139928,0x13992C,0x139930,0x139938], 0x6D813C: [0x04B538,0x12CDC0,0x12CDC4,0x12CDC8,0x12CDCC,0x12CDD0,0x12CDD4,0x12CDD8,0x12CDDC,0x12CDE0,0x12CDE4,0x12CDE8,0x12CDEC,0x12CDF0], 0x6D8DEC: [], 0x6E88D0: [0x027D2C,0x02C7C4,0x042038,0x042050,0x0476B4,0x121F54,0x121FF4,0x12204C,0x128194], 0x6E92D8: [0x027D30,0x02C7C8,0x04203C,0x0476B8,0x121F58,0x121FF8,0x122050,0x128198], 0x6E983C: [0x027D50,0x11A9BC,0x11B3BC], 0x6EC050: [0x027D54,0x11A9C0,0x11B3C0], 0x6ED458: [0x028B68], 0x6ED6A0: [0x02C7D8,0x042040,0x0476C4], 0x6ED710: [0x027008,0x02B5F8], 0x6EE284: [0x01D3F4,0x02B9AC], 0x6EE2F8: [0x01D1C4,0x01E438], 0x6EE400: [0x00ECEC,0x02B3F0], 0x6EED00: [0x00ECF0,0x139B70], 0x6F0DE4: [0x027BD0], 0x6F17EC: [0x027BD4], 0x6F1EE0: [0x00960C,0x027BD8], 0x6F241C: [0x009610,0x027BDC,0x027BE0,0x027BE4], 0x6F3354: [0x009614,0x027BE8], 0x734CB0: [0x02AD78,0x02B3DC,0x02C6AC,0x0E7C60], 0x734FFC: [0x008014,0x009618,0x0099A0,0x009C90,0x009FC8], 0x736058: [0x02C324], 0x736508: [0x099D60], 0x7367E4: [0x099E24], 0x736A60: [0x09A7CC], 0x738464: [0x09A7D0], 0x73991C: [0x009FBC,0x038F8C,0x03CC90,0x03CD44,0x08AEFB,0x08AF24,0x09A103,0x09B300,0x09C2C4,0x09C3A4,0x09D5B3,0x09D89A,0x09E3FB,0x0A0998], 0x73A014: [0x09CAED,0x09D125], 0x73A4E0: [], 0x73B044: [0x09B34E,0x0A0614], 0x73B938: [0x042034,0x04761C,0x1265FC,0x12A870], 0x73BD88: [0x0471EC,0x12A760], 0x73C98C: [0x042048,0x04204C,0x047718,0x1194C4,0x11A00C,0x11AD64,0x11CAAC,0x122088,0x12952C,0x1295AC,0x133314], 0x73CC04: [0x0471F4,0x130878,0x137B18], 0x73CF44: [0x0445E0], 0x73CF64: [0x0445E4], 0x73CF84: [0x0445E8], 0x73D36C: [0x0445EC], 0x73D844: [0x04467C], 0x73DCA0: [0x044680], 0x73E358: [0x044684], 0x73E8B0: [0x044688], 0x73EDCC: [0x0447C0], 0x73F3E8: [0x0447C4], 0x73FC40: [0x0447C8], 0x740254: [0x0447CC], 0x740810: [0x04485C], 0x740CA0: [0x044860], 0x7412F8: [0x044864], 0x741914: [0x044868], 0x741EA8: [0x0448F8,0x0448FC], 0x742404: [0x044900], 0x742A74: [0x044904], 0x74303C: [0x044978,0x04497C,0x044980], 0x743788: [0x044984], 0x743D28: [0x044A30,0x044A34,0x044A38,0x044A3C], 0x7440DC: [0x044A78], 0x74420C: [0x044A7C], 0x744330: [0x044A80], 0x7443E8: [0x044A84], 0x744634: [0x044ADC], 0x744900: [0x044AE0], 0x744970: [0x044AE4], 0x744A24: [0x044AE8], 0x744C70: [0x044B40,0x044B44], 0x744D74: [0x044B48], 0x744E2C: [0x044B4C], 0x745078: [0x044BA4,0x044BA8,0x044BAC], 0x745164: [0x044BB0], 0x7453B0: [0x044C40,0x044C44,0x044C48,0x044C4C], 0x745730: [0x044CEC], 0x745C6C: [0x044CF0], 0x74658C: [0x044CF4], 0x746E80: [0x044CF8], 0x747450: [0x044EBC], 0x747B74: [0x044EC0], 0x748574: [0x044EC4], 0x749090: [0x044EC8], 0x7497B4: [0x04508C], 0x749B70: [0x045090], 0x74A50C: [0x045094], 0x74AF74: [0x045098], 0x74B688: [0x0450F0], 0x74BC2C: [0x0450F4], 0x74C61C: [0x0450F8], 0x74CF1C: [0x0450FC], 0x74D500: [0x045154], 0x74D8BC: [0x045158], 0x74E1F0: [0x04515C], 0x74EABC: [0x045160], 0x74F08C: [0x04519C,0x0451A0], 0x74F724: [0x0451A4], 0x7500B0: [0x0451A8], 0x750754: [0x0451E4,0x0451E8,0x0451EC], 0x750EF8: [0x0451F0], 0x7514C8: [0x045248,0x04524C,0x045250], 0x751EB4: [0x045254], 0x75255C: [0x0452C8,0x0452CC], 0x7525B0: [0x0452D0], 0x752FF8: [0x0452D4], 0x7536E4: [0x04532C,0x045330,0x045334], 0x753770: [0x045338], 0x753814: [0x0445D8], 0x753B48: [0x0445DC], 0x753B54: [0x044668], 0x754060: [0x04466C], 0x754524: [0x044670], 0x7549E0: [0x044674], 0x754BD8: [0x044678], 0x755468: [0x044794], 0x755AB8: [0x044798], 0x755F54: [0x04479C], 0x75634C: [0x0447A0], 0x756770: [0x0447A4], 0x756A2C: [0x0447A8], 0x756CD4: [0x0447AC], 0x756FA8: [0x0447B0], 0x7573BC: [0x0447B4], 0x7577AC: [0x0447B8], 0x757B4C: [0x0447BC], 0x757E34: [0x044848], 0x758200: [0x04484C], 0x758854: [0x044850], 0x758FA0: [0x044854], 0x759248: [0x044858], 0x7593EC: [0x0448E4], 0x759870: [0x0448E8], 0x759BF0: [0x0448EC], 0x759D98: [0x0448F0], 0x759EBC: [0x0448F4], 0x759F14: [0x044968], 0x75A168: [0x04496C], 0x75A3F4: [0x044970], 0x75A778: [0x044974], 0x75AAA4: [0x044A18], 0x75AD4C: [0x044A1C], 0x75AF00: [0x044A20], 0x75B138: [0x044A24], 0x75B51C: [0x044A28], 0x75B6B0: [0x044A2C], 0x75B6BC: [0x044A70], 0x75B73C: [0x044A74], 0x75B8B0: [0x044AD0], 0x75B8FC: [0x044AD4], 0x75B948: [0x044AD8], 0x75B994: [0x044B34], 0x75B9F4: [0x044B38], 0x75BA54: [0x044B3C], 0x75BB14: [0x044B98], 0x75BB4C: [0x044B9C], 0x75BB84: [0x044BA0], 0x75BBBC: [0x044C2C], 0x75BC88: [0x044C30], 0x75BD34: [0x044C34], 0x75BDBC: [0x044C38], 0x75BE5C: [0x044C3C], 0x75BE68: [0x044CD0], 0x75BE74: [0x044CD4], 0x75BE80: [0x044CDC], 0x75BE8C: [0x044CE4], 0x75BEB4: [0x044CE8], 0x75BEE0: [0x044E7C], 0x75BEEC: [0x044E80], 0x75BEF8: [0x044E84], 0x75BF04: [0x044E88], 0x75BF10: [0x044E8C], 0x75BF1C: [0x044E90], 0x75BF28: [0x044E94], 0x75BF34: [0x044E98], 0x75C030: [0x044E9C], 0x75C03C: [0x044EA0], 0x75C2A8: [0x044EA4], 0x75C2B4: [0x044EA8], 0x75C350: [0x044EAC], 0x75C3E8: [0x044EB0], 0x75C468: [0x044EB4], 0x75C500: [0x044EB8], 0x75C50C: [0x04504C], 0x75C518: [0x045050], 0x75C524: [0x045054], 0x75C530: [0x045058], 0x75C53C: [0x04505C], 0x75C548: [0x045060], 0x75C554: [0x045064], 0x75C560: [0x045068], 0x75C56C: [0x04506C], 0x75C578: [0x045070], 0x75C584: [0x045074], 0x75C590: [0x045078], 0x75C59C: [0x04507C], 0x75C5A8: [0x045080], 0x75C5B4: [0x045084], 0x75C5C0: [0x045088], 0x75C5CC: [0x0450E4], 0x75C818: [0x0450E8], 0x75C94C: [0x0450EC], 0x75CF74: [0x045148], 0x75D360: [0x04514C], 0x75D774: [0x045150], 0x75D9F4: [0x045194], 0x75DEAC: [0x045198], 0x75E138: [0x0451DC], 0x75E51C: [0x0451E0], 0x75E84C: [0x04523C], 0x75EC74: [0x045240], 0x75F170: [0x045244], 0x75F5D4: [0x0452B8], 0x75F7FC: [0x0452BC], 0x760048: [0x0452C0], 0x760370: [0x045324], 0x760ED4: [0x0445B0], 0x760F20: [0x0445B4], 0x760F2C: [0x0445B8], 0x761758: [0x0445BC], 0x761A60: [0x0445C0], 0x7622E4: [0x0445C4], 0x7622F0: [0x0445C8], 0x7622FC: [0x0445CC], 0x762308: [0x0445D0], 0x762314: [0x0445D4], 0x762320: [0x044604], 0x762EE8: [0x044608], 0x76382C: [0x04460C], 0x7645F0: [0x044610], 0x764B38: [0x044614], 0x765FE8: [0x044618], 0x766494: [0x04461C], 0x766C64: [0x044620], 0x766E28: [0x044624], 0x767084: [0x044628], 0x767114: [0x04462C], 0x767120: [0x044630], 0x7671A0: [0x044634], 0x7671AC: [0x044638], 0x7671B8: [0x04463C], 0x7671E8: [0x044640], 0x7672F8: [0x044644], 0x767304: [0x044648], 0x767310: [0x04464C], 0x76731C: [0x044650], 0x7673F0: [0x044654], 0x7673FC: [0x044658], 0x7677EC: [0x04465C], 0x767AE4: [0x044660], 0x767D24: [0x044664], 0x7684F0: [0x0446B8], 0x769018: [0x0446BC], 0x7691D8: [0x0446C0], 0x7694E0: [0x0446C4], 0x769700: [0x0446C8], 0x7698B4: [0x0446CC], 0x769C90: [0x0446D0], 0x769EA0: [0x0446D4], 0x76A018: [0x0446D8], 0x76A1E4: [0x0446DC], 0x76A7BC: [0x0446E0], 0x76A974: [0x0446E4], 0x76AB24: [0x0446E8], 0x76AC54: [0x0446EC], 0x76AD9C: [0x0446F0], 0x76B090: [0x0446F4], 0x76B2B4: [0x0446F8], 0x76B3C8: [0x0446FC], 0x76B4BC: [0x044700], 0x76B554: [0x044704], 0x76B71C: [0x044708], 0x76BAC4: [0x04470C], 0x76BDAC: [0x044710], 0x76BFB4: [0x044714], 0x76C080: [0x044718], 0x76C474: [0x04471C], 0x76C5D4: [0x044720], 0x76C678: [0x044724], 0x76C7B0: [0x044728], 0x76C83C: [0x04472C], 0x76CDA0: [0x044730], 0x76D228: [0x044734], 0x76D720: [0x044738], 0x76DC6C: [0x04473C], 0x76DD68: [0x044740], 0x76DFC0: [0x044744], 0x76E728: [0x044748], 0x76E908: [0x04474C], 0x76EC5C: [0x044750], 0x76EDFC: [0x044754], 0x76F198: [0x044758,0x04475C], 0x76F1A4: [0x044760], 0x76F1D8: [0x044764], 0x76F1F8: [0x044768], 0x76F204: [0x04476C,0x044770], 0x76F780: [0x044774], 0x76F78C: [0x044778], 0x76F798: [0x04477C], 0x76FEE8: [0x044780,0x044784], 0x76FEF4: [0x044788], 0x76FF00: [0x04478C], 0x76FF0C: [0x044790], 0x7708B0: [0x0447E4], 0x770FA4: [0x0447E8], 0x77166C: [0x0447EC], 0x7720A8: [0x0447F0], 0x77246C: [0x0447F4], 0x772E84: [0x0447F8], 0x773144: [0x0447FC], 0x7735B8: [0x044800], 0x773A9C: [0x044804], 0x773D3C: [0x044808], 0x77495C: [0x04480C], 0x774B8C: [0x044810], 0x774FB4: [0x044814], 0x775364: [0x044818], 0x7755B8: [0x04481C], 0x77633C: [0x044820], 0x776628: [0x044824], 0x77674C: [0x044828], 0x776930: [0x04482C], 0x776A7C: [0x044830], 0x7771E4: [0x044834], 0x7771F0: [0x044838], 0x7771FC: [0x04483C], 0x777208: [0x044840], 0x777218: [0x044844], 0x777A58: [0x044880,0x044884], 0x777E64: [0x044888], 0x7783E4: [0x04488C], 0x778738: [0x044890], 0x77A038: [0x044894,0x044898], 0x77A470: [0x04489C], 0x77A6E0: [0x0448A0], 0x77A888: [0x0448A4], 0x77ACD0: [0x0448A8,0x0448AC], 0x77B710: [0x0448B0], 0x77B808: [0x0448B4], 0x77B9F0: [0x0448B8], 0x77BEA8: [0x0448BC,0x0448C0], 0x77BF78: [0x0448C4], 0x77C1B4: [0x0448C8], 0x77C318: [0x0448CC], 0x77C490: [0x0448D0,0x0448D4], 0x77C49C: [0x0448D8], 0x77C4A8: [0x0448DC], 0x77C55C: [0x0448E0], 0x77CD14: [0x044918,0x04491C,0x044920], 0x77D39C: [0x044924], 0x77D4D0: [0x044928], 0x77E040: [0x04492C,0x044930,0x044934], 0x77E660: [0x044938], 0x77E80C: [0x04493C], 0x77EF84: [0x044940,0x044944,0x044948], 0x77F308: [0x04494C], 0x77F4A0: [0x044950], 0x77F6C0: [0x044954,0x044958,0x04495C], 0x77FA54: [0x044960], 0x77FBF0: [0x044964], 0x77FE10: [0x0449A0,0x0449A4,0x0449A8,0x0449AC], 0x77FF20: [0x0449B0], 0x77FF84: [0x0449B4,0x0449B8,0x0449BC,0x0449C0], 0x77FF98: [0x0449C4], 0x7800F0: [0x0449C8,0x0449CC,0x0449D0,0x0449D4], 0x780224: [0x0449D8], 0x780230: [0x0449DC,0x0449E0,0x0449E4,0x0449E8], 0x780350: [0x0449EC], 0x78035C: [0x0449F0,0x0449F4,0x0449F8,0x0449FC], 0x7804A0: [0x044A00], 0x7804F0: [0x044A04,0x044A08,0x044A0C,0x044A10], 0x7804FC: [0x044A14], 0x780508: [0x0450A8], 0x780F28: [0x0450AC], 0x781E0C: [0x0450B0], 0x782548: [0x0450B4], 0x782844: [0x0450B8], 0x7838FC: [0x0450BC], 0x783F30: [0x0450C0], 0x7845D0: [0x0450C4], 0x784B40: [0x0450C8], 0x784DDC: [0x0450CC], 0x785620: [0x0450D0], 0x785BA8: [0x0450D4], 0x7862CC: [0x0450D8], 0x786EB4: [0x0450DC], 0x7871F8: [0x0450E0], 0x7876BC: [0x04510C], 0x78794C: [0x045110], 0x787F40: [0x045114], 0x78841C: [0x045118], 0x7887D4: [0x04511C], 0x7893A8: [0x045120], 0x7895CC: [0x045124], 0x789BA0: [0x045128], 0x78A150: [0x04512C], 0x78A504: [0x045130], 0x78AD54: [0x045134], 0x78AF74: [0x045138], 0x78B480: [0x04513C], 0x78BA10: [0x045140], 0x78BD44: [0x045144], 0x78C664: [0x04516C,0x045170], 0x78C97C: [0x045174], 0x78D04C: [0x045178], 0x78D2A0: [0x04517C], 0x78D988: [0x045180,0x045184], 0x78DF04: [0x045188], 0x78E444: [0x04518C], 0x78E678: [0x045190], 0x78F304: [0x0451B4,0x0451B8,0x0451BC], 0x78F540: [0x0451C0], +ArchiveToReferencesGregar = {0x021D88: [0x021D80], 0x6C2AA4: [0x13A5A0], 0x6C3758: [0x04BCE0,0x09B3EC,0x09B5AC,0x09B638,0x09B8E4,0x09B938,0x09B980,0x09BB58,0x09BCB8,0x09BDCC,0x09BDF6], 0x6C4730: [0x09C2B4], 0x6C92AC: [0x033F34,0x120E9C], 0x6CC6A8: [0x1256C0,0x1256EC], 0x6CC700: [0x1256C4,0x1256C8,0x1256CC,0x1256D0,0x1256D4,0x1256D8,0x1256DC,0x1256E0,0x1256E4,0x1256E8,0x1256F0], 0x6CCE08: [0x135D0C,0x135D38], 0x6CD12C: [0x135D10,0x135D14,0x135D18,0x135D1C,0x135D20,0x135D24,0x135D28,0x135D2C,0x135D30,0x135D34,0x135D3C], 0x6CD430: [0x042044,0x04A1FC,0x11A3B0,0x11BDB8,0x11BF94,0x12211C,0x132014], 0x6CD59C: [0x134AF4,0x134B20], 0x6CD6B4: [0x134AF8,0x134AFC,0x134B00,0x134B04,0x134B08,0x134B0C,0x134B10,0x134B14,0x134B18,0x134B1C,0x134B24], 0x6CD918: [0x1261EC,0x126218], 0x6CDA7C: [0x1261F0,0x1261F4,0x1261F8,0x1261FC,0x126200,0x126204,0x126208,0x12620C,0x126210,0x126214,0x12621C], 0x6CE3E4: [0x129B14,0x129B40], 0x6CE4C8: [0x129B18,0x129B1C,0x129B20,0x129B24,0x129B28,0x129B2C,0x129B30,0x129B34,0x129B38,0x129B3C,0x129B44], 0x6CE598: [0x129BCC], 0x6D10D8: [0x129C44], 0x6D354C: [0x137B24], 0x6D368C: [0x139490], 0x6D48F8: [0x02B0DC,0x12ADB0], 0x6D4E68: [0x127210], 0x6D4EB4: [0x1271F8], 0x6D54FC: [0x128EFC,0x128F14,0x128F18,0x128F1C,0x128F20,0x128F24,0x128F28], 0x6D5844: [0x128F00], 0x6D5B98: [0x128F04], 0x6D5EEC: [0x128F08], 0x6D6240: [0x128F0C], 0x6D657C: [0x128F10], 0x6D68C4: [0x128F2C], 0x6D6F1C: [0x139908,0x139934], 0x6D6FE0: [0x13990C,0x139910,0x139914,0x139918,0x13991C,0x139920,0x139924,0x139928,0x13992C,0x139930,0x139938], 0x6D813C: [0x04B538,0x12CDC0,0x12CDC4,0x12CDC8,0x12CDCC,0x12CDD0,0x12CDD4,0x12CDD8,0x12CDDC,0x12CDE0,0x12CDE4,0x12CDE8,0x12CDEC,0x12CDF0], 0x6D8DEC: [], 0x6E88D0: [0x027D2C,0x02C7C4,0x042038,0x042050,0x0476B4,0x121F54,0x121FF4,0x12204C,0x128194], 0x6E92D8: [0x027D30,0x02C7C8,0x04203C,0x0476B8,0x121F58,0x121FF8,0x122050,0x128198], 0x6E983C: [0x027D50,0x11A9BC,0x11B3BC], 0x6EC050: [0x027D54,0x11A9C0,0x11B3C0], 0x6ED458: [0x028B68], 0x6ED6A0: [0x02C7D8,0x042040,0x0476C4], 0x6ED710: [0x027008,0x02B5F8], 0x6EE284: [0x01D3F4,0x02B9AC], 0x6EE2F8: [0x01D1C4,0x01E438], 0x6EE400: [0x00ECEC,0x02B3F0], 0x6EED00: [0x00ECF0,0x139B70], 0x6F0DE4: [0x027BD0], 0x6F17EC: [0x027BD4], 0x6F1EE0: [0x00960C,0x027BD8], 0x6F241C: [0x009610,0x027BDC,0x027BE0,0x027BE4], 0x6F3354: [0x009614,0x027BE8], 0x734CB0: [0x02AD78,0x02B3DC,0x02C6AC,0x0E7C60], 0x734FFC: [0x008014,0x009618,0x0099A0,0x009C90,0x009FC8], 0x736058: [0x02C324], 0x736508: [0x099D60], 0x7367E4: [0x099E24], 0x736A60: [0x09A7CC], 0x738464: [0x09A7D0], 0x73991C: [0x009FBC,0x038F8C,0x03CC90,0x03CD44,0x08AEFB,0x08AF24,0x09A103,0x09B300,0x09C2C4,0x09C3A4,0x09D5B3,0x09D89A,0x09E3FB,0x0A0998], 0x73A014: [0x09CAED,0x09D125], 0x73A4E0: [], 0x73B044: [0x09B34E,0x0A0614], 0x73B938: [0x042034,0x04761C,0x1265FC,0x12A870], 0x73BD88: [0x0471EC,0x12A760], 0x73C98C: [0x042048,0x04204C,0x047718,0x1194C4,0x11A00C,0x11AD64,0x11CAAC,0x122088,0x12952C,0x1295AC,0x133314], 0x73CC04: [0x0471F4,0x130878,0x137B18], 0x73CF44: [0x0445E0], 0x73CF64: [0x0445E4], 0x73CF84: [0x0445E8], 0x73D36C: [0x0445EC], 0x73D844: [0x04467C], 0x73DCA0: [0x044680], 0x73E358: [0x044684], 0x73E8B0: [0x044688], 0x73EDCC: [0x0447C0], 0x73F3E8: [0x0447C4], 0x73FC40: [0x0447C8], 0x740254: [0x0447CC], 0x740810: [0x04485C], 0x740CA0: [0x044860], 0x7412F8: [0x044864], 0x741914: [0x044868], 0x741EA8: [0x0448F8,0x0448FC], 0x742404: [0x044900], 0x742A74: [0x044904], 0x74303C: [0x044978,0x04497C,0x044980], 0x743788: [0x044984], 0x743D28: [0x044A30,0x044A34,0x044A38,0x044A3C], 0x7440DC: [0x044A78], 0x74420C: [0x044A7C], 0x744330: [0x044A80], 0x7443E8: [0x044A84], 0x744634: [0x044ADC], 0x744900: [0x044AE0], 0x744970: [0x044AE4], 0x744A24: [0x044AE8], 0x744C70: [0x044B40,0x044B44], 0x744D74: [0x044B48], 0x744E2C: [0x044B4C], 0x745078: [0x044BA4,0x044BA8,0x044BAC], 0x745164: [0x044BB0], 0x7453B0: [0x044C40,0x044C44,0x044C48,0x044C4C], 0x745730: [0x044CEC], 0x745C6C: [0x044CF0], 0x74658C: [0x044CF4], 0x746E80: [0x044CF8], 0x747450: [0x044EBC], 0x747B74: [0x044EC0], 0x748574: [0x044EC4], 0x749090: [0x044EC8], 0x7497B4: [0x04508C], 0x749B70: [0x045090], 0x74A50C: [0x045094], 0x74AF74: [0x045098], 0x74B688: [0x0450F0], 0x74BC2C: [0x0450F4], 0x74C61C: [0x0450F8], 0x74CF1C: [0x0450FC], 0x74D500: [0x045154], 0x74D8BC: [0x045158], 0x74E1F0: [0x04515C], 0x74EABC: [0x045160], 0x74F08C: [0x04519C,0x0451A0], 0x74F724: [0x0451A4], 0x7500B0: [0x0451A8], 0x750754: [0x0451E4,0x0451E8,0x0451EC], 0x750EF8: [0x0451F0], 0x7514C8: [0x045248,0x04524C,0x045250], 0x751EB4: [0x045254], 0x75255C: [0x0452C8,0x0452CC], 0x7525B0: [0x0452D0], 0x752FF8: [0x0452D4], 0x7536E4: [0x04532C,0x045330,0x045334], 0x753770: [0x045338], 0x753814: [0x0445D8], 0x753B48: [0x0445DC], 0x753B54: [0x044668], 0x754060: [0x04466C], 0x754524: [0x044670], 0x7549E0: [0x044674], 0x754BD8: [0x044678], 0x755468: [0x044794], 0x755AB8: [0x044798], 0x755F54: [0x04479C], 0x75634C: [0x0447A0], 0x756770: [0x0447A4], 0x756A2C: [0x0447A8], 0x756CD4: [0x0447AC], 0x756FA8: [0x0447B0], 0x7573BC: [0x0447B4], 0x7577AC: [0x0447B8], 0x757B4C: [0x0447BC], 0x757E34: [0x044848], 0x758200: [0x04484C], 0x758854: [0x044850], 0x758FA0: [0x044854], 0x759248: [0x044858], 0x7593EC: [0x0448E4], 0x759870: [0x0448E8], 0x759BF0: [0x0448EC], 0x759D98: [0x0448F0], 0x759EBC: [0x0448F4], 0x759F14: [0x044968], 0x75A168: [0x04496C], 0x75A3F4: [0x044970], 0x75A778: [0x044974], 0x75AAA4: [0x044A18], 0x75AD4C: [0x044A1C], 0x75AF00: [0x044A20], 0x75B138: [0x044A24], 0x75B51C: [0x044A28], 0x75B6B0: [0x044A2C], 0x75B6BC: [0x044A70], 0x75B73C: [0x044A74], 0x75B8B0: [0x044AD0], 0x75B8FC: [0x044AD4], 0x75B948: [0x044AD8], 0x75B994: [0x044B34], 0x75B9F4: [0x044B38], 0x75BA54: [0x044B3C], 0x75BB14: [0x044B98], 0x75BB4C: [0x044B9C], 0x75BB84: [0x044BA0], 0x75BBBC: [0x044C2C], 0x75BC88: [0x044C30], 0x75BD34: [0x044C34], 0x75BDBC: [0x044C38], 0x75BE5C: [0x044C3C], 0x75BE68: [0x044CD0], 0x75BE74: [0x044CD4], 0x75BE80: [0x044CDC], 0x75BE8C: [0x044CE4], 0x75BEB4: [0x044CE8], 0x75BEE0: [0x044E7C], 0x75BEEC: [0x044E80], 0x75BEF8: [0x044E84], 0x75BF04: [0x044E88], 0x75BF10: [0x044E8C], 0x75BF1C: [0x044E90], 0x75BF28: [0x044E94], 0x75BF34: [0x044E98], 0x75C030: [0x044E9C], 0x75C03C: [0x044EA0], 0x75C2A8: [0x044EA4], 0x75C2B4: [0x044EA8], 0x75C350: [0x044EAC], 0x75C3E8: [0x044EB0], 0x75C468: [0x044EB4], 0x75C500: [0x044EB8], 0x75C50C: [0x04504C], 0x75C518: [0x045050], 0x75C524: [0x045054], 0x75C530: [0x045058], 0x75C53C: [0x04505C], 0x75C548: [0x045060], 0x75C554: [0x045064], 0x75C560: [0x045068], 0x75C56C: [0x04506C], 0x75C578: [0x045070], 0x75C584: [0x045074], 0x75C590: [0x045078], 0x75C59C: [0x04507C], 0x75C5A8: [0x045080], 0x75C5B4: [0x045084], 0x75C5C0: [0x045088], 0x75C5CC: [0x0450E4], 0x75C818: [0x0450E8], 0x75C94C: [0x0450EC], 0x75CF74: [0x045148], 0x75D360: [0x04514C], 0x75D774: [0x045150], 0x75D9F4: [0x045194], 0x75DEAC: [0x045198], 0x75E138: [0x0451DC], 0x75E51C: [0x0451E0], 0x75E84C: [0x04523C], 0x75EC74: [0x045240], 0x75F170: [0x045244], 0x75F5D4: [0x0452B8], 0x75F7FC: [0x0452BC], 0x760048: [0x0452C0], 0x760370: [0x045324], 0x760ED4: [0x0445B0], 0x760F20: [0x0445B4], 0x760F2C: [0x0445B8], 0x761758: [0x0445BC], 0x761A60: [0x0445C0], 0x7622E4: [0x0445C4], 0x7622F0: [0x0445C8], 0x7622FC: [0x0445CC], 0x762308: [0x0445D0], 0x762314: [0x0445D4], 0x762320: [0x044604], 0x762EE8: [0x044608], 0x76382C: [0x04460C], 0x7645F0: [0x044610], 0x764B38: [0x044614], 0x765FE8: [0x044618], 0x766494: [0x04461C], 0x766C64: [0x044620], 0x766E28: [0x044624], 0x767084: [0x044628], 0x767114: [0x04462C], 0x767120: [0x044630], 0x7671A0: [0x044634], 0x7671AC: [0x044638], 0x7671B8: [0x04463C], 0x7671E8: [0x044640], 0x7672F8: [0x044644], 0x767304: [0x044648], 0x767310: [0x04464C], 0x76731C: [0x044650], 0x7673F0: [0x044654], 0x7673FC: [0x044658], 0x7677EC: [0x04465C], 0x767AE4: [0x044660], 0x767D24: [0x044664], 0x7684F0: [0x0446B8], 0x769018: [0x0446BC], 0x7691D8: [0x0446C0], 0x7694E0: [0x0446C4], 0x769700: [0x0446C8], 0x7698B4: [0x0446CC], 0x769C90: [0x0446D0], 0x769EA0: [0x0446D4], 0x76A018: [0x0446D8], 0x76A1E4: [0x0446DC], 0x76A7BC: [0x0446E0], 0x76A974: [0x0446E4], 0x76AB24: [0x0446E8], 0x76AC54: [0x0446EC], 0x76AD9C: [0x0446F0], 0x76B090: [0x0446F4], 0x76B2B4: [0x0446F8], 0x76B3C8: [0x0446FC], 0x76B4BC: [0x044700], 0x76B554: [0x044704], 0x76B71C: [0x044708], 0x76BAC4: [0x04470C], 0x76BDAC: [0x044710], 0x76BFB4: [0x044714], 0x76C080: [0x044718], 0x76C474: [0x04471C], 0x76C5D4: [0x044720], 0x76C678: [0x044724], 0x76C7B0: [0x044728], 0x76C83C: [0x04472C], 0x76CDA0: [0x044730], 0x76D228: [0x044734], 0x76D720: [0x044738], 0x76DC6C: [0x04473C], 0x76DD68: [0x044740], 0x76DFC0: [0x044744], 0x76E728: [0x044748], 0x76E908: [0x04474C], 0x76EC5C: [0x044750], 0x76EDFC: [0x044754], 0x76F198: [0x044758,0x04475C], 0x76F1A4: [0x044760], 0x76F1D8: [0x044764], 0x76F1F8: [0x044768], 0x76F204: [0x04476C,0x044770], 0x76F780: [0x044774], 0x76F78C: [0x044778], 0x76F798: [0x04477C], 0x76FEE8: [0x044780,0x044784], 0x76FEF4: [0x044788], 0x76FF00: [0x04478C], 0x76FF0C: [0x044790], 0x7708B0: [0x0447E4], 0x770FA4: [0x0447E8], 0x77166C: [0x0447EC], 0x7720A8: [0x0447F0], 0x77246C: [0x0447F4], 0x772E84: [0x0447F8], 0x773144: [0x0447FC], 0x7735B8: [0x044800], 0x773A9C: [0x044804], 0x773D3C: [0x044808], 0x77495C: [0x04480C], 0x774B8C: [0x044810], 0x774FB4: [0x044814], 0x775364: [0x044818], 0x7755B8: [0x04481C], 0x77633C: [0x044820], 0x776628: [0x044824], 0x77674C: [0x044828], 0x776930: [0x04482C], 0x776A7C: [0x044830], 0x7771E4: [0x044834], 0x7771F0: [0x044838], 0x7771FC: [0x04483C], 0x777208: [0x044840], 0x777218: [0x044844], 0x777A58: [0x044880,0x044884], 0x777E64: [0x044888], 0x7783E4: [0x04488C], 0x778738: [0x044890], 0x77A038: [0x044894,0x044898], 0x77A470: [0x04489C], 0x77A6E0: [0x0448A0], 0x77A888: [0x0448A4], 0x77ACD0: [0x0448A8,0x0448AC], 0x77B710: [0x0448B0], 0x77B808: [0x0448B4], 0x77B9F0: [0x0448B8], 0x77BEA8: [0x0448BC,0x0448C0], 0x77BF78: [0x0448C4], 0x77C1B4: [0x0448C8], 0x77C318: [0x0448CC], 0x77C490: [0x0448D0,0x0448D4], 0x77C49C: [0x0448D8], 0x77C4A8: [0x0448DC], 0x77C55C: [0x0448E0], 0x77CD14: [0x044918,0x04491C,0x044920], 0x77D39C: [0x044924], 0x77D4D0: [0x044928], 0x77E040: [0x04492C,0x044930,0x044934], 0x77E660: [0x044938], 0x77E80C: [0x04493C], 0x77EF84: [0x044940,0x044944,0x044948], 0x77F308: [0x04494C], 0x77F4A0: [0x044950], 0x77F6C0: [0x044954,0x044958,0x04495C], 0x77FA54: [0x044960], 0x77FBF0: [0x044964], 0x77FE10: [0x0449A0,0x0449A4,0x0449A8,0x0449AC], 0x77FF20: [0x0449B0], 0x77FF84: [0x0449B4,0x0449B8,0x0449BC,0x0449C0], 0x77FF98: [0x0449C4], 0x7800F0: [0x0449C8,0x0449CC,0x0449D0,0x0449D4], 0x780224: [0x0449D8], 0x780230: [0x0449DC,0x0449E0,0x0449E4,0x0449E8], 0x780350: [0x0449EC], 0x78035C: [0x0449F0,0x0449F4,0x0449F8,0x0449FC], 0x7804A0: [0x044A00], 0x7804F0: [0x044A04,0x044A08,0x044A0C,0x044A10], 0x7804FC: [0x044A14], 0x780508: [0x0450A8], 0x780F28: [0x0450AC], 0x781E0C: [0x0450B0], 0x782548: [0x0450B4], 0x782844: [0x0450B8], 0x7838FC: [0x0450BC], 0x783F30: [0x0450C0], 0x7845D0: [0x0450C4], 0x784B40: [0x0450C8], 0x784DDC: [0x0450CC], 0x785620: [0x0450D0], 0x785BA8: [0x0450D4], 0x7862CC: [0x0450D8], 0x786EB4: [0x0450DC], 0x7871F8: [0x0450E0], 0x7876BC: [0x04510C], 0x78794C: [0x045110], 0x787F40: [0x045114], 0x78841C: [0x045118], 0x7887D4: [0x04511C], 0x7893A8: [0x045120], 0x7895CC: [0x045124], 0x789BA0: [0x045128], 0x78A150: [0x04512C], 0x78A504: [0x045130], 0x78AD54: [0x045134], 0x78AF74: [0x045138], 0x78B480: [0x04513C], 0x78BA10: [0x045140], 0x78BD44: [0x045144], 0x78C664: [0x04516C,0x045170], 0x78C97C: [0x045174], 0x78D04C: [0x045178], 0x78D2A0: [0x04517C], 0x78D988: [0x045180,0x045184], 0x78DF04: [0x045188], 0x78E444: [0x04518C], 0x78E678: [0x045190], 0x78F304: [0x0451B4,0x0451B8,0x0451BC], 0x78F540: [0x0451C0], 0x78F710: [0x0451C4], 0x78F7B4: [0x0451C8,0x0451CC,0x0451D0], 0x78F948: [0x0451D4], 0x78F964: [0x0451D8], 0x78F9E4: [0x045200,0x045204,0x045208], 0x790130: [0x04520C], 0x7903B4: [0x045210], 0x791D08: [0x045214,0x045218,0x04521C], 0x792540: [0x045220], 0x7927F4: [0x045224], 0x792DFC: [0x045228,0x04522C,0x045230], 0x793170: [0x045234], 0x793600: [0x045238], 0x793974: [0x045268,0x04526C], 0x793980: [0x045270], 0x793C94: [0x045274], 0x793D50: [0x045278], 0x7943D0: [0x04527C,0x045280], 0x7943DC: [0x045284], 0x7943E8: [0x045288], 0x794404: [0x04528C], 0x79487C: [0x045290,0x045294], 0x794888: [0x045298], 0x794918: [0x04529C], 0x794A20: [0x0452A0], 0x795144: [0x0452F8,0x0452FC,0x045300], 0x795150: [0x045304], 0x79515C: [0x045308], 0x79524C: [0x044A48], 0x7953C8: [0x044A4C], 0x7953D4: [0x044A50], 0x7953E0: [0x044A54], 0x7953EC: [0x044A58], 0x795908: [0x044A5C], 0x79592C: [0x044A60], 0x795938: [0x044A64], 0x795944: [0x044A68], 0x795950: [0x044A6C], 0x79595C: [0x044A94], 0x795DAC: [0x044A98], 0x795DB8: [0x044A9C], 0x795DC4: [0x044AA0], 0x795DD0: [0x044AA4], 0x7961E8: [0x044AA8], 0x7961F4: [0x044AAC], 0x796200: [0x044AB0], 0x79620C: [0x044AB4], 0x796218: [0x044AB8], 0x7963B0: [0x044ABC], 0x7963BC: [0x044AC0], 0x7963C8: [0x044AC4], 0x7963D4: [0x044AC8], 0x7963E0: [0x044ACC], 0x79659C: [0x044AF8,0x044AFC], 0x7968A8: [0x044B00], 0x7968B4: [0x044B04], 0x7968C0: [0x044B08], 0x7968CC: [0x044B0C,0x044B10], 0x7968D8: [0x044B14], 0x7968E4: [0x044B18], 0x7968F0: [0x044B1C], 0x7968FC: [0x044B20,0x044B24], 0x796908: [0x044B28], 0x796914: [0x044B2C], 0x796920: [0x044B30], 0x796A64: [0x044B5C,0x044B60,0x044B64], 0x796E14: [0x044B68], 0x796E20: [0x044B6C], 0x7973E0: [0x044B70,0x044B74,0x044B78], 0x7973EC: [0x044B7C], 0x7973F8: [0x044B80], 0x797458: [0x044B84,0x044B88,0x044B8C], 0x797464: [0x044B90], 0x797470: [0x044B94], 0x797644: [0x044BC8,0x044BCC,0x044BD0,0x044BD4], 0x797A10: [0x044BD8], 0x797A1C: [0x044BDC,0x044BE0,0x044BE4,0x044BE8], 0x797D98: [0x044BEC], 0x797DA4: [0x044BF0,0x044BF4,0x044BF8,0x044BFC], 0x798164: [0x044C00], 0x7981C8: [0x044C04,0x044C08,0x044C0C,0x044C10], 0x798578: [0x044C14], 0x798584: [0x044C18,0x044C1C,0x044C20,0x044C24], 0x798590: [0x044C28], 0x79859C: [0x044C6C], 0x7985A8: [0x044C70], 0x798618: [0x044C74], 0x798624: [0x044C78], 0x798640: [0x044C7C], 0x7986A0: [0x044C80], 0x7986AC: [0x044C84], 0x7986B8: [0x044C88], 0x7989EC: [0x044C8C], 0x798A08: [0x044C90], 0x798E98: [0x044C94], 0x798EA4: [0x044C98], 0x7991C8: [0x044C9C], 0x7991D4: [0x044CA0], 0x7991F0: [0x044CA4], 0x799EA8: [0x044CA8,0x044CAC], 0x79A63C: [0x044CB0], 0x79A648: [0x044CB4], 0x79A664: [0x044CB8], 0x79B06C: [0x044CBC,0x044CC0,0x044CC4], 0x79B078: [0x044CC8], 0x79B094: [0x044CCC], 0x79B980: [0x044D3C], 0x79B98C: [0x044D40], 0x79B998: [0x044D44], 0x79B9A4: [0x044D48], 0x79B9B0: [0x044D4C], 0x79C30C: [0x044D50,0x044D54], 0x79C318: [0x044D58], 0x79C324: [0x044D5C], 0x79C330: [0x044D60], 0x79C400: [0x044D64], 0x79C4B0: [0x044D68], 0x79C4BC: [0x044D6C], 0x79C4C8: [0x044D70], 0x79C4D4: [0x044D74], 0x79C568: [0x044D78], 0x79C574: [0x044D7C], 0x79C580: [0x044D80], 0x79C58C: [0x044D84], 0x79C598: [0x044D88], 0x79CAB4: [0x044D8C], 0x79CAC0: [0x044D90], 0x79CACC: [0x044D94], 0x79CAD8: [0x044D98], 0x79CAE4: [0x044D9C], 0x79D0D0: [0x044DA0,0x044DA4], 0x79D0DC: [0x044DA8], 0x79D0E8: [0x044DAC], 0x79D0F4: [0x044DB0], 0x79D508: [0x044DB4], 0x79D514: [0x044DB8], 0x79D520: [0x044DBC], 0x79D52C: [0x044DC0], 0x79D538: [0x044DC4], 0x79D5DC: [0x044DC8,0x044DCC,0x044DD0], 0x79D670: [0x044DD4], 0x79D67C: [0x044DD8], 0x79DA54: [0x044DDC], 0x79DA60: [0x044DE0], 0x79DCD8: [0x044DE4], 0x79DCE4: [0x044DE8], 0x79DCF0: [0x044DEC], 0x79E014: [0x044DF0,0x044DF4], 0x79E370: [0x044DF8], 0x79E37C: [0x044DFC], 0x79E388: [0x044E00], 0x79E3FC: [0x044E04,0x044E08], 0x79E408: [0x044E0C], 0x79E414: [0x044E10], 0x79E420: [0x044E14], 0x79E51C: [0x044E18,0x044E1C,0x044E20], 0x79E5D4: [0x044E24], 0x79E5E0: [0x044E28], 0x79E63C: [0x044E2C,0x044E30,0x044E34], 0x79E70C: [0x044E38], 0x79E718: [0x044E3C], 0x79E9E4: [0x044E40,0x044E44,0x044E48], 0x79EA50: [0x044E4C], 0x79EA5C: [0x044E50], 0x79EAC4: [0x044E54,0x044E58,0x044E5C], 0x79EB54: [0x044E60], 0x79EB60: [0x044E64], 0x79EE30: [0x044E68,0x044E6C,0x044E70], 0x79EE3C: [0x044E74], 0x79EE48: [0x044E78], 0x79EEF4: [0x044F0C,0x044F10,0x044F14], 0x79EF00: [0x044F18], 0x79EF0C: [0x044F1C], 0x79EFB4: [0x044F20,0x044F24,0x044F28], 0x79EFC0: [0x044F2C], 0x79EFCC: [0x044F30], 0x79F05C: [0x044F34,0x044F38], 0x79F068: [0x044F3C], 0x79F074: [0x044F40], 0x79F080: [0x044F44], 0x79F4AC: [0x044F48], 0x79F4B8: [0x044F4C], 0x79F4C4: [0x044F50], 0x79F4D0: [0x044F54], 0x79F4DC: [0x044F58], 0x79FBFC: [0x044F5C,0x044F60], 0x79FC08: [0x044F64], 0x79FC14: [0x044F68], 0x79FC20: [0x044F6C], 0x79FE30: [0x044F70,0x044F74], 0x79FE3C: [0x044F78], 0x79FE48: [0x044F7C], 0x79FE54: [0x044F80], 0x7A0378: [0x044F84,0x044F88], 0x7A0384: [0x044F8C], 0x7A0390: [0x044F90], 0x7A039C: [0x044F94], 0x7A08F0: [0x044F98,0x044F9C], 0x7A08FC: [0x044FA0], 0x7A0908: [0x044FA4], 0x7A0914: [0x044FA8], 0x7A0A5C: [0x044FAC], 0x7A0A68: [0x044FB0], 0x7A0A74: [0x044FB4], 0x7A0A80: [0x044FB8], 0x7A0A8C: [0x044FBC], 0x7A0B28: [0x044FC0,0x044FC4,0x044FC8], 0x7A0B34: [0x044FCC], 0x7A0B40: [0x044FD0], 0x7A10A4: [0x044FD4,0x044FD8,0x044FDC], 0x7A10B0: [0x044FE0], 0x7A10BC: [0x044FE4], 0x7A1560: [0x044FE8,0x044FEC,0x044FF0], 0x7A156C: [0x044FF4], 0x7A1578: [0x044FF8], 0x7A1624: [0x044FFC,0x045000,0x045004,0x045008], 0x7A1630: [0x04500C], 0x7A16B8: [0x045010], 0x7A16C4: [0x045014], 0x7A16D0: [0x045018], 0x7A16DC: [0x04501C], 0x7A16E8: [0x045020], 0x7A1938: [0x045024,0x045028,0x04502C], 0x7A1944: [0x045030], 0x7A1950: [0x045034], 0x7A1A38: [0x045038,0x04503C,0x045040,0x045044], 0x7A1A44: [0x045048], 0x7A1AC0: [0x0452A4,0x0452A8,0x0452AC,0x0452B0,0x0452B4,0x0452C4,0x0452E4,0x0452E8,0x0452EC,0x0452F0,0x0452F4,0x04530C,0x045310,0x045314,0x045318,0x04531C,0x045320,0x045328,0x082554], 0x7A2104: [0x082678], 0x7A28BC: [0x0827C8], 0x7A2A1C: [0x082887], 0x7A2BA4: [0x0829B0], 0x7A2D0C: [0x082AEF], 0x7A2D4C: [0x082ABC], 0x7A2D98: [0x082BBB], 0x7A2DE4: [0x082B88], 0x7A2E30: [0x082C93], 0x7A2EEC: [0x082C60], 0x7A2F38: [0x082D48], 0x7A30E8: [0x082E1C], 0x7A32A8: [0x082E80], 0x7A3420: [0x082F98], 0x7A399C: [0x083154], 0x7A3E84: [0x0832AC], 0x7A40F8: [0x0833A8], 0x7A44F8: [0x083474], 0x7A47C0: [0x0835AC], 0x7A4CA4: [0x0836F8], 0x7A5354: [0x0838A0], 0x7A5954: [0x083AE4], 0x7A5B20: [0x083C9C], 0x7A5F1C: [0x083E0F], 0x7A60B8: [0x083E79], 0x7A6254: [0x083FC4], 0x7A63D8: [0x084080], 0x7A6748: [0x0841D0], 0x7A6864: [0x084270], 0x7A69E8: [0x0842D4], 0x7A6B50: [0x0843B8], 0x7A735C: [0x084520], 0x7A74D4: [0x0845C0], 0x7A795C: [0x085428], 0x7A7FB8: [0x085620], 0x7A830C: [0x085700], 0x7A84D0: [0x0857AC], 0x7A8720: [0x085874], 0x7A8A7C: [0x085A28], 0x7A8E08: [0x085AF4], 0x7A8F84: [0x085C20], 0x7A9374: [0x085D9C], 0x7A94AC: [0x085E80], 0x7A98A8: [0x085FD4], 0x7A9DE8: [0x0861F4], 0x7A9EC4: [0x0862F8], 0x7AA1E8: [0x086494], 0x7AA590: [0x086580], 0x7AA798: [0x08667B], 0x7AA814: [0x0867AC], 0x7AA980: [0x0868DB], 0x7AAAEC: [0x086990], 0x7AAC04: [0x086A6C], 0x7AADBC: [0x086B6F], 0x7AB20C: [0x086CA3], 0x7AB2D8: [0x086D08], 0x7AB514: [0x086D94,0x086E14], 0x7AB614: [0x086EE0], 0x7AB704: [0x086FD8], 0x7ABB3C: [0x08714C], 0x7ABF6C: [0x087294], 0x7AC404: [0x088368], 0x7AC514: [0x088474], 0x7AC890: [0x0885A0], 0x7AD2B0: [0x0886EF], 0x7AD680: [0x0887E8], 0x7ADAC0: [0x088948], 0x7ADC14: [0x0889F4], 0x7ADE68: [0x088ADC], 0x7AE550: [0x08906C], 0x7AE68C: [0x08915B], 0x7AE75C: [0x0891F0], 0x7AE9D8: [0x08933C], 0x7AF10C: [0x089400], 0x7AF65C: [0x0895E8], 0x7AFAC8: [0x0896AC], 0x7AFDE4: [0x089730], 0x7AFEA8: [0x0897E4], 0x7B04E0: [0x0899DC], 0x7B09D4: [0x089AFC], 0x7B0C28: [0x089BB0], 0x7B0F14: [0x089C14,0x089C94], 0x7B1248: [0x089D90], 0x7B167C: [0x089E14], 0x7B19C0: [0x089EC4], 0x7B1A74: [0x09A3D4], 0x7B1B3C: [0x089F78], 0x7B1C3C: [0x09A3E8], 0x7B1D04: [0x08A02C], 0x7B1DEC: [0x09A3FC], 0x7B1EB4: [0x08A0E0], 0x7B1F8C: [0x09A410], 0x7B2054: [0x08A194], 0x7B2404: [0x08A21C], 0x7B2590: [0x08AFAC], 0x7B30F4: [0x08B130], 0x7B3544: [0x08B200], 0x7B376C: [0x08B304], 0x7B3EF4: [0x08B418], 0x7B45B8: [0x08B574], 0x7B5008: [0x08B7EC], 0x7B5B1C: [0x08B9C4], 0x7B5C48: [0x08BAA8], 0x7B624C: [0x08BC54], 0x7B64E0: [0x08BD00], 0x7B6B7C: [0x08BDEC], 0x7B6ED4: [0x08BFAC], 0x7B73CC: [0x08C090], 0x7B77EC: [0x08C240], 0x7B7B70: [0x08C32F], 0x7B8178: [0x08C438], 0x7B82D0: [0x08C4BC], 0x7B85C4: [0x08C560], 0x7B867C: [0x08C5F8], 0x7B8BBC: [0x08C6FB], 0x7B8EEC: [0x08C773], 0x7B977C: [0x08C8D4,0x08C95A], 0x7B98C0: [0x08CA20], 0x7B9D44: [0x08CBA8], 0x7B9DD4: [0x08CC58], 0x7BA11C: [0x08D010], 0x7BA21C: [0x08D0C7], 0x7BA2D0: [0x08CCFF], 0x7BA39C: [0x08D01E], 0x7BA4B4: [0x08D0D7], 0x7BA568: [0x08CD6F], 0x7BA604: [0x08D02C], 0x7BA6D8: [0x08D0E7], 0x7BA78C: [0x08CDE4], 0x7BAB20: [0x08CEEC], 0x7BAD18: [0x08E72C], 0x7BAF5C: [0x08E828], 0x7BB338: [0x08E8F8], 0x7BB774: [0x08E9CC], 0x7BBC84: [0x08EAE8], 0x7BC220: [0x08ECB8], 0x7BCA38: [0x08EE40], 0x7BCD4C: [0x08F0DC], 0x7BCF60: [0x08F234], 0x7BD034: [0x08F30C], 0x7BD158: [0x08F4A4], 0x7BD2A8: [0x08F540], 0x7BD370: [0x08F60C], 0x7BD560: [0x08F6EC], 0x7BD61C: [0x08F798], 0x7BD6D8: [0x08F844], 0x7BD78C: [0x08F8F0], 0x7BD844: [0x08F9B8], 0x7BD990: [0x08FAAC], 0x7BDD24: [0x08FBBC], 0x7BE0F8: [0x08FD90], 0x7BE384: [0x08FEE4], 0x7BE758: [0x090037], 0x7BE7D4: [0x0900A0], 0x7BE9BC: [0x09010C,0x09018C], 0x7BEA38: [0x090268], 0x7BF0E8: [0x0906C8], 0x7BF3FC: [0x090758], 0x7BF658: [0x0907EC], 0x7BFB9C: [0x090978], 0x7BFE50: [0x090A60], 0x7C0074: [0x091ABC], 0x7C0B28: [0x091C1C], 0x7C0E74: [0x091D10], 0x7C13A4: [0x091E9C], 0x7C1CDC: [0x092020], 0x7C2104: [0x092110], 0x7C2408: [0x0921FC], 0x7C2914: [0x092358], 0x7C2CB0: [0x092490], 0x7C2F60: [0x09252C], 0x7C36E0: [0x092690], 0x7C3A34: [0x09270C,0x09279E], 0x7C3F74: [0x0928F4], 0x7C4198: [0x0929B0], 0x7C47A4: [0x092AC8], 0x7C4AF4: [0x092BCC], 0x7C540C: [0x092ED4], 0x7C58A8: [0x093040], 0x7C651C: [0x093313], 0x7C6F6C: [0x093467], 0x7C71B0: [0x093593], 0x7C76E0: [0x09369C], 0x7C8274: [0x0938B1], 0x7C8C8C: [0x093A48], 0x7C91B0: [0x093B44], 0x7C9694: [0x093C40], 0x7C9880: [0x093CC8], 0x7C9B30: [0x093D48], 0x7C9BA8: [0x093D78], 0x7C9BFC: [0x093DB0], 0x7C9D54: [0x093E50], 0x7C9ED4: [0x093F17], 0x7CA498: [], 0x7CA62C: [], 0x7CA7E0: [], 0x7CAA90: [], 0x7CAB0C: [], 0x7CABE4: [], 0x7CACC0: [], 0x7CAE88: [0x093FF0], 0x7CAFD8: [0x094078], 0x7CB0E8: [0x094103], 0x7CB188: [0x0941D3], 0x7CB268: [0x0942A7], 0x7CB308: [0x094377], 0x7CB3EC: [0x09444B], 0x7CB48C: [0x09451B], 0x7CB584: [0x0945E4], 0x7CB74C: [0x094918], 0x7CB910: [0x094A10], 0x7CC578: [0x094C54], 0x7CD2A0: [0x094E48], 0x7CD780: [0x094FA8], 0x7CDC1C: [0x09509C], 0x7CE114: [0x09515C], 0x7CE3C8: [0x095234], 0x7CE494: [0x0952A4], 0x7CE6B4: [0x0953F0], 0x7CEB8C: [0x095564], 0x7CF090: [0x095750], 0x7CF418: [0x0958F4], 0x7CFB78: [0x095CC4], 0x7CFBAC: [0x095DD0], 0x7CFC20: [0x095F0C], 0x7D01AC: [0x096114], 0x7D02B8: [0x09620F], 0x7D03E8: [0x0962D4], 0x7D0520: [0x0963F8], 0x7D07D8: [0x09661F], 0x7D081C: [0x096698], 0x7D08AC: [0x0967AC], 0x7D0AEC: [0x09690C], 0x7D0C30: [0x096970,0x0969F0], 0x7D0CB0: [0x096A9C], 0x7D0D10: [0x096BB4], 0x7D1114: [0x096E24], 0x7D120C: [0x096E84,0x096F04], 0x7D128C: [0x096FAC], 0x7D12F4: [0x097090], 0x7D1598: [0x0971B4], 0x7D1678: [0x097214,0x097294], 0x7D1720: [0x097424], 0x7D2274: [0x0979FC], 0x7D2C6C: [0x097B06,0x097CE8], 0x7D3680: [0x097E1B], 0x7D38BC: [0x097F37], 0x7D3AE4: [0x098098,0x09812E], 0x7D4204: [0x0983F0], 0x7D4824: [0x0986C8], 0x7D5248: [0x098894], 0x7D5DF4: [0x098AD0], 0x7D64F8: [0x098BD0], 0x7D65B8: [0x098CB0], 0x7D6604: [0x098D90], 0x7D6644: [0x098E78], 0x7D6684: [0x099107], 0x7D6DC0: [0x09921C], 0x7D7138: [0x099323], 0x7D7414: [0x0993E4], 0x7D7A84: [0x0994B0], 0x7D7FF0: [0x0995A3], 0x7D85EC: [0x0996AC,0x09972C], 0x7D8A2C: [0x0997C0,0x09983A], 0x7D8AFC: [0x084B70], 0x7D8C34: [0x084AA0], 0x7D8D0C: [0x0849D0], 0x7D8DFC: [0x084900], 0x7D8F70: [0x084830], 0x7D90B4: [0x084760], 0x7D91BC: [0x084690], 0x7D9338: [0x084C3B], 0x7D976C: [0x08776B,0x0879BB,0x087DF8,0x087E24,0x087E3C,0x142850], 0x7DA974: [0x08D9E3,0x08DCFB,0x08DFF8], 0x7DAC0C: [0x098F93], 0x7DBEB0: [0x08A5E8,0x08A6F4], 0x7E0384: [0x08CFCC], 0x7E0DFC: [0x090DE8,0x090E46,0x090E80,0x090EA4,0x090EE4], 0x7E1430: [0x090B00,0x090B61,0x090BDD], 0x7E1560: [0x09474C,0x0947BF,0x094803], 0x7E2358: [0x04A958,0x094688], 0x7E264C: [0x03B608,0x03B640,0x03BB3C,0x03BF40], 0x7E67FC: [0x13FE2C], 0x7E6A84: [0x13FE30], 0x7E8274: [0x13FE34], 0x7E84CC: [0x13FE38], 0x7E96DC: [0x13FE3C], 0x7E9948: [0x13FE40], 0x7EAA0C: [0x13FE44], 0x7EAD30: [0x13FE48], 0x7EBE88: [0x13FE4C,0x13FE54], 0x7EC194: [0x13FE50,0x13FE58], 0x7ED100: [0x1403B4], 0x7ED244: [0x141158], 0x7ED504: [0x14115C], 0x7EED68: [0x141778], 0x7EFCF4: [0x046B6C,0x046B7C,0x046BBC], 0x7EFF48: [0x046BAC], 0x7F01CC: [0x046B8C,0x046BEC,0x046C0C], 0x7F0420: [0x046B9C], 0x7F0668: [0x046BCC,0x046BDC], 0x7F08B0: [0x046BFC,0x046C7C], 0x7F0AFC: [0x046C1C,0x046C2C,0x046C3C,0x046C4C,0x046C5C], 0x7F0D64: [0x046C6C], 0x7F0FE8: [0x046C8C], 0x7F15A8: [0x03BB4C], 0x7F175C: [0x03BB48], 0x7F1970: [0x03BB40], 0x7F1D8C: [0x042054,0x0420E8], 0x7F1E24: [0x0420EC]} +ArchiveToSizeUncompFalzar = {0x021D88: 0x7, 0x6C580C: 0xFD6, 0x6C67E4: 0x34C, 0x6CB360: 0x81B, 0x6CF4AC: 0x5C, 0x6D5708: 0xDE5, 0x6EA94C: 0xA07, 0x6EB354: 0x562, 0x6EB8B8: 0x2814, 0x6EE0CC: 0x1408, 0x6EF4D4: 0x245, 0x6EF71C: 0x70, 0x6EF78C: 0xB72, 0x6F0300: 0x74, 0x6F0374: 0x105, 0x6F047C: 0x8FE, 0x6F0D7C: 0x5C3, 0x6F2E60: 0xA06, 0x6F3868: 0x6F1, 0x6F3F5C: 0x53B, 0x6F4498: 0xF34, 0x6F53CC: 0x465, 0x736D74: 0x34A, 0x7370C0: 0x105C, 0x73811C: 0x4AE, 0x73B9E0: 0x6F5, 0x73D108: 0x8F3, 0x73D9FC: 0x450, 0x73EA50: 0x275, 0x7DA85C: 0x431, 0x7DAC90: 0x1208, 0x7DBE98: 0x296, 0x7DC130: 0x5F, 0x7DCE1C: 0x429, 0x7DE48C: 0x220F, 0x7E0DEC: 0x56, 0x7E1718: 0x17B, 0x7E30A0: 0x658, 0x7E36F8: 0xE05, 0x7F2654: 0x1B4, 0x7F2808: 0xD4, 0x7F2A1C: 0x419, 0x7F2E38: 0x98, 0x7F2ED0: 0x98, 0x7F2F68: 0x407 } +ArchiveToSizeCompFalzar = {0x6C4B58: 0x457, 0x6CE724: 0x55, 0x6CE77C: 0x53, 0x6CEE84: 0x324, 0x6CF1A8: 0x301, 0x6CF618: 0x118, 0x6CF730: 0xFC, 0x6CF994: 0x164, 0x6CFAF8: 0x16B, 0x6D0460: 0xE2, 0x6D0544: 0xCD, 0x6D0614: 0x2B40, 0x6D3154: 0x5D5, 0x6D55C8: 0x140, 0x6D6974: 0x2F9, 0x6D6EE4: 0x4B, 0x6D6F30: 0x44B, 0x6D7578: 0x345, 0x6D78C0: 0x362, 0x6D7C24: 0x34D, 0x6D7F74: 0x34F, 0x6D82C4: 0x346, 0x6D860C: 0x33E, 0x6D894C: 0x331, 0x6D8FA4: 0xC1, 0x6D9068: 0x9A, 0x6DA1B8: 0x78B, 0x6DAE68: 0x1AA, 0x7385CC: 0x2DB, 0x7388A8: 0x27B, 0x738B24: 0x1A01, 0x73A528: 0x14B8, 0x73C0D8: 0x4CC, 0x73C5A4: 0xB64, 0x73DE4C: 0xC04, 0x73ECC8: 0x340, 0x73F008: 0x1F, 0x73F028: 0x1F, 0x73F048: 0x3E7, 0x73F430: 0x4D6, 0x73F908: 0x45C, 0x73FD64: 0x6B6, 0x74041C: 0x557, 0x740974: 0x51B, 0x740E90: 0x61C, 0x7414AC: 0x856, 0x741D04: 0x612, 0x742318: 0x5BB, 0x7428D4: 0x48D, 0x742D64: 0x655, 0x7433BC: 0x619, 0x7439D8: 0x594, 0x743F6C: 0x55C, 0x7444C8: 0x670, 0x744B38: 0x5C6, 0x745100: 0x74A, 0x74584C: 0x59F, 0x745DEC: 0x3B4, 0x7461A0: 0x12F, 0x7462D0: 0x121, 0x7463F4: 0xB5, 0x7464AC: 0x24A, 0x7466F8: 0x2CA, 0x7469C4: 0x6F, 0x746A34: 0xB4, 0x746AE8: 0x24A, 0x746D34: 0x101, 0x746E38: 0xB5, 0x746EF0: 0x24B, 0x74713C: 0xE9, 0x747228: 0x24A, 0x747474: 0x380, 0x7477F4: 0x539, 0x747D30: 0x91D, 0x748650: 0x8F1, 0x748F44: 0x5CD, 0x749514: 0x724, 0x749C38: 0x9FF, 0x74A638: 0xB1C, 0x74B154: 0x723, 0x74B878: 0x3BC, 0x74BC34: 0x99C, 0x74C5D0: 0xA65, 0x74D038: 0x712, 0x74D74C: 0x5A3, 0x74DCF0: 0x9ED, 0x74E6E0: 0x8FE, 0x74EFE0: 0x5E3, 0x74F5C4: 0x3BC, 0x74F980: 0x932, 0x7502B4: 0x8CB, 0x750B80: 0x5CD, 0x751150: 0x695, 0x7517E8: 0x98A, 0x752174: 0x6A2, 0x752818: 0x7A4, 0x752FBC: 0x5CD, 0x75358C: 0x9EA, 0x753F78: 0x6A6, 0x754620: 0x53, 0x754674: 0xA48, 0x7550BC: 0x6EA, 0x7557A8: 0x89, 0x755834: 0xA2, 0x7558D8: 0x333, 0x755C0C: 0xB, 0x755C18: 0x50A, 0x756124: 0x4C3, 0x7565E8: 0x4BC, 0x756AA4: 0x1F5, 0x756C9C: 0x890, 0x75752C: 0x64D, 0x757B7C: 0x49B, 0x758018: 0x3F5, 0x758410: 0x422, 0x758834: 0x2BC, 0x758AF0: 0x2A7, 0x758D98: 0x2D1, 0x75906C: 0x412, 0x759480: 0x3EF, 0x759870: 0x3A0, 0x759C10: 0x2E5, 0x759EF8: 0x3CB, 0x75A2C4: 0x651, 0x75A918: 0x74B, 0x75B064: 0x2A8, 0x75B30C: 0x1A3, 0x75B4B0: 0x484, 0x75B934: 0x380, 0x75BCB4: 0x1A6, 0x75BE5C: 0x121, 0x75BF80: 0x55, 0x75BFD8: 0x253, 0x75C22C: 0x289, 0x75C4B8: 0x383, 0x75C83C: 0x32B, 0x75CB68: 0x2A8, 0x75CE10: 0x1B4, 0x75CFC4: 0x235, 0x75D1FC: 0x3E3, 0x75D5E0: 0x191, 0x75D774: 0xB, 0x75D780: 0x7E, 0x75D800: 0x174, 0x75D974: 0x4A, 0x75D9C0: 0x4C, 0x75DA0C: 0x4C, 0x75DA58: 0x5E, 0x75DAB8: 0x5E, 0x75DB18: 0xC0, 0x75DBD8: 0x36, 0x75DC10: 0x38, 0x75DC48: 0x38, 0x75DC80: 0xCA, 0x75DD4C: 0xAC, 0x75DDF8: 0x85, 0x75DE80: 0x9F, 0x75DF20: 0xB, 0x75DF2C: 0xC, 0x75DF38: 0xC, 0x75DF44: 0xC, 0x75DF50: 0x26, 0x75DF78: 0x2A, 0x75DFA4: 0xC, 0x75DFB0: 0xC, 0x75DFBC: 0xC, 0x75DFC8: 0xC, 0x75DFD4: 0xC, 0x75DFE0: 0xC, 0x75DFEC: 0xC, 0x75DFF8: 0xFB, 0x75E0F4: 0xC, 0x75E100: 0x26A, 0x75E36C: 0xB, 0x75E378: 0x99, 0x75E414: 0x97, 0x75E4AC: 0x7D, 0x75E52C: 0x95, 0x75E5C4: 0xC, 0x75E5D0: 0xC, 0x75E5DC: 0xC, 0x75E5E8: 0xC, 0x75E5F4: 0xC, 0x75E600: 0xC, 0x75E60C: 0xC, 0x75E618: 0xC, 0x75E624: 0xC, 0x75E630: 0xC, 0x75E63C: 0xC, 0x75E648: 0xC, 0x75E654: 0xC, 0x75E660: 0xC, 0x75E66C: 0xC, 0x75E678: 0xC, 0x75E684: 0xC, 0x75E690: 0x24A, 0x75E8DC: 0x131, 0x75EA10: 0x626, 0x75F038: 0x3E9, 0x75F424: 0x411, 0x75F838: 0x27F, 0x75FAB8: 0x4B6, 0x75FF70: 0x289, 0x7601FC: 0x3E1, 0x7605E0: 0x330, 0x760910: 0x425, 0x760D38: 0x4FC, 0x761234: 0x461, 0x761698: 0x228, 0x7618C0: 0x849, 0x76210C: 0x325, 0x762434: 0xB62, 0x762F98: 0x49, 0x762FE4: 0xC, 0x762FF0: 0x82A, 0x76381C: 0x308, 0x763B24: 0x882, 0x7643A8: 0xC, 0x7643B4: 0xC, 0x7643C0: 0xC, 0x7643CC: 0xB, 0x7643D8: 0xB, 0x7643E4: 0xBC7, 0x764FAC: 0x941, 0x7658F0: 0xDC4, 0x7666B4: 0x546, 0x766BFC: 0x14B0, 0x7680AC: 0x4AB, 0x768558: 0x7D0, 0x768D28: 0x1C3, 0x768EEC: 0x259, 0x769148: 0x8F, 0x7691D8: 0xC, 0x7691E4: 0x7E, 0x769264: 0xC, 0x769270: 0xC, 0x76927C: 0x2D, 0x7692AC: 0x10E, 0x7693BC: 0xB, 0x7693C8: 0xB, 0x7693D4: 0xB, 0x7693E0: 0xD3, 0x7694B4: 0xB, 0x7694C0: 0x3EF, 0x7698B0: 0x2F5, 0x769BA8: 0x23D, 0x769DE8: 0x7CB, 0x76A5B4: 0xB27, 0x76B0DC: 0x1BE, 0x76B29C: 0x307, 0x76B5A4: 0x21D, 0x76B7C4: 0x1B2, 0x76B978: 0x3D9, 0x76BD54: 0x20D, 0x76BF64: 0x175, 0x76C0DC: 0x1CB, 0x76C2A8: 0x5D7, 0x76C880: 0x1B7, 0x76CA38: 0x1B0, 0x76CBE8: 0x12F, 0x76CD18: 0x145, 0x76CE60: 0x2F1, 0x76D154: 0x221, 0x76D378: 0x112, 0x76D48C: 0xF3, 0x76D580: 0x98, 0x76D618: 0x1C6, 0x76D7E0: 0x3A6, 0x76DB88: 0x2E5, 0x76DE70: 0x206, 0x76E078: 0xCA, 0x76E144: 0x3F3, 0x76E538: 0x15E, 0x76E698: 0xA1, 0x76E73C: 0x136, 0x76E874: 0x8C, 0x76E900: 0x561, 0x76EE64: 0x488, 0x76F2EC: 0x4F7, 0x76F7E4: 0x54C, 0x76FD30: 0xFA, 0x76FE2C: 0x257, 0x770084: 0x767, 0x7707EC: 0x1DF, 0x7709CC: 0x352, 0x770D20: 0x19D, 0x770EC0: 0x39B, 0x77125C: 0xC, 0x771268: 0x33, 0x77129C: 0x1D, 0x7712BC: 0xB, 0x7712C8: 0x57B, 0x771844: 0xC, 0x771850: 0xC, 0x77185C: 0x74D, 0x771FAC: 0xC, 0x771FB8: 0xC, 0x771FC4: 0xC, 0x771FD0: 0x9A3, 0x772974: 0x6F3, 0x773068: 0x6C5, 0x773730: 0xA3B, 0x77416C: 0x3C4, 0x774530: 0xA18, 0x774F48: 0x2C0, 0x775208: 0x474, 0x77567C: 0x4E4, 0x775B60: 0x29D, 0x775E00: 0xC20, 0x776A20: 0x22D, 0x776C50: 0x425, 0x777078: 0x3AD, 0x777428: 0x252, 0x77767C: 0xD82, 0x778400: 0x2EC, 0x7786EC: 0x124, 0x778810: 0x1E4, 0x7789F4: 0x14A, 0x778B40: 0x768, 0x7792A8: 0xB, 0x7792B4: 0xB, 0x7792C0: 0xB, 0x7792CC: 0xD, 0x7792DC: 0x83D, 0x779B1C: 0x40B, 0x779F28: 0x57D, 0x77A4A8: 0x354, 0x77A7FC: 0x1900, 0x77C0FC: 0x436, 0x77C534: 0x270, 0x77C7A4: 0x1A6, 0x77C94C: 0x446, 0x77CD94: 0xA3E, 0x77D7D4: 0xF7, 0x77D8CC: 0x1E6, 0x77DAB4: 0x4B8, 0x77DF6C: 0xD0, 0x77E03C: 0x239, 0x77E278: 0x161, 0x77E3DC: 0x176, 0x77E554: 0xB, 0x77E560: 0xB, 0x77E56C: 0xB3, 0x77E620: 0x7B7, 0x77EDD8: 0x685, 0x77F460: 0x131, 0x77F594: 0xB6D, 0x780104: 0x61F, 0x780724: 0x1AA, 0x7808D0: 0x775, 0x781048: 0x384, 0x7813CC: 0x196, 0x781564: 0x21D, 0x781784: 0x392, 0x781B18: 0x19B, 0x781CB4: 0x21F, 0x781ED4: 0x10E, 0x781FE4: 0x63, 0x782048: 0x13, 0x78205C: 0x156, 0x7821B4: 0x132, 0x7822E8: 0xB, 0x7822F4: 0x11E, 0x782414: 0xB, 0x782420: 0x143, 0x782564: 0x4D, 0x7825B4: 0xC, 0x7825C0: 0xB, 0x7825CC: 0xA1F, 0x782FEC: 0xEE2, 0x783ED0: 0x73C, 0x78460C: 0x2FA, 0x784908: 0x10B7, 0x7859C0: 0x634, 0x785FF4: 0x6A0, 0x786694: 0x56F, 0x786C04: 0x29B, 0x786EA0: 0x843, 0x7876E4: 0x585, 0x787C6C: 0x721, 0x788390: 0xBE7, 0x788F78: 0x344, 0x7892BC: 0x4C3, 0x789780: 0x28F, 0x789A10: 0x5F4, 0x78A004: 0x4DA, 0x78A4E0: 0x3B6, 0x78A898: 0xBD3, 0x78B46C: 0x222, 0x78B690: 0x5D2, 0x78BC64: 0x5AD, 0x78C214: 0x3B2, 0x78C5C8: 0x850, 0x78CE18: 0x21E, 0x78D038: 0x50B, 0x78D544: 0x58E, 0x78DAD4: 0x332, 0x78DE08: 0x91E, 0x78E728: 0x316, 0x78EA40: 0x6CE, 0x78F110: 0x252, 0x78F364: 0x6E7, 0x78FA4C: 0x57B, 0x78FFC8: 0x53E, 0x790508: 0x233, 0x79073C: 0xC8A, 0x7913C8: 0x239, 0x791604: 0x1D0, 0x7917D4: 0xA3, 0x791878: 0x193, 0x791A0C: 0x1B, 0x791A28: 0x7E, 0x791AA8: 0x74A, 0x7921F4: 0x284, 0x792478: 0x1954, 0x793DCC: 0x838, 0x794604: 0x2B3, 0x7948B8: 0x607, 0x794EC0: 0x373, 0x795234: 0x48D, 0x7956C4: 0x372, 0x795A38: 0xC, 0x795A44: 0x314, 0x795D58: 0xBC, 0x795E14: 0x680, 0x796494: 0xC, 0x7964A0: 0xC, 0x7964AC: 0x1B, 0x7964C8: 0x475, 0x796940: 0xC, 0x79694C: 0x8D, 0x7969DC: 0x107, 0x796AE4: 0x721, 0x797208: 0xC, 0x797214: 0xC, 0x797220: 0xED, 0x797310: 0x17B, 0x79748C: 0xC, 0x797498: 0xC, 0x7974A4: 0xC, 0x7974B0: 0x51B, 0x7979CC: 0x24, 0x7979F0: 0xC, 0x7979FC: 0xC, 0x797A08: 0xC, 0x797A14: 0xB, 0x797A20: 0x450, 0x797E70: 0xB, 0x797E7C: 0xC, 0x797E88: 0xC, 0x797E94: 0x415, 0x7982AC: 0xC, 0x7982B8: 0xB, 0x7982C4: 0xC, 0x7982D0: 0xC, 0x7982DC: 0x196, 0x798474: 0xB, 0x798480: 0xB, 0x79848C: 0xC, 0x798498: 0xC, 0x7984A4: 0x1B9, 0x798660: 0x30C, 0x79896C: 0xC, 0x798978: 0xC, 0x798984: 0xC, 0x798990: 0xC, 0x79899C: 0xC, 0x7989A8: 0xC, 0x7989B4: 0xC, 0x7989C0: 0xC, 0x7989CC: 0xC, 0x7989D8: 0xC, 0x7989E4: 0x141, 0x798B28: 0x3AF, 0x798ED8: 0xC, 0x798EE4: 0x5BF, 0x7994A4: 0xB, 0x7994B0: 0xC, 0x7994BC: 0x60, 0x79951C: 0xB, 0x799528: 0xC, 0x799534: 0x1D3, 0x799708: 0x3CB, 0x799AD4: 0xC, 0x799AE0: 0x37C, 0x799E5C: 0xC, 0x799E68: 0x3BE, 0x79A228: 0x64, 0x79A28C: 0x3B0, 0x79A63C: 0xC, 0x79A648: 0xC, 0x79A654: 0xC, 0x79A660: 0xC, 0x79A66C: 0x6F, 0x79A6DC: 0xC, 0x79A6E8: 0x1B, 0x79A704: 0x5F, 0x79A764: 0xC, 0x79A770: 0xC, 0x79A77C: 0x332, 0x79AAB0: 0x1B, 0x79AACC: 0x48E, 0x79AF5C: 0xC, 0x79AF68: 0x323, 0x79B28C: 0xC, 0x79B298: 0x1B, 0x79B2B4: 0xCB7, 0x79BF6C: 0x792, 0x79C700: 0xC, 0x79C70C: 0x1B, 0x79C728: 0xA07, 0x79D130: 0xC, 0x79D13C: 0x1B, 0x79D158: 0x8EC, 0x79DA44: 0xC, 0x79DA50: 0xC, 0x79DA5C: 0xC, 0x79DA68: 0xC, 0x79DA74: 0x959, 0x79E3D0: 0xC, 0x79E3DC: 0xC, 0x79E3E8: 0xC, 0x79E3F4: 0xCE, 0x79E4C4: 0xAE, 0x79E574: 0xC, 0x79E580: 0xC, 0x79E58C: 0xC, 0x79E598: 0x91, 0x79E62C: 0xB, 0x79E638: 0xC, 0x79E644: 0xC, 0x79E650: 0xC, 0x79E65C: 0x51B, 0x79EB78: 0xB, 0x79EB84: 0xB, 0x79EB90: 0xC, 0x79EB9C: 0xC, 0x79EBA8: 0x5EA, 0x79F194: 0xB, 0x79F1A0: 0xC, 0x79F1AC: 0xC, 0x79F1B8: 0x413, 0x79F5CC: 0xB, 0x79F5D8: 0xB, 0x79F5E4: 0xC, 0x79F5F0: 0xC, 0x79F5FC: 0xA2, 0x79F6A0: 0x93, 0x79F734: 0xC, 0x79F740: 0x3D5, 0x79FB18: 0xC, 0x79FB24: 0x275, 0x79FD9C: 0xC, 0x79FDA8: 0xC, 0x79FDB4: 0x322, 0x7A00D8: 0x35C, 0x7A0434: 0xC, 0x7A0440: 0xC, 0x7A044C: 0x73, 0x7A04C0: 0xC, 0x7A04CC: 0xC, 0x7A04D8: 0xC, 0x7A04E4: 0xFA, 0x7A05E0: 0xB5, 0x7A0698: 0xC, 0x7A06A4: 0x5B, 0x7A0700: 0xCE, 0x7A07D0: 0xC, 0x7A07DC: 0x2CC, 0x7A0AA8: 0x6B, 0x7A0B14: 0xC, 0x7A0B20: 0x68, 0x7A0B88: 0x8F, 0x7A0C18: 0xC, 0x7A0C24: 0x2CE, 0x7A0EF4: 0xC, 0x7A0F00: 0xC, 0x7A0F0C: 0xAC, 0x7A0FB8: 0xC, 0x7A0FC4: 0xC, 0x7A0FD0: 0xA6, 0x7A1078: 0xC, 0x7A1084: 0xC, 0x7A1090: 0x8D, 0x7A1120: 0xC, 0x7A112C: 0xC, 0x7A1138: 0xC, 0x7A1144: 0x42A, 0x7A1570: 0xC, 0x7A157C: 0xC, 0x7A1588: 0xC, 0x7A1594: 0xC, 0x7A15A0: 0x720, 0x7A1CC0: 0xC, 0x7A1CCC: 0xC, 0x7A1CD8: 0xC, 0x7A1CE4: 0x20D, 0x7A1EF4: 0xC, 0x7A1F00: 0xC, 0x7A1F0C: 0xC, 0x7A1F18: 0x522, 0x7A243C: 0xC, 0x7A2448: 0xC, 0x7A2454: 0xC, 0x7A2460: 0x552, 0x7A29B4: 0xC, 0x7A29C0: 0xC, 0x7A29CC: 0xC, 0x7A29D8: 0x145, 0x7A2B20: 0xC, 0x7A2B2C: 0xC, 0x7A2B38: 0xC, 0x7A2B44: 0xC, 0x7A2B50: 0x9C, 0x7A2BEC: 0xC, 0x7A2BF8: 0xC, 0x7A2C04: 0x561, 0x7A3168: 0xB, 0x7A3174: 0xB, 0x7A3180: 0x4A3, 0x7A3624: 0xC, 0x7A3630: 0xC, 0x7A363C: 0xAB, 0x7A36E8: 0xC, 0x7A36F4: 0x87, 0x7A377C: 0xC, 0x7A3788: 0xC, 0x7A3794: 0xC, 0x7A37A0: 0xC, 0x7A37AC: 0x24E, 0x7A39FC: 0xC, 0x7A3A08: 0xC, 0x7A3A14: 0xE8, 0x7A3AFC: 0xC, 0x7A3B08: 0x7C, 0x7A3B84: 0x643, 0x7A41C8: 0x7B5, 0x7A4980: 0x15E, 0x7A4AE0: 0x186, 0x7A4C68: 0x167, 0x7A4DD0: 0x3F, 0x7A4E10: 0x4C, 0x7A4E5C: 0x49, 0x7A4EA8: 0x4C, 0x7A4EF4: 0xBC, 0x7A4FB0: 0x4C, 0x7A4FFC: 0x1AF, 0x7A51AC: 0x1BD, 0x7A536C: 0x175, 0x7A54E4: 0x57B, 0x7A5A60: 0x4E8, 0x7A5F48: 0x272, 0x7A61BC: 0x400, 0x7A65BC: 0x2C8, 0x7A6884: 0x4E2, 0x7A6D68: 0x6B0, 0x7A7418: 0x5FF, 0x7A7A18: 0x1CC, 0x7A7BE4: 0x3FA, 0x7A7FE0: 0x19B, 0x7A817C: 0x199, 0x7A8318: 0x182, 0x7A849C: 0x36D, 0x7A880C: 0x11B, 0x7A8928: 0x183, 0x7A8AAC: 0x168, 0x7A8C14: 0x80A, 0x7A9420: 0x176, 0x7A9598: 0x487, 0x7A9A20: 0x659, 0x7AA07C: 0x351, 0x7AA3D0: 0x1C2, 0x7AA594: 0x24E, 0x7AA7E4: 0x35C, 0x7AAB40: 0x38B, 0x7AAECC: 0x17B, 0x7AB048: 0x3F0, 0x7AB438: 0x137, 0x7AB570: 0x3FC, 0x7AB96C: 0x540, 0x7ABEAC: 0xDA, 0x7ABF88: 0x323, 0x7AC2AC: 0x3A6, 0x7AC654: 0x206, 0x7AC85C: 0x7A, 0x7AC8D8: 0x16A, 0x7ACA44: 0x16C, 0x7ACBB0: 0x115, 0x7ACCC8: 0x1B6, 0x7ACE80: 0x44D, 0x7AD2D0: 0xCC, 0x7AD39C: 0x23C, 0x7AD5D8: 0xFD, 0x7AD6D8: 0xED, 0x7AD7C8: 0x435, 0x7ADC00: 0x42D, 0x7AE030: 0x495, 0x7AE4C8: 0x110, 0x7AE5D8: 0x37A, 0x7AE954: 0xA1D, 0x7AF374: 0x3CE, 0x7AF744: 0x43E, 0x7AFB84: 0x153, 0x7AFCD8: 0x254, 0x7AFF2C: 0x6E7, 0x7B0614: 0x13C, 0x7B0750: 0xCF, 0x7B0820: 0x27A, 0x7B0A9C: 0x733, 0x7B11D0: 0x54F, 0x7B1720: 0x46A, 0x7B1B8C: 0x31C, 0x7B1EA8: 0xC3, 0x7B1F6C: 0x636, 0x7B25A4: 0x4F4, 0x7B2A98: 0x254, 0x7B2CEC: 0x2E9, 0x7B2FD8: 0x332, 0x7B330C: 0x3DD, 0x7B36EC: 0x317, 0x7B3A04: 0x307, 0x7B3D0C: 0x163, 0x7B3E70: 0x33B, 0x7B41AC: 0x3F6, 0x7B45A4: 0x18B, 0x7B4730: 0xB64, 0x7B5294: 0x450, 0x7B56E4: 0x225, 0x7B590C: 0x786, 0x7B6094: 0x6C3, 0x7B6758: 0xA4F, 0x7B71A8: 0xB12, 0x7B7CBC: 0x12A, 0x7B7DE8: 0x601, 0x7B83EC: 0x293, 0x7B8680: 0x699, 0x7B8D1C: 0x356, 0x7B9074: 0x4F6, 0x7B956C: 0x41E, 0x7B998C: 0x384, 0x7B9D10: 0x607, 0x7BA318: 0x155, 0x7BA470: 0x2F4, 0x7BA764: 0xB6, 0x7BA81C: 0x53E, 0x7BAD5C: 0x32E, 0x7BB08C: 0x890, 0x7BB91C: 0x141, 0x7BBA60: 0x484, 0x7BBEE4: 0x8E, 0x7BBF74: 0x14A, 0x7BC0C0: 0x32A, 0x7BC3EC: 0xD7, 0x7BC4C4: 0xC7, 0x7BC58C: 0xD2, 0x7BC660: 0x267, 0x7BC8C8: 0x17B, 0x7BCA44: 0x241, 0x7BCC88: 0x3D9, 0x7BD064: 0x43A, 0x7BD4A0: 0x510, 0x7BD9B0: 0x59A, 0x7BDF4C: 0x816, 0x7BE764: 0x314, 0x7BEA78: 0x214, 0x7BEC8C: 0xD2, 0x7BED60: 0x124, 0x7BEE84: 0x14D, 0x7BEFD4: 0xC5, 0x7BF09C: 0x1EE, 0x7BF28C: 0xBB, 0x7BF348: 0xBA, 0x7BF404: 0xB4, 0x7BF4B8: 0xB5, 0x7BF570: 0x14C, 0x7BF6BC: 0x392, 0x7BFA50: 0x3D4, 0x7BFE24: 0x289, 0x7C00B0: 0x3D1, 0x7C0484: 0x7C, 0x7C0500: 0x1E8, 0x7C06E8: 0x7A, 0x7C0764: 0x6AD, 0x7C0E14: 0x33B, 0x7C1150: 0x262, 0x7C13B4: 0x1F1, 0x7C15A8: 0xAB1, 0x7C205C: 0x349, 0x7C23A8: 0x530, 0x7C28D8: 0x937, 0x7C3210: 0x427, 0x7C3638: 0x301, 0x7C393C: 0x50A, 0x7C3E48: 0x39A, 0x7C41E4: 0x2AE, 0x7C4494: 0x780, 0x7C4C14: 0x352, 0x7C4F68: 0x53D, + 0x7C54A8: 0x223, 0x7C56CC: 0x60B, 0x7C5CD8: 0x34F, 0x7C6028: 0x918, 0x7C6940: 0x499, 0x7C6DDC: 0xC72, 0x7C7A50: 0xA4D, 0x7C84A0: 0x242, 0x7C86E4: 0x530, 0x7C8C14: 0xB91, 0x7C97A8: 0xA15, 0x7CA1C0: 0x521, 0x7CA6E4: 0x4E3, 0x7CABC8: 0x29F, 0x7CAE68: 0x1FF, 0x7CB068: 0x157, 0x7CB1C0: 0x236, 0x7CB3F8: 0x5C4, 0x7CB9BC: 0x193, 0x7CBB50: 0x1B1, 0x7CBD04: 0x2B0, 0x7CBFB4: 0x79, 0x7CC030: 0xD5, 0x7CC108: 0xD9, 0x7CC1E4: 0x1C6, 0x7CC3AC: 0x150, 0x7CC4FC: 0x10D, 0x7CC60C: 0x9E, 0x7CC6AC: 0xDF, 0x7CC78C: 0x9E, 0x7CC82C: 0xE2, 0x7CC910: 0x9E, 0x7CC9B0: 0xF6, 0x7CCAA8: 0x1C7, 0x7CCC70: 0x1C1, 0x7CCE34: 0xC68, 0x7CDA9C: 0xD28, 0x7CE7C4: 0x4DF, 0x7CECA4: 0x49B, 0x7CF140: 0x4F8, 0x7CF638: 0x2B3, 0x7CF8EC: 0xC9, 0x7CF9B8: 0x21E, 0x7CFBD8: 0x4D8, 0x7D00B0: 0x502, 0x7D05B4: 0x386, 0x7D093C: 0x75D, 0x7D109C: 0x33, 0x7D10D0: 0x73, 0x7D1144: 0x58B, 0x7D16D0: 0x10C, 0x7D17DC: 0x12D, 0x7D190C: 0x137, 0x7D1A44: 0x2B5, 0x7D1CFC: 0x43, 0x7D1D40: 0x8D, 0x7D1DD0: 0x23D, 0x7D2010: 0x142, 0x7D2154: 0x7F, 0x7D21D4: 0x60, 0x7D2234: 0x403, 0x7D2638: 0xF6, 0x7D2730: 0x7D, 0x7D27B0: 0x66, 0x7D2818: 0x2A3, 0x7D2ABC: 0xE0, 0x7D2B9C: 0xA6, 0x7D2C44: 0xB54, 0x7D3798: 0x9F5, 0x7D4190: 0xA11, 0x7D4BA4: 0x23C, 0x7D4DE0: 0x227, 0x7D5008: 0x71E, 0x7D5728: 0x61E, 0x7D5D48: 0xA24, 0x7D676C: 0xBA9, 0x7D7318: 0x704, 0x7D7A1C: 0xBD, 0x7D7ADC: 0x4B, 0x7D7B28: 0x3D, 0x7D7B68: 0x3F, 0x7D7BA8: 0x73A, 0x7D82E4: 0x375, 0x7D865C: 0x2D9, 0x7D8938: 0x66F, 0x7D8FA8: 0x569, 0x7D9514: 0x5FA, 0x7D9B10: 0x440, 0x7D9F50: 0xCF, 0x7DA020: 0x135, 0x7DA158: 0xD6, 0x7DA230: 0xF0, 0x7DA320: 0x174, 0x7DA494: 0x142, 0x7DA5D8: 0x106, 0x7DA6E0: 0x179, 0x7E78A8: 0x286, 0x7E7B30: 0x17EE, 0x7E9320: 0x256, 0x7E9578: 0x1210, 0x7EA788: 0x26A, 0x7EA9F4: 0x10C2, 0x7EBAB8: 0x322, 0x7EBDDC: 0x1155, 0x7ECF34: 0x30B, 0x7ED240: 0xF69, 0x7EE1AC: 0x144, 0x7EE2F0: 0x2BD, 0x7EE5B0: 0xFF3, 0x7EFE14: 0x257, 0x7F0DA0: 0x252, 0x7F0FF4: 0x283, 0x7F1278: 0x254, 0x7F14CC: 0x245, 0x7F1714: 0x246, 0x7F195C: 0x249, 0x7F1BA8: 0x268, 0x7F1E10: 0x284, 0x7F2094: 0x465 } +ArchiveToReferencesFalzar = {0x021D88: [0x021D80], 0x6C4B58: [0x1387C4], 0x6C580C: [0x04AF1C,0x099EB4,0x09A074,0x09A100,0x09A3AC,0x09A400,0x09A448,0x09A620,0x09A780,0x09A894,0x09A8BE], 0x6C67E4: [0x09AD7C], 0x6CB360: [0x033F34,0x11F0C0], 0x6CE724: [0x1238E4,0x123910], 0x6CE77C: [0x1238E8,0x1238EC,0x1238F0,0x1238F4,0x1238F8,0x1238FC,0x123900,0x123904,0x123908,0x12390C,0x123914], 0x6CEE84: [0x133F30,0x133F5C], 0x6CF1A8: [0x133F34,0x133F38,0x133F3C,0x133F40,0x133F44,0x133F48,0x133F4C,0x133F50,0x133F54,0x133F58,0x133F60], 0x6CF4AC: [0x042074,0x04A22C,0x119080,0x11AA88,0x11AC64,0x120340,0x130238], 0x6CF618: [0x132D18,0x132D44], 0x6CF730: [0x132D1C,0x132D20,0x132D24,0x132D28,0x132D2C,0x132D30,0x132D34,0x132D38,0x132D3C,0x132D40,0x132D48], 0x6CF994: [0x124410,0x12443C], 0x6CFAF8: [0x124414,0x124418,0x12441C,0x124420,0x124424,0x124428,0x12442C,0x124430,0x124434,0x124438,0x124440], 0x6D0460: [0x127D38,0x127D64], 0x6D0544: [0x127D3C,0x127D40,0x127D44,0x127D48,0x127D4C,0x127D50,0x127D54,0x127D58,0x127D5C,0x127D60,0x127D68], 0x6D0614: [0x127DF0], 0x6D3154: [0x127E68], 0x6D55C8: [0x135D48], 0x6D5708: [0x1376B4], 0x6D6974: [0x02B0DC,0x128FD4], 0x6D6EE4: [0x125434], 0x6D6F30: [0x12541C], 0x6D7578: [0x127120,0x127124,0x127128,0x12712C,0x127130,0x127134,0x12714C], 0x6D78C0: [0x127138], 0x6D7C24: [0x12713C], 0x6D7F74: [0x127140], 0x6D82C4: [0x127144], 0x6D860C: [0x127148], 0x6D894C: [0x127150], 0x6D8FA4: [0x137B2C,0x137B58], 0x6D9068: [0x137B30,0x137B34,0x137B38,0x137B3C,0x137B40,0x137B44,0x137B48,0x137B4C,0x137B50,0x137B54,0x137B5C], 0x6DA1B8: [0x04A774,0x12AFE4,0x12AFE8,0x12AFEC,0x12AFF0,0x12AFF4,0x12AFF8,0x12AFFC,0x12B000,0x12B004,0x12B008,0x12B00C,0x12B010,0x12B014], 0x6DAE68: [], 0x6EA94C: [0x027D2C,0x02C7C4,0x042068,0x042080,0x0476E4,0x120178,0x120218,0x120270,0x1263B8], 0x6EB354: [0x027D30,0x02C7C8,0x04206C,0x0476E8,0x12017C,0x12021C,0x120274,0x1263BC], 0x6EB8B8: [0x027D50,0x11968C,0x11A08C], 0x6EE0CC: [0x027D54,0x119690,0x11A090], 0x6EF4D4: [0x028B68], 0x6EF71C: [0x02C7D8,0x042070,0x0476F4], 0x6EF78C: [0x027008,0x02B5F8], 0x6F0300: [0x01D3F4,0x02B9AC], 0x6F0374: [0x01D1C4,0x01E438], 0x6F047C: [0x00ECEC,0x02B3F0], 0x6F0D7C: [0x00ECF0,0x137D94], 0x6F2E60: [0x027BD0], 0x6F3868: [0x027BD4], 0x6F3F5C: [0x00960C,0x027BD8], 0x6F4498: [0x009610,0x027BDC,0x027BE0,0x027BE4], 0x6F53CC: [0x009614,0x027BE8], 0x736D74: [0x02AD78,0x02B3DC,0x02C6AC,0x0E6920], 0x7370C0: [0x008014,0x009618,0x0099A0,0x009C90,0x009FC8], 0x73811C: [0x02C324], 0x7385CC: [0x098828], 0x7388A8: [0x0988EC], 0x738B24: [0x099294], 0x73A528: [0x099298], 0x73B9E0: [0x038F8C,0x03CCBC,0x03CD70,0x098BCB,0x099DC8,0x09AD8C,0x09AE6C,0x09C07B,0x09C362,0x09CEC3], 0x73C0D8: [0x09B5B5,0x09BBED], 0x73C5A4: [], 0x73D108: [0x099E16,0x09F0DC], 0x73D9FC: [0x042064,0x04764C,0x124820,0x128A94], 0x73DE4C: [0x04721C,0x128984], 0x73EA50: [0x042078,0x04207C,0x047748,0x118194,0x118CDC,0x119A34,0x11B77C,0x1202AC,0x127750,0x1277D0,0x131538], 0x73ECC8: [0x047224,0x12EA9C,0x135D3C], 0x73F008: [0x044610], 0x73F028: [0x044614], 0x73F048: [0x044618], 0x73F430: [0x04461C], 0x73F908: [0x0446AC], 0x73FD64: [0x0446B0], 0x74041C: [0x0446B4], 0x740974: [0x0446B8], 0x740E90: [0x0447F0], 0x7414AC: [0x0447F4], 0x741D04: [0x0447F8], 0x742318: [0x0447FC], 0x7428D4: [0x04488C], 0x742D64: [0x044890], 0x7433BC: [0x044894], 0x7439D8: [0x044898], 0x743F6C: [0x044928,0x04492C], 0x7444C8: [0x044930], 0x744B38: [0x044934], 0x745100: [0x0449A8,0x0449AC,0x0449B0], 0x74584C: [0x0449B4], 0x745DEC: [0x044A60,0x044A64,0x044A68,0x044A6C], 0x7461A0: [0x044AA8], 0x7462D0: [0x044AAC], 0x7463F4: [0x044AB0], 0x7464AC: [0x044AB4], 0x7466F8: [0x044B0C], 0x7469C4: [0x044B10], 0x746A34: [0x044B14], 0x746AE8: [0x044B18], 0x746D34: [0x044B70,0x044B74], 0x746E38: [0x044B78], 0x746EF0: [0x044B7C], 0x74713C: [0x044BD4,0x044BD8,0x044BDC], 0x747228: [0x044BE0], 0x747474: [0x044C70,0x044C74,0x044C78,0x044C7C], 0x7477F4: [0x044D1C], 0x747D30: [0x044D20], 0x748650: [0x044D24], 0x748F44: [0x044D28], 0x749514: [0x044EEC], 0x749C38: [0x044EF0], 0x74A638: [0x044EF4], 0x74B154: [0x044EF8], 0x74B878: [0x0450BC], 0x74BC34: [0x0450C0], 0x74C5D0: [0x0450C4], 0x74D038: [0x0450C8], 0x74D74C: [0x045120], 0x74DCF0: [0x045124], 0x74E6E0: [0x045128], 0x74EFE0: [0x04512C], 0x74F5C4: [0x045184], 0x74F980: [0x045188], 0x7502B4: [0x04518C], 0x750B80: [0x045190], 0x751150: [0x0451CC,0x0451D0], 0x7517E8: [0x0451D4], 0x752174: [0x0451D8], 0x752818: [0x045214,0x045218,0x04521C], 0x752FBC: [0x045220], 0x75358C: [0x045278,0x04527C,0x045280], 0x753F78: [0x045284], 0x754620: [0x0452F8,0x0452FC], 0x754674: [0x045300], 0x7550BC: [0x045304], 0x7557A8: [0x04535C,0x045360,0x045364], 0x755834: [0x045368], 0x7558D8: [0x044608], 0x755C0C: [0x04460C], 0x755C18: [0x044698], 0x756124: [0x04469C], 0x7565E8: [0x0446A0], 0x756AA4: [0x0446A4], 0x756C9C: [0x0446A8], 0x75752C: [0x0447C4], 0x757B7C: [0x0447C8], 0x758018: [0x0447CC], 0x758410: [0x0447D0], 0x758834: [0x0447D4], 0x758AF0: [0x0447D8], 0x758D98: [0x0447DC], 0x75906C: [0x0447E0], 0x759480: [0x0447E4], 0x759870: [0x0447E8], 0x759C10: [0x0447EC], 0x759EF8: [0x044878], 0x75A2C4: [0x04487C], 0x75A918: [0x044880], 0x75B064: [0x044884], 0x75B30C: [0x044888], 0x75B4B0: [0x044914], 0x75B934: [0x044918], 0x75BCB4: [0x04491C], 0x75BE5C: [0x044920], 0x75BF80: [0x044924], 0x75BFD8: [0x044998], 0x75C22C: [0x04499C], 0x75C4B8: [0x0449A0], 0x75C83C: [0x0449A4], 0x75CB68: [0x044A48], 0x75CE10: [0x044A4C], 0x75CFC4: [0x044A50], 0x75D1FC: [0x044A54], 0x75D5E0: [0x044A58], 0x75D774: [0x044A5C], 0x75D780: [0x044AA0], 0x75D800: [0x044AA4], 0x75D974: [0x044B00], 0x75D9C0: [0x044B04], 0x75DA0C: [0x044B08], 0x75DA58: [0x044B64], 0x75DAB8: [0x044B68], 0x75DB18: [0x044B6C], 0x75DBD8: [0x044BC8], 0x75DC10: [0x044BCC], 0x75DC48: [0x044BD0], 0x75DC80: [0x044C5C], 0x75DD4C: [0x044C60], 0x75DDF8: [0x044C64], 0x75DE80: [0x044C68], 0x75DF20: [0x044C6C], 0x75DF2C: [0x044D00], 0x75DF38: [0x044D04], 0x75DF44: [0x044D0C], 0x75DF50: [0x044D14], 0x75DF78: [0x044D18], 0x75DFA4: [0x044EAC], 0x75DFB0: [0x044EB0], 0x75DFBC: [0x044EB4], 0x75DFC8: [0x044EB8], 0x75DFD4: [0x044EBC], 0x75DFE0: [0x044EC0], 0x75DFEC: [0x044EC4], 0x75DFF8: [0x044EC8], 0x75E0F4: [0x044ECC], 0x75E100: [0x044ED0], 0x75E36C: [0x044ED4], 0x75E378: [0x044ED8], 0x75E414: [0x044EDC], 0x75E4AC: [0x044EE0], 0x75E52C: [0x044EE4], 0x75E5C4: [0x044EE8], 0x75E5D0: [0x04507C], 0x75E5DC: [0x045080], 0x75E5E8: [0x045084], 0x75E5F4: [0x045088], 0x75E600: [0x04508C], 0x75E60C: [0x045090], 0x75E618: [0x045094], 0x75E624: [0x045098], 0x75E630: [0x04509C], 0x75E63C: [0x0450A0], 0x75E648: [0x0450A4], 0x75E654: [0x0450A8], 0x75E660: [0x0450AC], 0x75E66C: [0x0450B0], 0x75E678: [0x0450B4], 0x75E684: [0x0450B8], 0x75E690: [0x045114], 0x75E8DC: [0x045118], 0x75EA10: [0x04511C], 0x75F038: [0x045178], 0x75F424: [0x04517C], 0x75F838: [0x045180], 0x75FAB8: [0x0451C4], 0x75FF70: [0x0451C8], 0x7601FC: [0x04520C], 0x7605E0: [0x045210], 0x760910: [0x04526C], 0x760D38: [0x045270], 0x761234: [0x045274], 0x761698: [0x0452E8], 0x7618C0: [0x0452EC], 0x76210C: [0x0452F0], 0x762434: [0x045354], 0x762F98: [0x0445E0], 0x762FE4: [0x0445E4], 0x762FF0: [0x0445E8], 0x76381C: [0x0445EC], 0x763B24: [0x0445F0], 0x7643A8: [0x0445F4], 0x7643B4: [0x0445F8], 0x7643C0: [0x0445FC], 0x7643CC: [0x044600], 0x7643D8: [0x044604], 0x7643E4: [0x044634], 0x764FAC: [0x044638], 0x7658F0: [0x04463C], 0x7666B4: [0x044640], 0x766BFC: [0x044644], 0x7680AC: [0x044648], 0x768558: [0x04464C], 0x768D28: [0x044650], 0x768EEC: [0x044654], 0x769148: [0x044658], 0x7691D8: [0x04465C], 0x7691E4: [0x044660], 0x769264: [0x044664], 0x769270: [0x044668], 0x76927C: [0x04466C], 0x7692AC: [0x044670], 0x7693BC: [0x044674], 0x7693C8: [0x044678], 0x7693D4: [0x04467C], 0x7693E0: [0x044680], 0x7694B4: [0x044684], 0x7694C0: [0x044688], 0x7698B0: [0x04468C], 0x769BA8: [0x044690], 0x769DE8: [0x044694], 0x76A5B4: [0x0446E8], 0x76B0DC: [0x0446EC], 0x76B29C: [0x0446F0], 0x76B5A4: [0x0446F4], 0x76B7C4: [0x0446F8], 0x76B978: [0x0446FC], 0x76BD54: [0x044700], 0x76BF64: [0x044704], 0x76C0DC: [0x044708], 0x76C2A8: [0x04470C], 0x76C880: [0x044710], 0x76CA38: [0x044714], 0x76CBE8: [0x044718], 0x76CD18: [0x04471C], 0x76CE60: [0x044720], 0x76D154: [0x044724], 0x76D378: [0x044728], 0x76D48C: [0x04472C], 0x76D580: [0x044730], 0x76D618: [0x044734], 0x76D7E0: [0x044738], 0x76DB88: [0x04473C], 0x76DE70: [0x044740], 0x76E078: [0x044744], 0x76E144: [0x044748], 0x76E538: [0x04474C], 0x76E698: [0x044750], 0x76E73C: [0x044754], 0x76E874: [0x044758], 0x76E900: [0x04475C], 0x76EE64: [0x044760], 0x76F2EC: [0x044764], 0x76F7E4: [0x044768], 0x76FD30: [0x04476C], 0x76FE2C: [0x044770], 0x770084: [0x044774], 0x7707EC: [0x044778], 0x7709CC: [0x04477C], 0x770D20: [0x044780], 0x770EC0: [0x044784], 0x77125C: [0x044788,0x04478C], 0x771268: [0x044790], 0x77129C: [0x044794], 0x7712BC: [0x044798], 0x7712C8: [0x04479C,0x0447A0], 0x771844: [0x0447A4], 0x771850: [0x0447A8], 0x77185C: [0x0447AC], 0x771FAC: [0x0447B0,0x0447B4], 0x771FB8: [0x0447B8], 0x771FC4: [0x0447BC], 0x771FD0: [0x0447C0], 0x772974: [0x044814], 0x773068: [0x044818], 0x773730: [0x04481C], 0x77416C: [0x044820], 0x774530: [0x044824], 0x774F48: [0x044828], 0x775208: [0x04482C], 0x77567C: [0x044830], 0x775B60: [0x044834], 0x775E00: [0x044838], 0x776A20: [0x04483C], 0x776C50: [0x044840], 0x777078: [0x044844], 0x777428: [0x044848], 0x77767C: [0x04484C], 0x778400: [0x044850], 0x7786EC: [0x044854], 0x778810: [0x044858], 0x7789F4: [0x04485C], 0x778B40: [0x044860], 0x7792A8: [0x044864], 0x7792B4: [0x044868], 0x7792C0: [0x04486C], 0x7792CC: [0x044870], 0x7792DC: [0x044874], 0x779B1C: [0x0448B0,0x0448B4], 0x779F28: [0x0448B8], 0x77A4A8: [0x0448BC], 0x77A7FC: [0x0448C0], 0x77C0FC: [0x0448C4,0x0448C8], 0x77C534: [0x0448CC], 0x77C7A4: [0x0448D0], 0x77C94C: [0x0448D4], 0x77CD94: [0x0448D8,0x0448DC], 0x77D7D4: [0x0448E0], 0x77D8CC: [0x0448E4], 0x77DAB4: [0x0448E8], 0x77DF6C: [0x0448EC,0x0448F0], 0x77E03C: [0x0448F4], 0x77E278: [0x0448F8], 0x77E3DC: [0x0448FC], 0x77E554: [0x044900,0x044904], 0x77E560: [0x044908], 0x77E56C: [0x04490C], 0x77E620: [0x044910], 0x77EDD8: [0x044948,0x04494C,0x044950], 0x77F460: [0x044954], 0x77F594: [0x044958], 0x780104: [0x04495C,0x044960,0x044964], 0x780724: [0x044968], 0x7808D0: [0x04496C], 0x781048: [0x044970,0x044974,0x044978], 0x7813CC: [0x04497C], 0x781564: [0x044980], 0x781784: [0x044984,0x044988,0x04498C], 0x781B18: [0x044990], 0x781CB4: [0x044994], 0x781ED4: [0x0449D0,0x0449D4,0x0449D8,0x0449DC], 0x781FE4: [0x0449E0], 0x782048: [0x0449E4,0x0449E8,0x0449EC,0x0449F0], 0x78205C: [0x0449F4], 0x7821B4: [0x0449F8,0x0449FC,0x044A00,0x044A04], 0x7822E8: [0x044A08], 0x7822F4: [0x044A0C,0x044A10,0x044A14,0x044A18], 0x782414: [0x044A1C], 0x782420: [0x044A20,0x044A24,0x044A28,0x044A2C], 0x782564: [0x044A30], 0x7825B4: [0x044A34,0x044A38,0x044A3C,0x044A40], 0x7825C0: [0x044A44], 0x7825CC: [0x0450D8], 0x782FEC: [0x0450DC], 0x783ED0: [0x0450E0], 0x78460C: [0x0450E4], 0x784908: [0x0450E8], 0x7859C0: [0x0450EC], 0x785FF4: [0x0450F0], 0x786694: [0x0450F4], 0x786C04: [0x0450F8], 0x786EA0: [0x0450FC], 0x7876E4: [0x045100], 0x787C6C: [0x045104], 0x788390: [0x045108], 0x788F78: [0x04510C], 0x7892BC: [0x045110], 0x789780: [0x04513C], 0x789A10: [0x045140], 0x78A004: [0x045144], 0x78A4E0: [0x045148], 0x78A898: [0x04514C], 0x78B46C: [0x045150], 0x78B690: [0x045154], 0x78BC64: [0x045158], 0x78C214: [0x04515C], 0x78C5C8: [0x045160], 0x78CE18: [0x045164], 0x78D038: [0x045168], 0x78D544: [0x04516C], 0x78DAD4: [0x045170], 0x78DE08: [0x045174], 0x78E728: [0x04519C,0x0451A0], 0x78EA40: [0x0451A4], 0x78F110: [0x0451A8], 0x78F364: [0x0451AC], 0x78FA4C: [0x0451B0,0x0451B4], 0x78FFC8: [0x0451B8], 0x790508: [0x0451BC], 0x79073C: [0x0451C0], 0x7913C8: [0x0451E4,0x0451E8,0x0451EC], 0x791604: [0x0451F0], 0x7917D4: [0x0451F4], + 0x791878: [0x0451F8,0x0451FC,0x045200], 0x791A0C: [0x045204], 0x791A28: [0x045208], 0x791AA8: [0x045230,0x045234,0x045238], 0x7921F4: [0x04523C], 0x792478: [0x045240], 0x793DCC: [0x045244,0x045248,0x04524C], 0x794604: [0x045250], 0x7948B8: [0x045254], 0x794EC0: [0x045258,0x04525C,0x045260], 0x795234: [0x045264], 0x7956C4: [0x045268], 0x795A38: [0x045298,0x04529C], 0x795A44: [0x0452A0], 0x795D58: [0x0452A4], 0x795E14: [0x0452A8], 0x796494: [0x0452AC,0x0452B0], 0x7964A0: [0x0452B4], 0x7964AC: [0x0452B8], 0x7964C8: [0x0452BC], 0x796940: [0x0452C0,0x0452C4], 0x79694C: [0x0452C8], 0x7969DC: [0x0452CC], 0x796AE4: [0x0452D0], 0x797208: [0x045328,0x04532C,0x045330], 0x797214: [0x045334], 0x797220: [0x045338], 0x797310: [0x044A78], 0x79748C: [0x044A7C], 0x797498: [0x044A80], 0x7974A4: [0x044A84], 0x7974B0: [0x044A88], 0x7979CC: [0x044A8C], 0x7979F0: [0x044A90], 0x7979FC: [0x044A94], 0x797A08: [0x044A98], 0x797A14: [0x044A9C], 0x797A20: [0x044AC4], 0x797E70: [0x044AC8], 0x797E7C: [0x044ACC], 0x797E88: [0x044AD0], 0x797E94: [0x044AD4], 0x7982AC: [0x044AD8], 0x7982B8: [0x044ADC], 0x7982C4: [0x044AE0], 0x7982D0: [0x044AE4], 0x7982DC: [0x044AE8], 0x798474: [0x044AEC], 0x798480: [0x044AF0], 0x79848C: [0x044AF4], 0x798498: [0x044AF8], 0x7984A4: [0x044AFC], 0x798660: [0x044B28,0x044B2C], 0x79896C: [0x044B30], 0x798978: [0x044B34], 0x798984: [0x044B38], 0x798990: [0x044B3C,0x044B40], 0x79899C: [0x044B44], 0x7989A8: [0x044B48], 0x7989B4: [0x044B4C], 0x7989C0: [0x044B50,0x044B54], 0x7989CC: [0x044B58], 0x7989D8: [0x044B5C], 0x7989E4: [0x044B60], 0x798B28: [0x044B8C,0x044B90,0x044B94], 0x798ED8: [0x044B98], 0x798EE4: [0x044B9C], 0x7994A4: [0x044BA0,0x044BA4,0x044BA8], 0x7994B0: [0x044BAC], 0x7994BC: [0x044BB0], 0x79951C: [0x044BB4,0x044BB8,0x044BBC], 0x799528: [0x044BC0], 0x799534: [0x044BC4], 0x799708: [0x044BF8,0x044BFC,0x044C00,0x044C04], 0x799AD4: [0x044C08], 0x799AE0: [0x044C0C,0x044C10,0x044C14,0x044C18], 0x799E5C: [0x044C1C], 0x799E68: [0x044C20,0x044C24,0x044C28,0x044C2C], 0x79A228: [0x044C30], 0x79A28C: [0x044C34,0x044C38,0x044C3C,0x044C40], 0x79A63C: [0x044C44], 0x79A648: [0x044C48,0x044C4C,0x044C50,0x044C54], 0x79A654: [0x044C58], 0x79A660: [0x044C9C], 0x79A66C: [0x044CA0], 0x79A6DC: [0x044CA4], 0x79A6E8: [0x044CA8], 0x79A704: [0x044CAC], 0x79A764: [0x044CB0], 0x79A770: [0x044CB4], 0x79A77C: [0x044CB8], 0x79AAB0: [0x044CBC], 0x79AACC: [0x044CC0], 0x79AF5C: [0x044CC4], 0x79AF68: [0x044CC8], 0x79B28C: [0x044CCC], 0x79B298: [0x044CD0], 0x79B2B4: [0x044CD4], 0x79BF6C: [0x044CD8,0x044CDC], 0x79C700: [0x044CE0], 0x79C70C: [0x044CE4], 0x79C728: [0x044CE8], 0x79D130: [0x044CEC,0x044CF0,0x044CF4], 0x79D13C: [0x044CF8], 0x79D158: [0x044CFC], 0x79DA44: [0x044D6C], 0x79DA50: [0x044D70], 0x79DA5C: [0x044D74], 0x79DA68: [0x044D78], 0x79DA74: [0x044D7C], 0x79E3D0: [0x044D80,0x044D84], 0x79E3DC: [0x044D88], 0x79E3E8: [0x044D8C], 0x79E3F4: [0x044D90], 0x79E4C4: [0x044D94], 0x79E574: [0x044D98], 0x79E580: [0x044D9C], 0x79E58C: [0x044DA0], 0x79E598: [0x044DA4], 0x79E62C: [0x044DA8], 0x79E638: [0x044DAC], 0x79E644: [0x044DB0], 0x79E650: [0x044DB4], 0x79E65C: [0x044DB8], 0x79EB78: [0x044DBC], 0x79EB84: [0x044DC0], 0x79EB90: [0x044DC4], 0x79EB9C: [0x044DC8], 0x79EBA8: [0x044DCC], 0x79F194: [0x044DD0,0x044DD4], 0x79F1A0: [0x044DD8], 0x79F1AC: [0x044DDC], 0x79F1B8: [0x044DE0], 0x79F5CC: [0x044DE4], 0x79F5D8: [0x044DE8], 0x79F5E4: [0x044DEC], 0x79F5F0: [0x044DF0], 0x79F5FC: [0x044DF4], 0x79F6A0: [0x044DF8,0x044DFC,0x044E00], 0x79F734: [0x044E04], 0x79F740: [0x044E08], 0x79FB18: [0x044E0C], 0x79FB24: [0x044E10], 0x79FD9C: [0x044E14], 0x79FDA8: [0x044E18], 0x79FDB4: [0x044E1C], 0x7A00D8: [0x044E20,0x044E24], 0x7A0434: [0x044E28], 0x7A0440: [0x044E2C], 0x7A044C: [0x044E30], 0x7A04C0: [0x044E34,0x044E38], 0x7A04CC: [0x044E3C], 0x7A04D8: [0x044E40], 0x7A04E4: [0x044E44], 0x7A05E0: [0x044E48,0x044E4C,0x044E50], 0x7A0698: [0x044E54], 0x7A06A4: [0x044E58], 0x7A0700: [0x044E5C,0x044E60,0x044E64], 0x7A07D0: [0x044E68], 0x7A07DC: [0x044E6C], 0x7A0AA8: [0x044E70,0x044E74,0x044E78], 0x7A0B14: [0x044E7C], 0x7A0B20: [0x044E80], 0x7A0B88: [0x044E84,0x044E88,0x044E8C], 0x7A0C18: [0x044E90], 0x7A0C24: [0x044E94], 0x7A0EF4: [0x044E98,0x044E9C,0x044EA0], 0x7A0F00: [0x044EA4], 0x7A0F0C: [0x044EA8], 0x7A0FB8: [0x044F3C,0x044F40,0x044F44], 0x7A0FC4: [0x044F48], 0x7A0FD0: [0x044F4C], 0x7A1078: [0x044F50,0x044F54,0x044F58], 0x7A1084: [0x044F5C], 0x7A1090: [0x044F60], 0x7A1120: [0x044F64,0x044F68], 0x7A112C: [0x044F6C], 0x7A1138: [0x044F70], 0x7A1144: [0x044F74], 0x7A1570: [0x044F78], 0x7A157C: [0x044F7C], 0x7A1588: [0x044F80], 0x7A1594: [0x044F84], 0x7A15A0: [0x044F88], 0x7A1CC0: [0x044F8C,0x044F90], 0x7A1CCC: [0x044F94], 0x7A1CD8: [0x044F98], 0x7A1CE4: [0x044F9C], 0x7A1EF4: [0x044FA0,0x044FA4], 0x7A1F00: [0x044FA8], 0x7A1F0C: [0x044FAC], 0x7A1F18: [0x044FB0], 0x7A243C: [0x044FB4,0x044FB8], 0x7A2448: [0x044FBC], 0x7A2454: [0x044FC0], 0x7A2460: [0x044FC4], 0x7A29B4: [0x044FC8,0x044FCC], 0x7A29C0: [0x044FD0], 0x7A29CC: [0x044FD4], 0x7A29D8: [0x044FD8], 0x7A2B20: [0x044FDC], 0x7A2B2C: [0x044FE0], 0x7A2B38: [0x044FE4], 0x7A2B44: [0x044FE8], 0x7A2B50: [0x044FEC], 0x7A2BEC: [0x044FF0,0x044FF4,0x044FF8], 0x7A2BF8: [0x044FFC], 0x7A2C04: [0x045000], 0x7A3168: [0x045004,0x045008,0x04500C], 0x7A3174: [0x045010], 0x7A3180: [0x045014], 0x7A3624: [0x045018,0x04501C,0x045020], 0x7A3630: [0x045024], 0x7A363C: [0x045028], 0x7A36E8: [0x04502C,0x045030,0x045034,0x045038], 0x7A36F4: [0x04503C], 0x7A377C: [0x045040], 0x7A3788: [0x045044], 0x7A3794: [0x045048], 0x7A37A0: [0x04504C], 0x7A37AC: [0x045050], 0x7A39FC: [0x045054,0x045058,0x04505C], 0x7A3A08: [0x045060], 0x7A3A14: [0x045064], 0x7A3AFC: [0x045068,0x04506C,0x045070,0x045074], 0x7A3B08: [0x045078], 0x7A3B84: [0x0452D4,0x0452D8,0x0452DC,0x0452E0,0x0452E4,0x0452F4,0x045314,0x045318,0x04531C,0x045320,0x045324,0x04533C,0x045340,0x045344,0x045348,0x04534C,0x045350,0x045358,0x081494,0x098E9C,0x098EB0,0x098EC4,0x098ED8], 0x7A41C8: [0x0815B8], 0x7A4980: [0x081708], 0x7A4AE0: [0x0817C7], 0x7A4C68: [0x0818F0], 0x7A4DD0: [0x081A2F], 0x7A4E10: [0x0819FC], 0x7A4E5C: [0x081AFB], 0x7A4EA8: [0x081AC8], 0x7A4EF4: [0x081BD3], 0x7A4FB0: [0x081BA0], 0x7A4FFC: [0x081C88], 0x7A51AC: [0x081D5C], 0x7A536C: [0x081DC0], 0x7A54E4: [0x081ED8], 0x7A5A60: [0x082094], 0x7A5F48: [0x0821EC], 0x7A61BC: [0x0822E8], 0x7A65BC: [0x0823B4], 0x7A6884: [0x0824EC], 0x7A6D68: [0x082638], 0x7A7418: [0x0827E0], 0x7A7A18: [0x082A24], 0x7A7BE4: [0x082BDC], 0x7A7FE0: [0x082D4F], 0x7A817C: [0x082DB9], 0x7A8318: [0x082F04], 0x7A849C: [0x082FC0], 0x7A880C: [0x083110], 0x7A8928: [0x0831B0], 0x7A8AAC: [0x083214], 0x7A8C14: [0x0832F8], 0x7A9420: [0x083460], 0x7A9598: [0x083500], 0x7A9A20: [0x084368], 0x7AA07C: [0x084560], 0x7AA3D0: [0x084640], 0x7AA594: [0x0846EC], 0x7AA7E4: [0x0847B4], 0x7AAB40: [0x084968], 0x7AAECC: [0x084A34], 0x7AB048: [0x084B60], 0x7AB438: [0x084CDC], 0x7AB570: [0x084DC0], 0x7AB96C: [0x084F14], 0x7ABEAC: [0x085134], 0x7ABF88: [0x085238], 0x7AC2AC: [0x0853D4], 0x7AC654: [0x0854C0], 0x7AC85C: [0x0855BB], 0x7AC8D8: [0x0856EC], 0x7ACA44: [0x08581B], 0x7ACBB0: [0x0858D0], 0x7ACCC8: [0x0859AC], 0x7ACE80: [0x085AAF], 0x7AD2D0: [0x085BE3], 0x7AD39C: [0x085C48], 0x7AD5D8: [0x085CD4,0x085D54], 0x7AD6D8: [0x085E20], 0x7AD7C8: [0x085F18], 0x7ADC00: [0x08608C], 0x7AE030: [0x0861D4], 0x7AE4C8: [0x0872A8], 0x7AE5D8: [0x0873B4], 0x7AE954: [0x0874E0], 0x7AF374: [0x08761F], 0x7AF744: [0x087718], 0x7AFB84: [0x087878], 0x7AFCD8: [0x087924], 0x7AFF2C: [0x087A0C], 0x7B0614: [0x087F9C], 0x7B0750: [0x08808B], 0x7B0820: [0x088120], 0x7B0A9C: [0x08826C], 0x7B11D0: [0x088330], 0x7B1720: [0x088518], 0x7B1B8C: [0x0885DC], 0x7B1EA8: [0x088660], 0x7B1F6C: [0x088714], 0x7B25A4: [0x08890C], 0x7B2A98: [0x088A2C], 0x7B2CEC: [0x088AE0], 0x7B2FD8: [0x088B44,0x088BC4], 0x7B330C: [0x088CC0], 0x7B36EC: [0x088D44], 0x7B3A04: [0x088DD4], 0x7B3D0C: [0x089DDC], 0x7B3E70: [0x088F28,0x088F6C], 0x7B41AC: [0x088FF8], 0x7B45A4: [0x089080], 0x7B4730: [0x08A224], 0x7B5294: [0x08A3EC], 0x7B56E4: [0x08A4BC], 0x7B590C: [0x08A5C0], 0x7B6094: [0x08A6D4], 0x7B6758: [0x08A830], 0x7B71A8: [0x08AAA8], 0x7B7CBC: [0x08AC80], 0x7B7DE8: [0x08AD64], 0x7B83EC: [0x08AF10], 0x7B8680: [0x08AFBC], 0x7B8D1C: [0x08B0A8], 0x7B9074: [0x08B268], 0x7B956C: [0x08B34C], 0x7B998C: [0x08B4FC], 0x7B9D10: [0x08B5EB], 0x7BA318: [0x08B6F4], 0x7BA470: [0x08B778], 0x7BA764: [0x08B81C], 0x7BA81C: [0x08B8B4], 0x7BAD5C: [0x08B9B7], 0x7BB08C: [0x08BA2F], 0x7BB91C: [0x08BB90,0x08BC16], 0x7BBA60: [0x08BCDC], 0x7BBEE4: [0x08BE64], 0x7BBF74: [0x08BF14], 0x7BC0C0: [0x08BF9B], 0x7BC3EC: [0x08C010], 0x7BC4C4: [0x08C08B], 0x7BC58C: [0x08C100], 0x7BC660: [0x08C1A4], 0x7BC8C8: [0x08C254], 0x7BCA44: [0x08D184], 0x7BCC88: [0x08D280], 0x7BD064: [0x08D350], 0x7BD4A0: [0x08D424], 0x7BD9B0: [0x08D540], 0x7BDF4C: [0x08D710], 0x7BE764: [0x08D898], 0x7BEA78: [0x08DB34], 0x7BEC8C: [0x08DC8C], 0x7BED60: [0x08DD64], 0x7BEE84: [0x08DEFC], 0x7BEFD4: [0x08DF98], 0x7BF09C: [0x08E064], 0x7BF28C: [0x08E144], 0x7BF348: [0x08E1F0], 0x7BF404: [0x08E29C], 0x7BF4B8: [0x08E348], 0x7BF570: [0x08E410], 0x7BF6BC: [0x08E504], 0x7BFA50: [0x08E614], 0x7BFE24: [0x08E7E8], 0x7C00B0: [0x08E93C], 0x7C0484: [0x08EA8F], 0x7C0500: [0x08EAF8], 0x7C06E8: [0x08EB64,0x08EBE4], 0x7C0764: [0x08ECC0], 0x7C0E14: [0x08F120], 0x7C1150: [0x08F1A8], 0x7C13B4: [0x08F224], 0x7C15A8: [0x09036C], 0x7C205C: [0x0904CC], 0x7C23A8: [0x0905C0], 0x7C28D8: [0x09074C], 0x7C3210: [0x0908D0], 0x7C3638: [0x0909C0], 0x7C393C: [0x090AAC], 0x7C3E48: [0x090C08], 0x7C41E4: [0x090D40], 0x7C4494: [0x090DDC], 0x7C4C14: [0x090F40], 0x7C4F68: [0x090FBC,0x09104E], 0x7C54A8: [0x0911A4], 0x7C56CC: [0x091260], 0x7C5CD8: [0x091378], 0x7C6028: [0x09147C], 0x7C6940: [0x091784], 0x7C6DDC: [0x0918F0], 0x7C7A50: [0x091BC3], 0x7C84A0: [0x091D17], 0x7C86E4: [0x091E43], 0x7C8C14: [0x091F4C], 0x7C97A8: [0x092161], 0x7CA1C0: [0x0922F8], 0x7CA6E4: [0x0923F4], 0x7CABC8: [0x0924F0], 0x7CAE68: [0x09257C], 0x7CB068: [0x092600], 0x7CB1C0: [0x0926A0], 0x7CB3F8: [0x092767], 0x7CB9BC: [0x092840], 0x7CBB50: [0x0928C8], 0x7CBD04: [0x092944], 0x7CBFB4: [0x092AA4], 0x7CC030: [0x092B28], 0x7CC108: [0x092C84], 0x7CC1E4: [0x092D2C], 0x7CC3AC: [], 0x7CC4FC: [], 0x7CC60C: [], 0x7CC6AC: [], 0x7CC78C: [], 0x7CC82C: [], 0x7CC910: [], 0x7CC9B0: [], 0x7CCAA8: [], 0x7CCC70: [0x0933E0], 0x7CCE34: [0x0934D8], 0x7CDA9C: [0x09371C], 0x7CE7C4: [0x093910], 0x7CECA4: [0x093A70], 0x7CF140: [0x093B64], 0x7CF638: [0x093C24], 0x7CF8EC: [0x093CFC], 0x7CF9B8: [0x093D6C], 0x7CFBD8: [0x093EB8], 0x7D00B0: [0x09402C], 0x7D05B4: [0x094218], 0x7D093C: [0x0943BC], 0x7D109C: [0x09478C], 0x7D10D0: [0x094898], 0x7D1144: [0x0949D4], 0x7D16D0: [0x094BDC], 0x7D17DC: [0x094CD7], 0x7D190C: [0x094D9C], 0x7D1A44: [0x094EC0], 0x7D1CFC: [0x0950E7], 0x7D1D40: [0x095160], 0x7D1DD0: [0x095274], 0x7D2010: [0x0953D4], 0x7D2154: [0x095438,0x0954B8], 0x7D21D4: [0x095564], 0x7D2234: [0x09567C], 0x7D2638: [0x0958EC], 0x7D2730: [0x09594C,0x0959CC], 0x7D27B0: [0x095A74], 0x7D2818: [0x095B58], 0x7D2ABC: [0x095C7C], 0x7D2B9C: [0x095CDC,0x095D5C], 0x7D2C44: [0x095EEC], 0x7D3798: [0x0964C4], 0x7D4190: [0x0965CE,0x0967B0], 0x7D4BA4: [0x0968E3], 0x7D4DE0: [0x0969FF], 0x7D5008: [0x096B60,0x096BF6], 0x7D5728: [0x096EB8], 0x7D5D48: [0x097190], 0x7D676C: [0x09735C], 0x7D7318: [0x097598], 0x7D7A1C: [0x097698], 0x7D7ADC: [0x097778], 0x7D7B28: [0x097858], 0x7D7B68: [0x097940], 0x7D7BA8: [0x097BCF], 0x7D82E4: [0x097CE4], 0x7D865C: [0x097DEB], 0x7D8938: [0x097EAC], 0x7D8FA8: [0x097F78], 0x7D9514: [0x09806B], 0x7D9B10: [0x098174,0x0981F4], 0x7D9F50: [0x098288,0x098302], 0x7DA020: [0x083AB0], 0x7DA158: [0x0839E0], 0x7DA230: [0x083910], 0x7DA320: [0x083840], 0x7DA494: [0x083770], 0x7DA5D8: [0x0836A0], 0x7DA6E0: [0x0835D0], 0x7DA85C: [0x083B7B], 0x7DAC90: [0x0866AB,0x0868FB,0x086D38,0x086D64,0x086D7C,0x140A70], 0x7DBE98: [0x08C43B,0x08C753,0x08CA50], 0x7DC130: [0x097A5B], 0x7DCE1C: [0x089D5F,0x089D88,0x089DF8,0x08A12C], 0x7DE48C: [0x08944C,0x089558], 0x7E0DEC: [0x08C319], 0x7E1718: [0x08F698,0x08F6F6,0x08F730,0x08F754,0x08F794], 0x7E30A0: [0x092DEC,0x093270,0x09335C,0x0933C8,0x09F4B4], 0x7E36F8: [0x03B634,0x03B66C,0x03BB68,0x03BF6C], 0x7E78A8: [0x13E04C], 0x7E7B30: [0x13E050], 0x7E9320: [0x13E054], 0x7E9578: [0x13E058], 0x7EA788: [0x13E05C], 0x7EA9F4: [0x13E060], 0x7EBAB8: [0x13E064], 0x7EBDDC: [0x13E068], 0x7ECF34: [0x13E06C,0x13E074], 0x7ED240: [0x13E070,0x13E078], 0x7EE1AC: [0x13E5D4], 0x7EE2F0: [0x13F378], 0x7EE5B0: [0x13F37C], 0x7EFE14: [0x13F998], 0x7F0DA0: [0x046B9C,0x046BAC,0x046BEC], 0x7F0FF4: [0x046BDC], 0x7F1278: [0x046BBC,0x046C1C,0x046C3C], 0x7F14CC: [0x046BCC], 0x7F1714: [0x046BFC,0x046C0C], 0x7F195C: [0x046C2C,0x046CAC], 0x7F1BA8: [0x046C4C,0x046C5C,0x046C6C,0x046C7C,0x046C8C], 0x7F1E10: [0x046C9C], 0x7F2094: [0x046CBC], 0x7F2654: [0x03BB78], 0x7F2808: [0x03BB74], 0x7F2A1C: [0x03BB6C], 0x7F2E38: [0x042084,0x042118], 0x7F2ED0: [0x04211C], 0x7F2F68: [0x009FBC] } + charDict = { ' ': 0x00, '0': 0x01, '1': 0x02, '2': 0x03, '3': 0x04, '4': 0x05, '5': 0x06, '6': 0x07, '7': 0x08, '8': 0x09, '9': 0x0A, 'A': 0x0B, 'B': 0x0C, 'C': 0x0D, 'D': 0x0E, 'E': 0x0F, 'F': 0x10, 'G': 0x11, 'H': 0x12, 'I': 0x13, diff --git a/worlds/mmbn6/Client.py b/worlds/mmbn6/Client.py index bd10a74cd11d..aeede48e9ab0 100644 --- a/worlds/mmbn6/Client.py +++ b/worlds/mmbn6/Client.py @@ -63,9 +63,15 @@ "received_index": (0x1B60, 2, "EWRAM"), # A set of flags set by early game cutscenes. Since this should be 0x00, we use this to know if RAM can be trusted "canary_byte": (0x1D09, 1, "EWRAM"), - # Contains the victory flag at bit 0x80 + # Contains the victory flag at bit 0x08 "cybeast_defeated_flag_byte": (0x1E51, 1, "EWRAM"), - "transformation_flags": (0x1CA4, 1, "EWRAM") + "transformation_flags1": (0x1CA4, 1, "EWRAM"), + "transformation_flags2": (0x1CA5, 1, "EWRAM"), + #Virus Battler related flag addresses + "virus_battler_machine_flags": (0x1CC2, 1, "EWRAM"), + "virus_battler_enabled_flag": (0x1CC3, 1, "EWRAM"), + "rare_virus_flags1": (0x1CBA, 1, "EWRAM"), + "rare_virus_flags4": (0x1CBD, 1, "EWRAM") } SPECIAL_KEY_ITEMS = { @@ -74,14 +80,22 @@ "SlashCross": 55, "ElecCross": 56, "EraseCross": 58, - "ChargeCross": 60 + "ChargeCross": 60, + "SpoutCross": 53, + "TenguCross": 55, + "TomahawkCross": 56, + "GroundCross": 58, + "DustCross": 60, + "BtlrCard": 64 } +gregar_key_items_xor = 0x55 +falzar_key_items_xor = 0x6F class MMBN6Client(BizHawkClient): game = "MegaMan Battle Network 6" system = "GBA" - patch_suffix = ".apbn6" + patch_suffix = (".apbn6g", ".apbn6f") location_by_id: dict[int, LocationData] item_by_id: dict[int, ItemData] main_area: int @@ -90,6 +104,8 @@ class MMBN6Client(BizHawkClient): seed_verify = False sent_hints = [] player_slot = -1 + key_item_xor = 0x00 + game_version = "" def __init__(self) -> None: super().__init__() @@ -103,7 +119,15 @@ async def validate_rom(self, ctx: "BizHawkClientContext") -> bool: # Check ROM name/patch version rom_name_bytes = (await read(ctx.bizhawk_ctx, [ROM_ADDRS["game_identifier"]]))[0] rom_name = bytes([byte for byte in rom_name_bytes if byte != 0]).decode("ascii") - if rom_name != "MEGAMAN6_G": + + if rom_name == "MEGAMAN6_G": + self.key_item_xor = gregar_key_items_xor + self.game_version = "gregar" + elif rom_name == "MEGAMAN6_F": + self.key_item_xor = falzar_key_items_xor + self.game_version = "falzar" + + if rom_name != "MEGAMAN6_G" and rom_name != "MEGAMAN6_F": return False except UnicodeDecodeError: @@ -203,7 +227,7 @@ async def give_chip(ctx: "BizHawkClientContext", chip) -> bool: return True @staticmethod - async def give_item(ctx: "BizHawkClientContext", item) -> bool: + async def give_item(ctx: "BizHawkClientContext", item, xor) -> bool: # First, get the amount of that item we have amount = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + item, 1, "EWRAM")]) # Get the base anticheat value @@ -220,10 +244,10 @@ async def give_item(ctx: "BizHawkClientContext", item) -> bool: total = 0 while not write_result: # Write to the address if it hasn't changed. - # Anticheat mechanism just XORs the base value with 0x55 + # Anticheat mechanism just XORs the base value with 0x55 or 0x6F, depending on version write_result = await guarded_write(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + item, [amount[0][0] + 1], "EWRAM"), - (RAM_ADDRS["key_item_anticheat_value_start"][0] + item, [anticheat_base[0][0] ^ 0x55], "EWRAM")], + (RAM_ADDRS["key_item_anticheat_value_start"][0] + item, [anticheat_base[0][0] ^ xor], "EWRAM")], [(RAM_ADDRS["key_item_amount_start"][0] + item, [amount[0][0]], "EWRAM")]) await asyncio.sleep(0.05) @@ -274,11 +298,24 @@ async def give_hp_mem(ctx: "BizHawkClientContext") -> bool: return True @staticmethod - async def give_reg_up(ctx: "BizHawkClientContext", amount) -> bool: - # First, get the hp amounts we have - read_result = await read(ctx.bizhawk_ctx, [RAM_ADDRS["reg_mem"]]) + async def give_reg_up(ctx: "BizHawkClientContext", item, xor) -> bool: + # Determine amount of regmem to give based on itemID + amount = 0 + if item == 114: + amount = 1 + elif item == 115: + amount = 2 + elif item == 116: + amount = 3 + + # Get the regmem we have, amount of the item, and anticheat base + read_result = await read(ctx.bizhawk_ctx, [RAM_ADDRS["reg_mem"], + (RAM_ADDRS["key_item_amount_start"][0] + item, 1, "EWRAM"), + (RAM_ADDRS["key_item_anticheat_base_start"][0] + item, 1, "EWRAM")]) reg_mem = read_result[0][0] + item_amount = read_result[1][0] + anticheat_base = read_result[2][0] # If Reg Memory is already 50, don't give more memory. if reg_mem == 50: @@ -289,8 +326,11 @@ async def give_reg_up(ctx: "BizHawkClientContext", amount) -> bool: while not write_result: # Write to the addresses if they haven't changed. write_result = await guarded_write(ctx.bizhawk_ctx, - [(RAM_ADDRS["reg_mem"][0], [reg_mem + amount], "EWRAM")], - [(RAM_ADDRS["reg_mem"][0], [reg_mem], "EWRAM")]) + [(RAM_ADDRS["reg_mem"][0], [reg_mem + amount], "EWRAM"), + (RAM_ADDRS["key_item_amount_start"][0] + item, [item_amount + 1], "EWRAM"), + (RAM_ADDRS["key_item_anticheat_value_start"][0] + item, [anticheat_base ^ xor], "EWRAM")], + [(RAM_ADDRS["reg_mem"][0], [reg_mem], "EWRAM"), + (RAM_ADDRS["key_item_amount_start"][0] + item, [item_amount], "EWRAM")]) await asyncio.sleep(0.05) total += 0.05 @@ -396,20 +436,14 @@ async def handle_item_receiving(self, ctx: "BizHawkClientContext", received_inde if item.itemID == 112: # HP Memory result = await self.give_hp_mem(ctx) - elif item.itemID == 114: + elif item.itemID in (114, 115, 116): # RegUp1 - result = await self.give_reg_up(ctx, 1) - elif item.itemID == 115: - # RegUp2 - result = await self.give_reg_up(ctx, 2) - elif item.itemID == 116: - # RegUp3 - result = await self.give_reg_up(ctx, 3) + result = await self.give_reg_up(ctx, item.itemID, self.key_item_xor) else: - result = await self.give_item(ctx, item.itemID) + result = await self.give_item(ctx, item.itemID, self.key_item_xor) elif item.type == ItemType.Program: # Programs use the same area of memory as key items, but start at itemID 148 - result = await self.give_item(ctx, programs_to_item_id[item.itemName]) + result = await self.give_item(ctx, programs_to_item_id[item.itemName], self.key_item_xor) elif item.type == ItemType.Zenny: result = await self.change_zenny(ctx, item.count) elif item.type == ItemType.BugFrag: @@ -442,32 +476,117 @@ async def handle_location_sending(self, ctx: "BizHawkClientContext") -> None: async def handle_special_items(self, ctx: "BizHawkClientContext") -> None: # If we have any of the Cross or BeastOut key items, set the proper flags - beastout = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["BeastOut"], 1, "EWRAM")]) - heatcross = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["HeatCross"], 1, "EWRAM")]) - slashcross = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["SlashCross"], 1, "EWRAM")]) - eleccross = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["ElecCross"], 1, "EWRAM")]) - erasecross = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["EraseCross"], 1, "EWRAM")]) - chargecross = await read(ctx.bizhawk_ctx, [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["ChargeCross"], 1, "EWRAM")]) + flag_val1 = await read(ctx.bizhawk_ctx, [RAM_ADDRS["transformation_flags1"]]) + new_val1 = flag_val1[0][0] + + flag_val2 = await read(ctx.bizhawk_ctx, [RAM_ADDRS["transformation_flags2"]]) + new_val2 = flag_val2[0][0] - flag_val = await read(ctx.bizhawk_ctx, [RAM_ADDRS["transformation_flags"]]) - new_val = flag_val[0][0] + beastout = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["BeastOut"], 1, "EWRAM")]) if beastout[0][0] > 0: - new_val = new_val | 0x80 - if heatcross[0][0] > 0: - new_val = new_val | 0x20 - if slashcross[0][0] > 0: - new_val = new_val | 0x08 - if eleccross[0][0] > 0: - new_val = new_val | 0x10 - if erasecross[0][0] > 0: - new_val = new_val | 0x04 - if chargecross[0][0] > 0: - new_val = new_val | 0x02 + new_val1 = new_val1 | 0x80 + + if self.game_version == "gregar": + heatcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["HeatCross"], 1, + "EWRAM")]) + slashcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["SlashCross"], 1, + "EWRAM")]) + eleccross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["ElecCross"], 1, + "EWRAM")]) + erasecross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["EraseCross"], 1, + "EWRAM")]) + chargecross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["ChargeCross"], 1, + "EWRAM")]) + + if heatcross[0][0] > 0: + new_val1 = new_val1 | 0x20 + if slashcross[0][0] > 0: + new_val1 = new_val1 | 0x08 + if eleccross[0][0] > 0: + new_val1 = new_val1 | 0x10 + if erasecross[0][0] > 0: + new_val1 = new_val1 | 0x04 + if chargecross[0][0] > 0: + new_val1 = new_val1 | 0x02 + else: + spoutcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["SpoutCross"], 1, + "EWRAM")]) + tengucross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["TenguCross"], 1, + "EWRAM")]) + tomahawkcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["TomahawkCross"], 1, + "EWRAM")]) + groundcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["GroundCross"], 1, + "EWRAM")]) + dustcross = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["DustCross"], 1, + "EWRAM")]) + + if spoutcross[0][0] > 0: + new_val1 = new_val1 | 0x01 + if tengucross[0][0] > 0: + new_val2 = new_val2 | 0x40 + if tomahawkcross[0][0] > 0: + new_val2 = new_val2 | 0x80 + if groundcross[0][0] > 0: + new_val2 = new_val2 | 0x20 + if dustcross[0][0] > 0: + new_val2 = new_val2 | 0x10 - if not(flag_val[0][0] == new_val): - await guarded_write(ctx.bizhawk_ctx,[(RAM_ADDRS["transformation_flags"][0], [new_val], "EWRAM")], - [(RAM_ADDRS["transformation_flags"][0], flag_val[0], "EWRAM")]) + if not(flag_val1[0][0] == new_val1) or not(flag_val2[0][0] == new_val2): + await guarded_write(ctx.bizhawk_ctx,[(RAM_ADDRS["transformation_flags1"][0], [new_val1], "EWRAM"), + (RAM_ADDRS["transformation_flags2"][0], [new_val2], "EWRAM")], + [(RAM_ADDRS["transformation_flags1"][0], flag_val1[0], "EWRAM"), + (RAM_ADDRS["transformation_flags2"][0], flag_val2[0], "EWRAM")]) + + btlrcard = await read(ctx.bizhawk_ctx, + [(RAM_ADDRS["key_item_amount_start"][0] + SPECIAL_KEY_ITEMS["BtlrCard"], 1, + "EWRAM")]) + + # If we have the BtlrCard, enable the proper flags + if btlrcard[0][0] > 0: + battler_machine_flags = await read(ctx.bizhawk_ctx, [RAM_ADDRS["virus_battler_machine_flags"]]) + new_battler_machine_flags = battler_machine_flags[0][0] | 0x0F + + virus_battler_enabled_flag = await read(ctx.bizhawk_ctx, [RAM_ADDRS["virus_battler_enabled_flag"]]) + new_virus_battler_enabled_flag = virus_battler_enabled_flag[0][0] | 0x80 + + # Enable flags for Mettaur and Gunner, which are given by default. This isn't technically required, but doing + # it to be safe + rare_virus_flags1 = await read(ctx.bizhawk_ctx, [RAM_ADDRS["rare_virus_flags1"]]) + new_rare_virus_flags1 = rare_virus_flags1[0][0] | 0x01 + + rare_virus_flags4 = await read(ctx.bizhawk_ctx, [RAM_ADDRS["rare_virus_flags4"]]) + new_rare_virus_flags4 = rare_virus_flags4[0][0] | 0x04 + + # Try to set flags if the values have changed + if (not (battler_machine_flags[0][0] == new_battler_machine_flags) or + not (virus_battler_enabled_flag[0][0] == new_virus_battler_enabled_flag) or + not (rare_virus_flags1[0][0] == new_rare_virus_flags1) or + not (rare_virus_flags4[0][0] == new_rare_virus_flags4)): + print("Enabling Virus Battler progs") + print(f"{battler_machine_flags[0][0]} -> {new_battler_machine_flags}") + print(f"{virus_battler_enabled_flag[0][0]} -> {new_virus_battler_enabled_flag}") + print(f"{rare_virus_flags1[0][0]} -> {new_rare_virus_flags1}") + print(f"{rare_virus_flags4[0][0]} -> {new_rare_virus_flags4}") + await guarded_write(ctx.bizhawk_ctx, [(RAM_ADDRS["virus_battler_machine_flags"][0], [new_battler_machine_flags], "EWRAM"), + (RAM_ADDRS["virus_battler_enabled_flag"][0], [new_virus_battler_enabled_flag], "EWRAM"), + (RAM_ADDRS["rare_virus_flags1"][0], [new_rare_virus_flags1], "EWRAM"), + (RAM_ADDRS["rare_virus_flags4"][0], [new_rare_virus_flags4], "EWRAM")], + [(RAM_ADDRS["virus_battler_machine_flags"][0], battler_machine_flags[0], "EWRAM"), + (RAM_ADDRS["virus_battler_enabled_flag"][0], virus_battler_enabled_flag[0], "EWRAM"), + (RAM_ADDRS["rare_virus_flags1"][0], rare_virus_flags1[0], "EWRAM"), + (RAM_ADDRS["rare_virus_flags4"][0], rare_virus_flags4[0], "EWRAM")]) @staticmethod async def check_location_scouted(ctx, location): diff --git a/worlds/mmbn6/FalzarLocations.py b/worlds/mmbn6/FalzarLocations.py new file mode 100644 index 000000000000..e52cf24ebe71 --- /dev/null +++ b/worlds/mmbn6/FalzarLocations.py @@ -0,0 +1,293 @@ +import typing + +from .Names.LocationName import LocationName + +falzar_update_addresses: typing.Dict[str, int] = { + LocationName.Robot_Control_Comp_1_BMD_1: 0x09FF48, + LocationName.Robot_Control_Comp_1_BMD_2: 0x09FF54, + LocationName.Robot_Control_Comp_2_BMD_1: 0x0A004C, + LocationName.Robot_Control_Comp_2_BMD_2: 0x0A0058, + LocationName.Aquarium_Comp_1_BMD_1: 0x0A0194, + LocationName.Aquarium_Comp_1_BMD_2: 0x0A01A0, + LocationName.Aquarium_Comp_2_BMD_1: 0x0A0298, + LocationName.Aquarium_Comp_2_BMD_2: 0x0A02A4, + LocationName.Aquarium_Comp_3_BMD_1: 0x0A039C, + LocationName.Aquarium_Comp_3_BMD_2: 0x0A03A8, + LocationName.JudgeTree_Comp_1_BMD_1: 0x0A04E4, + LocationName.JudgeTree_Comp_1_BMD_2: 0x0A04F0, + LocationName.JudgeTree_Comp_2_BMD_1: 0x0A05E8, + LocationName.JudgeTree_Comp_2_BMD_2: 0x0A05F4, + LocationName.JudgeTree_Comp_3_BMD_1: 0x0A06EC, + LocationName.JudgeTree_Comp_3_BMD_2: 0x0A06F8, + LocationName.Mr_Weather_Comp_1_BMD_1: 0x0A0834, + LocationName.Mr_Weather_Comp_1_BMD_2: 0x0A0840, + LocationName.Mr_Weather_Comp_2_BMD_1: 0x0A0938, + LocationName.Mr_Weather_Comp_2_BMD_2: 0x0A0944, + LocationName.Mr_Weather_Comp_3_BMD_1: 0x0A0A3C, + LocationName.Mr_Weather_Comp_3_BMD_2: 0x0A0A48, + LocationName.Pavilion_Comp_1_BMD_1: 0x0A0B84, + LocationName.Pavilion_Comp_1_BMD_2: 0x0A0B90, + LocationName.Pavilion_Comp_2_BMD_1: 0x0A0C88, + LocationName.Pavilion_Comp_2_BMD_2: 0x0A0C94, + LocationName.Pavilion_Comp_3_BMD_1: 0x0A0D8C, + LocationName.Pavilion_Comp_3_BMD_2: 0x0A0D98, + LocationName.Pavilion_Comp_4_BMD_1: 0x0A0E90, + LocationName.Pavilion_Comp_4_BMD_2: 0x0A0E9C, + LocationName.ACDC_HP_BMD: 0x0A0FAC, + LocationName.Aquarium_HP_BMD: 0x0A0FF8, + LocationName.Green_HP_BMD: 0x0A1044, + LocationName.Sky_HP_BMD: 0x0A1090, + LocationName.RoboDog_Comp_BMD: 0x0A1108, + LocationName.Labs_Comp_1_BMD_1: 0x0A1148, + LocationName.Labs_Comp_1_BMD_2: 0x0A1154, + LocationName.Class_6_1_Comp_BMD_1: 0x0A1194, + LocationName.Class_6_1_Comp_BMD_2: 0x0A11A0, + LocationName.Class_6_2_Comp_BMD: 0x0A11E0, + LocationName.Class_1_1_Comp_BMD_1: 0x0A122C, + LocationName.Class_1_1_Comp_BMD_2: 0x0A1238, + LocationName.Class_1_2_Comp_BMD_1: 0x0A1278, + LocationName.Class_1_2_Comp_BMD_2: 0x0A1284, + LocationName.Bathroom_Comp_BMD: 0x0A12AC, + LocationName.Elevator_Comp_BMD: 0x0A12D4, + LocationName.Fish_Stick_Shop_Comp_BMD_1: 0x0A1314, + LocationName.Fish_Stick_Shop_Comp_BMD_2: 0x0A1320, + LocationName.Security_Camera_Comp_BMD_1: 0x0A1360, + LocationName.Security_Camera_Comp_BMD_2: 0x0A136C, + LocationName.Book_Comp_BMD_1: 0x0A13AC, + LocationName.Book_Comp_BMD_2: 0x0A13B8, + LocationName.Fan_Comp_BMD_1: 0x0A13F8, + LocationName.Fan_Comp_BMD_2: 0x0A1404, + LocationName.Air_Conditioner_Comp_BMD_1: 0x0A1444, + LocationName.Air_Conditioner_Comp_BMD_2: 0x0A1450, + LocationName.Heater_Comp_BMD_1: 0x0A1490, + LocationName.Heater_Comp_BMD_2: 0x0A149C, + LocationName.Shower_Comp_BMD_1: 0x0A14DC, + LocationName.Shower_Comp_BMD_2: 0x0A14E8, + LocationName.Heliport_Comp_BMD_1: 0x0A1528, + LocationName.Heliport_Comp_BMD_2: 0x0A1534, + LocationName.Labs_Comp_2_BMD: 0x0A15B8, + LocationName.Vending_Machine_Comp_BMD_1: 0x0A1604, + LocationName.Vending_Machine_Comp_BMD_2: 0x0A1610, + LocationName.Punish_Chair_Comp_BMD: 0x0A1650, + LocationName.Water_Machine_Comp_BMD: 0x0A1684, + LocationName.Symbol_Comp_BMD_1: 0x0A16C4, + LocationName.Symbol_Comp_BMD_2: 0x0A16D0, + LocationName.Monitor_Comp_BMD: 0x0A16F8, + LocationName.Popcorn_Shop_Comp_BMD: 0x0A1720, + LocationName.Teachers_Room_Comp_BMD_1: 0x0A1760, + LocationName.Teachers_Room_Comp_BMD_2: 0x0A176C, + LocationName.Pipe_Comp_BMD: 0x0A1794, + LocationName.Observation_Comp_BMD_1: 0x0A17D4, + LocationName.Observation_Comp_BMD_2: 0x0A17E0, + LocationName.Oxygen_Tank_Comp_BMD: 0x0A1820, + LocationName.Principals_Office_Comp_BMD_1: 0x0A186C, + LocationName.Principals_Office_Comp_BMD_2: 0x0A1878, + LocationName.Mascot_Comp_BMD_1: 0x0A18B8, + LocationName.Mascot_Comp_BMD_2: 0x0A18C4, + LocationName.Stuffed_Toy_Shop_Comp_BMD_1: 0x0A1904, + LocationName.Stuffed_Toy_Shop_Comp_BMD_2: 0x0A1910, + LocationName.Dog_House_Comp_BMD_1: 0x0A1950, + LocationName.Dog_House_Comp_BMD_2: 0x0A195C, + LocationName.Guide_Panel_Comp_BMD: 0x0A1984, + LocationName.Central_Area_1_BMD_1: 0x0A1A48, + LocationName.Central_Area_1_BMD_2: 0x0A1A54, + LocationName.Central_Area_2_BMD_1: 0x0A1B5C, + LocationName.Central_Area_2_BMD_2: 0x0A1B68, + LocationName.Central_Area_3_BMD: 0x0A1C70, + LocationName.Seaside_Area_1_BMD_1: 0x0A1DE0, + LocationName.Seaside_Area_1_BMD_2: 0x0A1DEC, + LocationName.Seaside_Area_1_BMD_3: 0x0A1E80, + LocationName.Seaside_Area_2_BMD_1: 0x0A1F18, + LocationName.Seaside_Area_2_BMD_2: 0x0A1F24, + LocationName.Seaside_Area_2_BMD_3: 0x0A1FB8, + LocationName.Seaside_Area_3_BMD: 0x0A2038, + LocationName.Green_Area_1_BMD_1: 0x0A21A8, + LocationName.Green_Area_1_BMD_2: 0x0A2248, + LocationName.Green_Area_2_BMD_1: 0x0A22E0, + LocationName.Green_Area_2_BMD_2: 0x0A22EC, + LocationName.Green_Area_2_BMD_3: 0x0A2380, + LocationName.Underground_2_BMD_1: 0x0A2558, + LocationName.Underground_2_BMD_2: 0x0A25EC, + LocationName.Sky_Area_1_BMD_1: 0x0A26C8, + LocationName.Sky_Area_1_BMD_2: 0x0A2768, + LocationName.Sky_Area_2_BMD_1: 0x0A2800, + LocationName.Sky_Area_2_BMD_2: 0x0A280C, + LocationName.Sky_Area_2_BMD_3: 0x0A28A0, + LocationName.ACDC_Area_BMD_1: 0x0A2938, + LocationName.ACDC_Area_BMD_2: 0x0A29D8, + LocationName.Undernet_1_BMD: 0x0A2A9C, + LocationName.Undernet_Zero_BMD_1: 0x0A2BC8, + LocationName.Undernet_Zero_BMD_2: 0x0A2BD4, + LocationName.Undernet_Zero_BMD_3: 0x0A2BE0, + LocationName.Undernet_2_BMD: 0x0A2CE8, + LocationName.Graveyard_BMD_1: 0x0A314C, + LocationName.Graveyard_BMD_2: 0x0A3158, + LocationName.Graveyard_BMD_3: 0x0A3170, + LocationName.Graveyard_BMD_4: 0x0A317C, + LocationName.Graveyard_BMD_5: 0x0A321C, + + LocationName.ACDC_HP_PMD: 0x0A0FB8, + LocationName.Aquarium_HP_PMD: 0x0A1004, + LocationName.Green_HP_PMD: 0x0A1050, + LocationName.Sky_HP_PMD: 0x0A109C, + LocationName.Class_6_2_Comp_PMD: 0x0A11EC, + LocationName.Labs_Comp_2_PMD: 0x0A15C4, + LocationName.Punish_Chair_Comp_PMD: 0x0A165C, + LocationName.Oxygen_Tank_Comp_PMD: 0x0A182C, + LocationName.Central_Area_3_PMD: 0x0A1C7C, + LocationName.Seaside_Area_3_PMD: 0x0A2044, + LocationName.Green_Area_1_PMD: 0x0A21B4, + LocationName.Underground_1_PMD_1: 0x0A2444, + LocationName.Underground_1_PMD_2: 0x0A2450, + LocationName.Sky_Area_1_PMD: 0x0A26D4, + LocationName.ACDC_Area_PMD: 0x0A2944, + LocationName.Undernet_1_PMD: 0x0A2AA8, + LocationName.Undernet_2_PMD: 0x0A2CF4, + LocationName.Graveyard_PMD_1: 0x0A3164, + LocationName.Graveyard_PMD_2: 0x0A3188, + + LocationName.School_Mr_Quiz: 0x76E900, + LocationName.Aquarium_Quiz_Master: 0x7792DC, + LocationName.Green_Quiz_King: 0x77E620, + LocationName.Central_Barr100_H_Trade: 0x766BFC, + LocationName.Aquarium_PnlRetrn_star_Trade: 0x79B2B4, + LocationName.Green_HolyPnl_S_Trade: 0x77C94C, + LocationName.AirCon_AuraHed1_B_Trade: 0x7A07DC, + LocationName.Class_1_2_EnergBom_K_Trade: 0x76D618, + LocationName.Aquarium_DublShot_C_Trade: 0x775E00, + LocationName.WatrMchn_HiBoomer_V_Trade: 0x7A15A0, + LocationName.Sky_GrabRvng_I_Trade: 0x781564, + LocationName.ACDC_BigBomb_O_Trade: 0x79AACC, + LocationName.Class_6_1_Grid: 0x75752C, + LocationName.Seaside_Auditorium_Trash_Can: 0x75B064, + LocationName.Seaside_Control_Room_Ladder: 0x75B30C, + LocationName.Green_Foyer_Flowers: 0x75B934, + LocationName.Sky_Air_Tank: 0x75C4B8, + LocationName.ACDC_Dexs_Door: 0x7558D8, + LocationName.Principals_Coffee_Table: 0x759480, + LocationName.Seaside_Pavilion_Waterfall: 0x75CFC4, + LocationName.Central_1_Net_Cafe: 0x784908, + LocationName.Green_2_Net_Cafe: 0x79073C, + LocationName.Sky_1_Net_Cafe: 0x792478, + LocationName.Central_2_Heel_Navi: 0x786EA0, + LocationName.Class_1_2_Heel_Navi: 0x79F1B8, + LocationName.Seaside_Auditorium_Man: 0x778B40, + LocationName.Aquarium_Comp_1_Navi: 0x797E94, + LocationName.Green_1_Heel_Navi: 0x78F364, + LocationName.Undernet_Zero_Heel_Navi: 0x7964C8, + LocationName.Green_Punishment_Room_Prog: 0x77E3DC, + LocationName.Sky_1_Brown_Navi: 0x792478, + LocationName.Bass: 0x7D82E4, + LocationName.Bass_SP: 0x7D8938, + LocationName.Talk_To_Mayl: 0x768EEC, + LocationName.TomahawkMan_Class: 0x7C13B4, + LocationName.TenguMan_Class: 0x7BC660, + LocationName.GroundMan_Class: 0x7CC1E4, + LocationName.DustMan_Class: 0x7CB1C0, + LocationName.RoboDog_Comp_Virus_Battler: 0x79DA74, + LocationName.Water_Machine_Comp_Virus_Battler: 0x7A15A0, + LocationName.Punish_Chair_Comp_Virus_Battler: 0x7A1144, + LocationName.Oxygen_Tank_Comp_Virus_Battler: 0x7A3180, + LocationName.Central_1_Virus_Battler: 0x784908, + + LocationName.Virus_Deletion: 0x76C2A8, + LocationName.Find_Keepsake: 0x766BFC, + LocationName.Errand_Request: 0x770EC0, + LocationName.For_Victory: 0x784908, + LocationName.JuvenileDiv: 0x7A1F18, + LocationName.Somebody_Help: 0x7974B0, + LocationName.Get_The_Chip: 0x78DE08, + LocationName.Stock_Up: 0x775E00, + LocationName.StandIn_Recruit: 0x79B2B4, + LocationName.PenguinsRanAway: 0x775E00, + LocationName.Daughter_Worry: 0x77A7FC, + LocationName.Stop_Him: 0x77DAB4, + LocationName.Loan_Collection: 0x79C728, + LocationName.Lumber_Merchant: 0x79073C, + LocationName.TimeCpsl: 0x77A7FC, + LocationName.DietGood_Money: 0x76E144, + LocationName.Find_The_Virus: 0x766BFC, + LocationName.Got_A_Problem: 0x778B40, + LocationName.Songwriter: 0x792478, + LocationName.Buy_Whch_Stock: 0x792478, + LocationName.Cant_Open_Safe: 0x7A2460, + LocationName.Get_The_Bad_Guy: 0x766BFC, + LocationName.Update_Help: 0x775E00, + LocationName.Do_Something: 0x774530, + LocationName.Want_Meet_Dghtr: 0x79D158, + LocationName.Not_Engh_Member: 0x79E65C, + LocationName.Track_The_Crmnl_1: 0x7792DC, + LocationName.Track_The_Crmnl_2: 0x7792DC, + LocationName.Track_The_Crmnl_3: 0x7792DC, + LocationName.Self_Research: 0x79EBA8, + LocationName.OfficialRequest_1: 0x7A2C04, + LocationName.OfficialRequest_2: 0x7A2C04, + LocationName.OfficialRequest_3: 0x7A2C04, + LocationName.Wheres_My_Navi: 0x76CE60, + LocationName.One_More_Time: 0x766BFC, + LocationName.SupportChip_Pls: 0x7808D0, + LocationName.Negotiate: 0x7808D0, + LocationName.An_Experiment_1: 0x77767C, + LocationName.An_Experiment_2: 0x77767C, + LocationName.An_Experiment_3: 0x77767C, + LocationName.RoadToSoulBtlr: 0x79C728, + + LocationName.Lotto_Code_01: 0x756C9C, + LocationName.Lotto_Code_02: 0x756C9C, + LocationName.Lotto_Code_03: 0x756C9C, + LocationName.Lotto_Code_04: 0x756C9C, + LocationName.Lotto_Code_05: 0x756C9C, + LocationName.Lotto_Code_06: 0x756C9C, + LocationName.Lotto_Code_07: 0x756C9C, + LocationName.Lotto_Code_08: 0x756C9C, + LocationName.Lotto_Code_09: 0x756C9C, + LocationName.Lotto_Code_10: 0x756C9C, + LocationName.Lotto_Code_11: 0x756C9C, + LocationName.Lotto_Code_12: 0x756C9C, + LocationName.Lotto_Code_13: 0x756C9C, + LocationName.Lotto_Code_14: 0x756C9C, + LocationName.Lotto_Code_15: 0x756C9C, + LocationName.Lotto_Code_16: 0x756C9C, + LocationName.Lotto_Code_17: 0x756C9C, + LocationName.Lotto_Code_18: 0x756C9C, + LocationName.Lotto_Code_19: 0x756C9C, + LocationName.Lotto_Code_20: 0x756C9C, + LocationName.Lotto_Code_21: 0x756C9C, + LocationName.Lotto_Code_22: 0x756C9C, + LocationName.Lotto_Code_23: 0x756C9C, + LocationName.Lotto_Code_24: 0x756C9C, + LocationName.Lotto_Code_25: 0x756C9C, + LocationName.Lotto_Code_26: 0x756C9C, + LocationName.Lotto_Code_27: 0x756C9C, + LocationName.Lotto_Code_28: 0x756C9C, + LocationName.Lotto_Code_29: 0x756C9C, + LocationName.Lotto_Code_30: 0x756C9C, + LocationName.Lotto_Code_31: 0x756C9C, + LocationName.Lotto_Code_32: 0x756C9C, + LocationName.Lotto_Code_33: 0x756C9C, + LocationName.Lotto_Code_34: 0x756C9C, + LocationName.Lotto_Code_35: 0x756C9C, + LocationName.Lotto_Code_36: 0x756C9C, + LocationName.Lotto_Code_37: 0x756C9C, + LocationName.Lotto_Code_38: 0x756C9C, + LocationName.Lotto_Code_39: 0x756C9C, + LocationName.Lotto_Code_40: 0x756C9C, + LocationName.Lotto_Code_41: 0x756C9C, + LocationName.Lotto_Code_42: 0x756C9C, + LocationName.Lotto_Code_43: 0x756C9C, + LocationName.Lotto_Code_44: 0x756C9C, + LocationName.Lotto_Code_45: 0x756C9C, + LocationName.Lotto_Code_46: 0x756C9C, + LocationName.Lotto_Code_47: 0x756C9C, + LocationName.Lotto_Code_48: 0x756C9C, + LocationName.Lotto_Code_49: 0x756C9C, + LocationName.Lotto_Code_50: 0x756C9C, + LocationName.Lotto_Code_51: 0x756C9C, + LocationName.Lotto_Code_52: 0x756C9C, + LocationName.Lotto_Code_53: 0x756C9C, + LocationName.Lotto_Code_54: 0x756C9C, + LocationName.Lotto_Code_55: 0x756C9C, + LocationName.Lotto_Code_56: 0x756C9C, + LocationName.Lotto_Code_57: 0x756C9C, + LocationName.Lotto_Code_58: 0x756C9C +} \ No newline at end of file diff --git a/worlds/mmbn6/GregarLocations.py b/worlds/mmbn6/GregarLocations.py new file mode 100644 index 000000000000..34b2fc7bc93f --- /dev/null +++ b/worlds/mmbn6/GregarLocations.py @@ -0,0 +1,293 @@ +import typing + +from .Names.LocationName import LocationName + +gregar_update_addresses: typing.Dict[str, int] = { + LocationName.Robot_Control_Comp_1_BMD_1: 0x0A1428, + LocationName.Robot_Control_Comp_1_BMD_2: 0x0A1434, + LocationName.Robot_Control_Comp_2_BMD_1: 0x0A152C, + LocationName.Robot_Control_Comp_2_BMD_2: 0x0A1538, + LocationName.Aquarium_Comp_1_BMD_1: 0x0A1674, + LocationName.Aquarium_Comp_1_BMD_2: 0x0A1680, + LocationName.Aquarium_Comp_2_BMD_1: 0x0A1778, + LocationName.Aquarium_Comp_2_BMD_2: 0x0A1784, + LocationName.Aquarium_Comp_3_BMD_1: 0x0A187C, + LocationName.Aquarium_Comp_3_BMD_2: 0x0A1888, + LocationName.JudgeTree_Comp_1_BMD_1: 0x0A19C4, + LocationName.JudgeTree_Comp_1_BMD_2: 0x0A19D0, + LocationName.JudgeTree_Comp_2_BMD_1: 0x0A1AC8, + LocationName.JudgeTree_Comp_2_BMD_2: 0x0A1AD4, + LocationName.JudgeTree_Comp_3_BMD_1: 0x0A1BCC, + LocationName.JudgeTree_Comp_3_BMD_2: 0x0A1BD8, + LocationName.Mr_Weather_Comp_1_BMD_1: 0x0A1D14, + LocationName.Mr_Weather_Comp_1_BMD_2: 0x0A1D20, + LocationName.Mr_Weather_Comp_2_BMD_1: 0x0A1E18, + LocationName.Mr_Weather_Comp_2_BMD_2: 0x0A1E24, + LocationName.Mr_Weather_Comp_3_BMD_1: 0x0A1F1C, + LocationName.Mr_Weather_Comp_3_BMD_2: 0x0A1F28, + LocationName.Pavilion_Comp_1_BMD_1: 0x0A2064, + LocationName.Pavilion_Comp_1_BMD_2: 0x0A2070, + LocationName.Pavilion_Comp_2_BMD_1: 0x0A2168, + LocationName.Pavilion_Comp_2_BMD_2: 0x0A2174, + LocationName.Pavilion_Comp_3_BMD_1: 0x0A226C, + LocationName.Pavilion_Comp_3_BMD_2: 0x0A2278, + LocationName.Pavilion_Comp_4_BMD_1: 0x0A2370, + LocationName.Pavilion_Comp_4_BMD_2: 0x0A237C, + LocationName.ACDC_HP_BMD: 0x0A248C, + LocationName.Aquarium_HP_BMD: 0x0A24D8, + LocationName.Green_HP_BMD: 0x0A2524, + LocationName.Sky_HP_BMD: 0x0A2570, + LocationName.RoboDog_Comp_BMD: 0x0A25E8, + LocationName.Labs_Comp_1_BMD_1: 0x0A2628, + LocationName.Labs_Comp_1_BMD_2: 0x0A2634, + LocationName.Class_6_1_Comp_BMD_1: 0x0A2674, + LocationName.Class_6_1_Comp_BMD_2: 0x0A2680, + LocationName.Class_6_2_Comp_BMD: 0x0A26C0, + LocationName.Class_1_1_Comp_BMD_1: 0x0A270C, + LocationName.Class_1_1_Comp_BMD_2: 0x0A2718, + LocationName.Class_1_2_Comp_BMD_1: 0x0A2758, + LocationName.Class_1_2_Comp_BMD_2: 0x0A2764, + LocationName.Bathroom_Comp_BMD: 0x0A278C, + LocationName.Elevator_Comp_BMD: 0x0A27B4, + LocationName.Fish_Stick_Shop_Comp_BMD_1: 0x0A27F4, + LocationName.Fish_Stick_Shop_Comp_BMD_2: 0x0A2800, + LocationName.Security_Camera_Comp_BMD_1: 0x0A2840, + LocationName.Security_Camera_Comp_BMD_2: 0x0A284C, + LocationName.Book_Comp_BMD_1: 0x0A288C, + LocationName.Book_Comp_BMD_2: 0x0A2898, + LocationName.Fan_Comp_BMD_1: 0x0A28D8, + LocationName.Fan_Comp_BMD_2: 0x0A28E4, + LocationName.Air_Conditioner_Comp_BMD_1: 0x0A2924, + LocationName.Air_Conditioner_Comp_BMD_2: 0x0A2930, + LocationName.Heater_Comp_BMD_1: 0x0A2970, + LocationName.Heater_Comp_BMD_2: 0x0A297C, + LocationName.Shower_Comp_BMD_1: 0x0A29BC, + LocationName.Shower_Comp_BMD_2: 0x0A29C8, + LocationName.Heliport_Comp_BMD_1: 0x0A2A08, + LocationName.Heliport_Comp_BMD_2: 0x0A2A14, + LocationName.Labs_Comp_2_BMD: 0x0A2A98, + LocationName.Vending_Machine_Comp_BMD_1: 0x0A2AE4, + LocationName.Vending_Machine_Comp_BMD_2: 0x0A2AF0, + LocationName.Punish_Chair_Comp_BMD: 0x0A2B30, + LocationName.Water_Machine_Comp_BMD: 0x0A2B64, + LocationName.Symbol_Comp_BMD_1: 0x0A2BA4, + LocationName.Symbol_Comp_BMD_2: 0x0A2BB0, + LocationName.Monitor_Comp_BMD: 0x0A2BD8, + LocationName.Popcorn_Shop_Comp_BMD: 0x0A2C00, + LocationName.Teachers_Room_Comp_BMD_1: 0x0A2C40, + LocationName.Teachers_Room_Comp_BMD_2: 0x0A2C4C, + LocationName.Pipe_Comp_BMD: 0x0A2C74, + LocationName.Observation_Comp_BMD_1: 0x0A2CB4, + LocationName.Observation_Comp_BMD_2: 0x0A2CC0, + LocationName.Oxygen_Tank_Comp_BMD: 0x0A2D00, + LocationName.Principals_Office_Comp_BMD_1: 0x0A2D4C, + LocationName.Principals_Office_Comp_BMD_2: 0x0A2D58, + LocationName.Mascot_Comp_BMD_1: 0x0A2D98, + LocationName.Mascot_Comp_BMD_2: 0x0A2DA4, + LocationName.Stuffed_Toy_Shop_Comp_BMD_1: 0x0A2DE4, + LocationName.Stuffed_Toy_Shop_Comp_BMD_2: 0x0A2DF0, + LocationName.Dog_House_Comp_BMD_1: 0x0A2E30, + LocationName.Dog_House_Comp_BMD_2: 0x0A2E3C, + LocationName.Guide_Panel_Comp_BMD: 0x0A2E64, + LocationName.Central_Area_1_BMD_1: 0x0A2F28, + LocationName.Central_Area_1_BMD_2: 0x0A2F34, + LocationName.Central_Area_2_BMD_1: 0x0A303C, + LocationName.Central_Area_2_BMD_2: 0x0A3048, + LocationName.Central_Area_3_BMD: 0x0A3150, + LocationName.Seaside_Area_1_BMD_1: 0x0A32C0, + LocationName.Seaside_Area_1_BMD_2: 0x0A32CC, + LocationName.Seaside_Area_1_BMD_3: 0x0A3360, + LocationName.Seaside_Area_2_BMD_1: 0x0A33F8, + LocationName.Seaside_Area_2_BMD_2: 0x0A3404, + LocationName.Seaside_Area_2_BMD_3: 0x0A3498, + LocationName.Seaside_Area_3_BMD: 0x0A3518, + LocationName.Green_Area_1_BMD_1: 0x0A3688, + LocationName.Green_Area_1_BMD_2: 0x0A3728, + LocationName.Green_Area_2_BMD_1: 0x0A37C0, + LocationName.Green_Area_2_BMD_2: 0x0A37CC, + LocationName.Green_Area_2_BMD_3: 0x0A3860, + LocationName.Underground_2_BMD_1: 0x0A3A38, + LocationName.Underground_2_BMD_2: 0x0A3ACC, + LocationName.Sky_Area_1_BMD_1: 0x0A3BA8, + LocationName.Sky_Area_1_BMD_2: 0x0A3C48, + LocationName.Sky_Area_2_BMD_1: 0x0A3CE0, + LocationName.Sky_Area_2_BMD_2: 0x0A3CEC, + LocationName.Sky_Area_2_BMD_3: 0x0A3D80, + LocationName.ACDC_Area_BMD_1: 0x0A3E18, + LocationName.ACDC_Area_BMD_2: 0x0A3EB8, + LocationName.Undernet_1_BMD: 0x0A3F7C, + LocationName.Undernet_Zero_BMD_1: 0x0A40A8, + LocationName.Undernet_Zero_BMD_2: 0x0A40B4, + LocationName.Undernet_Zero_BMD_3: 0x0A40C0, + LocationName.Undernet_2_BMD: 0x0A41C8, + LocationName.Graveyard_BMD_1: 0x0A462C, + LocationName.Graveyard_BMD_2: 0x0A4638, + LocationName.Graveyard_BMD_3: 0x0A4650, + LocationName.Graveyard_BMD_4: 0x0A465C, + LocationName.Graveyard_BMD_5: 0x0A46FC, + + LocationName.ACDC_HP_PMD: 0x0A2498, + LocationName.Aquarium_HP_PMD: 0x0A24E4, + LocationName.Green_HP_PMD: 0x0A2530, + LocationName.Sky_HP_PMD: 0x0A257C, + LocationName.Class_6_2_Comp_PMD: 0x0A26CC, + LocationName.Labs_Comp_2_PMD: 0x0A2AA4, + LocationName.Punish_Chair_Comp_PMD: 0x0A2B3C, + LocationName.Oxygen_Tank_Comp_PMD: 0x0A2D0C, + LocationName.Central_Area_3_PMD: 0x0A315C, + LocationName.Seaside_Area_3_PMD: 0x0A3524, + LocationName.Green_Area_1_PMD: 0x0A3694, + LocationName.Underground_1_PMD_1: 0x0A3924, + LocationName.Underground_1_PMD_2: 0x0A3930, + LocationName.Sky_Area_1_PMD: 0x0A3BB4, + LocationName.ACDC_Area_PMD: 0x0A3E24, + LocationName.Undernet_1_PMD: 0x0A3F88, + LocationName.Undernet_2_PMD: 0x0A41D4, + LocationName.Graveyard_PMD_1: 0x0A4644, + LocationName.Graveyard_PMD_2: 0x0A4668, + + LocationName.School_Mr_Quiz: 0x76C83C, + LocationName.Aquarium_Quiz_Master: 0x777218, + LocationName.Green_Quiz_King: 0x77C55C, + LocationName.Central_Barr100_H_Trade: 0x764B38, + LocationName.Aquarium_PnlRetrn_star_Trade: 0x7991F0, + LocationName.Green_HolyPnl_S_Trade: 0x77A888, + LocationName.AirCon_AuraHed1_B_Trade: 0x79E718, + LocationName.Class_1_2_EnergBom_K_Trade: 0x76B554, + LocationName.Aquarium_DublShot_C_Trade: 0x773D3C, + LocationName.WatrMchn_HiBoomer_V_Trade: 0x79F4DC, + LocationName.Sky_GrabRvng_I_Trade: 0x77F4A0, + LocationName.ACDC_BigBomb_O_Trade: 0x798A08, + LocationName.Class_6_1_Grid: 0x755468, + LocationName.Seaside_Auditorium_Trash_Can: 0x758FA0, + LocationName.Seaside_Control_Room_Ladder: 0x759248, + LocationName.Green_Foyer_Flowers: 0x759870, + LocationName.Sky_Air_Tank: 0x75A3F4, + LocationName.ACDC_Dexs_Door: 0x753814, + LocationName.Principals_Coffee_Table: 0x7573BC, + LocationName.Seaside_Pavilion_Waterfall: 0x75AF00, + LocationName.Central_1_Net_Cafe: 0x782844, + LocationName.Green_2_Net_Cafe: 0x78E678, + LocationName.Sky_1_Net_Cafe: 0x7903B4, + LocationName.Central_2_Heel_Navi: 0x784DDC, + LocationName.Class_1_2_Heel_Navi: 0x79D0F4, + LocationName.Seaside_Auditorium_Man: 0x776A7C, + LocationName.Aquarium_Comp_1_Navi: 0x795DD0, + LocationName.Green_1_Heel_Navi: 0x78D2A0, + LocationName.Undernet_Zero_Heel_Navi: 0x794404, + LocationName.Green_Punishment_Room_Prog: 0x77C318, + LocationName.Sky_1_Brown_Navi: 0x7903B4, + LocationName.Bass: 0x7D6DC0, + LocationName.Bass_SP: 0x7D7414, + LocationName.Talk_To_Mayl: 0x766E28, + LocationName.ElecMan_Class: 0x7BFE50, + LocationName.SlashMan_Class: 0x7BA78C, + LocationName.EraseMan_Class: 0x7C9D54, + LocationName.ChargeMan_Class: 0x7CB584, + LocationName.RoboDog_Comp_Virus_Battler: 0x79B9B0, + LocationName.Water_Machine_Comp_Virus_Battler: 0x79F4DC, + LocationName.Punish_Chair_Comp_Virus_Battler: 0x79F080, + LocationName.Oxygen_Tank_Comp_Virus_Battler: 0x7A10BC, + LocationName.Central_1_Virus_Battler: 0x782844, + + LocationName.Virus_Deletion: 0x76A1E4, + LocationName.Find_Keepsake: 0x764B38, + LocationName.Errand_Request: 0x76EDFC, + LocationName.For_Victory: 0x782844, + LocationName.JuvenileDiv: 0x79FE54, + LocationName.Somebody_Help: 0x7953EC, + LocationName.Get_The_Chip: 0x78BD44, + LocationName.Stock_Up: 0x773D3C, + LocationName.StandIn_Recruit: 0x7991F0, + LocationName.PenguinsRanAway: 0x773D3C, + LocationName.Daughter_Worry: 0x778738, + LocationName.Stop_Him: 0x77B9F0, + LocationName.Loan_Collection: 0x79A664, + LocationName.Lumber_Merchant: 0x78E678, + LocationName.TimeCpsl: 0x778738, + LocationName.DietGood_Money: 0x76C080, + LocationName.Find_The_Virus: 0x764B38, + LocationName.Got_A_Problem: 0x776A7C, + LocationName.Songwriter: 0x7903B4, + LocationName.Buy_Whch_Stock: 0x7903B4, + LocationName.Cant_Open_Safe: 0x7A039C, + LocationName.Get_The_Bad_Guy: 0x764B38, + LocationName.Update_Help: 0x773D3C, + LocationName.Do_Something: 0x77246C, + LocationName.Want_Meet_Dghtr: 0x79B094, + LocationName.Not_Engh_Member: 0x79C598, + LocationName.Track_The_Crmnl_1: 0x777218, + LocationName.Track_The_Crmnl_2: 0x777218, + LocationName.Track_The_Crmnl_3: 0x777218, + LocationName.Self_Research: 0x79CAE4, + LocationName.OfficialRequest_1: 0x7A0B40, + LocationName.OfficialRequest_2: 0x7A0B40, + LocationName.OfficialRequest_3: 0x7A0B40, + LocationName.Wheres_My_Navi: 0x76AD9C, + LocationName.One_More_Time: 0x764B38, + LocationName.SupportChip_Pls: 0x77E80C, + LocationName.Negotiate: 0x77E80C, + LocationName.An_Experiment_1: 0x7755B8, + LocationName.An_Experiment_2: 0x7755B8, + LocationName.An_Experiment_3: 0x7755B8, + LocationName.RoadToSoulBtlr: 0x79A664, + + LocationName.Lotto_Code_01: 0x754BD8, + LocationName.Lotto_Code_02: 0x754BD8, + LocationName.Lotto_Code_03: 0x754BD8, + LocationName.Lotto_Code_04: 0x754BD8, + LocationName.Lotto_Code_05: 0x754BD8, + LocationName.Lotto_Code_06: 0x754BD8, + LocationName.Lotto_Code_07: 0x754BD8, + LocationName.Lotto_Code_08: 0x754BD8, + LocationName.Lotto_Code_09: 0x754BD8, + LocationName.Lotto_Code_10: 0x754BD8, + LocationName.Lotto_Code_11: 0x754BD8, + LocationName.Lotto_Code_12: 0x754BD8, + LocationName.Lotto_Code_13: 0x754BD8, + LocationName.Lotto_Code_14: 0x754BD8, + LocationName.Lotto_Code_15: 0x754BD8, + LocationName.Lotto_Code_16: 0x754BD8, + LocationName.Lotto_Code_17: 0x754BD8, + LocationName.Lotto_Code_18: 0x754BD8, + LocationName.Lotto_Code_19: 0x754BD8, + LocationName.Lotto_Code_20: 0x754BD8, + LocationName.Lotto_Code_21: 0x754BD8, + LocationName.Lotto_Code_22: 0x754BD8, + LocationName.Lotto_Code_23: 0x754BD8, + LocationName.Lotto_Code_24: 0x754BD8, + LocationName.Lotto_Code_25: 0x754BD8, + LocationName.Lotto_Code_26: 0x754BD8, + LocationName.Lotto_Code_27: 0x754BD8, + LocationName.Lotto_Code_28: 0x754BD8, + LocationName.Lotto_Code_29: 0x754BD8, + LocationName.Lotto_Code_30: 0x754BD8, + LocationName.Lotto_Code_31: 0x754BD8, + LocationName.Lotto_Code_32: 0x754BD8, + LocationName.Lotto_Code_33: 0x754BD8, + LocationName.Lotto_Code_34: 0x754BD8, + LocationName.Lotto_Code_35: 0x754BD8, + LocationName.Lotto_Code_36: 0x754BD8, + LocationName.Lotto_Code_37: 0x754BD8, + LocationName.Lotto_Code_38: 0x754BD8, + LocationName.Lotto_Code_39: 0x754BD8, + LocationName.Lotto_Code_40: 0x754BD8, + LocationName.Lotto_Code_41: 0x754BD8, + LocationName.Lotto_Code_42: 0x754BD8, + LocationName.Lotto_Code_43: 0x754BD8, + LocationName.Lotto_Code_44: 0x754BD8, + LocationName.Lotto_Code_45: 0x754BD8, + LocationName.Lotto_Code_46: 0x754BD8, + LocationName.Lotto_Code_47: 0x754BD8, + LocationName.Lotto_Code_48: 0x754BD8, + LocationName.Lotto_Code_49: 0x754BD8, + LocationName.Lotto_Code_50: 0x754BD8, + LocationName.Lotto_Code_51: 0x754BD8, + LocationName.Lotto_Code_52: 0x754BD8, + LocationName.Lotto_Code_53: 0x754BD8, + LocationName.Lotto_Code_54: 0x754BD8, + LocationName.Lotto_Code_55: 0x754BD8, + LocationName.Lotto_Code_56: 0x754BD8, + LocationName.Lotto_Code_57: 0x754BD8, + LocationName.Lotto_Code_58: 0x754BD8 +} \ No newline at end of file diff --git a/worlds/mmbn6/Items.py b/worlds/mmbn6/Items.py index 957e98c1e6b5..fa42a0cd1833 100644 --- a/worlds/mmbn6/Items.py +++ b/worlds/mmbn6/Items.py @@ -122,24 +122,29 @@ class MMBN6Item(Item): # Used to unlock Graveyard Area # ItemData(0x, ItemName.ScrtMemo, ItemClassification.filler, ItemType.KeyItem, 52), #Job related? ItemData(0xB61010, ItemName.HeatCross, ItemClassification.progression, ItemType.KeyItem, 53), + ItemData(0xB610EF, ItemName.SpoutCross, ItemClassification.progression, ItemType.KeyItem, 53), # Renamed from QuizData # ItemData(0x, ItemName.ScrblDat, ItemClassification.filler, ItemType.KeyItem, 54), #Job related? ItemData(0xB61011, ItemName.SlashCross, ItemClassification.progression, ItemType.KeyItem, 55), + ItemData(0xB610F0, ItemName.TenguCross, ItemClassification.progression, ItemType.KeyItem, 55), # Renamed from PngnThnk ItemData(0xB61012, ItemName.ElecCross, ItemClassification.progression, ItemType.KeyItem, 56), + ItemData(0xB610F1, ItemName.TomahawkCross, ItemClassification.progression, ItemType.KeyItem, 56), # Renamed from RefrncBk ItemData(0xB61013, ItemName.OrderSys, ItemClassification.progression, ItemType.KeyItem, 57), # Renamed QuizBook to be OrderSys ItemData(0xB61014, ItemName.EraseCross, ItemClassification.progression, ItemType.KeyItem, 58), + ItemData(0xB610F2, ItemName.GroundCross, ItemClassification.progression, ItemType.KeyItem, 58), # Renamed from InvteCrd # ItemData(0x, ItemName.ThnkULtr, ItemClassification.filler, ItemType.KeyItem, 59), #Job related? ItemData(0xB61015, ItemName.ChargeCross, ItemClassification.progression, ItemType.KeyItem, 60), + ItemData(0xB610F3, ItemName.DustCross, ItemClassification.progression, ItemType.KeyItem, 60), # Renamed from SrialDat # ItemData(0x, ItemName.SciManul, ItemClassification.filler, ItemType.KeyItem, 61), #Reward for Self Research request, lotto code. Renamed to AP Item # ItemData(0x, ItemName.SoulEmbl, ItemClassification.filler, ItemType.KeyItem, 62), #Reward for RodToSoulBtlr! request, lotto code # ItemData(0x, ItemName.NaviRuin, ItemClassification.filler, ItemType.KeyItem, 63), #Needed in Where's My Navi request - # ItemData(0x, ItemName.BtlrCard, ItemClassification.filler, ItemType.KeyItem, 64), #Unlocks Virus Battler and rare viruses + ItemData(0xB610F6, ItemName.BtlrCard, ItemClassification.progression, ItemType.KeyItem, 64), #Unlocks Virus Battler and rare viruses # ItemData(0x, ItemName.F.Fries, ItemClassification.filler, ItemType.KeyItem, 65), #Needed in Got a Problem. request ItemData(0xB61016, ItemName.CybBrdAx, ItemClassification.progression, ItemType.KeyItem, 66), # Used to go from Central 3 to Green Area @@ -343,7 +348,9 @@ class MMBN6Item(Item): ItemData(0xB61097, ItemName.WindRack_star, ItemClassification.filler, ItemType.Chip, 80, chip_code('*')), # Virus Battler ItemData(0xB61098, ItemName.YoYo_N, ItemClassification.filler, ItemType.Chip, 19, chip_code('N')), # BMD - ItemData(0xB61099, ItemName.YoYo_star, ItemClassification.filler, ItemType.Chip, 19, chip_code('*')) # BMD + ItemData(0xB61099, ItemName.YoYo_star, ItemClassification.filler, ItemType.Chip, 19, chip_code('*')), # BMD + ItemData(0xB610F4, ItemName.Bass_F, ItemClassification.useful, ItemType.Chip, 301, chip_code('F')), # Bass SP + ItemData(0xB610F5, ItemName.BassAnly_F, ItemClassification.useful, ItemType.Chip, 306, chip_code('F')) # Bass SP ] secretChipList: typing.List[ItemData] = [ @@ -498,12 +505,31 @@ class MMBN6Item(Item): "BugFrags": {loc.itemName for loc in bugFragList} } +gregar_only_items = { + ItemName.HeatCross, + ItemName.ElecCross, + ItemName.SlashCross, + ItemName.EraseCross, + ItemName.ChargeCross, + ItemName.Bass_F +} + +falzar_only_items = { + ItemName.SpoutCross, + ItemName.TomahawkCross, + ItemName.TenguCross, + ItemName.GroundCross, + ItemName.DustCross, + ItemName.BassAnly_F +} + all_items: typing.List[ ItemData] = keyItemList + subChipList + chipList + secretChipList + programList + zennyList + bugFragList item_table: typing.Dict[str, ItemData] = {item.itemName: item for item in all_items} items_by_id: typing.Dict[int, ItemData] = {item.code: item for item in all_items} -# Used to get the index in the chip amounts array +# Used to get the index in the chip amounts array. To calculate: ((ChipID - 1) * 12) + (1 * codeNumber) +# Codes are in alphabetic order based on the available codes for that chip, 0 indexed chips_amount_index: typing.Dict[str, int] = { ItemName.AirHocky_M: 589, ItemName.AirSpin2_L: 1513, @@ -516,6 +542,8 @@ class MMBN6Item(Item): ItemName.Atk_30_star: 2328, ItemName.AuraHed1_B: 1128, ItemName.Barr100_H: 2136, + ItemName.Bass_F: 3600, + ItemName.BassAnly_F: 3660, ItemName.BigBomb_O: 2412, ItemName.BigBomb_P: 2413, ItemName.BlastMan_star: 3073, diff --git a/worlds/mmbn6/Locations.py b/worlds/mmbn6/Locations.py index 42ef3e182b3e..31a2a02e5b7b 100644 --- a/worlds/mmbn6/Locations.py +++ b/worlds/mmbn6/Locations.py @@ -50,295 +50,305 @@ class MMBN6Location(Location): bmds = [ - LocationData(LocationName.Robot_Control_Comp_1_BMD_1, 0xB61001, 0x1F24, 0x80, LocationType.BlueMysteryData, 0x0A1428), - LocationData(LocationName.Robot_Control_Comp_1_BMD_2, 0xB61002, 0x1F24, 0x40, LocationType.BlueMysteryData, 0x0A1434), - LocationData(LocationName.Robot_Control_Comp_2_BMD_1, 0xB61003, 0x1F25, 0x80, LocationType.BlueMysteryData, 0x0A152C), - LocationData(LocationName.Robot_Control_Comp_2_BMD_2, 0xB61004, 0x1F25, 0x40, LocationType.BlueMysteryData, 0x0A1538), - LocationData(LocationName.Aquarium_Comp_1_BMD_1, 0xB61005, 0x1F28, 0x80, LocationType.BlueMysteryData, 0x0A1674), - LocationData(LocationName.Aquarium_Comp_1_BMD_2, 0xB61006, 0x1F28, 0x40, LocationType.BlueMysteryData, 0x0A1680), - LocationData(LocationName.Aquarium_Comp_2_BMD_1, 0xB61007, 0x1F29, 0x80, LocationType.BlueMysteryData, 0x0A1778), - LocationData(LocationName.Aquarium_Comp_2_BMD_2, 0xB61008, 0x1F29, 0x40, LocationType.BlueMysteryData, 0x0A1784), - LocationData(LocationName.Aquarium_Comp_3_BMD_1, 0xB61009, 0x1F2A, 0x80, LocationType.BlueMysteryData, 0x0A187C), - LocationData(LocationName.Aquarium_Comp_3_BMD_2, 0xB6100A, 0x1F2A, 0x40, LocationType.BlueMysteryData, 0x0A1888), - LocationData(LocationName.JudgeTree_Comp_1_BMD_1, 0xB6100B, 0x1F2C, 0x80, LocationType.BlueMysteryData, 0x0A19C4), - LocationData(LocationName.JudgeTree_Comp_1_BMD_2, 0xB6100C, 0x1F2C, 0x40, LocationType.BlueMysteryData, 0x0A19D0), - LocationData(LocationName.JudgeTree_Comp_2_BMD_1, 0xB6100D, 0x1F2D, 0x80, LocationType.BlueMysteryData, 0x0A1AC8), - LocationData(LocationName.JudgeTree_Comp_2_BMD_2, 0xB6100E, 0x1F2D, 0x40, LocationType.BlueMysteryData, 0x0A1AD4), - LocationData(LocationName.JudgeTree_Comp_3_BMD_1, 0xB6100F, 0x1F2E, 0x80, LocationType.BlueMysteryData, 0x0A1BCC), - LocationData(LocationName.JudgeTree_Comp_3_BMD_2, 0xB61010, 0x1F2E, 0x40, LocationType.BlueMysteryData, 0x0A1BD8), - LocationData(LocationName.Mr_Weather_Comp_1_BMD_1, 0xB61011, 0x1F30, 0x80, LocationType.BlueMysteryData, 0x0A1D14), - LocationData(LocationName.Mr_Weather_Comp_1_BMD_2, 0xB61012, 0x1F30, 0x40, LocationType.BlueMysteryData, 0x0A1D20), - LocationData(LocationName.Mr_Weather_Comp_2_BMD_1, 0xB61013, 0x1F31, 0x80, LocationType.BlueMysteryData, 0x0A1E18), - LocationData(LocationName.Mr_Weather_Comp_2_BMD_2, 0xB61014, 0x1F31, 0x40, LocationType.BlueMysteryData, 0x0A1E24), - LocationData(LocationName.Mr_Weather_Comp_3_BMD_1, 0xB61015, 0x1F32, 0x80, LocationType.BlueMysteryData, 0x0A1F1C), - LocationData(LocationName.Mr_Weather_Comp_3_BMD_2, 0xB61016, 0x1F32, 0x40, LocationType.BlueMysteryData, 0x0A1F28), - LocationData(LocationName.Pavilion_Comp_1_BMD_1, 0xB61017, 0x1F38, 0x80, LocationType.BlueMysteryData, 0x0A2064), - LocationData(LocationName.Pavilion_Comp_1_BMD_2, 0xB61018, 0x1F38, 0x40, LocationType.BlueMysteryData, 0x0A2070), - LocationData(LocationName.Pavilion_Comp_2_BMD_1, 0xB61019, 0x1F38, 0x08, LocationType.BlueMysteryData, 0x0A2168), - LocationData(LocationName.Pavilion_Comp_2_BMD_2, 0xB6101A, 0x1F38, 0x04, LocationType.BlueMysteryData, 0x0A2174), - LocationData(LocationName.Pavilion_Comp_3_BMD_1, 0xB6101B, 0x1F39, 0x80, LocationType.BlueMysteryData, 0x0A226C), - LocationData(LocationName.Pavilion_Comp_3_BMD_2, 0xB6101C, 0x1F39, 0x40, LocationType.BlueMysteryData, 0x0A2278), - LocationData(LocationName.Pavilion_Comp_4_BMD_1, 0xB6101D, 0x1F39, 0x08, LocationType.BlueMysteryData, 0x0A2370), - LocationData(LocationName.Pavilion_Comp_4_BMD_2, 0xB6101E, 0x1F39, 0x04, LocationType.BlueMysteryData, 0x0A237C), - LocationData(LocationName.ACDC_HP_BMD, 0xB6101F, 0x1F40, 0x08, LocationType.BlueMysteryData, 0x0A248C), - LocationData(LocationName.Aquarium_HP_BMD, 0xB61020, 0x1F41, 0x08, LocationType.BlueMysteryData, 0x0A24D8), - LocationData(LocationName.Green_HP_BMD, 0xB61021, 0x1F42, 0x08, LocationType.BlueMysteryData, 0x0A2524), - LocationData(LocationName.Sky_HP_BMD, 0xB61022, 0x1F43, 0x80, LocationType.BlueMysteryData, 0x0A2570), - LocationData(LocationName.RoboDog_Comp_BMD, 0xB61023, 0x1F48, 0x80, LocationType.BlueMysteryData, 0x0A25E8), - LocationData(LocationName.Labs_Comp_1_BMD_1, 0xB61024, 0x1F48, 0x20, LocationType.BlueMysteryData, 0x0A2628), - LocationData(LocationName.Labs_Comp_1_BMD_2, 0xB61025, 0x1F48, 0x10, LocationType.BlueMysteryData, 0x0A2634), - LocationData(LocationName.Class_6_1_Comp_BMD_1, 0xB61026, 0x1F48, 0x08, LocationType.BlueMysteryData, 0x0A2674), - LocationData(LocationName.Class_6_1_Comp_BMD_2, 0xB61027, 0x1F48, 0x04, LocationType.BlueMysteryData, 0x0A2680), - LocationData(LocationName.Class_6_2_Comp_BMD, 0xB61028, 0x1F48, 0x02, LocationType.BlueMysteryData, 0x0A26C0), - LocationData(LocationName.Class_1_1_Comp_BMD_1, 0xB61029, 0x1F49, 0x80, LocationType.BlueMysteryData, 0x0A270C), - LocationData(LocationName.Class_1_1_Comp_BMD_2, 0xB6102A, 0x1F49, 0x40, LocationType.BlueMysteryData, 0x0A2718), - LocationData(LocationName.Class_1_2_Comp_BMD_1, 0xB6102B, 0x1F49, 0x20, LocationType.BlueMysteryData, 0x0A2758), - LocationData(LocationName.Class_1_2_Comp_BMD_2, 0xB6102C, 0x1F49, 0x10, LocationType.BlueMysteryData, 0x0A2764), - LocationData(LocationName.Bathroom_Comp_BMD, 0xB6102D, 0x1F49, 0x08, LocationType.BlueMysteryData, 0x0A278C), - LocationData(LocationName.Elevator_Comp_BMD, 0xB6102E, 0x1F49, 0x02, LocationType.BlueMysteryData, 0x0A27B4), - LocationData(LocationName.Fish_Stick_Shop_Comp_BMD_1, 0xB6102F, 0x1F4A, 0x80, LocationType.BlueMysteryData, 0x0A27F4), - LocationData(LocationName.Fish_Stick_Shop_Comp_BMD_2, 0xB61030, 0x1F4A, 0x40, LocationType.BlueMysteryData, 0x0A2800), - LocationData(LocationName.Security_Camera_Comp_BMD_1, 0xB61031, 0x1F4A, 0x20, LocationType.BlueMysteryData, 0x0A2840), - LocationData(LocationName.Security_Camera_Comp_BMD_2, 0xB61032, 0x1F4A, 0x10, LocationType.BlueMysteryData, 0x0A284C), - LocationData(LocationName.Book_Comp_BMD_1, 0xB61033, 0x1F4A, 0x08, LocationType.BlueMysteryData, 0x0A288C), - LocationData(LocationName.Book_Comp_BMD_2, 0xB61034, 0x1F4A, 0x04, LocationType.BlueMysteryData, 0x0A2898), - LocationData(LocationName.Fan_Comp_BMD_1, 0xB61035, 0x1F4A, 0x02, LocationType.BlueMysteryData, 0x0A28D8), - LocationData(LocationName.Fan_Comp_BMD_2, 0xB61036, 0x1F4A, 0x01, LocationType.BlueMysteryData, 0x0A28E4), - LocationData(LocationName.Air_Conditioner_Comp_BMD_1, 0xB61037, 0x1F4B, 0x80, LocationType.BlueMysteryData, 0x0A2924), - LocationData(LocationName.Air_Conditioner_Comp_BMD_2, 0xB61038, 0x1F4B, 0x40, LocationType.BlueMysteryData, 0x0A2930), - LocationData(LocationName.Heater_Comp_BMD_1, 0xB61039, 0x1F4B, 0x20, LocationType.BlueMysteryData, 0x0A2970), - LocationData(LocationName.Heater_Comp_BMD_2, 0xB6103A, 0x1F4B, 0x10, LocationType.BlueMysteryData, 0x0A297C), - LocationData(LocationName.Shower_Comp_BMD_1, 0xB6103B, 0x1F4B, 0x08, LocationType.BlueMysteryData, 0x0A29BC), - LocationData(LocationName.Shower_Comp_BMD_2, 0xB6103C, 0x1F4B, 0x04, LocationType.BlueMysteryData, 0x0A29C8), - LocationData(LocationName.Heliport_Comp_BMD_1, 0xB6103D, 0x1F4B, 0x02, LocationType.BlueMysteryData, 0x0A2A08), - LocationData(LocationName.Heliport_Comp_BMD_2, 0xB6103E, 0x1F4B, 0x01, LocationType.BlueMysteryData, 0x0A2A14), - LocationData(LocationName.Labs_Comp_2_BMD, 0xB6103F, 0x1F4C, 0x80, LocationType.BlueMysteryData, 0x0A2A98), - LocationData(LocationName.Vending_Machine_Comp_BMD_1, 0xB61040, 0x1F4C, 0x20, LocationType.BlueMysteryData, 0x0A2AE4), - LocationData(LocationName.Vending_Machine_Comp_BMD_2, 0xB61041, 0x1F4C, 0x10, LocationType.BlueMysteryData, 0x0A2AF0), - LocationData(LocationName.Punish_Chair_Comp_BMD, 0xB61042, 0x1F4C, 0x08, LocationType.BlueMysteryData, 0x0A2B30), - LocationData(LocationName.Water_Machine_Comp_BMD, 0xB61043, 0x1F4C, 0x02, LocationType.BlueMysteryData, 0x0A2B64), - LocationData(LocationName.Symbol_Comp_BMD_1, 0xB61044, 0x1F4D, 0x80, LocationType.BlueMysteryData, 0x0A2BA4), - LocationData(LocationName.Symbol_Comp_BMD_2, 0xB61045, 0x1F4D, 0x40, LocationType.BlueMysteryData, 0x0A2BB0), - LocationData(LocationName.Monitor_Comp_BMD, 0xB61046, 0x1F4D, 0x20, LocationType.BlueMysteryData, 0x0A2BD8), - LocationData(LocationName.Popcorn_Shop_Comp_BMD, 0xB61047, 0x1F4D, 0x08, LocationType.BlueMysteryData, 0x0A2C00), - LocationData(LocationName.Teachers_Room_Comp_BMD_1, 0xB61048, 0x1F4D, 0x02, LocationType.BlueMysteryData, 0x0A2C40), - LocationData(LocationName.Teachers_Room_Comp_BMD_2, 0xB61049, 0x1F4D, 0x01, LocationType.BlueMysteryData, 0x0A2C4C), - LocationData(LocationName.Pipe_Comp_BMD, 0xB6104A, 0x1F4E, 0x80, LocationType.BlueMysteryData, 0x0A2C74), - LocationData(LocationName.Observation_Comp_BMD_1, 0xB6104B, 0x1F4E, 0x20, LocationType.BlueMysteryData, 0x0A2CB4), - LocationData(LocationName.Observation_Comp_BMD_2, 0xB6104C, 0x1F4E, 0x10, LocationType.BlueMysteryData, 0x0A2CC0), - LocationData(LocationName.Oxygen_Tank_Comp_BMD, 0xB6104D, 0x1F4E, 0x08, LocationType.BlueMysteryData, 0x0A2D00), - LocationData(LocationName.Principals_Office_Comp_BMD_1, 0xB6104E, 0x1F4E, 0x02, LocationType.BlueMysteryData, 0x0A2D4C), - LocationData(LocationName.Principals_Office_Comp_BMD_2, 0xB6104F, 0x1F4E, 0x01, LocationType.BlueMysteryData, 0x0A2D58), - LocationData(LocationName.Mascot_Comp_BMD_1, 0xB61050, 0x1F4F, 0x80, LocationType.BlueMysteryData, 0x0A2D98), - LocationData(LocationName.Mascot_Comp_BMD_2, 0xB61051, 0x1F4F, 0x40, LocationType.BlueMysteryData, 0x0A2DA4), - LocationData(LocationName.Stuffed_Toy_Shop_Comp_BMD_1, 0xB61052, 0x1F4F, 0x20, LocationType.BlueMysteryData, 0x0A2DE4), - LocationData(LocationName.Stuffed_Toy_Shop_Comp_BMD_2, 0xB61053, 0x1F4F, 0x10, LocationType.BlueMysteryData, 0x0A2DF0), - LocationData(LocationName.Dog_House_Comp_BMD_1, 0xB61054, 0x1F4F, 0x08, LocationType.BlueMysteryData, 0x0A2E30), - LocationData(LocationName.Dog_House_Comp_BMD_2, 0xB61055, 0x1F4F, 0x04, LocationType.BlueMysteryData, 0x0A2E3C), - LocationData(LocationName.Guide_Panel_Comp_BMD, 0xB61056, 0x1F4F, 0x02, LocationType.BlueMysteryData, 0x0A2E64), - LocationData(LocationName.Central_Area_1_BMD_1, 0xB61057, 0x1F08, 0x80, LocationType.BlueMysteryData, 0x0A2F28), - LocationData(LocationName.Central_Area_1_BMD_2, 0xB61058, 0x1F08, 0x40, LocationType.BlueMysteryData, 0x0A2F34), - LocationData(LocationName.Central_Area_2_BMD_1, 0xB61059, 0x1F09, 0x80, LocationType.BlueMysteryData, 0x0A303C), - LocationData(LocationName.Central_Area_2_BMD_2, 0xB6105A, 0x1F09, 0x40, LocationType.BlueMysteryData, 0x0A3048), - LocationData(LocationName.Central_Area_3_BMD, 0xB6105B, 0x1F0A, 0x80, LocationType.BlueMysteryData, 0x0A3150), - LocationData(LocationName.Seaside_Area_1_BMD_1, 0xB6105C, 0x1F0C, 0x80, LocationType.BlueMysteryData, 0x0A32C0), - LocationData(LocationName.Seaside_Area_1_BMD_2, 0xB6105D, 0x1F0C, 0x40, LocationType.BlueMysteryData, 0x0A32CC), - LocationData(LocationName.Seaside_Area_1_BMD_3, 0xB6105E, 0x1F0C, 0x08, LocationType.BlueMysteryData, 0x0A3360), - LocationData(LocationName.Seaside_Area_2_BMD_1, 0xB6105F, 0x1F0D, 0x80, LocationType.BlueMysteryData, 0x0A33F8), - LocationData(LocationName.Seaside_Area_2_BMD_2, 0xB61060, 0x1F0D, 0x40, LocationType.BlueMysteryData, 0x0A3404), - LocationData(LocationName.Seaside_Area_2_BMD_3, 0xB61061, 0x1F0D, 0x08, LocationType.BlueMysteryData, 0x0A3498), - LocationData(LocationName.Seaside_Area_3_BMD, 0xB61062, 0x1F0E, 0x80, LocationType.BlueMysteryData, 0x0A3518), - LocationData(LocationName.Green_Area_1_BMD_1, 0xB61063, 0x1F10, 0x80, LocationType.BlueMysteryData, 0x0A3688), - LocationData(LocationName.Green_Area_1_BMD_2, 0xB61064, 0x1F10, 0x08, LocationType.BlueMysteryData, 0x0A3728), - LocationData(LocationName.Green_Area_2_BMD_1, 0xB61065, 0x1F11, 0x80, LocationType.BlueMysteryData, 0x0A37C0), - LocationData(LocationName.Green_Area_2_BMD_2, 0xB61066, 0x1F11, 0x40, LocationType.BlueMysteryData, 0x0A37CC), - LocationData(LocationName.Green_Area_2_BMD_3, 0xB61067, 0x1F11, 0x08, LocationType.BlueMysteryData, 0x0A3860), - LocationData(LocationName.Underground_2_BMD_1, 0xB61068, 0x1F15, 0x80, LocationType.BlueMysteryData, 0x0A3A38), - LocationData(LocationName.Underground_2_BMD_2, 0xB61069, 0x1F15, 0x08, LocationType.BlueMysteryData, 0x0A3ACC), - LocationData(LocationName.Sky_Area_1_BMD_1, 0xB6106A, 0x1F18, 0x80, LocationType.BlueMysteryData, 0x0A3BA8), - LocationData(LocationName.Sky_Area_1_BMD_2, 0xB6106B, 0x1F18, 0x08, LocationType.BlueMysteryData, 0x0A3C48), - LocationData(LocationName.Sky_Area_2_BMD_1, 0xB6106C, 0x1F19, 0x80, LocationType.BlueMysteryData, 0x0A3CE0), - LocationData(LocationName.Sky_Area_2_BMD_2, 0xB6106D, 0x1F19, 0x40, LocationType.BlueMysteryData, 0x0A3CEC), - LocationData(LocationName.Sky_Area_2_BMD_3, 0xB6106E, 0x1F19, 0x08, LocationType.BlueMysteryData, 0x0A3D80), - LocationData(LocationName.ACDC_Area_BMD_1, 0xB6106F, 0x1F1A, 0x80, LocationType.BlueMysteryData, 0x0A3E18), - LocationData(LocationName.ACDC_Area_BMD_2, 0xB61070, 0x1F1A, 0x08, LocationType.BlueMysteryData, 0x0A3EB8), - LocationData(LocationName.Undernet_1_BMD, 0xB61071, 0x1F1C, 0x80, LocationType.BlueMysteryData, 0x0A3F7C), - LocationData(LocationName.Undernet_Zero_BMD_1, 0xB61072, 0x1F1D, 0x80, LocationType.BlueMysteryData, 0x0A40A8), - LocationData(LocationName.Undernet_Zero_BMD_2, 0xB61073, 0x1F1D, 0x40, LocationType.BlueMysteryData, 0x0A40B4), - LocationData(LocationName.Undernet_Zero_BMD_3, 0xB61074, 0x1F1D, 0x20, LocationType.BlueMysteryData, 0x0A40C0), - LocationData(LocationName.Undernet_2_BMD, 0xB61075, 0x1F1E, 0x80, LocationType.BlueMysteryData, 0x0A41C8), - LocationData(LocationName.Graveyard_BMD_1, 0xB61076, 0x1F21, 0x80, LocationType.BlueMysteryData, 0x0A462C), - LocationData(LocationName.Graveyard_BMD_2, 0xB61077, 0x1F21, 0x40, LocationType.BlueMysteryData, 0x0A4638), - LocationData(LocationName.Graveyard_BMD_3, 0xB61078, 0x1F21, 0x10, LocationType.BlueMysteryData, 0x0A4650), - LocationData(LocationName.Graveyard_BMD_4, 0xB61079, 0x1F21, 0x08, LocationType.BlueMysteryData, 0x0A465C), - LocationData(LocationName.Graveyard_BMD_5, 0xB6107A, 0x1F23, 0x01, LocationType.BlueMysteryData, 0x0A46FC) + LocationData(LocationName.Robot_Control_Comp_1_BMD_1, 0xB61001, 0x1F24, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Robot_Control_Comp_1_BMD_2, 0xB61002, 0x1F24, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Robot_Control_Comp_2_BMD_1, 0xB61003, 0x1F25, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Robot_Control_Comp_2_BMD_2, 0xB61004, 0x1F25, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_1_BMD_1, 0xB61005, 0x1F28, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_1_BMD_2, 0xB61006, 0x1F28, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_2_BMD_1, 0xB61007, 0x1F29, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_2_BMD_2, 0xB61008, 0x1F29, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_3_BMD_1, 0xB61009, 0x1F2A, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_Comp_3_BMD_2, 0xB6100A, 0x1F2A, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_1_BMD_1, 0xB6100B, 0x1F2C, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_1_BMD_2, 0xB6100C, 0x1F2C, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_2_BMD_1, 0xB6100D, 0x1F2D, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_2_BMD_2, 0xB6100E, 0x1F2D, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_3_BMD_1, 0xB6100F, 0x1F2E, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.JudgeTree_Comp_3_BMD_2, 0xB61010, 0x1F2E, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_1_BMD_1, 0xB61011, 0x1F30, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_1_BMD_2, 0xB61012, 0x1F30, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_2_BMD_1, 0xB61013, 0x1F31, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_2_BMD_2, 0xB61014, 0x1F31, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_3_BMD_1, 0xB61015, 0x1F32, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mr_Weather_Comp_3_BMD_2, 0xB61016, 0x1F32, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_1_BMD_1, 0xB61017, 0x1F38, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_1_BMD_2, 0xB61018, 0x1F38, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_2_BMD_1, 0xB61019, 0x1F38, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_2_BMD_2, 0xB6101A, 0x1F38, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_3_BMD_1, 0xB6101B, 0x1F39, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_3_BMD_2, 0xB6101C, 0x1F39, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_4_BMD_1, 0xB6101D, 0x1F39, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pavilion_Comp_4_BMD_2, 0xB6101E, 0x1F39, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.ACDC_HP_BMD, 0xB6101F, 0x1F40, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Aquarium_HP_BMD, 0xB61020, 0x1F41, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_HP_BMD, 0xB61021, 0x1F42, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_HP_BMD, 0xB61022, 0x1F43, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.RoboDog_Comp_BMD, 0xB61023, 0x1F48, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Labs_Comp_1_BMD_1, 0xB61024, 0x1F48, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Labs_Comp_1_BMD_2, 0xB61025, 0x1F48, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_6_1_Comp_BMD_1, 0xB61026, 0x1F48, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_6_1_Comp_BMD_2, 0xB61027, 0x1F48, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_6_2_Comp_BMD, 0xB61028, 0x1F48, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_1_1_Comp_BMD_1, 0xB61029, 0x1F49, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_1_1_Comp_BMD_2, 0xB6102A, 0x1F49, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_1_2_Comp_BMD_1, 0xB6102B, 0x1F49, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Class_1_2_Comp_BMD_2, 0xB6102C, 0x1F49, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Bathroom_Comp_BMD, 0xB6102D, 0x1F49, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Elevator_Comp_BMD, 0xB6102E, 0x1F49, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Fish_Stick_Shop_Comp_BMD_1, 0xB6102F, 0x1F4A, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Fish_Stick_Shop_Comp_BMD_2, 0xB61030, 0x1F4A, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Security_Camera_Comp_BMD_1, 0xB61031, 0x1F4A, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Security_Camera_Comp_BMD_2, 0xB61032, 0x1F4A, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Book_Comp_BMD_1, 0xB61033, 0x1F4A, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Book_Comp_BMD_2, 0xB61034, 0x1F4A, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Fan_Comp_BMD_1, 0xB61035, 0x1F4A, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Fan_Comp_BMD_2, 0xB61036, 0x1F4A, 0x01, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Air_Conditioner_Comp_BMD_1, 0xB61037, 0x1F4B, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Air_Conditioner_Comp_BMD_2, 0xB61038, 0x1F4B, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Heater_Comp_BMD_1, 0xB61039, 0x1F4B, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Heater_Comp_BMD_2, 0xB6103A, 0x1F4B, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Shower_Comp_BMD_1, 0xB6103B, 0x1F4B, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Shower_Comp_BMD_2, 0xB6103C, 0x1F4B, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Heliport_Comp_BMD_1, 0xB6103D, 0x1F4B, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Heliport_Comp_BMD_2, 0xB6103E, 0x1F4B, 0x01, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Labs_Comp_2_BMD, 0xB6103F, 0x1F4C, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Vending_Machine_Comp_BMD_1, 0xB61040, 0x1F4C, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Vending_Machine_Comp_BMD_2, 0xB61041, 0x1F4C, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Punish_Chair_Comp_BMD, 0xB61042, 0x1F4C, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Water_Machine_Comp_BMD, 0xB61043, 0x1F4C, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Symbol_Comp_BMD_1, 0xB61044, 0x1F4D, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Symbol_Comp_BMD_2, 0xB61045, 0x1F4D, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Monitor_Comp_BMD, 0xB61046, 0x1F4D, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Popcorn_Shop_Comp_BMD, 0xB61047, 0x1F4D, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Teachers_Room_Comp_BMD_1, 0xB61048, 0x1F4D, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Teachers_Room_Comp_BMD_2, 0xB61049, 0x1F4D, 0x01, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Pipe_Comp_BMD, 0xB6104A, 0x1F4E, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Observation_Comp_BMD_1, 0xB6104B, 0x1F4E, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Observation_Comp_BMD_2, 0xB6104C, 0x1F4E, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Oxygen_Tank_Comp_BMD, 0xB6104D, 0x1F4E, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Principals_Office_Comp_BMD_1, 0xB6104E, 0x1F4E, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Principals_Office_Comp_BMD_2, 0xB6104F, 0x1F4E, 0x01, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mascot_Comp_BMD_1, 0xB61050, 0x1F4F, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Mascot_Comp_BMD_2, 0xB61051, 0x1F4F, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Stuffed_Toy_Shop_Comp_BMD_1, 0xB61052, 0x1F4F, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Stuffed_Toy_Shop_Comp_BMD_2, 0xB61053, 0x1F4F, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Dog_House_Comp_BMD_1, 0xB61054, 0x1F4F, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Dog_House_Comp_BMD_2, 0xB61055, 0x1F4F, 0x04, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Guide_Panel_Comp_BMD, 0xB61056, 0x1F4F, 0x02, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Central_Area_1_BMD_1, 0xB61057, 0x1F08, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Central_Area_1_BMD_2, 0xB61058, 0x1F08, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Central_Area_2_BMD_1, 0xB61059, 0x1F09, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Central_Area_2_BMD_2, 0xB6105A, 0x1F09, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Central_Area_3_BMD, 0xB6105B, 0x1F0A, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_1_BMD_1, 0xB6105C, 0x1F0C, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_1_BMD_2, 0xB6105D, 0x1F0C, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_1_BMD_3, 0xB6105E, 0x1F0C, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_2_BMD_1, 0xB6105F, 0x1F0D, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_2_BMD_2, 0xB61060, 0x1F0D, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_2_BMD_3, 0xB61061, 0x1F0D, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_3_BMD, 0xB61062, 0x1F0E, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_Area_1_BMD_1, 0xB61063, 0x1F10, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_Area_1_BMD_2, 0xB61064, 0x1F10, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_Area_2_BMD_1, 0xB61065, 0x1F11, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_Area_2_BMD_2, 0xB61066, 0x1F11, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Green_Area_2_BMD_3, 0xB61067, 0x1F11, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Underground_2_BMD_1, 0xB61068, 0x1F15, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Underground_2_BMD_2, 0xB61069, 0x1F15, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_1_BMD_1, 0xB6106A, 0x1F18, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_1_BMD_2, 0xB6106B, 0x1F18, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_2_BMD_1, 0xB6106C, 0x1F19, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_2_BMD_2, 0xB6106D, 0x1F19, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_2_BMD_3, 0xB6106E, 0x1F19, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.ACDC_Area_BMD_1, 0xB6106F, 0x1F1A, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.ACDC_Area_BMD_2, 0xB61070, 0x1F1A, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Undernet_1_BMD, 0xB61071, 0x1F1C, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Undernet_Zero_BMD_1, 0xB61072, 0x1F1D, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Undernet_Zero_BMD_2, 0xB61073, 0x1F1D, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Undernet_Zero_BMD_3, 0xB61074, 0x1F1D, 0x20, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Undernet_2_BMD, 0xB61075, 0x1F1E, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Graveyard_BMD_1, 0xB61076, 0x1F21, 0x80, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Graveyard_BMD_2, 0xB61077, 0x1F21, 0x40, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Graveyard_BMD_3, 0xB61078, 0x1F21, 0x10, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Graveyard_BMD_4, 0xB61079, 0x1F21, 0x08, LocationType.BlueMysteryData, 0x000000), + LocationData(LocationName.Graveyard_BMD_5, 0xB6107A, 0x1F23, 0x01, LocationType.BlueMysteryData, 0x000000) ] pmds = [ - LocationData(LocationName.ACDC_HP_PMD, 0xB6107B, 0x1F40, 0x04, LocationType.PurpleMysteryData, 0x0A2498), - LocationData(LocationName.Aquarium_HP_PMD, 0xB6107C, 0x1F41, 0x04, LocationType.PurpleMysteryData, 0x0A24E4), - LocationData(LocationName.Green_HP_PMD, 0xB6107D, 0x1F42, 0x04, LocationType.PurpleMysteryData, 0x0A2530), - LocationData(LocationName.Sky_HP_PMD, 0xB6107E, 0x1F43, 0x40, LocationType.PurpleMysteryData, 0x0A257C), - LocationData(LocationName.Class_6_2_Comp_PMD, 0xB6107F, 0x1F48, 0x01, LocationType.PurpleMysteryData, 0x0A26CC), - LocationData(LocationName.Labs_Comp_2_PMD, 0xB61080, 0x1F4C, 0x40, LocationType.PurpleMysteryData, 0x0A2AA4), - LocationData(LocationName.Punish_Chair_Comp_PMD, 0xB61081, 0x1F4C, 0x04, LocationType.PurpleMysteryData, 0x0A2B3C), - LocationData(LocationName.Oxygen_Tank_Comp_PMD, 0xB61082, 0x1F4E, 0x04, LocationType.PurpleMysteryData, 0x0A2D0C), - LocationData(LocationName.Central_Area_3_PMD, 0xB61083, 0x1F0A, 0x40, LocationType.PurpleMysteryData, 0x0A315C), - LocationData(LocationName.Seaside_Area_3_PMD, 0xB61084, 0x1F0E, 0x40, LocationType.PurpleMysteryData, 0x0A3524), - LocationData(LocationName.Green_Area_1_PMD, 0xB61085, 0x1F10, 0x40, LocationType.PurpleMysteryData, 0x0A3694), - LocationData(LocationName.Underground_1_PMD_1, 0xB61086, 0x1F14, 0x80, LocationType.PurpleMysteryData, 0x0A3924), - LocationData(LocationName.Underground_1_PMD_2, 0xB61087, 0x1F14, 0x40, LocationType.PurpleMysteryData, 0x0A3930), - LocationData(LocationName.Sky_Area_1_PMD, 0xB61088, 0x1F18, 0x40, LocationType.PurpleMysteryData, 0x0A3BB4), - LocationData(LocationName.ACDC_Area_PMD, 0xB61089, 0x1F1A, 0x40, LocationType.PurpleMysteryData, 0x0A3E24), - LocationData(LocationName.Undernet_1_PMD, 0xB6108A, 0x1F1C, 0x40, LocationType.PurpleMysteryData, 0x0A3F88), - LocationData(LocationName.Undernet_2_PMD, 0xB6108B, 0x1F1E, 0x40, LocationType.PurpleMysteryData, 0x0A41D4), - LocationData(LocationName.Graveyard_PMD_1, 0xB6108C, 0x1F21, 0x20, LocationType.PurpleMysteryData, 0x0A4644), - LocationData(LocationName.Graveyard_PMD_2, 0xB6108D, 0x1F21, 0x04, LocationType.PurpleMysteryData, 0x0A4668) + LocationData(LocationName.ACDC_HP_PMD, 0xB6107B, 0x1F40, 0x04, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Aquarium_HP_PMD, 0xB6107C, 0x1F41, 0x04, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Green_HP_PMD, 0xB6107D, 0x1F42, 0x04, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Sky_HP_PMD, 0xB6107E, 0x1F43, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Class_6_2_Comp_PMD, 0xB6107F, 0x1F48, 0x01, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Labs_Comp_2_PMD, 0xB61080, 0x1F4C, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Punish_Chair_Comp_PMD, 0xB61081, 0x1F4C, 0x04, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Oxygen_Tank_Comp_PMD, 0xB61082, 0x1F4E, 0x04, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Central_Area_3_PMD, 0xB61083, 0x1F0A, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Seaside_Area_3_PMD, 0xB61084, 0x1F0E, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Green_Area_1_PMD, 0xB61085, 0x1F10, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Underground_1_PMD_1, 0xB61086, 0x1F14, 0x80, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Underground_1_PMD_2, 0xB61087, 0x1F14, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Sky_Area_1_PMD, 0xB61088, 0x1F18, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.ACDC_Area_PMD, 0xB61089, 0x1F1A, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Undernet_1_PMD, 0xB6108A, 0x1F1C, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Undernet_2_PMD, 0xB6108B, 0x1F1E, 0x40, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Graveyard_PMD_1, 0xB6108C, 0x1F21, 0x20, LocationType.PurpleMysteryData, 0x000000), + LocationData(LocationName.Graveyard_PMD_2, 0xB6108D, 0x1F21, 0x04, LocationType.PurpleMysteryData, 0x000000) ] overworlds = [ - LocationData(LocationName.School_Mr_Quiz, 0xB6108E, 0x1EAB, 0x02, LocationType.OverWorld, 0x76C83C, 7, [22]), - LocationData(LocationName.Aquarium_Quiz_Master, 0xB6108F, 0x1EAC, 0x80, LocationType.OverWorld, 0x777218, 2, [39]), - LocationData(LocationName.Green_Quiz_King, 0xB61090, 0x1EAC, 0x20, LocationType.OverWorld, 0x77C55C, 12, [53]), - LocationData(LocationName.Central_Barr100_H_Trade, 0xB61091, 0x1EAB, 0x80, LocationType.OverWorld, 0x764B38, 107, [3], True, 0x1EAA, 0x01), - LocationData(LocationName.Aquarium_PnlRetrn_star_Trade, 0xB61092, 0x1EAA, 0x02, LocationType.OverWorld, 0x7991F0, 2, [2], True, 0x1EAA, 0x04), - LocationData(LocationName.Green_HolyPnl_S_Trade, 0xB61093, 0x1EAB, 0x08, LocationType.OverWorld, 0x77A888, 52, [2], True, 0x1EAB, 0x10), - LocationData(LocationName.AirCon_AuraHed1_B_Trade, 0xB61094, 0x1EAB, 0x20, LocationType.OverWorld, 0x79E718, 2, [2], True, 0x1EAB, 0x40), - LocationData(LocationName.Class_1_2_EnergBom_K_Trade, 0xB61095, 0x1D32, 0x20, LocationType.OverWorld, 0x76B554, 10, [1], True, 0x1EAC, 0x01), - LocationData(LocationName.Aquarium_DublShot_C_Trade, 0xB61096, 0x1D32, 0x10, LocationType.OverWorld, 0x773D3C, 10, [1], True, 0x1EAD, 0x40), - LocationData(LocationName.WatrMchn_HiBoomer_V_Trade, 0xB61097, 0x1D32, 0x80, LocationType.OverWorld, 0x79F4DC, 2, [1], True, 0x1EAD, 0x10), - LocationData(LocationName.Sky_GrabRvng_I_Trade, 0xB61098, 0x1D31, 0x01, LocationType.OverWorld, 0x77F4A0, 7, [1], True, 0x1EAD, 0x04), - LocationData(LocationName.ACDC_BigBomb_O_Trade, 0xB61099, 0x1EAE, 0x80, LocationType.OverWorld, 0x798A08, 2, [1], True, 0x1EAD, 0x01), - LocationData(LocationName.Class_6_1_Grid, 0xB6109A, 0x1CB8, 0x01, LocationType.OverWorld, 0x755468, 0, [4, 5]), - LocationData(LocationName.Seaside_Auditorium_Trash_Can, 0xB6109B, 0x1CB9, 0x80, LocationType.OverWorld, 0x758FA0, 3, [2, 3]), - LocationData(LocationName.Seaside_Control_Room_Ladder, 0xB6109C, 0x1CB8, 0x04, LocationType.OverWorld, 0x759248, 2, [2]), - LocationData(LocationName.Green_Foyer_Flowers, 0xB6109D, 0x1CB9, 0x40, LocationType.OverWorld, 0x759870, 6, [3, 4]), - LocationData(LocationName.Sky_Air_Tank, 0xB6109E, 0x1CB8, 0x02, LocationType.OverWorld, 0x75A3F4, 4, [6]), - LocationData(LocationName.ACDC_Dexs_Door, 0xB6109F, 0x1CB9, 0x08, LocationType.OverWorld, 0x753814, 5, [3]), - LocationData(LocationName.Principals_Coffee_Table, 0xB610A0, 0x1CB9, 0x20, LocationType.OverWorld, 0x7573BC, 6, [3, 4]), - LocationData(LocationName.Seaside_Pavilion_Waterfall, 0xB610A1, 0x1CB9, 0x10, LocationType.OverWorld, 0x75AF00, 2, [3, 4]), - LocationData(LocationName.Central_1_Net_Cafe, 0xB610A2, 0x1CAA, 0x08, LocationType.OverWorld, 0x782844, 130, [4]), - LocationData(LocationName.Green_2_Net_Cafe, 0xB610A3, 0x1CAB, 0x40, LocationType.OverWorld, 0x78E678, 67, [3]), - LocationData(LocationName.Sky_1_Net_Cafe, 0xB610A4, 0x1CAB, 0x04, LocationType.OverWorld, 0x7903B4, 87, [3]), - LocationData(LocationName.Central_2_Heel_Navi, 0xB610A5, 0x1EAE, 0x10, LocationType.OverWorld, 0x784DDC, 53, [3, 4]), - LocationData(LocationName.Class_1_2_Heel_Navi, 0xB610A6, 0x1CBA, 0x01, LocationType.OverWorld, 0x79D0F4, 11, [2]), - LocationData(LocationName.Seaside_Auditorium_Man, 0xB610A7, 0x1EAE, 0x02, LocationType.OverWorld, 0x776A7C, 13, [4]), - LocationData(LocationName.Aquarium_Comp_1_Navi, 0xB610A8, 0x1EAF, 0x40, LocationType.OverWorld, 0x795DD0, 13, [5]), - LocationData(LocationName.Green_1_Heel_Navi, 0xB610A9, 0x1EAC, 0x08, LocationType.OverWorld, 0x78D2A0, 21, [2]), - LocationData(LocationName.Undernet_Zero_Heel_Navi, 0xB610AA, 0x1D32, 0x40, LocationType.OverWorld, 0x794404, 11, [1]), - LocationData(LocationName.Green_Punishment_Room_Prog, 0xB610AB, 0x1EAC, 0x02, LocationType.OverWorld, 0x77C318, 5, [2]), - LocationData(LocationName.Sky_1_Brown_Navi, 0xB610AC, 0x1CB9, 0x04, LocationType.OverWorld, 0x7903B4, 6, [2]), - LocationData(LocationName.Bass, 0xB610AD, 0x1E89, 0x01, LocationType.OverWorld, 0x7D6DC0, 2, [1]), - LocationData(LocationName.Talk_To_Mayl, 0xB610AE, 0x1CC5, 0x20, LocationType.OverWorld, 0x766E28, 11, [3]), - LocationData(LocationName.ElecMan_Class, 0xB6111E, 0x1DDF, 0x10, LocationType.OverWorld, 0x7BFE50, 5, [0]), - LocationData(LocationName.SlashMan_Class, 0xB6111F, 0x1D94, 0x80, LocationType.OverWorld, 0x7BA78C, 1, [0]), - LocationData(LocationName.EraseMan_Class, 0xB61120, 0x1E23, 0x04, LocationType.OverWorld, 0x7C9D54, 1, [0]), - LocationData(LocationName.ChargeMan_Class, 0xB61121, 0x1E24, 0x40, LocationType.OverWorld, 0x7CB584, 1, [0]) + LocationData(LocationName.School_Mr_Quiz, 0xB6108E, 0x1D31, 0x08, LocationType.OverWorld, 0x000000, 7, [22]), + LocationData(LocationName.Aquarium_Quiz_Master, 0xB6108F, 0x1D31, 0x04, LocationType.OverWorld, 0x000000, 2, [39]), + LocationData(LocationName.Green_Quiz_King, 0xB61090, 0x1EAC, 0x20, LocationType.OverWorld, 0x000000, 12, [53]), + LocationData(LocationName.Central_Barr100_H_Trade, 0xB61091, 0x1EAB, 0x80, LocationType.OverWorld, 0x000000, 107, [3], True, 0x1EAA, 0x01), + LocationData(LocationName.Aquarium_PnlRetrn_star_Trade, 0xB61092, 0x1EAA, 0x02, LocationType.OverWorld, 0x000000, 2, [2], True, 0x1EAA, 0x04), + LocationData(LocationName.Green_HolyPnl_S_Trade, 0xB61093, 0x1EAB, 0x08, LocationType.OverWorld, 0x000000, 52, [2], True, 0x1EAB, 0x10), + LocationData(LocationName.AirCon_AuraHed1_B_Trade, 0xB61094, 0x1EAB, 0x20, LocationType.OverWorld, 0x000000, 2, [2], True, 0x1EAB, 0x40), + LocationData(LocationName.Class_1_2_EnergBom_K_Trade, 0xB61095, 0x1D32, 0x20, LocationType.OverWorld, 0x000000, 10, [1], True, 0x1EAC, 0x01), + LocationData(LocationName.Aquarium_DublShot_C_Trade, 0xB61096, 0x1D32, 0x10, LocationType.OverWorld, 0x000000, 10, [1], True, 0x1EAD, 0x40), + LocationData(LocationName.WatrMchn_HiBoomer_V_Trade, 0xB61097, 0x1D32, 0x80, LocationType.OverWorld, 0x000000, 2, [1], True, 0x1EAD, 0x10), + LocationData(LocationName.Sky_GrabRvng_I_Trade, 0xB61098, 0x1D31, 0x01, LocationType.OverWorld, 0x000000, 7, [1], True, 0x1EAD, 0x04), + LocationData(LocationName.ACDC_BigBomb_O_Trade, 0xB61099, 0x1EAE, 0x80, LocationType.OverWorld, 0x000000, 2, [1], True, 0x1EAD, 0x01), + LocationData(LocationName.Class_6_1_Grid, 0xB6109A, 0x1CB8, 0x01, LocationType.OverWorld, 0x000000, 0, [4, 5]), + LocationData(LocationName.Seaside_Auditorium_Trash_Can, 0xB6109B, 0x1CB9, 0x80, LocationType.OverWorld, 0x000000, 3, [2, 3]), + LocationData(LocationName.Seaside_Control_Room_Ladder, 0xB6109C, 0x1CB8, 0x04, LocationType.OverWorld, 0x000000, 2, [2]), + LocationData(LocationName.Green_Foyer_Flowers, 0xB6109D, 0x1CB9, 0x40, LocationType.OverWorld, 0x000000, 6, [3, 4]), + LocationData(LocationName.Sky_Air_Tank, 0xB6109E, 0x1CB8, 0x02, LocationType.OverWorld, 0x000000, 4, [6]), + LocationData(LocationName.ACDC_Dexs_Door, 0xB6109F, 0x1CB9, 0x08, LocationType.OverWorld, 0x000000, 5, [3]), + LocationData(LocationName.Principals_Coffee_Table, 0xB610A0, 0x1CB9, 0x20, LocationType.OverWorld, 0x000000, 6, [3, 4]), + LocationData(LocationName.Seaside_Pavilion_Waterfall, 0xB610A1, 0x1CB9, 0x10, LocationType.OverWorld, 0x000000, 2, [3, 4]), + LocationData(LocationName.Central_1_Net_Cafe, 0xB610A2, 0x1CAA, 0x08, LocationType.OverWorld, 0x000000, 130, [4]), + LocationData(LocationName.Green_2_Net_Cafe, 0xB610A3, 0x1CAB, 0x40, LocationType.OverWorld, 0x000000, 67, [3]), + LocationData(LocationName.Sky_1_Net_Cafe, 0xB610A4, 0x1CAB, 0x04, LocationType.OverWorld, 0x000000, 87, [3]), + LocationData(LocationName.Central_2_Heel_Navi, 0xB610A5, 0x1EAE, 0x10, LocationType.OverWorld, 0x000000, 53, [3, 4]), + LocationData(LocationName.Class_1_2_Heel_Navi, 0xB610A6, 0x1D31, 0x02, LocationType.OverWorld, 0x000000, 11, [2]), + LocationData(LocationName.Seaside_Auditorium_Man, 0xB610A7, 0x1EAE, 0x02, LocationType.OverWorld, 0x000000, 13, [4]), + LocationData(LocationName.Aquarium_Comp_1_Navi, 0xB610A8, 0x1EAF, 0x40, LocationType.OverWorld, 0x000000, 13, [5]), + LocationData(LocationName.Green_1_Heel_Navi, 0xB610A9, 0x1EAC, 0x08, LocationType.OverWorld, 0x000000, 21, [2]), + LocationData(LocationName.Undernet_Zero_Heel_Navi, 0xB610AA, 0x1D32, 0x40, LocationType.OverWorld, 0x000000, 11, [1]), + LocationData(LocationName.Green_Punishment_Room_Prog, 0xB610AB, 0x1EAC, 0x02, LocationType.OverWorld, 0x000000, 5, [2]), + LocationData(LocationName.Sky_1_Brown_Navi, 0xB610AC, 0x1CB9, 0x04, LocationType.OverWorld, 0x000000, 6, [2]), + LocationData(LocationName.Bass, 0xB610AD, 0x1E89, 0x01, LocationType.OverWorld, 0x000000, 2, [1]), + LocationData(LocationName.Bass_SP, 0xB61126, 0x1CF6, 0x80, LocationType.OverWorld, 0x000000, 39, [1]), + LocationData(LocationName.Talk_To_Mayl, 0xB610AE, 0x1CC5, 0x20, LocationType.OverWorld, 0x000000, 11, [3]), + LocationData(LocationName.ElecMan_Class, 0xB6111E, 0x1DDF, 0x10, LocationType.OverWorld, 0x000000, 5, [0]), + LocationData(LocationName.SlashMan_Class, 0xB6111F, 0x1D94, 0x80, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.EraseMan_Class, 0xB61120, 0x1E23, 0x04, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.ChargeMan_Class, 0xB61121, 0x1E24, 0x40, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.TomahawkMan_Class, 0xB61122, 0x1DDF, 0x10, LocationType.OverWorld, 0x000000, 3, [0]), + LocationData(LocationName.TenguMan_Class, 0xB61123, 0x1D94, 0x80, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.GroundMan_Class, 0xB61124, 0x1E23, 0x04, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.DustMan_Class, 0xB61125, 0x1E24, 0x40, LocationType.OverWorld, 0x000000, 1, [0]), + LocationData(LocationName.RoboDog_Comp_Virus_Battler, 0xB61127, 0x1CC5, 0x08, LocationType.OverWorld, 0x000000, 54, [2]), + LocationData(LocationName.Water_Machine_Comp_Virus_Battler, 0xB61128, 0x1CC5, 0x04, LocationType.OverWorld, 0x000000, 54, [2]), + LocationData(LocationName.Punish_Chair_Comp_Virus_Battler, 0xB61129, 0x1CC5, 0x02, LocationType.OverWorld, 0x000000, 14, [2]), + LocationData(LocationName.Oxygen_Tank_Comp_Virus_Battler, 0xB6112A, 0x1CC5, 0x01, LocationType.OverWorld, 0x000000, 14, [2]), + LocationData(LocationName.Central_1_Virus_Battler, 0xB6112B, 0x1CC6, 0x80, LocationType.OverWorld, 0x000000, 52, [2]) ] requests = [ - LocationData(LocationName.Virus_Deletion, 0xB610AF, 0x2014, 0x80, LocationType.Request, 0x76A1E4, 2, [2]), - LocationData(LocationName.Find_Keepsake, 0xB610B0, 0x2014, 0x40, LocationType.Request, 0x764B38, 102, [4, 5]), - LocationData(LocationName.Errand_Request, 0xB610B1, 0x2014, 0x20, LocationType.Request, 0x76EDFC, 12, [4]), - LocationData(LocationName.For_Victory, 0xB610B2, 0x2014, 0x10, LocationType.Request, 0x782844, 103, [4]), - LocationData(LocationName.JuvenileDiv, 0xB610B3, 0x2017, 0x40, LocationType.Request, 0x79FE54, 2, [7]), - LocationData(LocationName.Somebody_Help, 0xB610B4, 0x2014, 0x08, LocationType.Request, 0x7953EC, 9, [3]), - LocationData(LocationName.Get_The_Chip, 0xB610B5, 0x2014, 0x04, LocationType.Request, 0x78BD44, 17, [2, 3]), - LocationData(LocationName.Stock_Up, 0xB610B6, 0x2014, 0x02, LocationType.Request, 0x773D3C, 16, [5]), - LocationData(LocationName.StandIn_Recruit, 0xB610B7, 0x2014, 0x01, LocationType.Request, 0x7991F0, 12, [3]), - LocationData(LocationName.PenguinsRanAway, 0xB610B8, 0x2017, 0x08, LocationType.Request, 0x773D3C, 26, [3]), - LocationData(LocationName.Daughter_Worry, 0xB610B9, 0x2015, 0x80, LocationType.Request, 0x778738, 32, [7, 8]), - LocationData(LocationName.Stop_Him, 0xB610BA, 0x2015, 0x40, LocationType.Request, 0x77B9F0, 24, [4]), - LocationData(LocationName.Loan_Collection, 0xB610BB, 0x2015, 0x20, LocationType.Request, 0x79A664, 12, [6]), - LocationData(LocationName.Lumber_Merchant, 0xB610BC, 0x2015, 0x10, LocationType.Request, 0x78E678, 32, [4]), - LocationData(LocationName.TimeCpsl, 0xB610BD, 0x2015, 0x08, LocationType.Request, 0x778738, 37, [13]), - LocationData(LocationName.DietGood_Money, 0xB610BE, 0x2017, 0x02, LocationType.Request, 0x76C080, 12, [4]), - LocationData(LocationName.Find_The_Virus, 0xB610BF, 0x2017, 0x10, LocationType.Request, 0x764B38, 142, [4]), - LocationData(LocationName.Got_A_Problem, 0xB610C0, 0x2015, 0x04, LocationType.Request, 0x776A7C, 22, [16]), - LocationData(LocationName.Songwriter, 0xB610C1, 0x2015, 0x02, LocationType.Request, 0x7903B4, 31, [28, 29]), - LocationData(LocationName.Buy_Whch_Stock, 0xB610C2, 0x2015, 0x01, LocationType.Request, 0x7903B4, 54, [6]), - LocationData(LocationName.Cant_Open_Safe, 0xB610C3, 0x2016, 0x80, LocationType.Request, 0x7A039C, 7, [4]), - LocationData(LocationName.Get_The_Bad_Guy, 0xB610C4, 0x2017, 0x20, LocationType.Request, 0x764B38, 126, [5]), - LocationData(LocationName.Update_Help, 0xB610C5, 0x2017, 0x04, LocationType.Request, 0x773D3C, 36, [3]), - LocationData(LocationName.Do_Something, 0xB610C6, 0x2016, 0x40, LocationType.Request, 0x77246C, 42, [3]), - LocationData(LocationName.Want_Meet_Dghtr, 0xB610C7, 0x2016, 0x20, LocationType.Request, 0x79B094, 4, [9]), - LocationData(LocationName.Not_Engh_Member, 0xB610C8, 0x2016, 0x10, LocationType.Request, 0x79C598, 2, [4, 5]), - LocationData(LocationName.Track_The_Crmnl_1, 0xB610C9, 0x2016, 0x08, LocationType.Request, 0x777218, 12, [4]), - LocationData(LocationName.Track_The_Crmnl_2, 0xB610CA, 0x2016, 0x08, LocationType.Request, 0x777218, 12, [5]), - LocationData(LocationName.Track_The_Crmnl_3, 0xB610CB, 0x2016, 0x08, LocationType.Request, 0x777218, 12, [6]), - LocationData(LocationName.Self_Research, 0xB610CC, 0x2017, 0x01, LocationType.Request, 0x79CAE4, 2, [7]), - LocationData(LocationName.OfficialRequest_1, 0xB610CD, 0x2018, 0x80, LocationType.Request, 0x7A0B40, 3, [3]), - LocationData(LocationName.OfficialRequest_2, 0xB610CE, 0x2018, 0x80, LocationType.Request, 0x7A0B40, 3, [4]), - LocationData(LocationName.OfficialRequest_3, 0xB610CF, 0x2018, 0x80, LocationType.Request, 0x7A0B40, 3, [5]), - LocationData(LocationName.Wheres_My_Navi, 0xB610D0, 0x2016, 0x04, LocationType.Request, 0x76AD9C, 2, [4]), - LocationData(LocationName.One_More_Time, 0xB610D1, 0x2016, 0x02, LocationType.Request, 0x764B38, 122, [4]), - LocationData(LocationName.SupportChip_Pls, 0xB610D2, 0x2016, 0x01, LocationType.Request, 0x77E80C, 14, [4]), - LocationData(LocationName.Negotiate, 0xB610D3, 0x2017, 0x80, LocationType.Request, 0x77E80C, 24, [4]), - LocationData(LocationName.An_Experiment_1, 0xB610D4, 0x2018, 0x40, LocationType.Request, 0x7755B8, 84, [4]), - LocationData(LocationName.An_Experiment_2, 0xB610D5, 0x2018, 0x40, LocationType.Request, 0x7755B8, 84, [5]), - LocationData(LocationName.An_Experiment_3, 0xB610D6, 0x2018, 0x40, LocationType.Request, 0x7755B8, 84, [6]), - LocationData(LocationName.RoadToSoulBtlr, 0xB610D7, 0x2018, 0x20, LocationType.Request, 0x79A664, 24, [7]) + LocationData(LocationName.Virus_Deletion, 0xB610AF, 0x2014, 0x80, LocationType.Request, 0x000000, 2, [2]), + LocationData(LocationName.Find_Keepsake, 0xB610B0, 0x2014, 0x40, LocationType.Request, 0x000000, 102, [4, 5]), + LocationData(LocationName.Errand_Request, 0xB610B1, 0x2014, 0x20, LocationType.Request, 0x000000, 12, [4]), + LocationData(LocationName.For_Victory, 0xB610B2, 0x2014, 0x10, LocationType.Request, 0x000000, 103, [4]), + LocationData(LocationName.JuvenileDiv, 0xB610B3, 0x2017, 0x40, LocationType.Request, 0x000000, 2, [7]), + LocationData(LocationName.Somebody_Help, 0xB610B4, 0x2014, 0x08, LocationType.Request, 0x000000, 9, [3]), + LocationData(LocationName.Get_The_Chip, 0xB610B5, 0x2014, 0x04, LocationType.Request, 0x000000, 17, [2, 3]), + LocationData(LocationName.Stock_Up, 0xB610B6, 0x2014, 0x02, LocationType.Request, 0x000000, 16, [5]), + LocationData(LocationName.StandIn_Recruit, 0xB610B7, 0x2014, 0x01, LocationType.Request, 0x000000, 12, [3]), + LocationData(LocationName.PenguinsRanAway, 0xB610B8, 0x2017, 0x08, LocationType.Request, 0x000000, 26, [3]), + LocationData(LocationName.Daughter_Worry, 0xB610B9, 0x2015, 0x80, LocationType.Request, 0x000000, 32, [7, 8]), + LocationData(LocationName.Stop_Him, 0xB610BA, 0x2015, 0x40, LocationType.Request, 0x000000, 24, [4]), + LocationData(LocationName.Loan_Collection, 0xB610BB, 0x2015, 0x20, LocationType.Request, 0x000000, 12, [6]), + LocationData(LocationName.Lumber_Merchant, 0xB610BC, 0x2015, 0x10, LocationType.Request, 0x000000, 32, [4]), + LocationData(LocationName.TimeCpsl, 0xB610BD, 0x2015, 0x08, LocationType.Request, 0x000000, 37, [13]), + LocationData(LocationName.DietGood_Money, 0xB610BE, 0x2017, 0x02, LocationType.Request, 0x000000, 12, [4]), + LocationData(LocationName.Find_The_Virus, 0xB610BF, 0x2017, 0x10, LocationType.Request, 0x000000, 142, [4]), + LocationData(LocationName.Got_A_Problem, 0xB610C0, 0x2015, 0x04, LocationType.Request, 0x000000, 22, [16]), + LocationData(LocationName.Songwriter, 0xB610C1, 0x2015, 0x02, LocationType.Request, 0x000000, 31, [28, 29]), + LocationData(LocationName.Buy_Whch_Stock, 0xB610C2, 0x2015, 0x01, LocationType.Request, 0x000000, 54, [6]), + LocationData(LocationName.Cant_Open_Safe, 0xB610C3, 0x2016, 0x80, LocationType.Request, 0x000000, 7, [4]), + LocationData(LocationName.Get_The_Bad_Guy, 0xB610C4, 0x2017, 0x20, LocationType.Request, 0x000000, 126, [5]), + LocationData(LocationName.Update_Help, 0xB610C5, 0x2017, 0x04, LocationType.Request, 0x000000, 36, [3]), + LocationData(LocationName.Do_Something, 0xB610C6, 0x2016, 0x40, LocationType.Request, 0x000000, 42, [3]), + LocationData(LocationName.Want_Meet_Dghtr, 0xB610C7, 0x2016, 0x20, LocationType.Request, 0x000000, 4, [9]), + LocationData(LocationName.Not_Engh_Member, 0xB610C8, 0x2016, 0x10, LocationType.Request, 0x000000, 2, [4, 5]), + LocationData(LocationName.Track_The_Crmnl_1, 0xB610C9, 0x2016, 0x08, LocationType.Request, 0x000000, 12, [4]), + LocationData(LocationName.Track_The_Crmnl_2, 0xB610CA, 0x2016, 0x08, LocationType.Request, 0x000000, 12, [5]), + LocationData(LocationName.Track_The_Crmnl_3, 0xB610CB, 0x2016, 0x08, LocationType.Request, 0x000000, 12, [6]), + LocationData(LocationName.Self_Research, 0xB610CC, 0x2017, 0x01, LocationType.Request, 0x000000, 2, [7]), + LocationData(LocationName.OfficialRequest_1, 0xB610CD, 0x2018, 0x80, LocationType.Request, 0x000000, 3, [3]), + LocationData(LocationName.OfficialRequest_2, 0xB610CE, 0x2018, 0x80, LocationType.Request, 0x000000, 3, [4]), + LocationData(LocationName.OfficialRequest_3, 0xB610CF, 0x2018, 0x80, LocationType.Request, 0x000000, 3, [5]), + LocationData(LocationName.Wheres_My_Navi, 0xB610D0, 0x2016, 0x04, LocationType.Request, 0x000000, 2, [4]), + LocationData(LocationName.One_More_Time, 0xB610D1, 0x2016, 0x02, LocationType.Request, 0x000000, 122, [4]), + LocationData(LocationName.SupportChip_Pls, 0xB610D2, 0x2016, 0x01, LocationType.Request, 0x000000, 14, [4]), + LocationData(LocationName.Negotiate, 0xB610D3, 0x2017, 0x80, LocationType.Request, 0x000000, 24, [4]), + LocationData(LocationName.An_Experiment_1, 0xB610D4, 0x2018, 0x40, LocationType.Request, 0x000000, 84, [4]), + LocationData(LocationName.An_Experiment_2, 0xB610D5, 0x2018, 0x40, LocationType.Request, 0x000000, 84, [5]), + LocationData(LocationName.An_Experiment_3, 0xB610D6, 0x2018, 0x40, LocationType.Request, 0x000000, 84, [6]), + LocationData(LocationName.RoadToSoulBtlr, 0xB610D7, 0x2018, 0x20, LocationType.Request, 0x000000, 24, [7]) ] lotto_codes = [ - LocationData(LocationName.Lotto_Code_01, 0xB610D8, 0x214C, 0x80, LocationType.LottoCode, 0x754BD8, 58, [0]), - LocationData(LocationName.Lotto_Code_02, 0xB610D9, 0x214C, 0x40, LocationType.LottoCode, 0x754BD8, 59, [0]), - LocationData(LocationName.Lotto_Code_03, 0xB610DA, 0x214C, 0x20, LocationType.LottoCode, 0x754BD8, 60, [0]), - LocationData(LocationName.Lotto_Code_04, 0xB610DB, 0x214C, 0x10, LocationType.LottoCode, 0x754BD8, 61, [0]), - LocationData(LocationName.Lotto_Code_05, 0xB610DC, 0x214C, 0x08, LocationType.LottoCode, 0x754BD8, 62, [0]), - LocationData(LocationName.Lotto_Code_06, 0xB610DD, 0x214C, 0x04, LocationType.LottoCode, 0x754BD8, 63, [0]), - LocationData(LocationName.Lotto_Code_07, 0xB610DE, 0x214C, 0x02, LocationType.LottoCode, 0x754BD8, 64, [0]), - LocationData(LocationName.Lotto_Code_08, 0xB610DF, 0x214C, 0x01, LocationType.LottoCode, 0x754BD8, 65, [0]), - LocationData(LocationName.Lotto_Code_09, 0xB610E0, 0x214D, 0x80, LocationType.LottoCode, 0x754BD8, 66, [0]), - LocationData(LocationName.Lotto_Code_10, 0xB610E1, 0x214D, 0x40, LocationType.LottoCode, 0x754BD8, 67, [0]), - LocationData(LocationName.Lotto_Code_11, 0xB610E2, 0x214D, 0x20, LocationType.LottoCode, 0x754BD8, 68, [0]), - LocationData(LocationName.Lotto_Code_12, 0xB610E3, 0x214D, 0x10, LocationType.LottoCode, 0x754BD8, 69, [0]), - LocationData(LocationName.Lotto_Code_13, 0xB610E4, 0x214D, 0x08, LocationType.LottoCode, 0x754BD8, 70, [0]), - LocationData(LocationName.Lotto_Code_14, 0xB610E5, 0x214D, 0x04, LocationType.LottoCode, 0x754BD8, 71, [0]), - LocationData(LocationName.Lotto_Code_15, 0xB610E6, 0x214D, 0x02, LocationType.LottoCode, 0x754BD8, 72, [0]), - LocationData(LocationName.Lotto_Code_16, 0xB610E7, 0x214D, 0x01, LocationType.LottoCode, 0x754BD8, 73, [0]), - LocationData(LocationName.Lotto_Code_17, 0xB610E8, 0x214E, 0x80, LocationType.LottoCode, 0x754BD8, 74, [0]), - LocationData(LocationName.Lotto_Code_18, 0xB610E9, 0x214E, 0x40, LocationType.LottoCode, 0x754BD8, 75, [0]), - LocationData(LocationName.Lotto_Code_19, 0xB610EA, 0x214E, 0x20, LocationType.LottoCode, 0x754BD8, 76, [0]), - LocationData(LocationName.Lotto_Code_20, 0xB610EB, 0x214E, 0x10, LocationType.LottoCode, 0x754BD8, 77, [0]), - LocationData(LocationName.Lotto_Code_21, 0xB610EC, 0x214E, 0x08, LocationType.LottoCode, 0x754BD8, 78, [0]), - LocationData(LocationName.Lotto_Code_22, 0xB610ED, 0x214E, 0x04, LocationType.LottoCode, 0x754BD8, 79, [0]), - LocationData(LocationName.Lotto_Code_23, 0xB610EE, 0x214E, 0x02, LocationType.LottoCode, 0x754BD8, 80, [0]), - LocationData(LocationName.Lotto_Code_24, 0xB610EF, 0x214E, 0x01, LocationType.LottoCode, 0x754BD8, 81, [0]), - LocationData(LocationName.Lotto_Code_25, 0xB610F0, 0x214F, 0x80, LocationType.LottoCode, 0x754BD8, 82, [0]), - LocationData(LocationName.Lotto_Code_26, 0xB610F1, 0x214F, 0x40, LocationType.LottoCode, 0x754BD8, 83, [0]), - LocationData(LocationName.Lotto_Code_27, 0xB610F2, 0x214F, 0x20, LocationType.LottoCode, 0x754BD8, 84, [0]), - LocationData(LocationName.Lotto_Code_28, 0xB610F3, 0x214F, 0x10, LocationType.LottoCode, 0x754BD8, 85, [0]), - LocationData(LocationName.Lotto_Code_29, 0xB610F4, 0x214F, 0x08, LocationType.LottoCode, 0x754BD8, 86, [0]), - LocationData(LocationName.Lotto_Code_30, 0xB610F5, 0x214F, 0x04, LocationType.LottoCode, 0x754BD8, 87, [0]), - LocationData(LocationName.Lotto_Code_31, 0xB610F6, 0x214F, 0x02, LocationType.LottoCode, 0x754BD8, 88, [0]), - LocationData(LocationName.Lotto_Code_32, 0xB610F7, 0x214F, 0x01, LocationType.LottoCode, 0x754BD8, 89, [0]), - LocationData(LocationName.Lotto_Code_33, 0xB610F8, 0x2150, 0x80, LocationType.LottoCode, 0x754BD8, 90, [0]), - LocationData(LocationName.Lotto_Code_34, 0xB610F9, 0x2150, 0x40, LocationType.LottoCode, 0x754BD8, 91, [0]), - LocationData(LocationName.Lotto_Code_35, 0xB610FA, 0x2150, 0x20, LocationType.LottoCode, 0x754BD8, 92, [0]), - LocationData(LocationName.Lotto_Code_36, 0xB610FB, 0x2150, 0x10, LocationType.LottoCode, 0x754BD8, 93, [0]), - LocationData(LocationName.Lotto_Code_37, 0xB610FC, 0x2150, 0x08, LocationType.LottoCode, 0x754BD8, 94, [0]), - LocationData(LocationName.Lotto_Code_38, 0xB610FD, 0x2150, 0x04, LocationType.LottoCode, 0x754BD8, 95, [0]), - LocationData(LocationName.Lotto_Code_39, 0xB610FE, 0x2150, 0x02, LocationType.LottoCode, 0x754BD8, 96, [0]), - LocationData(LocationName.Lotto_Code_40, 0xB610FF, 0x2150, 0x01, LocationType.LottoCode, 0x754BD8, 97, [0]), - LocationData(LocationName.Lotto_Code_41, 0xB61100, 0x2151, 0x80, LocationType.LottoCode, 0x754BD8, 98, [0]), - LocationData(LocationName.Lotto_Code_42, 0xB61101, 0x2151, 0x40, LocationType.LottoCode, 0x754BD8, 99, [0]), - LocationData(LocationName.Lotto_Code_43, 0xB61102, 0x2151, 0x20, LocationType.LottoCode, 0x754BD8, 100, [0]), - LocationData(LocationName.Lotto_Code_44, 0xB61103, 0x2151, 0x10, LocationType.LottoCode, 0x754BD8, 101, [0]), - LocationData(LocationName.Lotto_Code_45, 0xB61104, 0x2151, 0x08, LocationType.LottoCode, 0x754BD8, 102, [0]), - LocationData(LocationName.Lotto_Code_46, 0xB61105, 0x2151, 0x04, LocationType.LottoCode, 0x754BD8, 103, [0]), - LocationData(LocationName.Lotto_Code_47, 0xB61106, 0x2151, 0x02, LocationType.LottoCode, 0x754BD8, 104, [0]), - LocationData(LocationName.Lotto_Code_48, 0xB61107, 0x2151, 0x01, LocationType.LottoCode, 0x754BD8, 105, [0]), - LocationData(LocationName.Lotto_Code_49, 0xB61108, 0x2152, 0x80, LocationType.LottoCode, 0x754BD8, 106, [0]), - LocationData(LocationName.Lotto_Code_50, 0xB61109, 0x2152, 0x40, LocationType.LottoCode, 0x754BD8, 107, [0]), - LocationData(LocationName.Lotto_Code_51, 0xB6110A, 0x2152, 0x20, LocationType.LottoCode, 0x754BD8, 108, [0]), - LocationData(LocationName.Lotto_Code_52, 0xB6110B, 0x2152, 0x10, LocationType.LottoCode, 0x754BD8, 109, [0]), - LocationData(LocationName.Lotto_Code_53, 0xB6110C, 0x2152, 0x08, LocationType.LottoCode, 0x754BD8, 110, [0]), - LocationData(LocationName.Lotto_Code_54, 0xB6110D, 0x2152, 0x04, LocationType.LottoCode, 0x754BD8, 111, [0]), - LocationData(LocationName.Lotto_Code_55, 0xB6110E, 0x2152, 0x02, LocationType.LottoCode, 0x754BD8, 112, [0]), - LocationData(LocationName.Lotto_Code_56, 0xB6110F, 0x2152, 0x01, LocationType.LottoCode, 0x754BD8, 113, [0, 1, 2]), - LocationData(LocationName.Lotto_Code_57, 0xB61110, 0x2153, 0x80, LocationType.LottoCode, 0x754BD8, 114, [0, 1, 2]), - LocationData(LocationName.Lotto_Code_58, 0xB61111, 0x2153, 0x40, LocationType.LottoCode, 0x754BD8, 115, [0, 1, 2]) + LocationData(LocationName.Lotto_Code_01, 0xB610D8, 0x214C, 0x80, LocationType.LottoCode, 0x000000, 58, [0]), + LocationData(LocationName.Lotto_Code_02, 0xB610D9, 0x214C, 0x40, LocationType.LottoCode, 0x000000, 59, [0]), + LocationData(LocationName.Lotto_Code_03, 0xB610DA, 0x214C, 0x20, LocationType.LottoCode, 0x000000, 60, [0]), + LocationData(LocationName.Lotto_Code_04, 0xB610DB, 0x214C, 0x10, LocationType.LottoCode, 0x000000, 61, [0]), + LocationData(LocationName.Lotto_Code_05, 0xB610DC, 0x214C, 0x08, LocationType.LottoCode, 0x000000, 62, [0]), + LocationData(LocationName.Lotto_Code_06, 0xB610DD, 0x214C, 0x04, LocationType.LottoCode, 0x000000, 63, [0]), + LocationData(LocationName.Lotto_Code_07, 0xB610DE, 0x214C, 0x02, LocationType.LottoCode, 0x000000, 64, [0]), + LocationData(LocationName.Lotto_Code_08, 0xB610DF, 0x214C, 0x01, LocationType.LottoCode, 0x000000, 65, [0]), + LocationData(LocationName.Lotto_Code_09, 0xB610E0, 0x214D, 0x80, LocationType.LottoCode, 0x000000, 66, [0]), + LocationData(LocationName.Lotto_Code_10, 0xB610E1, 0x214D, 0x40, LocationType.LottoCode, 0x000000, 67, [0]), + LocationData(LocationName.Lotto_Code_11, 0xB610E2, 0x214D, 0x20, LocationType.LottoCode, 0x000000, 68, [0]), + LocationData(LocationName.Lotto_Code_12, 0xB610E3, 0x214D, 0x10, LocationType.LottoCode, 0x000000, 69, [0]), + LocationData(LocationName.Lotto_Code_13, 0xB610E4, 0x214D, 0x08, LocationType.LottoCode, 0x000000, 70, [0]), + LocationData(LocationName.Lotto_Code_14, 0xB610E5, 0x214D, 0x04, LocationType.LottoCode, 0x000000, 71, [0]), + LocationData(LocationName.Lotto_Code_15, 0xB610E6, 0x214D, 0x02, LocationType.LottoCode, 0x000000, 72, [0]), + LocationData(LocationName.Lotto_Code_16, 0xB610E7, 0x214D, 0x01, LocationType.LottoCode, 0x000000, 73, [0]), + LocationData(LocationName.Lotto_Code_17, 0xB610E8, 0x214E, 0x80, LocationType.LottoCode, 0x000000, 74, [0]), + LocationData(LocationName.Lotto_Code_18, 0xB610E9, 0x214E, 0x40, LocationType.LottoCode, 0x000000, 75, [0]), + LocationData(LocationName.Lotto_Code_19, 0xB610EA, 0x214E, 0x20, LocationType.LottoCode, 0x000000, 76, [0]), + LocationData(LocationName.Lotto_Code_20, 0xB610EB, 0x214E, 0x10, LocationType.LottoCode, 0x000000, 77, [0]), + LocationData(LocationName.Lotto_Code_21, 0xB610EC, 0x214E, 0x08, LocationType.LottoCode, 0x000000, 78, [0]), + LocationData(LocationName.Lotto_Code_22, 0xB610ED, 0x214E, 0x04, LocationType.LottoCode, 0x000000, 79, [0]), + LocationData(LocationName.Lotto_Code_23, 0xB610EE, 0x214E, 0x02, LocationType.LottoCode, 0x000000, 80, [0]), + LocationData(LocationName.Lotto_Code_24, 0xB610EF, 0x214E, 0x01, LocationType.LottoCode, 0x000000, 81, [0]), + LocationData(LocationName.Lotto_Code_25, 0xB610F0, 0x214F, 0x80, LocationType.LottoCode, 0x000000, 82, [0]), + LocationData(LocationName.Lotto_Code_26, 0xB610F1, 0x214F, 0x40, LocationType.LottoCode, 0x000000, 83, [0]), + LocationData(LocationName.Lotto_Code_27, 0xB610F2, 0x214F, 0x20, LocationType.LottoCode, 0x000000, 84, [0]), + LocationData(LocationName.Lotto_Code_28, 0xB610F3, 0x214F, 0x10, LocationType.LottoCode, 0x000000, 85, [0]), + LocationData(LocationName.Lotto_Code_29, 0xB610F4, 0x214F, 0x08, LocationType.LottoCode, 0x000000, 86, [0]), + LocationData(LocationName.Lotto_Code_30, 0xB610F5, 0x214F, 0x04, LocationType.LottoCode, 0x000000, 87, [0]), + LocationData(LocationName.Lotto_Code_31, 0xB610F6, 0x214F, 0x02, LocationType.LottoCode, 0x000000, 88, [0]), + LocationData(LocationName.Lotto_Code_32, 0xB610F7, 0x214F, 0x01, LocationType.LottoCode, 0x000000, 89, [0]), + LocationData(LocationName.Lotto_Code_33, 0xB610F8, 0x2150, 0x80, LocationType.LottoCode, 0x000000, 90, [0]), + LocationData(LocationName.Lotto_Code_34, 0xB610F9, 0x2150, 0x40, LocationType.LottoCode, 0x000000, 91, [0]), + LocationData(LocationName.Lotto_Code_35, 0xB610FA, 0x2150, 0x20, LocationType.LottoCode, 0x000000, 92, [0]), + LocationData(LocationName.Lotto_Code_36, 0xB610FB, 0x2150, 0x10, LocationType.LottoCode, 0x000000, 93, [0]), + LocationData(LocationName.Lotto_Code_37, 0xB610FC, 0x2150, 0x08, LocationType.LottoCode, 0x000000, 94, [0]), + LocationData(LocationName.Lotto_Code_38, 0xB610FD, 0x2150, 0x04, LocationType.LottoCode, 0x000000, 95, [0]), + LocationData(LocationName.Lotto_Code_39, 0xB610FE, 0x2150, 0x02, LocationType.LottoCode, 0x000000, 96, [0]), + LocationData(LocationName.Lotto_Code_40, 0xB610FF, 0x2150, 0x01, LocationType.LottoCode, 0x000000, 97, [0]), + LocationData(LocationName.Lotto_Code_41, 0xB61100, 0x2151, 0x80, LocationType.LottoCode, 0x000000, 98, [0]), + LocationData(LocationName.Lotto_Code_42, 0xB61101, 0x2151, 0x40, LocationType.LottoCode, 0x000000, 99, [0]), + LocationData(LocationName.Lotto_Code_43, 0xB61102, 0x2151, 0x20, LocationType.LottoCode, 0x000000, 100, [0]), + LocationData(LocationName.Lotto_Code_44, 0xB61103, 0x2151, 0x10, LocationType.LottoCode, 0x000000, 101, [0]), + LocationData(LocationName.Lotto_Code_45, 0xB61104, 0x2151, 0x08, LocationType.LottoCode, 0x000000, 102, [0]), + LocationData(LocationName.Lotto_Code_46, 0xB61105, 0x2151, 0x04, LocationType.LottoCode, 0x000000, 103, [0]), + LocationData(LocationName.Lotto_Code_47, 0xB61106, 0x2151, 0x02, LocationType.LottoCode, 0x000000, 104, [0]), + LocationData(LocationName.Lotto_Code_48, 0xB61107, 0x2151, 0x01, LocationType.LottoCode, 0x000000, 105, [0]), + LocationData(LocationName.Lotto_Code_49, 0xB61108, 0x2152, 0x80, LocationType.LottoCode, 0x000000, 106, [0]), + LocationData(LocationName.Lotto_Code_50, 0xB61109, 0x2152, 0x40, LocationType.LottoCode, 0x000000, 107, [0]), + LocationData(LocationName.Lotto_Code_51, 0xB6110A, 0x2152, 0x20, LocationType.LottoCode, 0x000000, 108, [0]), + LocationData(LocationName.Lotto_Code_52, 0xB6110B, 0x2152, 0x10, LocationType.LottoCode, 0x000000, 109, [0]), + LocationData(LocationName.Lotto_Code_53, 0xB6110C, 0x2152, 0x08, LocationType.LottoCode, 0x000000, 110, [0]), + LocationData(LocationName.Lotto_Code_54, 0xB6110D, 0x2152, 0x04, LocationType.LottoCode, 0x000000, 111, [0]), + LocationData(LocationName.Lotto_Code_55, 0xB6110E, 0x2152, 0x02, LocationType.LottoCode, 0x000000, 112, [0]), + LocationData(LocationName.Lotto_Code_56, 0xB6110F, 0x2152, 0x01, LocationType.LottoCode, 0x000000, 113, [0, 1, 2]), + LocationData(LocationName.Lotto_Code_57, 0xB61110, 0x2153, 0x80, LocationType.LottoCode, 0x000000, 114, [0, 1, 2]), + LocationData(LocationName.Lotto_Code_58, 0xB61111, 0x2153, 0x40, LocationType.LottoCode, 0x000000, 115, [0, 1, 2]) ] bosses = [ @@ -363,7 +373,8 @@ class MMBN6Location(Location): LocationName.Graveyard_BMD_4, LocationName.Graveyard_BMD_5, LocationName.Graveyard_PMD_1, - LocationName.Graveyard_PMD_2 + LocationName.Graveyard_PMD_2, + LocationName.Bass_SP } ex_boss_locations = { @@ -384,6 +395,28 @@ class MMBN6Location(Location): LocationName.Colonel_SP } +virus_battler_locations = { + LocationName.RoboDog_Comp_Virus_Battler, + LocationName.Water_Machine_Comp_Virus_Battler, + LocationName.Punish_Chair_Comp_Virus_Battler, + LocationName.Oxygen_Tank_Comp_Virus_Battler, + LocationName.Central_1_Virus_Battler +} + +gregar_only_locs = { + LocationName.ElecMan_Class, + LocationName.SlashMan_Class, + LocationName.EraseMan_Class, + LocationName.ChargeMan_Class, +} + +falzar_only_locs = { + LocationName.TomahawkMan_Class, + LocationName.TenguMan_Class, + LocationName.GroundMan_Class, + LocationName.DustMan_Class, +} + location_groups: typing.Dict[str, typing.Set[str]] = { "BMDs": {loc.name for loc in bmds}, "PMDs": {loc.name for loc in pmds}, diff --git a/worlds/mmbn6/Names/ItemName.py b/worlds/mmbn6/Names/ItemName.py index d08881258231..bfe65af1149d 100644 --- a/worlds/mmbn6/Names/ItemName.py +++ b/worlds/mmbn6/Names/ItemName.py @@ -17,11 +17,17 @@ class ItemName(): StampCrd = "StampCrd" BatKey = "BatKey" HeatCross = "HeatCross" + SpoutCross = "SpoutCross" SlashCross = "SlashCross" + TenguCross = "TenguCross" ElecCross = "ElecCross" + TomahawkCross = "TomahawkCross" OrderSys = "OrderSys" EraseCross = "EraseCross" + GroundCross = "GroundCross" ChargeCross = "ChargeCross" + DustCross = "DustCross" + BtlrCard = "BtlrCard" CybBrdAx = "CybBrdAx" WWWID = "WWWID" SpinWhit = "SpinWhit" @@ -63,6 +69,8 @@ class ItemName(): Atk_30_star = "Atk+30 *" AuraHed1_B = "AuraHed1 B" Barr100_H = "Barr100 H" + Bass_F = "Bass F" + BassAnly_F = "BassAnly F" BigBomb_O = "BigBomb O" BigBomb_P = "BigBomb P" BlastMan_star = "BlastMan *" diff --git a/worlds/mmbn6/Names/LocationName.py b/worlds/mmbn6/Names/LocationName.py index 5376969e381e..730a7e78b72b 100644 --- a/worlds/mmbn6/Names/LocationName.py +++ b/worlds/mmbn6/Names/LocationName.py @@ -209,11 +209,21 @@ class LocationName(): Green_Punishment_Room_Prog = "Green Punishment Room Prog" Sky_1_Brown_Navi = "Sky 1 Brown Navi" Bass = "Bass" + Bass_SP = "Bass SP" Talk_To_Mayl = "Talk To Mayl" ElecMan_Class = "ElecMan Class" SlashMan_Class = "SlashMan Class" EraseMan_Class = "EraseMan Class" ChargeMan_Class = "ChargeMan Class" + TomahawkMan_Class = "TomahawkMan Class" + TenguMan_Class = "TenguMan Class" + GroundMan_Class = "GroundMan Class" + DustMan_Class = "DustMan Class" + RoboDog_Comp_Virus_Battler = "RoboDog Comp Virus Battler" + Water_Machine_Comp_Virus_Battler = "WatrMchn Comp Virus Battler" + Punish_Chair_Comp_Virus_Battler = "Punish Chair Comp Virus Battler" + Oxygen_Tank_Comp_Virus_Battler = "Oxygen Tank Comp Virus Battler" + Central_1_Virus_Battler = "Central 1 Virus Battler" ## Requests Virus_Deletion = "Request: Virus Deletion" diff --git a/worlds/mmbn6/Options.py b/worlds/mmbn6/Options.py index 5f18226fcf74..5a2378454f55 100644 --- a/worlds/mmbn6/Options.py +++ b/worlds/mmbn6/Options.py @@ -1,6 +1,14 @@ from dataclasses import dataclass from Options import Choice, Range, DefaultOnToggle, Toggle, PerGameCommonOptions +class GameVersion(Choice): + """ + Which version of the game you want to play. + """ + display_name = "Version" + option_gregar = 0 + option_falzar = 1 + default = 0 class IncludeJobs(DefaultOnToggle): """ @@ -26,6 +34,12 @@ class IncludeSPBosses(Toggle): """ display_name = "Include SP Bosses" +class IncludeVirusBattler(Toggle): + """ + Whether Virus Battler Machines can contain progression or useful items. + """ + display_name = "Include Virus Battler" + class TradeQuestHinting(Choice): """ @@ -43,8 +57,10 @@ class TradeQuestHinting(Choice): @dataclass class MMBN6Options(PerGameCommonOptions): + game_version: GameVersion include_jobs: IncludeJobs include_graveyard: IncludeGraveyardArea include_ex_bosses: IncludeEXBosses include_sp_bosses: IncludeSPBosses + include_virus_battler: IncludeVirusBattler trade_quest_hinting: TradeQuestHinting diff --git a/worlds/mmbn6/Regions.py b/worlds/mmbn6/Regions.py index a41fc7bf464a..133af438b51e 100644 --- a/worlds/mmbn6/Regions.py +++ b/worlds/mmbn6/Regions.py @@ -69,6 +69,8 @@ def __init__(self, name, connections, locations): LocationName.Class_1_2_Heel_Navi, LocationName.Talk_To_Mayl, LocationName.EraseMan_Class, + LocationName.GroundMan_Class, + LocationName.RoboDog_Comp_Virus_Battler, LocationName.Virus_Deletion, LocationName.Find_Keepsake, LocationName.Errand_Request, @@ -149,6 +151,7 @@ def __init__(self, name, connections, locations): LocationName.Central_Area_2_BMD_2, LocationName.Central_1_Net_Cafe, LocationName.Central_2_Heel_Navi, + LocationName.Central_1_Virus_Battler, LocationName.For_Victory, LocationName.BlastMan_EX, LocationName.BlastMan_SP, @@ -191,6 +194,8 @@ def __init__(self, name, connections, locations): LocationName.Seaside_Auditorium_Man, LocationName.Aquarium_Comp_1_Navi, LocationName.ChargeMan_Class, + LocationName.DustMan_Class, + LocationName.Water_Machine_Comp_Virus_Battler, LocationName.Stock_Up, LocationName.PenguinsRanAway, LocationName.Got_A_Problem, @@ -245,6 +250,8 @@ def __init__(self, name, connections, locations): LocationName.Green_Foyer_Flowers, LocationName.Green_Punishment_Room_Prog, LocationName.SlashMan_Class, + LocationName.TenguMan_Class, + LocationName.Punish_Chair_Comp_Virus_Battler, LocationName.Daughter_Worry, LocationName.Stop_Him, LocationName.TimeCpsl @@ -298,6 +305,8 @@ def __init__(self, name, connections, locations): LocationName.Sky_GrabRvng_I_Trade, LocationName.Sky_Air_Tank, LocationName.ElecMan_Class, + LocationName.TomahawkMan_Class, + LocationName.Oxygen_Tank_Comp_Virus_Battler, LocationName.OfficialRequest_1, LocationName.OfficialRequest_2, LocationName.OfficialRequest_3, @@ -360,7 +369,8 @@ def __init__(self, name, connections, locations): LocationName.Graveyard_BMD_4, LocationName.Graveyard_BMD_5, LocationName.Graveyard_PMD_1, - LocationName.Graveyard_PMD_2 + LocationName.Graveyard_PMD_2, + LocationName.Bass_SP ]), RegionInfo(RegionName.Expo, [RegionName.Central_Overworld], diff --git a/worlds/mmbn6/Rom.py b/worlds/mmbn6/Rom.py index 3f18f578754a..3093fccbda6a 100644 --- a/worlds/mmbn6/Rom.py +++ b/worlds/mmbn6/Rom.py @@ -7,14 +7,17 @@ import bsdiff4 from .lz10 import gba_decompress, gba_compress -from .BN6RomUtils import ArchiveToReferences, read_u16_le, read_u32_le, int16_to_byte_list_le, int24_to_byte_list_le, \ - ArchiveToSizeComp, ArchiveToSizeUncomp, generate_item_message, generate_external_item_message, generate_text_bytes, \ +from settings import get_settings + +from .BN6RomUtils import ArchiveToReferencesGregar, ArchiveToReferencesFalzar, read_u16_le, read_u32_le, int16_to_byte_list_le, int24_to_byte_list_le, \ + ArchiveToSizeCompGregar, ArchiveToSizeUncompGregar, ArchiveToSizeCompFalzar, ArchiveToSizeUncompFalzar, generate_item_message, generate_external_item_message, generate_text_bytes, \ update_mystery_data, update_mystery_data_external from .Items import ItemType from .Locations import LocationType CHECKSUM_GREG = "5acc75848bb1ffd3d6d8705554ee333d" +CHECKSUM_FALZ = "1e8c774ba210d1c55113531c7360c737" def list_contains_subsequence(lst, sublist) -> bool: @@ -79,12 +82,15 @@ def __str__(self): class TextArchive: - def __init__(self, data, offset, size, compressed=True): + def __init__(self, data, offset, size, game_version, compressed=True): self.startOffset = offset self.compressed = compressed self.scripts = {} self.scriptCount = 0xFF - self.references = ArchiveToReferences[offset] + if game_version == "gregar": + self.references = ArchiveToReferencesGregar[offset] + else: + self.references = ArchiveToReferencesFalzar[offset] self.unused_indices = [] # A list of places it's okay to inject new scripts self.text_changed = False @@ -194,20 +200,26 @@ def inject_item_text(self, item_text, next_message=""): class LocalRom: - def __init__(self, file, name=None): + def __init__(self, game_version, name=None): self.name = name self.changed_archives = {} + self.game_version = game_version + + if game_version == "gregar": + self.archive_to_size_comp = ArchiveToSizeCompGregar + self.archive_to_size_uncomp = ArchiveToSizeUncompGregar + else: + self.archive_to_size_comp = ArchiveToSizeCompFalzar + self.archive_to_size_uncomp = ArchiveToSizeUncompFalzar - self.rom_data = bytearray(get_patched_rom_bytes(file)) + self.rom_data = bytearray(get_patched_rom_bytes(get_base_rom_path(game_version=self.game_version), self.game_version)) def get_data_chunk(self, start_offset, size): if start_offset+size > len(self.rom_data): print("Attempting to get data chunk beyond the size of the ROM: "+hex(start_offset)+", ROM size ends at: "+hex(len(self.rom_data))) return self.rom_data[start_offset:start_offset + size] - def replace_item(self, location, item): - offset = location.update_address - + def replace_item(self, location, offset, item): # For Mystery Data, we need to update the Mystery Data table. For everything else, we update the Text Archive. if location.type == LocationType.BlueMysteryData or location.type == LocationType.PurpleMysteryData: if item.type == ItemType.External: @@ -222,9 +234,9 @@ def replace_item(self, location, item): if offset in self.changed_archives: archive = self.changed_archives[offset] else: - is_compressed = offset in ArchiveToSizeComp.keys() - size = ArchiveToSizeComp[offset] if is_compressed\ - else ArchiveToSizeUncomp[offset] + is_compressed = offset in self.archive_to_size_comp.keys() + size = self.archive_to_size_comp[offset] if is_compressed\ + else self.archive_to_size_uncomp[offset] data = self.get_data_chunk(offset, size) # Check if the archive we want to load has been moved by the patch. This is indicated by a 0xFF 0xFF # as the first two bytes of the chunk @@ -237,7 +249,7 @@ def replace_item(self, location, item): size = read_u16_le(new_size_bytes, 0) data = self.get_data_chunk(read_u32_le(new_address_le, 0), size) - archive = TextArchive(data, offset, size, is_compressed) + archive = TextArchive(data, offset, size, self.game_version, is_compressed) self.changed_archives[offset] = archive if item.type == ItemType.External: @@ -248,7 +260,7 @@ def replace_item(self, location, item): item_bytes) - def insert_hint_text(self, location, short_text, long_text = ""): + def insert_hint_text(self, location, offset, short_text, long_text = ""): """ Replaces the placeholder text in this location's archive with short_text, gives another text box for long_text if it's present @@ -256,13 +268,15 @@ def insert_hint_text(self, location, short_text, long_text = ""): # Replace item name placeholders if location.inject_name: - offset = location.update_address # If the archive is already loaded, use that if offset in self.changed_archives: archive = self.changed_archives[offset] else: # It should be theoretically impossible to call insert_hint_text before actually injecting the item. - raise AssertionError("Inserting a hint at a location that doesn't have an item!") + raise AssertionError(f"Inserting a hint at a location that doesn't have an item! Location: {location.name}") + # If a string is too long, remove "Program: " to prevent garbled text. + if len(long_text) > 20: + long_text = long_text.replace("Program: ", "") archive.inject_item_text(short_text, long_text) @@ -280,26 +294,46 @@ def write_to_file(self, out_path): rom.write(self.rom_data) -class MMBN6DeltaPatch(APDeltaPatch): +class MMBN6GregarDeltaPatch(APDeltaPatch): hash = CHECKSUM_GREG game = "MegaMan Battle Network 6" - patch_file_ending = ".apbn6" + patch_file_ending = ".apbn6g" result_file_ending = ".gba" @classmethod def get_source_data(cls) -> bytes: - return get_base_rom_bytes() + with open(get_settings().mmbn6_settings.gregar_rom_file, "rb") as infile: + base_rom_bytes = bytes(infile.read()) + return base_rom_bytes +class MMBN6FalzarDeltaPatch(APDeltaPatch): + hash = CHECKSUM_FALZ + game = "MegaMan Battle Network 6" + patch_file_ending = ".apbn6f" + result_file_ending = ".gba" -def get_base_rom_path(file_name: str = "") -> str: + @classmethod + def get_source_data(cls) -> bytes: + with open(get_settings().mmbn6_settings.falzar_rom_file, "rb") as infile: + base_rom_bytes = bytes(infile.read()) + return base_rom_bytes + + +def get_base_rom_path(file_name: str = "", game_version: str = "") -> str: if not file_name: from worlds.mmbn6 import MMBN6World - bn6_options = MMBN6World.settings + bn6_settings = MMBN6World.settings - if bn6_options is None: - file_name = "Mega Man Battle Network 6 - Cybeast Gregar (USA).gba" + if game_version == "gregar": + if bn6_settings is None: + file_name = "Mega Man Battle Network 6 - Cybeast Gregar (USA).gba" + else: + file_name = bn6_settings["gregar_rom_file"] else: - file_name = bn6_options["rom_file"] + if bn6_settings is None: + file_name = "Mega Man Battle Network 6 - Cybeast Falzar (USA).gba" + else: + file_name = bn6_settings["falzar_rom_file"] if not os.path.exists(file_name): file_name = Utils.user_path(file_name) return file_name @@ -313,22 +347,25 @@ def get_base_rom_bytes(file_name: str = "") -> bytes: basemd5 = hashlib.md5() basemd5.update(base_rom_bytes) - if CHECKSUM_GREG != basemd5.hexdigest(): - raise Exception('Supplied Base Rom does not match US GBA Gregar Version.' + if CHECKSUM_GREG != basemd5.hexdigest() and CHECKSUM_FALZ != basemd5.hexdigest(): + raise Exception('Supplied Base Rom does not match US GBA Gregar or US GBA Falzar Version.' 'Please provide the correct ROM version') get_base_rom_bytes.base_rom_bytes = base_rom_bytes return base_rom_bytes -def get_patched_rom_bytes(file_name: str = "") -> bytes: +def get_patched_rom_bytes(file_name: str = "", game_version: str = "") -> bytes: """ Gets the patched ROM data generated from applying the ap-patch diff file to the provided ROM. - Diff patch generated by https://github.com/RischDev/bn6g-ap-patch + Diff patch generated by https://github.com/RischDev/bn6-ap-patch Which should contain all changed text banks and assembly code """ import pkgutil base_rom_bytes = get_base_rom_bytes(file_name) - patch_bytes = pkgutil.get_data(__name__, "data/bn6-ap-patch.bsdiff") + if game_version == "gregar": + patch_bytes = pkgutil.get_data(__name__, "data/bn6g-ap-patch.bsdiff") + else: + patch_bytes = pkgutil.get_data(__name__, "data/bn6f-ap-patch.bsdiff") patched_rom_bytes = bsdiff4.patch(base_rom_bytes, patch_bytes) return patched_rom_bytes diff --git a/worlds/mmbn6/__init__.py b/worlds/mmbn6/__init__.py index 2f6f10c0124b..423b14aee3ca 100644 --- a/worlds/mmbn6/__init__.py +++ b/worlds/mmbn6/__init__.py @@ -7,11 +7,15 @@ from worlds.AutoWorld import WebWorld, World -from .Rom import MMBN6DeltaPatch, LocalRom, get_base_rom_path -from .Items import MMBN6Item, ItemData, item_table, all_items, item_frequencies, items_by_id, ItemType, item_groups +from .Rom import MMBN6GregarDeltaPatch, MMBN6FalzarDeltaPatch, LocalRom, get_base_rom_path +from .Items import MMBN6Item, ItemData, item_table, all_items, item_frequencies, items_by_id, ItemType, item_groups, \ + gregar_only_items, falzar_only_items from .Locations import MMBN6Location, all_locations, location_table, location_data_table, \ - requests, location_groups, graveyard_locations, ex_boss_locations, sp_boss_locations -from .Options import MMBN6Options + requests, location_groups, graveyard_locations, ex_boss_locations, sp_boss_locations, \ + virus_battler_locations, gregar_only_locs, falzar_only_locs +from .GregarLocations import gregar_update_addresses +from .FalzarLocations import falzar_update_addresses +from .Options import MMBN6Options, GameVersion from .Regions import regions, RegionName from .Names.ItemName import ItemName from .Names.LocationName import LocationName @@ -20,21 +24,20 @@ class MMBN6Settings(settings.Group): - class RomFile(settings.UserFilePath): + class GregarRomFile(settings.UserFilePath): """File name of the MMBN6 Cybeast Gregar US rom""" copy_to = "Mega Man Battle Network 6 - Cybeast Gregar.gba" - description = "MMBN6 ROM File" - md5s = [MMBN6DeltaPatch.hash] + description = "MMBN6 Gregar ROM File" + md5s = [MMBN6GregarDeltaPatch.hash] - class RomStart(str): - """ - Set this to false to never autostart a rom (such as after patching), - true for operating system default program - Alternatively, a path to a program to open the .gba file with - """ + class FalzarRomFile(settings.UserFilePath): + """File name of the MMBN6 Cybeast Falzar US rom""" + copy_to = "Mega Man Battle Network 6 - Cybeast Falzar.gba" + description = "MMBN6 Falzar ROM File" + md5s = [MMBN6FalzarDeltaPatch.hash] - rom_file: RomFile = RomFile(RomFile.copy_to) - rom_start: RomStart | bool = True + gregar_rom_file: GregarRomFile = GregarRomFile(GregarRomFile.copy_to) + falzar_rom_file: FalzarRomFile = FalzarRomFile(FalzarRomFile.copy_to) class MMBN6Web(WebWorld): @@ -61,6 +64,7 @@ class MMBN6World(World): game = "MegaMan Battle Network 6" options_dataclass = MMBN6Options options: MMBN6Options + settings_key = "mmbn6_settings" settings: typing.ClassVar[MMBN6Settings] topology_present = False @@ -91,6 +95,8 @@ def generate_early(self) -> None: self.excluded_locations |= ex_boss_locations if not self.options.include_sp_bosses: self.excluded_locations |= sp_boss_locations + if not self.options.include_virus_battler: + self.excluded_locations |= virus_battler_locations def create_regions(self) -> None: """ @@ -105,6 +111,11 @@ def create_regions(self) -> None: loc = MMBN6Location(self.player, location, self.location_name_to_id.get(location, None), region) if location in self.excluded_locations: loc.progress_type = LocationProgressType.EXCLUDED + # Don't include locations from the opposite version + if self.options.game_version == GameVersion.option_gregar and location in falzar_only_locs: + continue + elif self.options.game_version == GameVersion.option_falzar and location in gregar_only_locs: + continue region.locations.append(loc) self.multiworld.regions.append(region) @@ -212,6 +223,11 @@ def create_items(self) -> None: # First add in all progression and useful items required_items = [] for item in all_items: + # Don't include locations from the opposite version + if self.options.game_version == GameVersion.option_gregar and item.itemName in falzar_only_items: + continue + elif self.options.game_version == GameVersion.option_falzar and item.itemName in gregar_only_items: + continue if item.progression != ItemClassification.filler: freq = self.item_frequencies.get(item.itemName, 1) required_items += [item.itemName for _ in range(freq)] @@ -226,7 +242,10 @@ def create_items(self) -> None: freq = self.item_frequencies.get(item.itemName, 1) filler_items += [item.itemName for _ in range(freq)] - remaining = len(all_locations) - len(required_items) + if self.options.game_version == GameVersion.option_gregar: + remaining = len(all_locations) - len(required_items) - len(gregar_only_locs) + else: + remaining = len(all_locations) - len(required_items) - len(falzar_only_locs) for i in range(remaining): filler_item_name = self.random.choice(filler_items) item = self.create_item(filler_item_name) @@ -256,101 +275,209 @@ def has_rush_food(state): add_rule(self.multiworld.get_location(LocationName.ACDC_Area_BMD_1, self.player), has_rush_food) add_rule(self.multiworld.get_location(LocationName.Undernet_Zero_Heel_Navi, self.player), has_rush_food) - # Rush Food requirement, but also blocked by a Tree - self.multiworld.get_location(LocationName.Undernet_Zero_BMD_1, self.player).access_rule = \ - lambda state: \ - state.has(ItemName.Umbrella, self.player) and \ - (state.has(ItemName.HeatCross, self.player) or \ - state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) - - # Set Link Navi requirements - # Fires - self.multiworld.get_location(LocationName.Sky_Area_2_BMD_3, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) - # ChargeMan requires player to be able to get SkyBanner, or have VacData - self.multiworld.get_location(LocationName.Underground_2_BMD_2, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) and - (state.has(ItemName.Umbrella, self.player) or state.has(ItemName.VacData, self.player)))) - self.multiworld.get_location(LocationName.Graveyard_BMD_2, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) - - # Geysers - # EraseMan requires player to be able to get SkyBanner, or VacData and ToolPrgm - self.multiworld.get_location(LocationName.Seaside_Area_1_BMD_3, self.player).access_rule = \ - lambda state: \ - ((state.has(ItemName.EraseCross, self.player) and - (state.has(ItemName.Umbrella, self.player) or - state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or - state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player))) or - state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) - self.multiworld.get_location(LocationName.Undernet_Zero_BMD_2, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.EraseCross, self.player) or - state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) - self.multiworld.get_location(LocationName.Graveyard_PMD_1, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.EraseCross, self.player) or - state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) - - # Trees - self.multiworld.get_location(LocationName.Green_Area_1_BMD_2, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) - self.multiworld.get_location(LocationName.Sky_1_Brown_Navi, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) - self.multiworld.get_location(LocationName.Graveyard_BMD_3, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.HeatCross, self.player) or - state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) - - # Cloud - self.multiworld.get_location(LocationName.Sky_Area_1_PMD, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.EraseCross, self.player) or - state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) - - # Tornado - # ChargeMan requires player to be able to get SkyBanner, or VacData and ToolPrgm - self.multiworld.get_location(LocationName.Seaside_Area_2_BMD_3, self.player).access_rule = \ - lambda state: \ - (state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player) or - (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) and - (state.has(ItemName.Umbrella, self.player) or - state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or - state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player)))) - self.multiworld.get_location(LocationName.Graveyard_BMD_4, self.player).access_rule = \ - lambda state: \ - (state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player) or - state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) - - # Lab Comp 2 requires EraseCross, or access to Undernet - self.multiworld.get_location(LocationName.Labs_Comp_2_BMD, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.EraseCross, self.player) or - state.can_reach_region(RegionName.Undernet, self.player)) - self.multiworld.get_location(LocationName.Labs_Comp_2_PMD, self.player).access_rule = \ - lambda state: \ - (state.has(ItemName.EraseCross, self.player) or - state.can_reach_region(RegionName.Undernet, self.player)) - - # Vending Machine Comp requires ChargeCross, or access to Undernet - self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_1, self.player).access_rule = \ - lambda state: \ - (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) or - state.can_reach_region(RegionName.Undernet, self.player)) - self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_2, self.player).access_rule = \ - lambda state: \ - (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) or - state.can_reach_region(RegionName.Undernet, self.player)) + # Set Link Navi requirements (Gregar) + if self.options.game_version == GameVersion.option_gregar: + # Rush Food requirement, but also blocked by a Tree + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_1, self.player).access_rule = \ + lambda state: \ + state.has(ItemName.Umbrella, self.player) and \ + (state.has(ItemName.HeatCross, self.player) or \ + state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) + + # Fires + self.multiworld.get_location(LocationName.Sky_Area_2_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) + # ChargeMan requires player to be able to get SkyBanner, or have VacData + self.multiworld.get_location(LocationName.Underground_2_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) and + (state.has(ItemName.Umbrella, self.player) or state.has(ItemName.VacData, self.player)))) + self.multiworld.get_location(LocationName.Graveyard_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) + + # Geysers + # EraseMan requires player to be able to get SkyBanner, or VacData and ToolPrgm + self.multiworld.get_location(LocationName.Seaside_Area_1_BMD_3, self.player).access_rule = \ + lambda state: \ + ((state.has(ItemName.EraseCross, self.player) and + (state.has(ItemName.Umbrella, self.player) or + state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or + state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player))) or + state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.EraseCross, self.player) or + state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) + self.multiworld.get_location(LocationName.Graveyard_PMD_1, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.EraseCross, self.player) or + state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) + + # Trees + self.multiworld.get_location(LocationName.Green_Area_1_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) + self.multiworld.get_location(LocationName.Sky_1_Brown_Navi, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) + self.multiworld.get_location(LocationName.Graveyard_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.HeatCross, self.player) or + state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player)) + + # Cloud + self.multiworld.get_location(LocationName.Sky_Area_1_PMD, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.EraseCross, self.player) or + state.has_all({ItemName.ElecCross, ItemName.Umbrella}, self.player)) + + # Tornado + # ChargeMan requires player to be able to get SkyBanner, or VacData and ToolPrgm + self.multiworld.get_location(LocationName.Seaside_Area_2_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player) or + (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) and + (state.has(ItemName.Umbrella, self.player) or + state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or + state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player)))) + self.multiworld.get_location(LocationName.Graveyard_BMD_4, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.SlashCross, ItemName.AuthData}, self.player) or + state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player)) + + # Lab Comp 2 requires EraseCross, or access to Undernet + self.multiworld.get_location(LocationName.Labs_Comp_2_BMD, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.EraseCross, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + self.multiworld.get_location(LocationName.Labs_Comp_2_PMD, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.EraseCross, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + + # Vending Machine Comp requires ChargeCross, or access to Undernet + self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_1, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.ChargeCross, ItemName.Fish}, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + + # Set Link Navi requirements (Falzar) + if self.options.game_version == GameVersion.option_falzar: + # GroundMan's class requires VacData to reach Central 2 + self.multiworld.get_location(LocationName.GroundMan_Class, self.player).access_rule = \ + lambda state: state.has(ItemName.VacData, self.player) + + # Rush Food requirement, but also blocked by a Tree + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_1, self.player).access_rule = \ + lambda state: \ + state.has(ItemName.Umbrella, self.player) and \ + (state.has(ItemName.GroundCross, self.player) or \ + state.has(ItemName.TomahawkCross, self.player)) + + # Fires + self.multiworld.get_location(LocationName.Sky_Area_2_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + state.has_all({ItemName.TenguCross, ItemName.AuthData}, self.player)) + self.multiworld.get_location(LocationName.Underground_2_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + state.has_all({ItemName.TenguCross, ItemName.AuthData}, self.player)) + self.multiworld.get_location(LocationName.Graveyard_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + state.has_all({ItemName.TenguCross, ItemName.AuthData}, self.player)) + + # Geysers + # GroundMan requires player to be able to get SkyBanner, or VacData and ToolPrgm + self.multiworld.get_location(LocationName.Seaside_Area_1_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + (state.has(ItemName.GroundCross, self.player) and + (state.has(ItemName.Umbrella, self.player) or + state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or + state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player)))) + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + state.has(ItemName.GroundCross, self.player)) + self.multiworld.get_location(LocationName.Graveyard_PMD_1, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.SpoutCross, self.player) or + state.has(ItemName.GroundCross, self.player)) + + # Trees + self.multiworld.get_location(LocationName.Green_Area_1_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.has_all({ItemName.TomahawkCross, ItemName.Umbrella}, self.player)) + self.multiworld.get_location(LocationName.Sky_1_Brown_Navi, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.has_all({ItemName.TomahawkCross, ItemName.Umbrella}, self.player)) + self.multiworld.get_location(LocationName.Undernet_Zero_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.has_all({ItemName.TomahawkCross, ItemName.Umbrella}, self.player)) + self.multiworld.get_location(LocationName.Graveyard_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.has_all({ItemName.TomahawkCross, ItemName.Umbrella}, self.player)) + + # Cloud + self.multiworld.get_location(LocationName.Sky_Area_1_PMD, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.TomahawkCross, ItemName.Umbrella}, self.player) or + state.has_all({ItemName.DustCross, ItemName.Fish}, self.player)) + + # Tornado + # DustMan requires player to be able to get SkyBanner, or VacData and ToolPrgm + self.multiworld.get_location(LocationName.Seaside_Area_2_BMD_3, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.TenguCross, ItemName.AuthData}, self.player) or + (state.has_all({ItemName.DustCross, ItemName.Fish}, self.player) and + (state.has(ItemName.Umbrella, self.player) or + state.has_all({ItemName.VacData, ItemName.KeyData}, self.player) or + state.has_all({ItemName.VacData, ItemName.ToolPrgm}, self.player)))) + self.multiworld.get_location(LocationName.Graveyard_BMD_4, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.TenguCross, ItemName.AuthData}, self.player) or + state.has_all({ItemName.DustCross, ItemName.Fish}, self.player)) + + # Lab Comp 2 requires GroundCross, or access to Undernet + self.multiworld.get_location(LocationName.Labs_Comp_2_BMD, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + self.multiworld.get_location(LocationName.Labs_Comp_2_PMD, self.player).access_rule = \ + lambda state: \ + (state.has(ItemName.GroundCross, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + + # Vending Machine Comp requires DustCross, or access to Undernet + self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_1, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.DustCross, ItemName.Fish}, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) + self.multiworld.get_location(LocationName.Vending_Machine_Comp_BMD_2, self.player).access_rule = \ + lambda state: \ + (state.has_all({ItemName.DustCross, ItemName.Fish}, self.player) or + state.can_reach_region(RegionName.Undernet, self.player)) # For now, set PMDs to be behind an explore score of 6. Otherwise, PMDs are in logic from the get-go, which # can be frustrating with a lot of zenny requirements. @@ -417,6 +544,23 @@ def has_rush_food(state): self.multiworld.get_location(LocationName.Colonel_SP, self.player).access_rule = \ lambda state: self.explore_score(state) > 6 + # Set Virus Battler checks to require BtlrCard, and have explore score requirements so that different rare + # viruses are accessible. + self.multiworld.get_location(LocationName.RoboDog_Comp_Virus_Battler, self.player).access_rule = \ + lambda state: state.has(ItemName.BtlrCard, self.player) and self.explore_score(state) > 1 + self.multiworld.get_location(LocationName.Water_Machine_Comp_Virus_Battler, self.player).access_rule = \ + lambda state: state.has(ItemName.BtlrCard, self.player) and self.explore_score(state) > 3 + self.multiworld.get_location(LocationName.Punish_Chair_Comp_Virus_Battler, self.player).access_rule = \ + lambda state: state.has(ItemName.BtlrCard, self.player) and self.explore_score(state) > 6 + self.multiworld.get_location(LocationName.Oxygen_Tank_Comp_Virus_Battler, self.player).access_rule = \ + lambda state: state.has(ItemName.BtlrCard, self.player) and self.explore_score(state) > 8 + self.multiworld.get_location(LocationName.Central_1_Virus_Battler, self.player).access_rule = \ + lambda state: state.has(ItemName.BtlrCard, self.player) and self.explore_score(state) > 8 + + # Bass SP requires defeating Bass first, which means Green Cyberworld access is required. + self.multiworld.get_location(LocationName.Bass_SP, self.player).access_rule = \ + lambda state: state.can_reach_region(RegionName.Green_Cyberworld, self.player) + # Get the player's current possible request points based on accessible locations. This determines if a certain rank # is achievable to unlock higher star requests. def request_points_possible(state): @@ -567,7 +711,7 @@ def request_points_possible(state): request_points_possible(state) >= 25 self.multiworld.get_location(LocationName.Get_The_Bad_Guy, self.player).access_rule = \ lambda state: \ - state.has(ItemName.KeyData, self.player) and \ + state.can_reach_region(RegionName.Central3_and_Underground, self.player) and \ request_points_possible(state) >= 25 self.multiworld.get_location(LocationName.Update_Help, self.player).access_rule = \ lambda state: \ @@ -666,10 +810,6 @@ def request_points_possible(state): self.multiworld.get_location(LocationName.ACDC_BigBomb_O_Trade, self.player).access_rule = \ lambda state: state.has(ItemName.BigBomb_O, self.player) - # For now, Green Quiz isn't enabled until after Aquarium Quiz. Add a rule so that this logic doesn't cause issues - self.multiworld.get_location(LocationName.Green_Quiz_King, self.player).access_rule = \ - lambda state: state.has(ItemName.Fish, self.player) - # Set Number Traders # The first 5 are considered cheap enough to grind for in Central. Robo Control 2 GMDs can drop 450-1200z. @@ -803,13 +943,21 @@ def generate_output(self, output_directory: str) -> None: try: world = self.multiworld player = self.player + game_version = self.options.game_version - rom = LocalRom(get_base_rom_path()) + rom = LocalRom(game_version=game_version.current_key) for location_name in location_table.keys(): + # Skip locations from the opposite version + if self.options.game_version == GameVersion.option_gregar and location_name in falzar_only_locs: + continue + elif self.options.game_version == GameVersion.option_falzar and location_name in gregar_only_locs: + continue + location = world.get_location(location_name, player) ap_item = location.item item_id = ap_item.code + if item_id is not None: if ap_item.player != player or item_id not in items_by_id: item = ItemData(item_id, ap_item.name, ap_item.classification, ItemType.External) @@ -818,8 +966,17 @@ def generate_output(self, output_directory: str) -> None: item = items_by_id[item_id] location_data = location_data_table[location_name] + + # Update the address that needs to be changed based on version + if game_version == GameVersion.option_gregar and location_name in gregar_update_addresses: + offset = gregar_update_addresses[location_name] + elif game_version == GameVersion.option_falzar and location_name in falzar_update_addresses: + offset = falzar_update_addresses[location_name] + else: + offset = 0x00 + # print("Placing item "+item.itemName+" at location "+location_data.name) - rom.replace_item(location_data, item) + rom.replace_item(location_data, offset, item) if location_data.inject_name: item_name_text = "Item" long_item_text = "" @@ -851,7 +1008,7 @@ def generate_output(self, output_directory: str) -> None: # To keep things consistent, only specify "AP Item" in game long_item_text = f"It's {owners_name} \n\"AP Item\"!!" - rom.insert_hint_text(location_data, item_name_text, long_item_text) + rom.insert_hint_text(location_data, offset, item_name_text, long_item_text) rom.inject_name(world.player_name[player]) @@ -860,8 +1017,13 @@ def generate_output(self, output_directory: str) -> None: rom.write_changed_rom() rom.write_to_file(rompath) - patch = MMBN6DeltaPatch(os.path.splitext(rompath)[0] + MMBN6DeltaPatch.patch_file_ending, player=player, + if self.options.game_version == GameVersion.option_gregar: + patch = MMBN6GregarDeltaPatch(os.path.splitext(rompath)[0] + MMBN6GregarDeltaPatch.patch_file_ending, player=player, player_name=world.player_name[player], patched_path=rompath) + else: + patch = MMBN6FalzarDeltaPatch(os.path.splitext(rompath)[0] + MMBN6FalzarDeltaPatch.patch_file_ending, + player=player, + player_name=world.player_name[player], patched_path=rompath) patch.write() except: raise @@ -869,12 +1031,6 @@ def generate_output(self, output_directory: str) -> None: if os.path.exists(rompath): os.unlink(rompath) - @classmethod - def stage_assert_generate(cls, multiworld: "MultiWorld") -> None: - rom_file = get_base_rom_path() - if not os.path.exists(rom_file): - raise FileNotFoundError(rom_file) - def create_item(self, name: str) -> "Item": item = item_table[name] return MMBN6Item(item.itemName, item.progression, item.code, self.player) @@ -884,7 +1040,15 @@ def create_event(self, event: str): return MMBN6Item(event, ItemClassification.progression, None, self.player) def fill_slot_data(self): - return self.options.as_dict("include_jobs", "trade_quest_hinting") + return self.options.as_dict( + "game_version", + "include_jobs", + "include_graveyard", + "include_ex_bosses", + "include_sp_bosses", + "include_virus_battler", + "trade_quest_hinting" + ) def explore_score(self, state): """ diff --git a/worlds/mmbn6/data/bn6-ap-patch.bsdiff b/worlds/mmbn6/data/bn6-ap-patch.bsdiff deleted file mode 100644 index 4a594e68a4e4..000000000000 Binary files a/worlds/mmbn6/data/bn6-ap-patch.bsdiff and /dev/null differ diff --git a/worlds/mmbn6/data/bn6f-ap-patch.bsdiff b/worlds/mmbn6/data/bn6f-ap-patch.bsdiff new file mode 100644 index 000000000000..432ee85f3567 Binary files /dev/null and b/worlds/mmbn6/data/bn6f-ap-patch.bsdiff differ diff --git a/worlds/mmbn6/data/bn6g-ap-patch.bsdiff b/worlds/mmbn6/data/bn6g-ap-patch.bsdiff new file mode 100644 index 000000000000..22af1da1c182 Binary files /dev/null and b/worlds/mmbn6/data/bn6g-ap-patch.bsdiff differ