// export Antoine , Bojan , Mahmoud ; export s1 ; export function PrepareOurs ; var i , h ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
// uc_side = 2 ;
   5: LD_ADDR_OWVAR 20
   9: PUSH
  10: LD_INT 2
  12: ST_TO_ADDR
// uc_nation = 2 ;
  13: LD_ADDR_OWVAR 21
  17: PUSH
  18: LD_INT 2
  20: ST_TO_ADDR
// Bojan = NewCharacter ( Bojan ) ;
  21: LD_ADDR_EXP 2
  25: PUSH
  26: LD_STRING Bojan
  28: PPUSH
  29: CALL_OW 25
  33: ST_TO_ADDR
// PlaceHumanInUnit ( Bojan , d ) ;
  34: LD_EXP 2
  38: PPUSH
  39: LD_INT 3
  41: PPUSH
  42: CALL_OW 52
// Mahmoud = NewCharacter ( Mahmoud ) ;
  46: LD_ADDR_EXP 3
  50: PUSH
  51: LD_STRING Mahmoud
  53: PPUSH
  54: CALL_OW 25
  58: ST_TO_ADDR
// SetClass ( Mahmoud , class_desert_warior ) ;
  59: LD_EXP 3
  63: PPUSH
  64: LD_INT 11
  66: PPUSH
  67: CALL_OW 336
// PlaceHumanInUnit ( Mahmoud , d ) ;
  71: LD_EXP 3
  75: PPUSH
  76: LD_INT 3
  78: PPUSH
  79: CALL_OW 52
// for i in FilterAllUnits ( [ f_or , [ f_btype , b_breastwork ] , [ f_btype , b_bunker ] ] ) do
  83: LD_ADDR_VAR 0 2
  87: PUSH
  88: LD_INT 2
  90: PUSH
  91: LD_INT 30
  93: PUSH
  94: LD_INT 31
  96: PUSH
  97: EMPTY
  98: LIST
  99: LIST
 100: PUSH
 101: LD_INT 30
 103: PUSH
 104: LD_INT 32
 106: PUSH
 107: EMPTY
 108: LIST
 109: LIST
 110: PUSH
 111: EMPTY
 112: LIST
 113: LIST
 114: LIST
 115: PPUSH
 116: CALL_OW 69
 120: PUSH
 121: FOR_IN
 122: IFFALSE 172
// begin InitHc ;
 124: CALL_OW 19
// PrepareSoldier ( Rand ( 1 , 2 ) , 3 ) ;
 128: LD_INT 1
 130: PPUSH
 131: LD_INT 2
 133: PPUSH
 134: CALL_OW 12
 138: PPUSH
 139: LD_INT 3
 141: PPUSH
 142: CALL_OW 381
// h = CreateHuman ;
 146: LD_ADDR_VAR 0 3
 150: PUSH
 151: CALL_OW 44
 155: ST_TO_ADDR
// PlaceHumanInUnit ( h , i ) ;
 156: LD_VAR 0 3
 160: PPUSH
 161: LD_VAR 0 2
 165: PPUSH
 166: CALL_OW 52
// end ;
 170: GO 121
 172: POP
 173: POP
// PrepareMechanic ( false , 2 ) ;
 174: LD_INT 0
 176: PPUSH
 177: LD_INT 2
 179: PPUSH
 180: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , af ) ;
 184: CALL_OW 44
 188: PPUSH
 189: LD_INT 60
 191: PPUSH
 192: CALL_OW 52
// for i = 1 to 2 do
 196: LD_ADDR_VAR 0 2
 200: PUSH
 201: DOUBLE
 202: LD_INT 1
 204: DEC
 205: ST_TO_ADDR
 206: LD_INT 2
 208: PUSH
 209: FOR_TO
 210: IFFALSE 265
// begin InitHc ;
 212: CALL_OW 19
// PrepareHuman ( false , [ 3 , 4 ] [ i ] , 3 ) ;
 216: LD_INT 0
 218: PPUSH
 219: LD_INT 3
 221: PUSH
 222: LD_INT 4
 224: PUSH
 225: EMPTY
 226: LIST
 227: LIST
 228: PUSH
 229: LD_VAR 0 2
 233: ARRAY
 234: PPUSH
 235: LD_INT 3
 237: PPUSH
 238: CALL_OW 380
// PlaceUnitXYR ( CreateHuman , 48 , 29 , 2 , false ) ;
 242: CALL_OW 44
 246: PPUSH
 247: LD_INT 48
 249: PPUSH
 250: LD_INT 29
 252: PPUSH
 253: LD_INT 2
 255: PPUSH
 256: LD_INT 0
 258: PPUSH
 259: CALL_OW 50
// end ;
 263: GO 209
 265: POP
 266: POP
// Antoine = LoadCharacter ( Antoine , 1 , 0 ) ;
 267: LD_ADDR_EXP 1
 271: PUSH
 272: LD_STRING Antoine
 274: PPUSH
 275: LD_INT 1
 277: PPUSH
 278: LD_INT 0
 280: PPUSH
 281: CALL_OW 527
 285: ST_TO_ADDR
// PlaceHumanInUnit ( Antoine , ar ) ;
 286: LD_EXP 1
 290: PPUSH
 291: LD_INT 16
 293: PPUSH
 294: CALL_OW 52
// ComHold ( Antoine ) ;
 298: LD_EXP 1
 302: PPUSH
 303: CALL_OW 140
// InitHc ;
 307: CALL_OW 19
// PrepareSoldier ( 2 , 3 ) ;
 311: LD_INT 2
 313: PPUSH
 314: LD_INT 3
 316: PPUSH
 317: CALL_OW 381
// s1 = CreateHuman ;
 321: LD_ADDR_EXP 4
 325: PUSH
 326: CALL_OW 44
 330: ST_TO_ADDR
// PlaceHumanInUnit ( s1 , ar ) ;
 331: LD_EXP 4
 335: PPUSH
 336: LD_INT 16
 338: PPUSH
 339: CALL_OW 52
// SetBName ( d , kaaba ) ;
 343: LD_INT 3
 345: PPUSH
 346: LD_STRING kaaba
 348: PPUSH
 349: CALL_OW 500
// end ;
 353: LD_VAR 0 1
 357: RET
// starting begin Randomize ;
 358: CALL_OW 10
// ChangeSideFog ( 2 , 1 ) ;
 362: LD_INT 2
 364: PPUSH
 365: LD_INT 1
 367: PPUSH
 368: CALL_OW 343
// Query ( Q1 ) ;
 372: LD_STRING Q1
 374: PPUSH
 375: CALL_OW 97
// Query ( Q2 ) ;
 379: LD_STRING Q2
 381: PPUSH
 382: CALL_OW 97
// ChangeSideFog ( 2 , 2 ) ;
 386: LD_INT 2
 388: PPUSH
 389: LD_INT 2
 391: PPUSH
 392: CALL_OW 343
// RevealFogArea ( 2 , RevealArea ) ;
 396: LD_INT 2
 398: PPUSH
 399: LD_INT 1
 401: PPUSH
 402: CALL_OW 332
// PrepareOurs ;
 406: CALL 0 0 0
// InGameOn ;
 410: CALL_OW 8
// CenterNowOnUnits ( ar ) ;
 414: LD_INT 16
 416: PPUSH
 417: CALL_OW 87
// Wait ( 0 0$1 ) ;
 421: LD_INT 35
 423: PPUSH
 424: CALL_OW 67
// ComExitBuilding ( [ Antoine , s1 ] ) ;
 428: LD_EXP 1
 432: PUSH
 433: LD_EXP 4
 437: PUSH
 438: EMPTY
 439: LIST
 440: LIST
 441: PPUSH
 442: CALL_OW 122
// AddComMoveXY ( Antoine , 60 , 53 ) ;
 446: LD_EXP 1
 450: PPUSH
 451: LD_INT 60
 453: PPUSH
 454: LD_INT 53
 456: PPUSH
 457: CALL_OW 171
// AddComMoveXY ( s1 , 57 , 52 ) ;
 461: LD_EXP 4
 465: PPUSH
 466: LD_INT 57
 468: PPUSH
 469: LD_INT 52
 471: PPUSH
 472: CALL_OW 171
// AddComTurnUnit ( Antoine , s1 ) ;
 476: LD_EXP 1
 480: PPUSH
 481: LD_EXP 4
 485: PPUSH
 486: CALL_OW 179
// AddComTurnUnit ( s1 , Antoine ) ;
 490: LD_EXP 4
 494: PPUSH
 495: LD_EXP 1
 499: PPUSH
 500: CALL_OW 179
// CenterOnXY ( 58 , 47 ) ;
 504: LD_INT 58
 506: PPUSH
 507: LD_INT 47
 509: PPUSH
 510: CALL_OW 84
// Wait ( 0 0$1 ) ;
 514: LD_INT 35
 516: PPUSH
 517: CALL_OW 67
// Say ( s1 , di-s-1 ) ;
 521: LD_EXP 4
 525: PPUSH
 526: LD_STRING di-s-1
 528: PPUSH
 529: CALL_OW 88
// Say ( Antoine , di-a-1 ) ;
 533: LD_EXP 1
 537: PPUSH
 538: LD_STRING di-a-1
 540: PPUSH
 541: CALL_OW 88
// Wait ( 0 0$1 ) ;
 545: LD_INT 35
 547: PPUSH
 548: CALL_OW 67
// CenterOnXY ( 54 , 40 ) ;
 552: LD_INT 54
 554: PPUSH
 555: LD_INT 40
 557: PPUSH
 558: CALL_OW 84
// ComExitBuilding ( Bojan ) ;
 562: LD_EXP 2
 566: PPUSH
 567: CALL_OW 122
// ComExitBuilding ( Mahmoud ) ;
 571: LD_EXP 3
 575: PPUSH
 576: CALL_OW 122
// AddComMoveXY ( Mahmoud , 55 , 41 ) ;
 580: LD_EXP 3
 584: PPUSH
 585: LD_INT 55
 587: PPUSH
 588: LD_INT 41
 590: PPUSH
 591: CALL_OW 171
// Wait ( 0 0$0.5 ) ;
 595: LD_INT 18
 597: PPUSH
 598: CALL_OW 67
// AddComMoveXY ( Bojan , 52 , 42 ) ;
 602: LD_EXP 2
 606: PPUSH
 607: LD_INT 52
 609: PPUSH
 610: LD_INT 42
 612: PPUSH
 613: CALL_OW 171
// ComTurnUnit ( Antoine , d ) ;
 617: LD_EXP 1
 621: PPUSH
 622: LD_INT 3
 624: PPUSH
 625: CALL_OW 119
// Wait ( 0 0$3 ) ;
 629: LD_INT 105
 631: PPUSH
 632: CALL_OW 67
// Say ( Mahmoud , di-m-1 ) ;
 636: LD_EXP 3
 640: PPUSH
 641: LD_STRING di-m-1
 643: PPUSH
 644: CALL_OW 88
// ComEnterUnit ( s1 , ar ) ;
 648: LD_EXP 4
 652: PPUSH
 653: LD_INT 16
 655: PPUSH
 656: CALL_OW 120
// ComMoveXY ( Antoine , 57 , 46 ) ;
 660: LD_EXP 1
 664: PPUSH
 665: LD_INT 57
 667: PPUSH
 668: LD_INT 46
 670: PPUSH
 671: CALL_OW 111
// AddComHold ( [ Antoine , Bojan , Mahmoud ] ) ;
 675: LD_EXP 1
 679: PUSH
 680: LD_EXP 2
 684: PUSH
 685: LD_EXP 3
 689: PUSH
 690: EMPTY
 691: LIST
 692: LIST
 693: LIST
 694: PPUSH
 695: CALL_OW 200
// AddComTurnUnit ( [ Bojan , Mahmoud ] , Antoine ) ;
 699: LD_EXP 2
 703: PUSH
 704: LD_EXP 3
 708: PUSH
 709: EMPTY
 710: LIST
 711: LIST
 712: PPUSH
 713: LD_EXP 1
 717: PPUSH
 718: CALL_OW 179
// AddComTurnUnit ( Antoine , Bojan ) ;
 722: LD_EXP 1
 726: PPUSH
 727: LD_EXP 2
 731: PPUSH
 732: CALL_OW 179
// Wait ( 0 0$1 ) ;
 736: LD_INT 35
 738: PPUSH
 739: CALL_OW 67
// Say ( Mahmoud , di-m-2 ) ;
 743: LD_EXP 3
 747: PPUSH
 748: LD_STRING di-m-2
 750: PPUSH
 751: CALL_OW 88
// Say ( Bojan , di-b-1 ) ;
 755: LD_EXP 2
 759: PPUSH
 760: LD_STRING di-b-1
 762: PPUSH
 763: CALL_OW 88
// Say ( Antoine , di-a-3 ) ;
 767: LD_EXP 1
 771: PPUSH
 772: LD_STRING di-a-3
 774: PPUSH
 775: CALL_OW 88
// Say ( Bojan , di-b-2 ) ;
 779: LD_EXP 2
 783: PPUSH
 784: LD_STRING di-b-2
 786: PPUSH
 787: CALL_OW 88
// Say ( Mahmoud , di-m-3 ) ;
 791: LD_EXP 3
 795: PPUSH
 796: LD_STRING di-m-3
 798: PPUSH
 799: CALL_OW 88
// Say ( Antoine , di-a-4 ) ;
 803: LD_EXP 1
 807: PPUSH
 808: LD_STRING di-a-4
 810: PPUSH
 811: CALL_OW 88
// Say ( Mahmoud , di-m-4 ) ;
 815: LD_EXP 3
 819: PPUSH
 820: LD_STRING di-m-4
 822: PPUSH
 823: CALL_OW 88
// Wait ( 0 0$1 ) ;
 827: LD_INT 35
 829: PPUSH
 830: CALL_OW 67
// InGameOff ;
 834: CALL_OW 9
// ChangeMap ( 1 , %_cont ) ;
 838: LD_INT 1
 840: PPUSH
 841: LD_STRING %_cont
 843: PPUSH
 844: CALL_OW 340
// end ;
 848: END
