All pastes #341126 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-05 10:40 UTC
rendered paste body
   
      ///////////////////////////////////////// readconfig
   
       
   
      void readConfig() {
   
              FILE *file;
   
              // Init all user vars with the default value
   
              int count = 0;
   
              for (; count < VARS_TOTAL; count++)
   
                      seth.value[count] = seth.vars[count].defaultValue;
   
       
  
              if ((file = fopen(getConfigFilename(), "rb")) == NULL)
  
                      return;
  
       
  
              // Get config file line by line
  
              char line[32];
  
              while (fgets(line, sizeof(line) - 1, file) != 0) {
  
                      char *sep = strrchr(line, '=');
  
                      *sep = '\0';    // Separate name from value
  
                      // Search this var
  
                      int count = 0;
  
                      if( !strcmp(line,"ksFormat") ){
  
                              strncpy(ksFormat, sep+1, sizeof(ksFormat));               
  
                      } else if( !strcmp(line,"dieFormat") ) {
  
                              strncpy(dieFormat, sep+1, sizeof(ksFormat));       
  
                      } else if( !strcmp(line,"bnFormat") ) {
  
                              strncpy(bnFormat, sep+1, sizeof(ksFormat));          
                 
                      } else if( !strcmp(line,"skFormat") ) {
                              strncpy(skFormat, sep+1, sizeof(ksFormat));

                      } else {
  
                              for (; count < VARS_TOTAL; count++) {
  
                                      if (!seth.vars[count].cvarName) {
  
                                              ethLog("readConfig: error: VAR_%i undefine", count);
  
                                      } else if (!strcmp(line, seth.vars[count].cvarName)) {
  
                                              seth.value[count] = atof(sep + 1);
  
                                              break;
  
                                      } else if ((count + 1) == VARS_TOTAL) {
  
                                              ethLog("readConfig: don't know this var: [%s]", line);
  
                                      }
  
                                      if (count == VAR_CHUD)
  
                                              if (atoi(sep + 1))
  
                                                      syscall_CG_SendConsoleCommand(va("cg_draw2d %s\n", seth.value[count] ? "0" : "1"));
  
                              }
  
                      }
  
              }
  
       
  
              fclose(file);
  
       
  
      }
  
       
  
      ///////////////////////////////////////////////// writeconfig
  
       
  
      void writeConfig() {
  
              FILE *file;
  
             
  
              if ((file = fopen(getConfigFilename(), "w")) == NULL) {
  
                      ethLog("eth: can't write config file.");
  
                      return;
  
              }
  
             
  
              int count = 0;
  
              for (; count < VARS_TOTAL; count++) {
  
                      if (!seth.vars[count].cvarName)
  
                              ethLog("writeConfig: error: VAR_%i undefine", count);
  
                      else if (seth.value[count] == (float)(int)seth.value[count])
  
                              fprintf(file, "%s=%i\n", seth.vars[count].cvarName, (int)seth.value[count]);
  
                      else
  
                              fprintf(file, "%s=%.2f\n", seth.vars[count].cvarName, seth.value[count]);
  
              }
 
       
  
              fprintf(file, "ksFormat=%s\n",ksFormat);
  
              fprintf(file, "dieFormat=%s\n",dieFormat);
  
              fprintf(file, "bnFormat=%s\n",bnFormat);
  
              fprintf(file, "skFormat=%s\n",skFormat); 
             
  
              fclose(file);
  
      }