AmigaOS 4 port from xeron.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@253 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
70a750e187
commit
ff9fc1633b
17
aide.c
17
aide.c
@ -35,8 +35,10 @@
|
|||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include <sys/vfs.h>
|
#include <sys/vfs.h>
|
||||||
#else
|
#else
|
||||||
|
#ifndef __amigaos4__
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// -- Menu d'aide -----------------------------------------------------------
|
// -- Menu d'aide -----------------------------------------------------------
|
||||||
|
|
||||||
@ -304,8 +306,12 @@ void Bouton_Stats(void)
|
|||||||
struct statfs Informations_Disque;
|
struct statfs Informations_Disque;
|
||||||
uint64_t Taille = 0;
|
uint64_t Taille = 0;
|
||||||
#else
|
#else
|
||||||
unsigned __int64 Taille;
|
#ifdef __amigaos4__
|
||||||
ULARGE_INTEGER tailleU;
|
uint64_t Taille = 0;
|
||||||
|
#else
|
||||||
|
unsigned __int64 Taille;
|
||||||
|
ULARGE_INTEGER tailleU;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -347,8 +353,11 @@ void Bouton_Stats(void)
|
|||||||
statfs(Principal_Repertoire_courant,&Informations_Disque);
|
statfs(Principal_Repertoire_courant,&Informations_Disque);
|
||||||
Taille=Informations_Disque.f_bfree * Informations_Disque.f_bsize;
|
Taille=Informations_Disque.f_bfree * Informations_Disque.f_bsize;
|
||||||
#else
|
#else
|
||||||
GetDiskFreeSpaceEx(Principal_Repertoire_courant,&tailleU,NULL,NULL);
|
#ifdef __amigaos4__
|
||||||
Taille = tailleU.QuadPart;
|
#else
|
||||||
|
GetDiskFreeSpaceEx(Principal_Repertoire_courant,&tailleU,NULL,NULL);
|
||||||
|
Taille = tailleU.QuadPart;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(Taille > (100ULL*1024*1024*1024))
|
if(Taille > (100ULL*1024*1024*1024))
|
||||||
|
|||||||
3
files.c
3
files.c
@ -39,6 +39,9 @@
|
|||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#define isHidden(Enreg) ((Enreg)->d_name[0]=='.')
|
#define isHidden(Enreg) ((Enreg)->d_name[0]=='.')
|
||||||
|
#elif defined(__amigaos4__)
|
||||||
|
#include <dirent.h>
|
||||||
|
#define isHidden(Enreg) (0)
|
||||||
#elif defined(__WATCOMC__)
|
#elif defined(__WATCOMC__)
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
#define isHidden(Enreg) ((Enreg)->d_attr & _A_HIDDEN)
|
#define isHidden(Enreg) ((Enreg)->d_attr & _A_HIDDEN)
|
||||||
|
|||||||
8
gfxcfg.c
8
gfxcfg.c
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
//SDL
|
//SDL
|
||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
#include <SDL_image.h>
|
#include <SDL/SDL_image.h>
|
||||||
#include <SDL_events.h>
|
#include <SDL_events.h>
|
||||||
//#include <SDL_gfxPrimitives.h>
|
//#include <SDL_gfxPrimitives.h>
|
||||||
|
|
||||||
@ -587,7 +587,13 @@ void Setup()
|
|||||||
/* Checks if we can write the config file */
|
/* Checks if we can write the config file */
|
||||||
bool Verifier_ecriture_possible()
|
bool Verifier_ecriture_possible()
|
||||||
{
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
// TODO: Make it work :)
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
|
// Doesn't work on OS4.
|
||||||
return access("./",W_OK) == 0;
|
return access("./",W_OK) == 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save the config file */
|
/* Save the config file */
|
||||||
|
|||||||
24
init.c
24
init.c
@ -47,8 +47,10 @@
|
|||||||
#include "errno.h"
|
#include "errno.h"
|
||||||
|
|
||||||
#ifndef __linux__
|
#ifndef __linux__
|
||||||
|
#ifndef __amigaos4__
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// 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)
|
||||||
@ -102,7 +104,7 @@ void Ajouter_lecteur(byte Numero, char Lettre, byte Type)
|
|||||||
void Rechercher_drives(void)
|
void Rechercher_drives(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__amigaos4__)
|
||||||
//Sous linux, il n'y a pas de lecteurs, on va juste mettre
|
//Sous linux, il n'y a pas de lecteurs, on va juste mettre
|
||||||
// un disque dur qui pointera vers la racine,
|
// un disque dur qui pointera vers la racine,
|
||||||
// et un autre vers le home directory de l'utilisateur.
|
// et un autre vers le home directory de l'utilisateur.
|
||||||
@ -159,14 +161,14 @@ int ActiverLecteur(int NumeroLecteur)
|
|||||||
char * Home = getenv("HOME");
|
char * Home = getenv("HOME");
|
||||||
if (! Home)
|
if (! Home)
|
||||||
return -1;
|
return -1;
|
||||||
#ifdef __linux__
|
#if defined(__linux__)||defined(__amigaos4__)
|
||||||
return chdir(Home);
|
return chdir(Home);
|
||||||
#else
|
#else
|
||||||
return ! SetCurrentDirectory(Home);
|
return ! SetCurrentDirectory(Home);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__)||defined(__amigaos4__)
|
||||||
char NomLecteur[]=" ";
|
char NomLecteur[]=" ";
|
||||||
NomLecteur[0]=Drive[NumeroLecteur].Lettre;
|
NomLecteur[0]=Drive[NumeroLecteur].Lettre;
|
||||||
return chdir(NomLecteur);
|
return chdir(NomLecteur);
|
||||||
@ -203,7 +205,6 @@ void Decrypte(byte * Donnee,int Taille)
|
|||||||
*(Donnee+Indice)=Decrypt(*(Donnee+Indice));
|
*(Donnee+Indice)=Decrypt(*(Donnee+Indice));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Charger_DAT(void)
|
void Charger_DAT(void)
|
||||||
{
|
{
|
||||||
FILE* Handle;
|
FILE* Handle;
|
||||||
@ -216,8 +217,12 @@ void Charger_DAT(void)
|
|||||||
|
|
||||||
struct stat Informations_Fichier;
|
struct stat Informations_Fichier;
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.dat");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.dat");
|
strcat(Nom_du_fichier,"gfx2.dat");
|
||||||
|
#endif
|
||||||
|
|
||||||
if(stat(Nom_du_fichier,&Informations_Fichier))
|
if(stat(Nom_du_fichier,&Informations_Fichier))
|
||||||
{
|
{
|
||||||
@ -230,7 +235,7 @@ void Charger_DAT(void)
|
|||||||
case ENOENT: puts("Un composant du chemin path n'existe pas, ou il s'agit d'une chaîne vide."); break;
|
case ENOENT: puts("Un composant du chemin path n'existe pas, ou il s'agit d'une chaîne vide."); break;
|
||||||
case ENOMEM: puts("Pas assez de mémoire pour le noyau."); break;
|
case ENOMEM: puts("Pas assez de mémoire pour le noyau."); break;
|
||||||
case ENOTDIR: puts("Un composant du chemin d'accès n'est pas un répertoire."); break;
|
case ENOTDIR: puts("Un composant du chemin d'accès n'est pas un répertoire."); break;
|
||||||
#ifdef __linux__
|
#if defined(__linux__)||defined(__amigaos4__)
|
||||||
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
|
||||||
}
|
}
|
||||||
@ -1618,8 +1623,12 @@ int Charger_CFG(int Tout_charger)
|
|||||||
struct stat Informations_Fichier;
|
struct stat Informations_Fichier;
|
||||||
int Conversion_touches = 0;
|
int Conversion_touches = 0;
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.cfg");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.cfg");
|
strcat(Nom_du_fichier,"gfx2.cfg");
|
||||||
|
#endif
|
||||||
|
|
||||||
stat(Nom_du_fichier,&Informations_Fichier);
|
stat(Nom_du_fichier,&Informations_Fichier);
|
||||||
Taille_fichier=Informations_Fichier.st_size;
|
Taille_fichier=Informations_Fichier.st_size;
|
||||||
@ -1889,9 +1898,12 @@ int Sauver_CFG(void)
|
|||||||
struct Config_Infos_touche CFG_Infos_touche;
|
struct Config_Infos_touche CFG_Infos_touche;
|
||||||
struct Config_Mode_video CFG_Mode_video;
|
struct Config_Mode_video CFG_Mode_video;
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.cfg");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.cfg");
|
strcat(Nom_du_fichier,"gfx2.cfg");
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((Handle=fopen(Nom_du_fichier,"wb"))==NULL)
|
if ((Handle=fopen(Nom_du_fichier,"wb"))==NULL)
|
||||||
return ERREUR_SAUVEGARDE_CFG;
|
return ERREUR_SAUVEGARDE_CFG;
|
||||||
|
|||||||
2
linux.c
2
linux.c
@ -19,7 +19,7 @@
|
|||||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
// Diverses fonctions qui existaient sous dos mais pas sous linux...
|
// Diverses fonctions qui existaient sous dos mais pas sous linux...
|
||||||
#ifdef __linux__
|
#if defined(__linux__)||defined(__amigaos4__)
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|||||||
7
main.c
7
main.c
@ -34,6 +34,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <SDL/SDL.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include "pages.h"
|
#include "pages.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
@ -46,11 +47,13 @@
|
|||||||
#include "io.h"
|
#include "io.h"
|
||||||
|
|
||||||
#ifndef __linux__
|
#ifndef __linux__
|
||||||
|
#ifndef __amigaos4__
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <shlwapi.h>
|
#include <shlwapi.h>
|
||||||
#define chdir(dir) SetCurrentDirectory(dir)
|
#define chdir(dir) SetCurrentDirectory(dir)
|
||||||
#define M_PI 3.14159265358979323846
|
#define M_PI 3.14159265358979323846
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
byte Ancien_nb_lignes; // Ancien nombre de lignes de l'écran
|
byte Ancien_nb_lignes; // Ancien nombre de lignes de l'écran
|
||||||
|
|
||||||
@ -212,7 +215,7 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
|
|||||||
|
|
||||||
// On récupère le chemin complet du paramètre
|
// On récupère le chemin complet du paramètre
|
||||||
// Et on découpe ce chemin en répertoire(path) + fichier(.ext)
|
// Et on découpe ce chemin en répertoire(path) + fichier(.ext)
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__amigaos4__)
|
||||||
Buffer=realpath(argv[Indice],NULL);
|
Buffer=realpath(argv[Indice],NULL);
|
||||||
#else
|
#else
|
||||||
Buffer = malloc(TAILLE_CHEMIN_FICHIER);
|
Buffer = malloc(TAILLE_CHEMIN_FICHIER);
|
||||||
@ -221,8 +224,10 @@ void Analyse_de_la_ligne_de_commande(int argc,char * argv[])
|
|||||||
Extraire_chemin(Principal_Repertoire_fichier, Buffer);
|
Extraire_chemin(Principal_Repertoire_fichier, Buffer);
|
||||||
Extraire_nom_fichier(Principal_Nom_fichier, Buffer);
|
Extraire_nom_fichier(Principal_Nom_fichier, Buffer);
|
||||||
#ifndef __linux__
|
#ifndef __linux__
|
||||||
|
#ifndef __amigaos4__
|
||||||
free(Buffer);
|
free(Buffer);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
chdir(Principal_Repertoire_fichier);
|
chdir(Principal_Repertoire_fichier);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -402,15 +402,23 @@ int Charger_INI(struct S_Config * Conf)
|
|||||||
Nom_du_fichier=(char *)malloc(256);
|
Nom_du_fichier=(char *)malloc(256);
|
||||||
|
|
||||||
// On calcule le nom du fichier qu'on manipule:
|
// On calcule le nom du fichier qu'on manipule:
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.ini");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.ini");
|
strcat(Nom_du_fichier,"gfx2.ini");
|
||||||
|
#endif
|
||||||
|
|
||||||
Fichier=fopen(Nom_du_fichier,"rb");
|
Fichier=fopen(Nom_du_fichier,"rb");
|
||||||
if (Fichier==0)
|
if (Fichier==0)
|
||||||
{
|
{
|
||||||
// Si le fichier ini est absent on le relit depuis gfx2.dat
|
// Si le fichier ini est absent on le relit depuis gfx2.dat
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.dat");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.dat");
|
strcat(Nom_du_fichier,"gfx2.dat");
|
||||||
|
#endif
|
||||||
Fichier=fopen(Nom_du_fichier,"rb");
|
Fichier=fopen(Nom_du_fichier,"rb");
|
||||||
if (Fichier == 0)
|
if (Fichier == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
12
saveini.c
12
saveini.c
@ -398,14 +398,22 @@ int Sauver_INI(struct S_Config * Conf)
|
|||||||
Buffer=(char *)malloc(1024);
|
Buffer=(char *)malloc(1024);
|
||||||
|
|
||||||
// On calcule les noms des fichiers qu'on manipule:
|
// On calcule les noms des fichiers qu'on manipule:
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier,"PROGDIR:gfx2.ini");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
strcpy(Nom_du_fichier,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier,"gfx2.ini");
|
strcat(Nom_du_fichier,"gfx2.ini");
|
||||||
|
#endif
|
||||||
|
|
||||||
// On vérifie si le fichier INI existe
|
// On vérifie si le fichier INI existe
|
||||||
if ((Ini_existe = Fichier_existe(Nom_du_fichier)))
|
if ((Ini_existe = Fichier_existe(Nom_du_fichier)))
|
||||||
{
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier_temporaire,"PROGDIR:gfx2.$$$");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier_temporaire,Repertoire_du_programme);
|
strcpy(Nom_du_fichier_temporaire,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier_temporaire,"gfx2.$$$");
|
strcat(Nom_du_fichier_temporaire,"gfx2.$$$");
|
||||||
|
#endif
|
||||||
|
|
||||||
// On renome l'ancienne version du fichier INI vers un fichier temporaire:
|
// On renome l'ancienne version du fichier INI vers un fichier temporaire:
|
||||||
if (rename(Nom_du_fichier,Nom_du_fichier_temporaire)!=0)
|
if (rename(Nom_du_fichier,Nom_du_fichier_temporaire)!=0)
|
||||||
@ -414,8 +422,12 @@ int Sauver_INI(struct S_Config * Conf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// On récupère un fichier INI "propre" dans GFX2.DAT
|
// On récupère un fichier INI "propre" dans GFX2.DAT
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
strcpy(Nom_du_fichier_DAT,"PROGDIR:gfx2.dat");
|
||||||
|
#else
|
||||||
strcpy(Nom_du_fichier_DAT,Repertoire_du_programme);
|
strcpy(Nom_du_fichier_DAT,Repertoire_du_programme);
|
||||||
strcat(Nom_du_fichier_DAT,"gfx2.dat");
|
strcat(Nom_du_fichier_DAT,"gfx2.dat");
|
||||||
|
#endif
|
||||||
Ancien_fichier=fopen(Nom_du_fichier_DAT,"rb");
|
Ancien_fichier=fopen(Nom_du_fichier_DAT,"rb");
|
||||||
if (Ancien_fichier==0)
|
if (Ancien_fichier==0)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user