// export Alex , Anne ; export Hayes ; function PrepareOurs ; var i , h ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
// uc_side = 1 ;
   5: LD_ADDR_OWVAR 20
   9: PUSH
  10: LD_INT 1
  12: ST_TO_ADDR
// uc_nation = 1 ;
  13: LD_ADDR_OWVAR 21
  17: PUSH
  18: LD_INT 1
  20: ST_TO_ADDR
// Alex = LoadCharacter ( Alex , 2 , 0 ) ;
  21: LD_ADDR_EXP 1
  25: PUSH
  26: LD_STRING Alex
  28: PPUSH
  29: LD_INT 2
  31: PPUSH
  32: LD_INT 0
  34: PPUSH
  35: CALL_OW 527
  39: ST_TO_ADDR
// PlaceUnitXY ( Alex , 75 , 115 , false ) ;
  40: LD_EXP 1
  44: PPUSH
  45: LD_INT 75
  47: PPUSH
  48: LD_INT 115
  50: PPUSH
  51: LD_INT 0
  53: PPUSH
  54: CALL_OW 48
// uc_side = 4 ;
  58: LD_ADDR_OWVAR 20
  62: PUSH
  63: LD_INT 4
  65: ST_TO_ADDR
// Anne = NewCharacter ( Anne ) ;
  66: LD_ADDR_EXP 2
  70: PUSH
  71: LD_STRING Anne
  73: PPUSH
  74: CALL_OW 25
  78: ST_TO_ADDR
// PlaceUnitXY ( Anne , 65 , 108 , false ) ;
  79: LD_EXP 2
  83: PPUSH
  84: LD_INT 65
  86: PPUSH
  87: LD_INT 108
  89: PPUSH
  90: LD_INT 0
  92: PPUSH
  93: CALL_OW 48
// InitHc ;
  97: CALL_OW 19
// for i = 1 to 2 do
 101: LD_ADDR_VAR 0 2
 105: PUSH
 106: DOUBLE
 107: LD_INT 1
 109: DEC
 110: ST_TO_ADDR
 111: LD_INT 2
 113: PUSH
 114: FOR_TO
 115: IFFALSE 158
// begin PrepareSoldier ( 0 , Rand ( 2 , 3 ) ) ;
 117: LD_INT 0
 119: PPUSH
 120: LD_INT 2
 122: PPUSH
 123: LD_INT 3
 125: PPUSH
 126: CALL_OW 12
 130: PPUSH
 131: CALL_OW 381
// PlaceUnitXYR ( CreateHuman , 69 , 103 , 4 , false ) ;
 135: CALL_OW 44
 139: PPUSH
 140: LD_INT 69
 142: PPUSH
 143: LD_INT 103
 145: PPUSH
 146: LD_INT 4
 148: PPUSH
 149: LD_INT 0
 151: PPUSH
 152: CALL_OW 50
// end ;
 156: GO 114
 158: POP
 159: POP
// Hayes = NewCharacter ( Hayes ) ;
 160: LD_ADDR_EXP 3
 164: PUSH
 165: LD_STRING Hayes
 167: PPUSH
 168: CALL_OW 25
 172: ST_TO_ADDR
// ChangeSideFog ( 1 , 4 ) ;
 173: LD_INT 1
 175: PPUSH
 176: LD_INT 4
 178: PPUSH
 179: CALL_OW 343
// end ;
 183: LD_VAR 0 1
 187: RET
// starting begin PrepareOurs ;
 188: CALL 0 0 0
// PrepareArabBase ;
 192: CALL 2781 0 0
// InitArabianMacros ;
 196: CALL 3075 0 0
// disable ( 01 ) ;
 200: LD_INT 1
 202: DISABLE_MARKED
// Randomize ;
 203: CALL_OW 10
// SetBName ( ad , jericho ) ;
 207: LD_INT 51
 209: PPUSH
 210: LD_STRING jericho
 212: PPUSH
 213: CALL_OW 500
// InGameOn ;
 217: CALL_OW 8
// RevealFogArea ( 4 , StartArea ) ;
 221: LD_INT 4
 223: PPUSH
 224: LD_INT 4
 226: PPUSH
 227: CALL_OW 332
// CenterNowOnXY ( 66 , 108 ) ;
 231: LD_INT 66
 233: PPUSH
 234: LD_INT 108
 236: PPUSH
 237: CALL_OW 86
// ComMoveXY ( Alex , 67 , 107 ) ;
 241: LD_EXP 1
 245: PPUSH
 246: LD_INT 67
 248: PPUSH
 249: LD_INT 107
 251: PPUSH
 252: CALL_OW 111
// Wait ( 0 0$2 ) ;
 256: LD_INT 70
 258: PPUSH
 259: CALL_OW 67
// ComTurnUnit ( Anne , Alex ) ;
 263: LD_EXP 2
 267: PPUSH
 268: LD_EXP 1
 272: PPUSH
 273: CALL_OW 119
// Say ( Alex , dn-a-1 ) ;
 277: LD_EXP 1
 281: PPUSH
 282: LD_STRING dn-a-1
 284: PPUSH
 285: CALL_OW 88
// RevealFogArea ( 4 , ArPatrol ) ;
 289: LD_INT 4
 291: PPUSH
 292: LD_INT 3
 294: PPUSH
 295: CALL_OW 332
// CenterOnXY ( 122 , 48 ) ;
 299: LD_INT 122
 301: PPUSH
 302: LD_INT 48
 304: PPUSH
 305: CALL_OW 84
// Say ( Anne , dn-n-1 ) ;
 309: LD_EXP 2
 313: PPUSH
 314: LD_STRING dn-n-1
 316: PPUSH
 317: CALL_OW 88
// Wait ( 0 0$1 ) ;
 321: LD_INT 35
 323: PPUSH
 324: CALL_OW 67
// RevealFogArea ( 4 , ArBase ) ;
 328: LD_INT 4
 330: PPUSH
 331: LD_INT 8
 333: PPUSH
 334: CALL_OW 332
// CenterOnXY ( 168 , 42 ) ;
 338: LD_INT 168
 340: PPUSH
 341: LD_INT 42
 343: PPUSH
 344: CALL_OW 84
// Say ( Anne , dn-n-2 ) ;
 348: LD_EXP 2
 352: PPUSH
 353: LD_STRING dn-n-2
 355: PPUSH
 356: CALL_OW 88
// Wait ( 0 0$1 ) ;
 360: LD_INT 35
 362: PPUSH
 363: CALL_OW 67
// CenterOnUnits ( Alex ) ;
 367: LD_EXP 1
 371: PPUSH
 372: CALL_OW 85
// Say ( Anne , dn-n-3 ) ;
 376: LD_EXP 2
 380: PPUSH
 381: LD_STRING dn-n-3
 383: PPUSH
 384: CALL_OW 88
// Say ( Alex , dn-a-2 ) ;
 388: LD_EXP 1
 392: PPUSH
 393: LD_STRING dn-a-2
 395: PPUSH
 396: CALL_OW 88
// Say ( Anne , dn-n-4 ) ;
 400: LD_EXP 2
 404: PPUSH
 405: LD_STRING dn-n-4
 407: PPUSH
 408: CALL_OW 88
// RevealFogArea ( 4 , OurBase ) ;
 412: LD_INT 4
 414: PPUSH
 415: LD_INT 1
 417: PPUSH
 418: CALL_OW 332
// CenterOnXY ( 40 , 15 ) ;
 422: LD_INT 40
 424: PPUSH
 425: LD_INT 15
 427: PPUSH
 428: CALL_OW 84
// Say ( Anne , dn-n-5 ) ;
 432: LD_EXP 2
 436: PPUSH
 437: LD_STRING dn-n-5
 439: PPUSH
 440: CALL_OW 88
// Wait ( 0 0$1 ) ;
 444: LD_INT 35
 446: PPUSH
 447: CALL_OW 67
// CenterOnUnits ( Alex ) ;
 451: LD_EXP 1
 455: PPUSH
 456: CALL_OW 85
// Say ( Alex , dn-a-3 ) ;
 460: LD_EXP 1
 464: PPUSH
 465: LD_STRING dn-a-3
 467: PPUSH
 468: CALL_OW 88
// SetSide ( FilterAllUnits ( [ f_side , 4 ] ) , 1 ) ;
 472: LD_INT 22
 474: PUSH
 475: LD_INT 4
 477: PUSH
 478: EMPTY
 479: LIST
 480: LIST
 481: PPUSH
 482: CALL_OW 69
 486: PPUSH
 487: LD_INT 1
 489: PPUSH
 490: CALL_OW 235
// InGameOff ;
 494: CALL_OW 9
// SaveForQuickRestart ;
 498: CALL_OW 22
// ChangeMissionObjectives ( OBase ) ;
 502: LD_STRING OBase
 504: PPUSH
 505: CALL_OW 337
// end ;
 509: END
// on UnitDestroyed ( un ) do begin if un = Alex then
 510: LD_VAR 0 1
 514: PUSH
 515: LD_EXP 1
 519: EQUAL
 520: IFFALSE 529
// YouLost ( AlexDead ) ;
 522: LD_STRING AlexDead
 524: PPUSH
 525: CALL_OW 104
// if un = Anne then
 529: LD_VAR 0 1
 533: PUSH
 534: LD_EXP 2
 538: EQUAL
 539: IFFALSE 548
// YouLost ( AnneDead ) ;
 541: LD_STRING AnneDead
 543: PPUSH
 544: CALL_OW 104
// if GetSide ( un ) = 1 and GetType ( un ) = unit_human then
 548: LD_VAR 0 1
 552: PPUSH
 553: CALL_OW 255
 557: PUSH
 558: LD_INT 1
 560: EQUAL
 561: PUSH
 562: LD_VAR 0 1
 566: PPUSH
 567: CALL_OW 247
 571: PUSH
 572: LD_INT 1
 574: EQUAL
 575: AND
 576: IFFALSE 586
// Losses = true ;
 578: LD_ADDR_EXP 8
 582: PUSH
 583: LD_INT 1
 585: ST_TO_ADDR
// end ; end_of_file
 586: PPOPN 1
 588: END
// export VDone , AmLab ; export EndingOn , Hunted , Losses ; on VehicleConstructed ( v , f ) do begin if GetSide ( v ) = 1 and not VDone then
 589: LD_VAR 0 1
 593: PPUSH
 594: CALL_OW 255
 598: PUSH
 599: LD_INT 1
 601: EQUAL
 602: PUSH
 603: LD_EXP 4
 607: NOT
 608: AND
 609: IFFALSE 680
// begin VDone = true ;
 611: LD_ADDR_EXP 4
 615: PUSH
 616: LD_INT 1
 618: ST_TO_ADDR
// Wait ( 0 0$2 ) ;
 619: LD_INT 70
 621: PPUSH
 622: CALL_OW 67
// Say ( IsDrivenBy ( v ) , dv-s-1 ) ;
 626: LD_VAR 0 1
 630: PPUSH
 631: CALL_OW 311
 635: PPUSH
 636: LD_STRING dv-s-1
 638: PPUSH
 639: CALL_OW 88
// if not IsDrivenBy ( v ) = Alex then
 643: LD_VAR 0 1
 647: PPUSH
 648: CALL_OW 311
 652: PUSH
 653: LD_EXP 1
 657: EQUAL
 658: NOT
 659: IFFALSE 673
// Say ( Alex , dv-a-1 ) ;
 661: LD_EXP 1
 665: PPUSH
 666: LD_STRING dv-a-1
 668: PPUSH
 669: CALL_OW 88
// ChangeMissionObjectives ( OBaseOut ) ;
 673: LD_STRING OBaseOut
 675: PPUSH
 676: CALL_OW 337
// end ; end ;
 680: PPOPN 2
 682: END
// on BuildingComplete ( b ) do begin if GetBType ( b ) = b_lab and not AmLab then
 683: LD_VAR 0 1
 687: PPUSH
 688: CALL_OW 266
 692: PUSH
 693: LD_INT 6
 695: EQUAL
 696: PUSH
 697: LD_EXP 5
 701: NOT
 702: AND
 703: IFFALSE 744
// begin AmLab = true ;
 705: LD_ADDR_EXP 5
 709: PUSH
 710: LD_INT 1
 712: ST_TO_ADDR
// Say ( Alex , db-a-1 ) ;
 713: LD_EXP 1
 717: PPUSH
 718: LD_STRING db-a-1
 720: PPUSH
 721: CALL_OW 88
// Say ( Anne , db-s-1 ) ;
 725: LD_EXP 2
 729: PPUSH
 730: LD_STRING db-s-1
 732: PPUSH
 733: CALL_OW 88
// Query ( Q1 ) ;
 737: LD_STRING Q1
 739: PPUSH
 740: CALL_OW 97
// end ; if GetSide ( b ) = 1 and GetBType ( b ) = b_oil_mine then
 744: LD_VAR 0 1
 748: PPUSH
 749: CALL_OW 255
 753: PUSH
 754: LD_INT 1
 756: EQUAL
 757: PUSH
 758: LD_VAR 0 1
 762: PPUSH
 763: CALL_OW 266
 767: PUSH
 768: LD_INT 29
 770: EQUAL
 771: AND
 772: IFFALSE 777
// enable ( 01 ) ;
 774: LD_INT 1
 776: ENABLE_MARKED
// end ;
 777: PPOPN 1
 779: END
// every 0 0$1 trigger FilterAllUnits ( [ [ f_side , 2 ] , [ f_see , 1 ] , [ f_type , unit_vehicle ] ] ) do var s ;
 780: LD_INT 22
 782: PUSH
 783: LD_INT 2
 785: PUSH
 786: EMPTY
 787: LIST
 788: LIST
 789: PUSH
 790: LD_INT 101
 792: PUSH
 793: LD_INT 1
 795: PUSH
 796: EMPTY
 797: LIST
 798: LIST
 799: PUSH
 800: LD_INT 21
 802: PUSH
 803: LD_INT 2
 805: PUSH
 806: EMPTY
 807: LIST
 808: LIST
 809: PUSH
 810: EMPTY
 811: LIST
 812: LIST
 813: LIST
 814: PPUSH
 815: CALL_OW 69
 819: IFFALSE 905
 821: GO 823
 823: DISABLE
 824: LD_INT 0
 826: PPUSH
// begin s = FilterAllUnits ( [ [ f_side , 2 ] , [ f_see , 4 ] , [ f_type , unit_vehicle ] ] ) ;
 827: LD_ADDR_VAR 0 1
 831: PUSH
 832: LD_INT 22
 834: PUSH
 835: LD_INT 2
 837: PUSH
 838: EMPTY
 839: LIST
 840: LIST
 841: PUSH
 842: LD_INT 101
 844: PUSH
 845: LD_INT 4
 847: PUSH
 848: EMPTY
 849: LIST
 850: LIST
 851: PUSH
 852: LD_INT 21
 854: PUSH
 855: LD_INT 2
 857: PUSH
 858: EMPTY
 859: LIST
 860: LIST
 861: PUSH
 862: EMPTY
 863: LIST
 864: LIST
 865: LIST
 866: PPUSH
 867: CALL_OW 69
 871: ST_TO_ADDR
// DialogueOn ;
 872: CALL_OW 6
// CenterOnUnits ( s [ 1 ] ) ;
 876: LD_VAR 0 1
 880: PUSH
 881: LD_INT 1
 883: ARRAY
 884: PPUSH
 885: CALL_OW 85
// Say ( Alex , dav-a-1 ) ;
 889: LD_EXP 1
 893: PPUSH
 894: LD_STRING dav-a-1
 896: PPUSH
 897: CALL_OW 88
// DialogueOff ;
 901: CALL_OW 7
// end ;
 905: PPOPN 1
 907: END
// every 0 0$1 trigger FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , unit_vehicle ] , [ f_nation , 2 ] ] ) = 2 or IsDying ( pv2 ) do
 908: LD_INT 22
 910: PUSH
 911: LD_INT 1
 913: PUSH
 914: EMPTY
 915: LIST
 916: LIST
 917: PUSH
 918: LD_INT 21
 920: PUSH
 921: LD_INT 2
 923: PUSH
 924: EMPTY
 925: LIST
 926: LIST
 927: PUSH
 928: LD_INT 23
 930: PUSH
 931: LD_INT 2
 933: PUSH
 934: EMPTY
 935: LIST
 936: LIST
 937: PUSH
 938: EMPTY
 939: LIST
 940: LIST
 941: LIST
 942: PPUSH
 943: CALL_OW 69
 947: PUSH
 948: LD_INT 2
 950: EQUAL
 951: PUSH
 952: LD_EXP 10
 956: PPUSH
 957: CALL_OW 303
 961: OR
 962: IFFALSE 1038
 964: GO 966
 966: DISABLE
// begin DialogueOn ;
 967: CALL_OW 6
// Say ( Anne , dav-n-1 ) ;
 971: LD_EXP 2
 975: PPUSH
 976: LD_STRING dav-n-1
 978: PPUSH
 979: CALL_OW 88
// Say ( Alex , dav-a-2 ) ;
 983: LD_EXP 1
 987: PPUSH
 988: LD_STRING dav-a-2
 990: PPUSH
 991: CALL_OW 88
// Say ( Anne , dav-n-2 ) ;
 995: LD_EXP 2
 999: PPUSH
1000: LD_STRING dav-n-2
1002: PPUSH
1003: CALL_OW 88
// Say ( Alex , dav-a-3 ) ;
1007: LD_EXP 1
1011: PPUSH
1012: LD_STRING dav-a-3
1014: PPUSH
1015: CALL_OW 88
// DialogueOff ;
1019: CALL_OW 7
// ChangeMissionObjectives ( ORaid ) ;
1023: LD_STRING ORaid
1025: PPUSH
1026: CALL_OW 337
// EndingOn = true ;
1030: LD_ADDR_EXP 6
1034: PUSH
1035: LD_INT 1
1037: ST_TO_ADDR
// end ;
1038: END
// export function Ending ; var ar , i ; begin
1039: LD_INT 0
1041: PPUSH
1042: PPUSH
1043: PPUSH
// EndingOn = false ;
1044: LD_ADDR_EXP 6
1048: PUSH
1049: LD_INT 0
1051: ST_TO_ADDR
// ar = FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_human ] ] ) ;
1052: LD_ADDR_VAR 0 2
1056: PUSH
1057: LD_INT 22
1059: PUSH
1060: LD_INT 2
1062: PUSH
1063: EMPTY
1064: LIST
1065: LIST
1066: PUSH
1067: LD_INT 21
1069: PUSH
1070: LD_INT 1
1072: PUSH
1073: EMPTY
1074: LIST
1075: LIST
1076: PUSH
1077: EMPTY
1078: LIST
1079: LIST
1080: PPUSH
1081: CALL_OW 69
1085: ST_TO_ADDR
// CenterOnXY ( 156 , 28 ) ;
1086: LD_INT 156
1088: PPUSH
1089: LD_INT 28
1091: PPUSH
1092: CALL_OW 84
// InGameOn ;
1096: CALL_OW 8
// DialogueOn ;
1100: CALL_OW 6
// DWait ( 0 0$2 ) ;
1104: LD_INT 70
1106: PPUSH
1107: CALL_OW 68
// Say ( Anne , de-n-1 ) ;
1111: LD_EXP 2
1115: PPUSH
1116: LD_STRING de-n-1
1118: PPUSH
1119: CALL_OW 88
// for i in ar do
1123: LD_ADDR_VAR 0 3
1127: PUSH
1128: LD_VAR 0 2
1132: PUSH
1133: FOR_IN
1134: IFFALSE 1159
// begin ComExitBuilding ( i ) ;
1136: LD_VAR 0 3
1140: PPUSH
1141: CALL_OW 122
// ComMoveToArea ( i , ArabLeave ) ;
1145: LD_VAR 0 3
1149: PPUSH
1150: LD_INT 5
1152: PPUSH
1153: CALL_OW 113
// end ;
1157: GO 1133
1159: POP
1160: POP
// DialogueOff ;
1161: CALL_OW 7
// SayRadio ( Hayes , de-h-1 ) ;
1165: LD_EXP 3
1169: PPUSH
1170: LD_STRING de-h-1
1172: PPUSH
1173: CALL_OW 94
// Say ( Alex , de-a-1 ) ;
1177: LD_EXP 1
1181: PPUSH
1182: LD_STRING de-a-1
1184: PPUSH
1185: CALL_OW 88
// Wait ( 0 0$0.5 ) ;
1189: LD_INT 18
1191: PPUSH
1192: CALL_OW 67
// SayRadio ( Hayes , de-h-2 ) ;
1196: LD_EXP 3
1200: PPUSH
1201: LD_STRING de-h-2
1203: PPUSH
1204: CALL_OW 94
// Say ( Alex , de-a-2 ) ;
1208: LD_EXP 1
1212: PPUSH
1213: LD_STRING de-a-2
1215: PPUSH
1216: CALL_OW 88
// InGameOff ;
1220: CALL_OW 9
// if Researched ( 1 , tech_Tech1 ) then
1224: LD_INT 1
1226: PPUSH
1227: LD_INT 48
1229: PPUSH
1230: CALL_OW 325
1234: IFFALSE 1248
// AddMedal ( MOil , 1 ) else
1236: LD_STRING MOil
1238: PPUSH
1239: LD_INT 1
1241: PPUSH
1242: CALL_OW 101
1246: GO 1259
// AddMedal ( MOil , - 1 ) ;
1248: LD_STRING MOil
1250: PPUSH
1251: LD_INT 1
1253: NEG
1254: PPUSH
1255: CALL_OW 101
// if Hunted > 10 then
1259: LD_EXP 7
1263: PUSH
1264: LD_INT 10
1266: GREATER
1267: IFFALSE 1281
// AddMedal ( MHunt , 1 ) else
1269: LD_STRING MHunt
1271: PPUSH
1272: LD_INT 1
1274: PPUSH
1275: CALL_OW 101
1279: GO 1292
// AddMedal ( MHunt , - 1 ) ;
1281: LD_STRING MHunt
1283: PPUSH
1284: LD_INT 1
1286: NEG
1287: PPUSH
1288: CALL_OW 101
// if not Losses then
1292: LD_EXP 8
1296: NOT
1297: IFFALSE 1311
// AddMedal ( MLosses , 1 ) else
1299: LD_STRING MLosses
1301: PPUSH
1302: LD_INT 1
1304: PPUSH
1305: CALL_OW 101
1309: GO 1322
// AddMedal ( MLosses , - 1 ) ;
1311: LD_STRING MLosses
1313: PPUSH
1314: LD_INT 1
1316: NEG
1317: PPUSH
1318: CALL_OW 101
// GiveMedals ( Main ) ;
1322: LD_STRING Main
1324: PPUSH
1325: CALL_OW 102
// RewardPeople ( FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , unit_human ] ] ) ) ;
1329: LD_INT 22
1331: PUSH
1332: LD_INT 1
1334: PUSH
1335: EMPTY
1336: LIST
1337: LIST
1338: PUSH
1339: LD_INT 21
1341: PUSH
1342: LD_INT 1
1344: PUSH
1345: EMPTY
1346: LIST
1347: LIST
1348: PUSH
1349: EMPTY
1350: LIST
1351: LIST
1352: PPUSH
1353: CALL_OW 69
1357: PPUSH
1358: CALL_OW 43
// SaveCharacters ( Alex , Alex ) ;
1362: LD_EXP 1
1366: PPUSH
1367: LD_STRING Alex
1369: PPUSH
1370: CALL_OW 38
// SaveCharacters ( Anne , Anne ) ;
1374: LD_EXP 2
1378: PPUSH
1379: LD_STRING Anne
1381: PPUSH
1382: CALL_OW 38
// SaveCharacters ( FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , unit_human ] ] ) diff [ Alex , Anne ] , AmOthers ) ;
1386: LD_INT 22
1388: PUSH
1389: LD_INT 1
1391: PUSH
1392: EMPTY
1393: LIST
1394: LIST
1395: PUSH
1396: LD_INT 21
1398: PUSH
1399: LD_INT 1
1401: PUSH
1402: EMPTY
1403: LIST
1404: LIST
1405: PUSH
1406: EMPTY
1407: LIST
1408: LIST
1409: PPUSH
1410: CALL_OW 69
1414: PUSH
1415: LD_EXP 1
1419: PUSH
1420: LD_EXP 2
1424: PUSH
1425: EMPTY
1426: LIST
1427: LIST
1428: DIFF
1429: PPUSH
1430: LD_STRING AmOthers
1432: PPUSH
1433: CALL_OW 38
// YouWin ;
1437: CALL_OW 103
// end ;
1441: LD_VAR 0 1
1445: RET
// on UnitGoesToRed ( un ) do var burn ;
1446: LD_INT 0
1448: PPUSH
// begin if EndingOn then
1449: LD_EXP 6
1453: IFFALSE 1499
// if GetSide ( un ) = 2 and GetType ( un ) = unit_building then
1455: LD_VAR 0 1
1459: PPUSH
1460: CALL_OW 255
1464: PUSH
1465: LD_INT 2
1467: EQUAL
1468: PUSH
1469: LD_VAR 0 1
1473: PPUSH
1474: CALL_OW 247
1478: PUSH
1479: LD_INT 3
1481: EQUAL
1482: AND
1483: IFFALSE 1499
// burn = burn + 1 ;
1485: LD_ADDR_VAR 0 2
1489: PUSH
1490: LD_VAR 0 2
1494: PUSH
1495: LD_INT 1
1497: PLUS
1498: ST_TO_ADDR
// if un = ad or burn = 3 then
1499: LD_VAR 0 1
1503: PUSH
1504: LD_INT 51
1506: EQUAL
1507: PUSH
1508: LD_VAR 0 2
1512: PUSH
1513: LD_INT 3
1515: EQUAL
1516: OR
1517: IFFALSE 1523
// Ending ;
1519: CALL 1039 0 0
// if GetSide ( un ) = 2 and GetClass ( un ) = class_soldier then
1523: LD_VAR 0 1
1527: PPUSH
1528: CALL_OW 255
1532: PUSH
1533: LD_INT 2
1535: EQUAL
1536: PUSH
1537: LD_VAR 0 1
1541: PPUSH
1542: CALL_OW 257
1546: PUSH
1547: LD_INT 1
1549: EQUAL
1550: AND
1551: IFFALSE 1567
// Hunted = Hunted + 1 ;
1553: LD_ADDR_EXP 7
1557: PUSH
1558: LD_EXP 7
1562: PUSH
1563: LD_INT 1
1565: PLUS
1566: ST_TO_ADDR
// end ;
1567: PPOPN 2
1569: END
// every 0 0$1 trigger GetSide ( ad ) <> 2 do
1570: LD_INT 51
1572: PPUSH
1573: CALL_OW 255
1577: PUSH
1578: LD_INT 2
1580: NONEQUAL
1581: IFFALSE 1596
1583: GO 1585
1585: DISABLE
// if EndingOn then
1586: LD_EXP 6
1590: IFFALSE 1596
// Ending ; end_of_file
1592: CALL 1039 0 0
1596: END
// every 2 2$20 do
1597: GO 1599
1599: DISABLE
// begin CreateCratesArea ( Rand ( 2 , 5 ) , CratesArea , true ) ;
1600: LD_INT 2
1602: PPUSH
1603: LD_INT 5
1605: PPUSH
1606: CALL_OW 12
1610: PPUSH
1611: LD_INT 2
1613: PPUSH
1614: LD_INT 1
1616: PPUSH
1617: CALL_OW 55
// enable ;
1621: ENABLE
// end ;
1622: END
// every 4 4$35 do
1623: GO 1625
1625: DISABLE
// begin CreateCratesAnywhere ( Rand ( 1 , 4 ) , true ) ;
1626: LD_INT 1
1628: PPUSH
1629: LD_INT 4
1631: PPUSH
1632: CALL_OW 12
1636: PPUSH
1637: LD_INT 1
1639: PPUSH
1640: CALL_OW 57
// enable ;
1644: ENABLE
// end ;
1645: END
// every 0 0$1 marked 01 do
1646: GO 1648
1648: DISABLE
// begin Wait ( Rand ( 3 3$0 , 4 4$0 ) ) ;
1649: LD_INT 6300
1651: PPUSH
1652: LD_INT 8400
1654: PPUSH
1655: CALL_OW 12
1659: PPUSH
1660: CALL_OW 67
// if not Researched ( 1 , tech_Tech1 ) then
1664: LD_INT 1
1666: PPUSH
1667: LD_INT 48
1669: PPUSH
1670: CALL_OW 325
1674: NOT
1675: IFFALSE 1690
// MineExplosion ( 43 , 13 , 1 ) ;
1677: LD_INT 43
1679: PPUSH
1680: LD_INT 13
1682: PPUSH
1683: LD_INT 1
1685: PPUSH
1686: CALL_OW 453
// enable ;
1690: ENABLE
// end ; end_of_file
1691: END
// export pv , pv2 ; export ArVeh ; every 0 0$1 do var s , i , h ;
1692: GO 1694
1694: DISABLE
1695: LD_INT 0
1697: PPUSH
1698: PPUSH
1699: PPUSH
// begin InitHc ;
1700: CALL_OW 19
// uc_side = 2 ;
1704: LD_ADDR_OWVAR 20
1708: PUSH
1709: LD_INT 2
1711: ST_TO_ADDR
// uc_nation = 2 ;
1712: LD_ADDR_OWVAR 21
1716: PUSH
1717: LD_INT 2
1719: ST_TO_ADDR
// uc_direction = 4 ;
1720: LD_ADDR_OWVAR 24
1724: PUSH
1725: LD_INT 4
1727: ST_TO_ADDR
// s = [ Rand ( 1 , 2 ) , Rand ( 1 , 3 ) , Rand ( 2 , 4 ) ] [ difficulty ] ;
1728: LD_ADDR_VAR 0 1
1732: PUSH
1733: LD_INT 1
1735: PPUSH
1736: LD_INT 2
1738: PPUSH
1739: CALL_OW 12
1743: PUSH
1744: LD_INT 1
1746: PPUSH
1747: LD_INT 3
1749: PPUSH
1750: CALL_OW 12
1754: PUSH
1755: LD_INT 2
1757: PPUSH
1758: LD_INT 4
1760: PPUSH
1761: CALL_OW 12
1765: PUSH
1766: EMPTY
1767: LIST
1768: LIST
1769: LIST
1770: PUSH
1771: LD_OWVAR 67
1775: ARRAY
1776: ST_TO_ADDR
// for i = 1 to 3 do
1777: LD_ADDR_VAR 0 2
1781: PUSH
1782: DOUBLE
1783: LD_INT 1
1785: DEC
1786: ST_TO_ADDR
1787: LD_INT 3
1789: PUSH
1790: FOR_TO
1791: IFFALSE 1847
// begin PrepareSoldier ( 0 , s ) ;
1793: LD_INT 0
1795: PPUSH
1796: LD_VAR 0 1
1800: PPUSH
1801: CALL_OW 381
// h = CreateHuman ;
1805: LD_ADDR_VAR 0 3
1809: PUSH
1810: CALL_OW 44
1814: ST_TO_ADDR
// PlaceUnitXYR ( h , 74 , 12 , 2 , false ) ;
1815: LD_VAR 0 3
1819: PPUSH
1820: LD_INT 74
1822: PPUSH
1823: LD_INT 12
1825: PPUSH
1826: LD_INT 2
1828: PPUSH
1829: LD_INT 0
1831: PPUSH
1832: CALL_OW 50
// ComCrawl ( h ) ;
1836: LD_VAR 0 3
1840: PPUSH
1841: CALL_OW 137
// end ;
1845: GO 1790
1847: POP
1848: POP
// for i = 1 to 2 do
1849: LD_ADDR_VAR 0 2
1853: PUSH
1854: DOUBLE
1855: LD_INT 1
1857: DEC
1858: ST_TO_ADDR
1859: LD_INT 2
1861: PUSH
1862: FOR_TO
1863: IFFALSE 1919
// begin PrepareSoldier ( 0 , s ) ;
1865: LD_INT 0
1867: PPUSH
1868: LD_VAR 0 1
1872: PPUSH
1873: CALL_OW 381
// h = CreateHuman ;
1877: LD_ADDR_VAR 0 3
1881: PUSH
1882: CALL_OW 44
1886: ST_TO_ADDR
// PlaceUnitXYR ( h , 123 , 49 , 2 , false ) ;
1887: LD_VAR 0 3
1891: PPUSH
1892: LD_INT 123
1894: PPUSH
1895: LD_INT 49
1897: PPUSH
1898: LD_INT 2
1900: PPUSH
1901: LD_INT 0
1903: PPUSH
1904: CALL_OW 50
// ComCrawl ( h ) ;
1908: LD_VAR 0 3
1912: PPUSH
1913: CALL_OW 137
// end ;
1917: GO 1862
1919: POP
1920: POP
// for i = 1 to 3 do
1921: LD_ADDR_VAR 0 2
1925: PUSH
1926: DOUBLE
1927: LD_INT 1
1929: DEC
1930: ST_TO_ADDR
1931: LD_INT 3
1933: PUSH
1934: FOR_TO
1935: IFFALSE 1991
// begin PrepareSoldier ( 0 , s ) ;
1937: LD_INT 0
1939: PPUSH
1940: LD_VAR 0 1
1944: PPUSH
1945: CALL_OW 381
// h = CreateHuman ;
1949: LD_ADDR_VAR 0 3
1953: PUSH
1954: CALL_OW 44
1958: ST_TO_ADDR
// PlaceUnitXYR ( h , 125 , 87 , 2 , false ) ;
1959: LD_VAR 0 3
1963: PPUSH
1964: LD_INT 125
1966: PPUSH
1967: LD_INT 87
1969: PPUSH
1970: LD_INT 2
1972: PPUSH
1973: LD_INT 0
1975: PPUSH
1976: CALL_OW 50
// ComCrawl ( h ) ;
1980: LD_VAR 0 3
1984: PPUSH
1985: CALL_OW 137
// end ;
1989: GO 1934
1991: POP
1992: POP
// for i = 1 to 2 do
1993: LD_ADDR_VAR 0 2
1997: PUSH
1998: DOUBLE
1999: LD_INT 1
2001: DEC
2002: ST_TO_ADDR
2003: LD_INT 2
2005: PUSH
2006: FOR_TO
2007: IFFALSE 2063
// begin PrepareSoldier ( 0 , s ) ;
2009: LD_INT 0
2011: PPUSH
2012: LD_VAR 0 1
2016: PPUSH
2017: CALL_OW 381
// h = CreateHuman ;
2021: LD_ADDR_VAR 0 3
2025: PUSH
2026: CALL_OW 44
2030: ST_TO_ADDR
// PlaceUnitXYR ( h , 173 , 86 , 2 , false ) ;
2031: LD_VAR 0 3
2035: PPUSH
2036: LD_INT 173
2038: PPUSH
2039: LD_INT 86
2041: PPUSH
2042: LD_INT 2
2044: PPUSH
2045: LD_INT 0
2047: PPUSH
2048: CALL_OW 50
// ComCrawl ( h ) ;
2052: LD_VAR 0 3
2056: PPUSH
2057: CALL_OW 137
// end ;
2061: GO 2006
2063: POP
2064: POP
// end ;
2065: PPOPN 3
2067: END
// every 0 0$1 do var i ;
2068: GO 2070
2070: DISABLE
2071: LD_INT 0
2073: PPUSH
// begin uc_side = 2 ;
2074: LD_ADDR_OWVAR 20
2078: PUSH
2079: LD_INT 2
2081: ST_TO_ADDR
// uc_nation = 2 ;
2082: LD_ADDR_OWVAR 21
2086: PUSH
2087: LD_INT 2
2089: ST_TO_ADDR
// InitHc ;
2090: CALL_OW 19
// InitVc ;
2094: CALL_OW 20
// vc_weapon = ar_multimissile_ballista ;
2098: LD_ADDR_OWVAR 40
2102: PUSH
2103: LD_INT 22
2105: ST_TO_ADDR
// vc_chassis = ar_light_trike ;
2106: LD_ADDR_OWVAR 37
2110: PUSH
2111: LD_INT 12
2113: ST_TO_ADDR
// vc_control = control_manual ;
2114: LD_ADDR_OWVAR 38
2118: PUSH
2119: LD_INT 1
2121: ST_TO_ADDR
// vc_engine = engine_combustion ;
2122: LD_ADDR_OWVAR 39
2126: PUSH
2127: LD_INT 1
2129: ST_TO_ADDR
// pv = CreateVehicle ;
2130: LD_ADDR_EXP 9
2134: PUSH
2135: CALL_OW 45
2139: ST_TO_ADDR
// PlaceUnitXY ( pv , 156 , 39 , false ) ;
2140: LD_EXP 9
2144: PPUSH
2145: LD_INT 156
2147: PPUSH
2148: LD_INT 39
2150: PPUSH
2151: LD_INT 0
2153: PPUSH
2154: CALL_OW 48
// PrepareMechanic ( 0 , [ 1 , 2 , 3 ] [ difficulty ] ) ;
2158: LD_INT 0
2160: PPUSH
2161: LD_INT 1
2163: PUSH
2164: LD_INT 2
2166: PUSH
2167: LD_INT 3
2169: PUSH
2170: EMPTY
2171: LIST
2172: LIST
2173: LIST
2174: PUSH
2175: LD_OWVAR 67
2179: ARRAY
2180: PPUSH
2181: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , pv ) ;
2185: CALL_OW 44
2189: PPUSH
2190: LD_EXP 9
2194: PPUSH
2195: CALL_OW 52
// while IsOK ( pv ) and GetSide ( pv ) = 2 do
2199: LD_EXP 9
2203: PPUSH
2204: CALL_OW 302
2208: PUSH
2209: LD_EXP 9
2213: PPUSH
2214: CALL_OW 255
2218: PUSH
2219: LD_INT 2
2221: EQUAL
2222: AND
2223: IFFALSE 2398
// begin Wait ( 0 0$1 ) ;
2225: LD_INT 35
2227: PPUSH
2228: CALL_OW 67
// if not HasTask ( pv ) then
2232: LD_EXP 9
2236: PPUSH
2237: CALL_OW 314
2241: NOT
2242: IFFALSE 2396
// for i in [ [ 152 , 71 ] , [ 124 , 72 ] , [ 102 , 56 ] , [ 88 , 62 ] , [ 90 , 85 ] , [ 113 , 89 ] , [ 116 , 70 ] , [ 146 , 80 ] , [ 158 , 35 ] ] do
2244: LD_ADDR_VAR 0 1
2248: PUSH
2249: LD_INT 152
2251: PUSH
2252: LD_INT 71
2254: PUSH
2255: EMPTY
2256: LIST
2257: LIST
2258: PUSH
2259: LD_INT 124
2261: PUSH
2262: LD_INT 72
2264: PUSH
2265: EMPTY
2266: LIST
2267: LIST
2268: PUSH
2269: LD_INT 102
2271: PUSH
2272: LD_INT 56
2274: PUSH
2275: EMPTY
2276: LIST
2277: LIST
2278: PUSH
2279: LD_INT 88
2281: PUSH
2282: LD_INT 62
2284: PUSH
2285: EMPTY
2286: LIST
2287: LIST
2288: PUSH
2289: LD_INT 90
2291: PUSH
2292: LD_INT 85
2294: PUSH
2295: EMPTY
2296: LIST
2297: LIST
2298: PUSH
2299: LD_INT 113
2301: PUSH
2302: LD_INT 89
2304: PUSH
2305: EMPTY
2306: LIST
2307: LIST
2308: PUSH
2309: LD_INT 116
2311: PUSH
2312: LD_INT 70
2314: PUSH
2315: EMPTY
2316: LIST
2317: LIST
2318: PUSH
2319: LD_INT 146
2321: PUSH
2322: LD_INT 80
2324: PUSH
2325: EMPTY
2326: LIST
2327: LIST
2328: PUSH
2329: LD_INT 158
2331: PUSH
2332: LD_INT 35
2334: PUSH
2335: EMPTY
2336: LIST
2337: LIST
2338: PUSH
2339: EMPTY
2340: LIST
2341: LIST
2342: LIST
2343: LIST
2344: LIST
2345: LIST
2346: LIST
2347: LIST
2348: LIST
2349: PUSH
2350: FOR_IN
2351: IFFALSE 2394
// begin AddComAgressiveMove ( pv , i [ 1 ] , i [ 2 ] ) ;
2353: LD_EXP 9
2357: PPUSH
2358: LD_VAR 0 1
2362: PUSH
2363: LD_INT 1
2365: ARRAY
2366: PPUSH
2367: LD_VAR 0 1
2371: PUSH
2372: LD_INT 2
2374: ARRAY
2375: PPUSH
2376: CALL_OW 174
// AddComWait ( pv , 0 0$1 ) ;
2380: LD_EXP 9
2384: PPUSH
2385: LD_INT 35
2387: PPUSH
2388: CALL_OW 202
// end ;
2392: GO 2350
2394: POP
2395: POP
// end ;
2396: GO 2199
// uc_side = 2 ;
2398: LD_ADDR_OWVAR 20
2402: PUSH
2403: LD_INT 2
2405: ST_TO_ADDR
// uc_nation = 2 ;
2406: LD_ADDR_OWVAR 21
2410: PUSH
2411: LD_INT 2
2413: ST_TO_ADDR
// vc_weapon = ar_gatling_gun ;
2414: LD_ADDR_OWVAR 40
2418: PUSH
2419: LD_INT 25
2421: ST_TO_ADDR
// vc_chassis = ar_medium_trike ;
2422: LD_ADDR_OWVAR 37
2426: PUSH
2427: LD_INT 13
2429: ST_TO_ADDR
// pv2 = CreateVehicle ;
2430: LD_ADDR_EXP 10
2434: PUSH
2435: CALL_OW 45
2439: ST_TO_ADDR
// PlaceUnitXY ( pv2 , 156 , 39 , false ) ;
2440: LD_EXP 10
2444: PPUSH
2445: LD_INT 156
2447: PPUSH
2448: LD_INT 39
2450: PPUSH
2451: LD_INT 0
2453: PPUSH
2454: CALL_OW 48
// InitHc ;
2458: CALL_OW 19
// PrepareMechanic ( false , [ 2 , 3 , 3 ] [ difficulty ] ) ;
2462: LD_INT 0
2464: PPUSH
2465: LD_INT 2
2467: PUSH
2468: LD_INT 3
2470: PUSH
2471: LD_INT 3
2473: PUSH
2474: EMPTY
2475: LIST
2476: LIST
2477: LIST
2478: PUSH
2479: LD_OWVAR 67
2483: ARRAY
2484: PPUSH
2485: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , pv2 ) ;
2489: CALL_OW 44
2493: PPUSH
2494: LD_EXP 10
2498: PPUSH
2499: CALL_OW 52
// while IsOK ( pv2 ) and GetSide ( pv2 ) = 2 do
2503: LD_EXP 10
2507: PPUSH
2508: CALL_OW 302
2512: PUSH
2513: LD_EXP 10
2517: PPUSH
2518: CALL_OW 255
2522: PUSH
2523: LD_INT 2
2525: EQUAL
2526: AND
2527: IFFALSE 2691
// begin Wait ( 0 0$1 ) ;
2529: LD_INT 35
2531: PPUSH
2532: CALL_OW 67
// if not HasTask ( pv2 ) then
2536: LD_EXP 10
2540: PPUSH
2541: CALL_OW 314
2545: NOT
2546: IFFALSE 2689
// for i in [ [ 152 , 71 ] , [ 124 , 72 ] , [ 88 , 62 ] , [ 90 , 85 ] , [ 113 , 89 ] , [ 116 , 70 ] , [ 146 , 80 ] , [ 158 , 35 ] ] do
2548: LD_ADDR_VAR 0 1
2552: PUSH
2553: LD_INT 152
2555: PUSH
2556: LD_INT 71
2558: PUSH
2559: EMPTY
2560: LIST
2561: LIST
2562: PUSH
2563: LD_INT 124
2565: PUSH
2566: LD_INT 72
2568: PUSH
2569: EMPTY
2570: LIST
2571: LIST
2572: PUSH
2573: LD_INT 88
2575: PUSH
2576: LD_INT 62
2578: PUSH
2579: EMPTY
2580: LIST
2581: LIST
2582: PUSH
2583: LD_INT 90
2585: PUSH
2586: LD_INT 85
2588: PUSH
2589: EMPTY
2590: LIST
2591: LIST
2592: PUSH
2593: LD_INT 113
2595: PUSH
2596: LD_INT 89
2598: PUSH
2599: EMPTY
2600: LIST
2601: LIST
2602: PUSH
2603: LD_INT 116
2605: PUSH
2606: LD_INT 70
2608: PUSH
2609: EMPTY
2610: LIST
2611: LIST
2612: PUSH
2613: LD_INT 146
2615: PUSH
2616: LD_INT 80
2618: PUSH
2619: EMPTY
2620: LIST
2621: LIST
2622: PUSH
2623: LD_INT 158
2625: PUSH
2626: LD_INT 35
2628: PUSH
2629: EMPTY
2630: LIST
2631: LIST
2632: PUSH
2633: EMPTY
2634: LIST
2635: LIST
2636: LIST
2637: LIST
2638: LIST
2639: LIST
2640: LIST
2641: LIST
2642: PUSH
2643: FOR_IN
2644: IFFALSE 2687
// begin AddComAgressiveMove ( pv2 , i [ 1 ] , i [ 2 ] ) ;
2646: LD_EXP 10
2650: PPUSH
2651: LD_VAR 0 1
2655: PUSH
2656: LD_INT 1
2658: ARRAY
2659: PPUSH
2660: LD_VAR 0 1
2664: PUSH
2665: LD_INT 2
2667: ARRAY
2668: PPUSH
2669: CALL_OW 174
// AddComWait ( pv2 , 0 0$3 ) ;
2673: LD_EXP 10
2677: PPUSH
2678: LD_INT 105
2680: PPUSH
2681: CALL_OW 202
// end ;
2685: GO 2643
2687: POP
2688: POP
// end ;
2689: GO 2503
// end ;
2691: PPOPN 1
2693: END
// every 0 0$1 do
2694: GO 2696
2696: DISABLE
// begin enable ;
2697: ENABLE
// if IsInArea ( pv , ArabianBaseArea ) and not See ( 4 , pv ) then
2698: LD_EXP 9
2702: PPUSH
2703: LD_INT 6
2705: PPUSH
2706: CALL_OW 308
2710: PUSH
2711: LD_INT 4
2713: PPUSH
2714: LD_EXP 9
2718: PPUSH
2719: CALL_OW 292
2723: NOT
2724: AND
2725: IFFALSE 2739
// SetFuel ( pv , 100 ) ;
2727: LD_EXP 9
2731: PPUSH
2732: LD_INT 100
2734: PPUSH
2735: CALL_OW 240
// if IsInArea ( pv2 , ArabianBaseArea ) and not See ( 4 , pv2 ) then
2739: LD_EXP 10
2743: PPUSH
2744: LD_INT 6
2746: PPUSH
2747: CALL_OW 308
2751: PUSH
2752: LD_INT 4
2754: PPUSH
2755: LD_EXP 10
2759: PPUSH
2760: CALL_OW 292
2764: NOT
2765: AND
2766: IFFALSE 2780
// SetFuel ( pv2 , 100 ) ;
2768: LD_EXP 10
2772: PPUSH
2773: LD_INT 100
2775: PPUSH
2776: CALL_OW 240
// end ;
2780: END
// export function PrepareArabBase ; var i , s ; begin
2781: LD_INT 0
2783: PPUSH
2784: PPUSH
2785: PPUSH
// uc_side = 2 ;
2786: LD_ADDR_OWVAR 20
2790: PUSH
2791: LD_INT 2
2793: ST_TO_ADDR
// uc_nation = 2 ;
2794: LD_ADDR_OWVAR 21
2798: PUSH
2799: LD_INT 2
2801: ST_TO_ADDR
// s = [ Rand ( 1 , 2 ) , Rand ( 2 , 3 ) , Rand ( 2 , 4 ) ] [ difficulty ] ;
2802: LD_ADDR_VAR 0 3
2806: PUSH
2807: LD_INT 1
2809: PPUSH
2810: LD_INT 2
2812: PPUSH
2813: CALL_OW 12
2817: PUSH
2818: LD_INT 2
2820: PPUSH
2821: LD_INT 3
2823: PPUSH
2824: CALL_OW 12
2828: PUSH
2829: LD_INT 2
2831: PPUSH
2832: LD_INT 4
2834: PPUSH
2835: CALL_OW 12
2839: PUSH
2840: EMPTY
2841: LIST
2842: LIST
2843: LIST
2844: PUSH
2845: LD_OWVAR 67
2849: ARRAY
2850: ST_TO_ADDR
// if difficulty = 1 then
2851: LD_OWVAR 67
2855: PUSH
2856: LD_INT 1
2858: EQUAL
2859: IFFALSE 2868
// RemoveUnit ( ar_v3 ) ;
2861: LD_INT 87
2863: PPUSH
2864: CALL_OW 64
// for i in FilterAllUnits ( [ [ f_side , 2 ] , [ f_or , [ f_btype , b_breastwork ] , [ f_btype , b_bunker ] , [ f_btype , b_armoury ] ] ] ) do
2868: LD_ADDR_VAR 0 2
2872: PUSH
2873: LD_INT 22
2875: PUSH
2876: LD_INT 2
2878: PUSH
2879: EMPTY
2880: LIST
2881: LIST
2882: PUSH
2883: LD_INT 2
2885: PUSH
2886: LD_INT 30
2888: PUSH
2889: LD_INT 31
2891: PUSH
2892: EMPTY
2893: LIST
2894: LIST
2895: PUSH
2896: LD_INT 30
2898: PUSH
2899: LD_INT 32
2901: PUSH
2902: EMPTY
2903: LIST
2904: LIST
2905: PUSH
2906: LD_INT 30
2908: PUSH
2909: LD_INT 4
2911: PUSH
2912: EMPTY
2913: LIST
2914: LIST
2915: PUSH
2916: EMPTY
2917: LIST
2918: LIST
2919: LIST
2920: LIST
2921: PUSH
2922: EMPTY
2923: LIST
2924: LIST
2925: PPUSH
2926: CALL_OW 69
2930: PUSH
2931: FOR_IN
2932: IFFALSE 2966
// begin InitHc ;
2934: CALL_OW 19
// PrepareSoldier ( 0 , s ) ;
2938: LD_INT 0
2940: PPUSH
2941: LD_VAR 0 3
2945: PPUSH
2946: CALL_OW 381
// PlaceHumanInUnit ( CreateHuman , i ) ;
2950: CALL_OW 44
2954: PPUSH
2955: LD_VAR 0 2
2959: PPUSH
2960: CALL_OW 52
// end ;
2964: GO 2931
2966: POP
2967: POP
// for i in FilterAllUnits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] ] ) do
2968: LD_ADDR_VAR 0 2
2972: PUSH
2973: LD_INT 22
2975: PUSH
2976: LD_INT 2
2978: PUSH
2979: EMPTY
2980: LIST
2981: LIST
2982: PUSH
2983: LD_INT 21
2985: PUSH
2986: LD_INT 2
2988: PUSH
2989: EMPTY
2990: LIST
2991: LIST
2992: PUSH
2993: EMPTY
2994: LIST
2995: LIST
2996: PPUSH
2997: CALL_OW 69
3001: PUSH
3002: FOR_IN
3003: IFFALSE 3037
// begin InitHc ;
3005: CALL_OW 19
// PrepareMechanic ( 0 , s ) ;
3009: LD_INT 0
3011: PPUSH
3012: LD_VAR 0 3
3016: PPUSH
3017: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , i ) ;
3021: CALL_OW 44
3025: PPUSH
3026: LD_VAR 0 2
3030: PPUSH
3031: CALL_OW 52
// end ;
3035: GO 3002
3037: POP
3038: POP
// InitHc ;
3039: CALL_OW 19
// PrepareEngineer ( 0 , s ) ;
3043: LD_INT 0
3045: PPUSH
3046: LD_VAR 0 3
3050: PPUSH
3051: CALL_OW 382
// PlaceUnitArea ( CreateHuman , ArabianRepairs , false ) ;
3055: CALL_OW 44
3059: PPUSH
3060: LD_INT 9
3062: PPUSH
3063: LD_INT 0
3065: PPUSH
3066: CALL_OW 49
// end ; end_of_file
3070: LD_VAR 0 1
3074: RET
// export ArabianEngineer , ArabianDefences , ArabianDefenders , ArabianEnemies ; export ArabianRepairStrategy , ArabianDefenceStrategy ; export function InitArabianMacros ; begin
3075: LD_INT 0
3077: PPUSH
// ArabianEngineer = FilterAllUnits ( [ [ f_side , 2 ] , [ f_class , class_engineer ] ] ) ;
3078: LD_ADDR_EXP 12
3082: PUSH
3083: LD_INT 22
3085: PUSH
3086: LD_INT 2
3088: PUSH
3089: EMPTY
3090: LIST
3091: LIST
3092: PUSH
3093: LD_INT 25
3095: PUSH
3096: LD_INT 2
3098: PUSH
3099: EMPTY
3100: LIST
3101: LIST
3102: PUSH
3103: EMPTY
3104: LIST
3105: LIST
3106: PPUSH
3107: CALL_OW 69
3111: ST_TO_ADDR
// ArabianDefences = FilterAllUnits ( [ [ f_side , 2 ] , [ f_or , [ f_btype , b_breastwork ] , [ f_btype , b_bunker ] ] ] ) ;
3112: LD_ADDR_EXP 13
3116: PUSH
3117: LD_INT 22
3119: PUSH
3120: LD_INT 2
3122: PUSH
3123: EMPTY
3124: LIST
3125: LIST
3126: PUSH
3127: LD_INT 2
3129: PUSH
3130: LD_INT 30
3132: PUSH
3133: LD_INT 31
3135: PUSH
3136: EMPTY
3137: LIST
3138: LIST
3139: PUSH
3140: LD_INT 30
3142: PUSH
3143: LD_INT 32
3145: PUSH
3146: EMPTY
3147: LIST
3148: LIST
3149: PUSH
3150: EMPTY
3151: LIST
3152: LIST
3153: LIST
3154: PUSH
3155: EMPTY
3156: LIST
3157: LIST
3158: PPUSH
3159: CALL_OW 69
3163: ST_TO_ADDR
// ArabianEnemies = McRegistry ( 2 , [ [ mc_reg_area_to_protect , ArabianBaseArea ] , [ mc_reg_refresh_time , 0 0$1 ] ] ) ;
3164: LD_ADDR_EXP 15
3168: PUSH
3169: LD_INT 2
3171: PPUSH
3172: LD_INT 3
3174: PUSH
3175: LD_INT 6
3177: PUSH
3178: EMPTY
3179: LIST
3180: LIST
3181: PUSH
3182: LD_INT 1
3184: PUSH
3185: LD_INT 35
3187: PUSH
3188: EMPTY
3189: LIST
3190: LIST
3191: PUSH
3192: EMPTY
3193: LIST
3194: LIST
3195: PPUSH
3196: CALL_OW 399
3200: ST_TO_ADDR
// end ;
3201: LD_VAR 0 1
3205: RET
// every 0 0$1 trigger ArabianEngineer do var i ;
3206: LD_EXP 12
3210: IFFALSE 3497
3212: GO 3214
3214: DISABLE
3215: LD_INT 0
3217: PPUSH
// begin enable ;
3218: ENABLE
// if ExistMc ( ArabianRepairStrategy ) and FilterAllUnits ( [ [ f_side , 1 ] , [ f_see , 2 ] ] ) then
3219: LD_EXP 16
3223: PPUSH
3224: CALL_OW 386
3228: PUSH
3229: LD_INT 22
3231: PUSH
3232: LD_INT 1
3234: PUSH
3235: EMPTY
3236: LIST
3237: LIST
3238: PUSH
3239: LD_INT 101
3241: PUSH
3242: LD_INT 2
3244: PUSH
3245: EMPTY
3246: LIST
3247: LIST
3248: PUSH
3249: EMPTY
3250: LIST
3251: LIST
3252: PPUSH
3253: CALL_OW 69
3257: AND
3258: IFFALSE 3298
// begin KillMc ( ArabianRepairStrategy ) ;
3260: LD_EXP 16
3264: PPUSH
3265: CALL_OW 387
// for i in ArabianEngineer do
3269: LD_ADDR_VAR 0 1
3273: PUSH
3274: LD_EXP 12
3278: PUSH
3279: FOR_IN
3280: IFFALSE 3296
// ComEnterUnit ( i , ad ) ;
3282: LD_VAR 0 1
3286: PPUSH
3287: LD_INT 51
3289: PPUSH
3290: CALL_OW 120
3294: GO 3279
3296: POP
3297: POP
// end ; if not ExistMc ( ArabianRepairStrategy ) and not FilterAllUnits ( [ [ f_side , 1 ] , [ f_see , 2 ] ] ) then
3298: LD_EXP 16
3302: PPUSH
3303: CALL_OW 386
3307: NOT
3308: PUSH
3309: LD_INT 22
3311: PUSH
3312: LD_INT 1
3314: PUSH
3315: EMPTY
3316: LIST
3317: LIST
3318: PUSH
3319: LD_INT 101
3321: PUSH
3322: LD_INT 2
3324: PUSH
3325: EMPTY
3326: LIST
3327: LIST
3328: PUSH
3329: EMPTY
3330: LIST
3331: LIST
3332: PPUSH
3333: CALL_OW 69
3337: NOT
3338: AND
3339: IFFALSE 3414
// begin for i in ArabianEngineer do
3341: LD_ADDR_VAR 0 1
3345: PUSH
3346: LD_EXP 12
3350: PUSH
3351: FOR_IN
3352: IFFALSE 3365
// ComExitBuilding ( i ) ;
3354: LD_VAR 0 1
3358: PPUSH
3359: CALL_OW 122
3363: GO 3351
3365: POP
3366: POP
// ArabianRepairStrategy = McRepair ( 1 , ArabianEngineer , ArabianDefences , [ [ mcr_bui_limit , 1000 ] , [ mcr_area_only , ArabianBaseArea ] ] ) ;
3367: LD_ADDR_EXP 16
3371: PUSH
3372: LD_INT 1
3374: PPUSH
3375: LD_EXP 12
3379: PPUSH
3380: LD_EXP 13
3384: PPUSH
3385: LD_INT 6
3387: PUSH
3388: LD_INT 1000
3390: PUSH
3391: EMPTY
3392: LIST
3393: LIST
3394: PUSH
3395: LD_INT 3
3397: PUSH
3398: LD_INT 6
3400: PUSH
3401: EMPTY
3402: LIST
3403: LIST
3404: PUSH
3405: EMPTY
3406: LIST
3407: LIST
3408: PPUSH
3409: CALL_OW 414
3413: ST_TO_ADDR
// end ; if GetListOfCratesInArea ( ArabianCratesArea ) then
3414: LD_INT 7
3416: PPUSH
3417: CALL_OW 435
3421: IFFALSE 3497
// for i in ArabianEngineer do
3423: LD_ADDR_VAR 0 1
3427: PUSH
3428: LD_EXP 12
3432: PUSH
3433: FOR_IN
3434: IFFALSE 3495
// if not HasTask ( i ) and not IsInUnit ( i ) then
3436: LD_VAR 0 1
3440: PPUSH
3441: CALL_OW 314
3445: NOT
3446: PUSH
3447: LD_VAR 0 1
3451: PPUSH
3452: CALL_OW 310
3456: NOT
3457: AND
3458: IFFALSE 3493
// ComCollect ( i , GetListOfCratesInArea ( ArabianCratesArea ) [ 1 ] , GetListOfCratesInArea ( ArabianCratesArea ) [ 2 ] ) ;
3460: LD_VAR 0 1
3464: PPUSH
3465: LD_INT 7
3467: PPUSH
3468: CALL_OW 435
3472: PUSH
3473: LD_INT 1
3475: ARRAY
3476: PPUSH
3477: LD_INT 7
3479: PPUSH
3480: CALL_OW 435
3484: PUSH
3485: LD_INT 2
3487: ARRAY
3488: PPUSH
3489: CALL_OW 117
3493: GO 3433
3495: POP
3496: POP
// end ;
3497: PPOPN 1
3499: END
// every 0 0$1 do var i ;
3500: GO 3502
3502: DISABLE
3503: LD_INT 0
3505: PPUSH
// begin enable ;
3506: ENABLE
// if not ExistMc ( ArabianDefenceStrategy ) and FilterAllUnits ( [ [ f_side , 1 ] , [ f_see , 2 ] ] ) then
3507: LD_EXP 17
3511: PPUSH
3512: CALL_OW 386
3516: NOT
3517: PUSH
3518: LD_INT 22
3520: PUSH
3521: LD_INT 1
3523: PUSH
3524: EMPTY
3525: LIST
3526: LIST
3527: PUSH
3528: LD_INT 101
3530: PUSH
3531: LD_INT 2
3533: PUSH
3534: EMPTY
3535: LIST
3536: LIST
3537: PUSH
3538: EMPTY
3539: LIST
3540: LIST
3541: PPUSH
3542: CALL_OW 69
3546: AND
3547: IFFALSE 3637
// begin ArabianDefenders = FilterUnitsInArea ( ArabianBaseArea , [ [ f_side , 2 ] , [ f_type , unit_vehicle ] ] ) diff [ pv , pv2 ] ;
3549: LD_ADDR_EXP 14
3553: PUSH
3554: LD_INT 6
3556: PPUSH
3557: LD_INT 22
3559: PUSH
3560: LD_INT 2
3562: PUSH
3563: EMPTY
3564: LIST
3565: LIST
3566: PUSH
3567: LD_INT 21
3569: PUSH
3570: LD_INT 2
3572: PUSH
3573: EMPTY
3574: LIST
3575: LIST
3576: PUSH
3577: EMPTY
3578: LIST
3579: LIST
3580: PPUSH
3581: CALL_OW 70
3585: PUSH
3586: LD_EXP 9
3590: PUSH
3591: LD_EXP 10
3595: PUSH
3596: EMPTY
3597: LIST
3598: LIST
3599: DIFF
3600: ST_TO_ADDR
// ArabianDefenceStrategy = McDefend ( 1 , ArabianEnemies , ArabianDefenders , [ [ mc_area_dont_leave , ArabianBaseArea ] ] ) ;
3601: LD_ADDR_EXP 17
3605: PUSH
3606: LD_INT 1
3608: PPUSH
3609: LD_EXP 15
3613: PPUSH
3614: LD_EXP 14
3618: PPUSH
3619: LD_INT 2
3621: PUSH
3622: LD_INT 6
3624: PUSH
3625: EMPTY
3626: LIST
3627: LIST
3628: PUSH
3629: EMPTY
3630: LIST
3631: PPUSH
3632: CALL_OW 401
3636: ST_TO_ADDR
// end ; if ExistMc ( ArabianDefenceStrategy ) and not FilterAllUnits ( [ [ f_side , 1 ] , [ f_see , 2 ] ] ) then
3637: LD_EXP 17
3641: PPUSH
3642: CALL_OW 386
3646: PUSH
3647: LD_INT 22
3649: PUSH
3650: LD_INT 1
3652: PUSH
3653: EMPTY
3654: LIST
3655: LIST
3656: PUSH
3657: LD_INT 101
3659: PUSH
3660: LD_INT 2
3662: PUSH
3663: EMPTY
3664: LIST
3665: LIST
3666: PUSH
3667: EMPTY
3668: LIST
3669: LIST
3670: PPUSH
3671: CALL_OW 69
3675: NOT
3676: AND
3677: IFFALSE 3688
// KillMc ( ArabianDefenceStrategy ) ;
3679: LD_EXP 17
3683: PPUSH
3684: CALL_OW 387
// for i in ArabianDefenders do
3688: LD_ADDR_VAR 0 1
3692: PUSH
3693: LD_EXP 14
3697: PUSH
3698: FOR_IN
3699: IFFALSE 3773
// begin if not IsInArea ( i , ArabianBaseArea ) then
3701: LD_VAR 0 1
3705: PPUSH
3706: LD_INT 6
3708: PPUSH
3709: CALL_OW 308
3713: NOT
3714: IFFALSE 3728
// ComMoveToArea ( i , ArabianBaseArea ) ;
3716: LD_VAR 0 1
3720: PPUSH
3721: LD_INT 6
3723: PPUSH
3724: CALL_OW 113
// if not IsOK ( i ) or GetSide ( i ) <> 2 then
3728: LD_VAR 0 1
3732: PPUSH
3733: CALL_OW 302
3737: NOT
3738: PUSH
3739: LD_VAR 0 1
3743: PPUSH
3744: CALL_OW 255
3748: PUSH
3749: LD_INT 2
3751: NONEQUAL
3752: OR
3753: IFFALSE 3771
// ArabianDefenders = ArabianDefenders diff i ;
3755: LD_ADDR_EXP 14
3759: PUSH
3760: LD_EXP 14
3764: PUSH
3765: LD_VAR 0 1
3769: DIFF
3770: ST_TO_ADDR
// end ;
3771: GO 3698
3773: POP
3774: POP
// end ;
3775: PPOPN 1
3777: END
// every 0 0$1 trigger ArabianDefenders do var i , m ;
3778: LD_EXP 14
3782: IFFALSE 4035
3784: GO 3786
3786: DISABLE
3787: LD_INT 0
3789: PPUSH
3790: PPUSH
// begin enable ;
3791: ENABLE
// for i in ArabianDefenders do
3792: LD_ADDR_VAR 0 1
3796: PUSH
3797: LD_EXP 14
3801: PUSH
3802: FOR_IN
3803: IFFALSE 4033
// begin if GetLives ( i ) < 500 then
3805: LD_VAR 0 1
3809: PPUSH
3810: CALL_OW 256
3814: PUSH
3815: LD_INT 500
3817: LESS
3818: IFFALSE 3847
// begin m = IsDrivenBy ( i ) ;
3820: LD_ADDR_VAR 0 2
3824: PUSH
3825: LD_VAR 0 1
3829: PPUSH
3830: CALL_OW 311
3834: ST_TO_ADDR
// ComMoveToArea ( i , ArabianRepairs ) ;
3835: LD_VAR 0 1
3839: PPUSH
3840: LD_INT 9
3842: PPUSH
3843: CALL_OW 113
// end ; if IsInArea ( i , ArabianRepairs ) then
3847: LD_VAR 0 1
3851: PPUSH
3852: LD_INT 9
3854: PPUSH
3855: CALL_OW 308
3859: IFFALSE 4031
// begin if IsDrivenBy ( i ) and GetLives ( i ) < 1000 and not See ( 1 , i ) then
3861: LD_VAR 0 1
3865: PPUSH
3866: CALL_OW 311
3870: PUSH
3871: LD_VAR 0 1
3875: PPUSH
3876: CALL_OW 256
3880: PUSH
3881: LD_INT 1000
3883: LESS
3884: AND
3885: PUSH
3886: LD_INT 1
3888: PPUSH
3889: LD_VAR 0 1
3893: PPUSH
3894: CALL_OW 292
3898: NOT
3899: AND
3900: IFFALSE 3925
// begin AddComExitVehicle ( i ) ;
3902: LD_VAR 0 1
3906: PPUSH
3907: CALL_OW 181
// AddComRepairVehicle ( m , i ) ;
3911: LD_VAR 0 2
3915: PPUSH
3916: LD_VAR 0 1
3920: PPUSH
3921: CALL_OW 189
// end ; if not IsDrivenBy ( i ) then
3925: LD_VAR 0 1
3929: PPUSH
3930: CALL_OW 311
3934: NOT
3935: IFFALSE 4031
// if GetLives ( i ) = 1000 or See ( 1 , i ) then
3937: LD_VAR 0 1
3941: PPUSH
3942: CALL_OW 256
3946: PUSH
3947: LD_INT 1000
3949: EQUAL
3950: PUSH
3951: LD_INT 1
3953: PPUSH
3954: LD_VAR 0 1
3958: PPUSH
3959: CALL_OW 292
3963: OR
3964: IFFALSE 4031
// begin m = NearestUnitToUnit ( FilterAllUnits ( [ [ f_side , GetSide ( i ) ] , [ f_class , class_mechanic ] ] ) , i ) ;
3966: LD_ADDR_VAR 0 2
3970: PUSH
3971: LD_INT 22
3973: PUSH
3974: LD_VAR 0 1
3978: PPUSH
3979: CALL_OW 255
3983: PUSH
3984: EMPTY
3985: LIST
3986: LIST
3987: PUSH
3988: LD_INT 25
3990: PUSH
3991: LD_INT 3
3993: PUSH
3994: EMPTY
3995: LIST
3996: LIST
3997: PUSH
3998: EMPTY
3999: LIST
4000: LIST
4001: PPUSH
4002: CALL_OW 69
4006: PPUSH
4007: LD_VAR 0 1
4011: PPUSH
4012: CALL_OW 74
4016: ST_TO_ADDR
// ComEnterUnit ( m , i ) ;
4017: LD_VAR 0 2
4021: PPUSH
4022: LD_VAR 0 1
4026: PPUSH
4027: CALL_OW 120
// end ; end ; end ;
4031: GO 3802
4033: POP
4034: POP
// end ;
4035: PPOPN 2
4037: END
// every 20 20$0 trigger TestVariable ( EpsilonCleaned ) = false do var a , i , go ;
4038: LD_STRING EpsilonCleaned
4040: PPUSH
4041: CALL_OW 27
4045: PUSH
4046: LD_INT 0
4048: EQUAL
4049: IFFALSE 4372
4051: GO 4053
4053: DISABLE
4054: LD_INT 0
4056: PPUSH
4057: PPUSH
4058: PPUSH
// begin uc_side = 2 ;
4059: LD_ADDR_OWVAR 20
4063: PUSH
4064: LD_INT 2
4066: ST_TO_ADDR
// uc_nation = 2 ;
4067: LD_ADDR_OWVAR 21
4071: PUSH
4072: LD_INT 2
4074: ST_TO_ADDR
// InitHc ;
4075: CALL_OW 19
// for i = 1 to 2 do
4079: LD_ADDR_VAR 0 2
4083: PUSH
4084: DOUBLE
4085: LD_INT 1
4087: DEC
4088: ST_TO_ADDR
4089: LD_INT 2
4091: PUSH
4092: FOR_TO
4093: IFFALSE 4140
// begin PrepareSoldier ( 0 , [ 2 , 2 , 3 ] [ difficulty ] ) ;
4095: LD_INT 0
4097: PPUSH
4098: LD_INT 2
4100: PUSH
4101: LD_INT 2
4103: PUSH
4104: LD_INT 3
4106: PUSH
4107: EMPTY
4108: LIST
4109: LIST
4110: LIST
4111: PUSH
4112: LD_OWVAR 67
4116: ARRAY
4117: PPUSH
4118: CALL_OW 381
// a = a ^ CreateHuman ;
4122: LD_ADDR_VAR 0 1
4126: PUSH
4127: LD_VAR 0 1
4131: PUSH
4132: CALL_OW 44
4136: ADD
4137: ST_TO_ADDR
// end ;
4138: GO 4092
4140: POP
4141: POP
// vc_chassis = ar_light_trike ;
4142: LD_ADDR_OWVAR 37
4146: PUSH
4147: LD_INT 12
4149: ST_TO_ADDR
// vc_engine = engine_combustion ;
4150: LD_ADDR_OWVAR 39
4154: PUSH
4155: LD_INT 1
4157: ST_TO_ADDR
// vc_control = control_manual ;
4158: LD_ADDR_OWVAR 38
4162: PUSH
4163: LD_INT 1
4165: ST_TO_ADDR
// vc_weapon = ar_double_machine_gun ;
4166: LD_ADDR_OWVAR 40
4170: PUSH
4171: LD_INT 24
4173: ST_TO_ADDR
// if difficulty > 1 then
4174: LD_OWVAR 67
4178: PUSH
4179: LD_INT 1
4181: GREATER
4182: IFFALSE 4200
// a = a ^ CreateVehicle ;
4184: LD_ADDR_VAR 0 1
4188: PUSH
4189: LD_VAR 0 1
4193: PUSH
4194: CALL_OW 45
4198: ADD
4199: ST_TO_ADDR
// for i in a do
4200: LD_ADDR_VAR 0 2
4204: PUSH
4205: LD_VAR 0 1
4209: PUSH
4210: FOR_IN
4211: IFFALSE 4286
// begin PlaceUnitArea ( i , ArabianHelpEnter , false ) ;
4213: LD_VAR 0 2
4217: PPUSH
4218: LD_INT 10
4220: PPUSH
4221: LD_INT 0
4223: PPUSH
4224: CALL_OW 49
// if GetType ( i ) = unit_vehicle then
4228: LD_VAR 0 2
4232: PPUSH
4233: CALL_OW 247
4237: PUSH
4238: LD_INT 2
4240: EQUAL
4241: IFFALSE 4284
// begin PrepareMechanic ( 0 , [ 0 , 1 , 2 ] [ difficulty ] ) ;
4243: LD_INT 0
4245: PPUSH
4246: LD_INT 0
4248: PUSH
4249: LD_INT 1
4251: PUSH
4252: LD_INT 2
4254: PUSH
4255: EMPTY
4256: LIST
4257: LIST
4258: LIST
4259: PUSH
4260: LD_OWVAR 67
4264: ARRAY
4265: PPUSH
4266: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , i ) ;
4270: CALL_OW 44
4274: PPUSH
4275: LD_VAR 0 2
4279: PPUSH
4280: CALL_OW 52
// end ; end ;
4284: GO 4210
4286: POP
4287: POP
// go = McMove ( 1 , a , [ [ 152 , 93 ] , [ 152 , 73 ] , [ 156 , 61 ] , [ 156 , 30 ] ] , [ [ mc_move_agressive ] , [ mc_move_wait , 6 ] ] ) ;
4288: LD_ADDR_VAR 0 3
4292: PUSH
4293: LD_INT 1
4295: PPUSH
4296: LD_VAR 0 1
4300: PPUSH
4301: LD_INT 152
4303: PUSH
4304: LD_INT 93
4306: PUSH
4307: EMPTY
4308: LIST
4309: LIST
4310: PUSH
4311: LD_INT 152
4313: PUSH
4314: LD_INT 73
4316: PUSH
4317: EMPTY
4318: LIST
4319: LIST
4320: PUSH
4321: LD_INT 156
4323: PUSH
4324: LD_INT 61
4326: PUSH
4327: EMPTY
4328: LIST
4329: LIST
4330: PUSH
4331: LD_INT 156
4333: PUSH
4334: LD_INT 30
4336: PUSH
4337: EMPTY
4338: LIST
4339: LIST
4340: PUSH
4341: EMPTY
4342: LIST
4343: LIST
4344: LIST
4345: LIST
4346: PPUSH
4347: LD_INT 6
4349: PUSH
4350: EMPTY
4351: LIST
4352: PUSH
4353: LD_INT 1
4355: PUSH
4356: LD_INT 6
4358: PUSH
4359: EMPTY
4360: LIST
4361: LIST
4362: PUSH
4363: EMPTY
4364: LIST
4365: LIST
4366: PPUSH
4367: CALL_OW 398
4371: ST_TO_ADDR
// end ;
4372: PPOPN 3
4374: END
