1
InitialObjectDescriptor {
3
ODProfileLevelIndication 1
4
sceneProfileLevelIndication 1
5
audioProfileLevelIndication 1
6
visualProfileLevelIndication 1
7
graphicsProfileLevelIndication 1
12
decConfigDescr DecoderConfigDescriptor {
14
decSpecificInfo BIFSv2Config {
30
DEF TimeOutSensor TimeSensor {
37
DEF StartTS TouchSensor {}
39
geometry Rectangle { size 100 25 }
40
appearance Appearance { material Material2D { emissiveColor 0.5 0.5 0.5 filled TRUE } }
43
appearance Appearance {
50
string [ "Start Game" ]
53
justify ["MIDDLE" "MIDDLE"]
62
DEF BlankPiece Transform2D {
64
DEF BackRectangle Shape {
65
geometry DEF R Rectangle { size 42 42 }
66
appearance Appearance {
69
emissiveColor 0 0.5 0.5
74
geometry DEF C Circle { radius 18 }
75
appearance Appearance {
78
emissiveColor 0 0.5 0.5
84
DEF WhitePiece Transform2D {
89
appearance Appearance {
98
DEF WhiteTransPiece Transform2D {
104
DEF BlackPiece Transform2D {
109
appearance Appearance {
110
material Material2D {
118
DEF BlackTransPiece Transform2D {
124
DEF Trans1 Transform2D {
130
fontStyle DEF TFS FontStyle {
132
justify [ "MIDDLE" "MIDDLE" ]
135
appearance DEF TA Appearance {
136
material Material2D {
144
DEF Trans2 Transform2D {
156
DEF Trans3 Transform2D {
168
DEF Trans4 Transform2D {
180
DEF Trans5 Transform2D {
192
DEF Trans6 Transform2D {
204
DEF Trans7 Transform2D {
216
DEF Trans8 Transform2D {
228
DEF Trans9 Transform2D {
240
DEF Trans10 Transform2D {
252
DEF Trans11 Transform2D {
264
DEF Trans12 Transform2D {
276
DEF Trans13 Transform2D {
288
DEF Trans14 Transform2D {
300
DEF Trans15 Transform2D {
312
DEF Trans16 Transform2D {
324
DEF Trans17 Transform2D {
336
DEF Trans18 Transform2D {
348
DEF Trans19 Transform2D {
360
DEF Trans20 Transform2D {
372
DEF Trans21 Transform2D {
390
1 -1 2 -1 3 -1 4 -1 5 -1 6 -1 7 -1 8 -1
391
9 -1 10 -1 11 -1 12 -1 13 -1 14 -1 15 -1 16 -1
392
17 -1 18 -1 19 -1 20 -1 21 -1 22 -1 23 -1 24 -1
393
25 -1 26 -1 27 -1 28 -1 29 -1 30 -1 31 -1 32 -1
394
33 -1 34 -1 35 -1 36 -1 37 -1 38 -1 39 -1 40 -1
395
41 -1 42 -1 43 -1 44 -1 45 -1 46 -1 47 -1 48 -1
396
49 -1 50 -1 51 -1 52 -1 53 -1 54 -1 55 -1 56 -1
397
57 -1 58 -1 59 -1 60 -1 61 -1 62 -1 63 -1 64 -1
399
9 10 11 12 13 14 15 16 -1
400
17 18 19 20 21 22 23 24 -1
401
25 26 27 28 29 30 31 32 -1
402
33 34 35 36 37 38 39 40 -1
403
41 42 43 44 45 46 47 48 -1
404
49 50 51 52 53 54 55 56 -1
405
57 58 59 60 61 62 63 64 -1
409
9 10 11 12 13 14 15 16 -1
410
17 18 19 20 21 22 23 24 -1
411
25 26 27 28 29 30 31 32 -1
412
33 34 35 36 37 38 39 40 -1
413
41 42 43 44 45 46 47 48 -1
414
49 50 51 52 53 54 55 56 -1
415
57 58 59 60 61 62 63 64 -1
416
65 66 67 68 69 70 71 72 -1
432
DEF TS00 TouchSensor {}
434
DEF V00_Over Valuator {}
435
DEF V00_Out Valuator {}
436
DEF V00_Click Valuator {}
437
DEF C00_Over Conditional {
439
REPLACE V00_Over.inSFVec2f BY 0 0
442
DEF C00_Out Conditional {
444
REPLACE V00_Out.inSFVec2f BY 0 0
447
DEF C00_Click Conditional {
449
REPLACE V00_Click.inSFVec2f BY 0 0
456
DEF TS01 TouchSensor {}
458
DEF V01_Over Valuator {}
459
DEF V01_Out Valuator {}
460
DEF V01_Click Valuator {}
461
DEF C01_Over Conditional {
463
REPLACE V01_Over.inSFVec2f BY 0 1
466
DEF C01_Out Conditional {
468
REPLACE V01_Out.inSFVec2f BY 0 1
471
DEF C01_Click Conditional {
473
REPLACE V01_Click.inSFVec2f BY 0 1
480
DEF TS02 TouchSensor {}
482
DEF V02_Over Valuator {}
483
DEF V02_Out Valuator {}
484
DEF V02_Click Valuator {}
485
DEF C02_Over Conditional {
487
REPLACE V02_Over.inSFVec2f BY 0 2
490
DEF C02_Out Conditional {
492
REPLACE V02_Out.inSFVec2f BY 0 2
495
DEF C02_Click Conditional {
497
REPLACE V02_Click.inSFVec2f BY 0 2
504
DEF TS03 TouchSensor {}
506
DEF V03_Over Valuator {}
507
DEF V03_Out Valuator {}
508
DEF V03_Click Valuator {}
509
DEF C03_Over Conditional {
511
REPLACE V03_Over.inSFVec2f BY 0 3
514
DEF C03_Out Conditional {
516
REPLACE V03_Out.inSFVec2f BY 0 3
519
DEF C03_Click Conditional {
521
REPLACE V03_Click.inSFVec2f BY 0 3
528
DEF TS04 TouchSensor {}
530
DEF V04_Over Valuator {}
531
DEF V04_Out Valuator {}
532
DEF V04_Click Valuator {}
533
DEF C04_Over Conditional {
535
REPLACE V04_Over.inSFVec2f BY 0 4
538
DEF C04_Out Conditional {
540
REPLACE V04_Out.inSFVec2f BY 0 4
543
DEF C04_Click Conditional {
545
REPLACE V04_Click.inSFVec2f BY 0 4
552
DEF TS05 TouchSensor {}
554
DEF V05_Over Valuator {}
555
DEF V05_Out Valuator {}
556
DEF V05_Click Valuator {}
557
DEF C05_Over Conditional {
559
REPLACE V05_Over.inSFVec2f BY 0 5
562
DEF C05_Out Conditional {
564
REPLACE V05_Out.inSFVec2f BY 0 5
567
DEF C05_Click Conditional {
569
REPLACE V05_Click.inSFVec2f BY 0 5
576
DEF TS06 TouchSensor {}
578
DEF V06_Over Valuator {}
579
DEF V06_Out Valuator {}
580
DEF V06_Click Valuator {}
581
DEF C06_Over Conditional {
583
REPLACE V06_Over.inSFVec2f BY 0 6
586
DEF C06_Out Conditional {
588
REPLACE V06_Out.inSFVec2f BY 0 6
591
DEF C06_Click Conditional {
593
REPLACE V06_Click.inSFVec2f BY 0 6
600
DEF TS07 TouchSensor {}
602
DEF V07_Over Valuator {}
603
DEF V07_Out Valuator {}
604
DEF V07_Click Valuator {}
605
DEF C07_Over Conditional {
607
REPLACE V07_Over.inSFVec2f BY 0 7
610
DEF C07_Out Conditional {
612
REPLACE V07_Out.inSFVec2f BY 0 7
615
DEF C07_Click Conditional {
617
REPLACE V07_Click.inSFVec2f BY 0 7
624
DEF TS10 TouchSensor {}
626
DEF V10_Over Valuator {}
627
DEF V10_Out Valuator {}
628
DEF V10_Click Valuator {}
629
DEF C10_Over Conditional {
631
REPLACE V10_Over.inSFVec2f BY 1 0
634
DEF C10_Out Conditional {
636
REPLACE V10_Out.inSFVec2f BY 1 0
639
DEF C10_Click Conditional {
641
REPLACE V10_Click.inSFVec2f BY 1 0
648
DEF TS11 TouchSensor {}
650
DEF V11_Over Valuator {}
651
DEF V11_Out Valuator {}
652
DEF V11_Click Valuator {}
653
DEF C11_Over Conditional {
655
REPLACE V11_Over.inSFVec2f BY 1 1
658
DEF C11_Out Conditional {
660
REPLACE V11_Out.inSFVec2f BY 1 1
663
DEF C11_Click Conditional {
665
REPLACE V11_Click.inSFVec2f BY 1 1
672
DEF TS12 TouchSensor {}
674
DEF V12_Over Valuator {}
675
DEF V12_Out Valuator {}
676
DEF V12_Click Valuator {}
677
DEF C12_Over Conditional {
679
REPLACE V12_Over.inSFVec2f BY 1 2
682
DEF C12_Out Conditional {
684
REPLACE V12_Out.inSFVec2f BY 1 2
687
DEF C12_Click Conditional {
689
REPLACE V12_Click.inSFVec2f BY 1 2
696
DEF TS13 TouchSensor {}
698
DEF V13_Over Valuator {}
699
DEF V13_Out Valuator {}
700
DEF V13_Click Valuator {}
701
DEF C13_Over Conditional {
703
REPLACE V13_Over.inSFVec2f BY 1 3
706
DEF C13_Out Conditional {
708
REPLACE V13_Out.inSFVec2f BY 1 3
711
DEF C13_Click Conditional {
713
REPLACE V13_Click.inSFVec2f BY 1 3
720
DEF TS14 TouchSensor {}
722
DEF V14_Over Valuator {}
723
DEF V14_Out Valuator {}
724
DEF V14_Click Valuator {}
725
DEF C14_Over Conditional {
727
REPLACE V14_Over.inSFVec2f BY 1 4
730
DEF C14_Out Conditional {
732
REPLACE V14_Out.inSFVec2f BY 1 4
735
DEF C14_Click Conditional {
737
REPLACE V14_Click.inSFVec2f BY 1 4
744
DEF TS15 TouchSensor {}
746
DEF V15_Over Valuator {}
747
DEF V15_Out Valuator {}
748
DEF V15_Click Valuator {}
749
DEF C15_Over Conditional {
751
REPLACE V15_Over.inSFVec2f BY 1 5
754
DEF C15_Out Conditional {
756
REPLACE V15_Out.inSFVec2f BY 1 5
759
DEF C15_Click Conditional {
761
REPLACE V15_Click.inSFVec2f BY 1 5
768
DEF TS16 TouchSensor {}
770
DEF V16_Over Valuator {}
771
DEF V16_Out Valuator {}
772
DEF V16_Click Valuator {}
773
DEF C16_Over Conditional {
775
REPLACE V16_Over.inSFVec2f BY 1 6
778
DEF C16_Out Conditional {
780
REPLACE V16_Out.inSFVec2f BY 1 6
783
DEF C16_Click Conditional {
785
REPLACE V16_Click.inSFVec2f BY 1 6
792
DEF TS17 TouchSensor {}
794
DEF V17_Over Valuator {}
795
DEF V17_Out Valuator {}
796
DEF V17_Click Valuator {}
797
DEF C17_Over Conditional {
799
REPLACE V17_Over.inSFVec2f BY 1 7
802
DEF C17_Out Conditional {
804
REPLACE V17_Out.inSFVec2f BY 1 7
807
DEF C17_Click Conditional {
809
REPLACE V17_Click.inSFVec2f BY 1 7
816
DEF TS20 TouchSensor {}
818
DEF V20_Over Valuator {}
819
DEF V20_Out Valuator {}
820
DEF V20_Click Valuator {}
821
DEF C20_Over Conditional {
823
REPLACE V20_Over.inSFVec2f BY 2 0
826
DEF C20_Out Conditional {
828
REPLACE V20_Out.inSFVec2f BY 2 0
831
DEF C20_Click Conditional {
833
REPLACE V20_Click.inSFVec2f BY 2 0
840
DEF TS21 TouchSensor {}
842
DEF V21_Over Valuator {}
843
DEF V21_Out Valuator {}
844
DEF V21_Click Valuator {}
845
DEF C21_Over Conditional {
847
REPLACE V21_Over.inSFVec2f BY 2 1
850
DEF C21_Out Conditional {
852
REPLACE V21_Out.inSFVec2f BY 2 1
855
DEF C21_Click Conditional {
857
REPLACE V21_Click.inSFVec2f BY 2 1
864
DEF TS22 TouchSensor {}
866
DEF V22_Over Valuator {}
867
DEF V22_Out Valuator {}
868
DEF V22_Click Valuator {}
869
DEF C22_Over Conditional {
871
REPLACE V22_Over.inSFVec2f BY 2 2
874
DEF C22_Out Conditional {
876
REPLACE V22_Out.inSFVec2f BY 2 2
879
DEF C22_Click Conditional {
881
REPLACE V22_Click.inSFVec2f BY 2 2
888
DEF TS23 TouchSensor {}
890
DEF V23_Over Valuator {}
891
DEF V23_Out Valuator {}
892
DEF V23_Click Valuator {}
893
DEF C23_Over Conditional {
895
REPLACE V23_Over.inSFVec2f BY 2 3
898
DEF C23_Out Conditional {
900
REPLACE V23_Out.inSFVec2f BY 2 3
903
DEF C23_Click Conditional {
905
REPLACE V23_Click.inSFVec2f BY 2 3
912
DEF TS24 TouchSensor {}
914
DEF V24_Over Valuator {}
915
DEF V24_Out Valuator {}
916
DEF V24_Click Valuator {}
917
DEF C24_Over Conditional {
919
REPLACE V24_Over.inSFVec2f BY 2 4
922
DEF C24_Out Conditional {
924
REPLACE V24_Out.inSFVec2f BY 2 4
927
DEF C24_Click Conditional {
929
REPLACE V24_Click.inSFVec2f BY 2 4
936
DEF TS25 TouchSensor {}
938
DEF V25_Over Valuator {}
939
DEF V25_Out Valuator {}
940
DEF V25_Click Valuator {}
941
DEF C25_Over Conditional {
943
REPLACE V25_Over.inSFVec2f BY 2 5
946
DEF C25_Out Conditional {
948
REPLACE V25_Out.inSFVec2f BY 2 5
951
DEF C25_Click Conditional {
953
REPLACE V25_Click.inSFVec2f BY 2 5
960
DEF TS26 TouchSensor {}
962
DEF V26_Over Valuator {}
963
DEF V26_Out Valuator {}
964
DEF V26_Click Valuator {}
965
DEF C26_Over Conditional {
967
REPLACE V26_Over.inSFVec2f BY 2 6
970
DEF C26_Out Conditional {
972
REPLACE V26_Out.inSFVec2f BY 2 6
975
DEF C26_Click Conditional {
977
REPLACE V26_Click.inSFVec2f BY 2 6
984
DEF TS27 TouchSensor {}
986
DEF V27_Over Valuator {}
987
DEF V27_Out Valuator {}
988
DEF V27_Click Valuator {}
989
DEF C27_Over Conditional {
991
REPLACE V27_Over.inSFVec2f BY 2 7
994
DEF C27_Out Conditional {
996
REPLACE V27_Out.inSFVec2f BY 2 7
999
DEF C27_Click Conditional {
1001
REPLACE V27_Click.inSFVec2f BY 2 7
1008
DEF TS30 TouchSensor {}
1010
DEF V30_Over Valuator {}
1011
DEF V30_Out Valuator {}
1012
DEF V30_Click Valuator {}
1013
DEF C30_Over Conditional {
1015
REPLACE V30_Over.inSFVec2f BY 3 0
1018
DEF C30_Out Conditional {
1020
REPLACE V30_Out.inSFVec2f BY 3 0
1023
DEF C30_Click Conditional {
1025
REPLACE V30_Click.inSFVec2f BY 3 0
1032
DEF TS31 TouchSensor {}
1034
DEF V31_Over Valuator {}
1035
DEF V31_Out Valuator {}
1036
DEF V31_Click Valuator {}
1037
DEF C31_Over Conditional {
1039
REPLACE V31_Over.inSFVec2f BY 3 1
1042
DEF C31_Out Conditional {
1044
REPLACE V31_Out.inSFVec2f BY 3 1
1047
DEF C31_Click Conditional {
1049
REPLACE V31_Click.inSFVec2f BY 3 1
1056
DEF TS32 TouchSensor {}
1058
DEF V32_Over Valuator {}
1059
DEF V32_Out Valuator {}
1060
DEF V32_Click Valuator {}
1061
DEF C32_Over Conditional {
1063
REPLACE V32_Over.inSFVec2f BY 3 2
1066
DEF C32_Out Conditional {
1068
REPLACE V32_Out.inSFVec2f BY 3 2
1071
DEF C32_Click Conditional {
1073
REPLACE V32_Click.inSFVec2f BY 3 2
1080
DEF TS33 TouchSensor {}
1082
DEF V33_Over Valuator {}
1083
DEF V33_Out Valuator {}
1084
DEF V33_Click Valuator {}
1085
DEF C33_Over Conditional {
1087
REPLACE V33_Over.inSFVec2f BY 3 3
1090
DEF C33_Out Conditional {
1092
REPLACE V33_Out.inSFVec2f BY 3 3
1095
DEF C33_Click Conditional {
1097
REPLACE V33_Click.inSFVec2f BY 3 3
1104
DEF TS34 TouchSensor {}
1106
DEF V34_Over Valuator {}
1107
DEF V34_Out Valuator {}
1108
DEF V34_Click Valuator {}
1109
DEF C34_Over Conditional {
1111
REPLACE V34_Over.inSFVec2f BY 3 4
1114
DEF C34_Out Conditional {
1116
REPLACE V34_Out.inSFVec2f BY 3 4
1119
DEF C34_Click Conditional {
1121
REPLACE V34_Click.inSFVec2f BY 3 4
1128
DEF TS35 TouchSensor {}
1130
DEF V35_Over Valuator {}
1131
DEF V35_Out Valuator {}
1132
DEF V35_Click Valuator {}
1133
DEF C35_Over Conditional {
1135
REPLACE V35_Over.inSFVec2f BY 3 5
1138
DEF C35_Out Conditional {
1140
REPLACE V35_Out.inSFVec2f BY 3 5
1143
DEF C35_Click Conditional {
1145
REPLACE V35_Click.inSFVec2f BY 3 5
1152
DEF TS36 TouchSensor {}
1154
DEF V36_Over Valuator {}
1155
DEF V36_Out Valuator {}
1156
DEF V36_Click Valuator {}
1157
DEF C36_Over Conditional {
1159
REPLACE V36_Over.inSFVec2f BY 3 6
1162
DEF C36_Out Conditional {
1164
REPLACE V36_Out.inSFVec2f BY 3 6
1167
DEF C36_Click Conditional {
1169
REPLACE V36_Click.inSFVec2f BY 3 6
1176
DEF TS37 TouchSensor {}
1178
DEF V37_Over Valuator {}
1179
DEF V37_Out Valuator {}
1180
DEF V37_Click Valuator {}
1181
DEF C37_Over Conditional {
1183
REPLACE V37_Over.inSFVec2f BY 3 7
1186
DEF C37_Out Conditional {
1188
REPLACE V37_Out.inSFVec2f BY 3 7
1191
DEF C37_Click Conditional {
1193
REPLACE V37_Click.inSFVec2f BY 3 7
1200
DEF TS40 TouchSensor {}
1202
DEF V40_Over Valuator {}
1203
DEF V40_Out Valuator {}
1204
DEF V40_Click Valuator {}
1205
DEF C40_Over Conditional {
1207
REPLACE V40_Over.inSFVec2f BY 4 0
1210
DEF C40_Out Conditional {
1212
REPLACE V40_Out.inSFVec2f BY 4 0
1215
DEF C40_Click Conditional {
1217
REPLACE V40_Click.inSFVec2f BY 4 0
1224
DEF TS41 TouchSensor {}
1226
DEF V41_Over Valuator {}
1227
DEF V41_Out Valuator {}
1228
DEF V41_Click Valuator {}
1229
DEF C41_Over Conditional {
1231
REPLACE V41_Over.inSFVec2f BY 4 1
1234
DEF C41_Out Conditional {
1236
REPLACE V41_Out.inSFVec2f BY 4 1
1239
DEF C41_Click Conditional {
1241
REPLACE V41_Click.inSFVec2f BY 4 1
1248
DEF TS42 TouchSensor {}
1250
DEF V42_Over Valuator {}
1251
DEF V42_Out Valuator {}
1252
DEF V42_Click Valuator {}
1253
DEF C42_Over Conditional {
1255
REPLACE V42_Over.inSFVec2f BY 4 2
1258
DEF C42_Out Conditional {
1260
REPLACE V42_Out.inSFVec2f BY 4 2
1263
DEF C42_Click Conditional {
1265
REPLACE V42_Click.inSFVec2f BY 4 2
1272
DEF TS43 TouchSensor {}
1274
DEF V43_Over Valuator {}
1275
DEF V43_Out Valuator {}
1276
DEF V43_Click Valuator {}
1277
DEF C43_Over Conditional {
1279
REPLACE V43_Over.inSFVec2f BY 4 3
1282
DEF C43_Out Conditional {
1284
REPLACE V43_Out.inSFVec2f BY 4 3
1287
DEF C43_Click Conditional {
1289
REPLACE V43_Click.inSFVec2f BY 4 3
1296
DEF TS44 TouchSensor {}
1298
DEF V44_Over Valuator {}
1299
DEF V44_Out Valuator {}
1300
DEF V44_Click Valuator {}
1301
DEF C44_Over Conditional {
1303
REPLACE V44_Over.inSFVec2f BY 4 4
1306
DEF C44_Out Conditional {
1308
REPLACE V44_Out.inSFVec2f BY 4 4
1311
DEF C44_Click Conditional {
1313
REPLACE V44_Click.inSFVec2f BY 4 4
1320
DEF TS45 TouchSensor {}
1322
DEF V45_Over Valuator {}
1323
DEF V45_Out Valuator {}
1324
DEF V45_Click Valuator {}
1325
DEF C45_Over Conditional {
1327
REPLACE V45_Over.inSFVec2f BY 4 5
1330
DEF C45_Out Conditional {
1332
REPLACE V45_Out.inSFVec2f BY 4 5
1335
DEF C45_Click Conditional {
1337
REPLACE V45_Click.inSFVec2f BY 4 5
1344
DEF TS46 TouchSensor {}
1346
DEF V46_Over Valuator {}
1347
DEF V46_Out Valuator {}
1348
DEF V46_Click Valuator {}
1349
DEF C46_Over Conditional {
1351
REPLACE V46_Over.inSFVec2f BY 4 6
1354
DEF C46_Out Conditional {
1356
REPLACE V46_Out.inSFVec2f BY 4 6
1359
DEF C46_Click Conditional {
1361
REPLACE V46_Click.inSFVec2f BY 4 6
1368
DEF TS47 TouchSensor {}
1370
DEF V47_Over Valuator {}
1371
DEF V47_Out Valuator {}
1372
DEF V47_Click Valuator {}
1373
DEF C47_Over Conditional {
1375
REPLACE V47_Over.inSFVec2f BY 4 7
1378
DEF C47_Out Conditional {
1380
REPLACE V47_Out.inSFVec2f BY 4 7
1383
DEF C47_Click Conditional {
1385
REPLACE V47_Click.inSFVec2f BY 4 7
1392
DEF TS50 TouchSensor {}
1394
DEF V50_Over Valuator {}
1395
DEF V50_Out Valuator {}
1396
DEF V50_Click Valuator {}
1397
DEF C50_Over Conditional {
1399
REPLACE V50_Over.inSFVec2f BY 5 0
1402
DEF C50_Out Conditional {
1404
REPLACE V50_Out.inSFVec2f BY 5 0
1407
DEF C50_Click Conditional {
1409
REPLACE V50_Click.inSFVec2f BY 5 0
1416
DEF TS51 TouchSensor {}
1418
DEF V51_Over Valuator {}
1419
DEF V51_Out Valuator {}
1420
DEF V51_Click Valuator {}
1421
DEF C51_Over Conditional {
1423
REPLACE V51_Over.inSFVec2f BY 5 1
1426
DEF C51_Out Conditional {
1428
REPLACE V51_Out.inSFVec2f BY 5 1
1431
DEF C51_Click Conditional {
1433
REPLACE V51_Click.inSFVec2f BY 5 1
1440
DEF TS52 TouchSensor {}
1442
DEF V52_Over Valuator {}
1443
DEF V52_Out Valuator {}
1444
DEF V52_Click Valuator {}
1445
DEF C52_Over Conditional {
1447
REPLACE V52_Over.inSFVec2f BY 5 2
1450
DEF C52_Out Conditional {
1452
REPLACE V52_Out.inSFVec2f BY 5 2
1455
DEF C52_Click Conditional {
1457
REPLACE V52_Click.inSFVec2f BY 5 2
1464
DEF TS53 TouchSensor {}
1466
DEF V53_Over Valuator {}
1467
DEF V53_Out Valuator {}
1468
DEF V53_Click Valuator {}
1469
DEF C53_Over Conditional {
1471
REPLACE V53_Over.inSFVec2f BY 5 3
1474
DEF C53_Out Conditional {
1476
REPLACE V53_Out.inSFVec2f BY 5 3
1479
DEF C53_Click Conditional {
1481
REPLACE V53_Click.inSFVec2f BY 5 3
1488
DEF TS54 TouchSensor {}
1490
DEF V54_Over Valuator {}
1491
DEF V54_Out Valuator {}
1492
DEF V54_Click Valuator {}
1493
DEF C54_Over Conditional {
1495
REPLACE V54_Over.inSFVec2f BY 5 4
1498
DEF C54_Out Conditional {
1500
REPLACE V54_Out.inSFVec2f BY 5 4
1503
DEF C54_Click Conditional {
1505
REPLACE V54_Click.inSFVec2f BY 5 4
1512
DEF TS55 TouchSensor {}
1514
DEF V55_Over Valuator {}
1515
DEF V55_Out Valuator {}
1516
DEF V55_Click Valuator {}
1517
DEF C55_Over Conditional {
1519
REPLACE V55_Over.inSFVec2f BY 5 5
1522
DEF C55_Out Conditional {
1524
REPLACE V55_Out.inSFVec2f BY 5 5
1527
DEF C55_Click Conditional {
1529
REPLACE V55_Click.inSFVec2f BY 5 5
1536
DEF TS56 TouchSensor {}
1538
DEF V56_Over Valuator {}
1539
DEF V56_Out Valuator {}
1540
DEF V56_Click Valuator {}
1541
DEF C56_Over Conditional {
1543
REPLACE V56_Over.inSFVec2f BY 5 6
1546
DEF C56_Out Conditional {
1548
REPLACE V56_Out.inSFVec2f BY 5 6
1551
DEF C56_Click Conditional {
1553
REPLACE V56_Click.inSFVec2f BY 5 6
1560
DEF TS57 TouchSensor {}
1562
DEF V57_Over Valuator {}
1563
DEF V57_Out Valuator {}
1564
DEF V57_Click Valuator {}
1565
DEF C57_Over Conditional {
1567
REPLACE V57_Over.inSFVec2f BY 5 7
1570
DEF C57_Out Conditional {
1572
REPLACE V57_Out.inSFVec2f BY 5 7
1575
DEF C57_Click Conditional {
1577
REPLACE V57_Click.inSFVec2f BY 5 7
1584
DEF TS60 TouchSensor {}
1586
DEF V60_Over Valuator {}
1587
DEF V60_Out Valuator {}
1588
DEF V60_Click Valuator {}
1589
DEF C60_Over Conditional {
1591
REPLACE V60_Over.inSFVec2f BY 6 0
1594
DEF C60_Out Conditional {
1596
REPLACE V60_Out.inSFVec2f BY 6 0
1599
DEF C60_Click Conditional {
1601
REPLACE V60_Click.inSFVec2f BY 6 0
1608
DEF TS61 TouchSensor {}
1610
DEF V61_Over Valuator {}
1611
DEF V61_Out Valuator {}
1612
DEF V61_Click Valuator {}
1613
DEF C61_Over Conditional {
1615
REPLACE V61_Over.inSFVec2f BY 6 1
1618
DEF C61_Out Conditional {
1620
REPLACE V61_Out.inSFVec2f BY 6 1
1623
DEF C61_Click Conditional {
1625
REPLACE V61_Click.inSFVec2f BY 6 1
1632
DEF TS62 TouchSensor {}
1634
DEF V62_Over Valuator {}
1635
DEF V62_Out Valuator {}
1636
DEF V62_Click Valuator {}
1637
DEF C62_Over Conditional {
1639
REPLACE V62_Over.inSFVec2f BY 6 2
1642
DEF C62_Out Conditional {
1644
REPLACE V62_Out.inSFVec2f BY 6 2
1647
DEF C62_Click Conditional {
1649
REPLACE V62_Click.inSFVec2f BY 6 2
1656
DEF TS63 TouchSensor {}
1658
DEF V63_Over Valuator {}
1659
DEF V63_Out Valuator {}
1660
DEF V63_Click Valuator {}
1661
DEF C63_Over Conditional {
1663
REPLACE V63_Over.inSFVec2f BY 6 3
1666
DEF C63_Out Conditional {
1668
REPLACE V63_Out.inSFVec2f BY 6 3
1671
DEF C63_Click Conditional {
1673
REPLACE V63_Click.inSFVec2f BY 6 3
1680
DEF TS64 TouchSensor {}
1682
DEF V64_Over Valuator {}
1683
DEF V64_Out Valuator {}
1684
DEF V64_Click Valuator {}
1685
DEF C64_Over Conditional {
1687
REPLACE V64_Over.inSFVec2f BY 6 4
1690
DEF C64_Out Conditional {
1692
REPLACE V64_Out.inSFVec2f BY 6 4
1695
DEF C64_Click Conditional {
1697
REPLACE V64_Click.inSFVec2f BY 6 4
1704
DEF TS65 TouchSensor {}
1706
DEF V65_Over Valuator {}
1707
DEF V65_Out Valuator {}
1708
DEF V65_Click Valuator {}
1709
DEF C65_Over Conditional {
1711
REPLACE V65_Over.inSFVec2f BY 6 5
1714
DEF C65_Out Conditional {
1716
REPLACE V65_Out.inSFVec2f BY 6 5
1719
DEF C65_Click Conditional {
1721
REPLACE V65_Click.inSFVec2f BY 6 5
1728
DEF TS66 TouchSensor {}
1730
DEF V66_Over Valuator {}
1731
DEF V66_Out Valuator {}
1732
DEF V66_Click Valuator {}
1733
DEF C66_Over Conditional {
1735
REPLACE V66_Over.inSFVec2f BY 6 6
1738
DEF C66_Out Conditional {
1740
REPLACE V66_Out.inSFVec2f BY 6 6
1743
DEF C66_Click Conditional {
1745
REPLACE V66_Click.inSFVec2f BY 6 6
1752
DEF TS67 TouchSensor {}
1754
DEF V67_Over Valuator {}
1755
DEF V67_Out Valuator {}
1756
DEF V67_Click Valuator {}
1757
DEF C67_Over Conditional {
1759
REPLACE V67_Over.inSFVec2f BY 6 7
1762
DEF C67_Out Conditional {
1764
REPLACE V67_Out.inSFVec2f BY 6 7
1767
DEF C67_Click Conditional {
1769
REPLACE V67_Click.inSFVec2f BY 6 7
1776
DEF TS70 TouchSensor {}
1778
DEF V70_Over Valuator {}
1779
DEF V70_Out Valuator {}
1780
DEF V70_Click Valuator {}
1781
DEF C70_Over Conditional {
1783
REPLACE V70_Over.inSFVec2f BY 7 0
1786
DEF C70_Out Conditional {
1788
REPLACE V70_Out.inSFVec2f BY 7 0
1791
DEF C70_Click Conditional {
1793
REPLACE V70_Click.inSFVec2f BY 7 0
1800
DEF TS71 TouchSensor {}
1802
DEF V71_Over Valuator {}
1803
DEF V71_Out Valuator {}
1804
DEF V71_Click Valuator {}
1805
DEF C71_Over Conditional {
1807
REPLACE V71_Over.inSFVec2f BY 7 1
1810
DEF C71_Out Conditional {
1812
REPLACE V71_Out.inSFVec2f BY 7 1
1815
DEF C71_Click Conditional {
1817
REPLACE V71_Click.inSFVec2f BY 7 1
1824
DEF TS72 TouchSensor {}
1826
DEF V72_Over Valuator {}
1827
DEF V72_Out Valuator {}
1828
DEF V72_Click Valuator {}
1829
DEF C72_Over Conditional {
1831
REPLACE V72_Over.inSFVec2f BY 7 2
1834
DEF C72_Out Conditional {
1836
REPLACE V72_Out.inSFVec2f BY 7 2
1839
DEF C72_Click Conditional {
1841
REPLACE V72_Click.inSFVec2f BY 7 2
1848
DEF TS73 TouchSensor {}
1850
DEF V73_Over Valuator {}
1851
DEF V73_Out Valuator {}
1852
DEF V73_Click Valuator {}
1853
DEF C73_Over Conditional {
1855
REPLACE V73_Over.inSFVec2f BY 7 3
1858
DEF C73_Out Conditional {
1860
REPLACE V73_Out.inSFVec2f BY 7 3
1863
DEF C73_Click Conditional {
1865
REPLACE V73_Click.inSFVec2f BY 7 3
1872
DEF TS74 TouchSensor {}
1874
DEF V74_Over Valuator {}
1875
DEF V74_Out Valuator {}
1876
DEF V74_Click Valuator {}
1877
DEF C74_Over Conditional {
1879
REPLACE V74_Over.inSFVec2f BY 7 4
1882
DEF C74_Out Conditional {
1884
REPLACE V74_Out.inSFVec2f BY 7 4
1887
DEF C74_Click Conditional {
1889
REPLACE V74_Click.inSFVec2f BY 7 4
1896
DEF TS75 TouchSensor {}
1898
DEF V75_Over Valuator {}
1899
DEF V75_Out Valuator {}
1900
DEF V75_Click Valuator {}
1901
DEF C75_Over Conditional {
1903
REPLACE V75_Over.inSFVec2f BY 7 5
1906
DEF C75_Out Conditional {
1908
REPLACE V75_Out.inSFVec2f BY 7 5
1911
DEF C75_Click Conditional {
1913
REPLACE V75_Click.inSFVec2f BY 7 5
1920
DEF TS76 TouchSensor {}
1922
DEF V76_Over Valuator {}
1923
DEF V76_Out Valuator {}
1924
DEF V76_Click Valuator {}
1925
DEF C76_Over Conditional {
1927
REPLACE V76_Over.inSFVec2f BY 7 6
1930
DEF C76_Out Conditional {
1932
REPLACE V76_Out.inSFVec2f BY 7 6
1935
DEF C76_Click Conditional {
1937
REPLACE V76_Click.inSFVec2f BY 7 6
1944
DEF TS77 TouchSensor {}
1946
DEF V77_Over Valuator {}
1947
DEF V77_Out Valuator {}
1948
DEF V77_Click Valuator {}
1949
DEF C77_Over Conditional {
1951
REPLACE V77_Over.inSFVec2f BY 7 7
1954
DEF C77_Out Conditional {
1956
REPLACE V77_Out.inSFVec2f BY 7 7
1959
DEF C77_Click Conditional {
1961
REPLACE V77_Click.inSFVec2f BY 7 7
1969
eventIn SFBool startGame
1970
eventIn SFVec2f mouseOver
1971
eventIn SFVec2f mouseOut
1972
eventIn SFVec2f click
1973
eventIn SFBool timeOut
1975
field SFNode timer USE TimeOutSensor
1977
# some internal global variables
1978
field MFNode picture [
2006
field SFNode images USE Board
2009
// JavaScript Othello Game
2010
// Copyright (c) 2000, 2001 Kelly Yancey <kbyanc@posi.net>
2011
// All rights reserved.
2013
// Redistribution and use in source form, with or without modification, is
2014
// permitted provided that the following conditions are met:
2015
// 1. Redistributions of source code must retain the above copyright
2016
// notice, this list of conditions and the following disclaimer,
2017
// without modification, immediately at the beginning of the file.
2018
// 2. All advertising materials mentioning features or use of this software
2019
// must display the following acknowledgement:
2020
// This product includes software developed by Kelly Yancey
2021
// and a reference to the URL http://www.posi.net/software/othello/
2022
// 3. The name of the author may not be used to endorse or promote products
2023
// derived from this software without specific prior written permission.
2025
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2026
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2027
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2028
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2029
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2030
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2031
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2032
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2033
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2034
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2037
function initialize() {
2038
EMPTY = 0; // empty square
2039
WHITE = 1; // white piece
2040
BLACK = 2; // black piece
2041
WHITETRANS = 3; // white transparent cursor piece
2042
BLACKTRANS = 4; // black transparent cursor piece
2043
NUMBASE = 5; // beginning of numeric pictures
2045
// size of the pictures used to represent pieces (all pictures must be the same size)
2049
// size of the board
2055
showcursor = true; // display cursor showing user where they can go
2056
showflips = false; // display counts showing how many pieces they can flip by putting a piece in a given square
2059
weightsquares = 1; // whether AI prefers squares that yield higher flip counts
2060
edgesensitive = 1; // whether AI is sensitive to the importance of edge squares
2062
// some internal global variables
2063
board = new Array(width);
2064
score = new Array();
2071
weightsquares = true;
2072
edgesensitive = true;
2080
function piece(x,y) {
2081
// object definition for 'piece' type
2082
this.imagenum = x * width + y;
2083
this.player = EMPTY;
2084
// how many pieces each player could flip by taking this square
2085
this.flips = new Array();
2086
this.flips[WHITE] = 0;
2087
this.flips[BLACK] = 0;
2088
// how valuable this location is to each player
2089
this.value = new Array();
2090
this.value[WHITE] = 0;
2091
this.value[BLACK] = 0;
2095
function SetPieceImage(x, y, src) {
2096
// routine to set the image associated with the given piece
2097
if(images.children[board[x][y].imagenum].children[1] != src) {
2098
// we explicitely check to see if we are changing the image source to prevent
2099
// unnecessary redrawing of images which do not change
2100
images.children[board[x][y].imagenum].children[1] = src;
2104
function InitializeBoard() {
2105
// routine to initialize the state of the game and draw the board
2106
// build the board array
2107
for(x = 0; x < width; x++)
2108
board[x] = new Array (height);
2110
for(y = 0; y < height; y++) {
2111
for(x = 0; x < width; x++) {
2112
// place initial pieces
2113
if((x == 3 && y == 3) || (x == 4 && y == 4)) player = WHITE;
2114
else if((x == 3 && y == 4) || (x == 4 && y == 3)) player = BLACK;
2115
else player = EMPTY;
2116
board[x][y] = new piece(x,y);
2117
board[x][y].player = player;
2120
// initialize scores
2125
function ResetBoard() {
2126
// routine to reset all of the pieces on the board
2129
for(y = 0; y < height; y++) {
2130
for(x = 0; x < width; x++) {
2131
board[x][y].player = EMPTY;
2132
SetPieceImage(x, y, picture[EMPTY]);
2140
// put initial pieces back on the board
2141
RawPutPiece(3, 3, WHITE);
2142
RawPutPiece(4, 4, WHITE);
2143
RawPutPiece(3, 4, BLACK);
2144
RawPutPiece(4, 3, BLACK);
2149
function NumFlips(x, y, player) {
2152
for(deltay = -1; deltay <= 1; deltay++) {
2153
for(deltax = -1; deltax <= 1; deltax++) {
2154
for(distance = 1;; distance++) {
2155
posx = x + (distance * deltax);
2156
posy = y + (distance * deltay);
2157
// stop if we go off the board
2158
if(posx < 0 || posx >= width || posy < 0 || posy >= height)
2160
// stop when we reach an empty square
2161
if(board[posx][posy].player == EMPTY)
2163
// only update the flip count when we reach another of the
2165
if(board[posx][posy].player == player) {
2166
count += distance - 1;
2175
function CalcFlipCounts() {
2177
for(y = 0; y < height; y++) {
2178
for(x = 0; x < width; x++) {
2179
board[x][y].flips[WHITE] = 0;
2180
board[x][y].flips[BLACK] = 0;
2182
if(board[x][y].player != EMPTY) continue;
2184
board[x][y].flips[WHITE] = NumFlips(x, y, WHITE);
2185
board[x][y].flips[BLACK] = NumFlips(x, y, BLACK);
2190
function RawPutPiece(x, y, player) {
2191
other = OtherPlayer(player);
2192
if(board[x][y].player == other) score[other]--;
2194
board[x][y].player = player;
2195
SetPieceImage(x, y, picture[player]);
2199
function FlipPieces(x, y, player) {
2202
// put a piece down at the desired location
2203
RawPutPiece(x, y, player);
2205
for(deltay = -1; deltay <= 1; deltay++) {
2206
for(deltax = -1; deltax <= 1; deltax++) {
2207
for(distance = 1;; distance++) {
2208
posx = x + (distance * deltax);
2209
posy = y + (distance * deltay);
2210
// stop if we go off the board
2211
if(posx < 0 || posx >= width || posy < 0 || posy >= height)
2213
// stop when we reach an empty square
2214
if(board[posx][posy].player == EMPTY)
2216
if(board[posx][posy].player == player) {
2217
// backtrack, flipping pieces
2218
for(distance--; distance > 0; distance--) {
2219
posx = x + (distance * deltax);
2220
posy = y + (distance * deltay);
2221
RawPutPiece(posx, posy, player);
2231
function AnyMoves(player) {
2233
for(y = 0; y < height; y++) {
2234
for(x = 0; x < width; x++) {
2235
if(board[x][y].player != EMPTY) continue;
2236
if(NumFlips(x, y, player) > 0) return(true);
2242
function CanPutPiece(x, y, player) {
2243
// determine whether the player can put a piece at the given position
2246
if(board[x][y].player != EMPTY)
2248
return(NumFlips(x, y, player) > 0);
2251
function CheckPutPiece(x, y) {
2252
if(! showcursor) return;
2253
if(! CanPutPiece(x, y, human)) return;
2254
if(human == WHITE) over = WHITETRANS;
2255
else over = BLACKTRANS;
2257
SetPieceImage(x, y, picture[over]);
2260
function RestorePiece(x, y) {
2261
if(showflips && RawShowFlipCount(x, y, human)) return;
2262
SetPieceImage(x, y, picture[board[x][y].player]);
2265
function PutPiece(x, y, timestamp) {
2266
if(! CanPutPiece(x, y, human)) return;
2268
FlipPieces(x, y, human);
2269
DoneTurn(timestamp);
2272
function RawShowFlipCount(x, y, player) {
2273
if(board[x][y].player != EMPTY) return(false);
2274
if((flips = board[x][y].flips[player]) == 0) return(false);
2275
SetPieceImage(x, y, picture[NUMBASE + flips]);
2279
function ShowFlipCounts(player) {
2282
for(y = 0; y < height; y++) {
2283
for(x = 0; x < width; x++) {
2284
RawShowFlipCount(x, y, player);
2289
function HideFlipCounts() {
2291
for(y = 0; y < height; y++) {
2292
for(x = 0; x < width; x++) {
2293
if(board[x][y].player == EMPTY)
2294
SetPieceImage(x, y, picture[EMPTY]);
2299
function OtherPlayer(player) {
2300
return((player == WHITE)? BLACK: WHITE);
2303
function DoneTurn(timestamp) {
2304
moves = AnyMoves(turn);
2305
turn = OtherPlayer(turn);
2307
// check whether the new player has any moves
2308
if(! AnyMoves(turn)) {
2309
if(! moves) return(GameOver());
2311
// XXX inform user the player has no move
2312
// and switch players again
2313
turn = OtherPlayer(turn);
2316
// add a slight delay before the computer takes it's turn so game feels
2317
// 'warmer'; when computer is playing itself, add larger delay so user
2321
timer.cycleInterval = ((human == EMPTY)? 1: 0.150);
2322
timer.startTime = timestamp;
2323
timer.enabled = true;
2324
} else if(showflips) ShowFlipCounts(human);
2327
function Rate(x, y, player) {
2329
if(board[x][y].player != EMPTY) return(0);
2330
if(x < 0 || x >= width || y < 0 || y >= height) return(0);
2332
rating = board[x][y].flips[player];
2335
rating = (rating > 0)? 1: 0;
2337
if(edgesensitive && rating > 0) {
2338
// increase all non-zero weightings by 3 so we have room
2339
// to wait 'less ideal' squares below the baseline
2342
// raise edge ratings 4 points, corners are raised 8
2343
if(x == 0 || x == width - 1) rating += 4;
2344
if(y == 0 || y == height - 1) rating += 4;
2345
// lower next-to-edge ratings by 5 points, next-to-corner by 10
2346
if(x == 1 || x == width - 2) rating -= 5;
2347
if(y == 1 || y == height - 2) rating -= 5;
2349
// we cannot rule out a move because of bad location; we must
2350
// always go somewhere
2351
if(rating < 1) rating = 1;
2356
function OthelloAI(player, timestamp) {
2360
// rank each position on the board by the potential flip count
2363
// apply AI rating algorithm
2364
for(y = 0; y < height; y++) {
2365
for(x = 0; x < width; x++) {
2366
rating = Rate(x, y, player);
2368
// store the rating back into the board
2369
board[x][y].value[player] = rating;
2373
else if(rating > best) {
2380
while(numbest > 0) {
2381
// pick a square to put our piece
2382
pick = Math.floor(Math.random() * numbest);
2384
for(y = 0; y < height; y++) {
2385
for(x = 0; x < width; x++) {
2386
rating = board[x][y].value[player];
2387
if(rating == best) {
2389
FlipPieces(x, y, player);
2390
DoneTurn(timestamp);
2399
// if we make it here, then there was nowhere to go
2400
DoneTurn(timestamp);
2403
function Play(timestamp) {
2404
// black always goes first
2406
OthelloAI(BLACK,timestamp);
2408
ShowFlipCounts(human);
2411
function GameOver() {
2415
function timeOut(value, timestamp) {
2417
OthelloAI(turn, timestamp);
2421
function startGame(value,timestamp) {
2427
function click(value, timestamp) {
2428
PutPiece(value.x, value.y, timestamp);
2431
function mouseOver(value) {
2432
CheckPutPiece(value.x, value.y);
2435
function mouseOut(value) {
2436
RestorePiece(value.x, value.y);
2444
ROUTE StartTS.isActive TO SC.startGame
2445
ROUTE TimeOutSensor.isActive TO SC.timeOut
2447
ROUTE TS00.isActive TO C00_Click.activate
2448
ROUTE TS00.isOver TO C00_Over.activate
2449
ROUTE TS00.isOver TO C00_Out.reverseActivate
2450
ROUTE V00_Over.outSFVec2f TO SC.mouseOver
2451
ROUTE V00_Out.outSFVec2f TO SC.mouseOut
2452
ROUTE V00_Click.outSFVec2f TO SC.click
2453
ROUTE TS01.isActive TO C01_Click.activate
2454
ROUTE TS01.isOver TO C01_Over.activate
2455
ROUTE TS01.isOver TO C01_Out.reverseActivate
2456
ROUTE V01_Over.outSFVec2f TO SC.mouseOver
2457
ROUTE V01_Out.outSFVec2f TO SC.mouseOut
2458
ROUTE V01_Click.outSFVec2f TO SC.click
2459
ROUTE TS02.isActive TO C02_Click.activate
2460
ROUTE TS02.isOver TO C02_Over.activate
2461
ROUTE TS02.isOver TO C02_Out.reverseActivate
2462
ROUTE V02_Over.outSFVec2f TO SC.mouseOver
2463
ROUTE V02_Out.outSFVec2f TO SC.mouseOut
2464
ROUTE V02_Click.outSFVec2f TO SC.click
2465
ROUTE TS03.isActive TO C03_Click.activate
2466
ROUTE TS03.isOver TO C03_Over.activate
2467
ROUTE TS03.isOver TO C03_Out.reverseActivate
2468
ROUTE V03_Over.outSFVec2f TO SC.mouseOver
2469
ROUTE V03_Out.outSFVec2f TO SC.mouseOut
2470
ROUTE V03_Click.outSFVec2f TO SC.click
2471
ROUTE TS04.isActive TO C04_Click.activate
2472
ROUTE TS04.isOver TO C04_Over.activate
2473
ROUTE TS04.isOver TO C04_Out.reverseActivate
2474
ROUTE V04_Over.outSFVec2f TO SC.mouseOver
2475
ROUTE V04_Out.outSFVec2f TO SC.mouseOut
2476
ROUTE V04_Click.outSFVec2f TO SC.click
2477
ROUTE TS05.isActive TO C05_Click.activate
2478
ROUTE TS05.isOver TO C05_Over.activate
2479
ROUTE TS05.isOver TO C05_Out.reverseActivate
2480
ROUTE V05_Over.outSFVec2f TO SC.mouseOver
2481
ROUTE V05_Out.outSFVec2f TO SC.mouseOut
2482
ROUTE V05_Click.outSFVec2f TO SC.click
2483
ROUTE TS06.isActive TO C06_Click.activate
2484
ROUTE TS06.isOver TO C06_Over.activate
2485
ROUTE TS06.isOver TO C06_Out.reverseActivate
2486
ROUTE V06_Over.outSFVec2f TO SC.mouseOver
2487
ROUTE V06_Out.outSFVec2f TO SC.mouseOut
2488
ROUTE V06_Click.outSFVec2f TO SC.click
2489
ROUTE TS07.isActive TO C07_Click.activate
2490
ROUTE TS07.isOver TO C07_Over.activate
2491
ROUTE TS07.isOver TO C07_Out.reverseActivate
2492
ROUTE V07_Over.outSFVec2f TO SC.mouseOver
2493
ROUTE V07_Out.outSFVec2f TO SC.mouseOut
2494
ROUTE V07_Click.outSFVec2f TO SC.click
2495
ROUTE TS10.isActive TO C10_Click.activate
2496
ROUTE TS10.isOver TO C10_Over.activate
2497
ROUTE TS10.isOver TO C10_Out.reverseActivate
2498
ROUTE V10_Over.outSFVec2f TO SC.mouseOver
2499
ROUTE V10_Out.outSFVec2f TO SC.mouseOut
2500
ROUTE V10_Click.outSFVec2f TO SC.click
2501
ROUTE TS11.isActive TO C11_Click.activate
2502
ROUTE TS11.isOver TO C11_Over.activate
2503
ROUTE TS11.isOver TO C11_Out.reverseActivate
2504
ROUTE V11_Over.outSFVec2f TO SC.mouseOver
2505
ROUTE V11_Out.outSFVec2f TO SC.mouseOut
2506
ROUTE V11_Click.outSFVec2f TO SC.click
2507
ROUTE TS12.isActive TO C12_Click.activate
2508
ROUTE TS12.isOver TO C12_Over.activate
2509
ROUTE TS12.isOver TO C12_Out.reverseActivate
2510
ROUTE V12_Over.outSFVec2f TO SC.mouseOver
2511
ROUTE V12_Out.outSFVec2f TO SC.mouseOut
2512
ROUTE V12_Click.outSFVec2f TO SC.click
2513
ROUTE TS13.isActive TO C13_Click.activate
2514
ROUTE TS13.isOver TO C13_Over.activate
2515
ROUTE TS13.isOver TO C13_Out.reverseActivate
2516
ROUTE V13_Over.outSFVec2f TO SC.mouseOver
2517
ROUTE V13_Out.outSFVec2f TO SC.mouseOut
2518
ROUTE V13_Click.outSFVec2f TO SC.click
2519
ROUTE TS14.isActive TO C14_Click.activate
2520
ROUTE TS14.isOver TO C14_Over.activate
2521
ROUTE TS14.isOver TO C14_Out.reverseActivate
2522
ROUTE V14_Over.outSFVec2f TO SC.mouseOver
2523
ROUTE V14_Out.outSFVec2f TO SC.mouseOut
2524
ROUTE V14_Click.outSFVec2f TO SC.click
2525
ROUTE TS15.isActive TO C15_Click.activate
2526
ROUTE TS15.isOver TO C15_Over.activate
2527
ROUTE TS15.isOver TO C15_Out.reverseActivate
2528
ROUTE V15_Over.outSFVec2f TO SC.mouseOver
2529
ROUTE V15_Out.outSFVec2f TO SC.mouseOut
2530
ROUTE V15_Click.outSFVec2f TO SC.click
2531
ROUTE TS16.isActive TO C16_Click.activate
2532
ROUTE TS16.isOver TO C16_Over.activate
2533
ROUTE TS16.isOver TO C16_Out.reverseActivate
2534
ROUTE V16_Over.outSFVec2f TO SC.mouseOver
2535
ROUTE V16_Out.outSFVec2f TO SC.mouseOut
2536
ROUTE V16_Click.outSFVec2f TO SC.click
2537
ROUTE TS17.isActive TO C17_Click.activate
2538
ROUTE TS17.isOver TO C17_Over.activate
2539
ROUTE TS17.isOver TO C17_Out.reverseActivate
2540
ROUTE V17_Over.outSFVec2f TO SC.mouseOver
2541
ROUTE V17_Out.outSFVec2f TO SC.mouseOut
2542
ROUTE V17_Click.outSFVec2f TO SC.click
2543
ROUTE TS20.isActive TO C20_Click.activate
2544
ROUTE TS20.isOver TO C20_Over.activate
2545
ROUTE TS20.isOver TO C20_Out.reverseActivate
2546
ROUTE V20_Over.outSFVec2f TO SC.mouseOver
2547
ROUTE V20_Out.outSFVec2f TO SC.mouseOut
2548
ROUTE V20_Click.outSFVec2f TO SC.click
2549
ROUTE TS21.isActive TO C21_Click.activate
2550
ROUTE TS21.isOver TO C21_Over.activate
2551
ROUTE TS21.isOver TO C21_Out.reverseActivate
2552
ROUTE V21_Over.outSFVec2f TO SC.mouseOver
2553
ROUTE V21_Out.outSFVec2f TO SC.mouseOut
2554
ROUTE V21_Click.outSFVec2f TO SC.click
2555
ROUTE TS22.isActive TO C22_Click.activate
2556
ROUTE TS22.isOver TO C22_Over.activate
2557
ROUTE TS22.isOver TO C22_Out.reverseActivate
2558
ROUTE V22_Over.outSFVec2f TO SC.mouseOver
2559
ROUTE V22_Out.outSFVec2f TO SC.mouseOut
2560
ROUTE V22_Click.outSFVec2f TO SC.click
2561
ROUTE TS23.isActive TO C23_Click.activate
2562
ROUTE TS23.isOver TO C23_Over.activate
2563
ROUTE TS23.isOver TO C23_Out.reverseActivate
2564
ROUTE V23_Over.outSFVec2f TO SC.mouseOver
2565
ROUTE V23_Out.outSFVec2f TO SC.mouseOut
2566
ROUTE V23_Click.outSFVec2f TO SC.click
2567
ROUTE TS24.isActive TO C24_Click.activate
2568
ROUTE TS24.isOver TO C24_Over.activate
2569
ROUTE TS24.isOver TO C24_Out.reverseActivate
2570
ROUTE V24_Over.outSFVec2f TO SC.mouseOver
2571
ROUTE V24_Out.outSFVec2f TO SC.mouseOut
2572
ROUTE V24_Click.outSFVec2f TO SC.click
2573
ROUTE TS25.isActive TO C25_Click.activate
2574
ROUTE TS25.isOver TO C25_Over.activate
2575
ROUTE TS25.isOver TO C25_Out.reverseActivate
2576
ROUTE V25_Over.outSFVec2f TO SC.mouseOver
2577
ROUTE V25_Out.outSFVec2f TO SC.mouseOut
2578
ROUTE V25_Click.outSFVec2f TO SC.click
2579
ROUTE TS26.isActive TO C26_Click.activate
2580
ROUTE TS26.isOver TO C26_Over.activate
2581
ROUTE TS26.isOver TO C26_Out.reverseActivate
2582
ROUTE V26_Over.outSFVec2f TO SC.mouseOver
2583
ROUTE V26_Out.outSFVec2f TO SC.mouseOut
2584
ROUTE V26_Click.outSFVec2f TO SC.click
2585
ROUTE TS27.isActive TO C27_Click.activate
2586
ROUTE TS27.isOver TO C27_Over.activate
2587
ROUTE TS27.isOver TO C27_Out.reverseActivate
2588
ROUTE V27_Over.outSFVec2f TO SC.mouseOver
2589
ROUTE V27_Out.outSFVec2f TO SC.mouseOut
2590
ROUTE V27_Click.outSFVec2f TO SC.click
2591
ROUTE TS30.isActive TO C30_Click.activate
2592
ROUTE TS30.isOver TO C30_Over.activate
2593
ROUTE TS30.isOver TO C30_Out.reverseActivate
2594
ROUTE V30_Over.outSFVec2f TO SC.mouseOver
2595
ROUTE V30_Out.outSFVec2f TO SC.mouseOut
2596
ROUTE V30_Click.outSFVec2f TO SC.click
2597
ROUTE TS31.isActive TO C31_Click.activate
2598
ROUTE TS31.isOver TO C31_Over.activate
2599
ROUTE TS31.isOver TO C31_Out.reverseActivate
2600
ROUTE V31_Over.outSFVec2f TO SC.mouseOver
2601
ROUTE V31_Out.outSFVec2f TO SC.mouseOut
2602
ROUTE V31_Click.outSFVec2f TO SC.click
2603
ROUTE TS32.isActive TO C32_Click.activate
2604
ROUTE TS32.isOver TO C32_Over.activate
2605
ROUTE TS32.isOver TO C32_Out.reverseActivate
2606
ROUTE V32_Over.outSFVec2f TO SC.mouseOver
2607
ROUTE V32_Out.outSFVec2f TO SC.mouseOut
2608
ROUTE V32_Click.outSFVec2f TO SC.click
2609
ROUTE TS33.isActive TO C33_Click.activate
2610
ROUTE TS33.isOver TO C33_Over.activate
2611
ROUTE TS33.isOver TO C33_Out.reverseActivate
2612
ROUTE V33_Over.outSFVec2f TO SC.mouseOver
2613
ROUTE V33_Out.outSFVec2f TO SC.mouseOut
2614
ROUTE V33_Click.outSFVec2f TO SC.click
2615
ROUTE TS34.isActive TO C34_Click.activate
2616
ROUTE TS34.isOver TO C34_Over.activate
2617
ROUTE TS34.isOver TO C34_Out.reverseActivate
2618
ROUTE V34_Over.outSFVec2f TO SC.mouseOver
2619
ROUTE V34_Out.outSFVec2f TO SC.mouseOut
2620
ROUTE V34_Click.outSFVec2f TO SC.click
2621
ROUTE TS35.isActive TO C35_Click.activate
2622
ROUTE TS35.isOver TO C35_Over.activate
2623
ROUTE TS35.isOver TO C35_Out.reverseActivate
2624
ROUTE V35_Over.outSFVec2f TO SC.mouseOver
2625
ROUTE V35_Out.outSFVec2f TO SC.mouseOut
2626
ROUTE V35_Click.outSFVec2f TO SC.click
2627
ROUTE TS36.isActive TO C36_Click.activate
2628
ROUTE TS36.isOver TO C36_Over.activate
2629
ROUTE TS36.isOver TO C36_Out.reverseActivate
2630
ROUTE V36_Over.outSFVec2f TO SC.mouseOver
2631
ROUTE V36_Out.outSFVec2f TO SC.mouseOut
2632
ROUTE V36_Click.outSFVec2f TO SC.click
2633
ROUTE TS37.isActive TO C37_Click.activate
2634
ROUTE TS37.isOver TO C37_Over.activate
2635
ROUTE TS37.isOver TO C37_Out.reverseActivate
2636
ROUTE V37_Over.outSFVec2f TO SC.mouseOver
2637
ROUTE V37_Out.outSFVec2f TO SC.mouseOut
2638
ROUTE V37_Click.outSFVec2f TO SC.click
2639
ROUTE TS40.isActive TO C40_Click.activate
2640
ROUTE TS40.isOver TO C40_Over.activate
2641
ROUTE TS40.isOver TO C40_Out.reverseActivate
2642
ROUTE V40_Over.outSFVec2f TO SC.mouseOver
2643
ROUTE V40_Out.outSFVec2f TO SC.mouseOut
2644
ROUTE V40_Click.outSFVec2f TO SC.click
2645
ROUTE TS41.isActive TO C41_Click.activate
2646
ROUTE TS41.isOver TO C41_Over.activate
2647
ROUTE TS41.isOver TO C41_Out.reverseActivate
2648
ROUTE V41_Over.outSFVec2f TO SC.mouseOver
2649
ROUTE V41_Out.outSFVec2f TO SC.mouseOut
2650
ROUTE V41_Click.outSFVec2f TO SC.click
2651
ROUTE TS42.isActive TO C42_Click.activate
2652
ROUTE TS42.isOver TO C42_Over.activate
2653
ROUTE TS42.isOver TO C42_Out.reverseActivate
2654
ROUTE V42_Over.outSFVec2f TO SC.mouseOver
2655
ROUTE V42_Out.outSFVec2f TO SC.mouseOut
2656
ROUTE V42_Click.outSFVec2f TO SC.click
2657
ROUTE TS43.isActive TO C43_Click.activate
2658
ROUTE TS43.isOver TO C43_Over.activate
2659
ROUTE TS43.isOver TO C43_Out.reverseActivate
2660
ROUTE V43_Over.outSFVec2f TO SC.mouseOver
2661
ROUTE V43_Out.outSFVec2f TO SC.mouseOut
2662
ROUTE V43_Click.outSFVec2f TO SC.click
2663
ROUTE TS44.isActive TO C44_Click.activate
2664
ROUTE TS44.isOver TO C44_Over.activate
2665
ROUTE TS44.isOver TO C44_Out.reverseActivate
2666
ROUTE V44_Over.outSFVec2f TO SC.mouseOver
2667
ROUTE V44_Out.outSFVec2f TO SC.mouseOut
2668
ROUTE V44_Click.outSFVec2f TO SC.click
2669
ROUTE TS45.isActive TO C45_Click.activate
2670
ROUTE TS45.isOver TO C45_Over.activate
2671
ROUTE TS45.isOver TO C45_Out.reverseActivate
2672
ROUTE V45_Over.outSFVec2f TO SC.mouseOver
2673
ROUTE V45_Out.outSFVec2f TO SC.mouseOut
2674
ROUTE V45_Click.outSFVec2f TO SC.click
2675
ROUTE TS46.isActive TO C46_Click.activate
2676
ROUTE TS46.isOver TO C46_Over.activate
2677
ROUTE TS46.isOver TO C46_Out.reverseActivate
2678
ROUTE V46_Over.outSFVec2f TO SC.mouseOver
2679
ROUTE V46_Out.outSFVec2f TO SC.mouseOut
2680
ROUTE V46_Click.outSFVec2f TO SC.click
2681
ROUTE TS47.isActive TO C47_Click.activate
2682
ROUTE TS47.isOver TO C47_Over.activate
2683
ROUTE TS47.isOver TO C47_Out.reverseActivate
2684
ROUTE V47_Over.outSFVec2f TO SC.mouseOver
2685
ROUTE V47_Out.outSFVec2f TO SC.mouseOut
2686
ROUTE V47_Click.outSFVec2f TO SC.click
2687
ROUTE TS50.isActive TO C50_Click.activate
2688
ROUTE TS50.isOver TO C50_Over.activate
2689
ROUTE TS50.isOver TO C50_Out.reverseActivate
2690
ROUTE V50_Over.outSFVec2f TO SC.mouseOver
2691
ROUTE V50_Out.outSFVec2f TO SC.mouseOut
2692
ROUTE V50_Click.outSFVec2f TO SC.click
2693
ROUTE TS51.isActive TO C51_Click.activate
2694
ROUTE TS51.isOver TO C51_Over.activate
2695
ROUTE TS51.isOver TO C51_Out.reverseActivate
2696
ROUTE V51_Over.outSFVec2f TO SC.mouseOver
2697
ROUTE V51_Out.outSFVec2f TO SC.mouseOut
2698
ROUTE V51_Click.outSFVec2f TO SC.click
2699
ROUTE TS52.isActive TO C52_Click.activate
2700
ROUTE TS52.isOver TO C52_Over.activate
2701
ROUTE TS52.isOver TO C52_Out.reverseActivate
2702
ROUTE V52_Over.outSFVec2f TO SC.mouseOver
2703
ROUTE V52_Out.outSFVec2f TO SC.mouseOut
2704
ROUTE V52_Click.outSFVec2f TO SC.click
2705
ROUTE TS53.isActive TO C53_Click.activate
2706
ROUTE TS53.isOver TO C53_Over.activate
2707
ROUTE TS53.isOver TO C53_Out.reverseActivate
2708
ROUTE V53_Over.outSFVec2f TO SC.mouseOver
2709
ROUTE V53_Out.outSFVec2f TO SC.mouseOut
2710
ROUTE V53_Click.outSFVec2f TO SC.click
2711
ROUTE TS54.isActive TO C54_Click.activate
2712
ROUTE TS54.isOver TO C54_Over.activate
2713
ROUTE TS54.isOver TO C54_Out.reverseActivate
2714
ROUTE V54_Over.outSFVec2f TO SC.mouseOver
2715
ROUTE V54_Out.outSFVec2f TO SC.mouseOut
2716
ROUTE V54_Click.outSFVec2f TO SC.click
2717
ROUTE TS55.isActive TO C55_Click.activate
2718
ROUTE TS55.isOver TO C55_Over.activate
2719
ROUTE TS55.isOver TO C55_Out.reverseActivate
2720
ROUTE V55_Over.outSFVec2f TO SC.mouseOver
2721
ROUTE V55_Out.outSFVec2f TO SC.mouseOut
2722
ROUTE V55_Click.outSFVec2f TO SC.click
2723
ROUTE TS56.isActive TO C56_Click.activate
2724
ROUTE TS56.isOver TO C56_Over.activate
2725
ROUTE TS56.isOver TO C56_Out.reverseActivate
2726
ROUTE V56_Over.outSFVec2f TO SC.mouseOver
2727
ROUTE V56_Out.outSFVec2f TO SC.mouseOut
2728
ROUTE V56_Click.outSFVec2f TO SC.click
2729
ROUTE TS57.isActive TO C57_Click.activate
2730
ROUTE TS57.isOver TO C57_Over.activate
2731
ROUTE TS57.isOver TO C57_Out.reverseActivate
2732
ROUTE V57_Over.outSFVec2f TO SC.mouseOver
2733
ROUTE V57_Out.outSFVec2f TO SC.mouseOut
2734
ROUTE V57_Click.outSFVec2f TO SC.click
2735
ROUTE TS60.isActive TO C60_Click.activate
2736
ROUTE TS60.isOver TO C60_Over.activate
2737
ROUTE TS60.isOver TO C60_Out.reverseActivate
2738
ROUTE V60_Over.outSFVec2f TO SC.mouseOver
2739
ROUTE V60_Out.outSFVec2f TO SC.mouseOut
2740
ROUTE V60_Click.outSFVec2f TO SC.click
2741
ROUTE TS61.isActive TO C61_Click.activate
2742
ROUTE TS61.isOver TO C61_Over.activate
2743
ROUTE TS61.isOver TO C61_Out.reverseActivate
2744
ROUTE V61_Over.outSFVec2f TO SC.mouseOver
2745
ROUTE V61_Out.outSFVec2f TO SC.mouseOut
2746
ROUTE V61_Click.outSFVec2f TO SC.click
2747
ROUTE TS62.isActive TO C62_Click.activate
2748
ROUTE TS62.isOver TO C62_Over.activate
2749
ROUTE TS62.isOver TO C62_Out.reverseActivate
2750
ROUTE V62_Over.outSFVec2f TO SC.mouseOver
2751
ROUTE V62_Out.outSFVec2f TO SC.mouseOut
2752
ROUTE V62_Click.outSFVec2f TO SC.click
2753
ROUTE TS63.isActive TO C63_Click.activate
2754
ROUTE TS63.isOver TO C63_Over.activate
2755
ROUTE TS63.isOver TO C63_Out.reverseActivate
2756
ROUTE V63_Over.outSFVec2f TO SC.mouseOver
2757
ROUTE V63_Out.outSFVec2f TO SC.mouseOut
2758
ROUTE V63_Click.outSFVec2f TO SC.click
2759
ROUTE TS64.isActive TO C64_Click.activate
2760
ROUTE TS64.isOver TO C64_Over.activate
2761
ROUTE TS64.isOver TO C64_Out.reverseActivate
2762
ROUTE V64_Over.outSFVec2f TO SC.mouseOver
2763
ROUTE V64_Out.outSFVec2f TO SC.mouseOut
2764
ROUTE V64_Click.outSFVec2f TO SC.click
2765
ROUTE TS65.isActive TO C65_Click.activate
2766
ROUTE TS65.isOver TO C65_Over.activate
2767
ROUTE TS65.isOver TO C65_Out.reverseActivate
2768
ROUTE V65_Over.outSFVec2f TO SC.mouseOver
2769
ROUTE V65_Out.outSFVec2f TO SC.mouseOut
2770
ROUTE V65_Click.outSFVec2f TO SC.click
2771
ROUTE TS66.isActive TO C66_Click.activate
2772
ROUTE TS66.isOver TO C66_Over.activate
2773
ROUTE TS66.isOver TO C66_Out.reverseActivate
2774
ROUTE V66_Over.outSFVec2f TO SC.mouseOver
2775
ROUTE V66_Out.outSFVec2f TO SC.mouseOut
2776
ROUTE V66_Click.outSFVec2f TO SC.click
2777
ROUTE TS67.isActive TO C67_Click.activate
2778
ROUTE TS67.isOver TO C67_Over.activate
2779
ROUTE TS67.isOver TO C67_Out.reverseActivate
2780
ROUTE V67_Over.outSFVec2f TO SC.mouseOver
2781
ROUTE V67_Out.outSFVec2f TO SC.mouseOut
2782
ROUTE V67_Click.outSFVec2f TO SC.click
2783
ROUTE TS70.isActive TO C70_Click.activate
2784
ROUTE TS70.isOver TO C70_Over.activate
2785
ROUTE TS70.isOver TO C70_Out.reverseActivate
2786
ROUTE V70_Over.outSFVec2f TO SC.mouseOver
2787
ROUTE V70_Out.outSFVec2f TO SC.mouseOut
2788
ROUTE V70_Click.outSFVec2f TO SC.click
2789
ROUTE TS71.isActive TO C71_Click.activate
2790
ROUTE TS71.isOver TO C71_Over.activate
2791
ROUTE TS71.isOver TO C71_Out.reverseActivate
2792
ROUTE V71_Over.outSFVec2f TO SC.mouseOver
2793
ROUTE V71_Out.outSFVec2f TO SC.mouseOut
2794
ROUTE V71_Click.outSFVec2f TO SC.click
2795
ROUTE TS72.isActive TO C72_Click.activate
2796
ROUTE TS72.isOver TO C72_Over.activate
2797
ROUTE TS72.isOver TO C72_Out.reverseActivate
2798
ROUTE V72_Over.outSFVec2f TO SC.mouseOver
2799
ROUTE V72_Out.outSFVec2f TO SC.mouseOut
2800
ROUTE V72_Click.outSFVec2f TO SC.click
2801
ROUTE TS73.isActive TO C73_Click.activate
2802
ROUTE TS73.isOver TO C73_Over.activate
2803
ROUTE TS73.isOver TO C73_Out.reverseActivate
2804
ROUTE V73_Over.outSFVec2f TO SC.mouseOver
2805
ROUTE V73_Out.outSFVec2f TO SC.mouseOut
2806
ROUTE V73_Click.outSFVec2f TO SC.click
2807
ROUTE TS74.isActive TO C74_Click.activate
2808
ROUTE TS74.isOver TO C74_Over.activate
2809
ROUTE TS74.isOver TO C74_Out.reverseActivate
2810
ROUTE V74_Over.outSFVec2f TO SC.mouseOver
2811
ROUTE V74_Out.outSFVec2f TO SC.mouseOut
2812
ROUTE V74_Click.outSFVec2f TO SC.click
2813
ROUTE TS75.isActive TO C75_Click.activate
2814
ROUTE TS75.isOver TO C75_Over.activate
2815
ROUTE TS75.isOver TO C75_Out.reverseActivate
2816
ROUTE V75_Over.outSFVec2f TO SC.mouseOver
2817
ROUTE V75_Out.outSFVec2f TO SC.mouseOut
2818
ROUTE V75_Click.outSFVec2f TO SC.click
2819
ROUTE TS76.isActive TO C76_Click.activate
2820
ROUTE TS76.isOver TO C76_Over.activate
2821
ROUTE TS76.isOver TO C76_Out.reverseActivate
2822
ROUTE V76_Over.outSFVec2f TO SC.mouseOver
2823
ROUTE V76_Out.outSFVec2f TO SC.mouseOut
2824
ROUTE V76_Click.outSFVec2f TO SC.click
2825
ROUTE TS77.isActive TO C77_Click.activate
2826
ROUTE TS77.isOver TO C77_Over.activate
2827
ROUTE TS77.isOver TO C77_Out.reverseActivate
2828
ROUTE V77_Over.outSFVec2f TO SC.mouseOver
2829
ROUTE V77_Out.outSFVec2f TO SC.mouseOut
2830
ROUTE V77_Click.outSFVec2f TO SC.click