Ignore:
Timestamp:
05/26/12 19:51:57 (13 years ago)
Author:
tbretz
Message:
Store mapping as 6-bit encoded string
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/www/smartfact/index.js

    r13928 r13929  
    33var debug = false;
    44
    5 var map = [ 393, 390, 391, 394, 1098, 395, 392, 389, 387, 388, 386,
    6 1001, 1004, 1099, 1101, 1100, 1111, 1108, 286, 283, 377, 375, 376, 383,
    7 384, 999, 1002, 1005, 1007, 1102, 1104, 1103, 1114, 1113, 1110, 1107,
    8 285, 282, 280, 374, 372, 373, 380, 381, 382, 385, 1000, 1003, 1006,
    9 990, 992, 1105, 1089, 1106, 1126, 1125, 1115, 1112, 1109, 287, 284,
    10 281, 279, 277, 371, 369, 370, 413, 378, 379, 422, 425, 428, 431, 983,
    11 986, 991, 993, 995, 1090, 1092, 1091, 1129, 1128, 1127, 1138, 1135,
    12 1150, 1147, 1144, 259, 256, 278, 276, 274, 368, 366, 367, 410, 411,
    13 412, 419, 420, 423, 426, 429, 981, 984, 987, 989, 994, 996, 998, 1093,
    14 1095, 1094, 1132, 1131, 1130, 1141, 1140, 1137, 1134, 1149, 1146, 1143,
    15 258, 255, 253, 275, 273, 271, 365, 363, 364, 407, 408, 409, 416, 417,
    16 418, 421, 424, 427, 430, 982, 985, 988, 972, 974, 997, 1035, 1037,
    17 1096, 1080, 1097, 1117, 1116, 1133, 1234, 1233, 1142, 1139, 1136, 1151,
    18 1148, 1145, 260, 257, 254, 252, 268, 272, 270, 322, 362, 360, 361, 404,
    19 405, 406, 521, 414, 415, 512, 533, 536, 539, 920, 923, 926, 911, 914,
    20 973, 975, 977, 1036, 1038, 1040, 1081, 1083, 1082, 1120, 1119, 1118,
    21 1237, 1236, 1235, 1228, 1225, 1258, 1255, 1252, 205, 202, 199, 196,
    22 193, 269, 267, 265, 323, 321, 319, 359, 357, 358, 401, 402, 403, 518,
    23 519, 520, 509, 510, 531, 534, 537, 918, 921, 924, 909, 912, 915, 917,
    24 976, 978, 980, 1039, 1041, 1043, 1084, 1086, 1085, 1123, 1122, 1121,
    25 1240, 1239, 1238, 1231, 1230, 1227, 1224, 1257, 1254, 1251, 204, 201,
    26 198, 195, 192, 190, 266, 264, 262, 320, 318, 316, 356, 354, 355, 398,
    27 399, 400, 515, 516, 517, 506, 507, 508, 511, 532, 535, 538, 919, 922,
    28 925, 910, 913, 916, 900, 902, 979, 963, 965, 1042, 1026, 1028, 1087,
    29 1071, 1088, 1180, 1179, 1124, 1216, 1215, 1241, 1288, 1287, 1232, 1229,
    30 1226, 1259, 1256, 1253, 206, 203, 200, 197, 194, 191, 189, 187, 263,
    31 261, 250, 317, 315, 313, 353, 351, 352, 467, 396, 397, 503, 513, 514,
    32 575, 504, 505, 611, 524, 527, 530, 929, 932, 935, 848, 851, 854, 821,
    33 824, 901, 903, 905, 964, 966, 968, 1027, 1029, 1031, 1072, 1074, 1073,
    34 1183, 1182, 1181, 1219, 1218, 1217, 1291, 1290, 1289, 1327, 1324, 1249,
    35 1246, 1243, 214, 211, 208, 142, 139, 136, 106, 103, 188, 186, 184, 251,
    36 249, 247, 314, 312, 310, 350, 348, 349, 464, 465, 466, 500, 501, 502,
    37 572, 573, 574, 608, 609, 522, 525, 528, 927, 930, 933, 846, 849, 852,
    38 819, 822, 825, 827, 904, 906, 908, 967, 969, 971, 1030, 1032, 1034,
    39 1075, 1077, 1076, 1186, 1185, 1184, 1222, 1221, 1220, 1294, 1293, 1292,
    40 1330, 1329, 1326, 1323, 1248, 1245, 1242, 213, 210, 207, 141, 138, 135,
    41 105, 102, 100, 185, 183, 181, 248, 246, 244, 311, 309, 307, 347, 345,
    42 346, 461, 462, 463, 497, 498, 499, 569, 570, 571, 605, 606, 607, 610,
    43 523, 526, 529, 928, 931, 934, 847, 850, 853, 820, 823, 826, 810, 812,
    44 907, 891, 893, 970, 954, 956, 1033, 1017, 1019, 1078, 1062, 1079, 1171,
    45 1170, 1187, 1207, 1206, 1223, 1279, 1278, 1295, 1315, 1314, 1331, 1328,
    46 1325, 1250, 1247, 1244, 215, 212, 209, 143, 140, 137, 107, 104, 101,
    47 99, 97, 182, 180, 178, 245, 243, 241, 308, 306, 304, 344, 342, 343,
    48 458, 459, 460, 494, 495, 496, 566, 567, 568, 602, 603, 604, 647, 650,
    49 653, 656, 659, 662, 665, 857, 860, 863, 839, 842, 845, 830, 833, 811,
    50 813, 815, 892, 894, 896, 955, 957, 959, 1018, 1020, 1022, 1063, 1065,
    51 1064, 1174, 1173, 1172, 1210, 1209, 1208, 1282, 1281, 1280, 1318, 1317,
    52 1316, 1363, 1360, 1375, 1372, 1369, 1384, 1381, 1378, 133, 130, 127,
    53 124, 121, 118, 115, 112, 98, 96, 94, 179, 177, 175, 242, 240, 238, 305,
    54 303, 301, 332, 330, 331, 455, 456, 457, 491, 492, 493, 563, 564, 565,
    55 599, 600, 601, 644, 645, 648, 651, 654, 657, 660, 663, 855, 858, 861,
    56 837, 840, 843, 828, 831, 834, 836, 814, 816, 818, 895, 897, 899, 958,
    57 960, 962, 1021, 1023, 1025, 1066, 1068, 1067, 1177, 1176, 1175, 1213,
    58 1212, 1211, 1285, 1284, 1283, 1321, 1320, 1319, 1366, 1365, 1362, 1359,
    59 1374, 1371, 1368, 1383, 1380, 1377, 132, 129, 126, 123, 120, 117, 114,
    60 111, 109, 95, 93, 91, 176, 174, 172, 239, 237, 235, 302, 300, 298, 329,
    61 327, 328, 452, 453, 454, 488, 489, 490, 560, 561, 562, 596, 597, 598,
    62 641, 642, 643, 646, 649, 652, 655, 658, 661, 664, 856, 859, 862, 838,
    63 841, 844, 829, 832, 835, 756, 758, 817, 792, 794, 898, 882, 884, 961,
    64 945, 947, 1024, 1008, 1010, 1069, 1044, 1070, 1162, 1161, 1178, 1198,
    65 1197, 1214, 1270, 1269, 1286, 1306, 1305, 1322, 1342, 1341, 1367, 1364,
    66 1361, 1376, 1373, 1370, 1385, 1382, 1379, 134, 131, 128, 125, 122, 119,
    67 116, 113, 110, 108, 43, 92, 90, 79, 173, 171, 169, 236, 234, 232, 299,
    68 297, 295, 326, 324, 325, 449, 450, 451, 485, 486, 487, 557, 558, 559,
    69 593, 594, 595, 629, 639, 640, 638, 695, 698, 701, 668, 671, 674, 677,
    70 680, 683, 749, 752, 755, 740, 743, 746, 775, 777, 757, 759, 761, 793,
    71 795, 797, 883, 885, 887, 946, 948, 950, 1009, 1011, 1013, 1045, 1047,
    72 1046, 1165, 1164, 1163, 1201, 1200, 1199, 1273, 1272, 1271, 1309, 1308,
    73 1307, 1345, 1344, 1343, 1353, 1351, 1420, 1417, 1414, 1393, 1390, 1387,
    74 1402, 1399, 1396, 34, 31, 28, 25, 22, 19, 62, 60, 44, 42, 40, 80, 78,
    75 76, 170, 168, 166, 233, 231, 229, 296, 294, 292, 341, 339, 340, 446,
    76 447, 448, 482, 483, 484, 554, 555, 556, 590, 591, 592, 626, 627, 628,
    77 636, 637, 693, 696, 699, 666, 669, 672, 675, 678, 681, 747, 750, 753,
    78 738, 741, 744, 774, 776, 778, 779, 760, 762, 764, 796, 798, 800, 886,
    79 888, 890, 949, 951, 953, 1012, 1014, 1016, 1054, 1057, 1048, 1168,
    80 1167, 1166, 1204, 1203, 1202, 1276, 1275, 1274, 1312, 1311, 1310, 1348,
    81 1347, 1346, 1355, 1354, 1352, 1350, 1419, 1416, 1413, 1392, 1389, 1386,
    82 1401, 1398, 1395, 33, 30, 27, 24, 21, 18, 61, 59, 58, 41, 39, 37, 77,
    83 75, 73, 167, 165, 163, 230, 228, 226, 293, 291, 289, 338, 336, 337,
    84 443, 444, 445, 479, 480, 481, 551, 552, 553, 587, 588, 589, 623, 624,
    85 625, 634, 635, 684, 687, 694, 697, 700, 667, 670, 673, 676, 679, 682,
    86 748, 751, 754, 739, 742, 745, 787, 789, 791, 780, 765, 763, 769, 770,
    87 799, 801, 803, 889, 875, 864, 952, 936, 938, 1015, 1053, 1055, 1058,
    88 1061, 1059, 1050, 1049, 1169, 1153, 1152, 1205, 1188, 1260, 1277, 1297,
    89 1296, 1313, 1337, 1336, 1349, 1332, 1356, 1412, 1410, 1408, 1421, 1418,
    90 1415, 1394, 1391, 1388, 1403, 1400, 1397, 35, 32, 29, 26, 23, 20, 65,
    91 63, 56, 55, 53, 38, 36, 48, 74, 72, 161, 164, 162, 152, 227, 225, 224,
    92 290, 288, 219, 335, 333, 334, 435, 441, 442, 440, 477, 478, 476, 549,
    93 550, 548, 585, 586, 615, 621, 622, 620, 631, 632, 633, 685, 688, 691,
    94 709, 706, 703, 718, 715, 712, 736, 733, 730, 727, 724, 721, 783, 785,
    95 788, 790, 781, 782, 766, 767, 771, 773, 802, 804, 873, 874, 865, 866,
    96 937, 939, 940, 942, 1056, 1060, 1052, 1051, 1157, 1156, 1155, 1154,
    97 1190, 1189, 1262, 1261, 1299, 1298, 1339, 1338, 1334, 1333, 1358, 1357,
    98 1411, 1409, 1406, 1404, 1424, 1427, 1430, 1433, 1436, 1439, 11, 14, 17,
    99 2, 5, 8, 69, 67, 64, 57, 54, 52, 51, 50, 47, 89, 88, 84, 160, 159, 151,
    100 150, 148, 223, 222, 221, 218, 216, 433, 434, 437, 438, 439, 473, 474,
    101 475, 546, 547, 579, 583, 584, 614, 617, 618, 619, 630, 686, 689, 692,
    102 708, 705, 702, 717, 714, 711, 735, 732, 729, 726, 723, 720, 784, 786,
    103 768, 772, 805, 806, 808, 880, 877, 876, 867, 869, 871, 941, 943, 944,
    104 1160, 1159, 1158, 1194, 1192, 1191, 1263, 1265, 1264, 1302, 1301, 1300,
    105 1340, 1335, 1407, 1405, 1422, 1425, 1428, 1431, 1434, 1437, 9, 12, 15,
    106 0, 3, 6, 71, 68, 66, 49, 46, 45, 87, 83, 82, 158, 156, 149, 147, 146,
    107 144, 220, 217, 432, 436, 469, 470, 471, 472, 543, 545, 577, 578, 582,
    108 612, 613, 616, 710, 707, 704, 719, 716, 713, 737, 734, 731, 728, 725,
    109 722, 807, 809, 878, 879, 881, 868, 870, 872, 1196, 1195, 1193, 1268,
    110 1267, 1266, 1304, 1303, 1423, 1426, 1429, 1432, 1435, 1438, 10, 13, 16,
    111 1, 4, 7, 86, 85, 81, 157, 155, 154, 153, 145, 468, 540, 541, 542, 544,
    112 576, 580, 581, 70, 690 ];
    113 
    114 /*
    115 
    116 <a href="#" onMouseover="playsound(soundfile)">Example 1</a>
    117 <a href="#" onMouseover="playsound('different.wav')">Example 2</a>
    118 
    119 <div id="coolmenu" onMouseover="bindsound('A', soundfile, this)">
    120 
    121 <script type="text/javascript">
    122 
    123 //
    124 // JavaScript Sound effect- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    125 // Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
    126 // This notice must stay intact for legal use
    127 //
    128 
    129 var soundfile="sidebar.wav" //path to sound file, or pass in filename directly into playsound()
    130 
    131 function playsound(soundfile){
    132 if (document.all && document.getElementById){
    133 document.getElementById("soundeffect").src="" //reset first in case of problems
    134 document.getElementById("soundeffect").src=soundfile
    135 }
    136 }
    137 
    138 function bindsound(tag, soundfile, masterElement){
    139 if (!window.event) return
    140 var source=event.srcElement
    141 while (source!=masterElement && source.tagName!="HTML"){
    142 if (source.tagName==tag.toUpperCase()){
    143 playsound(soundfile)
    144 break
    145 }
    146 source=source.parentElement
    147 }
    148 }
    149 
    150 </script>
    151 
    152 Function "bindsound()" accepts 3 parameters- 1) The tag name of the element to bind the sound to ("A" for <a>, "SPAN" for <span> etc), 2) the sound file to play, whether a variable or path to sound file, and finally, 3), the keyword "this", which should never be modified.
    153 
    154 // -----------------------
    155 <audio controls="controls" height="50px" width="100px">
    156   <source src="song.mp3" type="audio/mpeg" />
    157   <source src="song.ogg" type="audio/ogg" />
    158 <embed height="50px" width="100px" src="song.mp3" />
    159 </audio>
    160 // ------------------------
    161 
    162 */
     5var map = new Array(1440);
     6
    1637function $(id) { return document.getElementById(id); }
    1648function $new(name) { return document.createElement(name); }
     
    18125    el.style.color = "#"+hex+"0"+hex+"0"+hex+"f";
    18226}
    183 
    184 /*
    185 function newWindow(newContent)
    186 {
    187     if (document.referrer != "http://www.referringPageName.html")
    188         return;
    189 
    190     winContent = window.open(newContent,
    191                              'nextWin',
    192                              'right=0,top=20,width=350,height=350,toolbar=no,scrollbars=no,resizable=no');
    193                              }*/
    19427
    19528function onload()
     
    897730
    898731        refresh_text();
     732
     733        // first: decode the pixel mapping!
     734        var codedMap = "966676:6:A;68656364626Y?\\?;A=A<AGADAN4K4i5g5h5o506W?Z?]?_?>A@A?AJAIAFACAM4J4H4f5d5e5l5m5n516X?[?^?N?P?AA1ABAVAUAKAHAEAO4L4I4G4E4c5a5b5M6j5k5V6Y6\\6_6G?J?O?Q?S?2A4A3AYAXAWAbA_AnAkAhA3404F4D4B4`5^5_5J6K6L6S6T6W6Z6]6E?H?K?M?R?T?V?5A7A6A\\A[AZAeAdAaA^AmAjAgA24o3m3C4A4?4]5[5\\5G6H6I6P6Q6R6U6X6[6^6F?I?L?<?>?U?;@=@8Ah@9AMALA]ABCACfAcA`AoAlAiA4414n3l3<4@4>425Z5X5Y5D6E6F698N6O608E8H8K8H>K>N>?>B>=???A?<@>@@@i@k@j@PAOANAECDCCC<C9CZCWCTC=3:3734313=4;4943515o4W5U5V5A6B6C6687888m7n7C8F8I8F>I>L>=>@>C>E>@?B?D??@A@C@l@n@m@SARAQAHCGCFC?C>C;C8CYCVCSC<393633303n2:4846405n4l4T5R5S5>6?6@6384858j7k7l7o7D8G8J8G>J>M>>>A>D>4>6>C?3?5?B@2@4@o@_@0ALBKBTA0CoBIC8D7D@C=C:C[CXCUC>3;3835323o2m2k27454j3m4k4i4Q5O5P5C7<6=6g71828o8h7i7S9<8?8B8Q>T>W>@=C=F=e<h<5>7>9>4?6?8?3@5@7@`@b@a@OBNBMB3C2C1C;D:D9D_D\\DQCNCKCF3C3@3>2;282Z1W1l2j2h2k3i3g3j4h4f4N5L5M5@7A7B7d7e7f7l8m8n8P9Q9:8=8@8O>R>U>>=A=D=c<f<i<k<8>:><>7?9?;?6@8@:@c@e@d@RBQBPB6C5C4C>D=D<DbDaD^D[DPCMCJCE3B3?3=2:272Y1V1T1i2g2e2h3f3d3g4e4c4K5I5J5=7>7?7a7b7c7i8j8k8M9N9O9R9;8>8A8P>S>V>?=B=E=d<g<j<Z<\\<;>k=m=:?j>l>9@i?k?f@V@g@CBBBSBgBfB7CoCnC?DSDRDcD`D]DRCOCLCG3D3A3?2<292[1X1U1S1Q1f2d2b2e3c3a3d4b4`4H5F5G5:7;7<7^7_7`7f8g8h8J9K9L97:::=:@:C:F:I:I=L=O=7=:===n<1=[<]<_<l=n=0>k>m>o>j?l?n?W@Y@X@FBEBDBjBiBhB2D1D0DVDUDTDCE@EOELEIEXEUERE5222o1l1i1f1c1`1R1P1N1c2a2_2b3`3^3a4_4]4<5:5;5778797[7\\7]7c8d8e8G9H9I94:5:8:;:>:A:D:G:G=J=M=5=8=;=l<o<2=4=^<`<b<o=1>3>n>0?2?m?o?1@Z@\\@[@IBHBGBmBlBkB5D4D3DYDXDWDFEEEBE?ENEKEHEWETEQE4212n1k1h1e1b1_1]1O1M1K1`2^2\\2_3]3[3^4\\4Z4957585475767X7Y7Z7`8a8b8D9E9F91:2:3:6:9:<:?:B:E:H:H=K=N=6=9=<=m<0=3=d;f;a<H<J<2>b=d=1?a>c>0@`?b?]@D@^@:B9BJB^B]BnBfCeC6DJDIDZDnDmDGEDEAEPEMEJEYEVESE623202m1j1g1d1a1^1\\1[0L1J1?1]2[2Y2\\3Z3X3[4Y4W4654555172737U7V7W7]8^8_8A9B9C9e9o90:n9g:j:m:L:O:R:U:X:[:];`;c;T;W;Z;7<9<e;g;i;I<K<M<c=e=g=b>d>f>a?c?e?E@G@F@=B<B;BaB`B_BiChCgCMDLDKD1E0EoD9E7E<F9F6FaE^E[EjEgEdER0O0L0I0F0C0n0l0\\0Z0X0@1>1<1Z2X2V2Y3W3U3X4V4T4E5C5D5n6o607R7S7T7Z8[8\\8>9?9@9b9c9d9l9m9e:h:k:J:M:P:S:V:Y:[;^;a;R;U;X;6<8<:<;<h;j;l;L<N<P<f=h=j=e>g>i>d?f?h?N@Q@H@@B?B>BdBcBbBlCkCjCPDODND4E3E2E;E:E8E6E;F8F5F`E]EZEiEfEcEQ0N0K0H0E0B0m0k0j0Y0W0U0=1;191W2U2S2V3T3R3U4S4Q4B5@5A5k6l6m6O7P7Q7W8X8Y8;9<9=9_9`9a9j9k9\\:_:f:i:l:K:N:Q:T:W:Z:\\;_;b;S;V;Y;C<E<G<<<m;k;1<2<O<Q<S<i=[=P=h>X>Z>g?M@O@R@U@S@J@I@AB1B0BeBTB\\CmCAD@DQDiDhD5EdD<E4F2F0F=F:F7FbE_E\\EkEhEeES0P0M0J0G0D011o0h0g0e0V0T0`0:181Q2T2R2H2S3Q3P3R4P4K3?5=5>5c6i6j6h6M7N7L7U8V8T899:9W9]9^9\\9g9h9i9]:`:c:5;2;o:>;;;8;P;M;J;G;D;A;?<A<D<F<=<><n;o;3<5<R<T<Y=Z=Q=R=Y>[>\\>^>P@T@L@K@5B4B3B2BVBUB^C]CCDBDkDjDfDeD>E=E3F1FnElE@FCFFFIFLFOF;0>0A0205080513101i0f0d0c0b0_0I1H1D1P2O2G2F2D2O3N3M3J3H3a6b6e6f6g6I7J7K7R8S8397989V9Y9Z9[9f9^:a:d:4;1;n:=;:;7;O;L;I;F;C;@;@<B<0<4<U<V<X<`=]=\\=S=U=W=]>_>`>8B7B6BZBXBWB_CaC`CFDEDDDlDgDoEmE>FAFDFGFJFMF90<0?0003060714121a0^0]0G1C1B1N2L2E2C2B2@2L3I3`6d6E7F7G7H7O8Q8192969T9U9X96;3;0;?;<;9;Q;N;K;H;E;B;W<Y<^=_=a=T=V=X=\\B[BYBdCcCbCHDGD?FBFEFHFKFNF:0=0@0104070F1E1A1M2K2J2I2A2D7L8M8N8P809495961b:";
     735
     736        var sum = 1036080;
     737        for (var i=0; i<1440; i++)
     738        {
     739            var d0 = codedMap.charCodeAt([i*2])  -48;
     740            var d1 = codedMap.charCodeAt([i*2+1])-48;
     741
     742            map[i] = d0 | (d1<<6);
     743            sum -= map[i];
     744        }
     745        if (sum!=0)
     746            alert("Pixel mapping table corrupted!");
     747
    899748        refresh_graphics();
    900749        return;
Note: See TracChangeset for help on using the changeset viewer.