1. package Entities.Sprites.Keen4 is 
  2.  
  3.     pragma Elaborate_Body; 
  4.  
  5. private 
  6.  
  7.     type Blue_1UP is new Sprite with null record; 
  8.  
  9.     procedure Construct( this : access Blue_1UP ); 
  10.  
  11.     -- The access returned by this procedure should not be modified, it is for 
  12.     -- reference only! This function uses an unprotected library-level variable 
  13.     -- for caching the frames for Blue_1UP. 
  14.     function Frame_Array( this : not null access Blue_1UP'Class ) return A_Tile_Id_Array; 
  15.  
  16.     function Object_Input( stream : access Root_Stream_Type'Class ) return Blue_1UP; 
  17.     for Blue_1UP'Input use Object_Input; 
  18.  
  19.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Blue_1UP ); 
  20.     for Blue_1UP'Read use Object_Read; 
  21.  
  22.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Blue_1UP ); 
  23.     for Blue_1UP'Write use Object_Write; 
  24.  
  25.     ---------------------------------------------------------------------------- 
  26.  
  27.     type Collect_Drop is new Sprite with null record; 
  28.  
  29.     procedure Construct( this : access Collect_Drop ); 
  30.  
  31.     -- The access returned by this procedure should not be modified, it is for 
  32.     -- reference only! This function uses an unprotected library-level variable 
  33.     -- for caching the frames for Collect_Drop. 
  34.     function Frame_Array( this : not null access Collect_Drop'Class ) return A_Tile_Id_Array; 
  35.  
  36.     function Object_Input( stream : access Root_Stream_Type'Class ) return Collect_Drop; 
  37.     for Collect_Drop'Input use Object_Input; 
  38.  
  39.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Collect_Drop ); 
  40.     for Collect_Drop'Read use Object_Read; 
  41.  
  42.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Collect_Drop ); 
  43.     for Collect_Drop'Write use Object_Write; 
  44.  
  45.     ---------------------------------------------------------------------------- 
  46.  
  47.     type Collect_Gem is new Sprite with null record; 
  48.  
  49.     procedure Construct( this : access Collect_Gem ); 
  50.  
  51.     -- The access returned by this procedure should not be modified, it is for 
  52.     -- reference only! This function uses an unprotected library-level variable 
  53.     -- for caching the frames for Collect_Gem. 
  54.     function Frame_Array( this : not null access Collect_Gem'Class ) return A_Tile_Id_Array; 
  55.  
  56.     function Object_Input( stream : access Root_Stream_Type'Class ) return Collect_Gem; 
  57.     for Collect_Gem'Input use Object_Input; 
  58.  
  59.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Collect_Gem ); 
  60.     for Collect_Gem'Read use Object_Read; 
  61.  
  62.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Collect_Gem ); 
  63.     for Collect_Gem'Write use Object_Write; 
  64.  
  65.     ---------------------------------------------------------------------------- 
  66.  
  67.     type Collect_Stunner is new Sprite with null record; 
  68.  
  69.     procedure Construct( this : access Collect_Stunner ); 
  70.  
  71.     -- The access returned by this procedure should not be modified, it is for 
  72.     -- reference only! This function uses an unprotected library-level variable 
  73.     -- for caching the frames for Collect_Stunner. 
  74.     function Frame_Array( this : not null access Collect_Stunner'Class ) return A_Tile_Id_Array; 
  75.  
  76.     function Object_Input( stream : access Root_Stream_Type'Class ) return Collect_Stunner; 
  77.     for Collect_Stunner'Input use Object_Input; 
  78.  
  79.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Collect_Stunner ); 
  80.     for Collect_Stunner'Read use Object_Read; 
  81.  
  82.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Collect_Stunner ); 
  83.     for Collect_Stunner'Write use Object_Write; 
  84.  
  85.     ---------------------------------------------------------------------------- 
  86.  
  87.     type Points_100 is new Sprite with null record; 
  88.  
  89.     procedure Construct( this : access Points_100 ); 
  90.  
  91.     -- The access returned by this procedure should not be modified, it is for 
  92.     -- reference only! This function uses an unprotected library-level variable 
  93.     -- for caching the frames for Points_100. 
  94.     function Frame_Array( this : not null access Points_100'Class ) return A_Tile_Id_Array; 
  95.  
  96.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_100; 
  97.     for Points_100'Input use Object_Input; 
  98.  
  99.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_100 ); 
  100.     for Points_100'Read use Object_Read; 
  101.  
  102.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_100 ); 
  103.     for Points_100'Write use Object_Write; 
  104.  
  105.     ---------------------------------------------------------------------------- 
  106.  
  107.     type Points_200 is new Sprite with null record; 
  108.  
  109.     procedure Construct( this : access Points_200 ); 
  110.  
  111.     -- The access returned by this procedure should not be modified, it is for 
  112.     -- reference only! This function uses an unprotected library-level variable 
  113.     -- for caching the frames for Points_200. 
  114.     function Frame_Array( this : not null access Points_200'Class ) return A_Tile_Id_Array; 
  115.  
  116.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_200; 
  117.     for Points_200'Input use Object_Input; 
  118.  
  119.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_200 ); 
  120.     for Points_200'Read use Object_Read; 
  121.  
  122.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_200 ); 
  123.     for Points_200'Write use Object_Write; 
  124.  
  125.     ---------------------------------------------------------------------------- 
  126.  
  127.     type Points_500 is new Sprite with null record; 
  128.  
  129.     procedure Construct( this : access Points_500 ); 
  130.  
  131.     -- The access returned by this procedure should not be modified, it is for 
  132.     -- reference only! This function uses an unprotected library-level variable 
  133.     -- for caching the frames for Points_500. 
  134.     function Frame_Array( this : not null access Points_500'Class ) return A_Tile_Id_Array; 
  135.  
  136.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_500; 
  137.     for Points_500'Input use Object_Input; 
  138.  
  139.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_500 ); 
  140.     for Points_500'Read use Object_Read; 
  141.  
  142.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_500 ); 
  143.     for Points_500'Write use Object_Write; 
  144.  
  145.     ---------------------------------------------------------------------------- 
  146.  
  147.     type Points_1000 is new Sprite with null record; 
  148.  
  149.     procedure Construct( this : access Points_1000 ); 
  150.  
  151.     -- The access returned by this procedure should not be modified, it is for 
  152.     -- reference only! This function uses an unprotected library-level variable 
  153.     -- for caching the frames for Points_1000. 
  154.     function Frame_Array( this : not null access Points_1000'Class ) return A_Tile_Id_Array; 
  155.  
  156.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_1000; 
  157.     for Points_1000'Input use Object_Input; 
  158.  
  159.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_1000 ); 
  160.     for Points_1000'Read use Object_Read; 
  161.  
  162.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_1000 ); 
  163.     for Points_1000'Write use Object_Write; 
  164.  
  165.     ---------------------------------------------------------------------------- 
  166.  
  167.     type Points_2000 is new Sprite with null record; 
  168.  
  169.     procedure Construct( this : access Points_2000 ); 
  170.  
  171.     -- The access returned by this procedure should not be modified, it is for 
  172.     -- reference only! This function uses an unprotected library-level variable 
  173.     -- for caching the frames for Points_2000. 
  174.     function Frame_Array( this : not null access Points_2000'Class ) return A_Tile_Id_Array; 
  175.  
  176.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_2000; 
  177.     for Points_2000'Input use Object_Input; 
  178.  
  179.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_2000 ); 
  180.     for Points_2000'Read use Object_Read; 
  181.  
  182.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_2000 ); 
  183.     for Points_2000'Write use Object_Write; 
  184.  
  185.     ---------------------------------------------------------------------------- 
  186.  
  187.     type Points_5000 is new Sprite with null record; 
  188.  
  189.     procedure Construct( this : access Points_5000 ); 
  190.  
  191.     -- The access returned by this procedure should not be modified, it is for 
  192.     -- reference only! This function uses an unprotected library-level variable 
  193.     -- for caching the frames for Points_5000. 
  194.     function Frame_Array( this : not null access Points_5000'Class ) return A_Tile_Id_Array; 
  195.  
  196.     function Object_Input( stream : access Root_Stream_Type'Class ) return Points_5000; 
  197.     for Points_5000'Input use Object_Input; 
  198.  
  199.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Points_5000 ); 
  200.     for Points_5000'Read use Object_Read; 
  201.  
  202.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Points_5000 ); 
  203.     for Points_5000'Write use Object_Write; 
  204.  
  205.     ---------------------------------------------------------------------------- 
  206.  
  207.     type Stunner_Blast is new Sprite with null record; 
  208.  
  209.     procedure Construct( this : access Stunner_Blast ); 
  210.  
  211.     -- The access returned by this procedure should not be modified, it is for 
  212.     -- reference only! This function uses an unprotected library-level variable 
  213.     -- for caching the frames for Stunner_Blast. 
  214.     function Frame_Array( this : not null access Stunner_Blast'Class ) return A_Tile_Id_Array; 
  215.  
  216.     function Object_Input( stream : access Root_Stream_Type'Class ) return Stunner_Blast; 
  217.     for Stunner_Blast'Input use Object_Input; 
  218.  
  219.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Stunner_Blast ); 
  220.     for Stunner_Blast'Read use Object_Read; 
  221.  
  222.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Stunner_Blast ); 
  223.     for Stunner_Blast'Write use Object_Write; 
  224.  
  225.     ---------------------------------------------------------------------------- 
  226.  
  227.     type Stunner_Shot is new Sprite with null record; 
  228.  
  229.     procedure Construct( this : access Stunner_Shot ); 
  230.  
  231.     procedure Explode( this : not null access Stunner_Shot'Class ); 
  232.  
  233.     -- The access returned by this procedure should not be modified, it is for 
  234.     -- reference only! This function uses an unprotected library-level variable 
  235.     -- for caching the frames for Stunner_Shot. 
  236.     function Frame_Array( this : not null access Stunner_Shot'Class ) return A_Tile_Id_Array; 
  237.  
  238.     function Object_Input( stream : access Root_Stream_Type'Class ) return Stunner_Shot; 
  239.     for Stunner_Shot'Input use Object_Input; 
  240.  
  241.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Stunner_Shot ); 
  242.     for Stunner_Shot'Read use Object_Read; 
  243.  
  244.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Stunner_Shot ); 
  245.     for Stunner_Shot'Write use Object_Write; 
  246.  
  247.     procedure On_Hit_Wall( this : access Stunner_Shot; dir : Cardinal_Direction ); 
  248.  
  249.     procedure Tick( this : access Stunner_Shot; upTime, dt : Time_Span ); 
  250.  
  251.     ---------------------------------------------------------------------------- 
  252.  
  253.     type Yellow_1UP is new Sprite with null record; 
  254.  
  255.     procedure Construct( this : access Yellow_1UP ); 
  256.  
  257.     -- The access returned by this procedure should not be modified, it is for 
  258.     -- reference only! This function uses an unprotected library-level variable 
  259.     -- for caching the frames for Yellow_1UP. 
  260.     function Frame_Array( this : not null access Yellow_1UP'Class ) return A_Tile_Id_Array; 
  261.  
  262.     function Object_Input( stream : access Root_Stream_Type'Class ) return Yellow_1UP; 
  263.     for Yellow_1UP'Input use Object_Input; 
  264.  
  265.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Yellow_1UP ); 
  266.     for Yellow_1UP'Read use Object_Read; 
  267.  
  268.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Yellow_1UP ); 
  269.     for Yellow_1UP'Write use Object_Write; 
  270.  
  271. end Entities.Sprites.Keen4;