#include #include #include #include #include "Namen.h" #include "KommandoZeilenParameter.h" void SchreibeKonfiguration(){ FILE *f; #ifndef _WIN32 char dateiname[40]; sprintf(dateiname,"%s/.BillardGL.conf.v7",getenv("HOME")); f=fopen(dateiname,"w+"); #endif #ifdef _WIN32 f=fopen("BillardGL.conf.v7","wb+"); #endif if (f) { char Spieler1temp[10]; char Spieler2temp[10]; char NetzwerkSpielertemp[10]; for (int i=0;i<10;i++) { if (Spieler1[i]==' ') { Spieler1temp[i]='%'; } else { Spieler1temp[i]=Spieler1[i]; } if (Spieler2[i]==' ') { Spieler2temp[i]='%'; } else { Spieler2temp[i]=Spieler2[i]; } if (NetzwerkSpieler[i]==' ') { NetzwerkSpielertemp[i]='%'; } else { NetzwerkSpielertemp[i]=NetzwerkSpieler[i]; } } fprintf(f,"%i\n",Texturgroesse); fprintf(f,"%i\n",AnzeigeTexturgroesse); fprintf(f,"%i\n",TischTexturgroesse); fprintf(f,"%i\n",KugelAufloesung); fprintf(f,"%f\n",MouseSpeed); fprintf(f,"%i\n",InvertX); fprintf(f,"%i\n",InvertY); fprintf(f,"%i\n",BildschirmAufloesung); fprintf(f,"%i\n",Farbtiefe); fprintf(f,"%i\n",Reflektionen); fprintf(f,"%i\n",Schatten); fprintf(f,"%i\n",TexMMM); fprintf(f,"%i\n",Sprache); fprintf(f,"%i\n",ZeigeFPS); fprintf(f,"%i\n",AmbientesLicht); fprintf(f,"%i\n",TischLampen); fprintf(f,"%i\n",GrueneLampe); fprintf(f,"%f\n",EffektLautstaerke); fprintf(f,"%f\n",MusikLautstaerke); fprintf(f,"%s\n",Spieler1temp); fprintf(f,"%s\n",Spieler2temp); fprintf(f,"%s\n",NetzwerkSpielertemp); fclose(f); } } void LeseKonfiguration(){ FILE *f; #ifndef _WIN32 char dateiname[40]; sprintf(dateiname,"%s/.BillardGL.conf.v7",getenv("HOME")); f=fopen(dateiname,"r"); #endif #ifdef _WIN32 f=fopen("BillardGL.conf.v7","rb"); #endif if (f) { char Spieler1temp[10]; char Spieler2temp[10]; char NetzwerkSpielertemp[10]; fscanf(f,"%i",&Texturgroesse); fscanf(f,"%i",&AnzeigeTexturgroesse); fscanf(f,"%i",&TischTexturgroesse); fscanf(f,"%i",&KugelAufloesung); fscanf(f,"%f",&MouseSpeed); fscanf(f,"%i",&InvertX); fscanf(f,"%i",&InvertY); fscanf(f,"%i",&BildschirmAufloesung); fscanf(f,"%i",&Farbtiefe); fscanf(f,"%i",&Reflektionen); fscanf(f,"%i",&Schatten); fscanf(f,"%i",&TexMMM); fscanf(f,"%i",&Sprache); fscanf(f,"%i",&ZeigeFPS); fscanf(f,"%i",&AmbientesLicht); fscanf(f,"%i",&TischLampen); fscanf(f,"%i",&GrueneLampe); fscanf(f,"%f",&EffektLautstaerke); fscanf(f,"%f",&MusikLautstaerke); fscanf(f,"%s",Spieler1temp); fscanf(f,"%s",Spieler2temp); fscanf(f,"%s",NetzwerkSpielertemp); for (int i=0;i<10;i++) { if (Spieler1temp[i]=='%') { Spieler1[i]=' '; } else { Spieler1[i]=Spieler1temp[i]; } if (Spieler2temp[i]=='%') { Spieler2[i]=' '; } else { Spieler2[i]=Spieler2temp[i]; } if (NetzwerkSpieler[i]=='%') { NetzwerkSpieler[i]=' '; } else { NetzwerkSpieler[i]=NetzwerkSpielertemp[i]; } } } } void KommandoZeilenParameter(int argc,char **argv) { // Titeltext //#ifndef _WIN32 printf("\n BillardGL (C) 2001, 2002 Tobias Nopper, Stefan Disch, Martina Welte\n\n"); //#endif //Defaultwerte Texturgroesse = 2; AnzeigeTexturgroesse = 1; TischTexturgroesse = 2; KugelAufloesung = 7; InvertX = 0; InvertY = 0; Spiel = ACHTBALL; Schatten = 1; TexMMM = 3; Epsilon = 0.05; MouseSpeed = 0.4; PhysikFrequenz = 400; ReibungsFaktor = 1.2; BandenFaktor = 0.4; KollisionsFaktor = 0.95; ZBufferLoeschen = 1; BildschirmAufloesung = 800; Farbtiefe = 16; Reflektionen = 0; Sprache = 0; ZeigeFPS = 0; AmbientesLicht = 1; TischLampen = 2; GrueneLampe = 0; FullScreen = 1; EffektLautstaerke = .5; MusikLautstaerke = .5; sprintf(Spieler1,"Name 1"); sprintf(Spieler2,"Name 2"); sprintf(NetzwerkSpieler,"Name"); LeseKonfiguration(); // Einlesen der Kommandozeilenparameter int i=1; while (i