#include <exec/types.h>
#include <stdio.h>
#include <stdlib.h>

struct CARD
{
  char Images[7][80];
} Cards;

char File1[100];
char File2[100];
void sr(char *str);
void Convert(char *str1,char *str2);
int TLock(char *str);
void CleanCards();
#define ACCESS_READ -2L
main(int argc,char *argv[])
{
  if(argc!=3)
  {
    printf("AEDEX version 1.0, written by Joseph Hodge\n");
    printf("Usage: AEDEX <source text> <CardDeck>\n");
    printf("   ie: AEDEX REGISTERED:Registered.dat S:AMIGADEX.CARDS\n");
    printf("\n\n");
    exit(0);
  }
 
  strcpy(File1,argv[1]); sr(File1);
  strcpy(File2,argv[2]); sr(File2);
  if(!TLock(File1))
  {
    printf("\n");
    printf("Can't locate File %s\n",File1);
    printf("\n\n");
    exit(0);
  }
  /*if(!TLock(File2))
  {
    printf("\n");
    printf("Can't locate File %s\n",File2);
    printf("\n\n");
    exit(0);
  }*/
  Convert(File1,File2);
}

void Convert(char *str1,char *str2)
{
  char image[200];
  FILE *fi,*fo;
  register int i=0;
  UBYTE Constant=255;
  CleanCards();
  fi=fopen(str1,"r");
  fo=fopen(str2,"wb");
  
  while(fgets(image,80,fi)!=NULL)
  {
    sr(image);
    if(i==0)
    {
      fwrite((APTR)&Constant,sizeof(UBYTE),1,fo);
    }
    strcpy(Cards.Images[i],image);
    i++;
    if(i==7)
    {
      fwrite((APTR)&Cards,sizeof(struct CARD),1,fo);i=0; CleanCards();
    }
  }
  fclose(fi);
  fclose(fo);
}

void CleanCards()
{
   register int i=0,j=0;
   while(i<7)
   {
     while(j<79)
     {
       Cards.Images[i][j]='\0';
       j++;
     }
     i++;
   }
}
void sr(char *str)
{
  register int i;
  i=strlen(str)-1;
  while(i>-1)
  {
    if(*(str+i)<=32) *(str+i)='\0'; else break;
    i--;
  }
}
int TLock(char *str)
{
  long lock;
  if(lock=Lock(str,ACCESS_READ))
  {
    UnLock(lock); return(1);
  }
  return(0);
}