diff --git a/.gitignore b/.gitignore index cac3be6..262b39e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -am2r_15_2/ -ARCHIVE-am2r_15_2/ -AM2R_11.zip \ No newline at end of file +am2r_*/ +ARCHIVE-am2r_*/ +AM2R_11.zip diff --git a/README.md b/README.md index 946bac8..c47dd9a 100644 --- a/README.md +++ b/README.md @@ -47,21 +47,6 @@ Navigate to the newly created folder. If you have other questions/issues, please open an issue, post to [r/AM2R](https://www.reddit.com/r/AM2R/), or join the [Official AM2R Discord Server](https://discord.gg/YTQnkAJ). -## AppImage crashes -Currently all GPUs have known problems when starting the AppImage. For all of these, please make sure you installed the 32-bit GPU drivers beforehand. - -### NVIDIA -For Nvidia, you need `LD_PRELOAD` pointing to your 32-bit drivers. -For Ubuntu-based distros this looks like this: `LD_PRELOAD=/usr/lib/i386-linux-gnu/libGL.so.1`, for Arch-based distros it looks like this: `LD_PRELOAD=/usr/lib32/libGL.so`. It will likely be different for other distros. - -### AMD -AMD crashes on VM Game Maker: Studio builds. This is true for everything before 1.5 and after 1.5.3 as well as most mods. -You'll need to try each one of these, individually, in order until one works: `R600_DEBUG=mono`, `R600_DEBUG=vs.ps`, `radeonsi_sync_compile=true`, `R600_DEBUG=check_vm`. -We can't immediately tell which is needed for a given AMD card; these are sorted by performance. - -### Intel -Intel crashes on Ubuntu-based distros. `LIBGL_DRI3_DISABLE=1` circumvents it. - ## Android installation instructions You will need an Android device with a file explorer application installed, and a USB cable to connect said device to your computer. diff --git a/data/AM2R.AppDir/AppRun b/data/AM2R.AppDir/AppRun index a3bf49a..679b52a 100755 Binary files a/data/AM2R.AppDir/AppRun and b/data/AM2R.AppDir/AppRun differ diff --git a/data/AM2R.AppDir/AppRun-game b/data/AM2R.AppDir/AppRun-game new file mode 100755 index 0000000..a3bf49a Binary files /dev/null and b/data/AM2R.AppDir/AppRun-game differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/i915_dri.so b/data/AM2R.AppDir/usr/lib32/dri/i915_dri.so deleted file mode 100644 index c2e893a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/i915_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/i965_dri.so b/data/AM2R.AppDir/usr/lib32/dri/i965_dri.so deleted file mode 100644 index c2e893a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/i965_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/kms_swrast_dri.so b/data/AM2R.AppDir/usr/lib32/dri/kms_swrast_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/kms_swrast_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/nouveau_dri.so b/data/AM2R.AppDir/usr/lib32/dri/nouveau_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/nouveau_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/nouveau_vieux_dri.so b/data/AM2R.AppDir/usr/lib32/dri/nouveau_vieux_dri.so deleted file mode 100644 index c2e893a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/nouveau_vieux_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/r200_dri.so b/data/AM2R.AppDir/usr/lib32/dri/r200_dri.so deleted file mode 100644 index c2e893a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/r200_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/r300_dri.so b/data/AM2R.AppDir/usr/lib32/dri/r300_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/r300_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/r600_dri.so b/data/AM2R.AppDir/usr/lib32/dri/r600_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/r600_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/radeon_dri.so b/data/AM2R.AppDir/usr/lib32/dri/radeon_dri.so deleted file mode 100644 index c2e893a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/radeon_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/radeonsi_dri.so b/data/AM2R.AppDir/usr/lib32/dri/radeonsi_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/radeonsi_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/swrast_dri.so b/data/AM2R.AppDir/usr/lib32/dri/swrast_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/swrast_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/virtio_gpu_dri.so b/data/AM2R.AppDir/usr/lib32/dri/virtio_gpu_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/virtio_gpu_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/dri/vmwgfx_dri.so b/data/AM2R.AppDir/usr/lib32/dri/vmwgfx_dri.so deleted file mode 100644 index d9e3849..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/dri/vmwgfx_dri.so and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libGL.so.1 b/data/AM2R.AppDir/usr/lib32/libGL.so.1 deleted file mode 100644 index fcba81e..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libGL.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libLLVM-6.0.so.1 b/data/AM2R.AppDir/usr/lib32/libLLVM-6.0.so.1 deleted file mode 100644 index eae3b7c..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libLLVM-6.0.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libX11-xcb.so.1 b/data/AM2R.AppDir/usr/lib32/libX11-xcb.so.1 deleted file mode 100644 index 6c28fb0..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libX11-xcb.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libX11.so.6 b/data/AM2R.AppDir/usr/lib32/libX11.so.6 deleted file mode 100644 index 04235d3..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libX11.so.6 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libXau.so.6 b/data/AM2R.AppDir/usr/lib32/libXau.so.6 deleted file mode 100644 index 42b6b2c..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libXau.so.6 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libXdamage.so.1 b/data/AM2R.AppDir/usr/lib32/libXdamage.so.1 deleted file mode 100644 index 9308484..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libXdamage.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libXdmcp.so.6 b/data/AM2R.AppDir/usr/lib32/libXdmcp.so.6 deleted file mode 100644 index b5aee3e..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libXdmcp.so.6 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libdrm.so.2 b/data/AM2R.AppDir/usr/lib32/libdrm.so.2 deleted file mode 100644 index eca92e9..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libdrm.so.2 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libdrm_amdgpu.so.1 b/data/AM2R.AppDir/usr/lib32/libdrm_amdgpu.so.1 deleted file mode 100644 index 353047a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libdrm_amdgpu.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libdrm_intel.so.1 b/data/AM2R.AppDir/usr/lib32/libdrm_intel.so.1 deleted file mode 100644 index c1df01c..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libdrm_intel.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libdrm_nouveau.so.2 b/data/AM2R.AppDir/usr/lib32/libdrm_nouveau.so.2 deleted file mode 100644 index 4c7c12a..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libdrm_nouveau.so.2 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libdrm_radeon.so.1 b/data/AM2R.AppDir/usr/lib32/libdrm_radeon.so.1 deleted file mode 100644 index 6772495..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libdrm_radeon.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libglapi.so.0 b/data/AM2R.AppDir/usr/lib32/libglapi.so.0 deleted file mode 100644 index 8060483..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libglapi.so.0 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb-dri2.so.0 b/data/AM2R.AppDir/usr/lib32/libxcb-dri2.so.0 deleted file mode 100644 index 744e708..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb-dri2.so.0 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb-dri3.so.0 b/data/AM2R.AppDir/usr/lib32/libxcb-dri3.so.0 deleted file mode 100644 index a6ebf47..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb-dri3.so.0 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb-glx.so.0 b/data/AM2R.AppDir/usr/lib32/libxcb-glx.so.0 deleted file mode 100644 index 0ebfeb1..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb-glx.so.0 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb-present.so.0 b/data/AM2R.AppDir/usr/lib32/libxcb-present.so.0 deleted file mode 100644 index d8b2f99..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb-present.so.0 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb-sync.so.1 b/data/AM2R.AppDir/usr/lib32/libxcb-sync.so.1 deleted file mode 100644 index 167f7a3..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb-sync.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxcb.so.1 b/data/AM2R.AppDir/usr/lib32/libxcb.so.1 deleted file mode 100644 index 0621252..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxcb.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/lib32/libxshmfence.so.1 b/data/AM2R.AppDir/usr/lib32/libxshmfence.so.1 deleted file mode 100644 index d2a84c8..0000000 Binary files a/data/AM2R.AppDir/usr/lib32/libxshmfence.so.1 and /dev/null differ diff --git a/data/AM2R.AppDir/usr/share/applications/AM2R.desktop b/data/AM2R.AppDir/usr/share/applications/AM2R.desktop index 1349859..ea8a6ec 100755 --- a/data/AM2R.AppDir/usr/share/applications/AM2R.desktop +++ b/data/AM2R.AppDir/usr/share/applications/AM2R.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Categories=Game; Comment=Another Metroid 2 Remake (Community Edition) -Exec=AM2R +Exec=runner Icon=icon Name=AM2R Type=Application diff --git a/patcher.py b/patcher.py index 348f4c1..22544b5 100644 --- a/patcher.py +++ b/patcher.py @@ -81,7 +81,7 @@ if (type == '1'): print("Linux selected.\nApplying AM2R patch...") # apply AM2R.bps # subprocess.call(['utilities/floating/./flips-linux', '-a', 'data/AM2R.bps', output+'/AM2R.exe', output+'/AM2R']) - subprocess.call(['xdelta3', '-dfs', output+'/AM2R.exe', 'data/AM2R.xdelta', output+'/AM2R']) + subprocess.call(['xdelta3', '-dfs', output+'/AM2R.exe', 'data/AM2R.xdelta', output+'/runner']) print("\nApplying data patch...") # apply game.unx patch @@ -131,11 +131,11 @@ if (type == '1'): rmtree(output+'/lang') #make game executable - subprocess.call(["chmod", "+x", output+"/AM2R"]) + subprocess.call(["chmod", "+x", output+"/runner"]) #create AppImage print("Creating Appimage...") - copytree("data/AM2R.AppDir", "AM2R.AppDir") + copytree("data/AM2R.AppDir", "AM2R.AppDir", symlinks=True) subprocess.call(["cp", "-rpT", output , "AM2R.AppDir/usr/bin"]) fd = os.open("/dev/null", os.O_WRONLY) savefd = os.dup(2) @@ -150,28 +150,7 @@ if (type == '1'): mkdir(output) move("AM2R.AppImage", output+"/AM2R.AppImage") copy("data/files_to_copy/icon.png", output+"/icon.png") - - - #check if current OS is a fork of Debian - isDebianFork = 0 - catOutput = subprocess.check_output(("cat", "/etc/os-release")) - catOutput = str(catOutput) - grep = "ID_LIKE=debian" - isDebianFork = catOutput.find(grep) >= 0 - - #if not debian, check for ubuntu instead - if(not isDebianFork): - grep = "ID_LIKE=ubuntu" - isDebianFork = catOutput.find(grep) >= 0 - - #cehck if current OS uses intel as gpu - isIntelGPU = 0 - lspciOutput = subprocess.check_output(("lspci")) - lspciOutput = str(catOutput) - grep = "VGA compatible controller: Intel" - isIntelGPU = lspciOutput.find(grep) >= 0 - - + print("\nDo you want to install AM2R systemwide?\n\n[y/n]\n") inp = getch() @@ -189,9 +168,6 @@ if (type == '1'): fileContents = template.read() fileContents = fileContents.replace("[REPLACE]", "/usr/local/bin/am2r") - if( isDebianFork and isIntelGPU): - fileContents = fileContents.replace("Exec=", "Exec=LIBGL_DRI3_DISABLE=1 ") - desktopFile = open(output+"/AM2R.desktop", "w+") desktopFile.seek(0) desktopFile.write(fileContents) @@ -207,9 +183,6 @@ if (type == '1'): fileContents = desktopFile.read() fileContents = fileContents.replace("[REPLACE]", cwd+"/"+output) - if( isDebianFork and isIntelGPU): - fileContents = fileContents.replace("Exec=", "Exec=LIBGL_DRI3_DISABLE=1 ") - desktopFile.seek(0) desktopFile.write(fileContents) #make the desktopFile executable. For some reason, this is not *necessary*, when copying it into /applications. @@ -218,10 +191,6 @@ if (type == '1'): print("Desktop file has been created!") - if( isDebianFork and isIntelGPU): - print("It has been detected, that you're running a fork of Debian along with an Intel GPU. Please use the provided .desktop File in order to launch the game.") - print("Ignore this message, if you installed AM2R systemwide") - elif (type == '2'): print("Android selected.\nApplying data patch...") # To be completely honest I don't know why I made the Android patch work like this. @@ -300,6 +269,3 @@ else: print("\nThe operation was completed successfully. See you next mission!") - - -