home *** CD-ROM | disk | FTP | other *** search
/ PC Format (Spanish) 3 / PCF3.iso / formula / starwar.sx_ / starwar.sx
Text File  |  1996-06-24  |  4KB  |  152 lines

  1. ///////////////////////////////////
  2. // Star Warriors select destroyer
  3. //
  4.  
  5. temp = new object list
  6. call set_camera_position
  7. call set_lights
  8. mat = new material color 128,128,128
  9. //call make_fighter1
  10. //call make_fighter2
  11. call make_fighter3
  12.  
  13. clear window
  14. render mode RENDER_QUICK
  15. return
  16.  
  17. initialize:
  18.     temp = new object list
  19.     rect = get element "rectangle"
  20.     render window rect.xpos, rect.ypos size rect.xlen, rect.ylen
  21.     call set_realtime_camera_position
  22.     call set_lights
  23.     mat = new material color 128,128,128
  24.     call make_fighter1
  25.     call make_fighter2
  26.     call make_fighter3
  27.     chosen_fighter = fighter2
  28.     render_mode = RENDER_QUICK
  29.  
  30. draw_angle: x, y
  31.     xa = (GRAPHICS_WINDOW_XMAX/2 - x) / GRAPHICS_WINDOW_XMAX * 4
  32.     ya = (GRAPHICS_WINDOW_YMAX/2 - y) / GRAPHICS_WINDOW_YMAX * 4
  33.     rotate y, xa
  34.     rotate x, ya
  35.     position mesh chosen_fighter
  36.     render background color 0,0,0
  37.     render mesh chosen_fighter mode render_mode
  38.  
  39. choose_fighter: ftr
  40.     switch ftr
  41.         case 1
  42.             chosen_fighter = fighter1
  43.         case 2
  44.             chosen_fighter = fighter2
  45.         case 3
  46.             chosen_fighter = fighter3
  47.  
  48. xray_view: state
  49.     if state then render_mode = RENDER_WIRE
  50.     else render_mode = RENDER_QUICK
  51.  
  52. set_realtime_camera_position:
  53.     position 0,0,-100
  54.     set camera
  55.  
  56. set_camera_position:
  57.     position 0,40,0
  58.     direction 0,0,0
  59.     set camera
  60.  
  61. set_lights:
  62.     position 0,0,-30
  63.     my_light = new light
  64.  
  65. make_fighter1:
  66.     fighter1 = new object list
  67.     p1 = new polygon 0,0,-20; 0,0,10; 10,-5,10 material mat
  68.     p2 = new polygon 0,0,-20; 0,0,10; -10,-5,10 material mat
  69.     p3 = new polygon 0,0,-20; 0,0,10; -10,5,10 material mat
  70.     p4 = new polygon 0,0,-20; 0,0,10; 10,5,10 material mat
  71.     p5 = new polygon 0,0,-20; 0,5,-10; 0,0,10 material mat
  72.     fighter1 push @p1
  73.     fighter1 push @p2
  74.     fighter1 push @p3
  75.     fighter1 push @p4
  76.     fighter1 push @p5
  77.     $p1.name = "f1p1"
  78.     $p2.name = "f1p2"
  79.     $p3.name = "f1p3"
  80.     $p4.name = "f1p4"
  81.     $p5.name = "f1p5"
  82.  
  83.     load "x3_wing1.gif" bitmap t1
  84.     load "x3_wing3.gif" bitmap t2
  85.     if GRAPHICS_WINDOW_BITS == 8
  86.         compose bitmap t1
  87.         compose bitmap t2
  88.         remap bitmap t1
  89.         remap bitmap t2
  90.     temp remove all
  91.     temp push @p1
  92.     temp push @p2
  93.     temp push @p3
  94.     temp push @p4
  95.     texture temp bitmap t1 planar y
  96.     temp remove all
  97.     temp push @p5
  98.     texture temp bitmap t2 planar x
  99.  
  100. make_fighter2:
  101.     debug "fighter 2"
  102.     fighter2 = new object list
  103.     p1 = new polygon 10,0,-10; 10,10,-6; 10,10,6; 10,0,10; 10,-10,6; 10,-10,-6 material mat
  104.     p2 = new polygon -10,0,-10; -10,10,-6; -10,10,6; -10,0,10; -10,-10,6; -10,-10,-6 material mat
  105.     p3 = new polygon 10,-5,0; -10,-5,0; -10,5,0; 10,5,0 material mat
  106.     fighter2 push @p1
  107.     fighter2 push @p2
  108.     fighter2 push @p3
  109.     $p1.name = "f2p1"
  110.     $p2.name = "f2p2"
  111.     $p3.name = "f2p3"
  112.  
  113.     load "x3_tie1.gif" bitmap t1
  114.     load "x3_tie2.gif" bitmap t2
  115.     if GRAPHICS_WINDOW_BITS == 8
  116.         compose bitmap t1
  117.         compose bitmap t2
  118.         remap bitmap t1
  119.         remap bitmap t2
  120.     temp remove all
  121.     temp push @p1
  122.     temp push @p2
  123.     texture temp bitmap t1 planar x
  124.     texture p3 bitmap t2
  125.  
  126. make_fighter3:
  127.     fighter3 = new object list
  128.     p1 = new polygon 0,10,0; 0,10,10; 0,0,10; 0,0,-20 material mat
  129.     p2 = new polygon 0,0,-20; 15,-5,0; 15,-5,10; 0,0,10 material mat
  130.     p3 = new polygon 0,0,-20; -15,-5,0; -15,-5,10; 0,0,10 material mat
  131.     fighter3 push @p1
  132.     fighter3 push @p2
  133.     fighter3 push @p3
  134.     $p1.name = "f3p1"
  135.     $p2.name = "f3p2"
  136.     $p3.name = "f3p3"
  137.  
  138.     load "x3_wing1.gif" bitmap t1
  139.     load "x3_wing2.gif" bitmap t2
  140.     if GRAPHICS_WINDOW_BITS == 8
  141.         compose bitmap t1
  142.         compose bitmap t2
  143.         remap bitmap t1
  144.         remap bitmap t2
  145.     temp remove all
  146.     temp push @p2
  147.     temp push @p3
  148.     texture temp bitmap t1 planar y
  149.     temp remove all
  150.     temp push @p1
  151.     texture temp bitmap t2 planar x
  152.