/* Load.c - loadGfxs and closes files */

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

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

#include <clib/dos_protos.h>
#include <clib/alib_protos.h>

#include "FlashProtos/FlashLoad.h"

BPTR file;
BPTR file2;
BPTR file3;
BPTR file4;
BPTR file6;
long result;
long result2;
extern char *logo;      // Flahsback Logo
extern char *sprites;
extern ULONG palette2[770]; // Blank Palette
extern ULONG palette3[770]; // Flash Logo Palette
extern ULONG palette4[770]; // Sprites palette
extern void exitflash(int errorcode);

void LoadGfx(void) {

    file=Open((STRPTR)"gfx/sprites.raw",MODE_OLDFILE);
    if (!file) exitflash(FILEERROR);
    result=Seek(file,17+(256*3),OFFSET_CURRENT);  // We skip the Header&Palette Info
    if (result==-1) exitflash(FILEERROR);
    result2=Read(file,sprites,64000);
    if (result2==-1) exitflash(FILEERROR);


    file2=Open((STRPTR)"gfx/sprites.pal",MODE_OLDFILE);
    if (!file2) exitflash(FILEERROR);
    result2=Read(file2,palette4,3080);
    if (result2==-1) exitflash(FILEERROR);

    file3=Open((STRPTR)"gfx/blank.pal",MODE_OLDFILE);
    if (!file3) exitflash(FILEERROR);
    result2=Read(file3,palette2,3080);
    if (result2==-1) exitflash(FILEERROR);

    file4=Open((STRPTR)"gfx/drewlogo.raw",MODE_OLDFILE);
    if (!file4) exitflash(FILEERROR);
    result=Seek(file4,17+(256*3),OFFSET_CURRENT);  // We skip the Header&Palette Info
    if (result==-1) exitflash(FILEERROR);
    result2=Read(file4,logo,64000);
    if (result2==-1) exitflash(FILEERROR);

    file6=Open((STRPTR)"gfx/drewlogo.pal",MODE_OLDFILE);
    if (!file6) exitflash(FILEERROR);
    result2=Read(file6,palette3,3080);
    if (result2==-1) exitflash(FILEERROR);

    }

void CloseALLFiles(void) {
    //printf("Closing Files...\n");
    if (file) Close(file);
    if (file2) Close(file2);
    if (file3) Close(file3);
    if (file4) Close(file4);
    if (file6) Close(file6);
  }
