(******************************************************************************

    :Program.    LevelLoader.def
    :Contents.   module to load and save levels
    :Version.    0.1
    :Date.       17.10.91
    :Author.     Markus Uhlendahl    Peter Groth
    :Address.    Vorm Burgtor 16     Kleine Koppel 12
    :Address.    D-4408 Dülmen       D-4408 Dülmen
    :Phone.      02594/81540         02594/82375
    :Language.   Modula-2
    :Translator. M2Amiga 4.0d
    :History.    17.10.91 --- 0.1 --- created
                 07.12.91 --- 0.2 --- changed RequestLevel parameters, maxLevel
                                      must not be changed

******************************************************************************)
DEFINITION MODULE LevelLoader;


FROM Definitions IMPORT
  LevelFile,Modes;


CONST
  MaxLevelNum = 999;


TYPE
  LevelNumber = [0..MaxLevelNum];


PROCEDURE SelectLevel (VAR current   : LevelNumber;
                           maxLevel  : LevelNumber;
                           x,y,color : INTEGER);
(*:Remark. SetBPen ???? *)


PROCEDURE RequestLevel (VAR current  : LevelNumber;
                            save     : BOOLEAN;
                            maxLevel : LevelNumber) : BOOLEAN;
(*:Result. does the user want to load/save ? *)


PROCEDURE SaveLevel (number : LevelNumber;
                     level  : LevelFile) : LevelNumber;
(*:Result. the new maxlevelnumber *)


PROCEDURE LoadLevel (    number : LevelNumber;
                     VAR level  : LevelFile);
(*:Function. ... *)


PROCEDURE SetMode (mode : Modes) : LevelNumber;
(*:Input.    mode - the mode we want
  :Result.   the maxlevelnumber
  :Function. sets internal mode of LevelLoader
  :Remark.   call SetMode after every LevelEd call !!! *)


END LevelLoader.
