bool ConfigManager::loadLevelBackG() { unsigned int i; obj_BG sbg; unsigned long bg_total=0; QString bg_ini = config_dir + "lvl_bkgrd.ini"; if(!QFile::exists(bg_ini)) { addError(QString("ERROR LOADING lvl_bkgrd.ini: file does not exist"), QtCriticalMsg); return false; } QSettings bgset(bg_ini, QSettings::IniFormat); bgset.setIniCodec("UTF-8"); lvl_bg_indexes.clear();//Clear old bgset.beginGroup("background2-main"); bg_total = bgset.value("total", "0").toInt(); bgset.endGroup(); lvl_bg_indexes.allocateSlots(bg_total); for(i=1; i<=bg_total; i++) { sbg.isInit = false; sbg.image = NULL; sbg.textureArrayId = 0; sbg.animator_ID = 0; sbg.second_isInit=false; sbg.second_image = NULL; sbg.second_textureArrayId = 0; sbg.second_animator_ID = 0; if( loadLevelBackground(sbg, QString("background2-"+QString::number(i)), 0, "", &bgset) ) { sbg.id = i; lvl_bg_indexes.storeElement(sbg.id, sbg); } if( bgset.status() != QSettings::NoError ) { addError(QString("ERROR LOADING lvl_bgrnd.ini N:%1 (background2-%2)").arg(bgset.status()).arg(i), QtCriticalMsg); } } return true; }
void dataconfigs::loadLevelBackgrounds() { unsigned int i; obj_BG sbg; unsigned long bg_total=0; bool useDirectory=false; QString bg_ini = getFullIniPath("lvl_bkgrd.ini"); if( bg_ini.isEmpty() ) return; QString nestDir = ""; QSettings setup(bg_ini, QSettings::IniFormat); setup.setIniCodec("UTF-8"); main_bg.clear(); //Clear old if(!openSection(&setup, "background2-main")) return; bg_total = setup.value("total", 0).toUInt(); total_data += bg_total; nestDir = setup.value("config-dir", "").toString(); if(!nestDir.isEmpty()) { nestDir = config_dir + nestDir; useDirectory = true; } closeSection(&setup); emit progressPartNumber(0); emit progressMax(int(bg_total)); emit progressValue(0); emit progressTitle(QObject::tr("Loading Backgrounds...")); ConfStatus::total_bg = long(bg_total); main_bg.allocateSlots(int(bg_total)); if(ConfStatus::total_bg==0) { addError(QString("ERROR LOADING lvl_bkgrd.ini: number of items not define, or empty config"), PGE_LogLevel::Critical); return; } for(i=1; i<=bg_total; i++) { emit progressValue(int(i)); bool valid = false; if(useDirectory) { valid = loadLevelBackground(sbg, "background2", nullptr, QString("%1/background2-%2.ini").arg(nestDir).arg(i)); } else { valid = loadLevelBackground(sbg, QString("background2-%1").arg(i), 0, "", &setup); } sbg.id = i; main_bg.storeElement(int(i), sbg, valid); if( setup.status() != QSettings::NoError ) { addError(QString("ERROR LOADING lvl_bgrnd.ini N:%1 (background2-%2)").arg(setup.status()).arg(i), PGE_LogLevel::Critical); } } }