Diff for /np2/statsave.c between versions 1.12 and 1.13

version 1.12, 2003/10/24 10:58:47 version 1.13, 2003/10/25 09:08:24
Line 50  enum { Line 50  enum {
         NP2FLAG_EVT,          NP2FLAG_EVT,
         NP2FLAG_GIJ,          NP2FLAG_GIJ,
         NP2FLAG_FM,          NP2FLAG_FM,
         NP2FLAG_MIDI,          NP2FLAG_COM,
         NP2FLAG_DISK          NP2FLAG_DISK
 };  };
   
Line 1047  static int flagload_disk(NP2FFILE f, con Line 1047  static int flagload_disk(NP2FFILE f, con
   
 // -----  // -----
   
 #ifdef _MIDICH  static int flagsave_com(NP2FFILE f, const STENTRY *t) {
 static int flagsave_midi(NP2FFILE f, const STENTRY *t) {  
   
         UINT    device;          UINT    device;
         COMMNG  cm;          COMMNG  cm;
         int             ret;          int             ret;
         _MIDICH mch[16];          COMFLAG flag;
   
         device = (UINT)t->arg1;          device = (UINT)t->arg1;
         switch(device) {          switch(device) {
Line 1070  static int flagsave_midi(NP2FFILE f, con Line 1069  static int flagsave_midi(NP2FFILE f, con
                         break;                          break;
         }          }
         ret = NP2FLAG_SUCCESS;          ret = NP2FLAG_SUCCESS;
         if ((cm != NULL) && (cm->msg(cm, COMMSG_MIDISTATGET, (long)mch))) {          if (cm) {
                 ret = flagsave_create(f, t);                  flag = (COMFLAG)cm->msg(cm, COMMSG_GETFLAG, 0);
                 if (ret != NP2FLAG_FAILURE) {                  if (flag) {
                         ret |= flagsave_save(f, mch, sizeof(mch));                          ret = flagsave_create(f, t);
                         ret |= flagsave_close(f);                          if (ret != NP2FLAG_FAILURE) {
                                   ret |= flagsave_save(f, flag, flag->size);
                                   ret |= flagsave_close(f);
                           }
                           _MFREE(flag);
                 }                  }
         }          }
         return(ret);          return(ret);
 }  }
   
 static int flagload_midi(NP2FFILE f, const STENTRY *t) {  static int flagload_com(NP2FFILE f, const STENTRY *t) {
   
         _MIDICH mch[16];          UINT            device;
         UINT    device;          COMMNG          cm;
         COMMNG  cm;          int                     ret;
         int             ret;          _COMFLAG        fhdr;
           COMFLAG         flag;
   
         ret = flagload_load(f, mch, sizeof(mch));          ret = flagload_load(f, &fhdr, sizeof(fhdr));
         if (ret != NP2FLAG_FAILURE) {          if (ret != NP2FLAG_SUCCESS) {
                 device = (UINT)t->arg1;                  goto flcom_err1;
                 switch(device) {          }
                         case 0:          if (fhdr.size < sizeof(fhdr)) {
                                 commng_destroy(cm_mpu98);                  goto flcom_err1;
                                 cm = commng_create(COMCREATE_MPU98II);          }
                                 cm_mpu98 = cm;          flag = (COMFLAG)_MALLOC(fhdr.size, "com stat flag");
                                 break;          if (flag == NULL) {
                   goto flcom_err1;
           }
           CopyMemory(flag, &fhdr, sizeof(fhdr));
           ret |= flagload_load(f, flag + 1, fhdr.size - sizeof(fhdr));
           if (ret != NP2FLAG_SUCCESS) {
                   goto flcom_err2;
           }
   
                         case 1:          device = (UINT)t->arg1;
                                 commng_destroy(cm_rs232c);          switch(device) {
                                 cm = commng_create(COMCREATE_SERIAL);                  case 0:
                                 cm_rs232c = cm;                          commng_destroy(cm_mpu98);
                                 break;                          cm = commng_create(COMCREATE_MPU98II);
                           cm_mpu98 = cm;
                           break;
   
                         default:                  case 1:
                                 cm = NULL;                          commng_destroy(cm_rs232c);
                                 break;                          cm = commng_create(COMCREATE_SERIAL);
                 }                          cm_rs232c = cm;
                 if (cm) {                          break;
                         cm->msg(cm, COMMSG_MIDISTATSET, (long)mch);  
                 }                  default:
                           cm = NULL;
                           break;
         }          }
           if (cm) {
                   cm->msg(cm, COMMSG_SETFLAG, (long)flag);
           }
   
   flcom_err2:
           _MFREE(flag);
   
   flcom_err1:
         return(ret);          return(ret);
 }  }
 #endif  
   
   
 // ----  // ----
Line 1194  int statsave_save(const char *filename)  Line 1216  int statsave_save(const char *filename) 
                                 ret |= flagsave_disk(&f, &np2tbl[i]);                                  ret |= flagsave_disk(&f, &np2tbl[i]);
                                 break;                                  break;
   
 #if defined(MIDICH)                          case NP2FLAG_COM:
                         case NP2FLAG_MIDI:                                  ret |= flagsave_com(&f, &np2tbl[i]);
                                 ret |= flagsave_midi(&f, &np2tbl[i]);  
                                 break;                                  break;
 #endif  
                 }                  }
         }          }
         flagclose(&f);          flagclose(&f);
Line 1254  int statsave_check(const char *filename, Line 1274  int statsave_check(const char *filename,
                                         case NP2FLAG_EXT:                                          case NP2FLAG_EXT:
                                         case NP2FLAG_EVT:                                          case NP2FLAG_EVT:
                                         case NP2FLAG_GIJ:                                          case NP2FLAG_GIJ:
 #if defined(MIDICH)                                          case NP2FLAG_COM:
                                         case NP2FLAG_MIDI:  
 #endif  
                                                 ret |= flagcheck_veronly(&f, &np2tbl[i], &e);                                                  ret |= flagcheck_veronly(&f, &np2tbl[i], &e);
                                                 break;                                                  break;
   
Line 1357  int statsave_load(const char *filename)  Line 1375  int statsave_load(const char *filename) 
                                         ret |= flagload_disk(&f, &np2tbl[i]);                                          ret |= flagload_disk(&f, &np2tbl[i]);
                                         break;                                          break;
   
 #if defined(MIDICH)                                  case NP2FLAG_COM:
                                 case NP2FLAG_MIDI:                                          ret |= flagload_com(&f, &np2tbl[i]);
                                         ret |= flagload_midi(&f, &np2tbl[i]);  
                                         break;                                          break;
 #endif  
   
                                 default:                                  default:
                                         ret |= NP2FLAG_WARNING;                                          ret |= NP2FLAG_WARNING;

Removed from v.1.12  
changed lines
  Added in v.1.13


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