From ab9671b2865e126886329a331c7fd19df1f69cb4 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Tue, 23 Jun 2009 21:04:58 +0000 Subject: [PATCH] Separated font graphics from skin graphics. WIP, a lot is still hard-coded (font list) or not coded at all (save/load in ini, and match in skin selection screen). git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@885 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- buttons.c | 38 ++++-- gfx2def.ini | 5 - global.h | 2 +- init.c | 120 ++++++++++++------- init.h | 8 ++ main.c | 13 +- readini.c | 6 - saveini.c | 4 - skins/classic.png | Bin 18907 -> 14352 bytes skins/{_classic.png => font_Classic.png} | Bin skins/{_fairlight.png => font_Fairlight.png} | Bin skins/{_fun.png => font_Fun.png} | Bin skins/{_melon.png => font_Melon.png} | Bin skins/modern.png | Bin 21169 -> 16553 bytes struct.h | 11 +- 15 files changed, 124 insertions(+), 83 deletions(-) rename skins/{_classic.png => font_Classic.png} (100%) rename skins/{_fairlight.png => font_Fairlight.png} (100%) rename skins/{_fun.png => font_Fun.png} (100%) rename skins/{_melon.png => font_Melon.png} (100%) diff --git a/buttons.c b/buttons.c index a68c76af..f530a3a2 100644 --- a/buttons.c +++ b/buttons.c @@ -1035,6 +1035,10 @@ void Button_Skins(void) T_Dropdown_button * cursor_dropdown; T_List_button * skin_list; T_Scroller_button * file_scroller; + int selected_font=0; + + char * fonts[] = {"Classic", "Fun", "Melon", "Fairlight"}; + int nb_fonts = 4; #define FILESEL_Y 52 @@ -1075,9 +1079,11 @@ void Button_Skins(void) Draw_one_skin_name); // 4 // Boutons de fontes - font_dropdown = Window_set_dropdown_button(60,19,70,11,0,(Config_choisie.Font==0)?"Classic":"Fun ",1,0,1,RIGHT_SIDE|LEFT_SIDE); // 5 - Window_dropdown_add_item(font_dropdown,0,"Classic"); - Window_dropdown_add_item(font_dropdown,1,"Fun "); + font_dropdown = Window_set_dropdown_button(60,19,70,11,0, fonts[selected_font],1,0,1,RIGHT_SIDE|LEFT_SIDE); // 5 + for (temp=0; tempFun_font; - else - Menu_font=Gfx->System_font; + new_font = Load_font(fonts[selected_font]); + if (new_font) + { + free(Menu_font); + Menu_font = new_font; + if (Config_choisie.Font_name) + { + free (Config_choisie.Font_name); + Config_choisie.Font_name = NULL; + } + Config_choisie.Font_name = (char *)malloc(strlen(fonts[selected_font])+1); + if (Config_choisie.Font_name) + { + strcpy(Config_choisie.Font_name,fonts[selected_font]); + } + } strcpy(Config_choisie.SkinFile,skinsdir+6); } diff --git a/gfx2def.ini b/gfx2def.ini index 752096b8..4f5382ef 100644 --- a/gfx2def.ini +++ b/gfx2def.ini @@ -76,11 +76,6 @@ ; the menus and tool-bar | des menus et de la barre d'outils Menu_ratio = 1 ; (default 1) - ; Font: | Police de caractères (fonte): - ; 1: Classic | 1: Classique - ; 2: Fun | 2: Fun - Font = 1 ; (default 1) - [FILE_SELECTOR] # [SELECTEUR_DE_FICHIERS] ; Show hidden files and | Afficher les fichiers et répertoires diff --git a/global.h b/global.h index 3980a64b..0542ea6b 100644 --- a/global.h +++ b/global.h @@ -794,7 +794,7 @@ GFX2_GLOBAL byte Resolution_in_command_line; // - Graphic -/// Pointer to the font selected for menus. It's either ::Gfx->System_font or ::Gfx->Fun_font +/// Pointer to the font selected for menus. GFX2_GLOBAL byte * Menu_font; /// Pointer to the current active skin. diff --git a/init.c b/init.c index 9f3470c4..c917b99e 100644 --- a/init.c +++ b/init.c @@ -474,50 +474,6 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) cursor_x+=16; } cursor_y+=16; - - // Font Système - for (i=0; i<256; i++) - { - // Rangés par ligne de 32 - if ((i%32)==0) - { - if (i!=0) - cursor_y+=8; - if (GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "system font")) - return 1; - } - else - { - if (GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "system font")) - return 1; - } - if (Read_GUI_block(gui, cursor_x, cursor_y, &gfx->System_font[i*64], 8, 8, "system font",2)) - return 1; - cursor_x+=8; - } - cursor_y+=8; - - // Font Fun - for (i=0; i<256; i++) - { - // Rangés par ligne de 32 - if ((i%32)==0) - { - if (i!=0) - cursor_y+=8; - if (GUI_seek_down(gui, &cursor_x, &cursor_y, neutral_color, "fun font")) - return 1; - } - else - { - if (GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "fun font")) - return 1; - } - if (Read_GUI_block(gui, cursor_x, cursor_y, &gfx->Fun_font[i*64], 8, 8, "fun font",2)) - return 1; - cursor_x+=8; - } - cursor_y+=8; // Font help normale for (i=0; i<256; i++) @@ -835,6 +791,82 @@ T_Gui_skin * Load_graphics(const char * skin_file) return gfx; } +// ---- font loading ----- + +byte Parse_font(SDL_Surface * image, byte * font) +{ + int character; + byte color; + int x, y; + int chars_per_line; + + // Check image size + if (image->w % 8) + { + sprintf(Gui_loading_error_message, "Error in font file: Image width is not a multiple of 8.\n"); + return 1; + } + if (image->w * image->h < 8*8*256) + { + sprintf(Gui_loading_error_message, "Error in font file: Image is too small to be a 256-character 8x8 font.\n"); + return 1; + } + chars_per_line = image->w/8; + + for (character=0; character < 256; character++) + { + for (y=0; y<8; y++) + { + for (x=0;x<8; x++) + { + // Pick pixel + color = Get_SDL_pixel_8(image, (character % chars_per_line)*8+x, (character / chars_per_line)*8+y); + if (color > 1) + { + sprintf(Gui_loading_error_message, "Error in font file: Only colors 0 and 1 can be used for the font.\n"); + return 1; + } + // Put it in font. 0 = BG, 1 = FG. + font[character*64 + y*8 + x]=color; + } + } + } + return 0; +} + +byte * Load_font(const char * font_name) +{ + byte * font; + char filename[MAX_PATH_CHARACTERS]; + SDL_Surface * image; + + font = (byte *)malloc(8*8*256); + if (font == NULL) + { + sprintf(Gui_loading_error_message, "Not enough memory to read font file\n"); + return NULL; + } + + // Read the file containing the image + sprintf(filename,"%sskins%sfont_%s.png", Data_directory, PATH_SEPARATOR, font_name); + + image=IMG_Load(filename); + if (!image) + { + sprintf(Gui_loading_error_message, "Unable to load the skin image (missing? not an image file?)\n"); + free(font); + return NULL; + } + if (Parse_font(image, font)) + { + SDL_FreeSurface(image); + free(font); + return NULL; + } + SDL_FreeSurface(image); + return font; +} + // Initialisation des boutons: diff --git a/init.h b/init.h index 6a28c728..86053986 100644 --- a/init.h +++ b/init.h @@ -32,3 +32,11 @@ void Set_config_defaults(void); void Init_sighandler(void); extern char Gui_loading_error_message[512]; + +/// +/// Loads a 8x8 monochrome font, the kind used in all menus and screens. +/// This function allocates the memory, and returns a pointer to it when +/// successful. +/// If an error is encountered, it frees what needs it, prints an error message +/// in ::Gui_loading_error_message, and returns NULL. +byte * Load_font(const char * font_name); diff --git a/main.c b/main.c index 956d09c7..c76df867 100644 --- a/main.c +++ b/main.c @@ -555,11 +555,14 @@ int Init_program(int argc,char * argv[]) Fore_color=MC_White; Back_color=MC_Black; - // Prise en compte de la fonte - if (Config.Font) - Menu_font=Gfx->Fun_font; - else - Menu_font=Gfx->System_font; + // Font + { + byte *font; + font = Load_font("Classic"); + if (font) + Menu_font=font; + } + memcpy(Main_palette, Gfx->Default_palette, sizeof(T_Palette)); diff --git a/readini.c b/readini.c index f1594c1d..bef5316f 100644 --- a/readini.c +++ b/readini.c @@ -523,12 +523,6 @@ int Load_INI(T_Config * conf) goto Erreur_ERREUR_INI_CORROMPU; conf->Ratio=values[0]; - if ((return_code=Load_INI_get_values (file,buffer,"Font",1,values))) - goto Erreur_Retour; - if ((values[0]<1) || (values[0]>2)) - goto Erreur_ERREUR_INI_CORROMPU; - conf->Font=values[0]-1; - if ((return_code=Load_INI_reach_group(file,buffer,"[FILE_SELECTOR]"))) goto Erreur_Retour; diff --git a/saveini.c b/saveini.c index 4130624a..2bf95c04 100644 --- a/saveini.c +++ b/saveini.c @@ -476,10 +476,6 @@ int Save_INI(T_Config * conf) if ((return_code=Save_INI_set_values (Ancien_fichier,Nouveau_fichier,buffer,"Menu_ratio",1,values,0))) goto Erreur_Retour; - values[0]=(conf->Font)+1; - if ((return_code=Save_INI_set_values (Ancien_fichier,Nouveau_fichier,buffer,"Font",1,values,0))) - goto Erreur_Retour; - if ((return_code=Save_INI_reach_group(Ancien_fichier,Nouveau_fichier,buffer,"[FILE_SELECTOR]"))) goto Erreur_Retour; diff --git a/skins/classic.png b/skins/classic.png index 8de524a29ab04044a66ccd5df160210d7c4158ed..6ce4c0242df329b00125dbb4f38ba73843b89352 100644 GIT binary patch delta 13630 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 literal 18907 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 SevVpzG#!XIw68JzM8SU*=CLyX diff --git a/skins/_classic.png b/skins/font_Classic.png similarity index 100% rename from skins/_classic.png rename to skins/font_Classic.png diff --git a/skins/_fairlight.png b/skins/font_Fairlight.png similarity index 100% rename from skins/_fairlight.png rename to skins/font_Fairlight.png diff --git a/skins/_fun.png b/skins/font_Fun.png similarity index 100% rename from skins/_fun.png rename to skins/font_Fun.png diff --git a/skins/_melon.png b/skins/font_Melon.png similarity index 100% rename from skins/_melon.png rename to skins/font_Melon.png diff --git a/skins/modern.png b/skins/modern.png index d0f72fa09c4eb03e51d857d1ab75a1ca9348a783..4247fc1465046c339403cac0cf5c9a288974e065 100644 GIT binary patch delta 15846 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 literal 21169 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 diff --git a/struct.h b/struct.h index ad0a107d..38f9ab6d 100644 --- a/struct.h +++ b/struct.h @@ -240,8 +240,8 @@ typedef struct /// This structure holds all the settings which are saved and loaded as gfx2.ini. typedef struct { - byte Font; ///< Boolean, true to use the "fun" font in menus, false to use the classic one. - char SkinFile[64]; ///< String, name of the file where all the graphic data is stored + char *Font_name; ///< Name of the font used in the menus. Matches file skins/font_*.png (Case-sensitive on some filesystems) + char SkinFile[64]; ///< String, name of the file where all the graphic data is stored int Show_hidden_files; ///< Boolean, true to show hidden files in fileselectors. int Show_hidden_directories; ///< Boolean, true to show hidden directories in fileselectors. // int Show_system_directories; ///< (removed when converted from DOS) @@ -380,13 +380,6 @@ typedef struct /// Bitmap data for the small 8x8 icons. byte Icon_sprite[NB_ICON_SPRITES][ICON_SPRITE_HEIGHT][ICON_SPRITE_WIDTH]; - // 8x8 fonts - - /// Bitmap data for the classic 8x8 font used in menus etc. - byte System_font[256*8*8]; - /// Bitmap data for the "fun" 8x8 font used in menus etc. - byte Fun_font [256*8*8]; - /// A default 256-color palette. T_Palette Default_palette;