diff --git a/aide.c b/aide.c index 56001ebb..a94fcf05 100644 --- a/aide.c +++ b/aide.c @@ -30,6 +30,7 @@ #include "moteur.h" #include "tables_aide.h" #include "aide.h" +#include "sdlscreen.h" #include diff --git a/divers.c b/divers.c index cdb4344d..306d9c46 100644 --- a/divers.c +++ b/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; diff --git a/divers.h b/divers.h index 34c21db5..0ab461f4 100644 --- a/divers.h +++ b/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); diff --git a/graph.c b/graph.c index 0dfbee81..52d0c48a 100644 --- a/graph.c +++ b/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