initial import
Wed Feb 18 00:15:35 CET 2009 tobias@rautenkranz.ch
* initial import
diff -rN -u old-myth2/Makefile new-myth2/Makefile
--- old-myth2/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new-myth2/Makefile 2014-10-30 07:04:54.000000000 +0100
@@ -0,0 +1,12 @@
+all: fopenr.so
+
+fopenr.so: fopenRedirect.o
+ gcc -shared -o fopenr.so fopenRedirect.o
+
+fopenRedirect.o: fopenRedirect.c
+ gcc -Wall -fpic -c fopenRedirect.c
+
+.PHONY: clean
+clean:
+ rm -f *.o
+ rm -f *.so
diff -rN -u old-myth2/README new-myth2/README
--- old-myth2/README 1970-01-01 01:00:00.000000000 +0100
+++ new-myth2/README 2014-10-30 07:04:54.000000000 +0100
@@ -0,0 +1,14 @@
+Myth2 for Linux parses proc/meminfo,
+but its format changed some time ago.
+Therefore it won't activate OpenGL.
+
+Error message:
+~$ myth2
+Warning: You may not have enough free memory (-811245713) !
+
+By suppling an old meminfo this can be fixed:
+
+
+* Adjust the path in fopenRedirect.c:38 to match the supplied meminfo file.
+* Compile with: make
+* Start myth2: LD_PRELOAD=./fopenr.so myth2
diff -rN -u old-myth2/fopenRedirect.c new-myth2/fopenRedirect.c
--- old-myth2/fopenRedirect.c 1970-01-01 01:00:00.000000000 +0100
+++ new-myth2/fopenRedirect.c 2014-10-30 07:04:54.000000000 +0100
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2004 Tobias Rautenkranz <tobias@rautenkranz.ch>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <stdio.h>
+
+#define __USE_GNU
+#include <string.h>
+#include <dlfcn.h>
+
+FILE* fopen(const char *filename, const char *modes)
+{
+ FILE* (*_fopen) (const char*,const char*) = dlsym(RTLD_NEXT, "fopen");
+
+ if (strcmp(filename,"/proc/meminfo") == 0) {
+ printf("meminfo fix\n");
+ return _fopen("/usr/local/games/myth2/meminfo", modes); //change this path
+ } else
+ return _fopen(filename, modes);
+}
diff -rN -u old-myth2/meminfo new-myth2/meminfo
--- old-myth2/meminfo 1970-01-01 01:00:00.000000000 +0100
+++ new-myth2/meminfo 2014-10-30 07:04:54.000000000 +0100
@@ -0,0 +1,3 @@
+root: total: used: free: shared: buffers: cached:
+Mem: 1000000000 0 1000000000 0 0 0
+Swap: 1000000000 0 1000000000