// export you ; export MacMillan , Burlak ; export Masha ; function prepare_units ; var veh ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
// MacMillan := CreateCharacter ( MacMillan ) ;
   4: LD_ADDR_EXP 2
   8: PUSH
   9: LD_STRING MacMillan
  11: PPUSH
  12: CALL_OW 34
  16: ST_TO_ADDR
// Burlak := CreateCharacter ( Burlak ) ;
  17: LD_ADDR_EXP 3
  21: PUSH
  22: LD_STRING Burlak
  24: PPUSH
  25: CALL_OW 34
  29: ST_TO_ADDR
// SetClass ( MacMillan , class_engineer ) ;
  30: LD_EXP 2
  34: PPUSH
  35: LD_INT 2
  37: PPUSH
  38: CALL_OW 336
// SetClass ( Burlak , class_mechanic ) ;
  42: LD_EXP 3
  46: PPUSH
  47: LD_INT 3
  49: PPUSH
  50: CALL_OW 336
// SetSide ( [ MacMillan , Burlak ] , you ) ;
  54: LD_EXP 2
  58: PUSH
  59: LD_EXP 3
  63: PUSH
  64: EMPTY
  65: LIST
  66: LIST
  67: PPUSH
  68: LD_EXP 1
  72: PPUSH
  73: CALL_OW 235
// veh := LoadVariable ( Masha , [ ] ) ;
  77: LD_ADDR_VAR 0 2
  81: PUSH
  82: LD_STRING Masha
  84: PPUSH
  85: EMPTY
  86: PPUSH
  87: CALL_OW 30
  91: ST_TO_ADDR
// if veh then
  92: LD_VAR 0 2
  96: IFFALSE 193
// begin vc_chassis := veh [ 1 ] ;
  98: LD_ADDR_OWVAR 37
 102: PUSH
 103: LD_VAR 0 2
 107: PUSH
 108: LD_INT 1
 110: ARRAY
 111: ST_TO_ADDR
// vc_engine := veh [ 2 ] ;
 112: LD_ADDR_OWVAR 39
 116: PUSH
 117: LD_VAR 0 2
 121: PUSH
 122: LD_INT 2
 124: ARRAY
 125: ST_TO_ADDR
// vc_control := veh [ 3 ] ;
 126: LD_ADDR_OWVAR 38
 130: PUSH
 131: LD_VAR 0 2
 135: PUSH
 136: LD_INT 3
 138: ARRAY
 139: ST_TO_ADDR
// vc_weapon := veh [ 4 ] ;
 140: LD_ADDR_OWVAR 40
 144: PUSH
 145: LD_VAR 0 2
 149: PUSH
 150: LD_INT 4
 152: ARRAY
 153: ST_TO_ADDR
// Masha := CreateVehicle ;
 154: LD_ADDR_EXP 4
 158: PUSH
 159: CALL_OW 45
 163: ST_TO_ADDR
// PlaceUnitArea ( Masha , central , false ) ;
 164: LD_EXP 4
 168: PPUSH
 169: LD_INT 1
 171: PPUSH
 172: LD_INT 0
 174: PPUSH
 175: CALL_OW 49
// SetMark ( Masha , 1 ) ;
 179: LD_EXP 4
 183: PPUSH
 184: LD_INT 1
 186: PPUSH
 187: CALL_OW 242
// end else
 191: GO 201
// Masha := false ;
 193: LD_ADDR_EXP 4
 197: PUSH
 198: LD_INT 0
 200: ST_TO_ADDR
// PlaceUnitArea ( MacMillan , central , false ) ;
 201: LD_EXP 2
 205: PPUSH
 206: LD_INT 1
 208: PPUSH
 209: LD_INT 0
 211: PPUSH
 212: CALL_OW 49
// PlaceUnitArea ( Burlak , central , false ) ;
 216: LD_EXP 3
 220: PPUSH
 221: LD_INT 1
 223: PPUSH
 224: LD_INT 0
 226: PPUSH
 227: CALL_OW 49
// end ;
 231: LD_VAR 0 1
 235: RET
// function prepare_freedom ; var building , un , x , y , dir , weap , Freedom ; begin
 236: LD_INT 0
 238: PPUSH
 239: PPUSH
 240: PPUSH
 241: PPUSH
 242: PPUSH
 243: PPUSH
 244: PPUSH
 245: PPUSH
// uc_side := 7 ;
 246: LD_ADDR_OWVAR 20
 250: PUSH
 251: LD_INT 7
 253: ST_TO_ADDR
// Freedom := LoadVariable ( Freedom , [ ] ) ;
 254: LD_ADDR_VAR 0 8
 258: PUSH
 259: LD_STRING Freedom
 261: PPUSH
 262: EMPTY
 263: PPUSH
 264: CALL_OW 30
 268: ST_TO_ADDR
// for building in freedom do
 269: LD_ADDR_VAR 0 2
 273: PUSH
 274: LD_VAR 0 8
 278: PUSH
 279: FOR_IN
 280: IFFALSE 523
// begin weap := false ;
 282: LD_ADDR_VAR 0 7
 286: PUSH
 287: LD_INT 0
 289: ST_TO_ADDR
// x := building [ 1 ] ;
 290: LD_ADDR_VAR 0 4
 294: PUSH
 295: LD_VAR 0 2
 299: PUSH
 300: LD_INT 1
 302: ARRAY
 303: ST_TO_ADDR
// y := building [ 2 ] ;
 304: LD_ADDR_VAR 0 5
 308: PUSH
 309: LD_VAR 0 2
 313: PUSH
 314: LD_INT 2
 316: ARRAY
 317: ST_TO_ADDR
// dir := building [ 3 ] ;
 318: LD_ADDR_VAR 0 6
 322: PUSH
 323: LD_VAR 0 2
 327: PUSH
 328: LD_INT 3
 330: ARRAY
 331: ST_TO_ADDR
// bc_type := building [ 4 ] ;
 332: LD_ADDR_OWVAR 42
 336: PUSH
 337: LD_VAR 0 2
 341: PUSH
 342: LD_INT 4
 344: ARRAY
 345: ST_TO_ADDR
// bc_level := building [ 5 ] ;
 346: LD_ADDR_OWVAR 43
 350: PUSH
 351: LD_VAR 0 2
 355: PUSH
 356: LD_INT 5
 358: ARRAY
 359: ST_TO_ADDR
// uc_nation := building [ 6 ] ;
 360: LD_ADDR_OWVAR 21
 364: PUSH
 365: LD_VAR 0 2
 369: PUSH
 370: LD_INT 6
 372: ARRAY
 373: ST_TO_ADDR
// if building > 7 then
 374: LD_VAR 0 2
 378: PUSH
 379: LD_INT 7
 381: GREATER
 382: IFFALSE 412
// begin bc_kind1 := building [ 7 ] ;
 384: LD_ADDR_OWVAR 44
 388: PUSH
 389: LD_VAR 0 2
 393: PUSH
 394: LD_INT 7
 396: ARRAY
 397: ST_TO_ADDR
// bc_kind2 := building [ 8 ] ;
 398: LD_ADDR_OWVAR 45
 402: PUSH
 403: LD_VAR 0 2
 407: PUSH
 408: LD_INT 8
 410: ARRAY
 411: ST_TO_ADDR
// end ; if ( building + 0 ) = 7 then
 412: LD_VAR 0 2
 416: PUSH
 417: LD_INT 0
 419: PLUS
 420: PUSH
 421: LD_INT 7
 423: EQUAL
 424: IFFALSE 440
// weap := building [ 7 ] ;
 426: LD_ADDR_VAR 0 7
 430: PUSH
 431: LD_VAR 0 2
 435: PUSH
 436: LD_INT 7
 438: ARRAY
 439: ST_TO_ADDR
// if bc_type in [ b_oil_mine , b_siberite_mine ] then
 440: LD_OWVAR 42
 444: PUSH
 445: LD_INT 29
 447: PUSH
 448: LD_INT 30
 450: PUSH
 451: EMPTY
 452: LIST
 453: LIST
 454: IN
 455: IFFALSE 476
// SetResourceVisibility ( x , y , you ) ;
 457: LD_VAR 0 4
 461: PPUSH
 462: LD_VAR 0 5
 466: PPUSH
 467: LD_EXP 1
 471: PPUSH
 472: CALL_OW 441
// un := CreateAndPlaceBuildingXYD ( x , y , dir ) ;
 476: LD_ADDR_VAR 0 3
 480: PUSH
 481: LD_VAR 0 4
 485: PPUSH
 486: LD_VAR 0 5
 490: PPUSH
 491: LD_VAR 0 6
 495: PPUSH
 496: CALL_OW 47
 500: ST_TO_ADDR
// if weap then
 501: LD_VAR 0 7
 505: IFFALSE 521
// PlaceWeaponTurret ( un , weap ) ;
 507: LD_VAR 0 3
 511: PPUSH
 512: LD_VAR 0 7
 516: PPUSH
 517: CALL_OW 431
// end ;
 521: GO 279
 523: POP
 524: POP
// building := FilterAllUnits ( [ [ f_side , you ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) ;
 525: LD_ADDR_VAR 0 2
 529: PUSH
 530: LD_INT 22
 532: PUSH
 533: LD_EXP 1
 537: PUSH
 538: EMPTY
 539: LIST
 540: LIST
 541: PUSH
 542: LD_INT 2
 544: PUSH
 545: LD_INT 30
 547: PUSH
 548: LD_INT 0
 550: PUSH
 551: EMPTY
 552: LIST
 553: LIST
 554: PUSH
 555: LD_INT 30
 557: PUSH
 558: LD_INT 1
 560: PUSH
 561: EMPTY
 562: LIST
 563: LIST
 564: PUSH
 565: EMPTY
 566: LIST
 567: LIST
 568: LIST
 569: PUSH
 570: EMPTY
 571: LIST
 572: LIST
 573: PPUSH
 574: CALL_OW 69
 578: ST_TO_ADDR
// for un in building do
 579: LD_ADDR_VAR 0 3
 583: PUSH
 584: LD_VAR 0 2
 588: PUSH
 589: FOR_IN
 590: IFFALSE 654
// begin SetResourceType ( GetBase ( un ) , mat_cans , 125 ) ;
 592: LD_VAR 0 3
 596: PPUSH
 597: CALL_OW 274
 601: PPUSH
 602: LD_INT 1
 604: PPUSH
 605: LD_INT 125
 607: PPUSH
 608: CALL_OW 277
// SetResourceType ( GetBase ( un ) , mat_oil , 38 ) ;
 612: LD_VAR 0 3
 616: PPUSH
 617: CALL_OW 274
 621: PPUSH
 622: LD_INT 2
 624: PPUSH
 625: LD_INT 38
 627: PPUSH
 628: CALL_OW 277
// SetResourceType ( GetBase ( un ) , mat_siberit , 12 ) ;
 632: LD_VAR 0 3
 636: PPUSH
 637: CALL_OW 274
 641: PPUSH
 642: LD_INT 3
 644: PPUSH
 645: LD_INT 12
 647: PPUSH
 648: CALL_OW 277
// end ;
 652: GO 589
 654: POP
 655: POP
// end ;
 656: LD_VAR 0 1
 660: RET
// function prepare_sides ; begin
 661: LD_INT 0
 663: PPUSH
// you := 7 ;
 664: LD_ADDR_EXP 1
 668: PUSH
 669: LD_INT 7
 671: ST_TO_ADDR
// disable ( 1 ) ;
 672: LD_INT 1
 674: DISABLE_MARKED
// end ;
 675: LD_VAR 0 1
 679: RET
// starting begin prepare_sides ;
 680: CALL 661 0 0
// prepare_freedom ;
 684: CALL 236 0 0
// prepare_units ;
 688: CALL 0 0 0
// add_new_vehicles ;
 692: CALL 1739 0 0
// starting_scene ;
 696: CALL 701 0 0
// end ; end_of_file
 700: END
// var JMM_car , Bur_car ; var JMM_load , Bur_load ; var truck_selected , masha_on ; export function starting_scene ; begin
 701: LD_INT 0
 703: PPUSH
// interface_hidden := true ;
 704: LD_ADDR_OWVAR 54
 708: PUSH
 709: LD_INT 1
 711: ST_TO_ADDR
// RevealFogArea ( you , all_fog ) ;
 712: LD_EXP 1
 716: PPUSH
 717: LD_INT 2
 719: PPUSH
 720: CALL_OW 332
// ComTurnUnit ( MacMillan , Burlak ) ;
 724: LD_EXP 2
 728: PPUSH
 729: LD_EXP 3
 733: PPUSH
 734: CALL_OW 119
// ComTurnUnit ( Burlak , MacMillan ) ;
 738: LD_EXP 3
 742: PPUSH
 743: LD_EXP 2
 747: PPUSH
 748: CALL_OW 119
// wait ( 10 ) ;
 752: LD_INT 10
 754: PPUSH
 755: CALL_OW 67
// DialogueOn ;
 759: CALL_OW 6
// interface_hidden := true ;
 763: LD_ADDR_OWVAR 54
 767: PUSH
 768: LD_INT 1
 770: ST_TO_ADDR
// Say ( MacMillan , D1-JMM-1 ) ;
 771: LD_EXP 2
 775: PPUSH
 776: LD_STRING D1-JMM-1
 778: PPUSH
 779: CALL_OW 88
// Say ( Burlak , D1-Bur-1 ) ;
 783: LD_EXP 3
 787: PPUSH
 788: LD_STRING D1-Bur-1
 790: PPUSH
 791: CALL_OW 88
// Say ( MacMillan , D1-JMM-2 ) ;
 795: LD_EXP 2
 799: PPUSH
 800: LD_STRING D1-JMM-2
 802: PPUSH
 803: CALL_OW 88
// Say ( Burlak , D1-Bur-2 ) ;
 807: LD_EXP 3
 811: PPUSH
 812: LD_STRING D1-Bur-2
 814: PPUSH
 815: CALL_OW 88
// Say ( MacMillan , D1-JMM-3 ) ;
 819: LD_EXP 2
 823: PPUSH
 824: LD_STRING D1-JMM-3
 826: PPUSH
 827: CALL_OW 88
// Say ( Burlak , D1-Bur-3 ) ;
 831: LD_EXP 3
 835: PPUSH
 836: LD_STRING D1-Bur-3
 838: PPUSH
 839: CALL_OW 88
// Say ( MacMillan , D1-JMM-4 ) ;
 843: LD_EXP 2
 847: PPUSH
 848: LD_STRING D1-JMM-4
 850: PPUSH
 851: CALL_OW 88
// Say ( Burlak , D1-Bur-4 ) ;
 855: LD_EXP 3
 859: PPUSH
 860: LD_STRING D1-Bur-4
 862: PPUSH
 863: CALL_OW 88
// Say ( MacMillan , D1-JMM-5 ) ;
 867: LD_EXP 2
 871: PPUSH
 872: LD_STRING D1-JMM-5
 874: PPUSH
 875: CALL_OW 88
// Say ( Burlak , D1-Bur-5 ) ;
 879: LD_EXP 3
 883: PPUSH
 884: LD_STRING D1-Bur-5
 886: PPUSH
 887: CALL_OW 88
// Say ( MacMillan , D1-JMM-6 ) ;
 891: LD_EXP 2
 895: PPUSH
 896: LD_STRING D1-JMM-6
 898: PPUSH
 899: CALL_OW 88
// Say ( Burlak , D1-Bur-6 ) ;
 903: LD_EXP 3
 907: PPUSH
 908: LD_STRING D1-Bur-6
 910: PPUSH
 911: CALL_OW 88
// wait ( 20 ) ;
 915: LD_INT 20
 917: PPUSH
 918: CALL_OW 67
// Query ( QTruck ) ;
 922: LD_STRING QTruck
 924: PPUSH
 925: CALL_OW 97
// interface_hidden := false ;
 929: LD_ADDR_OWVAR 54
 933: PUSH
 934: LD_INT 0
 936: ST_TO_ADDR
// DialogueOff ;
 937: CALL_OW 7
// JMM_car := [ ] ;
 941: LD_ADDR_LOC 1
 945: PUSH
 946: EMPTY
 947: ST_TO_ADDR
// Bur_car := [ ] ;
 948: LD_ADDR_LOC 2
 952: PUSH
 953: EMPTY
 954: ST_TO_ADDR
// JMM_load := 0 ;
 955: LD_ADDR_LOC 3
 959: PUSH
 960: LD_INT 0
 962: ST_TO_ADDR
// Bur_load := 0 ;
 963: LD_ADDR_LOC 4
 967: PUSH
 968: LD_INT 0
 970: ST_TO_ADDR
// truck_selected := false ;
 971: LD_ADDR_LOC 5
 975: PUSH
 976: LD_INT 0
 978: ST_TO_ADDR
// masha_on := false ;
 979: LD_ADDR_LOC 6
 983: PUSH
 984: LD_INT 0
 986: ST_TO_ADDR
// ChangeMissionObjectives ( MPickup ) ;
 987: LD_STRING MPickup
 989: PPUSH
 990: CALL_OW 337
// enable ( 1 ) ;
 994: LD_INT 1
 996: ENABLE_MARKED
// SetAreaMapShow ( leaving_border , 1 ) ;
 997: LD_INT 5
 999: PPUSH
1000: LD_INT 1
1002: PPUSH
1003: CALL_OW 424
// end ;
1007: LD_VAR 0 1
1011: RET
// every 0 0$1 trigger IsInArea ( MacMillan , leaving ) marked 1 do var un , go ;
1012: LD_EXP 2
1016: PPUSH
1017: LD_INT 4
1019: PPUSH
1020: CALL_OW 308
1024: IFFALSE 1308
1026: GO 1028
1028: DISABLE
1029: LD_INT 0
1031: PPUSH
1032: PPUSH
// begin go := true ;
1033: LD_ADDR_VAR 0 2
1037: PUSH
1038: LD_INT 1
1040: ST_TO_ADDR
// un := IsInUnit ( MacMillan ) ;
1041: LD_ADDR_VAR 0 1
1045: PUSH
1046: LD_EXP 2
1050: PPUSH
1051: CALL_OW 310
1055: ST_TO_ADDR
// if un and not IsOK ( Burlak ) and not truck_selected and not ( GetWeapon ( un ) in [ us_cargo_bay , ru_cargo_bay ] ) then
1056: LD_VAR 0 1
1060: PUSH
1061: LD_EXP 3
1065: PPUSH
1066: CALL_OW 302
1070: NOT
1071: AND
1072: PUSH
1073: LD_LOC 5
1077: NOT
1078: AND
1079: PUSH
1080: LD_VAR 0 1
1084: PPUSH
1085: CALL_OW 264
1089: PUSH
1090: LD_INT 12
1092: PUSH
1093: LD_INT 51
1095: PUSH
1096: EMPTY
1097: LIST
1098: LIST
1099: IN
1100: NOT
1101: AND
1102: IFFALSE 1112
// go := false ;
1104: LD_ADDR_VAR 0 2
1108: PUSH
1109: LD_INT 0
1111: ST_TO_ADDR
// if un and go then
1112: LD_VAR 0 1
1116: PUSH
1117: LD_VAR 0 2
1121: AND
1122: IFFALSE 1278
// begin RemoveUnit ( MacMillan ) ;
1124: LD_EXP 2
1128: PPUSH
1129: CALL_OW 64
// JMM_car := [ GetChassis ( un ) , GetEngine ( un ) , GetControl ( un ) , GetWeapon ( un ) ] ;
1133: LD_ADDR_LOC 1
1137: PUSH
1138: LD_VAR 0 1
1142: PPUSH
1143: CALL_OW 265
1147: PUSH
1148: LD_VAR 0 1
1152: PPUSH
1153: CALL_OW 262
1157: PUSH
1158: LD_VAR 0 1
1162: PPUSH
1163: CALL_OW 263
1167: PUSH
1168: LD_VAR 0 1
1172: PPUSH
1173: CALL_OW 264
1177: PUSH
1178: EMPTY
1179: LIST
1180: LIST
1181: LIST
1182: LIST
1183: ST_TO_ADDR
// if ( GetWeapon ( un ) in [ us_cargo_bay , ru_cargo_bay ] ) then
1184: LD_VAR 0 1
1188: PPUSH
1189: CALL_OW 264
1193: PUSH
1194: LD_INT 12
1196: PUSH
1197: LD_INT 51
1199: PUSH
1200: EMPTY
1201: LIST
1202: LIST
1203: IN
1204: IFFALSE 1247
// begin if ( GetCargoType ( un ) = mat_oil ) then
1206: LD_VAR 0 1
1210: PPUSH
1211: CALL_OW 288
1215: PUSH
1216: LD_INT 2
1218: EQUAL
1219: IFFALSE 1239
// JMM_load := GetCargo ( un , mat_oil ) ;
1221: LD_ADDR_LOC 3
1225: PUSH
1226: LD_VAR 0 1
1230: PPUSH
1231: LD_INT 2
1233: PPUSH
1234: CALL_OW 289
1238: ST_TO_ADDR
// truck_selected := true ;
1239: LD_ADDR_LOC 5
1243: PUSH
1244: LD_INT 1
1246: ST_TO_ADDR
// end ; if un = Masha then
1247: LD_VAR 0 1
1251: PUSH
1252: LD_EXP 4
1256: EQUAL
1257: IFFALSE 1267
// masha_on := true ;
1259: LD_ADDR_LOC 6
1263: PUSH
1264: LD_INT 1
1266: ST_TO_ADDR
// RemoveUnit ( un ) ;
1267: LD_VAR 0 1
1271: PPUSH
1272: CALL_OW 64
// end else
1276: GO 1307
// begin Query ( QTruck ) ;
1278: LD_STRING QTruck
1280: PPUSH
1281: CALL_OW 97
// repeat wait ( 0 0$1 ) ;
1285: LD_INT 35
1287: PPUSH
1288: CALL_OW 67
// until not IsInArea ( MacMillan , leaving ) ;
1292: LD_EXP 2
1296: PPUSH
1297: LD_INT 4
1299: PPUSH
1300: CALL_OW 308
1304: NOT
1305: IFFALSE 1285
// end ; enable ;
1307: ENABLE
// end ;
1308: PPOPN 2
1310: END
// every 0 0$1 trigger IsInArea ( Burlak , leaving ) marked 1 do var un , go ;
1311: LD_EXP 3
1315: PPUSH
1316: LD_INT 4
1318: PPUSH
1319: CALL_OW 308
1323: IFFALSE 1607
1325: GO 1327
1327: DISABLE
1328: LD_INT 0
1330: PPUSH
1331: PPUSH
// begin go := true ;
1332: LD_ADDR_VAR 0 2
1336: PUSH
1337: LD_INT 1
1339: ST_TO_ADDR
// un := IsInUnit ( Burlak ) ;
1340: LD_ADDR_VAR 0 1
1344: PUSH
1345: LD_EXP 3
1349: PPUSH
1350: CALL_OW 310
1354: ST_TO_ADDR
// if un and not IsOK ( MacMillan ) and not truck_selected and not ( GetWeapon ( un ) in [ us_cargo_bay , ru_cargo_bay ] ) then
1355: LD_VAR 0 1
1359: PUSH
1360: LD_EXP 2
1364: PPUSH
1365: CALL_OW 302
1369: NOT
1370: AND
1371: PUSH
1372: LD_LOC 5
1376: NOT
1377: AND
1378: PUSH
1379: LD_VAR 0 1
1383: PPUSH
1384: CALL_OW 264
1388: PUSH
1389: LD_INT 12
1391: PUSH
1392: LD_INT 51
1394: PUSH
1395: EMPTY
1396: LIST
1397: LIST
1398: IN
1399: NOT
1400: AND
1401: IFFALSE 1411
// go := false ;
1403: LD_ADDR_VAR 0 2
1407: PUSH
1408: LD_INT 0
1410: ST_TO_ADDR
// if un and go then
1411: LD_VAR 0 1
1415: PUSH
1416: LD_VAR 0 2
1420: AND
1421: IFFALSE 1577
// begin RemoveUnit ( Burlak ) ;
1423: LD_EXP 3
1427: PPUSH
1428: CALL_OW 64
// Bur_car := [ GetChassis ( un ) , GetEngine ( un ) , GetControl ( un ) , GetWeapon ( un ) ] ;
1432: LD_ADDR_LOC 2
1436: PUSH
1437: LD_VAR 0 1
1441: PPUSH
1442: CALL_OW 265
1446: PUSH
1447: LD_VAR 0 1
1451: PPUSH
1452: CALL_OW 262
1456: PUSH
1457: LD_VAR 0 1
1461: PPUSH
1462: CALL_OW 263
1466: PUSH
1467: LD_VAR 0 1
1471: PPUSH
1472: CALL_OW 264
1476: PUSH
1477: EMPTY
1478: LIST
1479: LIST
1480: LIST
1481: LIST
1482: ST_TO_ADDR
// if ( GetWeapon ( un ) in [ us_cargo_bay , ru_cargo_bay ] ) then
1483: LD_VAR 0 1
1487: PPUSH
1488: CALL_OW 264
1492: PUSH
1493: LD_INT 12
1495: PUSH
1496: LD_INT 51
1498: PUSH
1499: EMPTY
1500: LIST
1501: LIST
1502: IN
1503: IFFALSE 1546
// begin if ( GetCargoType ( un ) = mat_oil ) then
1505: LD_VAR 0 1
1509: PPUSH
1510: CALL_OW 288
1514: PUSH
1515: LD_INT 2
1517: EQUAL
1518: IFFALSE 1538
// Bur_load := GetCargo ( un , mat_oil ) ;
1520: LD_ADDR_LOC 4
1524: PUSH
1525: LD_VAR 0 1
1529: PPUSH
1530: LD_INT 2
1532: PPUSH
1533: CALL_OW 289
1537: ST_TO_ADDR
// truck_selected := true ;
1538: LD_ADDR_LOC 5
1542: PUSH
1543: LD_INT 1
1545: ST_TO_ADDR
// end ; if un = Masha then
1546: LD_VAR 0 1
1550: PUSH
1551: LD_EXP 4
1555: EQUAL
1556: IFFALSE 1566
// masha_on := true ;
1558: LD_ADDR_LOC 6
1562: PUSH
1563: LD_INT 1
1565: ST_TO_ADDR
// RemoveUnit ( un ) ;
1566: LD_VAR 0 1
1570: PPUSH
1571: CALL_OW 64
// end else
1575: GO 1606
// begin Query ( QTruck ) ;
1577: LD_STRING QTruck
1579: PPUSH
1580: CALL_OW 97
// repeat wait ( 0 0$1 ) ;
1584: LD_INT 35
1586: PPUSH
1587: CALL_OW 67
// until not IsInArea ( Burlak , leaving ) ;
1591: LD_EXP 3
1595: PPUSH
1596: LD_INT 4
1598: PPUSH
1599: CALL_OW 308
1603: NOT
1604: IFFALSE 1584
// end ; enable ;
1606: ENABLE
// end ;
1607: PPOPN 2
1609: END
// every 0 0$1 trigger not ( IsOK ( MacMillan ) or IsOK ( Burlak ) ) do
1610: LD_EXP 2
1614: PPUSH
1615: CALL_OW 302
1619: PUSH
1620: LD_EXP 3
1624: PPUSH
1625: CALL_OW 302
1629: OR
1630: NOT
1631: IFFALSE 1738
1633: GO 1635
1635: DISABLE
// begin SaveCharacters ( MacMillan , JMM ) ;
1636: LD_EXP 2
1640: PPUSH
1641: LD_STRING JMM
1643: PPUSH
1644: CALL_OW 38
// SaveCharacters ( Burlak , Burlak ) ;
1648: LD_EXP 3
1652: PPUSH
1653: LD_STRING Burlak
1655: PPUSH
1656: CALL_OW 38
// SaveVariable ( JMM_car , JMM_car ) ;
1660: LD_LOC 1
1664: PPUSH
1665: LD_STRING JMM_car
1667: PPUSH
1668: CALL_OW 39
// SaveVariable ( Bur_car , Bur_car ) ;
1672: LD_LOC 2
1676: PPUSH
1677: LD_STRING Bur_car
1679: PPUSH
1680: CALL_OW 39
// SaveVariable ( JMM_load , JMM_car_load ) ;
1684: LD_LOC 3
1688: PPUSH
1689: LD_STRING JMM_car_load
1691: PPUSH
1692: CALL_OW 39
// SaveVariable ( Bur_load , Bur_car_load ) ;
1696: LD_LOC 4
1700: PPUSH
1701: LD_STRING Bur_car_load
1703: PPUSH
1704: CALL_OW 39
// if ( not masha_on ) and Masha then
1708: LD_LOC 6
1712: NOT
1713: PUSH
1714: LD_EXP 4
1718: AND
1719: IFFALSE 1728
// DeleteVariable ( Masha ) ;
1721: LD_STRING Masha
1723: PPUSH
1724: CALL_OW 41
// ChangeMap ( %_cont , %_cont ) ;
1728: LD_STRING %_cont
1730: PPUSH
1731: LD_STRING %_cont
1733: PPUSH
1734: CALL_OW 340
// end ; end_of_file
1738: END
// var vehicle_list ; export function add_new_vehicles ; var vehicle , un ; begin
1739: LD_INT 0
1741: PPUSH
1742: PPUSH
1743: PPUSH
// vehicle_list := [ [ ru_medium_wheeled , engine_combustion , control_manual , ru_cargo_bay ] , [ ru_medium_wheeled , engine_combustion , control_manual , ru_gun ] , [ us_medium_tracked , engine_siberite , control_manual , us_cargo_bay ] , [ ru_medium_tracked , engine_siberite , control_manual , ru_gatling_gun ] , [ ru_medium_tracked , engine_combustion , control_manual , ru_rocket_launcher ] , [ ru_heavy_wheeled , engine_siberite , control_manual , ru_rocket_launcher ] , [ us_heavy_tracked , engine_siberite , control_manual , us_bulldozer ] , [ ru_heavy_tracked , engine_combustion , control_manual , ru_heavy_gun ] , ] ;
1744: LD_ADDR_LOC 7
1748: PUSH
1749: LD_INT 21
1751: PUSH
1752: LD_INT 1
1754: PUSH
1755: LD_INT 1
1757: PUSH
1758: LD_INT 51
1760: PUSH
1761: EMPTY
1762: LIST
1763: LIST
1764: LIST
1765: LIST
1766: PUSH
1767: LD_INT 21
1769: PUSH
1770: LD_INT 1
1772: PUSH
1773: LD_INT 1
1775: PUSH
1776: LD_INT 44
1778: PUSH
1779: EMPTY
1780: LIST
1781: LIST
1782: LIST
1783: LIST
1784: PUSH
1785: LD_INT 3
1787: PUSH
1788: LD_INT 3
1790: PUSH
1791: LD_INT 1
1793: PUSH
1794: LD_INT 12
1796: PUSH
1797: EMPTY
1798: LIST
1799: LIST
1800: LIST
1801: LIST
1802: PUSH
1803: LD_INT 22
1805: PUSH
1806: LD_INT 3
1808: PUSH
1809: LD_INT 1
1811: PUSH
1812: LD_INT 43
1814: PUSH
1815: EMPTY
1816: LIST
1817: LIST
1818: LIST
1819: LIST
1820: PUSH
1821: LD_INT 22
1823: PUSH
1824: LD_INT 1
1826: PUSH
1827: LD_INT 1
1829: PUSH
1830: LD_INT 45
1832: PUSH
1833: EMPTY
1834: LIST
1835: LIST
1836: LIST
1837: LIST
1838: PUSH
1839: LD_INT 23
1841: PUSH
1842: LD_INT 3
1844: PUSH
1845: LD_INT 1
1847: PUSH
1848: LD_INT 45
1850: PUSH
1851: EMPTY
1852: LIST
1853: LIST
1854: LIST
1855: LIST
1856: PUSH
1857: LD_INT 4
1859: PUSH
1860: LD_INT 3
1862: PUSH
1863: LD_INT 1
1865: PUSH
1866: LD_INT 14
1868: PUSH
1869: EMPTY
1870: LIST
1871: LIST
1872: LIST
1873: LIST
1874: PUSH
1875: LD_INT 24
1877: PUSH
1878: LD_INT 1
1880: PUSH
1881: LD_INT 1
1883: PUSH
1884: LD_INT 46
1886: PUSH
1887: EMPTY
1888: LIST
1889: LIST
1890: LIST
1891: LIST
1892: PUSH
1893: EMPTY
1894: LIST
1895: LIST
1896: LIST
1897: LIST
1898: LIST
1899: LIST
1900: LIST
1901: LIST
1902: ST_TO_ADDR
// uc_side := you ;
1903: LD_ADDR_OWVAR 20
1907: PUSH
1908: LD_EXP 1
1912: ST_TO_ADDR
// for vehicle in vehicle_list do
1913: LD_ADDR_VAR 0 2
1917: PUSH
1918: LD_LOC 7
1922: PUSH
1923: FOR_IN
1924: IFFALSE 2085
// begin if vehicle [ 1 ] in [ ru_medium_wheeled , ru_medium_tracked , ru_heavy_wheeled , ru_heavy_tracked ] then
1926: LD_VAR 0 2
1930: PUSH
1931: LD_INT 1
1933: ARRAY
1934: PUSH
1935: LD_INT 21
1937: PUSH
1938: LD_INT 22
1940: PUSH
1941: LD_INT 23
1943: PUSH
1944: LD_INT 24
1946: PUSH
1947: EMPTY
1948: LIST
1949: LIST
1950: LIST
1951: LIST
1952: IN
1953: IFFALSE 1965
// uc_nation := nation_russian else
1955: LD_ADDR_OWVAR 21
1959: PUSH
1960: LD_INT 3
1962: ST_TO_ADDR
1963: GO 1973
// uc_nation := nation_american ;
1965: LD_ADDR_OWVAR 21
1969: PUSH
1970: LD_INT 1
1972: ST_TO_ADDR
// uc_direction := Rand ( 0 , 5 ) ;
1973: LD_ADDR_OWVAR 24
1977: PUSH
1978: LD_INT 0
1980: PPUSH
1981: LD_INT 5
1983: PPUSH
1984: CALL_OW 12
1988: ST_TO_ADDR
// vc_chassis := vehicle [ 1 ] ;
1989: LD_ADDR_OWVAR 37
1993: PUSH
1994: LD_VAR 0 2
1998: PUSH
1999: LD_INT 1
2001: ARRAY
2002: ST_TO_ADDR
// vc_engine := [ engine_combustion , engine_siberite ] [ Rand ( 1 , 2 ) ] ;
2003: LD_ADDR_OWVAR 39
2007: PUSH
2008: LD_INT 1
2010: PUSH
2011: LD_INT 3
2013: PUSH
2014: EMPTY
2015: LIST
2016: LIST
2017: PUSH
2018: LD_INT 1
2020: PPUSH
2021: LD_INT 2
2023: PPUSH
2024: CALL_OW 12
2028: ARRAY
2029: ST_TO_ADDR
// vc_control := vehicle [ 3 ] ;
2030: LD_ADDR_OWVAR 38
2034: PUSH
2035: LD_VAR 0 2
2039: PUSH
2040: LD_INT 3
2042: ARRAY
2043: ST_TO_ADDR
// vc_weapon := vehicle [ 4 ] ;
2044: LD_ADDR_OWVAR 40
2048: PUSH
2049: LD_VAR 0 2
2053: PUSH
2054: LD_INT 4
2056: ARRAY
2057: ST_TO_ADDR
// un := CreateVehicle ;
2058: LD_ADDR_VAR 0 3
2062: PUSH
2063: CALL_OW 45
2067: ST_TO_ADDR
// PlaceUnitArea ( un , base , false ) ;
2068: LD_VAR 0 3
2072: PPUSH
2073: LD_INT 3
2075: PPUSH
2076: LD_INT 0
2078: PPUSH
2079: CALL_OW 49
// end ;
2083: GO 1923
2085: POP
2086: POP
// end ; end_of_file
2087: LD_VAR 0 1
2091: RET
// on UnitDestroyed ( un ) do begin if un = MacMillan then
2092: LD_VAR 0 1
2096: PUSH
2097: LD_EXP 2
2101: EQUAL
2102: IFFALSE 2111
// Mission_Failed ( 1 ) ;
2104: LD_INT 1
2106: PPUSH
2107: CALL 2133 0 1
// if un = Burlak then
2111: LD_VAR 0 1
2115: PUSH
2116: LD_EXP 3
2120: EQUAL
2121: IFFALSE 2130
// Mission_Failed ( 2 ) end ;
2123: LD_INT 2
2125: PPUSH
2126: CALL 2133 0 1
2130: PPOPN 1
2132: END
// function Mission_Failed ( un ) ; begin
2133: LD_INT 0
2135: PPUSH
// case un of 1 :
2136: LD_VAR 0 1
2140: PUSH
2141: LD_INT 1
2143: DOUBLE
2144: EQUAL
2145: IFTRUE 2149
2147: GO 2159
2149: POP
// YouLost ( JMM ) ; 2 :
2150: LD_STRING JMM
2152: PPUSH
2153: CALL_OW 104
2157: GO 2178
2159: LD_INT 2
2161: DOUBLE
2162: EQUAL
2163: IFTRUE 2167
2165: GO 2177
2167: POP
// YouLost ( Burlak ) ; end ;
2168: LD_STRING Burlak
2170: PPUSH
2171: CALL_OW 104
2175: GO 2178
2177: POP
// end ; end_of_file
2178: LD_VAR 0 2
2182: RET
// every 0 0$2 trigger GetClass ( MacMillan ) <> class_engineer do
2183: LD_EXP 2
2187: PPUSH
2188: CALL_OW 257
2192: PUSH
2193: LD_INT 2
2195: NONEQUAL
2196: IFFALSE 2206
2198: GO 2200
2200: DISABLE
// begin MacMillan_To_Engineer ;
2201: CALL 2207 0 0
// enable ;
2205: ENABLE
// end ;
2206: END
// function MacMillan_To_Engineer ; var depot ; begin
2207: LD_INT 0
2209: PPUSH
2210: PPUSH
// depot := FilterAllUnits ( [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ) ;
2211: LD_ADDR_VAR 0 2
2215: PUSH
2216: LD_INT 2
2218: PUSH
2219: LD_INT 30
2221: PUSH
2222: LD_INT 0
2224: PUSH
2225: EMPTY
2226: LIST
2227: LIST
2228: PUSH
2229: LD_INT 30
2231: PUSH
2232: LD_INT 1
2234: PUSH
2235: EMPTY
2236: LIST
2237: LIST
2238: PUSH
2239: EMPTY
2240: LIST
2241: LIST
2242: LIST
2243: PPUSH
2244: CALL_OW 69
2248: ST_TO_ADDR
// if depot then
2249: LD_VAR 0 2
2253: IFFALSE 2382
// begin depot := depot [ 1 ] ;
2255: LD_ADDR_VAR 0 2
2259: PUSH
2260: LD_VAR 0 2
2264: PUSH
2265: LD_INT 1
2267: ARRAY
2268: ST_TO_ADDR
// InGameOn ;
2269: CALL_OW 8
// if IsInUnit ( MacMillan ) then
2273: LD_EXP 2
2277: PPUSH
2278: CALL_OW 310
2282: IFFALSE 2293
// ComExitBuilding ( MacMillan ) ;
2284: LD_EXP 2
2288: PPUSH
2289: CALL_OW 122
// while GetClass ( MacMillan ) <> class_engineer do
2293: LD_EXP 2
2297: PPUSH
2298: CALL_OW 257
2302: PUSH
2303: LD_INT 2
2305: NONEQUAL
2306: IFFALSE 2378
// begin CenterOnUnits ( MacMillan ) ;
2308: LD_EXP 2
2312: PPUSH
2313: CALL_OW 85
// ComEnterUnit ( MacMillan , depot ) ;
2317: LD_EXP 2
2321: PPUSH
2322: LD_VAR 0 2
2326: PPUSH
2327: CALL_OW 120
// if IsInUnit ( MacMillan ) = depot then
2331: LD_EXP 2
2335: PPUSH
2336: CALL_OW 310
2340: PUSH
2341: LD_VAR 0 2
2345: EQUAL
2346: IFFALSE 2369
// begin ComChangeProfession ( MacMillan , class_engineer ) ;
2348: LD_EXP 2
2352: PPUSH
2353: LD_INT 2
2355: PPUSH
2356: CALL_OW 123
// AddComExitBuilding ( MacMillan ) ;
2360: LD_EXP 2
2364: PPUSH
2365: CALL_OW 182
// end ; wait ( 0 0$1 ) ;
2369: LD_INT 35
2371: PPUSH
2372: CALL_OW 67
// end ;
2376: GO 2293
// InGameOff ;
2378: CALL_OW 9
// end ; enable ;
2382: ENABLE
// end ;
2383: LD_VAR 0 1
2387: RET
// every 0 0$2 trigger GetClass ( Burlak ) <> class_mechanic do var factory ;
2388: LD_EXP 3
2392: PPUSH
2393: CALL_OW 257
2397: PUSH
2398: LD_INT 3
2400: NONEQUAL
2401: IFFALSE 2581
2403: GO 2405
2405: DISABLE
2406: LD_INT 0
2408: PPUSH
// begin factory := FilterAllUnits ( [ f_or , [ f_btype , b_workshop ] , [ f_btype , b_factory ] ] ) ;
2409: LD_ADDR_VAR 0 1
2413: PUSH
2414: LD_INT 2
2416: PUSH
2417: LD_INT 30
2419: PUSH
2420: LD_INT 2
2422: PUSH
2423: EMPTY
2424: LIST
2425: LIST
2426: PUSH
2427: LD_INT 30
2429: PUSH
2430: LD_INT 3
2432: PUSH
2433: EMPTY
2434: LIST
2435: LIST
2436: PUSH
2437: EMPTY
2438: LIST
2439: LIST
2440: LIST
2441: PPUSH
2442: CALL_OW 69
2446: ST_TO_ADDR
// if factory then
2447: LD_VAR 0 1
2451: IFFALSE 2580
// begin factory := factory [ 1 ] ;
2453: LD_ADDR_VAR 0 1
2457: PUSH
2458: LD_VAR 0 1
2462: PUSH
2463: LD_INT 1
2465: ARRAY
2466: ST_TO_ADDR
// InGameOn ;
2467: CALL_OW 8
// if IsInUnit ( Burlak ) then
2471: LD_EXP 3
2475: PPUSH
2476: CALL_OW 310
2480: IFFALSE 2491
// ComExitBuilding ( Burlak ) ;
2482: LD_EXP 3
2486: PPUSH
2487: CALL_OW 122
// while GetClass ( Burlak ) <> class_mechanic do
2491: LD_EXP 3
2495: PPUSH
2496: CALL_OW 257
2500: PUSH
2501: LD_INT 3
2503: NONEQUAL
2504: IFFALSE 2576
// begin CenterOnUnits ( Burlak ) ;
2506: LD_EXP 3
2510: PPUSH
2511: CALL_OW 85
// ComEnterUnit ( Burlak , factory ) ;
2515: LD_EXP 3
2519: PPUSH
2520: LD_VAR 0 1
2524: PPUSH
2525: CALL_OW 120
// if IsInUnit ( Burlak ) = factory then
2529: LD_EXP 3
2533: PPUSH
2534: CALL_OW 310
2538: PUSH
2539: LD_VAR 0 1
2543: EQUAL
2544: IFFALSE 2567
// begin ComChangeProfession ( Burlak , class_mechanic ) ;
2546: LD_EXP 3
2550: PPUSH
2551: LD_INT 3
2553: PPUSH
2554: CALL_OW 123
// AddComExitBuilding ( Burlak ) ;
2558: LD_EXP 3
2562: PPUSH
2563: CALL_OW 182
// end ; wait ( 0 0$1 ) ;
2567: LD_INT 35
2569: PPUSH
2570: CALL_OW 67
// end ;
2574: GO 2491
// InGameOff ;
2576: CALL_OW 9
// end ; enable ;
2580: ENABLE
// end ;
2581: PPOPN 1
2583: END
// every 0 0$2 do var build ;
2584: GO 2586
2586: DISABLE
2587: LD_INT 0
2589: PPUSH
// begin build := FilterAllUnits ( [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ) ;
2590: LD_ADDR_VAR 0 1
2594: PUSH
2595: LD_INT 2
2597: PUSH
2598: LD_INT 30
2600: PUSH
2601: LD_INT 0
2603: PUSH
2604: EMPTY
2605: LIST
2606: LIST
2607: PUSH
2608: LD_INT 30
2610: PUSH
2611: LD_INT 1
2613: PUSH
2614: EMPTY
2615: LIST
2616: LIST
2617: PUSH
2618: EMPTY
2619: LIST
2620: LIST
2621: LIST
2622: PPUSH
2623: CALL_OW 69
2627: ST_TO_ADDR
// if build then
2628: LD_VAR 0 1
2632: IFFALSE 2762
// begin build := build [ 1 ] ;
2634: LD_ADDR_VAR 0 1
2638: PUSH
2639: LD_VAR 0 1
2643: PUSH
2644: LD_INT 1
2646: ARRAY
2647: ST_TO_ADDR
// if GetLives ( build ) < 800 then
2648: LD_VAR 0 1
2652: PPUSH
2653: CALL_OW 256
2657: PUSH
2658: LD_INT 800
2660: LESS
2661: IFFALSE 2762
// begin ComExitVehicle ( [ Burlak , MacMillan ] ) ;
2663: LD_EXP 3
2667: PUSH
2668: LD_EXP 2
2672: PUSH
2673: EMPTY
2674: LIST
2675: LIST
2676: PPUSH
2677: CALL_OW 121
// interface_hidden := true ;
2681: LD_ADDR_OWVAR 54
2685: PUSH
2686: LD_INT 1
2688: ST_TO_ADDR
// if GetClass ( MacMillan ) <> class_engineer then
2689: LD_EXP 2
2693: PPUSH
2694: CALL_OW 257
2698: PUSH
2699: LD_INT 2
2701: NONEQUAL
2702: IFFALSE 2708
// MacMillan_To_Engineer ;
2704: CALL 2207 0 0
// InGameOn ;
2708: CALL_OW 8
// while GetLives ( build ) < 1000 do
2712: LD_VAR 0 1
2716: PPUSH
2717: CALL_OW 256
2721: PUSH
2722: LD_INT 1000
2724: LESS
2725: IFFALSE 2750
// begin ComRepairBuilding ( MacMillan , build ) ;
2727: LD_EXP 2
2731: PPUSH
2732: LD_VAR 0 1
2736: PPUSH
2737: CALL_OW 130
// wait ( 0 0$1 ) ;
2741: LD_INT 35
2743: PPUSH
2744: CALL_OW 67
// end ;
2748: GO 2712
// InGameOff ;
2750: CALL_OW 9
// interface_hidden := false ;
2754: LD_ADDR_OWVAR 54
2758: PUSH
2759: LD_INT 0
2761: ST_TO_ADDR
// end ; end ; build := FilterAllUnits ( [ f_or , [ f_btype , b_workshop ] , [ f_btype , b_factory ] ] ) ;
2762: LD_ADDR_VAR 0 1
2766: PUSH
2767: LD_INT 2
2769: PUSH
2770: LD_INT 30
2772: PUSH
2773: LD_INT 2
2775: PUSH
2776: EMPTY
2777: LIST
2778: LIST
2779: PUSH
2780: LD_INT 30
2782: PUSH
2783: LD_INT 3
2785: PUSH
2786: EMPTY
2787: LIST
2788: LIST
2789: PUSH
2790: EMPTY
2791: LIST
2792: LIST
2793: LIST
2794: PPUSH
2795: CALL_OW 69
2799: ST_TO_ADDR
// if build then
2800: LD_VAR 0 1
2804: IFFALSE 2934
// begin build := build [ 1 ] ;
2806: LD_ADDR_VAR 0 1
2810: PUSH
2811: LD_VAR 0 1
2815: PUSH
2816: LD_INT 1
2818: ARRAY
2819: ST_TO_ADDR
// if GetLives ( build ) < 800 then
2820: LD_VAR 0 1
2824: PPUSH
2825: CALL_OW 256
2829: PUSH
2830: LD_INT 800
2832: LESS
2833: IFFALSE 2934
// begin ComExitVehicle ( [ Burlak , MacMillan ] ) ;
2835: LD_EXP 3
2839: PUSH
2840: LD_EXP 2
2844: PUSH
2845: EMPTY
2846: LIST
2847: LIST
2848: PPUSH
2849: CALL_OW 121
// interface_hidden := true ;
2853: LD_ADDR_OWVAR 54
2857: PUSH
2858: LD_INT 1
2860: ST_TO_ADDR
// if GetClass ( MacMillan ) <> class_engineer then
2861: LD_EXP 2
2865: PPUSH
2866: CALL_OW 257
2870: PUSH
2871: LD_INT 2
2873: NONEQUAL
2874: IFFALSE 2880
// MacMillan_To_Engineer ;
2876: CALL 2207 0 0
// InGameOn ;
2880: CALL_OW 8
// while GetLives ( build ) < 1000 do
2884: LD_VAR 0 1
2888: PPUSH
2889: CALL_OW 256
2893: PUSH
2894: LD_INT 1000
2896: LESS
2897: IFFALSE 2922
// begin ComRepairBuilding ( MacMillan , build ) ;
2899: LD_EXP 2
2903: PPUSH
2904: LD_VAR 0 1
2908: PPUSH
2909: CALL_OW 130
// wait ( 0 0$1 ) ;
2913: LD_INT 35
2915: PPUSH
2916: CALL_OW 67
// end ;
2920: GO 2884
// InGameOff ;
2922: CALL_OW 9
// interface_hidden := false ;
2926: LD_ADDR_OWVAR 54
2930: PUSH
2931: LD_INT 0
2933: ST_TO_ADDR
// end ; end ; enable ;
2934: ENABLE
// end ;
2935: PPOPN 1
2937: END
