commit
d723f80592
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -1,3 +1,3 @@
|
|||
am2r_15_2/
|
||||
ARCHIVE-am2r_15_2/
|
||||
AM2R_11.zip
|
||||
am2r_*/
|
||||
ARCHIVE-am2r_*/
|
||||
AM2R_11.zip
|
||||
|
|
15
README.md
15
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.
|
||||
|
||||
|
|
Binary file not shown.
BIN
data/AM2R.AppDir/AppRun-game
Executable file
BIN
data/AM2R.AppDir/AppRun-game
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
|
|
42
patcher.py
42
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!")
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue