Esempio n. 1
0
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;
}
Esempio n. 2
0
void dataconfigs::loadLevelBackgrounds()
{
    unsigned int i;
    obj_BG sbg;
    unsigned long bg_total=0;

    QString bg_ini = config_dir + "lvl_bkgrd.ini";

    if(!QFile::exists(bg_ini))
    {
        WriteToLog(QtCriticalMsg, QString("ERROR LOADING OF lvl_bkgrd.ini: file not exist"));
          return;
    }

    QSettings bgset(bg_ini, QSettings::IniFormat);
    bgset.setIniCodec("UTF-8");

    main_bg.clear();   //Clear old

    bgset.beginGroup("background2-main");
        bg_total = bgset.value("total", "0").toInt();
        total_data +=bg_total;
    bgset.endGroup();

    ConfStatus::total_bg = bg_total;

    for(i=1; i<=bg_total; i++)
    {
        bgset.beginGroup( QString("background2-"+QString::number(i)) );
            sbg.name = bgset.value("name", "").toString();
            tmpstr = bgset.value("type", "single-row").toString();
                if(tmpstr=="single-row")
                   sbg.type = 0;
                else if(tmpstr=="double-row")
                   sbg.type = 1;
                else if(tmpstr=="tiled")
                   sbg.type = 2;
                else sbg.type = 0;

//                WriteToLog(QtDebugMsg, QString("Init BG image %1 with type %2 %3")
//                           .arg(i).arg(tmpstr).arg(sbg.type));

            sbg.repeat_h = bgset.value("repeat-h", "2").toInt();
            tmpstr = bgset.value("repeat-v", "NR").toString();
                if(tmpstr=="NR")
                    sbg.repead_v = 0;
                else if(tmpstr=="ZR")
                    sbg.repead_v = 1;
                else if(tmpstr=="RP")
                    sbg.repead_v = 2;
                else if(tmpstr=="RZ")
                    sbg.repead_v = 3;
                else sbg.repead_v = 0;

            imgFile = bgset.value("image", "").toString();
            sbg.image_n = imgFile;
            if( (imgFile!="") )
            {
                sbg.image = QPixmap(BGPath + imgFile);
            }
            else
            {
                sbg.image = QPixmap(QApplication::applicationDirPath() + "/" + "data/nobg.gif");
            }

            sbg.attached = (int)(bgset.value("attached", "bottom").toString()=="top");
            sbg.editing_tiled = (bgset.value("tiled-in-editor", "0").toString()=="1");

            sbg.magic = (bgset.value("magic", "0").toString()=="1");
            sbg.magic_strips = bgset.value("magic-strips", "1").toInt();
            sbg.magic_splits = bgset.value("magic-splits", "0").toString();
            sbg.magic_speeds = bgset.value("magic-speeds", "0").toString();

            sbg.animated = (bgset.value("animated", "0").toString()=="1");//animated
            sbg.frames = bgset.value("frames", "1").toInt();
            //frames

            if(sbg.type==1)
            {

                    imgFile = bgset.value("second-image", "").toString();
                    sbg.second_image_n = imgFile;
                    if( (imgFile!="") )
                    {
                        sbg.second_image = QPixmap(BGPath + imgFile);
                    }
                    else
                    {
                        sbg.second_image = QPixmap(QApplication::applicationDirPath() + "/" + "data/nobg.gif");
                    }
                    sbg.second_repeat_h = bgset.value("second-repeat-h", "2").toInt();
                    tmpstr = bgset.value("second-repeat-v", "NR").toString();
                        if(tmpstr=="NR")
                            sbg.second_repeat_v = 0;
                        else if(tmpstr=="ZR")
                            sbg.second_repeat_v = 1;
                        else if(tmpstr=="RP")
                            sbg.second_repeat_v = 2;
                        else if(tmpstr=="RZ")
                            sbg.second_repeat_v = 3;
                        else sbg.second_repeat_v = 0;
                    tmpstr = bgset.value("second-attached", "overfirst").toString();
                        if(tmpstr=="overfirst")
                            sbg.second_attached = 0;
                        else if(tmpstr=="bottom")
                            sbg.second_attached = 1;
                        else if(tmpstr=="top")
                            sbg.second_attached = 2;
                        else sbg.second_repeat_v = 0;
            }

            if(sbg.animated)
            {
                sbg.image=sbg.image.copy(0, 0, sbg.image.width(), (int)round(sbg.image.height()/sbg.frames));
            }
            sbg.id = i;
            main_bg.push_back(sbg);
        bgset.endGroup();


        if( bgset.status() != QSettings::NoError )
        {
            WriteToLog(QtCriticalMsg, QString("ERROR LOADING OF lvl_bgrnd.ini N:%1 (background2-%2)").arg(bgset.status()).arg(i));
        }
    }

}