summaryrefslogtreecommitdiff
path: root/patch.py
diff options
context:
space:
mode:
authorJakob L. Kreuze <jakob@memeware.net>2018-01-13 15:16:40 -0500
committerJakob L. Kreuze <jakob@memeware.net>2018-01-13 15:16:40 -0500
commit180b997b0eccd5eacff6fd2d73d1ec1af0a46a07 (patch)
tree861fdd2f37ef4b6a85e423f3e88cfe455cd7f167 /patch.py
Initial commit.
Diffstat (limited to 'patch.py')
-rw-r--r--patch.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/patch.py b/patch.py
new file mode 100644
index 0000000..57534c6
--- /dev/null
+++ b/patch.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+
+import os
+import shutil
+import sys
+
+PATCHDIR = "./patch/"
+
+ADDITIONS = [
+ ("fluidsynth_inc.h", "source/build/include/fluidsynth_inc.h"),
+]
+
+REPLACEMENTS = [
+ ("GNUmakefile", "GNUmakefile"),
+ ("config.cpp", "source/duke3d/src/config.cpp"),
+ ("game.h", "source/duke3d/src/game.h"),
+ ("menus.cpp", "source/duke3d/src/menus.cpp"),
+ ("osdcmds.cpp", "source/duke3d/src/osdcmds.cpp"),
+ ("sdlmusic.cpp", "source/duke3d/src/sdlmusic.cpp"),
+]
+
+out = sys.stdout.write
+err = sys.stderr.write
+
+
+if __name__ == "__main__":
+ if len(sys.argv) != 2:
+ err("usage: {} PATH_TO_SOURCE\n".format(sys.argv[0]))
+ sys.exit(1)
+
+ source = sys.argv[1]
+
+ if not os.path.exists(source) or not os.path.isdir(source):
+ err("'{}' does not exist\n".format(source))
+ sys.exit(1)
+
+ if not os.path.exists(PATCHDIR) or not os.path.isdir(PATCHDIR):
+ err("patch directory does not exist\n".format(source))
+ sys.exit(1)
+
+ for patch, dest in ADDITIONS:
+ out("Adding {} to {}...\n".format(patch, dest))
+ shutil.copyfile(os.path.join(PATCHDIR, patch), os.path.join(source, dest))
+
+ for patch, dest in REPLACEMENTS:
+ out("Patching {}...\n".format(dest))
+ shutil.copyfile(os.path.join(PATCHDIR, patch), os.path.join(source, dest))
+
+ err("\n")
+ err("IF EDUKE32 CRASHES ON STARTUP:\n")
+ err("1) Open ~/.eduke32/settings.cfg\n")
+ err('2) Change snd_fluidsynthbackend to "4"\n')