Diff for /np2/win9x/ini.cpp between versions 1.22 and 1.28

version 1.22, 2004/02/03 08:24:40 version 1.28, 2004/05/21 14:30:33
Line 2 Line 2
 #include        <windowsx.h>  #include        <windowsx.h>
 #include        <io.h>  #include        <io.h>
 #include        "strres.h"  #include        "strres.h"
   #include        "profile.h"
 #include        "np2.h"  #include        "np2.h"
 #include        "np2arg.h"  #include        "np2arg.h"
 #include        "dosio.h"  #include        "dosio.h"
Line 10 Line 11
 #include        "pccore.h"  #include        "pccore.h"
   
   
   
   static BOOL inigetbmp(const BYTE *ptr, UINT pos) {
   
           return((ptr[pos >> 3] >> (pos & 7)) & 1);
   }
   
   static void inisetbmp(BYTE *ptr, UINT pos, BOOL set) {
   
           UINT8   bit;
   
           ptr += (pos >> 3);
           bit = 1 << (pos & 7);
           if (set) {
                   *ptr |= bit;
           }
           else {
                   *ptr &= ~bit;
           }
   }
   
 static void inirdargs16(const char *src, const INITBL *ini) {  static void inirdargs16(const char *src, const INITBL *ini) {
   
         SINT16  *dst;          SINT16  *dst;
Line 163  const INITBL *pterm; Line 184  const INITBL *pterm;
                                 *((BYTE *)p->value) = (!milstr_cmp(work, str_true))?1:0;                                  *((BYTE *)p->value) = (!milstr_cmp(work, str_true))?1:0;
                                 break;                                  break;
   
                           case INITYPE_BITMAP:
                                   GetPrivateProfileString(title, p->item,
                                           (inigetbmp((BYTE *)p->value, p->arg))?str_true:str_false,
                                                                                                   work, sizeof(work), path);
                                   inisetbmp((BYTE *)p->value, p->arg,
                                                                                   (milstr_cmp(work, str_true) == 0));
                                   break;
   
                         case INITYPE_ARGS16:                          case INITYPE_ARGS16:
                                 GetPrivateProfileString(title, p->item, str_null,                                  GetPrivateProfileString(title, p->item, str_null,
                                                                                                 work, sizeof(work), path);                                                                                                  work, sizeof(work), path);
Line 179  const INITBL *pterm; Line 208  const INITBL *pterm;
                         case INITYPE_UINT8:                          case INITYPE_UINT8:
                                 val = (BYTE)GetPrivateProfileInt(title, p->item,                                  val = (BYTE)GetPrivateProfileInt(title, p->item,
                                                                                                 *(BYTE *)p->value, path);                                                                                                  *(BYTE *)p->value, path);
                                 *(BYTE *)p->value = (BYTE)val;                                  *(UINT8 *)p->value = (UINT8)val;
                                 break;                                  break;
   
                         case INITYPE_SINT16:                          case INITYPE_SINT16:
Line 201  const INITBL *pterm; Line 230  const INITBL *pterm;
                                 GetPrivateProfileString(title, p->item, work,                                  GetPrivateProfileString(title, p->item, work,
                                                                                                 work, sizeof(work), path);                                                                                                  work, sizeof(work), path);
                                 val = (BYTE)milstr_solveHEX(work);                                  val = (BYTE)milstr_solveHEX(work);
                                 *(BYTE *)p->value = (BYTE)val;                                  *(UINT8 *)p->value = (UINT8)val;
                                 break;                                  break;
   
                         case INITYPE_HEX16:                          case INITYPE_HEX16:
Line 217  const INITBL *pterm; Line 246  const INITBL *pterm;
                                 GetPrivateProfileString(title, p->item, work,                                  GetPrivateProfileString(title, p->item, work,
                                                                                                 work, sizeof(work), path);                                                                                                  work, sizeof(work), path);
                                 val = (UINT32)milstr_solveHEX(work);                                  val = (UINT32)milstr_solveHEX(work);
                                 *(UINT16 *)p->value = (UINT32)val;                                  *(UINT32 *)p->value = (UINT32)val;
                                 break;                                  break;
   
                         case INITYPE_BYTE3:                          case INITYPE_BYTE3:
Line 264  const char  *set; Line 293  const char  *set;
                                         break;                                          break;
   
                                 case INITYPE_SINT8:                                  case INITYPE_SINT8:
                                         SPRINTF(work, str_d, *((char *)p->value));                                          SPRINTF(work, str_d, *((SINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_SINT16:                                  case INITYPE_SINT16:
Line 276  const char  *set; Line 305  const char  *set;
                                         break;                                          break;
   
                                 case INITYPE_UINT8:                                  case INITYPE_UINT8:
                                         SPRINTF(work, str_u, *((BYTE *)p->value));                                          SPRINTF(work, str_u, *((UINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_UINT16:                                  case INITYPE_UINT16:
Line 288  const char  *set; Line 317  const char  *set;
                                         break;                                          break;
   
                                 case INITYPE_HEX8:                                  case INITYPE_HEX8:
                                         SPRINTF(work, str_x, *((BYTE *)p->value));                                          SPRINTF(work, str_x, *((UINT8 *)p->value));
                                         break;                                          break;
   
                                 case INITYPE_HEX16:                                  case INITYPE_HEX16:
Line 314  const char  *set; Line 343  const char  *set;
   
 // ----  // ----
   
   #if !defined(SUPPORT_PC9821)
 static const char ini_title[] = "NekoProjectII";  static const char ini_title[] = "NekoProjectII";
   #else
   static const char ini_title[] = "NekoProject21";
   #endif
   
 enum {  enum {
         INIRO_STR                       = INITYPE_STR + INIFLAG_RO,          INIRO_STR                       = INITYPE_STR + INIFLAG_RO,
         INIRO_BOOL                      = INITYPE_BOOL + INIFLAG_RO,          INIRO_BOOL                      = INITYPE_BOOL + INIFLAG_RO,
           INIRO_BITMAP            = INITYPE_BITMAP + INIFLAG_RO,
         INIRO_UINT8                     = INITYPE_UINT8 + INIFLAG_RO,          INIRO_UINT8                     = INITYPE_UINT8 + INIFLAG_RO,
         INIMAX_UINT8            = INITYPE_UINT8 + INIFLAG_MAX,          INIMAX_UINT8            = INITYPE_UINT8 + INIFLAG_MAX,
         INIAND_UINT8            = INITYPE_UINT8 + INIFLAG_AND,          INIAND_UINT8            = INITYPE_UINT8 + INIFLAG_AND,
Line 380  static const INITBL iniitem[] = { Line 414  static const INITBL iniitem[] = {
         {"optSPBVR", INITYPE_HEX8,              &np2cfg.spb_vrc,                0},          {"optSPBVR", INITYPE_HEX8,              &np2cfg.spb_vrc,                0},
         {"optSPBVL", INIMAX_UINT8,              &np2cfg.spb_vrl,                24},          {"optSPBVL", INIMAX_UINT8,              &np2cfg.spb_vrl,                24},
         {"optSPB_X", INITYPE_BOOL,              &np2cfg.spb_x,                  0},          {"optSPB_X", INITYPE_BOOL,              &np2cfg.spb_x,                  0},
         {"optMPU98", INITYPE_HEX8               &np2cfg.mpuopt,                 0},          {"optMPU98", INITYPE_HEX8,              &np2cfg.mpuopt,                 0},
   
         {"volume_F", INIMAX_UINT8,              &np2cfg.vol_fm,                 128},          {"volume_F", INIMAX_UINT8,              &np2cfg.vol_fm,                 128},
         {"volume_S", INIMAX_UINT8,              &np2cfg.vol_ssg,                128},          {"volume_S", INIMAX_UINT8,              &np2cfg.vol_ssg,                128},
Line 419  static const INITBL iniitem[] = { Line 453  static const INITBL iniitem[] = {
   
         {"calendar", INITYPE_BOOL,              &np2cfg.calendar,               0},          {"calendar", INITYPE_BOOL,              &np2cfg.calendar,               0},
         {"USE144FD", INITYPE_BOOL,              &np2cfg.usefd144,               0},          {"USE144FD", INITYPE_BOOL,              &np2cfg.usefd144,               0},
           {"FDDRIVE1", INIRO_BITMAP,              &np2cfg.fddequip,               0},
           {"FDDRIVE2", INIRO_BITMAP,              &np2cfg.fddequip,               1},
           {"FDDRIVE3", INIRO_BITMAP,              &np2cfg.fddequip,               2},
           {"FDDRIVE4", INIRO_BITMAP,              &np2cfg.fddequip,               3},
   
   
         // OS°Í¸¡©          // OS°Í¸¡©
         {"keyboard", INIRO_KB,                  &np2oscfg.KEYBOARD,             0},          {"keyboard", INIRO_KB,                  &np2oscfg.KEYBOARD,             0},

Removed from v.1.22  
changed lines
  Added in v.1.28


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