104 |
103 |
105 int main(int argc, char *argv[]) |
104 int main(int argc, char *argv[]) |
106 { |
105 { |
107 HWApplication app(argc, argv); |
106 HWApplication app(argc, argv); |
108 |
107 |
109 PHYSFS_init(argv[0]); |
108 FileEngineHandler engine(argv[0]); |
110 |
|
111 FileEngineHandler engine; |
|
112 |
109 |
113 app.setAttribute(Qt::AA_DontShowIconsInMenus,false); |
110 app.setAttribute(Qt::AA_DontShowIconsInMenus,false); |
114 |
111 |
115 QStringList arguments = app.arguments(); |
112 QStringList arguments = app.arguments(); |
116 QMap<QString, QString> parsedArgs; |
113 QMap<QString, QString> parsedArgs; |
149 QFileInfo f(parsedArgs["config-dir"]); |
146 QFileInfo f(parsedArgs["config-dir"]); |
150 *cConfigDir = f.absoluteFilePath(); |
147 *cConfigDir = f.absoluteFilePath(); |
151 custom_config = true; |
148 custom_config = true; |
152 } |
149 } |
153 |
150 |
154 app.setStyle(new QPlastiqueStyle); |
151 app.setStyle(new QPlastiqueStyle()); |
155 |
152 |
156 QDateTime now = QDateTime::currentDateTime(); |
153 QDateTime now = QDateTime::currentDateTime(); |
157 srand(now.toTime_t()); |
154 srand(now.toTime_t()); |
158 rand(); |
155 rand(); |
159 |
156 |
216 "Please check your installation"). |
213 "Please check your installation"). |
217 arg(datadir->absolutePath()+"/hedgewars/Data")); |
214 arg(datadir->absolutePath()+"/hedgewars/Data")); |
218 return 1; |
215 return 1; |
219 } |
216 } |
220 |
217 |
|
218 engine.mount(datadir->absolutePath()); |
|
219 engine.mount(cfgdir->absolutePath() + "/Data"); |
|
220 engine.setWriteDir(cfgdir->absolutePath()); |
|
221 |
221 DataManager & dataMgr = DataManager::instance(); |
222 DataManager & dataMgr = DataManager::instance(); |
222 |
223 |
223 QTranslator Translator; |
224 QTranslator Translator; |
224 { |
225 { |
225 QSettings settings(cfgdir->absolutePath() + "/hedgewars.ini", QSettings::IniFormat); |
226 QSettings settings("physfs://hedgewars.ini", QSettings::IniFormat); |
226 QString cc = settings.value("misc/locale", QString()).toString(); |
227 QString cc = settings.value("misc/locale", QString()).toString(); |
227 if(cc.isEmpty()) |
228 if(cc.isEmpty()) |
228 cc = QLocale::system().name(); |
229 cc = QLocale::system().name(); |
229 |
230 |
230 // load locale file into translator |
231 // load locale file into translator |
231 Translator.load( |
232 Translator.load( |
232 dataMgr.findFileForRead( |
233 dataMgr.findFileForRead( |
233 QString("Locale/hedgewars_" + cc) |
234 QString("physfs://Locale/hedgewars_" + cc) |
234 ) |
235 ) |
235 ); |
236 ); |
236 app.installTranslator(&Translator); |
237 app.installTranslator(&Translator); |
237 } |
238 } |
238 |
239 |