// starting begin exp ;
   0: CALL 855 0 0
// cby ;
   4: CALL 1060 0 0
// SaveForQuickRestart ;
   8: CALL_OW 22
// RemoveUnit ( A1 ) ;
  12: LD_EXP 1
  16: PPUSH
  17: CALL_OW 64
// RemoveUnit ( D ) ;
  21: LD_EXP 6
  25: PPUSH
  26: CALL_OW 64
// RemoveUnit ( AM ) ;
  30: LD_EXP 4
  34: PPUSH
  35: CALL_OW 64
// RemoveUnit ( K ) ;
  39: LD_EXP 7
  43: PPUSH
  44: CALL_OW 64
// RemoveUnit ( M ) ;
  48: LD_EXP 3
  52: PPUSH
  53: CALL_OW 64
// RemoveUnit ( by ) ;
  57: LD_EXP 8
  61: PPUSH
  62: CALL_OW 64
// resetfog ;
  66: CALL_OW 335
// Ingameon ;
  70: CALL_OW 8
// CenteronUnits ( J1 ) ;
  74: LD_EXP 2
  78: PPUSH
  79: CALL_OW 85
// Dialogueon ;
  83: CALL_OW 6
// Say ( J1 , J1 ) ;
  87: LD_EXP 2
  91: PPUSH
  92: LD_STRING J1
  94: PPUSH
  95: CALL_OW 88
// Say ( KI , Kim1 ) ;
  99: LD_EXP 5
 103: PPUSH
 104: LD_STRING Kim1
 106: PPUSH
 107: CALL_OW 88
// Say ( J1 , J2 ) ;
 111: LD_EXP 2
 115: PPUSH
 116: LD_STRING J2
 118: PPUSH
 119: CALL_OW 88
// Say ( KI , Kim2 ) ;
 123: LD_EXP 5
 127: PPUSH
 128: LD_STRING Kim2
 130: PPUSH
 131: CALL_OW 88
// Say ( J1 , J3 ) ;
 135: LD_EXP 2
 139: PPUSH
 140: LD_STRING J3
 142: PPUSH
 143: CALL_OW 88
// Say ( KI , Kim3 ) ;
 147: LD_EXP 5
 151: PPUSH
 152: LD_STRING Kim3
 154: PPUSH
 155: CALL_OW 88
// Say ( KI , Kim4 ) ;
 159: LD_EXP 5
 163: PPUSH
 164: LD_STRING Kim4
 166: PPUSH
 167: CALL_OW 88
// Say ( J1 , J4 ) ;
 171: LD_EXP 2
 175: PPUSH
 176: LD_STRING J4
 178: PPUSH
 179: CALL_OW 88
// Dialogueoff ;
 183: CALL_OW 7
// comagressivemove ( [ D1 ] , 37 , 51 ) ;
 187: LD_INT 100
 189: PUSH
 190: EMPTY
 191: LIST
 192: PPUSH
 193: LD_INT 37
 195: PPUSH
 196: LD_INT 51
 198: PPUSH
 199: CALL_OW 114
// comagressivemove ( [ KK ] , 37 , 51 ) ;
 203: LD_INT 102
 205: PUSH
 206: EMPTY
 207: LIST
 208: PPUSH
 209: LD_INT 37
 211: PPUSH
 212: LD_INT 51
 214: PPUSH
 215: CALL_OW 114
// wait ( 0 0$5 ) ;
 219: LD_INT 175
 221: PPUSH
 222: CALL_OW 67
// Dialogueon ;
 226: CALL_OW 6
// Say ( D1 , Dimitrij1 ) ;
 230: LD_INT 100
 232: PPUSH
 233: LD_STRING Dimitrij1
 235: PPUSH
 236: CALL_OW 88
// Say ( KK , Kozik1 ) ;
 240: LD_INT 102
 242: PPUSH
 243: LD_STRING Kozik1
 245: PPUSH
 246: CALL_OW 88
// Say ( D1 , Dimitrij2 ) ;
 250: LD_INT 100
 252: PPUSH
 253: LD_STRING Dimitrij2
 255: PPUSH
 256: CALL_OW 88
// Say ( KK , Kozik2 ) ;
 260: LD_INT 102
 262: PPUSH
 263: LD_STRING Kozik2
 265: PPUSH
 266: CALL_OW 88
// Dialogueoff ;
 270: CALL_OW 7
// comagressivemove ( [ D1 ] , 63 , 56 ) ;
 274: LD_INT 100
 276: PUSH
 277: EMPTY
 278: LIST
 279: PPUSH
 280: LD_INT 63
 282: PPUSH
 283: LD_INT 56
 285: PPUSH
 286: CALL_OW 114
// comagressivemove ( [ KK ] , 63 , 56 ) ;
 290: LD_INT 102
 292: PUSH
 293: EMPTY
 294: LIST
 295: PPUSH
 296: LD_INT 63
 298: PPUSH
 299: LD_INT 56
 301: PPUSH
 302: CALL_OW 114
// Ingameoff ;
 306: CALL_OW 9
// SayRadio ( by , Ken1 ) ;
 310: LD_EXP 8
 314: PPUSH
 315: LD_STRING Ken1
 317: PPUSH
 318: CALL_OW 94
// wait ( 0 0$1 ) ;
 322: LD_INT 35
 324: PPUSH
 325: CALL_OW 67
// Say ( KI , Kimiko5 ) ;
 329: LD_EXP 5
 333: PPUSH
 334: LD_STRING Kimiko5
 336: PPUSH
 337: CALL_OW 88
// wait ( 0 0$1 ) ;
 341: LD_INT 35
 343: PPUSH
 344: CALL_OW 67
// SayRadio ( by , Ken2 ) ;
 348: LD_EXP 8
 352: PPUSH
 353: LD_STRING Ken2
 355: PPUSH
 356: CALL_OW 94
// Say ( KI , Kimiko6 ) ;
 360: LD_EXP 5
 364: PPUSH
 365: LD_STRING Kimiko6
 367: PPUSH
 368: CALL_OW 88
// SayRadio ( by , Ken3 ) ;
 372: LD_EXP 8
 376: PPUSH
 377: LD_STRING Ken3
 379: PPUSH
 380: CALL_OW 94
// Say ( KI , Kimiko7 ) ;
 384: LD_EXP 5
 388: PPUSH
 389: LD_STRING Kimiko7
 391: PPUSH
 392: CALL_OW 88
// SayRadio ( by , Ken4 ) ;
 396: LD_EXP 8
 400: PPUSH
 401: LD_STRING Ken4
 403: PPUSH
 404: CALL_OW 94
// wait ( 0 0$2 ) ;
 408: LD_INT 70
 410: PPUSH
 411: CALL_OW 67
// Say ( J1 , J5 ) ;
 415: LD_EXP 2
 419: PPUSH
 420: LD_STRING J5
 422: PPUSH
 423: CALL_OW 88
// SayRadio ( by , Ken5 ) ;
 427: LD_EXP 8
 431: PPUSH
 432: LD_STRING Ken5
 434: PPUSH
 435: CALL_OW 94
// SayRadio ( by , Ken6 ) ;
 439: LD_EXP 8
 443: PPUSH
 444: LD_STRING Ken6
 446: PPUSH
 447: CALL_OW 94
// ChangeMissionObjectives ( CEL1 ) ;
 451: LD_STRING CEL1
 453: PPUSH
 454: CALL_OW 337
// SetAreaMapShow ( Ending , 1 ) ;
 458: LD_INT 10
 460: PPUSH
 461: LD_INT 1
 463: PPUSH
 464: CALL_OW 424
// comagressivemove ( [ D1 ] , 42 , 17 ) ;
 468: LD_INT 100
 470: PUSH
 471: EMPTY
 472: LIST
 473: PPUSH
 474: LD_INT 42
 476: PPUSH
 477: LD_INT 17
 479: PPUSH
 480: CALL_OW 114
// comagressivemove ( [ KK ] , 42 , 17 ) ;
 484: LD_INT 102
 486: PUSH
 487: EMPTY
 488: LIST
 489: PPUSH
 490: LD_INT 42
 492: PPUSH
 493: LD_INT 17
 495: PPUSH
 496: CALL_OW 114
// wait ( 0 0$5 ) ;
 500: LD_INT 175
 502: PPUSH
 503: CALL_OW 67
// ComEnterUnit ( KK , b1 ) ;
 507: LD_INT 102
 509: PPUSH
 510: LD_INT 108
 512: PPUSH
 513: CALL_OW 120
// ComEnterUnit ( D1 , b2 ) ;
 517: LD_INT 100
 519: PPUSH
 520: LD_INT 110
 522: PPUSH
 523: CALL_OW 120
// end ; end_of_file
 527: END
// every 0 0$01 trigger IsInArea ( J1 , Area54 ) do
 528: LD_EXP 2
 532: PPUSH
 533: LD_INT 9
 535: PPUSH
 536: CALL_OW 308
 540: IFFALSE 610
 542: GO 544
 544: DISABLE
// begin Dialogueon ;
 545: CALL_OW 6
// Say ( FM , onierz1(1) ) ;
 549: LD_INT 104
 551: PPUSH
 552: LD_STRING onierz1(1)
 554: PPUSH
 555: CALL_OW 88
// Say ( J1 , J6 ) ;
 559: LD_EXP 2
 563: PPUSH
 564: LD_STRING J6
 566: PPUSH
 567: CALL_OW 88
// Say ( FM , olnierz2(1) ) ;
 571: LD_INT 104
 573: PPUSH
 574: LD_STRING olnierz2(1)
 576: PPUSH
 577: CALL_OW 88
// Say ( J1 , J7 ) ;
 581: LD_EXP 2
 585: PPUSH
 586: LD_STRING J7
 588: PPUSH
 589: CALL_OW 88
// Dialogueoff ;
 593: CALL_OW 7
// setside ( [ FM ] , 5 ) ;
 597: LD_INT 104
 599: PUSH
 600: EMPTY
 601: LIST
 602: PPUSH
 603: LD_INT 5
 605: PPUSH
 606: CALL_OW 235
// end ;
 610: END
// every 0 0$01 trigger IsInArea ( J1 , Area53 ) do
 611: LD_EXP 2
 615: PPUSH
 616: LD_INT 8
 618: PPUSH
 619: CALL_OW 308
 623: IFFALSE 693
 625: GO 627
 627: DISABLE
// begin Dialogueon ;
 628: CALL_OW 6
// Say ( OS , onierz3(2) ) ;
 632: LD_INT 106
 634: PPUSH
 635: LD_STRING onierz3(2)
 637: PPUSH
 638: CALL_OW 88
// Say ( J1 , J8 ) ;
 642: LD_EXP 2
 646: PPUSH
 647: LD_STRING J8
 649: PPUSH
 650: CALL_OW 88
// Say ( OS , Skowyt1 ) ;
 654: LD_INT 106
 656: PPUSH
 657: LD_STRING Skowyt1
 659: PPUSH
 660: CALL_OW 88
// Say ( J1 , J9 ) ;
 664: LD_EXP 2
 668: PPUSH
 669: LD_STRING J9
 671: PPUSH
 672: CALL_OW 88
// Dialogueoff ;
 676: CALL_OW 7
// setside ( [ OS ] , 5 ) ;
 680: LD_INT 106
 682: PUSH
 683: EMPTY
 684: LIST
 685: PPUSH
 686: LD_INT 5
 688: PPUSH
 689: CALL_OW 235
// end ;
 693: END
// every 0 0$01 trigger IsInArea ( FM , Ending ) do
 694: LD_INT 104
 696: PPUSH
 697: LD_INT 10
 699: PPUSH
 700: CALL_OW 308
 704: IFFALSE 854
 706: GO 708
 708: DISABLE
// begin Dialogueon ;
 709: CALL_OW 6
// Say ( J1 , J10 ) ;
 713: LD_EXP 2
 717: PPUSH
 718: LD_STRING J10
 720: PPUSH
 721: CALL_OW 88
// Dialogueoff ;
 725: CALL_OW 7
// SaveCharacters ( A1 , A1 ) ;
 729: LD_EXP 1
 733: PPUSH
 734: LD_STRING A1
 736: PPUSH
 737: CALL_OW 38
// SaveCharacters ( J1 , J1 ) ;
 741: LD_EXP 2
 745: PPUSH
 746: LD_STRING J1
 748: PPUSH
 749: CALL_OW 38
// SaveCharacters ( AM , AM ) ;
 753: LD_EXP 4
 757: PPUSH
 758: LD_STRING AM
 760: PPUSH
 761: CALL_OW 38
// SaveCharacters ( D , D ) ;
 765: LD_EXP 6
 769: PPUSH
 770: LD_STRING D
 772: PPUSH
 773: CALL_OW 38
// SaveCharacters ( K , K ) ;
 777: LD_EXP 7
 781: PPUSH
 782: LD_STRING K
 784: PPUSH
 785: CALL_OW 38
// SaveCharacters ( M , M ) ;
 789: LD_EXP 3
 793: PPUSH
 794: LD_STRING M
 796: PPUSH
 797: CALL_OW 38
// SaveCharacters ( KI , KI ) ;
 801: LD_EXP 5
 805: PPUSH
 806: LD_STRING KI
 808: PPUSH
 809: CALL_OW 38
// AddMedal ( medal1 , 1 ) ;
 813: LD_STRING medal1
 815: PPUSH
 816: LD_INT 1
 818: PPUSH
 819: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
 823: LD_STRING medal2
 825: PPUSH
 826: LD_INT 1
 828: PPUSH
 829: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
 833: LD_STRING medal3
 835: PPUSH
 836: LD_INT 1
 838: PPUSH
 839: CALL_OW 101
// GiveMedals ( Main ) ;
 843: LD_STRING Main
 845: PPUSH
 846: CALL_OW 102
// YouWin ;
 850: CALL_OW 103
// end ; end_of_file
 854: END
// export A1 , J1 , M , AM , KI , D , K ; export function exp ; begin
 855: LD_INT 0
 857: PPUSH
// uc_side = 5 ;
 858: LD_ADDR_OWVAR 20
 862: PUSH
 863: LD_INT 5
 865: ST_TO_ADDR
// uc_nation = 2 ;
 866: LD_ADDR_OWVAR 21
 870: PUSH
 871: LD_INT 2
 873: ST_TO_ADDR
// A1 := CreateCharacter ( A1 ) ;
 874: LD_ADDR_EXP 1
 878: PUSH
 879: LD_STRING A1
 881: PPUSH
 882: CALL_OW 34
 886: ST_TO_ADDR
// J1 := CreateCharacter ( J1 ) ;
 887: LD_ADDR_EXP 2
 891: PUSH
 892: LD_STRING J1
 894: PPUSH
 895: CALL_OW 34
 899: ST_TO_ADDR
// M := CreateCharacter ( M ) ;
 900: LD_ADDR_EXP 3
 904: PUSH
 905: LD_STRING M
 907: PPUSH
 908: CALL_OW 34
 912: ST_TO_ADDR
// AM := CreateCharacter ( AM ) ;
 913: LD_ADDR_EXP 4
 917: PUSH
 918: LD_STRING AM
 920: PPUSH
 921: CALL_OW 34
 925: ST_TO_ADDR
// KI := CreateCharacter ( KI ) ;
 926: LD_ADDR_EXP 5
 930: PUSH
 931: LD_STRING KI
 933: PPUSH
 934: CALL_OW 34
 938: ST_TO_ADDR
// K := CreateCharacter ( K ) ;
 939: LD_ADDR_EXP 7
 943: PUSH
 944: LD_STRING K
 946: PPUSH
 947: CALL_OW 34
 951: ST_TO_ADDR
// D := CreateCharacter ( D ) ;
 952: LD_ADDR_EXP 6
 956: PUSH
 957: LD_STRING D
 959: PPUSH
 960: CALL_OW 34
 964: ST_TO_ADDR
// PlaceUnitArea ( A1 , Area46 , false ) ;
 965: LD_EXP 1
 969: PPUSH
 970: LD_INT 3
 972: PPUSH
 973: LD_INT 0
 975: PPUSH
 976: CALL_OW 49
// PlaceUnitArea ( J1 , Area45 , false ) ;
 980: LD_EXP 2
 984: PPUSH
 985: LD_INT 2
 987: PPUSH
 988: LD_INT 0
 990: PPUSH
 991: CALL_OW 49
// PlaceUnitArea ( M , Area47 , false ) ;
 995: LD_EXP 3
 999: PPUSH
1000: LD_INT 4
1002: PPUSH
1003: LD_INT 0
1005: PPUSH
1006: CALL_OW 49
// PlaceUnitArea ( AM , Area48 , false ) ;
1010: LD_EXP 4
1014: PPUSH
1015: LD_INT 5
1017: PPUSH
1018: LD_INT 0
1020: PPUSH
1021: CALL_OW 49
// PlaceUnitArea ( KI , Area44 , false ) ;
1025: LD_EXP 5
1029: PPUSH
1030: LD_INT 1
1032: PPUSH
1033: LD_INT 0
1035: PPUSH
1036: CALL_OW 49
// PlaceUnitArea ( D , Area49 , false ) ;
1040: LD_EXP 6
1044: PPUSH
1045: LD_INT 6
1047: PPUSH
1048: LD_INT 0
1050: PPUSH
1051: CALL_OW 49
// end ;
1055: LD_VAR 0 1
1059: RET
// export by ; export function cby ; begin
1060: LD_INT 0
1062: PPUSH
// uc_side = 2 ;
1063: LD_ADDR_OWVAR 20
1067: PUSH
1068: LD_INT 2
1070: ST_TO_ADDR
// uc_nation = nation_arabian ;
1071: LD_ADDR_OWVAR 21
1075: PUSH
1076: LD_INT 2
1078: ST_TO_ADDR
// hc_name = Gen.Alan Byk ;
1079: LD_ADDR_OWVAR 26
1083: PUSH
1084: LD_STRING Gen.Alan Byk
1086: ST_TO_ADDR
// hc_sex = sex_male ;
1087: LD_ADDR_OWVAR 27
1091: PUSH
1092: LD_INT 1
1094: ST_TO_ADDR
// hc_class = 1 ;
1095: LD_ADDR_OWVAR 28
1099: PUSH
1100: LD_INT 1
1102: ST_TO_ADDR
// hc_importance = 80 ;
1103: LD_ADDR_OWVAR 32
1107: PUSH
1108: LD_INT 80
1110: ST_TO_ADDR
// hc_gallery := us ;
1111: LD_ADDR_OWVAR 33
1115: PUSH
1116: LD_STRING us
1118: ST_TO_ADDR
// hc_face_number := 16 ;
1119: LD_ADDR_OWVAR 34
1123: PUSH
1124: LD_INT 16
1126: ST_TO_ADDR
// hc_basic_skills := [ 3 , 0 , 0 , 1 ] ;
1127: LD_ADDR_OWVAR 30
1131: PUSH
1132: LD_INT 3
1134: PUSH
1135: LD_INT 0
1137: PUSH
1138: LD_INT 0
1140: PUSH
1141: LD_INT 1
1143: PUSH
1144: EMPTY
1145: LIST
1146: LIST
1147: LIST
1148: LIST
1149: ST_TO_ADDR
// hc_skills := [ 4 , 3 , 2 , 1 ] ;
1150: LD_ADDR_OWVAR 31
1154: PUSH
1155: LD_INT 4
1157: PUSH
1158: LD_INT 3
1160: PUSH
1161: LD_INT 2
1163: PUSH
1164: LD_INT 1
1166: PUSH
1167: EMPTY
1168: LIST
1169: LIST
1170: LIST
1171: LIST
1172: ST_TO_ADDR
// by = CreateHuman ;
1173: LD_ADDR_EXP 8
1177: PUSH
1178: CALL_OW 44
1182: ST_TO_ADDR
// PlaceUnitArea ( by , area52 , false ) ;
1183: LD_EXP 8
1187: PPUSH
1188: LD_INT 7
1190: PPUSH
1191: LD_INT 0
1193: PPUSH
1194: CALL_OW 49
// end ; end_of_file
1198: LD_VAR 0 1
1202: RET
// every 0 0$0.1 trigger IsDead ( J1 ) do
1203: LD_EXP 2
1207: PPUSH
1208: CALL_OW 301
1212: IFFALSE 1231
1214: GO 1216
1216: DISABLE
// begin wait ( 0 0$1 ) ;
1217: LD_INT 35
1219: PPUSH
1220: CALL_OW 67
// YouLost ( John_nie_zyje ) ;
1224: LD_STRING John_nie_zyje
1226: PPUSH
1227: CALL_OW 104
// end ;
1231: END
// every 0 0$0.1 trigger IsDead ( KI ) do
1232: LD_EXP 5
1236: PPUSH
1237: CALL_OW 301
1241: IFFALSE 1260
1243: GO 1245
1245: DISABLE
// begin wait ( 0 0$1 ) ;
1246: LD_INT 35
1248: PPUSH
1249: CALL_OW 67
// YouLost ( Kimiko_nie_zyje ) ;
1253: LD_STRING Kimiko_nie_zyje
1255: PPUSH
1256: CALL_OW 104
// end ;
1260: END
// every 0 0$0.1 trigger IsDead ( FM ) do
1261: LD_INT 104
1263: PPUSH
1264: CALL_OW 301
1268: IFFALSE 1287
1270: GO 1272
1272: DISABLE
// begin wait ( 0 0$1 ) ;
1273: LD_INT 35
1275: PPUSH
1276: CALL_OW 67
// YouLost ( Frank_nie_zyje ) ;
1280: LD_STRING Frank_nie_zyje
1282: PPUSH
1283: CALL_OW 104
// end ;
1287: END
// every 0 0$0.1 trigger IsDead ( OS ) do
1288: LD_INT 106
1290: PPUSH
1291: CALL_OW 301
1295: IFFALSE 1314
1297: GO 1299
1299: DISABLE
// begin wait ( 0 0$1 ) ;
1300: LD_INT 35
1302: PPUSH
1303: CALL_OW 67
// YouLost ( Olga_nie_zyje ) ;
1307: LD_STRING Olga_nie_zyje
1309: PPUSH
1310: CALL_OW 104
// end ;
1314: END
// every 0 0$0.1 trigger IsDead ( AB ) do
1315: LD_INT 134
1317: PPUSH
1318: CALL_OW 301
1322: IFFALSE 1337
1324: GO 1326
1326: DISABLE
// begin Say ( s1 , rus ) ;
1327: LD_INT 131
1329: PPUSH
1330: LD_STRING rus
1332: PPUSH
1333: CALL_OW 88
// end ; end_of_file
1337: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
1338: GO 1340
1340: DISABLE
1341: LD_INT 0
1343: PPUSH
1344: PPUSH
1345: PPUSH
1346: PPUSH
1347: PPUSH
// begin enable ;
1348: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
1349: LD_ADDR_VAR 0 2
1353: PUSH
1354: LD_INT 22
1356: PUSH
1357: LD_INT 3
1359: PUSH
1360: EMPTY
1361: LIST
1362: LIST
1363: PUSH
1364: LD_INT 25
1366: PUSH
1367: LD_INT 2
1369: PUSH
1370: EMPTY
1371: LIST
1372: LIST
1373: PUSH
1374: LD_INT 24
1376: PUSH
1377: LD_INT 1000
1379: PUSH
1380: EMPTY
1381: LIST
1382: LIST
1383: PUSH
1384: EMPTY
1385: LIST
1386: LIST
1387: LIST
1388: PUSH
1389: EMPTY
1390: LIST
1391: PPUSH
1392: CALL_OW 69
1396: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
1397: LD_ADDR_VAR 0 3
1401: PUSH
1402: LD_INT 22
1404: PUSH
1405: LD_INT 3
1407: PUSH
1408: EMPTY
1409: LIST
1410: LIST
1411: PUSH
1412: LD_INT 21
1414: PUSH
1415: LD_INT 3
1417: PUSH
1418: EMPTY
1419: LIST
1420: LIST
1421: PUSH
1422: LD_INT 3
1424: PUSH
1425: LD_INT 24
1427: PUSH
1428: LD_INT 1000
1430: PUSH
1431: EMPTY
1432: LIST
1433: LIST
1434: PUSH
1435: EMPTY
1436: LIST
1437: LIST
1438: PUSH
1439: EMPTY
1440: LIST
1441: LIST
1442: LIST
1443: PUSH
1444: EMPTY
1445: LIST
1446: PPUSH
1447: CALL_OW 69
1451: ST_TO_ADDR
// if buildings > 0 then
1452: LD_VAR 0 3
1456: PUSH
1457: LD_INT 0
1459: GREATER
1460: IFFALSE 1542
// begin for i = 1 to EnginerList do
1462: LD_ADDR_VAR 0 5
1466: PUSH
1467: DOUBLE
1468: LD_INT 1
1470: DEC
1471: ST_TO_ADDR
1472: LD_VAR 0 2
1476: PUSH
1477: FOR_TO
1478: IFFALSE 1540
// begin if IsInUnit ( EnginerList [ i ] ) then
1480: LD_VAR 0 2
1484: PUSH
1485: LD_VAR 0 5
1489: ARRAY
1490: PPUSH
1491: CALL_OW 310
1495: IFFALSE 1514
// ComExitBuilding ( EnginerList [ i ] ) else
1497: LD_VAR 0 2
1501: PUSH
1502: LD_VAR 0 5
1506: ARRAY
1507: PPUSH
1508: CALL_OW 122
1512: GO 1538
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
1514: LD_VAR 0 2
1518: PUSH
1519: LD_VAR 0 5
1523: ARRAY
1524: PPUSH
1525: LD_VAR 0 3
1529: PUSH
1530: LD_INT 1
1532: ARRAY
1533: PPUSH
1534: CALL_OW 130
// end ;
1538: GO 1477
1540: POP
1541: POP
// end ; end ; end_of_file
1542: PPOPN 5
1544: END
// every 0 0$01 do
1545: GO 1547
1547: DISABLE
// begin ComEnterUnit ( s1 , b3 ) ;
1548: LD_INT 131
1550: PPUSH
1551: LD_INT 111
1553: PPUSH
1554: CALL_OW 120
// ComEnterUnit ( s2 , b3 ) ;
1558: LD_INT 130
1560: PPUSH
1561: LD_INT 111
1563: PPUSH
1564: CALL_OW 120
// ComEnterUnit ( m1 , b4 ) ;
1568: LD_INT 132
1570: PPUSH
1571: LD_INT 125
1573: PPUSH
1574: CALL_OW 120
// ComEnterUnit ( m2 , b4 ) ;
1578: LD_INT 133
1580: PPUSH
1581: LD_INT 125
1583: PPUSH
1584: CALL_OW 120
// end ;
1588: END
