static void m_dump_ini(char *arg) { struct ini *ini = NULL; if(arg) { if(chars_isdigit(*arg)) ini = ini_find_id(atoi(arg)); else ini = ini_find_name(arg); } ini_dump(ini); }
void enna_config_save (void) { Eina_List *l; Enna_Config_Section_Parser *p; EINA_LIST_FOREACH(cfg_parsers, l, p) { if (p->save) p->save(p->section); } ini_dump(cfg_ini); }
static int change_to_usb_config(char *stb_inipath) { int j = 0; dictionary *ini = NULL; cfg_debug("%s\n", stb_inipath); ini = iniparser_load(stb_inipath); for (j = 0; j < g_usb_config_line_count; j++) { if (strstr(stb_inipath, g_usb_config_name[j])) { cfg_debug("set %s to %s in %s\n", g_usb_config_cmd[j], g_usb_config_value[j], stb_inipath); iniparser_set(ini, g_usb_config_cmd[j], g_usb_config_value[j]); } } ini_dump(ini, stb_inipath); return FV_OK; }
/* -------------------------------------------------------------------------- * * Client Initialisation * * -------------------------------------------------------------------------- */ void client_init(void) { int i; SDL_RWops *rwops; const sgVersion *sgver; const SDL_version *sdlver; client_log(STATUS, "Starte "PACKAGE" v"VERSION"..."); /* GUI Library initialisieren */ sgver = sgLinkedVersion(); client_log(STATUS, "Initialisiere sgUI v%u.%u.%u", sgver->major, sgver->minor, sgver->patch); sgInit(); /* Such-Pfade adden... Alle Dateien des Tichu-Clients werden über die libsgui geöffnet Auf windows starten wir immer aus dem Programm-Verzeichnis, wir müssen also nur unsere Unterverzeichnisse kennen: */ sgAddFilePath("data"); sgAddFilePath("sounds"); sgAddFilePath("images"); /* Auf *NIXes wird immer an einen festen Pfad installiert: */ #ifdef DATADIR sgAddFilePath(DATADIR "/data"); sgAddFilePath(DATADIR "/sounds"); sgAddFilePath(DATADIR "/images"); #endif /* Vielleicht sollten wir die folgenden Pfade nur für debug-builds absuchen (#ifdef DEBUG) */ sgAddFilePath("client/data"); sgAddFilePath("client/sounds"); sgAddFilePath("client/images"); sgAddFilePath("tichu/client/data"); sgAddFilePath("tichu/client/sounds"); sgAddFilePath("tichu/client/images"); sgAddFilePath("../data"); sgAddFilePath("../sounds"); sgAddFilePath("../images"); client_path = sgGetFilePath(); /* cursors themes laden */ sgOpenCursorThemes(); /* Konfigurationsdatei öffnen */ client_ini = ini_open(CLIENT_INI, INI_READ); #ifdef DEBUG ini_dump(client_ini); #endif /* DEBUG */ if(!client_ini) client_log(ERROR, "Fehler beim Öffnen der Konfigurationsdatei %s!", CLIENT_INI); /* SDL Initialisation */ sdlver = SDL_Linked_Version(); client_log(STATUS, "Initialisiere SDL v%u.%u.%u", sdlver->major, sdlver->minor, sdlver->patch); if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_NOPARACHUTE)) client_log(ERROR, "Kann SDL nicht initialisieren!"); client_subsystems = SDL_WasInit(SDL_INIT_EVERYTHING); client_getmodes(); client_configure(); #if MDEBUG_ENABLE mdebug_init(); #endif /* MDEBUG_ENABLE */ /* Netzwerk initialisieren */ net_init(); /* Module welche auf SDL basieren initialisieren */ sound_init(); // card_init("data/cards.ini", "data/cards-alpha.png"); /* net read/error funktionen */ net_register(NET_READ, client_event); net_register(NET_ERROR, client_event); #ifdef WIN32 /* Im Windows-Taskbar sieht ein 32x32 Icon am besten aus */ client_load_icon("dragon-32.png"); #else /* Unter Fluxbox und XFCE macht sich ein 16x16 Icon am Besten :P * * Oooops, unter der neuen Fluxbox mit all dem Antialias Gewixe * aber nicht, dort wäre auch ein 32x32 angebracht. * * Aber wie finden wir raus welchen WM wir runnen auf X11? * Naja, vorerst einmal scheissegal :P */ client_load_icon("dragon-16.png"); #endif /* WIN32 */ /* Window-Manager Titel setzen */ SDL_WM_SetCaption("Tichu SDL Client v"VERSION, NULL); /* Fonts laden und der GUI übergeben */ for(i = 0; i < 3; i++) { rwops = client_open_rwops(client_config.font[i], CLIENT_READ); client_font[i] = sgLoadFontRWops(rwops); } /* Einen Puffer für die Kommandozeile und Chatkonsole reservieren */ client_buffer = strdup(client_ascii); if(sound_status & SOUND_AVAIL) { sound_configure(client_ini); /* Soundeffekte laden */ ui_loadsounds(); /* Soundtracks laden */ sound_mus_scan(); if(sound_playlist.head) sound_mus_play((struct sound_mus *)sound_playlist.head); } /* Kartendaten laden */ card_configure(client_ini); card_init(); /* Fächerkonfiguration laden */ fan_configure(client_ini); }