From 2260f6bf4feb62929e32a1bea9cd3f403aa034b1 Mon Sep 17 00:00:00 2001 From: Krzysztof Dermont Date: Fri, 20 Jun 2014 23:41:38 +0200 Subject: Big part of PhysFS support * removed -mod argument * removed -datadir argument * removed -lang argument * removed some dead ui code * added resource manager and file loaders (stream and SDL) * changed interface textures location to match new directory structure * removed CGameData for mod support * added PhysFS support --- src/app/gamedata.cpp | 123 --------------------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 src/app/gamedata.cpp (limited to 'src/app/gamedata.cpp') diff --git a/src/app/gamedata.cpp b/src/app/gamedata.cpp deleted file mode 100644 index 1bf3f36..0000000 --- a/src/app/gamedata.cpp +++ /dev/null @@ -1,123 +0,0 @@ -// * This file is part of the COLOBOT source code -// * Copyright (C) 2014, Polish Portal of Colobot (PPC) -// * -// * This program is free software: you can redistribute it and/or modify -// * it under the terms of the GNU General Public License as published by -// * the Free Software Foundation, either version 3 of the License, or -// * (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have received a copy of the GNU General Public License -// * along with this program. If not, see http://www.gnu.org/licenses/. - -#include "app/gamedata.h" - - -#include "app/app.h" - -#include - -template<> CGameData* CSingleton::m_instance = nullptr; - -CGameData::CGameData() -{ - m_dataDirSet = false; - - for (int i = 0; i < DIR_MAX; ++i) - m_standardDataDirs[i] = nullptr; - - m_standardDataDirs[DIR_AI] = "ai"; - m_standardDataDirs[DIR_FONT] = "fonts"; - m_standardDataDirs[DIR_HELP] = "help"; - m_standardDataDirs[DIR_ICON] = "icons"; - m_standardDataDirs[DIR_LEVEL] = "levels"; - m_standardDataDirs[DIR_MODEL] = "models"; - m_standardDataDirs[DIR_MUSIC] = "music"; - m_standardDataDirs[DIR_SOUND] = "sounds"; - m_standardDataDirs[DIR_TEXTURE] = "textures"; -} - -CGameData::~CGameData() -{ -} - -void CGameData::SetDataDir(std::string path) -{ - assert(!m_dataDirSet); - m_dataDirSet = true; - - m_dataDirs.insert(m_dataDirs.begin(), path); -} - -void CGameData::AddMod(std::string path) -{ - m_dataDirs.push_back(path); -} - -void CGameData::Init() -{ - std::string out = "Using datadirs: "; - bool first = true; - for(std::vector::reverse_iterator rit = m_dataDirs.rbegin(); rit != m_dataDirs.rend(); ++rit) { - if(!first) out += ", "; - first = false; - out += *rit; - } - out += "\n"; - CLogger::GetInstancePointer()->Info(out.c_str()); -} - -std::string CGameData::GetFilePath(DataDir dir, const std::string& subpath) -{ - int index = static_cast(dir); - assert(index >= 0 && index < DIR_MAX); - - for(std::vector::reverse_iterator rit = m_dataDirs.rbegin(); rit != m_dataDirs.rend(); ++rit) { - std::stringstream str; - str << *rit; - str << "/"; - str << m_standardDataDirs[index]; - if (dir == DIR_HELP) - { - str << "/"; - str << CApplication::GetInstancePointer()->GetLanguageChar(); - } - str << "/"; - str << subpath; - boost::filesystem::path path(str.str()); - if(boost::filesystem::exists(path)) - { - return str.str(); - } - } - - std::stringstream str; - str << m_dataDirs[0]; - str << "/"; - str << m_standardDataDirs[index]; - if (dir == DIR_HELP) - { - str << "/"; - str << CApplication::GetInstancePointer()->GetLanguageChar(); - } - str << "/"; - str << subpath; - return str.str(); -} - -std::string CGameData::GetDataPath(const std::string &subpath) -{ - for(std::vector::reverse_iterator rit = m_dataDirs.rbegin(); rit != m_dataDirs.rend(); ++rit) { - std::string path = *rit + "/" + subpath; - boost::filesystem::path boostPath(path); - if(boost::filesystem::exists(boostPath)) - { - return path; - } - } - return m_dataDirs[0] + "/" + subpath; -} -- cgit v1.2.3-1-g7c22