/* Ausgabe der Bild-Parameter */

#include <exec/types.h>
#include <math.h>
#include <libraries/dos.h>


/* Definition des Info-Chunks */
struct INFOC          /* Info-Datei                               */
{
 float rmin;          /* xmin,xmax,ymin,ymax                      */
 float rmax;          /* rel. Koordinaten des Bildes              */
 float imin;
 float imax;
 float cre;           /* cre, cim fuer Julia-Mengen               */
 float cim;
 short mx;            /* mx,my augenblickliche Koordinaten        */
 short my;
 int   nmax;          /* Bild-Parameter                           */
 int   noff;
 float emin,emax;
 char  mode;          /* Berechnungsmodus?                        */
 char  res;           /* Aufloesung des Bildes                    */
 char  dim;           /* 3D Bild?                                 */
 char  half_brite;    /* HALF_BRITE Modus?                        */
 char  text[256];
} MyInfo;

char name[100];
long file;


main(argc,argv)
int argc;
char *argv[];
{
 if(argc<2)
 {
   printf("Eingabe: %s [Bild-File]\n",argv[0]);
   exit(FALSE);
 }
 strcpy(name,argv[1]);
 strcpy(name+strlen(name),".info");
 if((file=Open(name,MODE_OLDFILE))==0)
 {
    printf("kein Info-File vorhanden\n");
    exit(FALSE);
 }
 Read(file,&MyInfo,sizeof(MyInfo));
 Close(file);
 printf("File: %s\n\n",name);
 printf("Koordinaten: ");
 printf("[%f,%f][%f,%f]\n",MyInfo.rmin,MyInfo.rmax,MyInfo.imin,MyInfo.imax);
 printf("cre: %f  cim:%f\n",MyInfo.cre,MyInfo.cim);
 printf("zuletzt berechneter Punkt: ");
 printf("[%d,%d]\n",MyInfo.mx,MyInfo.my);
 printf("nmax: %d  noff: %f\n",MyInfo.nmax,MyInfo.noff);
 printf("emin: %f  emax: %f\n",MyInfo.emin,MyInfo.emax);
 printf("Aufloesung: ");
 switch(MyInfo.res) /* Aufloesung */
 {
    case 0: /* 320x250x5(6) */
            printf("320x250\n");
            break;
    case 1: /* 640x250x4 */
            printf("640x250\n");
            break;
    case 2: /* 320x500x5(6) */
            printf("320x500\n");
            break;
    case 3: /* 640x500x4 */
            printf("640x500\n");
            break;
 }
 printf("Half-Brite-Modus (64 Farben) ");
 if(MyInfo.half_brite==0) printf("nicht ");
 printf("gewaehlt.\n3-D Modus ");
 if(MyInfo.dim==0) printf("nicht ");
 printf("gewaehlt.\nFunktion: ");
 switch(MyInfo.mode) /* Funktion */
 {
    case 0: /* z^3-1 */
            printf("z^3-1 (Newton-Verfahren)\n");
            break;
    case 1: /* z^4-1 */
            printf("z^4-1 (Newton-Verfahren)\n");
            break;
    case 2: /* z^5-1 */
            printf("z^5-1 (Newton-Verfahren)\n");
            break;
    case 3: /* z^2-c */
            printf("z^2-c (Apfelmaennchen)\n");
            break;
    case 4: /* z^3-c */
            printf("z^3-c\n");
            break;
    case 5: /* z^4-c */
            printf("z^4-c\n");
            break;
    case 6: /* z^5-c */
            printf("z^5-c\n");
            break;
    case 7: /* J z^2-c */
            printf("z^2-c (Julia)\n");
            break;
    case 8: /* J z^3-c */
            printf("z^3-c (J)\n");
            break;
    case 9: /* J z^4-c */
            printf("z^4-c (J)\n");
            break;
    case 10: /* J z^5-c */
            printf("z^5-c (J)\n");
            break;
    case 11: /* Erweiterung */
            printf("Erweiterung\n");
            break;
 }
 printf("\n%s\n",MyInfo.text);
 exit(TRUE);
}
