summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS2
-rw-r--r--cmake/FindGettext.cmake2
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/base/archive.c10
-rw-r--r--src/base/arenaFile.c4
-rw-r--r--src/base/director.c2
-rw-r--r--src/base/homeDirector.c2
-rw-r--r--src/base/main.h6
-rw-r--r--src/base/textFile.c2
-rw-r--r--src/client/config.c2
-rw-r--r--src/client/saveLoad.c2
-rw-r--r--src/net/udp.h1
-rw-r--r--src/screen/settingKeys.c2
-rw-r--r--src/screen/table.c2
14 files changed, 29 insertions, 14 deletions
diff --git a/AUTHORS b/AUTHORS
index 6709065..43987b5 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -27,7 +27,7 @@ Jabber ID: kapo@jabber.ok.cvut.cz
Occasional programmer - keyboard improvements (buffer, pressing etc.)
Petr L. (Timoo) <daac@post.cz>
-Port for Mac OS X
+Mac OS X and Windows porting
Roman Kabelka (CJ Neti) <neti@cjneti.net>
Author of the music
diff --git a/cmake/FindGettext.cmake b/cmake/FindGettext.cmake
index 494d8b0..341bcbf 100644
--- a/cmake/FindGettext.cmake
+++ b/cmake/FindGettext.cmake
@@ -18,7 +18,7 @@ FIND_PATH(GETTEXT_INCLUDE_DIR libintl.h
PATHS
/usr/local/include
/usr/include
- ${CMAKE_SOURCE_DIR}/packaging/windows/Gettext/include
+ /usr/i686-pc-mingw32/sys-root/mingw/include
NO_DEFAULT_PATH
)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f18ed35..9e7b4eb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -32,7 +32,9 @@ ELSE ( BUILD_SERVER )
${FONTCONFIG_LIBRARIES}
)
ENDIF ( BUILD_SERVER )
-
+IF( WIN32 )
+ LINK_LIBRARIES( -lwsock32 -lintl )
+ENDIF ( WIN32 )
###############################################################################
# SOURCE SPECIFICATION
###############################################################################
diff --git a/src/base/archive.c b/src/base/archive.c
index 5e2c25a..735a9ee 100644
--- a/src/base/archive.c
+++ b/src/base/archive.c
@@ -21,8 +21,14 @@ char *archive_extract_file(char *archive, char *filename)
FILE *file;
int len;
int err;
-
- sprintf(name, "/tmp/tuxanci.%d-%s", getpid(), filename);
+ char *tmp;
+
+#ifndef __WIN32__
+ tmp = getenv("TMPDIR");
+#else
+ tmp = getenv("TEMP");
+#endif
+ sprintf(name, "%s%stuxanci.%d-%s", tmp, PATH_SEPARATOR ,getpid(), filename);
/*printf("ARCHIVE %s %s %s\n", archive, filename, name);*/
diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c
index e5a17ae..c494e1f 100644
--- a/src/base/arenaFile.c
+++ b/src/base/arenaFile.c
@@ -370,10 +370,10 @@ static void load_arenaFromDirector(char *director)
if (strstr(line, ".zip") != NULL && strstr(line, "~") == NULL) {
char path[STR_PATH_SIZE];
- if (director[strlen(director)-1] == '/') {
+ if (director[strlen(director)-1] == PATH_SEPARATOR) {
sprintf(path, "%s%s", director, line);
} else {
- sprintf(path, "%s/%s", director, line);
+ sprintf(path, "%s%s%s", director, PATH_SEPARATOR, line);
}
debug("Loading arena [%s]", line);
diff --git a/src/base/director.c b/src/base/director.c
index 66cef0c..5c005cb 100644
--- a/src/base/director.c
+++ b/src/base/director.c
@@ -37,7 +37,7 @@ director_t *director_load(char *s)
} else {
/* this is really correct aproach */
getcwd(path, STR_PATH_SIZE);
- strcat(path, "/");
+ strcat(path, PATH_SEPARATOR);
strcat(path, s);
}
diff --git a/src/base/homeDirector.c b/src/base/homeDirector.c
index c9daf3d..5ff14b7 100644
--- a/src/base/homeDirector.c
+++ b/src/base/homeDirector.c
@@ -22,7 +22,7 @@ void home_director_create()
exit(0);
}
- sprintf(homeDirector, "%s/%s", envHome, HOMEDIRECTOR_NAME);
+ sprintf(homeDirector, "%s%s%s", envHome, PATH_SEPARATOR, HOMEDIRECTOR_NAME);
if (access(homeDirector, F_OK) != 0) {
debug("Creating home directory [%s]", homeDirector);
diff --git a/src/base/main.h b/src/base/main.h
index 98919e3..3466c3d 100644
--- a/src/base/main.h
+++ b/src/base/main.h
@@ -21,6 +21,12 @@
#include "msg.h"
+#ifndef __WIN32__
+#define PATH_SEPARATOR "/"
+#else
+#define PATH_SEPARATOR "\\"
+#endif
+
#define UNUSED(var) if (0 && var) {}
extern char *getParam(char *s);
diff --git a/src/base/textFile.c b/src/base/textFile.c
index d04d8e6..b1c2ad9 100644
--- a/src/base/textFile.c
+++ b/src/base/textFile.c
@@ -19,7 +19,7 @@ textFile_t *text_file_new(char *s)
strcpy(path, s);
} else {
getcwd(path, STR_PATH_SIZE);
- strcat(path, "/");
+ strcat(path, PATH_SEPARATOR);
strcat(path, s);
}
diff --git a/src/client/config.c b/src/client/config.c
index 48496df..130fcdf 100644
--- a/src/client/config.c
+++ b/src/client/config.c
@@ -103,7 +103,7 @@ void config_load()
char val[STR_SIZE];
int i;
- sprintf(path, "%s/tuxanci.conf", home_director_get());
+ sprintf(path, "%s%stuxanci.conf", home_director_get(), PATH_SEPARATOR);
config_file = text_file_load(path);
diff --git a/src/client/saveLoad.c b/src/client/saveLoad.c
index 5328401..b5c5c50 100644
--- a/src/client/saveLoad.c
+++ b/src/client/saveLoad.c
@@ -83,7 +83,7 @@ void save_arena(char *filename, arena_t *arena)
textFile_t *textFile;
char path[STR_PATH_SIZE];
- sprintf(path, "%s/%s.sav", home_director_get(), filename);
+ sprintf(path, "%s%s%s.sav", home_director_get(), PATH_SEPARATOR, filename);
debug("Saving game [%s]", path);
diff --git a/src/net/udp.h b/src/net/udp.h
index c26db69..0e54a9c 100644
--- a/src/net/udp.h
+++ b/src/net/udp.h
@@ -6,6 +6,7 @@
#else
#include <windows.h>
#include <wininet.h>
+#include <winsock.h>
#endif
typedef struct struct_sock_udp_t {
diff --git a/src/screen/settingKeys.c b/src/screen/settingKeys.c
index a4b4929..da74b7b 100644
--- a/src/screen/settingKeys.c
+++ b/src/screen/settingKeys.c
@@ -133,7 +133,7 @@ void key_table_init()
{
char path[STR_PATH_SIZE];
- sprintf(path, "%s/keycontrol.conf", home_director_get());
+ sprintf(path, "%s%skeycontrol.conf", home_director_get(), PATH_SEPARATOR);
keycontrolFile = text_file_load(path);
diff --git a/src/screen/table.c b/src/screen/table.c
index 01995a4..34b4680 100644
--- a/src/screen/table.c
+++ b/src/screen/table.c
@@ -143,7 +143,7 @@ static void loadHighscoreFile()
char path[STR_PATH_SIZE];
int i;
- sprintf(path, "%s/" SCREEN_TABLE_FILE_HIGHSCORE_NAME, home_director_get());
+ sprintf(path, "%s%s%s", home_director_get(), PATH_SEPARATOR, SCREEN_TABLE_FILE_HIGHSCORE_NAME);
textFile = text_file_load(path);
if (textFile == NULL) {