QTfrontend/model/MapModel.cpp
changeset 8464 c708b4f5cffc
parent 8419 d99f46b676b5
child 9080 9b42757d7e71
equal deleted inserted replaced
8462:19b1de9423ab 8464:c708b4f5cffc
    24 #include <QSettings>
    24 #include <QSettings>
    25 
    25 
    26 #include "physfs.h"
    26 #include "physfs.h"
    27 #include "MapModel.h"
    27 #include "MapModel.h"
    28 #include "HWApplication.h"
    28 #include "HWApplication.h"
       
    29 #include "hwconsts.h"
    29 
    30 
    30 MapModel::MapInfo MapModel::MapInfoRandom = {MapModel::GeneratedMap, "+rnd+", "", 0, "", "", ""};
    31 MapModel::MapInfo MapModel::MapInfoRandom = {MapModel::GeneratedMap, "+rnd+", "", 0, "", "", ""};
    31 MapModel::MapInfo MapModel::MapInfoMaze = {MapModel::GeneratedMaze, "+maze+", "", 0, "", "", ""};
    32 MapModel::MapInfo MapModel::MapInfoMaze = {MapModel::GeneratedMaze, "+maze+", "", 0, "", "", ""};
    32 MapModel::MapInfo MapModel::MapInfoDrawn = {MapModel::HandDrawnMap, "+drawn+", "", 0, "", "", ""};
    33 MapModel::MapInfo MapModel::MapInfoDrawn = {MapModel::HandDrawnMap, "+drawn+", "", 0, "", "", ""};
    33 
    34 
    34 void MapModel::loadMaps(MapType maptype)
    35 void MapModel::loadMaps(MapType maptype)
    35 {
    36 {
    36     const QString appDir = QString(PHYSFS_getBaseDir());
       
    37 
       
    38     // this method resets the contents of this model (important to know for views).
    37     // this method resets the contents of this model (important to know for views).
    39     beginResetModel();
    38     beginResetModel();
    40 
    39 
    41     // we'll need the DataManager a few times, so let's get a reference to it
    40     // we'll need the DataManager a few times, so let's get a reference to it
    42     DataManager & datamgr = DataManager::instance();
    41     DataManager & datamgr = DataManager::instance();
    97                 desc = descSettings.value(locale, QString()).toString().replace("|", "\n").replace("\\,", ",");
    96                 desc = descSettings.value(locale, QString()).toString().replace("|", "\n").replace("\\,", ",");
    98             }
    97             }
    99 
    98 
   100             // detect if map is dlc
    99             // detect if map is dlc
   101             QString mapDir = PHYSFS_getRealDir(QString("Maps/%1/map.cfg").arg(map).toLocal8Bit().data());
   100             QString mapDir = PHYSFS_getRealDir(QString("Maps/%1/map.cfg").arg(map).toLocal8Bit().data());
   102             dlc = !mapDir.startsWith(appDir);
   101             dlc = !mapDir.startsWith(datadir->absolutePath());
   103 
   102 
   104             // let's use some semi-sane hedgehog limit, rather than none
   103             // let's use some semi-sane hedgehog limit, rather than none
   105             if (limit == 0)
   104             if (limit == 0)
   106                 limit = 18;
   105                 limit = 18;
   107 
   106