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 |