Update to openxcom-20120217.
from Antti Harri (maintainer)
This commit is contained in:
parent
0703bff907
commit
9f243c390c
@ -1,7 +1,7 @@
|
||||
# $OpenBSD: Makefile,v 1.2 2011/07/18 10:57:01 jasper Exp $
|
||||
# $OpenBSD: Makefile,v 1.3 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
|
||||
COMMENT = open source reimplementation of the original X-Com
|
||||
DISTNAME = openxcom-20110716
|
||||
DISTNAME = openxcom-20120217
|
||||
CATEGORIES = games x11
|
||||
|
||||
HOMEPAGE = http://openxcom.ninex.info/
|
||||
@ -17,28 +17,23 @@ WANTLIB = SDL SDL_gfx SDL_mixer c m pthread stdc++ yaml-cpp
|
||||
|
||||
MASTER_SITES = http://openbsd.fi/dist/
|
||||
|
||||
MODULES = devel/cmake
|
||||
|
||||
RUN_DEPENDS = audio/timidity
|
||||
LIB_DEPENDS = devel/sdl-gfx \
|
||||
devel/sdl-mixer \
|
||||
devel/yaml-cpp
|
||||
|
||||
MAKE_ENV = CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
|
||||
OPENXCOMDATA="${PREFIX}/share/openxcom/DATA"
|
||||
CONFIGURE_ARGS = -DDEV_BUILD=Off
|
||||
|
||||
USE_GMAKE = Yes
|
||||
NO_REGRESS = Yes
|
||||
WRKSRC = ${WRKDIST}/src
|
||||
|
||||
post-extract:
|
||||
${SUBST_CMD} -c ${FILESDIR}/wrapper ${WRKDIST}/bin/wrapper
|
||||
VMEM_WARNING = Yes
|
||||
|
||||
pre-configure:
|
||||
${SUBST_CMD} ${WRKSRC}/Makefile
|
||||
${SUBST_CMD} ${WRKSRC}/src/Engine/CrossPlatform.cpp
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKDIST}/bin/openxcom ${PREFIX}/bin/openxcom-bin
|
||||
${INSTALL_SCRIPT} ${WRKDIST}/bin/wrapper ${PREFIX}/bin/openxcom
|
||||
post-install:
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/openxcom
|
||||
cd ${WRKDIST}/bin && find DATA | pax -rw ${PREFIX}/share/openxcom
|
||||
cd ${WRKDIST}/bin/data && find . | pax -rw ${PREFIX}/share/openxcom
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,5 +1,5 @@
|
||||
MD5 (openxcom-20110716.tar.gz) = +S9cofV1dyP0akxFj9cPtw==
|
||||
RMD160 (openxcom-20110716.tar.gz) = 3djvZpkRYMs/mPeVuPDEgRpvhSQ=
|
||||
SHA1 (openxcom-20110716.tar.gz) = +jTG6QV4MkKm2SRJD7z1QtgPIQo=
|
||||
SHA256 (openxcom-20110716.tar.gz) = xbk9RTItTYsAngNzrdrG99pY4Ulw/DEu/bQT/icae+k=
|
||||
SIZE (openxcom-20110716.tar.gz) = 495766
|
||||
MD5 (openxcom-20120217.tar.gz) = WKSqCfA1H+qa5f1HKZpPnQ==
|
||||
RMD160 (openxcom-20120217.tar.gz) = 1YyeawdWv4ZtoMxVbOzxCoTHoUA=
|
||||
SHA1 (openxcom-20120217.tar.gz) = rM7YTjcHdmyUujbU0VdRd58240o=
|
||||
SHA256 (openxcom-20120217.tar.gz) = 6w+v4FL2wSHVolPJpo19nX8wV1lIhsy52faasM+WbfA=
|
||||
SIZE (openxcom-20120217.tar.gz) = 778431
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Wrapper for running OpenXcom.
|
||||
|
||||
# Test case-insensitively and pick the first one.
|
||||
dir=$(find \
|
||||
"${HOME}/.openxcom/DATA" \
|
||||
"${TRUEPREFIX}/share/openxcom/DATA" \
|
||||
-mindepth 1 -maxdepth 1 -iname "geodata" 2>/dev/null | head -n 1)
|
||||
dir=${dir%/*/*}
|
||||
|
||||
if [ -z "$dir" ]; then
|
||||
echo "Error: no data available."
|
||||
echo "Look in ${TRUEPREFIX}/share/doc/pkg-readmes for extra documentation."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$dir" && openxcom-bin "$@"
|
10
games/openxcom/patches/patch-CMakeLists_txt
Normal file
10
games/openxcom/patches/patch-CMakeLists_txt
Normal file
@ -0,0 +1,10 @@
|
||||
$OpenBSD: patch-CMakeLists_txt,v 1.1 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
--- CMakeLists.txt.orig Thu Feb 16 17:24:58 2012
|
||||
+++ CMakeLists.txt Sat Feb 18 21:07:47 2012
|
||||
@@ -125,5 +125,4 @@ if ( BUILD_PACKAGE )
|
||||
)
|
||||
endif()
|
||||
|
||||
-add_subdirectory ( docs )
|
||||
add_subdirectory ( src )
|
||||
\ No newline at end of file
|
18
games/openxcom/patches/patch-src_CMakeLists_txt
Normal file
18
games/openxcom/patches/patch-src_CMakeLists_txt
Normal file
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-src_CMakeLists_txt,v 1.1 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
--- src/CMakeLists.txt.orig Thu Feb 16 17:24:58 2012
|
||||
+++ src/CMakeLists.txt Fri Feb 17 20:54:58 2012
|
||||
@@ -530,10 +530,10 @@ if ( WIN32 )
|
||||
endif ()
|
||||
target_link_libraries ( openxcom ${system_libs} ${SDLMIXER_LIBRARY} ${SDLGFX_LIBRARY} ${SDL_LIBRARY} ${YAMLCPP_LIBRARY} )
|
||||
|
||||
-add_custom_command ( TARGET openxcom
|
||||
- POST_BUILD
|
||||
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/bin/data ${EXECUTABLE_OUTPUT_PATH}/data )
|
||||
-install ( DIRECTORY ${CMAKE_SOURCE_DIR}/bin/data DESTINATION bin )
|
||||
+#add_custom_command ( TARGET openxcom
|
||||
+# POST_BUILD
|
||||
+# COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/bin/data ${EXECUTABLE_OUTPUT_PATH}/data )
|
||||
+#install ( DIRECTORY ${CMAKE_SOURCE_DIR}/bin/data DESTINATION bin )
|
||||
|
||||
# Copy Windows DLL to bin folder
|
||||
if ( WIN32 )
|
27
games/openxcom/patches/patch-src_Engine_CrossPlatform_cpp
Normal file
27
games/openxcom/patches/patch-src_Engine_CrossPlatform_cpp
Normal file
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-src_Engine_CrossPlatform_cpp,v 1.1 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
--- src/Engine/CrossPlatform.cpp.orig Thu Feb 16 17:24:58 2012
|
||||
+++ src/Engine/CrossPlatform.cpp Fri Feb 17 21:17:42 2012
|
||||
@@ -145,6 +145,11 @@ std::vector<std::string> findDataFolders()
|
||||
snprintf(path, MAXPATHLEN, "%s/Library/Application Support/OpenXcom/data/", home);
|
||||
#else
|
||||
snprintf(path, MAXPATHLEN, "%s/.local/share/openxcom/data/", home);
|
||||
+ list.push_back(path);
|
||||
+ snprintf(path, MAXPATHLEN, "%s/.openxcom/data/", home);
|
||||
+ list.push_back(path);
|
||||
+ snprintf(path, MAXPATHLEN, "%s/.openxcom/DATA/", home);
|
||||
+ list.push_back(path);
|
||||
#endif
|
||||
}
|
||||
list.push_back(path);
|
||||
@@ -166,8 +171,9 @@ std::vector<std::string> findDataFolders()
|
||||
snprintf(path, MAXPATHLEN, "%s/Users/Shared/OpenXcom/data/", home);
|
||||
list.push_back(path);
|
||||
#else
|
||||
- list.push_back("/usr/local/share/openxcom/data/");
|
||||
- list.push_back("/usr/share/openxcom/data/");
|
||||
+ list.push_back("${PREFIX}/share/openxcom/");
|
||||
+ list.push_back("${PREFIX}/share/openxcom/data/");
|
||||
+ list.push_back("${PREFIX}/share/openxcom/DATA/");
|
||||
#endif
|
||||
}
|
||||
|
@ -1,107 +0,0 @@
|
||||
$OpenBSD: patch-src_File_File_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/File/File.cpp.orig Wed Apr 13 03:18:08 2011
|
||||
+++ src/File/File.cpp Wed Apr 13 02:45:50 2011
|
||||
@@ -0,0 +1,103 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2011 Antti Harri <iku@openbsd.fi>
|
||||
+ *
|
||||
+ * This file is part of OpenXcom.
|
||||
+ *
|
||||
+ * OpenXcom 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.
|
||||
+ *
|
||||
+ * OpenXcom 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 OpenXcom. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+#include "File.h"
|
||||
+#include "../Engine/Exception.h"
|
||||
+
|
||||
+#ifndef _WIN32
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/param.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <errno.h>
|
||||
+#endif
|
||||
+
|
||||
+namespace OpenXcom
|
||||
+{
|
||||
+
|
||||
+
|
||||
+/**
|
||||
+ * Initialize
|
||||
+ */
|
||||
+File::File()
|
||||
+{
|
||||
+ // Old style, use it as default case.
|
||||
+ userdir = "./USER/";
|
||||
+ #ifdef _WIN32
|
||||
+ #else
|
||||
+ char *homedir;
|
||||
+ char path2[MAXPATHLEN];
|
||||
+ // XXX: errno
|
||||
+ if ((homedir = getenv("HOME")) == NULL)
|
||||
+ return;
|
||||
+ if (snprintf(path2, MAXPATHLEN, "%s/.openxcom/", homedir) == -1)
|
||||
+ throw Exception("Failed to get userdir.");
|
||||
+ // mkdir it if it doesn't exist.
|
||||
+ if (mkdir(path2, 0755) != 0 && errno != EEXIST)
|
||||
+ throw Exception("mkdir() failed on userdir."); // XXX: errno
|
||||
+ userdir = path2;
|
||||
+ #endif
|
||||
+
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Destructor
|
||||
+ */
|
||||
+File::~File()
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Checks and creates the directory if necessary.
|
||||
+ */
|
||||
+bool File::checkPath(std::string p)
|
||||
+{
|
||||
+ if (mkdir(p.c_str(), 0755) != 0 && errno != EEXIST)
|
||||
+ throw Exception("mkdir() failed."); // XXX: errno
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Gets the path of the savegames.
|
||||
+ */
|
||||
+std::string File::getSavegameDir()
|
||||
+{
|
||||
+ if (checkPath(userdir + "savegames/"))
|
||||
+ return userdir + "savegames/";
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Gets the path of the screenshots.
|
||||
+ */
|
||||
+std::string File::getScreenshotDir()
|
||||
+{
|
||||
+ if (checkPath(userdir + "screenshots/"))
|
||||
+ return userdir + "screenshots/";
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Gets the path of the configuration.
|
||||
+ */
|
||||
+std::string File::getConfigDir()
|
||||
+{
|
||||
+ // For example: $HOME/.openxcom/config
|
||||
+ return userdir;
|
||||
+}
|
||||
+
|
||||
+}
|
@ -1,59 +0,0 @@
|
||||
$OpenBSD: patch-src_File_File_h,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/File/File.h.orig Wed Apr 13 03:18:11 2011
|
||||
+++ src/File/File.h Wed Apr 13 02:22:10 2011
|
||||
@@ -0,0 +1,55 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2011 Antti Harri <iku@openbsd.fi>
|
||||
+ *
|
||||
+ * This file is part of OpenXcom.
|
||||
+ *
|
||||
+ * OpenXcom 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.
|
||||
+ *
|
||||
+ * OpenXcom 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 OpenXcom. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+#ifndef OPENXCOM_FILE_H
|
||||
+#define OPENXCOM_FILE_H
|
||||
+
|
||||
+#include <string>
|
||||
+
|
||||
+namespace OpenXcom
|
||||
+{
|
||||
+
|
||||
+/**
|
||||
+ * The game data that gets written to disk when the game is saved.
|
||||
+ * A saved game holds all the variable info in a game like funds,
|
||||
+ * game time, current bases and contents, world activities, score, etc.
|
||||
+ */
|
||||
+class File
|
||||
+{
|
||||
+private:
|
||||
+ std::string userdir;
|
||||
+ /// Gets the path of the user dir.
|
||||
+ void getUserDir();
|
||||
+public:
|
||||
+ /// Initialize.
|
||||
+ File();
|
||||
+ /// Clean up.
|
||||
+ ~File();
|
||||
+ /// Checks and creates the directory if necessary.
|
||||
+ bool checkPath(std::string);
|
||||
+ /// Gets the path of the savegames.
|
||||
+ std::string getSavegameDir();
|
||||
+ /// Gets the path of the screenshots.
|
||||
+ std::string getScreenshotDir();
|
||||
+ /// Gets the path of the configuration.
|
||||
+ std::string getConfigDir();
|
||||
+};
|
||||
+
|
||||
+}
|
||||
+
|
||||
+#endif
|
@ -1,31 +0,0 @@
|
||||
$OpenBSD: patch-src_Makefile,v 1.2 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Makefile.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Makefile Tue Jul 5 02:01:33 2011
|
||||
@@ -19,11 +19,15 @@ PKG-CONFIG = pkg-config
|
||||
BIN = openxcom
|
||||
endif
|
||||
|
||||
+OPENXCOMDATA ?= /usr/local/share/openxcom/DATA
|
||||
+
|
||||
# Compiler settings
|
||||
-CXXFLAGS = -Wall -O2 $(addprefix -D,$(TARGET))
|
||||
+CXXFLAGS ?= -Wall -O2
|
||||
+CXXFLAGS += $(addprefix -D,$(TARGET))
|
||||
CXXFLAGS += `$(PKG-CONFIG) --cflags sdl yaml-cpp`
|
||||
+CXXFLAGS += -DOPENXCOMDATA=\"${OPENXCOMDATA}\" -I/usr/local/include
|
||||
|
||||
-LDFLAGS = -lSDL_gfx -lSDL_mixer
|
||||
+LDFLAGS ?= -lSDL_gfx -lSDL_mixer
|
||||
LDFLAGS += `$(PKG-CONFIG) --libs sdl yaml-cpp`
|
||||
|
||||
# Rules
|
||||
@@ -42,6 +46,9 @@ $(OBJDIR)%.o:: Battlescape/%.cpp
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJDIR)%.o:: Engine/%.cpp
|
||||
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
+
|
||||
+$(OBJDIR)%.o:: File/%.cpp
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJDIR)%.o:: Geoscape/%.cpp
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_Menu_LanguageState_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Menu/LanguageState.cpp.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Menu/LanguageState.cpp Sat Jul 16 20:22:15 2011
|
||||
@@ -91,7 +91,7 @@ LanguageState::~LanguageState()
|
||||
void LanguageState::changeLanguage(const std::string &lang)
|
||||
{
|
||||
std::stringstream ss;
|
||||
- ss << _game->getResourcePack()->getFolder() << "Language/" << lang;
|
||||
+ ss << OPENXCOMDATA << "/Language/" << lang;
|
||||
Language *l = new Language();
|
||||
l->loadLng(ss.str());
|
||||
_game->setLanguage(l);
|
@ -1,24 +0,0 @@
|
||||
$OpenBSD: patch-src_Menu_SaveGameState_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Menu/SaveGameState.cpp.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Menu/SaveGameState.cpp Mon Jul 4 22:40:13 2011
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "SaveGameState.h"
|
||||
#include <iostream>
|
||||
#include "yaml.h"
|
||||
+#include "../File/File.h"
|
||||
#include "../Savegame/SavedGame.h"
|
||||
#include "../Engine/Game.h"
|
||||
#include "../Engine/Action.h"
|
||||
@@ -164,8 +165,10 @@ void SaveGameState::edtSaveKeyPress(Action *action)
|
||||
{
|
||||
if (_selected != "")
|
||||
{
|
||||
- std::string oldName = USER_DIR + _selected + ".sav";
|
||||
- std::string newName = USER_DIR + Language::wstrToUtf8(_edtSave->getText()) + ".sav";
|
||||
+ File file;
|
||||
+ std::string oldName = file.getSavegameDir() + _selected + ".sav";
|
||||
+ std::string newName = file.getSavegameDir() +
|
||||
+ Language::wstrToUtf8(_edtSave->getText()) + ".sav";
|
||||
if (rename(oldName.c_str(), newName.c_str()) != 0)
|
||||
{
|
||||
throw Exception("Failed to overwrite save");
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_Resource_XcomResourcePack_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Resource/XcomResourcePack.cpp.orig Sat Jul 16 20:11:08 2011
|
||||
+++ src/Resource/XcomResourcePack.cpp Sat Jul 16 20:20:27 2011
|
||||
@@ -91,7 +91,7 @@ XcomResourcePack::XcomResourcePack(const std::string &
|
||||
for (int i = 1; i < 5; i++)
|
||||
{
|
||||
std::stringstream s1, s2;
|
||||
- s1 << folder << "Language/" << lang[i] << ".geo";
|
||||
+ s1 << OPENXCOMDATA << "/Language/" << lang[i] << ".geo";
|
||||
s2 << lang[i] << ".geo";
|
||||
_surfaces[s2.str()] = new Surface(64, 154);
|
||||
_surfaces[s2.str()]->loadScr(insensitive(s1.str()));
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_Ruleset_SoldierNamePool_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Ruleset/SoldierNamePool.cpp.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Ruleset/SoldierNamePool.cpp Sat Jul 16 20:24:49 2011
|
||||
@@ -49,7 +49,7 @@ void SoldierNamePool::load(const std::string &filename
|
||||
{
|
||||
unsigned int size = 0;
|
||||
|
||||
- std::string s = "./DATA/SoldierName/" + filename + ".nam";
|
||||
+ std::string s = std::string(OPENXCOMDATA) + "/SoldierName/" + filename + ".nam";
|
||||
std::ifstream fin(s.c_str());
|
||||
if (!fin)
|
||||
{
|
@ -1,87 +0,0 @@
|
||||
$OpenBSD: patch-src_Savegame_SavedGame_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Savegame/SavedGame.cpp.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Savegame/SavedGame.cpp Mon Jul 4 22:45:13 2011
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <iomanip>
|
||||
#include "../dirent.h"
|
||||
#include "yaml.h"
|
||||
+#include "../File/File.h"
|
||||
#include "../Ruleset/Ruleset.h"
|
||||
#include "../Engine/RNG.h"
|
||||
#include "../Engine/Language.h"
|
||||
@@ -37,6 +38,12 @@
|
||||
#include "Waypoint.h"
|
||||
#include "UfopaediaSaved.h"
|
||||
|
||||
+#ifndef _WIN32
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/param.h>
|
||||
+#endif
|
||||
+
|
||||
namespace OpenXcom
|
||||
{
|
||||
|
||||
@@ -89,14 +96,15 @@ SavedGame::~SavedGame()
|
||||
*/
|
||||
void SavedGame::getList(TextList *list, Language *lang)
|
||||
{
|
||||
- DIR *dp = opendir(USER_DIR);
|
||||
- if (dp == 0)
|
||||
+ File fileobj;
|
||||
+ DIR *dp = opendir(fileobj.getSavegameDir().c_str());
|
||||
+ if (dp == 0)
|
||||
{
|
||||
- throw Exception("Failed to open saves directory");
|
||||
- }
|
||||
+ throw Exception("Failed to open saves directory");
|
||||
+ }
|
||||
|
||||
- struct dirent *dirp;
|
||||
- while ((dirp = readdir(dp)) != 0)
|
||||
+ struct dirent *dirp;
|
||||
+ while ((dirp = readdir(dp)) != 0)
|
||||
{
|
||||
std::string file = dirp->d_name;
|
||||
// Check if it's a valid save
|
||||
@@ -104,7 +112,7 @@ void SavedGame::getList(TextList *list, Language *lang
|
||||
{
|
||||
continue;
|
||||
}
|
||||
- std::string fullname = USER_DIR + file;
|
||||
+ std::string fullname = fileobj.getSavegameDir() + file;
|
||||
std::ifstream fin(fullname.c_str());
|
||||
if (!fin)
|
||||
{
|
||||
@@ -125,8 +133,8 @@ void SavedGame::getList(TextList *list, Language *lang
|
||||
saveYear << time.getYear();
|
||||
list->addRow(5, Language::utf8ToWstr(file.substr(0, file.length()-4)).c_str(), Language::utf8ToWstr(saveTime.str()).c_str(), saveDay.str().c_str(), saveMonth.str().c_str(), saveYear.str().c_str());
|
||||
fin.close();
|
||||
- }
|
||||
- closedir(dp);
|
||||
+ }
|
||||
+ closedir(dp);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,8 +146,9 @@ void SavedGame::getList(TextList *list, Language *lang
|
||||
void SavedGame::load(const std::string &filename, Ruleset *rule)
|
||||
{
|
||||
unsigned int size = 0;
|
||||
+ File file;
|
||||
|
||||
- std::string s = USER_DIR + filename + ".sav";
|
||||
+ std::string s = file.getSavegameDir() + filename + ".sav";
|
||||
std::ifstream fin(s.c_str());
|
||||
if (!fin)
|
||||
{
|
||||
@@ -231,7 +240,8 @@ void SavedGame::load(const std::string &filename, Rule
|
||||
*/
|
||||
void SavedGame::save(const std::string &filename) const
|
||||
{
|
||||
- std::string s = USER_DIR + filename + ".sav";
|
||||
+ File file;
|
||||
+ std::string s = file.getSavegameDir() + filename + ".sav";
|
||||
std::ofstream sav(s.c_str());
|
||||
if (!sav)
|
||||
{
|
@ -1,16 +0,0 @@
|
||||
$OpenBSD: patch-src_Savegame_SavedGame_h,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Savegame/SavedGame.h.orig Tue Apr 12 01:18:45 2011
|
||||
+++ src/Savegame/SavedGame.h Wed Apr 13 00:33:31 2011
|
||||
@@ -23,11 +23,10 @@
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
-#define USER_DIR "./USER/"
|
||||
-
|
||||
namespace OpenXcom
|
||||
{
|
||||
|
||||
+class File;
|
||||
class Ruleset;
|
||||
class GameTime;
|
||||
class Country;
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-src_Ufopaedia_Ufopaedia_cpp,v 1.1 2011/07/18 10:57:01 jasper Exp $
|
||||
--- src/Ufopaedia/Ufopaedia.cpp.orig Sat Jun 4 00:04:45 2011
|
||||
+++ src/Ufopaedia/Ufopaedia.cpp Sat Jul 16 20:24:34 2011
|
||||
@@ -152,7 +152,7 @@ namespace OpenXcom
|
||||
{
|
||||
// set game language
|
||||
std::stringstream ss;
|
||||
- ss << game->getResourcePack()->getFolder() << "Language/English.lng";
|
||||
+ ss << OPENXCOMDATA << "/Language/English.lng";
|
||||
Language *l = new Language();
|
||||
l->loadLng(ss.str());
|
||||
game->setLanguage(l);
|
@ -1,24 +1,33 @@
|
||||
@comment $OpenBSD: PLIST,v 1.2 2011/07/18 10:57:01 jasper Exp $
|
||||
bin/openxcom
|
||||
@bin bin/openxcom-bin
|
||||
@comment $OpenBSD: PLIST,v 1.3 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
@bin bin/openxcom
|
||||
share/doc/pkg-readmes/${FULLPKGNAME}
|
||||
share/openxcom/
|
||||
share/openxcom/DATA/
|
||||
share/openxcom/DATA/Language/
|
||||
share/openxcom/DATA/Language/English.lng
|
||||
share/openxcom/DATA/Language/French.geo
|
||||
share/openxcom/DATA/Language/French.lng
|
||||
share/openxcom/DATA/Language/German.geo
|
||||
share/openxcom/DATA/Language/German.lng
|
||||
share/openxcom/DATA/Language/Italian.geo
|
||||
share/openxcom/DATA/Language/Italian.lng
|
||||
share/openxcom/DATA/Language/Spanish.geo
|
||||
share/openxcom/DATA/Language/Spanish.lng
|
||||
share/openxcom/DATA/README.txt
|
||||
share/openxcom/DATA/SoldierName/
|
||||
share/openxcom/DATA/SoldierName/American.nam
|
||||
share/openxcom/DATA/SoldierName/British.nam
|
||||
share/openxcom/DATA/SoldierName/French.nam
|
||||
share/openxcom/DATA/SoldierName/German.nam
|
||||
share/openxcom/DATA/SoldierName/Japanese.nam
|
||||
share/openxcom/DATA/SoldierName/Russian.nam
|
||||
share/openxcom/Language/
|
||||
share/openxcom/Language/Big.fnt
|
||||
share/openxcom/Language/Czech.lng
|
||||
share/openxcom/Language/English.lng
|
||||
share/openxcom/Language/EnglishUk.lng
|
||||
share/openxcom/Language/Font.dat
|
||||
share/openxcom/Language/French.geo
|
||||
share/openxcom/Language/French.lng
|
||||
share/openxcom/Language/German.geo
|
||||
share/openxcom/Language/German.lng
|
||||
share/openxcom/Language/Italian.geo
|
||||
share/openxcom/Language/Italian.lng
|
||||
share/openxcom/Language/Polish.geo
|
||||
share/openxcom/Language/Polish.lng
|
||||
share/openxcom/Language/Romanian.lng
|
||||
share/openxcom/Language/Russian.geo
|
||||
share/openxcom/Language/Russian.lng
|
||||
share/openxcom/Language/Small.fnt
|
||||
share/openxcom/Language/Spanish.geo
|
||||
share/openxcom/Language/Spanish.lng
|
||||
share/openxcom/README.txt
|
||||
share/openxcom/SoldierName/
|
||||
share/openxcom/SoldierName/American.nam
|
||||
share/openxcom/SoldierName/British.nam
|
||||
share/openxcom/SoldierName/French.nam
|
||||
share/openxcom/SoldierName/German.nam
|
||||
share/openxcom/SoldierName/Japanese.nam
|
||||
share/openxcom/SoldierName/Russian.nam
|
||||
share/openxcom/research.dat
|
||||
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: README,v 1.2 2011/07/18 10:57:01 jasper Exp $
|
||||
$OpenBSD: README,v 1.3 2012/02/29 08:25:32 ajacoutot Exp $
|
||||
|
||||
+-----------------------------------------------------------------------
|
||||
| Running ${FULLPKGNAME} on OpenBSD
|
||||
@ -7,9 +7,7 @@ $OpenBSD: README,v 1.2 2011/07/18 10:57:01 jasper Exp $
|
||||
In order to play the game you need original data from
|
||||
"UFO: Enemy Unknown" / "X-Com: UFO Defense".
|
||||
For a system wide installation you can copy them to:
|
||||
${PREFIX}/share/openxcom/DATA/
|
||||
${PREFIX}/share/openxcom/data/
|
||||
|
||||
For a user specific installation you can copy them to your home:
|
||||
~/.openxcom/DATA/
|
||||
|
||||
Once data has been set up you can execute 'openxcom'.
|
||||
For a user specific installation you can copy them under:
|
||||
~/.local/share/openxcom/data/
|
||||
|
Loading…
Reference in New Issue
Block a user