Changed a lot of platform-specific code to "simplify" it:

A Unix-like system is now considered the default.
The number of platform-specific blocks is down to:
   win32: 13, watcomc: 3, linux: 4, macosx: 16, amigaos4: 8, beos/haiku: 1
Removed linux.c, implemented the relevant functions for all platforms.
(win32) In Stats screen, included free memory report
(macosx) Conversion_ANSI: Fixed the __macosx__ with wrong case from my former 'fix', sorry.
(macosx) readline.c : Removed a manual "Update_necessaire=1", because normally
all calls to UpdateRect() will set this flag already. Don't hesitate to call 
Flush_Update() anywhere where it's lacking, but you shouldn't put it inside a  #ifdef __macosx__
(win32) Packaging: 'make ziprelease' now includes libpng13.dll and zlib1.dll
(win32) Hacked something to resolve naming conflict of MOD_SHIFT constants with windows.h
(all) Resolution: Fixed the black space that appeared between button and label,
the memory overwrite also caused resolutions above number 2 to disappear from list.
 
Tested fine on Linux (without TTF) and Windows


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@345 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2008-11-15 16:25:37 +00:00
parent b511ceafdb
commit c4f6cf7762
18 changed files with 152 additions and 268 deletions

44
init.c
View File

@@ -48,17 +48,9 @@
#include "errno.h"
#ifndef __linux__
#ifndef __amigaos4__
#ifndef __BEOS__
#ifndef __HAIKU__
#include "windows.h"
#endif
#endif
#endif
#endif
#ifdef __macosx__
#if defined(__WIN32__)
#include <windows.h>
#elif defined(__macosx__)
#import <corefoundation/corefoundation.h>
#import <sys/param.h>
#endif
@@ -108,22 +100,13 @@ void Ajouter_lecteur(char Lettre, byte Type, char *Chemin)
// Rechercher la liste et le type des lecteurs de la machine
void Rechercher_drives(void)
{
#if defined(__amigaos4__)
#if defined(__linux__)
//Sous linux, il n'y a pas de lecteurs, on va juste mettre
// un disque dur qui pointera vers la racine,
// et un autre vers le home directory de l'utilisateur.
char * Home = getenv("HOME");
Ajouter_lecteur('/', LECTEUR_HDD, "/");
Ajouter_lecteur('~', LECTEUR_HDD, Home ? Home : "");
#elif defined(__BEOS__) || defined(__HAIKU__)
char * Home = getenv("$HOME");
Ajouter_lecteur('/', LECTEUR_HDD, "/");
Ajouter_lecteur('~', LECTEUR_HDD, Home ? Home : "");
#elif defined(__amigaos4__)
// No icons by default.
// It's possible to add some here.
#elif defined (__WIN32__)
char NomLecteur[]="A:\\";
int DriveBits = GetLogicalDrives();
int IndiceLecteur;
@@ -163,6 +146,19 @@ void Rechercher_drives(void)
IndiceLecteur++;
}
}
#else
//Sous les différents unix, il n'y a pas de lecteurs, on va juste mettre
// un disque dur qui pointera vers la racine,
// et un autre vers le home directory de l'utilisateur.
#if defined(__BEOS__) || defined(__HAIKU__)
char * Home = getenv("$HOME");
#else
char * Home = getenv("HOME");
#endif
Ajouter_lecteur('/', LECTEUR_HDD, "/");
Ajouter_lecteur('~', LECTEUR_HDD, Home ? Home : "");
#endif
}
@@ -199,7 +195,7 @@ void Charger_DAT(void)
case ENOENT: puts("The file path is empty or points to a non-existing directory."); 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;
#if defined(__linux__)||defined(__amigaos4__)||defined(__BEOS__)||defined(__HAIKU__)
#ifdef ELOOP
case ELOOP: puts("Trop de liens symboliques rencontrés dans le chemin d'accès."); break;
#endif
}