(* --------------------------------------------------------------------------

:Program.    ILBM.mod
:Contents.   Program to convert the CPic - Format into the IFF-ILBM Format.
:Author.     Thomas Zipproth
:Address.    Dr. Jochner Weg 10, 8948 Mindelheim, Germany
:Phone.      08261/4838
:Copyright.  PD
:Language.   Modula-2
:Translator. M2-Amiga A+l V3.2d
:Imports.    IFFSupport [fbs] Amok#6
:Imports.    CPicSupport [thz]
:Imports.    ToolSupport [thz]
:History.    V1.0 [thz] 15.7.90
:Usage.      ILBM <inputfile> <outputfile>")
:Usage.      inputfile  : Name of a CPic -  File
:Usage.      outputfile : Name of the converted IFF-ILBM File

---------------------------------------------------------------------------*)

(* $F- $S- $V- $R- *)
MODULE ILBM;

FROM Arts        IMPORT TermProcedure;
FROM Intuition   IMPORT CloseScreen,ScreenPtr;
FROM ToolSupport IMPORT GetArg,NumArgs,WriteString,WriteLn;
FROM CPicSupport IMPORT LoadCPicScreen,Cle;
FROM IFFSupport  IMPORT WriteILBMScreen;


VAR sp : ScreenPtr;
    Name,Name2 : ARRAY[0..79] OF CHAR;
    len : INTEGER;


PROCEDURE CleanUp;
BEGIN
  IF sp # NIL THEN CloseScreen(sp) END;
END CleanUp;


BEGIN

TermProcedure(CleanUp);

IF NumArgs()=2 THEN
  GetArg(1,Name,len);
  GetArg(2,Name2,len);
  IF LoadCPicScreen(Name,sp,0,0,FALSE) THEN
    IF NOT WriteILBMScreen(Name2,sp,NIL,TRUE) THEN
      WriteString("Couldn't save Picture !");WriteLn;WriteLn;
    END;
  ELSE IF Cle=10 THEN WriteString("Couldn't open File !");
         ELSIF Cle=11 THEN WriteString("File is not a CPic-File !");
         ELSIF Cle=12 THEN WriteString("Not enough Chip-Mem !");
         ELSIF Cle=15 THEN WriteString("Not enough Memory !");
         ELSIF Cle=16 THEN WriteString("Read - Error !");
         ELSIF ((Cle=13) OR (Cle=17)) THEN
           WriteString("File contains wrong data !");
         ELSE WriteString("Couldn't load File !");
       END;
       WriteLn;WriteLn;
  END;
ELSE
  WriteLn;
  WriteString("ILBM  V1.0  12.7.1990  by Thomas Zipproth");
  WriteLn;WriteLn;
  WriteString("Usage : ILBM <inputfile> <outputfile>");WriteLn;WriteLn;
  WriteString("inputfile  : Name of a CPic - File");WriteLn;
  WriteString("outputfile : Name of the converted IFF - ILBM File");
  WriteLn;WriteLn;
END;

END ILBM.
