X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fconfig.c;h=9ad78cb2037bc09deb995d76d6258b07fc9f0ff2;hb=d070670f189ec66ed2ac6b45834a192c004bc92f;hp=5751a16173198a2ae43ec26ebb6d3c57470fa344;hpb=8e453e73a1f6cbbc133f45bf909488cf1cd12fc5;p=flatwaifu.git diff --git a/src/config.c b/src/config.c index 5751a16..9ad78cb 100644 --- a/src/config.c +++ b/src/config.c @@ -24,15 +24,11 @@ #include #include #include -//#include -//#include #include "config.h" -#include "vga.h" +//#include "vga.h" #include "error.h" #include "sound.h" -#include "keyb.h" #include "files.h" -#include "memory.h" #include "view.h" #include "player.h" #include "my.h" @@ -64,11 +60,11 @@ static cfg_t cfg[]={ {"vga","screenshot",&shot_vga,SW_ON,0}, {"sndvol","sound_volume",&snd_vol,WORD,0}, {"musvol","music_volume",&mus_vol,WORD,0}, - {"fullscr","fullscreen",&fullscreen,SW_ON,0}, - {"window",NULL,&fullscreen,SW_OFF,0}, +// {"fullscr","fullscreen",&fullscreen,SW_ON,0}, +// {"window",NULL,&fullscreen,SW_OFF,0}, {NULL,"sky",&w_horiz,SW_ON,0}, {"mon",NULL,&nomon,SW_OFF,0}, - {"gamma","gamma",&gammaa,DWORD,0}, +// {"gamma","gamma",&gammaa,DWORD,0}, {"warp",NULL,&_warp,BYTE,0}, {"width","screen_width",&SCRW,DWORD,0}, {"height","screen_height",&SCRH,DWORD,0}, @@ -94,7 +90,7 @@ static cfg_t cfg[]={ {NULL,"pl2_prev", &pl2.kwl,KEY,0}, {NULL,"pl2_use", &pl2.kp,KEY,0}, {"config",NULL,cfg_file,STRING,0}, - {NULL,NULL,NONE,0} + {NULL,NULL,NULL,NONE,0} }; @@ -206,43 +202,51 @@ void CFG_load(void) { } while(!feof(h)) { F_readstr(h,s,127); - if(*s==';' || s[1]==';') continue; // comment - if(!(p1=strtok(s,"\r\n\t=;"))) continue;//if(!(p1=strtok(s,"\r\n\t =;"))) continue; - if(!(p2=strtok(NULL,"\r\n\t=;"))) continue;//if(!(p2=strtok(NULL,"\r\n\t =;"))) continue; - for(j=0;cfg[j].t;++j) if(cfg[j].cfg && !cfg[j].o) - if(strcasecmp(p1,cfg[j].cfg)==0) { - switch(cfg[j].t) { - case BYTE: - n=strtol(p2,NULL,0); - *((byte *)cfg[j].p)=(byte)n; - break; - case WORD: - n=strtol(p2,NULL,0); - *((word *)cfg[j].p)=(word)n; - break; - case DWORD: - n=strtol(p2,NULL,0); - *((dword *)cfg[j].p)=n; - break; - case STRING: - strcpy((char *)cfg[j].p,p2); - break; - case SW_ON: - case SW_OFF: - if(strcasecmp(p2,"ON")==0) {*((byte *)cfg[j].p)=ON;break;} - if(strcasecmp(p2,"OFF")==0) {*((byte *)cfg[j].p)=OFF;break;} - *((byte *)cfg[j].p)=strtol(p2,NULL,0); - break; - case FILES: - break; - - case KEY: - { - int k = get_key(p2); - if (k) { - *((int *)cfg[j].p)=k; - } - else { + if(*s==';' || s[1]==';') + continue; // comment + if(!(p1=strtok(s,"\r\n\t=;"))) + continue; //if(!(p1=strtok(s,"\r\n\t =;"))) continue; + if(!(p2=strtok(NULL,"\r\n\t=;"))) + continue;//if(!(p2=strtok(NULL,"\r\n\t =;"))) continue; + for(j=0;cfg[j].t;++j) { + if(cfg[j].cfg && !cfg[j].o) { + if(strcasecmp(p1,cfg[j].cfg)==0) { + switch(cfg[j].t) { + case BYTE: + n=strtol(p2,NULL,0); + *((byte *)cfg[j].p)=(byte)n; + break; + case WORD: + n=strtol(p2,NULL,0); + *((word *)cfg[j].p)=(word)n; + break; + case DWORD: + n=strtol(p2,NULL,0); + *((dword *)cfg[j].p)=n; + break; + case STRING: + strcpy((char *)cfg[j].p,p2); + break; + case SW_ON: + case SW_OFF: + if(strcasecmp(p2,"ON")==0) { + *((byte *)cfg[j].p)=ON; + break; + } + if(strcasecmp(p2,"OFF")==0) { + *((byte *)cfg[j].p)=OFF; + break; + } + *((byte *)cfg[j].p)=strtol(p2,NULL,0); + break; + case FILES: + break; + case KEY: + { + int k = get_key(p2); + if (k) { + *((int *)cfg[j].p)=k; + } else { logo("Unknown key in cfg: %s=%s\n",p1,p2); logo("List available key names:\n"); int i; @@ -253,16 +257,17 @@ void CFG_load(void) { logo("%s\n", s); } } - } - } - break; - - default: - ERR_failinit("!!! Неизвестный тип в cfg !!!"); - } - break; - } - } + } + } + break; + default: + ERR_failinit("!!! Неизвестный тип в cfg !!!"); + } // switch + break; + } // if + } // if + } // for + } // while fclose(h); }