diff options
Diffstat (limited to 'games-strategy/zod-engine')
3 files changed, 0 insertions, 1493 deletions
diff --git a/games-strategy/zod-engine/Manifest b/games-strategy/zod-engine/Manifest deleted file mode 100644 index 397f0d33..00000000 --- a/games-strategy/zod-engine/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX zod-engine-20110906-proper-linux-support.patch 41849 SHA256 98a7cef026ffd24132512095c314ea57ae1668b74b228c97262dea035ae15195 SHA512 8c5a28b7abdf59f15d60f08deac4fb8c63a72fd0eac92467d2fa35293272ab5bc3a29c08f9ffc84fcd99363660941028de9133ce0d0e64281efc97828075db8a WHIRLPOOL 557f9cc6b1cc476712feeb9bd61aab6520723a60504e9a986bfeb925c5557a4e640a1f6a6224b050b9c136f75ebb4e3b99483a8691a26425f9d4eaf10c0f8fbc -DIST zod_linux-2011-09-06.tar.gz 40237117 SHA256 02d8cfbc0da8901a36ea14cdffb72fb7780ea718073d4b6c9e0409cdacca356c -EBUILD zod-engine-20110906.ebuild 1948 SHA256 4f31aba6e68bb95aa1d5119ed2eea02eda3983c9d15721c946fee2a9c945f490 SHA512 84acd41f2c84817f20a526af61ad5107892608ef033f3063f4038dd22e1ace5ec72f0f7f7ce66ae73feedcb12384908d940ed7cf323649a92c0c2174c896efc2 WHIRLPOOL 03cb6e5467cfb5c1a235be63525c185f41df9ed7f097dad7308fe0c209f156a904aec39862b5364937b2ff588ce455a361448f7983bf33d3dee87e0bbb18188f diff --git a/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch b/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch deleted file mode 100644 index d81e6049..00000000 --- a/games-strategy/zod-engine/files/zod-engine-20110906-proper-linux-support.patch +++ /dev/null @@ -1,1419 +0,0 @@ -diff -burN zod_engine/zod_launcher_src/common.cpp zod_engine.new/zod_launcher_src/common.cpp ---- zod_engine/zod_launcher_src/common.cpp 2011-03-22 12:05:11.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/common.cpp 2012-05-05 22:50:56.000000000 +0200 -@@ -9,24 +9,216 @@ - #include <windows.h>
- #include <time.h>
- #include <direct.h>
-+
-+#define OSPATH_SEP '\\'
-+
- #else
- #include <sys/stat.h>
- #include <unistd.h>
- #include <sys/time.h>
-+
-+#define OSPATH_SEP '/'
-+
- #endif
-
- namespace COMMON
- {
-
--void create_folder(char *foldername)
-+//base data path for the engine
-+static char base_path[FILENAME_MAX];
-+//home (user specific) data path for the engine
-+static char home_path[FILENAME_MAX];
-+
-+static bool path_concat(const char *base, const char *file, char *dest)
-+{
-+ size_t i;
-+ size_t len;
-+ char c;
-+ bool was_sep;
-+
-+ // base path is an OS specific path
-+ len = 0;
-+ for (i = 0; len < (FILENAME_MAX - 1) && base[i] != '\0'; i++)
-+ dest[len++] = base[i];
-+
-+ // this also catches base[i] != '\0'
-+ if (len == (FILENAME_MAX - 1))
-+ return false;
-+
-+
-+ // ensure base is terminated by OSPATH_SEP
-+ if (len == 0 || dest[len - 1] != OSPATH_SEP)
-+ dest[len++] = OSPATH_SEP;
-+
-+ was_sep = true;
-+
-+ // file name could have both '/' or '\\' for path separation
-+ for (i = 0; len < (FILENAME_MAX - 1) && file[i] != '\0'; i++) {
-+ char c = file[i];
-+ if (c == '/' || c == '\\') {
-+ // ignore double separators
-+ if (was_sep)
-+ continue;
-+
-+ c = OSPATH_SEP;
-+ was_sep = true;
-+ } else {
-+ was_sep = false;
-+ }
-+
-+ dest[len++] = c;
-+ }
-+
-+ if (file[i] != '\0')
-+ return false;
-+
-+ dest[len] = '\0';
-+ return true;
-+}
-+
-+static bool file_exists(const char*filename)
-+{
-+#ifdef _WIN32
-+ DWORD attrs = GetFileAttributes(filename);
-+ return (attrs != INVALID_FILE_ATTRIBUTES);
-+
-+#else
-+
-+ return (access(filename, R_OK) == 0);
-+
-+#endif
-+
-+}
-+
-+void init_file_paths(const char *bin_path)
- {
--#ifdef WIN32 //if windows
-+ base_path[0] = '\0';
-+
-+#ifdef DATA_PATH
-+ //compilation defined base path, ignore if too long
-+ if (strlen(DATA_PATH) < FILENAME_MAX)
-+ strcpy(base_path, DATA_PATH);
-+#endif
-+
-+ if (base_path[0] == '\0' && bin_path && bin_path[0] != '\0') {
-+ //default to binary path dirname
-+ char dirname[FILENAME_MAX];
-+ size_t len;
-+
-+ len = strlen(bin_path);
-+ if (len < FILENAME_MAX) {
-+ strcpy(base_path, bin_path);
-+ //find the last separator
-+ do len--; while (len > 0 && base_path[len] != OSPATH_SEP);
-+
-+ base_path[len] = '\0';
-+ }
-+ }
-+
-+ // if no explicit directory is specified
-+ // default to current working directory
-+ if (base_path[0] == '\0')
-+ strcpy(base_path, ".");
-+
-+ // get home path
-+ home_path[0] = '\0';
-+
-+#ifdef _WIN32
-+ // on Windows home path is equivalent to base path
-+ strcpy(home_path, base_path);
-+
-+#else
-+ // on Unix platforms use a specific directory in home
-+ const char *home = getenv("HOME");
-+ if (home && home[0] != '\0') {
-+ if (path_concat(home, ".zod-engine", home_path))
-+ create_folder(home_path);
-+ else
-+ home_path[0] = '\0';
-+ }
-+
-+#endif
-+
-+}
-+
-+void create_folder(const char *foldername)
-+{
-+#ifdef _WIN32 //if windows
- mkdir(foldername);
- #else
- mkdir(foldername,-1);
- #endif
- }
-
-+FILE *open_file_read(const char *filename, bool binary)
-+{
-+ char path[FILENAME_MAX];
-+ const char *mode;
-+ FILE *fp;
-+
-+ fp = NULL;
-+ mode = (binary)? "rb" : "r";
-+ if (home_path[0] != '\0') {
-+ // if home directory is available, pick the file from there,
-+ // as there is where we can find user specific overrides
-+ // of our files
-+ if (path_concat(home_path, filename, path))
-+ fp = fopen(path, mode);
-+ }
-+
-+ if (!fp) {
-+ // retrieve the file from the data directory
-+ if (path_concat(base_path, filename, path))
-+ fp = fopen(path, mode);
-+ }
-+
-+ return fp;
-+}
-+
-+FILE *open_file_write(const char *filename, bool binary, bool append)
-+{
-+ FILE *fp = NULL;
-+ if (home_path[0] != '\0') {
-+ //files can only be created in home path
-+ char path[FILENAME_MAX];
-+
-+ if (path_concat(home_path, filename, path)) {
-+ // determine open mode
-+ char mode[3];
-+
-+ mode[0] = (append)? 'a' : 'w';
-+ mode[1] = (binary)? 'b' : '\0';
-+ mode[2] = '\0';
-+ fp = fopen(path, mode);
-+ }
-+ }
-+
-+ return fp;
-+}
-+
-+bool get_os_path(const char *filename, bool read_only, char *dest)
-+{
-+
-+ if (read_only)
-+ {
-+ if (home_path[0])
-+ {
-+ if (path_concat(home_path, filename, dest) && file_exists(dest))
-+ return true;
-+ }
-+
-+ return path_concat(base_path, filename, dest) && file_exists(dest);
-+
-+ }
-+ else
-+ {
-+ if (home_path[0] != '\0')
-+ return path_concat(home_path, filename, dest);
-+ else
-+ return false;
-+ }
-+}
-+
- double current_time()
- {
- #ifdef WIN32
-diff -burN zod_engine/zod_launcher_src/common.h zod_engine.new/zod_launcher_src/common.h ---- zod_engine/zod_launcher_src/common.h 2011-03-22 12:05:11.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/common.h 2012-05-05 22:51:24.000000000 +0200 -@@ -3,11 +3,16 @@ - - namespace COMMON - { -+ -+ extern void init_file_paths(const char *bin_path); -+ extern bool get_os_path(const char *filename, bool read_only, char *dest); -+ extern void create_folder(const char *foldername); -+ extern FILE *open_file_read(const char *filename, bool binary); -+ extern FILE *open_file_write(const char *filename, bool binary, bool append); - extern void split(char *dest, char *message, char split, int *initial, int d_size, int m_size); - extern void clean_newline(char *message, int size); - extern void lcase(char *message, int m_size); - extern double current_time(); -- extern void create_folder(char *foldername); - extern void uni_pause(int m_sec); - extern char *wtoc_s(const wchar_t *input); - extern char *wtoc(const wchar_t *input, char *dest, int size); -diff -burN zod_engine/zod_launcher_src/makefile zod_engine.new/zod_launcher_src/makefile ---- zod_engine/zod_launcher_src/makefile 2011-03-22 12:13:12.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/makefile 2012-05-06 04:09:08.000000000 +0200 -@@ -1,2 +1,11 @@ -+CC=g++ -+CFLAGS=-g `wx-config --cppflags` -+LDFLAGS=`wx-config --libs` -+EXENAME=zod_launcher -+ -+ifdef DATA_PATH -+ CFLAGS += -DDATA_PATH=\"$(DATA_PATH)\" -+endif -+ - default: -- g++ -g -o zod_launcher *.cpp `wx-config --cppflags` `wx-config --libs` -+ $(CC) $(CFLAGS) -o $(EXENAME) *.cpp $(LDFLAGS) -diff -burN zod_engine/zod_launcher_src/store_settings.cpp zod_engine.new/zod_launcher_src/store_settings.cpp ---- zod_engine/zod_launcher_src/store_settings.cpp 2011-03-22 12:05:11.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/store_settings.cpp 2012-05-06 16:14:49.000000000 +0200 -@@ -11,7 +11,7 @@ - {
- FILE *fp;
-
-- fp = fopen("zod_launcher_settings.txt", "w");
-+ fp = open_file_write("zod_launcher_settings.txt", false, false);
-
- if(!fp) return;
-
-@@ -45,7 +45,7 @@ - {
- FILE *fp;
-
-- fp = fopen("zod_launcher_settings.txt", "r");
-+ fp = open_file_read("zod_launcher_settings.txt", false);
-
- if(!fp) return;
-
-I file binari zod_engine/zod_launcher_src/zod_launcher e zod_engine.new/zod_launcher_src/zod_launcher sono diversi -diff -burN zod_engine/zod_launcher_src/zod_launcherApp.cpp zod_engine.new/zod_launcher_src/zod_launcherApp.cpp ---- zod_engine/zod_launcher_src/zod_launcherApp.cpp 2011-03-22 12:05:11.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/zod_launcherApp.cpp 2012-05-05 22:32:45.000000000 +0200 -@@ -9,11 +9,17 @@ -
- #include "zod_launcherApp.h"
- #include "zod_launcherFrm.h"
-+#include "common.h"
-
- IMPLEMENT_APP(zod_launcherFrmApp)
-
- bool zod_launcherFrmApp::OnInit()
- {
-+ // initialize file system
-+ wxString bin_path(argv[0]);
-+ COMMON::init_file_paths(bin_path.mb_str(wxConvUTF8));
-+
-+ // create form
- zod_launcherFrm* frame = new zod_launcherFrm(NULL);
- SetTopWindow(frame);
- frame->Show();
-diff -burN zod_engine/zod_launcher_src/zod_launcherFrm.cpp zod_engine.new/zod_launcher_src/zod_launcherFrm.cpp ---- zod_engine/zod_launcher_src/zod_launcherFrm.cpp 2011-03-22 12:35:01.000000000 +0100 -+++ zod_engine.new/zod_launcher_src/zod_launcherFrm.cpp 2012-05-06 16:16:19.000000000 +0200 -@@ -10,6 +10,7 @@ -
- #include "zod_launcherFrm.h"
- #include "store_settings.h"
-+#include "common.h"
-
- //Do not add custom headers between
- //Header Include Start and Header Include End
-@@ -215,7 +216,7 @@ - #ifdef _WIN32
- message = wxT("zod_engine.exe");
- #else
-- message = wxT("./zod");
-+ message = wxT("zod");
- #endif
-
- if(WxEdit1->GetValue().length())
-diff -burN zod_engine/zod_src/cgatling.cpp zod_engine.new/zod_src/cgatling.cpp ---- zod_engine/zod_src/cgatling.cpp 2011-09-06 17:35:10.000000000 +0200 -+++ zod_engine.new/zod_src/cgatling.cpp 2012-05-05 17:26:16.000000000 +0200 -@@ -53,7 +53,7 @@ - for(j=0;j<MAX_ANGLE_TYPES;j++)
- {
- sprintf(filename_c, "assets/units/cannons/gatling/empty_r%03d.png", ROTATION[j]);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- fire[0][j].LoadBaseImage(temp_surface, false);
- passive[0][j].LoadBaseImage(temp_surface, false);
- //fire[0][j] = passive[0][j] = IMG_Load_Error(filename_c);
-diff -burN zod_engine/zod_src/common.cpp zod_engine.new/zod_src/common.cpp ---- zod_engine/zod_src/common.cpp 2011-09-06 17:35:10.000000000 +0200 -+++ zod_engine.new/zod_src/common.cpp 2012-05-06 03:00:00.000000000 +0200 -@@ -3,12 +3,16 @@ - #include <ctype.h>
- #include <math.h>
- #include <string.h>
-+#include <algorithm>
- #include "common.h"
-
- #ifdef _WIN32
- #include <windows.h>
- #include <time.h>
- #include <direct.h>
-+
-+#define OSPATH_SEP '\\'
-+
- #else
- #include <sys/stat.h>
- #include <unistd.h>
-@@ -16,20 +20,257 @@ - #include <sys/types.h>
- #include <dirent.h>
- #include <errno.h>
-+
-+#define OSPATH_SEP '/'
-+
- #endif
-
- namespace COMMON
- {
-
--void create_folder(char *foldername)
-+//base data path for the engine
-+static char base_path[FILENAME_MAX];
-+//home (user specific) data path for the engine
-+static char home_path[FILENAME_MAX];
-+
-+static bool path_concat(const char *base, const char *file, char *dest)
-+{
-+ size_t i;
-+ size_t len;
-+ char c;
-+ bool was_sep;
-+
-+ // base path is an OS specific path
-+ len = 0;
-+ for (i = 0; len < (FILENAME_MAX - 1) && base[i] != '\0'; i++)
-+ dest[len++] = base[i];
-+
-+ // this also catches base[i] != '\0'
-+ if (len == (FILENAME_MAX - 1))
-+ return false;
-+
-+
-+ // ensure base is terminated by OSPATH_SEP
-+ if (len == 0 || dest[len - 1] != OSPATH_SEP)
-+ dest[len++] = OSPATH_SEP;
-+
-+ was_sep = true;
-+
-+ // file name could have both '/' or '\\' for path separation
-+ for (i = 0; len < (FILENAME_MAX - 1) && file[i] != '\0'; i++) {
-+ char c = file[i];
-+ if (c == '/' || c == '\\') {
-+ // ignore double separators
-+ if (was_sep)
-+ continue;
-+
-+ c = OSPATH_SEP;
-+ was_sep = true;
-+ } else {
-+ was_sep = false;
-+ }
-+
-+ dest[len++] = c;
-+ }
-+
-+ if (file[i] != '\0')
-+ return false;
-+
-+ dest[len] = '\0';
-+ return true;
-+}
-+
-+static vector<string> scan_folder(string foldername)
-+{
-+ vector<string> list;
-+
-+#ifdef _WIN32
-+
-+ HANDLE hFind = INVALID_HANDLE_VALUE;
-+ WIN32_FIND_DATA ffd;
-+
-+ foldername += "*";
-+
-+ hFind = FindFirstFile(foldername.c_str(), &ffd);
-+
-+ if(INVALID_HANDLE_VALUE == hFind) return filelist;
-+
-+ do
-+ {
-+ if(!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
-+ list.push_back((char*)ffd.cFileName);
-+ }
-+ while (FindNextFile(hFind, &ffd) != 0);
-+
-+ FindClose(hFind);
-+
-+#else
-+
-+ DIR *dp;
-+ struct dirent *dirp;
-+
-+ dp = opendir(foldername.c_str());
-+
-+ if (dp) {
-+
-+ while ((dirp = readdir(dp)) != NULL)
-+ {
-+ if(dirp->d_type == DT_REG)
-+ list.push_back(dirp->d_name);
-+ }
-+
-+ closedir(dp);
-+ }
-+
-+#endif
-+
-+ return list;
-+}
-+
-+static bool file_exists(const char*filename)
-+{
-+#ifdef _WIN32
-+
-+ DWORD attrs = GetFileAttributes(filename);
-+ return (attrs != INVALID_FILE_ATTRIBUTES);
-+
-+#else
-+
-+ return (access(filename, R_OK) == 0);
-+
-+#endif
-+
-+}
-+
-+void init_file_paths(const char *bin_path)
-+{
-+ base_path[0] = '\0';
-+
-+#ifdef DATA_PATH
-+ //compilation defined base path, ignore if too long
-+ if (strlen(DATA_PATH) < FILENAME_MAX)
-+ strcpy(base_path, DATA_PATH);
-+#endif
-+
-+ if (base_path[0] == '\0' && bin_path && bin_path[0] != '\0') {
-+ //default to binary path dirname
-+ char dirname[FILENAME_MAX];
-+ size_t len;
-+
-+ len = strlen(bin_path);
-+ if (len < FILENAME_MAX) {
-+ strcpy(base_path, bin_path);
-+ //find the last separator
-+ do len--; while (len > 0 && base_path[len] != OSPATH_SEP);
-+
-+ base_path[len] = '\0';
-+ }
-+ }
-+
-+ // if no explicit directory is specified
-+ // default to current working directory
-+ if (base_path[0] == '\0')
-+ strcpy(base_path, ".");
-+
-+ // get home path
-+ home_path[0] = '\0';
-+
-+#ifdef _WIN32
-+ // on Windows home path is equivalent to base path
-+ strcpy(home_path, base_path);
-+
-+#else
-+ // on Unix platforms use a specific directory in home
-+ const char *home = getenv("HOME");
-+ if (home && home[0] != '\0') {
-+ if (path_concat(home, ".zod-engine", home_path))
-+ create_folder(home_path);
-+ else
-+ home_path[0] = '\0';
-+ }
-+
-+#endif
-+
-+}
-+
-+void create_folder(const char *foldername)
- {
--#ifdef WIN32 //if windows
-+#ifdef _WIN32 //if windows
- mkdir(foldername);
- #else
- mkdir(foldername,-1);
- #endif
- }
-
-+bool get_os_path(const char *filename, bool read_only, char *dest)
-+{
-+
-+ if (read_only)
-+ {
-+ if (home_path[0])
-+ {
-+ if (path_concat(home_path, filename, dest) && file_exists(dest))
-+ return true;
-+ }
-+
-+ return path_concat(base_path, filename, dest) && file_exists(dest);
-+
-+ }
-+ else
-+ {
-+ if (home_path[0] != '\0')
-+ return path_concat(home_path, filename, dest);
-+ else
-+ return false;
-+ }
-+}
-+
-+FILE *open_file_read(const char *filename, bool binary)
-+{
-+ char path[FILENAME_MAX];
-+ const char *mode;
-+ FILE *fp;
-+
-+ fp = NULL;
-+ mode = (binary)? "rb" : "r";
-+ if (home_path[0] != '\0') {
-+ // if home directory is available, pick the file from there,
-+ // as there is where we can find user specific overrides
-+ // of our files
-+ if (path_concat(home_path, filename, path))
-+ fp = fopen(path, mode);
-+ }
-+
-+ if (!fp) {
-+ // retrieve the file from the data directory
-+ if (path_concat(base_path, filename, path))
-+ fp = fopen(path, mode);
-+ }
-+
-+ return fp;
-+}
-+
-+FILE *open_file_write(const char *filename, bool binary, bool append)
-+{
-+ FILE *fp = NULL;
-+ if (home_path[0] != '\0') {
-+ //files can only be created in home path
-+ char path[FILENAME_MAX];
-+
-+ if (path_concat(home_path, filename, path)) {
-+ // determine open mode
-+ char mode[3];
-+
-+ mode[0] = (append)? 'a' : 'w';
-+ mode[1] = (binary)? 'b' : '\0';
-+ mode[2] = '\0';
-+ fp = fopen(path, mode);
-+ }
-+ }
-+
-+ return fp;
-+}
-+
- double current_time()
- {
- #ifdef WIN32
-@@ -139,7 +380,18 @@ - #ifdef _WIN32 //if windows
- Sleep(m_sec); //win version
- #else
-- usleep(m_sec * 1000); //lin version
-+ struct timespec ts; //use nanosleep()
-+ int secs;
-+ int mills;
-+ int res;
-+
-+ secs = m_sec / 1000;
-+ mills = m_sec - secs * 1000;
-+ ts.tv_sec = secs;
-+ ts.tv_nsec = mills * 1000000L;
-+
-+ do res = nanosleep(&ts, &ts); while (res == -1 && errno == EINTR);
-+
- #endif
- }
-
-@@ -229,7 +481,7 @@ - lt = time(NULL);
- ptr = localtime(<);
-
-- ofp = fopen("reg_log.txt","a");
-+ ofp = open_file_write("reg_log.txt",false,true);
-
- strcpy(timebuf, asctime(ptr));
- clean_newline(timebuf, 100);
-@@ -259,7 +511,7 @@ - {
- FILE *fp;
-
-- fp = fopen(filename, "a");
-+ fp = open_file_write(filename, false, true);
-
- if(!fp) return false;
-
-@@ -270,51 +522,37 @@ -
- vector<string> directory_filelist(string foldername)
- {
-- vector<string> filelist;
-+ vector<string> list;
-+ vector<string> base;
-+ vector<string> merged;
-+ char path[FILENAME_MAX];
-
--#ifdef _WIN32
-+ // scan both base and home folders
-+ if (path_concat(home_path, foldername.c_str(), path))
-+ list = scan_folder(path);
-
-- HANDLE hFind = INVALID_HANDLE_VALUE;
-- WIN32_FIND_DATA ffd;
-+ if (path_concat(base_path, foldername.c_str(), path))
-+ base = scan_folder(path);
-
-- foldername += "*";
-+ // for (size_t i=0;i<list.size(); i++) printf("list found:%s\n", list[i].c_str());
-+ // for (size_t i=0;i<base.size(); i++) printf("base found:%s\n", base[i].c_str());
-
-- hFind = FindFirstFile(foldername.c_str(), &ffd);
-+ // add unique entries for each file
-+ sort(list.begin(), list.end(), sort_string_func);
-+ merged = list;
-+ for (size_t i = 0; i < base.size(); i++) {
-+ vector<string>::iterator el;
-
-- if(INVALID_HANDLE_VALUE == hFind) return filelist;
-+ el = lower_bound(list.begin(), list.end(), base[i], sort_string_func);
-+ if (el != list.end() && *el == base[i])
-+ continue;
-
-- do
-- {
-- if(!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
-- filelist.push_back((char*)ffd.cFileName);
-+ merged.push_back(base[i]);
- }
-- while (FindNextFile(hFind, &ffd) != 0);
--
-- FindClose(hFind);
--
--#else
-- DIR *dp;
-- struct dirent *dirp;
--
-- if(!foldername.size()) foldername = ".";
--
-- dp = opendir(foldername.c_str());
--
-- if(!dp) return filelist;
--
-- while ((dirp = readdir(dp)) != NULL)
-- {
-- if(dirp->d_type == DT_REG)
-- filelist.push_back(dirp->d_name);
-- }
--
-- closedir(dp);
--
--#endif
-
-- //for(int i=0;i<filelist.size(); i++) printf("filelist found:%s\n", filelist[i].c_str());
-+ // for (size_t i=0;i<merged.size(); i++) printf("merged found:%s\n", merged[i].c_str());
-
-- return filelist;
-+ return merged;
- }
-
- void parse_filelist(vector<string> &filelist, string extension)
-diff -burN zod_engine/zod_src/common.h zod_engine.new/zod_src/common.h ---- zod_engine/zod_src/common.h 2011-09-06 17:35:07.000000000 +0200 -+++ zod_engine.new/zod_src/common.h 2012-05-05 20:39:00.000000000 +0200 -@@ -1,6 +1,7 @@ - #ifndef _COMMON_H_ - #define _COMMON_H_ - -+#include <stdio.h> - #include <string> - #include <vector> - #include <stdlib.h> -@@ -19,12 +20,16 @@ - int x, y; - }; - -+ extern void init_file_paths(const char *bin_path); -+ extern bool get_os_path(const char *filename, bool read_only, char*dest); -+ extern FILE *open_file_read(const char *filename, bool binary); -+ extern FILE *open_file_write(const char *filename, bool binary, bool append); - extern void split(char *dest, char *message, char split, int *initial, int d_size, int m_size); - extern void clean_newline(char *message, int size); - extern void lcase(char *message, int m_size); - extern void lcase(string &message); - extern double current_time(); -- extern void create_folder(char *foldername); -+ extern void create_folder(const char *foldername); - extern void uni_pause(int m_sec); - extern char *wtoc_s(const wchar_t *input); - extern char *wtoc(const wchar_t *input, char *dest, int size); -diff -burN zod_engine/zod_src/cursor.cpp zod_engine.new/zod_src/cursor.cpp ---- zod_engine/zod_src/cursor.cpp 2011-09-06 17:35:10.000000000 +0200 -+++ zod_engine.new/zod_src/cursor.cpp 2012-05-05 17:31:02.000000000 +0200 -@@ -24,56 +24,56 @@ - cursor[CURSOR_C][0][j].LoadBaseImage(filename_c);
-
- sprintf(filename_c, "assets/cursors/placed_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[PLACED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[PLACE_C][0][j].LoadBaseImage(temp_surface);
- //cursor[PLACED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[PLACE_C][0][j] = cursor[PLACED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/attacked_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[ATTACKED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[ATTACK_C][0][j].LoadBaseImage(temp_surface);
- //cursor[ATTACKED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[ATTACK_C][0][j] = cursor[ATTACKED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/grabbed_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[GRABBED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[GRAB_C][0][j].LoadBaseImage(temp_surface);
- //cursor[GRABBED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[GRAB_C][0][j] = cursor[GRABBED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/grenaded_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[GRENADED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[GRENADE_C][0][j].LoadBaseImage(temp_surface);
- //cursor[GRENADED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[GRENADE_C][0][j] = cursor[GRENADED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/repaired_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[REPAIRED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[REPAIR_C][0][j].LoadBaseImage(temp_surface);
- //cursor[REPAIRED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[REPAIR_C][0][j] = cursor[REPAIRED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/entered_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[ENTERED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[ENTER_C][0][j].LoadBaseImage(temp_surface);
- //cursor[ENTERED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[ENTER_C][0][j] = cursor[ENTERED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/exited_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[EXITED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[EXIT_C][0][j].LoadBaseImage(temp_surface);
- //cursor[EXITED_C][0][j] = IMG_Load_Error(filename_c);
- //cursor[EXIT_C][0][j] = cursor[EXITED_C][0][j];
-
- sprintf(filename_c, "assets/cursors/cannoned_n%02d.png", j);
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
- cursor[CANNONED_C][0][j].LoadBaseImage(temp_surface, false);
- cursor[CANNON_C][0][j].LoadBaseImage(temp_surface);
- //cursor[CANNONED_C][0][j] = IMG_Load_Error(filename_c);
-diff -burN zod_engine/zod_src/main.cpp zod_engine.new/zod_src/main.cpp ---- zod_engine/zod_src/main.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/main.cpp 2012-05-05 17:49:03.000000000 +0200 -@@ -42,7 +42,7 @@ - - printf("Welcome to the Zod Engine\n"); - -- if(argc<=1) starting_conditions.setdefaults(); -+ if(argc==1) starting_conditions.setdefaults(); - - //read in the arguments - starting_conditions.getoptions(argc, argv); -@@ -51,6 +51,9 @@ - //like we are trying to make a dedicated server that is supposed to connect to another server - starting_conditions.checkoptions(); - -+ //init engine search paths -+ COMMON::init_file_paths(argv[0]); -+ - //init this for the bots - ZCore::CreateRandomBotBypassData(bot_bypass_data, bot_bypass_size); - -diff -burN zod_engine/zod_src/makefile zod_engine.new/zod_src/makefile ---- zod_engine/zod_src/makefile 2011-09-06 17:35:07.000000000 +0200 -+++ zod_engine.new/zod_src/makefile 2012-05-06 04:03:47.000000000 +0200 -@@ -18,6 +18,9 @@ - MAPEDITOR_OFILES = map_editor.o $(CPPFILES:.cpp=.o) - DATE = `date +%m-%d-%y` - -+ifdef DATA_PATH -+ CFLAGS += -D DATA_PATH=\"$(DATA_PATH)\" -+endif - - main: $(OFILES) - $(CC) -o $(EXENAME) $(OFILES) $(LDFLAGS) -diff -burN zod_engine/zod_src/map_editor.cpp zod_engine.new/zod_src/map_editor.cpp ---- zod_engine/zod_src/map_editor.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/map_editor.cpp 2012-05-05 21:50:20.000000000 +0200 -@@ -270,6 +270,8 @@ - //check if args ok
- if(!checkargs(argv[0])) return 0;
-
-+ //init filesystem search paths
-+ COMMON::init_file_paths(argv[0]);
- //init SDL
- SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO);
- screen = SDL_SetVideoMode(800,600,32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RESIZABLE);
-@@ -287,8 +289,15 @@ - ZSDL_Surface::SetHasHud(false);
-
- //TTF
-+ char path[FILENAME_MAX];
-+
- TTF_Init();
-- ttf_font = TTF_OpenFont("assets/arial.ttf",10);
-+ ttf_font = NULL;
-+ if (COMMON::get_os_path("assets/arial.ttf", true, path))
-+ {
-+ ttf_font = TTF_OpenFont(path,10);
-+ }
-+
- if (!ttf_font) printf("could not load arial.ttf\n");
-
- //init stuff
-@@ -499,10 +508,8 @@ - //save the map
- {
- bmp_filename = filename + ".bmp";
--
- printf("saving map screenshot: '%s'\n", bmp_filename.c_str());
--
-- SDL_SaveBMP(print_surface, bmp_filename.c_str());
-+ ZSDL_SaveBMP(print_surface, filename);
- }
-
- SDL_FreeSurface(print_surface);
-diff -burN zod_engine/zod_src/map_merger.cpp zod_engine.new/zod_src/map_merger.cpp ---- zod_engine/zod_src/map_merger.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/map_merger.cpp 2012-05-05 16:17:15.000000000 +0200 -@@ -16,6 +16,9 @@ - return 0;
- }
-
-+ //init filesystem paths
-+ COMMON::init_file_paths(argv[0]);
-+
- printf("argc:%d\n", argc);
- printf("output_map:'%s'\n", argv[1]);
- printf("direction:'%s'\n", argv[2]);
-diff -burN zod_engine/zod_src/ogrenades.cpp zod_engine.new/zod_src/ogrenades.cpp ---- zod_engine/zod_src/ogrenades.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/ogrenades.cpp 2012-05-05 17:28:25.000000000 +0200 -@@ -24,7 +24,7 @@ -
- void OGrenades::Init()
- {
-- render_img.LoadBaseImage("assets/other/map_items/grenades.png");// = ZSDL_IMG_Load("assets/other/map_items/grenades.png");
-+ render_img.LoadBaseImage("assets/other/map_items/grenades.png");// = ZSDL_IMG_Load("assets/other/map_items/grenades.png", true);
- }
-
- void OGrenades::DoRender(ZMap &the_map, SDL_Surface *dest, int shift_x, int shift_y)
-diff -burN zod_engine/zod_src/ohut.cpp zod_engine.new/zod_src/ohut.cpp ---- zod_engine/zod_src/ohut.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/ohut.cpp 2012-05-05 17:28:13.000000000 +0200 -@@ -42,7 +42,7 @@ - for(i=0;i<MAX_PLANET_TYPES;i++)
- {
- filename = "assets/other/map_items/hut_" + planet_type_string[i] + ".png";
-- render_img[i].LoadBaseImage(filename);// = ZSDL_IMG_Load(filename);
-+ render_img[i].LoadBaseImage(filename);// = ZSDL_IMG_Load(filename, true);
- }
- }
-
-diff -burN zod_engine/zod_src/omapobject.cpp zod_engine.new/zod_src/omapobject.cpp ---- zod_engine/zod_src/omapobject.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/omapobject.cpp 2012-05-05 17:22:19.000000000 +0200 -@@ -42,7 +42,7 @@ - for(i=0;i<MAP_ITEMS_AMOUNT;i++)
- {
- sprintf(filename_c, "assets/other/map_items/map_object%d.png", i);
-- render_img[i].LoadBaseImage(filename_c);// = ZSDL_IMG_Load(filename_c);
-+ render_img[i].LoadBaseImage(filename_c);// = ZSDL_IMG_Load(filename_c, true);
- }
- }
-
-diff -burN zod_engine/zod_src/orock.cpp zod_engine.new/zod_src/orock.cpp ---- zod_engine/zod_src/orock.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/orock.cpp 2012-05-05 17:27:26.000000000 +0200 -@@ -70,7 +70,7 @@ - for(i=0;i<MAX_PLANET_TYPES;i++)
- {
- filename = "assets/planets/rocks_" + planet_type_string[i] + ".png";
-- rock_pal[i].LoadBaseImage(filename);// = ZSDL_IMG_Load(filename);
-+ rock_pal[i].LoadBaseImage(filename);// = ZSDL_IMG_Load(filename, true);
-
- if(rock_pal[i].GetBaseSurface())
- {
-diff -burN zod_engine/zod_src/tile_info_editor.cpp zod_engine.new/zod_src/tile_info_editor.cpp ---- zod_engine/zod_src/tile_info_editor.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/tile_info_editor.cpp 2012-05-05 16:20:57.000000000 +0200 -@@ -76,6 +76,8 @@ -
- //seed
- srand(time(0));
-+ //init filesystem search paths
-+ COMMON::init_file_paths(argv[0]);
-
- //init SDL
- SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO);
-@@ -94,8 +96,18 @@ -
- //TTF
- TTF_Init();
-- ttf_font = TTF_OpenFont("assets/arial.ttf",10);
-+ FILE *fp = COMMON::open_file_read("assets/arial.ttf",true);
-+ if (fp)
-+ {
-+ SDL_RWops *rw = SDL_RWFromFP(fp,1);
-+
-+ ttf_font = TTF_OpenFontRW(rw,1,10);
- if (!ttf_font) printf("could not load arial.ttf\n");
-+ }
-+ else
-+ {
-+ printf("cannot find arial.ttf\n");
-+ }
-
- //init map class
- ZMap::Init();
-diff -burN zod_engine/zod_src/zcore.cpp zod_engine.new/zod_src/zcore.cpp ---- zod_engine/zod_src/zcore.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/zcore.cpp 2012-05-05 16:25:45.000000000 +0200 -@@ -111,7 +111,7 @@ - //clients and servers on different threads may use this function
- SDL_LockMutex(check_mutex);
-
-- fp = fopen("registration.zkey", "r");
-+ fp = COMMON::open_file_read("registration.zkey", false);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zfont.cpp zod_engine.new/zod_src/zfont.cpp ---- zod_engine/zod_src/zfont.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/zfont.cpp 2012-05-05 17:29:09.000000000 +0200 -@@ -16,7 +16,7 @@ - for(i=0;i<MAX_CHARACTERS;i++)
- {
- sprintf(filename_c, "assets/fonts/%s/char_%03d.png", font_type_string[type].c_str(), i);
-- char_img[i] = IMG_Load(filename_c);
-+ char_img[i] = ZSDL_IMG_Load(filename_c, false);
- }
-
- finished_init = true;
-diff -burN zod_engine/zod_src/zgfile.cpp zod_engine.new/zod_src/zgfile.cpp ---- zod_engine/zod_src/zgfile.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/zgfile.cpp 2012-05-05 16:24:41.000000000 +0200 -@@ -16,7 +16,7 @@ - {
- FILE *fp;
-
-- fp = fopen(ZGFILE_NAME, "rb");
-+ fp = COMMON::open_file_read(ZGFILE_NAME, true);
-
- if(!fp)
- {
-@@ -90,7 +90,7 @@ - return;
- }
-
-- fp = fopen(ZGFILE_NAME, "ab");
-+ fp = COMMON::open_file_write(ZGFILE_NAME, true, true);
-
- if(!fp)
- {
-@@ -166,7 +166,7 @@ - return NULL;
- }
-
-- fp = fopen(ZGFILE_NAME, "rb");
-+ fp = COMMON::open_file_read(ZGFILE_NAME, true);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zmap.cpp zod_engine.new/zod_src/zmap.cpp ---- zod_engine/zod_src/zmap.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/zmap.cpp 2012-05-05 17:18:57.000000000 +0200 -@@ -69,7 +69,7 @@ -
- //load BMP palette
- filename = "assets/planets/" + planet_type_string[i] + ".bmp";
-- planet_template[i].LoadBaseImage(filename);// = SDL_LoadBMP ( filename.c_str() );
-+ planet_template[i].LoadBaseImage(filename);// = ZSDL_LoadBMP ( filename.c_str() );
-
- //if(!planet_template[i])
- // printf("unable to load:%s\n", filename.c_str());
-@@ -124,7 +124,7 @@ - SDL_LockMutex(init_mutex);
-
- filename = "assets/planets/" + planet_type_string[i] + ".tileinfo";
-- fp = fopen(filename.c_str(), "rb");
-+ fp = COMMON::open_file_read(filename.c_str(), true);
-
- if(!fp)
- {
-@@ -195,7 +195,7 @@ -
- filename = "assets/planets/" + planet_type_string[palette] + ".tileinfo";
-
-- fp = fopen(filename.c_str(), "wb");
-+ fp = COMMON::open_file_write(filename.c_str(), true, false);
-
- if(!fp) return 0;
-
-@@ -216,7 +216,7 @@ - {
- filename = "assets/planets/" + planet_type_string[i] + ".tileinfo";
-
-- fp = fopen(filename.c_str(), "wb");
-+ fp = COMMON::open_file_write(filename.c_str(), true, false);
-
- if(!fp)
- {
-@@ -979,7 +979,7 @@ - if(!filename) return 0;
- if(!filename[0]) return 0;
-
-- fp = fopen(filename, "rb");
-+ fp = COMMON::open_file_read(filename, true);
-
- if(!fp) return 0;
-
-@@ -1075,7 +1075,7 @@ - if(!filename) return 0;
- if(!filename[0]) return 0;
-
-- fp = fopen(filename, "wb");
-+ fp = COMMON::open_file_write(filename, true, false);
-
- if(!fp) return 0;
-
-diff -burN zod_engine/zod_src/zmap_crater_graphics.cpp zod_engine.new/zod_src/zmap_crater_graphics.cpp ---- zod_engine/zod_src/zmap_crater_graphics.cpp 2011-09-06 17:35:11.000000000 +0200 -+++ zod_engine.new/zod_src/zmap_crater_graphics.cpp 2012-05-05 17:20:54.000000000 +0200 -@@ -33,7 +33,7 @@ -
- sprintf(filename, "assets/planets/craters/crater_small_%s_t%02d_n%02d.png", planet_type_string[p].c_str(), t, n);
-
-- surface = IMG_Load(filename);
-+ surface = ZSDL_IMG_Load(filename, false);
-
- //not loaded?
- if(!surface) break;
-@@ -60,7 +60,7 @@ -
- sprintf(filename, "assets/planets/craters/crater_large_%s_t%02d_n%02d.png", planet_type_string[p].c_str(), t, n);
-
-- surface = IMG_Load(filename);
-+ surface = ZSDL_IMG_Load(filename, false);
-
- //not loaded?
- if(!surface) break;
-diff -burN zod_engine/zod_src/zplayer.cpp zod_engine.new/zod_src/zplayer.cpp ---- zod_engine/zod_src/zplayer.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zplayer.cpp 2012-05-05 21:47:14.000000000 +0200 -@@ -367,12 +367,13 @@ - Uint16 audio_format = AUDIO_S16; /* 16-bit stereo */
- int audio_channels = 2;
- int audio_buffers = 4096;
-+ char font_path[FILENAME_MAX];
-
- //init SDL
- SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO);
-
- //some stuff that just has to be right after init
-- game_icon = IMG_Load("assets/icon.png");
-+ game_icon = ZSDL_IMG_Load("assets/icon.png", false);
- //ffuts
-
- if(game_icon) SDL_WM_SetIcon(game_icon, NULL);
-@@ -436,13 +437,18 @@ -
- //TTF
- TTF_Init();
-- ttf_font = TTF_OpenFont("assets/arial.ttf",10);
-- ttf_font_7 = TTF_OpenFont("assets/arial.ttf",7);
-+ ttf_font = NULL;
-+ if (COMMON::get_os_path("assets/arial.ttf", true, font_path))
-+ {
-+ ttf_font = TTF_OpenFont(font_path,10);
-+ ttf_font_7 = TTF_OpenFont(font_path,7);
-+ }
-+
- if (!ttf_font) printf("could not load assets/arial.ttf\n");
-
- //splash sound best loaded here
- //splash_music = MUS_Load_Error("assets/sounds/ABATTLE.mp3");
-- splash_screen.LoadBaseImage("assets/splash.bmp");// = IMG_Load("assets/splash.bmp");
-+ splash_screen.LoadBaseImage("assets/splash.bmp");// = ZSDL_IMG_Load("assets/splash.bmp", false);
- splash_screen.UseDisplayFormat(); //Regular needs this to do fading
-
- // if(splash_screen)
-diff -burN zod_engine/zod_src/zplayer_events.cpp zod_engine.new/zod_src/zplayer_events.cpp ---- zod_engine/zod_src/zplayer_events.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zplayer_events.cpp 2012-05-05 16:30:09.000000000 +0200 -@@ -1402,7 +1402,7 @@ - FILE *fp;
- int ret;
-
-- fp = fopen("registration.zkey", "w");
-+ fp = COMMON::open_file_write("registration.zkey", false, false);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zpsettings.cpp zod_engine.new/zod_src/zpsettings.cpp ---- zod_engine/zod_src/zpsettings.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zpsettings.cpp 2012-05-05 16:36:55.000000000 +0200 -@@ -35,7 +35,7 @@ - {
- FILE *fp;
-
-- fp = fopen(filename.c_str(), "r");
-+ fp = COMMON::open_file_read(filename.c_str(), false);
-
- if(!fp)
- {
-@@ -106,7 +106,7 @@ - {
- FILE *fp;
-
-- fp = fopen(filename.c_str(), "w");
-+ fp = COMMON::open_file_write(filename.c_str(), false, false);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zrobot.cpp zod_engine.new/zod_src/zrobot.cpp ---- zod_engine/zod_src/zrobot.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zrobot.cpp 2012-05-05 17:23:22.000000000 +0200 -@@ -168,7 +168,7 @@ - SDL_Surface *temp_surface;
-
- strcpy(filename_c, "assets/units/robots/null.png");
-- temp_surface = IMG_Load(filename_c);
-+ temp_surface = ZSDL_IMG_Load(filename_c, false);
-
- for(j=0;j<MAX_ANGLE_TYPES;j++)
- stand[0][j].LoadBaseImage(temp_surface, false);
-diff -burN zod_engine/zod_src/zsdl.cpp zod_engine.new/zod_src/zsdl.cpp ---- zod_engine/zod_src/zsdl.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zsdl.cpp 2012-05-05 21:58:47.000000000 +0200 -@@ -442,26 +442,53 @@ - return src;
- }
-
--SDL_Surface *ZSDL_IMG_Load(string filename)
-+SDL_Surface *ZSDL_IMG_Load(string filename, bool to_display_format)
- {
-+ char path[FILENAME_MAX];
- SDL_Surface *ret;
-
-- ret = IMG_Load(filename.c_str());
-+ if(!COMMON::get_os_path(filename.c_str(), true, path))
-+ return NULL;
-
-- if(!ret) printf("could not load:%s\n", filename.c_str());
-+ ret = IMG_Load(path);
-
-+ if (to_display_format)
- ret = ZSDL_ConvertImage(ret);
-
-- //SDL_DisplayFormat
--
- return ret;
- }
-
-+bool ZSDL_SaveBMP(SDL_Surface *src, string filename)
-+{
-+ char path[FILENAME_MAX];
-+
-+ if (!COMMON::get_os_path(filename.c_str(), false, path))
-+ {
-+ printf("could not save:%s\n", filename.c_str());
-+ return false;
-+ }
-+
-+ return (SDL_SaveBMP(src, path) == 0);
-+}
-+
-+SDL_Surface *ZSDL_LoadBMP(string filename)
-+{
-+ char path[FILENAME_MAX];
-+
-+ if (!COMMON::get_os_path(filename.c_str(), true, path))
-+ {
-+ printf("could not load:%s\n", filename.c_str());
-+ return NULL;
-+ }
-+
-+ return SDL_LoadBMP(path);
-+}
-+
- SDL_Surface *IMG_Load_Error(string filename)
- {
- SDL_Surface *ret;
-
-- if(!(ret = ZSDL_IMG_Load(filename.c_str()))) printf("could not load:%s\n", filename.c_str());
-+ if(!(ret = ZSDL_IMG_Load(filename.c_str(), true))) printf("could not load:%s\n", filename.c_str());
-
- //SDL_DisplayFormat
-
-@@ -470,18 +497,24 @@ -
- Mix_Music *MUS_Load_Error(string filename)
- {
-+ char path[FILENAME_MAX];
- Mix_Music *ret;
-
-- if(!(ret = Mix_LoadMUS(filename.c_str()))) printf("could not load:%s\n", filename.c_str());
-+ if (!COMMON::get_os_path(filename.c_str(), true, path)) printf("could not open:%s\n", filename.c_str());
-+
-+ if (!(ret = Mix_LoadMUS(path))) printf("could not load:%s\n", filename.c_str());
-
- return ret;
- }
-
- Mix_Chunk *MIX_Load_Error(string filename)
- {
-+ char path[FILENAME_MAX];
- Mix_Chunk *ret;
-
-- if(!(ret = Mix_LoadWAV(filename.c_str()))) printf("could not load:%s\n", filename.c_str());
-+ if (!COMMON::get_os_path(filename.c_str(), true, path)) printf("could not open:%s\n", filename.c_str());
-+
-+ if (!(ret = Mix_LoadWAV(path))) printf("could not load:%s\n", filename.c_str());
-
- return ret;
- }
-diff -burN zod_engine/zod_src/zsdl.h zod_engine.new/zod_src/zsdl.h ---- zod_engine/zod_src/zsdl.h 2011-09-06 17:35:09.000000000 +0200 -+++ zod_engine.new/zod_src/zsdl.h 2012-05-05 17:34:05.000000000 +0200 -@@ -64,8 +64,10 @@ - }; - - SDL_Surface *ZSDL_ConvertImage(SDL_Surface *src); --SDL_Surface *ZSDL_IMG_Load(string filename); -+SDL_Surface *ZSDL_IMG_Load(string filename, bool to_display_format); - SDL_Surface *IMG_Load_Error(string filename); -+bool ZSDL_SaveBMP(SDL_Surface *src, string filename); -+SDL_Surface *ZSDL_LoadBMP(string filename); - Mix_Music *MUS_Load_Error(string filename); - Mix_Chunk *MIX_Load_Error(string filename); - SDL_Surface *CopyImage(SDL_Surface *original); -diff -burN zod_engine/zod_src/zsdl_opengl.cpp zod_engine.new/zod_src/zsdl_opengl.cpp ---- zod_engine/zod_src/zsdl_opengl.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zsdl_opengl.cpp 2012-05-05 17:32:31.000000000 +0200 -@@ -107,7 +107,7 @@ - //set this for later debugging purposes
- image_filename = filename;
-
-- SDL_Surface *surface = IMG_Load(filename.c_str());
-+ SDL_Surface *surface = ZSDL_IMG_Load(filename.c_str(), false);
-
- LoadBaseImage(surface);
- }
-diff -burN zod_engine/zod_src/zserver.cpp zod_engine.new/zod_src/zserver.cpp ---- zod_engine/zod_src/zserver.cpp 2011-09-06 17:35:12.000000000 +0200 -+++ zod_engine.new/zod_src/zserver.cpp 2012-05-06 02:44:12.000000000 +0200 -@@ -270,7 +270,7 @@ - //if we can't read in the official list
- //and we can't make one
- //then just use the regular map list
-- if(!ReadSelectableMapList() && !ReadSelectableMapListFromFolder())
-+ if(!ReadSelectableMapList() && !ReadSelectableMapListFromFolder("."))
- selectable_map_list = map_list;
- }
-
-@@ -454,7 +454,7 @@ -
- map_list.clear();
-
-- fp = fopen(map_list_name.c_str(), "r");
-+ fp = COMMON::open_file_read(map_list_name.c_str(), false);
-
- if(!fp)
- {
-@@ -496,7 +496,7 @@ -
- selectable_map_list.clear();
-
-- fp = fopen(psettings.selectable_map_list.c_str(), "r");
-+ fp = COMMON::open_file_read(psettings.selectable_map_list.c_str(), false);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zserver_events.cpp zod_engine.new/zod_src/zserver_events.cpp ---- zod_engine/zod_src/zserver_events.cpp 2011-09-06 17:35:07.000000000 +0200 -+++ zod_engine.new/zod_src/zserver_events.cpp 2012-05-05 16:32:42.000000000 +0200 -@@ -164,7 +164,7 @@ - {
- FILE *fp;
-
-- fp = fopen(p->map_name.c_str(), "rb");
-+ fp = COMMON::open_file_read(p->map_name.c_str(), true);
-
- if(fp)
- {
-diff -burN zod_engine/zod_src/zsettings.cpp zod_engine.new/zod_src/zsettings.cpp ---- zod_engine/zod_src/zsettings.cpp 2011-09-06 17:35:08.000000000 +0200 -+++ zod_engine.new/zod_src/zsettings.cpp 2012-05-05 16:31:45.000000000 +0200 -@@ -393,7 +393,7 @@ - {
- FILE *fp;
-
-- fp = fopen(filename.c_str(), "r");
-+ fp = COMMON::open_file_read(filename.c_str(), false);
-
- if(!fp)
- {
-@@ -555,7 +555,7 @@ - {
- FILE *fp;
-
-- fp = fopen(filename.c_str(), "w");
-+ fp = COMMON::open_file_write(filename.c_str(), false, false);
-
- if(!fp)
- {
-diff -burN zod_engine/zod_src/zteam.cpp zod_engine.new/zod_src/zteam.cpp ---- zod_engine/zod_src/zteam.cpp 2011-09-06 17:35:07.000000000 +0200 -+++ zod_engine.new/zod_src/zteam.cpp 2012-05-05 17:31:56.000000000 +0200 -@@ -113,7 +113,7 @@ - }
-
- //save surface
-- SDL_SaveBMP(src, filename.c_str());
-+ ZSDL_SaveBMP(src, filename);
-
- //free surface
- SDL_FreeSurface(src);
-@@ -264,7 +264,7 @@ - if(team == ZTEAM_BASE_TEAM) return;
-
- filename = "assets/teams/" + team_type_string[team] + "_palette.bmp";
-- surface = IMG_Load(filename.c_str());
-+ surface = ZSDL_IMG_Load(filename.c_str(), false);
-
- if(!surface)
- {
-@@ -294,7 +294,7 @@ -
- team_palette[team].SaveSurfacePalette(filename);
-
-- //SDL_SaveBMP(team_palette[team], filename.c_str());
-+ //ZSDL_SaveBMP(team_palette[team], filename);
- }
-
- void ZTeam::SaveAllPalettes()
diff --git a/games-strategy/zod-engine/zod-engine-20110906.ebuild b/games-strategy/zod-engine/zod-engine-20110906.ebuild deleted file mode 100644 index 86528d3e..00000000 --- a/games-strategy/zod-engine/zod-engine-20110906.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v3 -# $Header: $ - -EAPI="3" - -WX_GTK_VER="2.8" - -inherit wxwidgets eutils games - -MY_PN="zod_linux" -MY_P="${MY_PN}-${PV:0:4}-${PV:4:2}-${PV:6:2}" - -DESCRIPTION="Zod Engine is a remake of the 1996 classic game by Bitmap Brothers called Z" -HOMEPAGE="http://zod.sourceforge.net/" -SRC_URI="mirror://sourceforge/zod/${MY_P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RDEPEND=" - >=media-libs/libsdl-1.2[X] - >=media-libs/sdl-ttf-2.0[X] - >=media-libs/sdl-mixer-1.2[timidity] - >=media-libs/sdl-image-1.2 - virtual/mysql - x11-libs/wxGTK:2.8[X]" -DEPEND="${RDEPEND}" - -S="${WORKDIR}/zod_engine" - -src_prepare() { - # various fixes and proper linux platform and filesystem support - epatch "${FILESDIR}/${P}-proper-linux-support.patch" - - # fix files, this project really should provide a make install - - # remove Thumbs.db files - find . -type f -name Thumbs.db -exec rm -f {} \; || die - # remove GIMP .xcf files - find . -type f -name "*.xcf" -exec rm -f {} \; || die - # remove Windows .ico files, unused on Linux build - find . -type f -name "*.ico" -exec rm -f {} \; || die - # remove useless icescene file - rm -f "assets/WebCamScene.icescene" || die - # remove unused splash screen - rm -f "assets/splash.png" || die -} - -src_compile() { - emake -C zod_src DATA_PATH="\"${GAMES_DATADIR}/${PN}\"" map_editor main || die - emake -C zod_launcher_src DATA_PATH="\"${GAMES_DATADIR}/${PN}\"" || die -} - -src_install() { - # custom install procedure for Gentoo - insinto "${GAMES_DATADIR}/${PN}" - doins -r assets blank_maps *.map default_settings.txt *map_list.txt || die - dogamesbin zod_launcher_src/zod_launcher || die - dogamesbin zod_src/zod || die - dogamesbin zod_src/zod_map_editor || die - - newicon assets/icon.png ${PN}.png || die - make_desktop_entry zod_launcher "Zod Engine" || die - - dodoc zod_engine_help.txt map_editor_help.txt || die - - prepgamesdirs -} |