Diff for /np2/font/font.c between versions 1.8 and 1.10

version 1.8, 2005/02/07 14:46:10 version 1.10, 2011/02/23 10:11:44
Line 1 Line 1
   /**
    * @file        font.c
    * @brief       CGROM and font loader
    *
    * @author      $Author$
    * @date        $Date$
    */
   
 #include        "compiler.h"  #include        "compiler.h"
 #include        "strres.h"  #include        "strres.h"
 #include        "dosio.h"  #include        "dosio.h"
Line 6 Line 14
 #include        "fontdata.h"  #include        "fontdata.h"
 #include        "fontmake.h"  #include        "fontmake.h"
   
   
 #ifndef FONTMEMORYBIND  #ifndef FONTMEMORYBIND
         UINT8   __font[0x84000];          UINT8   __font[0x84000];
 #endif  #endif
   
 static const char fonttmpname[] = "font.tmp";  static const OEMCHAR fonttmpname[] = OEMTEXT("font.tmp");
   
   
   /**
    * Initializes CGROM
    */
 void font_initialize(void) {  void font_initialize(void) {
   
           ZeroMemory(fontrom, sizeof(fontrom));
           font_setchargraph(FALSE);
   }
   
   /**
    * Builds charactor graphics
    * @param[in] epson If this parameter is FALSE, patched NEC charactor
    */
   void font_setchargraph(BOOL epson) {
   
         UINT8   *p;          UINT8   *p;
         UINT8   *q;          UINT8   *q;
         UINT    i;          UINT    i;
         UINT    j;          UINT    j;
         UINT32  dbit;          UINT32  dbit;
   
         ZeroMemory(fontrom, sizeof(fontrom));  
         p = fontrom + 0x81000;          p = fontrom + 0x81000;
         q = fontrom + 0x82000;          q = fontrom + 0x82000;
         for (i=0; i<256; i++) {          for (i=0; i<256; i++) {
Line 41  void font_initialize(void) { Line 59  void font_initialize(void) {
                         q += 2;                          q += 2;
                 }                  }
         }          }
   
           if (!epson) {
                   *(UINT16 *)(fontrom + 0x81000 + (0xf2 * 16)) = 0;
                   fontrom[0x82000 + (0xf2 * 8)] = 0;
           }
 }  }
   
 static UINT8 fonttypecheck(const char *fname) {  /**
    * Retrieves the font type of the specified file.
    * @param[in] fname The name of the font file
    * @return font type
    */
   static UINT8 fonttypecheck(const OEMCHAR *fname) {
   
 const char      *p;  const OEMCHAR   *p;
   
         p = file_getext((char *)fname);          p = file_getext(fname);
         if (!file_cmpname(p, str_bmp)) {          if (!file_cmpname(p, str_bmp)) {
                 return(FONTTYPE_PC98);                  return(FONTTYPE_PC98);
         }          }
         p = file_getname((char *)fname);          p = file_getname(fname);
         if (!file_cmpname(p, v98fontname)) {          if (!file_cmpname(p, v98fontname)) {
                 return(FONTTYPE_V98);                  return(FONTTYPE_V98);
         }          }
Line 75  const char *p; Line 103  const char *p;
         return(FONTTYPE_NONE);          return(FONTTYPE_NONE);
 }  }
   
 UINT8 font_load(const char *filename, BOOL force) {  /**
    * Loads font files
    * @param[in] filename The name of the font file
    * @param[in] force If this parameter is TRUE, load file always
    *                  If this parameter is FALSE, load when font is not ready
    * @return font type
    */
   UINT8 font_load(const OEMCHAR *filename, BOOL force) {
   
         UINT    i;          UINT    i;
 const UINT8     *p;  const UINT8     *p;
         UINT8   *q;          UINT8   *q;
         UINT    j;          UINT    j;
         char    fname[MAX_PATH];          OEMCHAR fname[MAX_PATH];
         UINT8   type;          UINT8   type;
         UINT8   loading;          UINT8   loading;
   
         if (filename) {          if (filename) {
                 file_cpyname(fname, filename, sizeof(fname));                  file_cpyname(fname, filename, NELEMENTS(fname));
         }          }
         else {          else {
                 fname[0] = '\0';                  fname[0] = '\0';
Line 146  const UINT8 *p; Line 181  const UINT8 *p;
         loading = fontv98_read(file_getcd(v98fontname), loading);          loading = fontv98_read(file_getcd(v98fontname), loading);
         loading = fontpc88_read(file_getcd(pc88ankname), loading);          loading = fontpc88_read(file_getcd(pc88ankname), loading);
         if (loading & FONTLOAD_16) {          if (loading & FONTLOAD_16) {
                 file_cpyname(fname, file_getcd(fonttmpname), sizeof(fname));                  file_cpyname(fname, file_getcd(fonttmpname), NELEMENTS(fname));
                 if (file_attr(fname) == -1) {                  if (file_attr(fname) == -1) {
                         makepc98bmp(fname);                          makepc98bmp(fname);
                 }                  }
Line 154  const UINT8 *p; Line 189  const UINT8 *p;
         }          }
         return(type);          return(type);
 }  }
   

Removed from v.1.8  
changed lines
  Added in v.1.10


RetroPC.NET-CVS <cvs@retropc.net>