diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-27 14:42:43 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-27 14:42:43 +0200 |
commit | 543e510da1869cf8d352225bade8fc732c598497 (patch) | |
tree | 3fe4cf0d6204b47acd76e4e08ee09add6bb136ea /sys/src/games/doom/i_system.c | |
parent | ab08c97e6010309d4ea0df26815d074b1f5d1a4b (diff) |
doom: cleanup
Diffstat (limited to 'sys/src/games/doom/i_system.c')
-rw-r--r-- | sys/src/games/doom/i_system.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/src/games/doom/i_system.c b/sys/src/games/doom/i_system.c index 8e17da76b..e83d2f0db 100644 --- a/sys/src/games/doom/i_system.c +++ b/sys/src/games/doom/i_system.c @@ -113,7 +113,7 @@ void I_Error (char *error, ...) int I_FileExists (char *filepath) { - return (0 == access(filepath, AREAD)); + return access(filepath, AEXIST) == 0; } int I_Open (char *filepath) @@ -138,17 +138,26 @@ int I_Read (int handle, void *buf, int n) char* I_IdentifyWAD(char *wadname) { - char path[1024]; + static char path[1024]; + char *home; - snprintf(path, sizeof path, "/sys/lib/doom/%s", wadname); + snprint(path, sizeof path, wadname); if (I_FileExists (path)) return path; - snprintf(path, sizeof path, "/sys/games/lib/doom/%s", wadname); + if(home = getenv("home")){ + snprintf(path, sizeof path, "%s/lib/doom/%s", home, wadname); + free(home); + + if (I_FileExists (path)) + return path; + } + + snprintf(path, sizeof path, "/sys/lib/doom/%s", wadname); if (I_FileExists (path)) return path; - snprintf(path, sizeof path, "%s/lib/doom/%s", getenv("home"), wadname); + snprintf(path, sizeof path, "/sys/games/lib/doom/%s", wadname); if (I_FileExists (path)) return path; |