Diff for /xmil/win9x/ini.cpp between versions 1.1 and 1.7

version 1.1, 2004/08/01 05:31:31 version 1.7, 2004/08/09 02:47:02
Line 3 Line 3
 #include        <io.h>  #include        <io.h>
 #include        "strres.h"  #include        "strres.h"
 #include        "xmil.h"  #include        "xmil.h"
   #include        "oemtext.h"
 #include        "dosio.h"  #include        "dosio.h"
 #include        "ini.h"  #include        "ini.h"
 #include        "pccore.h"  #include        "pccore.h"
Line 13  void ini_read(const OEMCHAR *path, const Line 14  void ini_read(const OEMCHAR *path, const
   
 const INITBL    *p;  const INITBL    *p;
 const INITBL    *pterm;  const INITBL    *pterm;
   #if defined(OSLANG_UCS2)
           OEMCHAR         item[10];
   #else
   const OEMCHAR   *item;
   #endif
         OEMCHAR         work[512];          OEMCHAR         work[512];
         UINT32          val;          UINT32          val;
   
         p = tbl;          p = tbl;
         pterm = tbl + count;          pterm = tbl + count;
         while(p < pterm) {          while(p < pterm) {
   #if defined(OSLANG_UCS2)
                   oemtext_sjis2oem(item, NELEMENTS(item), p->item, (UINT)-1);
   #else
                   item = p->item;
   #endif
                 switch(p->itemtype & INITYPE_MASK) {                  switch(p->itemtype & INITYPE_MASK) {
                         case INITYPE_STR:                          case INITYPE_STR:
                                 GetPrivateProfileString(title, p->item, (OEMCHAR *)p->value,                                  GetPrivateProfileString(title, item, (OEMCHAR *)p->value,
                                                                                         (OEMCHAR *)p->value, p->arg, path);                                                                                          (OEMCHAR *)p->value, p->arg, path);
                                 break;                                  break;
   
                         case INITYPE_BOOL:                          case INITYPE_BOOL:
                                 GetPrivateProfileString(title, p->item,                                  GetPrivateProfileString(title, item,
                                                                         (*((UINT8 *)p->value))?str_true:str_false,                                                                          (*((UINT8 *)p->value))?str_true:str_false,
                                                                                                 work, NELEMENTS(work), path);                                                                                                  work, NELEMENTS(work), path);
                                 *((UINT8 *)p->value) = (!milstr_cmp(work, str_true))?1:0;                                  *((UINT8 *)p->value) = (!milstr_cmp(work, str_true))?1:0;
Line 34  const INITBL *pterm; Line 45  const INITBL *pterm;
   
                         case INITYPE_SINT8:                          case INITYPE_SINT8:
                         case INITYPE_UINT8:                          case INITYPE_UINT8:
                                 val = (UINT8)GetPrivateProfileInt(title, p->item,                                  val = (UINT8)GetPrivateProfileInt(title, item,
                                                                                                 *(UINT8 *)p->value, path);                                                                                                  *(UINT8 *)p->value, path);
                                 *(UINT8 *)p->value = (UINT8)val;                                  *(UINT8 *)p->value = (UINT8)val;
                                 break;                                  break;
   
                         case INITYPE_SINT16:                          case INITYPE_SINT16:
                         case INITYPE_UINT16:                          case INITYPE_UINT16:
                                 val = (UINT16)GetPrivateProfileInt(title, p->item,                                  val = (UINT16)GetPrivateProfileInt(title, item,
                                                                                                 *(UINT16 *)p->value, path);                                                                                                  *(UINT16 *)p->value, path);
                                 *(UINT16 *)p->value = (UINT16)val;                                  *(UINT16 *)p->value = (UINT16)val;
                                 break;                                  break;
   
                         case INITYPE_SINT32:                          case INITYPE_SINT32:
                         case INITYPE_UINT32:                          case INITYPE_UINT32:
                                 val = (UINT32)GetPrivateProfileInt(title, p->item,                                  val = (UINT32)GetPrivateProfileInt(title, item,
                                                                                                 *(UINT32 *)p->value, path);                                                                                                  *(UINT32 *)p->value, path);
                                 *(UINT32 *)p->value = (UINT32)val;                                  *(UINT32 *)p->value = (UINT32)val;
                                 break;                                  break;
   
                         case INITYPE_HEX8:                          case INITYPE_HEX8:
                                 SPRINTF(work, str_x, *(UINT8 *)p->value),                                  OEMSPRINTF(work, str_x, *(UINT8 *)p->value),
                                 GetPrivateProfileString(title, p->item, work,                                  GetPrivateProfileString(title, item, work,
                                                                                                 work, NELEMENTS(work), path);                                                                                                  work, NELEMENTS(work), path);
                                 val = (UINT8)milstr_solveHEX(work);                                  val = (UINT8)milstr_solveHEX(work);
                                 *(UINT8 *)p->value = (UINT8)val;                                  *(UINT8 *)p->value = (UINT8)val;
                                 break;                                  break;
   
                         case INITYPE_HEX16:                          case INITYPE_HEX16:
                                 SPRINTF(work, str_x, *(UINT16 *)p->value),                                  OEMSPRINTF(work, str_x, *(UINT16 *)p->value),
                                 GetPrivateProfileString(title, p->item, work,                                  GetPrivateProfileString(title, item, work,
                                                                                                 work, NELEMENTS(work), path);                                                                                                  work, NELEMENTS(work), path);
                                 val = (UINT16)milstr_solveHEX(work);                                  val = (UINT16)milstr_solveHEX(work);
                                 *(UINT16 *)p->value = (UINT16)val;                                  *(UINT16 *)p->value = (UINT16)val;
                                 break;                                  break;
   
                         case INITYPE_HEX32:                          case INITYPE_HEX32:
                                 SPRINTF(work, str_x, *(UINT32 *)p->value),                                  OEMSPRINTF(work, str_x, *(UINT32 *)p->value),
                                 GetPrivateProfileString(title, p->item, work,                                  GetPrivateProfileString(title, item, work,
                                                                                                 work, NELEMENTS(work), path);                                                                                                  work, NELEMENTS(work), path);
                                 val = (UINT32)milstr_solveHEX(work);                                  val = (UINT32)milstr_solveHEX(work);
                                 *(UINT32 *)p->value = (UINT32)val;                                  *(UINT32 *)p->value = (UINT32)val;
Line 105  const OEMCHAR *set; Line 116  const OEMCHAR *set;
                                         break;                                          break;
   
                                 case INITYPE_SINT8:                                  case INITYPE_SINT8:
                                         SPRINTF(work, str_d, *((SINT8 *)p->value));                                          OEMSPRINTF(work, str_d, *((SINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_SINT16:                                  case INITYPE_SINT16:
                                         SPRINTF(work, str_d, *((SINT16 *)p->value));                                          OEMSPRINTF(work, str_d, *((SINT16 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_SINT32:                                  case INITYPE_SINT32:
                                         SPRINTF(work, str_d, *((SINT32 *)p->value));                                          OEMSPRINTF(work, str_d, *((SINT32 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_UINT8:                                  case INITYPE_UINT8:
                                         SPRINTF(work, str_u, *((UINT8 *)p->value));                                          OEMSPRINTF(work, str_u, *((UINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_UINT16:                                  case INITYPE_UINT16:
                                         SPRINTF(work, str_u, *((UINT16 *)p->value));                                          OEMSPRINTF(work, str_u, *((UINT16 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_UINT32:                                  case INITYPE_UINT32:
                                         SPRINTF(work, str_u, *((UINT32 *)p->value));                                          OEMSPRINTF(work, str_u, *((UINT32 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_HEX8:                                  case INITYPE_HEX8:
                                         SPRINTF(work, str_x, *((UINT8 *)p->value));                                          OEMSPRINTF(work, str_x, *((UINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_HEX16:                                  case INITYPE_HEX16:
                                         SPRINTF(work, str_x, *((UINT16 *)p->value));                                          OEMSPRINTF(work, str_x, *((UINT16 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_HEX32:                                  case INITYPE_HEX32:
                                         SPRINTF(work, str_x, *((UINT32 *)p->value));                                          OEMSPRINTF(work, str_x, *((UINT32 *)p->value));
                                         break;                                          break;
   
                                 default:                                  default:
Line 145  const OEMCHAR *set; Line 156  const OEMCHAR *set;
                                         break;                                          break;
                         }                          }
                         if (set) {                          if (set) {
   #if defined(OSLANG_UCS2)
                                   OEMCHAR item[10];
                                   oemtext_sjis2oem(item, NELEMENTS(item), p->item, (UINT)-1);
                                   WritePrivateProfileString(title, item, set, path);
   #else
                                 WritePrivateProfileString(title, p->item, set, path);                                  WritePrivateProfileString(title, p->item, set, path);
   #endif
                         }                          }
                 }                  }
                 p++;                  p++;
Line 170  static const INITBL iniitem[] = { Line 187  static const INITBL iniitem[] = {
         {"Win_Snap", INITYPE_BOOL,              &xmiloscfg.WINSNAP,             0},          {"Win_Snap", INITYPE_BOOL,              &xmiloscfg.WINSNAP,             0},
         {"backgrnd", INIAND_UINT8,              &xmiloscfg.background,  0x03},          {"backgrnd", INIAND_UINT8,              &xmiloscfg.background,  0x03},
         {"DspClock", INIAND_UINT8,              &xmiloscfg.DISPCLK,             0x03},          {"DspClock", INIAND_UINT8,              &xmiloscfg.DISPCLK,             0x03},
           {"s_NOWAIT", INITYPE_BOOL,              &xmiloscfg.NOWAIT,              0},
         {"StartDir", INITYPE_STR,               fddfolder,                              MAX_PATH},          {"SkpFrame", INITYPE_UINT8,             &xmiloscfg.DRAW_SKIP,   0},
           {"FDfolder", INITYPE_STR,               fddfolder,                              MAX_PATH},
         {"bmap_Dir", INITYPE_STR,               bmpfilefolder,                  MAX_PATH},          {"bmap_Dir", INITYPE_STR,               bmpfilefolder,                  MAX_PATH},
   
         {"IPL_TYPE", INIMAX_UINT8,              &xmilcfg.ROM_TYPE,              3},          {"IPL_TYPE", INIMAX_UINT8,              &xmilcfg.ROM_TYPE,              3},
         {"cpu_8MHz", INITYPE_BOOL,              &xmilcfg.CPU8MHz,               0},          {"cpu_8MHz", INITYPE_BOOL,              &xmilcfg.CPU8MHz,               0},
   
         {"Resolute", INITYPE_HEX8,              &xmilcfg.DIP_SW,                0},          {"Resolute", INITYPE_HEX8,              &xmilcfg.DIP_SW,                0},
         {"SkipLine", INITYPE_BOOL,              &xmilcfg.SKIP_LINE,             0},  
         {"s_NOWAIT", INITYPE_BOOL,              &xmilcfg.NOWAIT,                0},  
         {"SkpFrame", INITYPE_UINT8,             &xmilcfg.DRAW_SKIP,             0},  
         {"LinLIGHT", INITYPE_HEX8,              &xmilcfg.LINEDEPTH,             0},  
         {"BlkLIGHT", INITYPE_HEX8,              &xmilcfg.BLKLIGHT,              0},  
         {"TxtLIGHT", INITYPE_HEX8,              &xmilcfg.LINETEXT,              0},  
         {"Text_Ext", INITYPE_BOOL,              &xmilcfg.TEXTMODE,              0},  
         {"Text_400", INITYPE_HEX8,              &xmilcfg.TEXT400L,              0},  
   
         {"OPMsound", INITYPE_BOOL,              &xmilcfg.SOUND_SW,              0},          {"DispSync", INITYPE_BOOL,              &xmilcfg.DISPSYNC,              0},
           {"Real_Pal", INITYPE_BOOL,              &xmilcfg.RASTER,                0},
           {"skipline", INITYPE_BOOL,              &xmilcfg.skipline,              0},
           {"skplight", INITYPE_UINT16,    &xmilcfg.skiplight,             0},
   
         {"SampleHz", INITYPE_UINT16,    &xmilcfg.samplingrate,  0},          {"SampleHz", INITYPE_UINT16,    &xmilcfg.samplingrate,  0},
         {"Latencys", INITYPE_UINT16,    &xmilcfg.delayms,               0},          {"Latencys", INITYPE_UINT16,    &xmilcfg.delayms,               0},
         {"SoundPly", INITYPE_BOOL,              &xmilcfg.SOUNDPLY,              0},          {"OPMsound", INITYPE_BOOL,              &xmilcfg.SOUND_SW,              0},
         {"Seek_Snd", INITYPE_BOOL,              &xmilcfg.MOTOR,                 0},          {"Seek_Snd", INITYPE_BOOL,              &xmilcfg.MOTOR,                 0},
         {"Seek_Vol", INIMAX_UINT8,              &xmilcfg.MOTORVOL,              100},          {"Seek_Vol", INIMAX_UINT8,              &xmilcfg.MOTORVOL,              100},
   
           {"MouseInt", INITYPE_BOOL,              &xmilcfg.MOUSE_SW,              0},
         {"btnRAPID", INITYPE_BOOL,              &xmilcfg.BTN_RAPID,             0},          {"btnRAPID", INITYPE_BOOL,              &xmilcfg.BTN_RAPID,             0},
         {"btn_MODE", INITYPE_BOOL,              &xmilcfg.BTN_MODE,              0},          {"btn_MODE", INITYPE_BOOL,              &xmilcfg.BTN_MODE,              0},
         {"MouseInt", INITYPE_BOOL,              &xmilcfg.MOUSE_SW,              0},  
   
         {"Joystick", INITYPE_BOOL,              &xmiloscfg.JOYSTICK,    0},          {"Joystick", INITYPE_BOOL,              &xmiloscfg.JOYSTICK,    0},
   
         {"clocknow", INITYPE_UINT8,             &xmiloscfg.clockx,              0},          {"clocknow", INITYPE_UINT8,             &xmiloscfg.clockx,              0},
         {"clockfnt", INITYPE_UINT8,             &xmiloscfg.clockfnt,    0},          {"clockfnt", INITYPE_UINT8,             &xmiloscfg.clockfnt,    0},
         {"clock_up", INIROAND_HEX32,    &xmiloscfg.clockcolor1, 0xffffff},          {"clock_up", INIROAND_HEX32,    &xmiloscfg.clockcolor1, 0xffffff},
Line 211  static const INITBL iniitem[] = { Line 223  static const INITBL iniitem[] = {
   
 static void initgetfile(OEMCHAR *path, UINT size) {  static void initgetfile(OEMCHAR *path, UINT size) {
   
         file_cpyname(path, __argv[0], size);          file_cpyname(path, modulefile, size);
         file_cutext(path);          file_cutext(path);
         file_catname(path, OEMTEXT(".ini"), size);          file_catname(path, OEMTEXT(".ini"), size);
 }  }

Removed from v.1.1  
changed lines
  Added in v.1.7


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