summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/main.cpp6
-rw-r--r--src/player_relations.cpp4
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 82063375..4714803f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-27 David Athay <ko2fan@gmail.com>
+
+ * src/main.cpp, src/player_relations.cpp: Changed OSX tmw directory to a
+ more suitable location, and fixed compile error.
+
2008-05-22 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, src/CMakeLists.txt: Fixed linker error caused by
diff --git a/src/main.cpp b/src/main.cpp
index db9f85ac..1c4895fa 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -145,6 +145,12 @@ void init_engine(const Options &options)
#if defined WIN32
if (!CreateDirectory(homeDir.c_str(), 0) &&
GetLastError() != ERROR_ALREADY_EXISTS)
+#elif defined __APPLE__
+ // Use Application Directory instead of .tmw
+ homeDir = std::string(PHYSFS_getUserDir()) +
+ "/Library/Application Support/The Mana World";
+ if ((mkdir(homeDir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) &&
+ (errno != EEXIST))
#else
// Checking if /home/user/.tmw folder exists.
if ((mkdir(homeDir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) &&
diff --git a/src/player_relations.cpp b/src/player_relations.cpp
index fe71191c..86e0861e 100644
--- a/src/player_relations.cpp
+++ b/src/player_relations.cpp
@@ -60,7 +60,7 @@ class PlayerConfSerialiser : public ConfigurationListManager<std::pair<std::stri
return container;
if (!(*container)[name]) {
- int v = cobj->getValue(RELATION, PlayerRelation::NEUTRAL);
+ int v = (int)cobj->getValue(RELATION, PlayerRelation::NEUTRAL);
(*container)[name] = new PlayerRelation(static_cast<PlayerRelation::relation>(v));
}
// otherwise ignore the duplicate entry
@@ -121,7 +121,7 @@ PlayerRelationsManager::load(void)
clear();
mPersistIgnores = config.getValue(PERSIST_IGNORE_LIST, 0);
- mDefaultPermissions = config.getValue(DEFAULT_PERMISSIONS, mDefaultPermissions);
+ mDefaultPermissions = (int)config.getValue(DEFAULT_PERMISSIONS, mDefaultPermissions);
std::string ignore_strategy_name = config.getValue(PLAYER_IGNORE_STRATEGY, DEFAULT_IGNORE_STRATEGY);
int ignore_strategy_index = getPlayerIgnoreStrategyIndex(ignore_strategy_name);
if (ignore_strategy_index >= 0)