Use fopen/fread instead of open/read for config file. That's the way things should be done.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@68 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
e2a92f8b69
commit
c0125860d3
64
init.c
64
init.c
@ -19,28 +19,27 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "divers.h"
|
#include "divers.h"
|
||||||
|
#include "erreurs.h"
|
||||||
|
|
||||||
#include "errno.h"
|
#include "errno.h"
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include <endian.h>
|
#include <endian.h>
|
||||||
#include <byteswap.h>
|
#include <byteswap.h>
|
||||||
|
#elif __WATCOMC__
|
||||||
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// On déclare méchamment le prototype de Erreur pour éviter de faire un
|
|
||||||
// fichier "main.h":
|
|
||||||
void Erreur(int Code);
|
|
||||||
|
|
||||||
// Chercher le répertoire contenant GFX2.EXE
|
// Chercher le répertoire contenant GFX2.EXE
|
||||||
void Chercher_repertoire_du_programme(char * Chaine)
|
void Chercher_repertoire_du_programme(char * Chaine)
|
||||||
{
|
{
|
||||||
/*int Position;
|
#ifdef __WATCOMC__
|
||||||
|
GetCurrentDirectory(255,Repertoire_du_programme);
|
||||||
strcpy(Repertoire_du_programme,Chaine);
|
strcat(Repertoire_du_programme,"\\");
|
||||||
for (Position=strlen(Repertoire_du_programme);Repertoire_du_programme[Position]!='/';Position--); //sous linux c'est un /, sous windows c'est \\
|
#elif __linux__
|
||||||
Repertoire_du_programme[Position+1]='\0';*/
|
|
||||||
puts("Chercher_repertoire_du_programme: implémentation incomplète");
|
puts("Chercher_repertoire_du_programme: implémentation incomplète");
|
||||||
Repertoire_du_programme[0]=0; //On va travailler dans le dossier courant ...
|
Repertoire_du_programme[0]=0; //On va travailler dans le dossier courant ...
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -207,7 +206,7 @@ Ajouter_lecteur(0,DRIVE_HDD); //Le lecteur num
|
|||||||
|
|
||||||
#define DECRYPT_TAILLE_CLE 14
|
#define DECRYPT_TAILLE_CLE 14
|
||||||
byte Decrypt_compteur=0;
|
byte Decrypt_compteur=0;
|
||||||
char Decrypt_cle[DECRYPT_TAILLE_CLE]="Sunset Design";
|
const char Decrypt_cle[DECRYPT_TAILLE_CLE]="Sunset Design";
|
||||||
|
|
||||||
byte Decrypt(byte Octet)
|
byte Decrypt(byte Octet)
|
||||||
{
|
{
|
||||||
@ -232,7 +231,7 @@ void Decrypte(byte * Donnee,int Taille)
|
|||||||
|
|
||||||
void Charger_DAT(void)
|
void Charger_DAT(void)
|
||||||
{
|
{
|
||||||
int Handle;
|
FILE* Handle;
|
||||||
int Taille_fichier;
|
int Taille_fichier;
|
||||||
int Indice;
|
int Indice;
|
||||||
char Nom_du_fichier[256];
|
char Nom_du_fichier[256];
|
||||||
@ -260,54 +259,61 @@ void Charger_DAT(void)
|
|||||||
case ELOOP: puts("Trop de liens symboliques rencontrés dans le chemin d'accès."); break;
|
case ELOOP: puts("Trop de liens symboliques rencontrés dans le chemin d'accès."); break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Taille_fichier=Informations_Fichier.st_size;
|
Taille_fichier=Informations_Fichier.st_size;
|
||||||
if (Taille_fichier!=TAILLE_FICHIER_DATA)
|
if (Taille_fichier!=TAILLE_FICHIER_DATA)
|
||||||
|
{
|
||||||
|
DEBUG("Taille",0);
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
|
}
|
||||||
|
|
||||||
Handle=open(Nom_du_fichier,O_RDONLY);
|
Handle=fopen(Nom_du_fichier,"rb");
|
||||||
if (Handle==-1)
|
if (Handle==NULL)
|
||||||
|
{
|
||||||
|
DEBUG("Absent",0);
|
||||||
Erreur(ERREUR_DAT_ABSENT);
|
Erreur(ERREUR_DAT_ABSENT);
|
||||||
|
}
|
||||||
|
|
||||||
if (read(Handle,Palette_defaut,sizeof(T_Palette))!=sizeof(T_Palette))
|
if (fread(Palette_defaut,1,sizeof(T_Palette),Handle)!=sizeof(T_Palette))
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)Palette_defaut,sizeof(T_Palette));
|
Decrypte((byte *)Palette_defaut,sizeof(T_Palette));
|
||||||
|
|
||||||
if (read(Handle,BLOCK_MENU,LARGEUR_MENU*HAUTEUR_MENU)!=LARGEUR_MENU*HAUTEUR_MENU)
|
if (fread(BLOCK_MENU,1,LARGEUR_MENU*HAUTEUR_MENU,Handle)!=LARGEUR_MENU*HAUTEUR_MENU)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)BLOCK_MENU,LARGEUR_MENU*HAUTEUR_MENU);
|
Decrypte((byte *)BLOCK_MENU,LARGEUR_MENU*HAUTEUR_MENU);
|
||||||
|
|
||||||
if (read(Handle,SPRITE_EFFET,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS)!=
|
if (fread(SPRITE_EFFET,1,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS,Handle)!=
|
||||||
LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS)
|
LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)SPRITE_EFFET,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS);
|
Decrypte((byte *)SPRITE_EFFET,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_EFFETS);
|
||||||
|
|
||||||
if (read(Handle,SPRITE_CURSEUR,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR)!=
|
if (fread(SPRITE_CURSEUR,1,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR,Handle)!=
|
||||||
LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR)
|
LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)SPRITE_CURSEUR,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR);
|
Decrypte((byte *)SPRITE_CURSEUR,LARGEUR_SPRITE_CURSEUR*HAUTEUR_SPRITE_CURSEUR*NB_SPRITES_CURSEUR);
|
||||||
|
|
||||||
if (read(Handle,SPRITE_MENU,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU)!=
|
if (fread(SPRITE_MENU,1,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU,Handle)!=
|
||||||
LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU)
|
LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)SPRITE_MENU,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU);
|
Decrypte((byte *)SPRITE_MENU,LARGEUR_SPRITE_MENU*HAUTEUR_SPRITE_MENU*NB_SPRITES_MENU);
|
||||||
|
|
||||||
if (read(Handle,SPRITE_PINCEAU,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU)!=
|
if (fread(SPRITE_PINCEAU,1,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU,Handle)!=
|
||||||
LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU)
|
LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)SPRITE_PINCEAU,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU);
|
Decrypte((byte *)SPRITE_PINCEAU,LARGEUR_PINCEAU*HAUTEUR_PINCEAU*NB_SPRITES_PINCEAU);
|
||||||
|
|
||||||
if (read(Handle,SPRITE_DRIVE,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES)!=
|
if (fread(SPRITE_DRIVE,1,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES,Handle)!=
|
||||||
LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES)
|
LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)SPRITE_DRIVE,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES);
|
Decrypte((byte *)SPRITE_DRIVE,LARGEUR_SPRITE_DRIVE*HAUTEUR_SPRITE_DRIVE*NB_SPRITES_DRIVES);
|
||||||
|
|
||||||
if (!(Logo_GrafX2=(byte *)malloc(231*56)))
|
if (!(Logo_GrafX2=(byte *)malloc(231*56)))
|
||||||
Erreur(ERREUR_MEMOIRE);
|
Erreur(ERREUR_MEMOIRE);
|
||||||
if (read(Handle,Logo_GrafX2,231*56)!=(231*56))
|
if (fread(Logo_GrafX2,1,231*56,Handle)!=(231*56))
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte(Logo_GrafX2,231*56);
|
Decrypte(Logo_GrafX2,231*56);
|
||||||
|
|
||||||
if (read(Handle,TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES)!=2*16*NB_TRAMES_PREDEFINIES)
|
if (fread(TRAME_PREDEFINIE,1,2*16*NB_TRAMES_PREDEFINIES,Handle)!=2*16*NB_TRAMES_PREDEFINIES)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte *)TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES);
|
Decrypte((byte *)TRAME_PREDEFINIE,2*16*NB_TRAMES_PREDEFINIES);
|
||||||
|
|
||||||
@ -316,7 +322,7 @@ void Charger_DAT(void)
|
|||||||
Erreur(ERREUR_MEMOIRE);
|
Erreur(ERREUR_MEMOIRE);
|
||||||
|
|
||||||
// Lecture de la fonte systŠme
|
// Lecture de la fonte systŠme
|
||||||
if (read(Handle,Fonte_temporaire,2048)!=2048)
|
if (fread(Fonte_temporaire,1,2048,Handle)!=2048)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte(Fonte_temporaire,2048);
|
Decrypte(Fonte_temporaire,2048);
|
||||||
for (Indice=0;Indice<256;Indice++)
|
for (Indice=0;Indice<256;Indice++)
|
||||||
@ -325,7 +331,7 @@ void Charger_DAT(void)
|
|||||||
Fonte_systeme[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
|
Fonte_systeme[(Indice<<6)+(Pos_X<<3)+Pos_Y]=( ((*(Fonte_temporaire+(Indice*8)+Pos_Y))&(0x80>>Pos_X)) ? 1 : 0);
|
||||||
|
|
||||||
// Lecture de la fonte alternative
|
// Lecture de la fonte alternative
|
||||||
if (read(Handle,Fonte_temporaire,2048)!=2048)
|
if (fread(Fonte_temporaire,1,2048,Handle)!=2048)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte(Fonte_temporaire,2048);
|
Decrypte(Fonte_temporaire,2048);
|
||||||
for (Indice=0;Indice<256;Indice++)
|
for (Indice=0;Indice<256;Indice++)
|
||||||
@ -338,7 +344,7 @@ void Charger_DAT(void)
|
|||||||
Fonte=Fonte_systeme;
|
Fonte=Fonte_systeme;
|
||||||
|
|
||||||
// Lecture de la fonte 6x8: (spéciale aide)
|
// Lecture de la fonte 6x8: (spéciale aide)
|
||||||
if (read(Handle,Fonte_help,(315*6*8))!=(315*6*8))
|
if (fread(Fonte_help,1,315*6*8,Handle)!=(315*6*8))
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
Decrypte((byte*)Fonte_help,(315*6*8));
|
Decrypte((byte*)Fonte_help,(315*6*8));
|
||||||
|
|
||||||
@ -348,7 +354,7 @@ void Charger_DAT(void)
|
|||||||
for (Indice=0;Indice<NB_SECTIONS_AIDE;Indice++)
|
for (Indice=0;Indice<NB_SECTIONS_AIDE;Indice++)
|
||||||
{
|
{
|
||||||
// On lit le nombre de lignes:
|
// On lit le nombre de lignes:
|
||||||
if (read(Handle,&Mot_temporaire,2)!=2)
|
if (fread(&Mot_temporaire,1,2,Handle)!=2)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
#ifndef __WATCOMC__
|
#ifndef __WATCOMC__
|
||||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||||
@ -361,7 +367,7 @@ void Charger_DAT(void)
|
|||||||
Table_d_aide[Indice].Nombre_de_lignes=Mot_temporaire;
|
Table_d_aide[Indice].Nombre_de_lignes=Mot_temporaire;
|
||||||
|
|
||||||
// On lit la place que la section prend en mémoire:
|
// On lit la place que la section prend en mémoire:
|
||||||
if (read(Handle,&Mot_temporaire,2)!=2)
|
if (fread(&Mot_temporaire,1,2,Handle)!=2)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
#ifndef __WATCOMC__
|
#ifndef __WATCOMC__
|
||||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||||
@ -375,11 +381,11 @@ void Charger_DAT(void)
|
|||||||
Erreur(ERREUR_MEMOIRE);
|
Erreur(ERREUR_MEMOIRE);
|
||||||
|
|
||||||
// Et on lit la section d'aide en question:
|
// Et on lit la section d'aide en question:
|
||||||
if (read(Handle,Table_d_aide[Indice].Debut_de_la_liste,Mot_temporaire)!=Mot_temporaire)
|
if (fread(Table_d_aide[Indice].Debut_de_la_liste,1,Mot_temporaire,Handle)!=Mot_temporaire)
|
||||||
Erreur(ERREUR_DAT_CORROMPU);
|
Erreur(ERREUR_DAT_CORROMPU);
|
||||||
}
|
}
|
||||||
|
|
||||||
close(Handle);
|
fclose(Handle);
|
||||||
|
|
||||||
Section_d_aide_en_cours=0;
|
Section_d_aide_en_cours=0;
|
||||||
Position_d_aide_en_cours=0;
|
Position_d_aide_en_cours=0;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ WRect
|
|||||||
-40
|
-40
|
||||||
-53
|
-53
|
||||||
10320
|
10320
|
||||||
10346
|
9973
|
||||||
2
|
2
|
||||||
MProject
|
MProject
|
||||||
3
|
3
|
||||||
@ -31,7 +31,7 @@ WRect
|
|||||||
0
|
0
|
||||||
0
|
0
|
||||||
1230
|
1230
|
||||||
4840
|
5733
|
||||||
0
|
0
|
||||||
0
|
0
|
||||||
9
|
9
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user