Implemented Meilleure_couleur_sans_exclusion().
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@281 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
a223fcb9b6
commit
763087a626
1
aide.c
1
aide.c
@ -30,6 +30,7 @@
|
||||
#include "moteur.h"
|
||||
#include "tables_aide.h"
|
||||
#include "aide.h"
|
||||
#include "sdlscreen.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
||||
6
divers.c
6
divers.c
@ -799,12 +799,6 @@ void Tempo_jauge(byte Vitesse)
|
||||
}
|
||||
}
|
||||
|
||||
byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Set_color(byte Couleur, byte Rouge, byte Vert, byte Bleu)
|
||||
{
|
||||
SDL_Color comp;
|
||||
|
||||
3
divers.h
3
divers.h
@ -91,9 +91,6 @@ void Tester_chrono(void);
|
||||
void Remplacer_une_couleur(byte Ancienne_couleur, byte Nouvelle_couleur);
|
||||
void Remplacer_toutes_les_couleurs_dans_limites(byte * Table_de_remplacement);
|
||||
|
||||
byte Meilleure_couleur(byte Rouge,byte Vert,byte Bleu);
|
||||
byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu);
|
||||
|
||||
byte Effet_Colorize_interpole (word X,word Y,byte Couleur);
|
||||
byte Effet_Colorize_additif (word X,word Y,byte Couleur);
|
||||
byte Effet_Colorize_soustractif(word X,word Y,byte Couleur);
|
||||
|
||||
28
graph.c
28
graph.c
@ -143,6 +143,32 @@ byte Meilleure_couleur(byte R,byte V,byte B)
|
||||
return Best_color;
|
||||
}
|
||||
|
||||
byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu)
|
||||
{
|
||||
short Coul;
|
||||
int Delta_R,Delta_V,Delta_B;
|
||||
int Dist;
|
||||
int Best_dist=0x7FFFFFFF;
|
||||
byte Best_color=0;
|
||||
|
||||
for (Coul=0; Coul<256; Coul++)
|
||||
{
|
||||
Delta_R=(int)Principal_Palette[Coul].R-Rouge;
|
||||
Delta_V=(int)Principal_Palette[Coul].V-Vert;
|
||||
Delta_B=(int)Principal_Palette[Coul].B-Bleu;
|
||||
|
||||
if (!(Dist=(Delta_R*Delta_R*30)+(Delta_V*Delta_V*59)+(Delta_B*Delta_B*11)))
|
||||
return Coul;
|
||||
|
||||
if (Dist<Best_dist)
|
||||
{
|
||||
Best_dist=Dist;
|
||||
Best_color=Coul;
|
||||
}
|
||||
}
|
||||
return Best_color;
|
||||
}
|
||||
|
||||
void Calculer_les_4_meilleures_couleurs_pour_1_couleur_du_menu
|
||||
(byte Rouge, byte Vert, byte Bleu, struct Composantes * Palette, byte * Table)
|
||||
{
|
||||
@ -3474,7 +3500,6 @@ void Remap_brosse(void)
|
||||
for (Couleur=0;Couleur<=255;Couleur++)
|
||||
if (Utilisee[Couleur])
|
||||
Utilisee[Couleur]=Meilleure_couleur(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].V,Brouillon_Palette[Couleur].B);
|
||||
//Utilisee[Couleur]=Meilleure_couleur_sans_exclusion(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].V,Brouillon_Palette[Couleur].B);
|
||||
|
||||
// Il reste une couleur non calculée dans la table qu'il faut mettre à
|
||||
// jour: c'est la couleur de fond. On l'avait inhibée pour éviter son
|
||||
@ -3519,7 +3544,6 @@ void Remap_picture(void)
|
||||
for (Couleur=0;Couleur<=255;Couleur++)
|
||||
if (Utilisee[Couleur])
|
||||
Utilisee[Couleur]=Meilleure_couleur(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].V,Brouillon_Palette[Couleur].B);
|
||||
//Utilisee[Couleur]=Meilleure_couleur_sans_exclusion(Brouillon_Palette[Couleur].R,Brouillon_Palette[Couleur].V,Brouillon_Palette[Couleur].B);
|
||||
|
||||
// Maintenant qu'on a une super table de conversion qui n'a que le nom
|
||||
// qui craint un peu, on peut faire l'échange dans la brosse de toutes les
|
||||
|
||||
3
graph.h
3
graph.h
@ -178,3 +178,6 @@ void Remap_picture(void);
|
||||
#define ToWinY(y) (((y)*Menu_Facteur_Y)+Fenetre_Pos_Y)
|
||||
#define ToWinL(l) ((l)*Menu_Facteur_X)
|
||||
#define ToWinH(h) ((h)*Menu_Facteur_X)
|
||||
|
||||
byte Meilleure_couleur(byte Rouge,byte Vert,byte Bleu);
|
||||
byte Meilleure_couleur_sans_exclusion(byte Rouge,byte Vert,byte Bleu);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user