/* LevelSUPP UNIT v0.1

   Provides functions to Load/Save level for Flashback 0.9+

   Copyright © 2000 Nogfx - NicoEFE@ifrance.com*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

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

#include <clib/dos_protos.h>

#include "FlashProtos/FlashGame.h"
  /*struct brique {
                  int couleur,x1,y1,coup;
                };

  struct grille {
                  struct brique tab[10][12];
                  int score,levelsize,total;
                };

    */
void LoadLevel(int levelnumber,struct grille *level, STRPTR fichier);
void SaveLevel(int levelnumber,struct grille *level, STRPTR fichier);


void LoadLevel(int levelnumber,struct grille *level,STRPTR fichier)
{
         BPTR file;
         file=Open(fichier,MODE_READWRITE);
         if (levelnumber>1) Seek(file,(sizeof(struct grille)*(levelnumber-1)),OFFSET_BEGINNING);
         Read(file,(char *)level,sizeof(struct grille));
         Close(file);
    //seek(f,level-1);
    //read(f,LoadLevel);
}

void SaveLevel(int levelnumber, struct grille *level, STRPTR fichier)
{
         BPTR file;
         file=Open(fichier,MODE_READWRITE);
         if (levelnumber>1) Seek(file,(sizeof(struct grille)*(levelnumber-1)),OFFSET_BEGINNING);
         Write(file,(char *)level,sizeof(struct grille));
         Close(file);
    //write(f,level);
    //SaveLevel:=0;
}

void test(struct grille *e) {
    //e=15;
    }

int main(void) {
 int a,b,c,n;
 struct grille *ert=malloc(sizeof(struct grille));
 //ert->tab[2][3].couleur=15;

 for (a=0;a<=10;a++)
 for (b=0;b<=12;b++)
 {
 ert->tab[a][b].couleur=0;
 ert->tab[a][b].y1=0;
 ert->tab[a][b].x1=0;
 ert->tab[a][b].coup=0;
    }
 ert->score=0;
 ert->scoretotal=0;
 ert->taille=0;
 ert->total=0;
 ert->total=44;
 ert->taille=44;
 for (a=0;a<=10;a++)
 for (b=1;b<=6;b++) {n=scanf("%d",&c);
    ert->tab[a][b].couleur=c;
    }

 SaveLevel(4,ert,"dat/Levels.dat");
 //test(a);
 //while ((a=getchar())!=EOF){ printf("%c\n",a);}

 //b=scanf("%d",&a);
 //printf("vous avez entrez: %d\n",a);

 //SaveLevel(ert);
 //LoadLevel(1,ert);
 //printf("Essai: %d\n",ert->tab[2][3].couleur);
 if (ert) free(ert);
 }

