Corrected Memoire_libre to take account of mem_unit in the sysinfo
struct git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@55 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									272506e850
								
							
						
					
					
						commit
						4ba7550bfc
					
				
							
								
								
									
										14
									
								
								aide.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								aide.c
									
									
									
									
									
								
							@ -213,14 +213,22 @@ void Bouton_Stats(void)
 | 
			
		||||
 | 
			
		||||
  Fenetre_Definir_bouton_normal(120,153,70,14,"OK",0,1,0x0001); // 1
 | 
			
		||||
 | 
			
		||||
  // Affichage du num‚ro de version
 | 
			
		||||
  // Affichage du numéro de version
 | 
			
		||||
  Print_dans_fenetre(10,19,"Version:",STATS_COULEUR_TITRES,CM_Noir);
 | 
			
		||||
  sprintf(Buffer,"GrafX 2.00 %s%s",ALPHA_BETA,POURCENTAGE_VERSION);
 | 
			
		||||
  Print_dans_fenetre(82,19,Buffer,STATS_COULEUR_DONNEES,CM_Noir);
 | 
			
		||||
 | 
			
		||||
  // Affichage de la m‚moire restante
 | 
			
		||||
  // Affichage de la mémoire restante
 | 
			
		||||
  Print_dans_fenetre(10,35,"Free memory:",STATS_COULEUR_TITRES,CM_Noir);
 | 
			
		||||
  sprintf(Buffer,"%d bytes",Memoire_libre());
 | 
			
		||||
  unsigned long freeRam = Memoire_libre();
 | 
			
		||||
  if(freeRam > (1024*1024*1024))
 | 
			
		||||
  	sprintf(Buffer,"%ld Gigabytes",freeRam/(1024*1024*1024));
 | 
			
		||||
  else if(freeRam > (1024*1024))
 | 
			
		||||
  	sprintf(Buffer,"%ld Megabytes",freeRam/(1024*1024));
 | 
			
		||||
  else if(freeRam > 1024)
 | 
			
		||||
  	sprintf(Buffer,"%ld Kilobytes",freeRam/1024);
 | 
			
		||||
  else
 | 
			
		||||
  	sprintf(Buffer,"%ld bytes",freeRam);
 | 
			
		||||
  Print_dans_fenetre(114,35,Buffer,STATS_COULEUR_DONNEES,CM_Noir);
 | 
			
		||||
 | 
			
		||||
  // Affichage de l'espace disque libre
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include "boutons.h"
 | 
			
		||||
#include "operatio.h"
 | 
			
		||||
#include "pages.h"
 | 
			
		||||
 | 
			
		||||
//  On déclare méchamment le prototype de Erreur pour éviter de faire un
 | 
			
		||||
// fichier "main.h":
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								gfx2.ini
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								gfx2.ini
									
									
									
									
									
								
							@ -62,7 +62,7 @@
 | 
			
		||||
  ; 1: Solid                          ³ 1: Solide
 | 
			
		||||
  ; 2: Transparent                    ³ 2: Transparent
 | 
			
		||||
  ; 3: Thin (solid)                   ³ 3: Fin (solide)
 | 
			
		||||
  Cursor_aspect = 2	; (default 1)
 | 
			
		||||
  Cursor_aspect = 1	; (default 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -102,7 +102,7 @@
 | 
			
		||||
  ; Font:                             ³ Police de caractères (fonte):
 | 
			
		||||
  ; 1: Classic                        ³ 1: Classique
 | 
			
		||||
  ; 2: Fun                            ³ 2: Fun
 | 
			
		||||
  Font = 2	; (default 1)
 | 
			
		||||
  Font = 1	; (default 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -158,7 +158,7 @@
 | 
			
		||||
  ; modes that are not supported by   ³ 'yes' après avoir inhibé les modes
 | 
			
		||||
  ; your video card or monitor.       ³ vidéo qui ne sont pas supportés par
 | 
			
		||||
  ;                                   ³ votre matériel.
 | 
			
		||||
  Auto_set_resolution = no	; (default 'no')
 | 
			
		||||
  Auto_set_resolution = yes	; (default 'no')
 | 
			
		||||
 | 
			
		||||
  ; If the variable above is set to   ³ Si la variable ci-dessus est à 'yes',
 | 
			
		||||
  ; 'yes', this one tells if you want ³ celle-ci indique si vous voulez
 | 
			
		||||
@ -198,7 +198,7 @@
 | 
			
		||||
  ; Coordinates:                      ³ Coordonnées:
 | 
			
		||||
  ; 1: Relative                       ³ 1: Relatives
 | 
			
		||||
  ; 2: Absolute                       ³ 2: Absolues
 | 
			
		||||
  Coordinates = 1	; (default 1)
 | 
			
		||||
  Coordinates = 2	; (default 1)
 | 
			
		||||
 | 
			
		||||
  ; Create a backup file when saving. ³ Créer un fichier backup lors des
 | 
			
		||||
  ;                                   ³ sauvegardes.
 | 
			
		||||
@ -237,7 +237,7 @@
 | 
			
		||||
 | 
			
		||||
  ; Separate the colors in the tool-  ³ Séparer les couleurs dans la barre
 | 
			
		||||
  ; bar by a black squaring.          ³ d'outils par un quadrillage noir.
 | 
			
		||||
  Separate_colors = yes	; (default 'yes')
 | 
			
		||||
  Separate_colors = no	; (default 'yes')
 | 
			
		||||
 | 
			
		||||
  ; Initial value of the feedback for ³ Valeur initiale du "feedback" pour les
 | 
			
		||||
  ; the drawing modes (cf. docs).     ³ modes de dessin (cf. docs).
 | 
			
		||||
@ -252,7 +252,7 @@
 | 
			
		||||
  ; the menu if there are less than 4 ³ de 4 couleurs après une "réduction" ou
 | 
			
		||||
  ; colors left after "reducing" or   ³ un "zapping".
 | 
			
		||||
  ; "zapping".                        ³
 | 
			
		||||
  Safety_colors = yes	; (default 'yes')
 | 
			
		||||
  Safety_colors = no	; (default 'yes')
 | 
			
		||||
 | 
			
		||||
  ; Display a message at startup      ³ Afficher un message au démarrage
 | 
			
		||||
  ; telling the version number of the ³ indiquant le numéro de version du
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								graph.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								graph.c
									
									
									
									
									
								
							@ -393,12 +393,12 @@ void Calculer_couleurs_menu_optimales(struct Composantes * Palette)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Indique quelle est la mémoire disponible
 | 
			
		||||
dword Memoire_libre(void)
 | 
			
		||||
unsigned long Memoire_libre(void)
 | 
			
		||||
{
 | 
			
		||||
  // On appelle la fonction qui optimise la mémoire libre afin d'en regagner
 | 
			
		||||
  // un maximum. Sinon, tous les "free" libèrent une mémoire qui n'est pas
 | 
			
		||||
  // prise en compte par la fonction, et on se retrouve avec un manque
 | 
			
		||||
  // alarmant de mémoire.
 | 
			
		||||
  // On appelle la fonction qui optimise la mémoire libre afin d'en 
 | 
			
		||||
  // regagner un maximum. Sinon, tous les "free" libèrent une mémoire qui 
 | 
			
		||||
  // n'est pas prise en compte par la fonction, et on se retrouve avec un 
 | 
			
		||||
  // manque alarmant de mémoire.
 | 
			
		||||
  /*
 | 
			
		||||
  A revoir, mais est-ce vraiment utile?
 | 
			
		||||
  _heapmin();
 | 
			
		||||
@ -406,7 +406,7 @@ dword Memoire_libre(void)
 | 
			
		||||
 | 
			
		||||
    struct sysinfo info;
 | 
			
		||||
    sysinfo(&info);
 | 
			
		||||
    return info.freeram;
 | 
			
		||||
    return info.freeram*info.mem_unit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										9
									
								
								graph.h
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								graph.h
									
									
									
									
									
								
							@ -5,9 +5,11 @@
 | 
			
		||||
void Remapper_ecran_apres_changement_couleurs_menu(void);
 | 
			
		||||
void Calculer_couleurs_menu_optimales(struct Composantes * Palette);
 | 
			
		||||
 | 
			
		||||
dword Memoire_libre(void);
 | 
			
		||||
unsigned long Memoire_libre(void);
 | 
			
		||||
 | 
			
		||||
void Liste2tables(word * Liste,short Pas,byte Mode,byte * Table_inc,byte * Table_dec);
 | 
			
		||||
void Liste2tables(word * Liste, short Pas, byte Mode, byte * Table_inc,
 | 
			
		||||
	byte * Table_dec
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void  Num2str(dword Nombre,char * Chaine,byte Taille);
 | 
			
		||||
int   Str2num(char * Chaine);
 | 
			
		||||
@ -138,11 +140,8 @@ void Capturer_brosse_au_lasso(int Vertices, short * Points,short Effacement);
 | 
			
		||||
 | 
			
		||||
// Gestion des backups:
 | 
			
		||||
void Download_infos_page_principal(S_Page * Page);
 | 
			
		||||
void Upload_infos_page_principal(S_Page * Page);
 | 
			
		||||
void Download_infos_page_brouillon(S_Page * Page);
 | 
			
		||||
void Upload_infos_page_brouillon(S_Page * Page);
 | 
			
		||||
void Download_infos_backup(S_Liste_de_pages * Liste);
 | 
			
		||||
// int  Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int Largeur,int Hauteur); // pages.h
 | 
			
		||||
void Detruire_les_listes_de_backups_en_fin_de_programme(void);
 | 
			
		||||
void Nouveau_nombre_de_backups(int Nouveau);
 | 
			
		||||
int  Backup_avec_nouvelles_dimensions(int Upload,int Largeur,int Hauteur);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										43
									
								
								pages.c
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								pages.c
									
									
									
									
									
								
							@ -414,26 +414,41 @@ void Avancer_dans_une_liste_de_pages(S_Liste_de_pages * Liste)
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int Nouvelle_page_possible(S_Page * Nouvelle_page,S_Liste_de_pages * Liste_courante,S_Liste_de_pages * Liste_secondaire)
 | 
			
		||||
int Nouvelle_page_possible(
 | 
			
		||||
	S_Page 		 * Nouvelle_page,
 | 
			
		||||
	S_Liste_de_pages * Liste_courante,
 | 
			
		||||
	S_Liste_de_pages * Liste_secondaire
 | 
			
		||||
)
 | 
			
		||||
{
 | 
			
		||||
  unsigned int Taille_immediatement_disponible;
 | 
			
		||||
  unsigned int Taille_liste_courante;
 | 
			
		||||
  unsigned int Taille_liste_brouillon;
 | 
			
		||||
  unsigned int Taille_page_courante;
 | 
			
		||||
  unsigned int Taille_page_brouillon;
 | 
			
		||||
  unsigned int Taille_nouvelle_page;
 | 
			
		||||
  unsigned long Taille_immediatement_disponible;
 | 
			
		||||
  unsigned long Taille_liste_courante;
 | 
			
		||||
  unsigned long Taille_liste_brouillon;
 | 
			
		||||
  unsigned long Taille_page_courante;
 | 
			
		||||
  unsigned long Taille_page_brouillon;
 | 
			
		||||
  unsigned long Taille_nouvelle_page;
 | 
			
		||||
 | 
			
		||||
  Taille_immediatement_disponible=Memoire_libre()-QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER;
 | 
			
		||||
  Taille_immediatement_disponible = Memoire_libre()
 | 
			
		||||
  	- QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER;
 | 
			
		||||
  Taille_liste_courante =Taille_d_une_liste_de_pages(Liste_courante);
 | 
			
		||||
  Taille_liste_brouillon=Taille_d_une_liste_de_pages(Liste_secondaire);
 | 
			
		||||
  Taille_page_courante  =Taille_d_une_page(Liste_courante->Pages);
 | 
			
		||||
  Taille_page_brouillon =Taille_d_une_page(Liste_secondaire->Pages);
 | 
			
		||||
  Taille_nouvelle_page  =Taille_d_une_page(Nouvelle_page);
 | 
			
		||||
 | 
			
		||||
printf("Memoire libre : %ld\n",Memoire_libre());
 | 
			
		||||
DEBUG("QMin",QUANTITE_MINIMALE_DE_MEMOIRE_A_CONSERVER);
 | 
			
		||||
 | 
			
		||||
DEBUG("Taille_immediatement_disponible",Taille_immediatement_disponible);
 | 
			
		||||
DEBUG("Taille_liste_courante",Taille_immediatement_disponible);
 | 
			
		||||
DEBUG("Taille_liste_brouillon",Taille_liste_brouillon);
 | 
			
		||||
DEBUG("Taille_page_brouillon",Taille_page_brouillon);
 | 
			
		||||
DEBUG("Taille_nouvelle_page",Taille_nouvelle_page);
 | 
			
		||||
 | 
			
		||||
  // Il faut pouvoir loger la nouvelle page et son backup dans la page
 | 
			
		||||
  // courante, en conservant au pire la 1ère page de brouillon.
 | 
			
		||||
  if ((Taille_immediatement_disponible+Taille_liste_courante+
 | 
			
		||||
       Taille_liste_brouillon-Taille_page_brouillon)<(2*Taille_nouvelle_page))
 | 
			
		||||
  if ( (Taille_immediatement_disponible + Taille_liste_courante +
 | 
			
		||||
       Taille_liste_brouillon - Taille_page_brouillon)
 | 
			
		||||
       < (2*Taille_nouvelle_page) )
 | 
			
		||||
  {
 | 
			
		||||
    DEBUG("A",0);
 | 
			
		||||
    return 0;
 | 
			
		||||
@ -683,12 +698,16 @@ int Initialiser_les_listes_de_backups_en_debut_de_programme(int Taille,int Large
 | 
			
		||||
        Retour=1;
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {DEBUG("Il n'est pas possible de démarrer le programme avec la page principale et la page de brouillon aux dimensions demandée par l'utilisateur. ==> On l'envoie ballader",0);
 | 
			
		||||
      {DEBUG("Il n'est pas possible de démarrer le programme avec la page \
 | 
			
		||||
      principale et la page de brouillon aux dimensions demandée par \
 | 
			
		||||
      l'utilisateur. ==> On l'envoie ballader",0);
 | 
			
		||||
        Retour=0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {DEBUG("On ne peut pas démarrer le programme avec ne serait-ce qu'une page de la dimension souhaitée, donc on laisse tout tomber et on le renvoie chier.",0);
 | 
			
		||||
    {DEBUG("On ne peut pas démarrer le programme avec ne serait-ce qu'une\
 | 
			
		||||
    page de la dimension souhaitée, donc on laisse tout tomber et on le \
 | 
			
		||||
    renvoie chier.",0);
 | 
			
		||||
      Retour=0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user