====== How to Hack Metroid on Linux ======
Requires wine 10.x and winetricks.
===== Metroid (1986): Editroid =====
- Download and Extract [[https://metroidconstruction.com/resource.php?id=1|Editroid]]
- creating separate wine prefixes is ideal. create an editroid wine prefix: ''WINEPREFIX=~/.wine_editroid winecfg''
- save this shell script next to Editroid.exe:
#!/bin/bash
WINEPREFIX=~/.wine_editroid ./Editroid.exe
give the script execution permissions so you can just double-click/hit enter to run it:\\
''chmod +x run_editroid.sh''\\
from now on, use the shell script to launch Editroid, because this will use the correct Editroid wine prefix. If you try to run the EXE directly, it will use the default wine prefix, which is a no-no.
===== Metroid II: LAMP =====
[[https://metroidconstruction.com/resource.php?id=584|Download and Extract LAMP]]. for best results grab [[https://github.com/LAMP-Platform/LAMP/releases/download/Beta/LAMP.32bit.exe|LAMP 32-bit]] (x86), since 64-bit wine is still experimental\\
Next, either use the helper script, or follow the steps below
==== LAMP Helper Script ====
#!/bin/bash
BITS=64
WINEPREFIX=~/.wine_lamp
export WINEPREFIX
# create wine prefix if it doesn't exist
if [ ! -e "$WINEPREFIX" ]; then
wine hostname
fi
cd $WINEPREFIX
if [ "$BITS" = "64" ]; then
export WINEARCH=win64
# download LAMP and the .NET 6 runtime if we don't have them already
if [ ! -f "$WINEPREFIX/LAMP.64bit.exe" ]; then
wget https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/6.0.36/windowsdesktop-runtime-6.0.36-win-x64.exe
wine windowsdesktop-runtime-6.0.36-win-x64.exe
wget https://github.com/LAMP-Platform/LAMP/releases/download/Beta/LAMP.64bit.exe
fi
# launch LAMP
wine LAMP.64bit.exe $@
else
# download LAMP and the .NET 6 runtime if we don't have them already
if [ ! -f "$WINEPREFIX/LAMP.32bit.exe" ]; then
wget https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/6.0.36/windowsdesktop-runtime-6.0.36-win-x86.exe
wine windowsdesktop-runtime-6.0.36-win-x86.exe
wget https://github.com/LAMP-Platform/LAMP/releases/download/Beta/LAMP.32bit.exe
fi
# launch LAMP
wine LAMP.32bit.exe $@
fi
==== 32-bit LAMP ====
- creating separate wine prefixes is ideal. create a wine prefix for LAMP: ''WINEPREFIX=~/.wine_lamp winecfg''
- install .NET 6.0 Desktop Runtime with your LAMP wine prefix: ''WINEPREFIX=~/.wine_lamp winetricks dotnetdesktop6''
- save this shell script next to LAMP.32bit.exe:
#!/bin/bash
WINEPREFIX=~/.wine_lamp ./LAMP.32bit.exe
give the script execution permissions so you can just double-click/hit enter to run it:\\
''chmod +x run_lamp.sh''\\
from now on, use the shell script to launch LAMP, because this will use the correct LAMP wine prefix. If you try to run the EXE directly, it will use the default wine prefix, which is a no-no
==== 64-bit LAMP ====
- [[https://github.com/LAMP-Platform/LAMP/releases/download/Beta/LAMP.64bit.exe|64-bit LAMP]]
- ''WINEARCH=win64 WINEPREFIX=~/.wine64_lamp winecfg''
- ''WINEARCH=win64 WINEPREFIX=~/.wine64_lamp winetricks dotnetdesktop6''
-
#!/bin/bash
WINEARCH=win64 WINEPREFIX=~/.wine64_lamp ./LAMP.64bit.exe
===== Super Metroid: SMART =====
okay i'm gonna need some real deal hackers to stress test this but i'll whip together what i've done to reach this point.
Download [[https://edit-sm.art/download.html|SMART]].\\
(optional) [[http://sadiztyk.metroidconstruction.com/RF/SMILE%20RF.zip|SMILE RF]]\\
(optional) [[https://github.com/RPGHacker/asar/releases/download/v1.91/asar191.zip|ASAR]]
- extract SMART: ''bsdtar -x -v -f SMART.1.19.9228.42504.zip''
- creating separate wine prefixes is ideal. Create a SMART wineprefix: ''WINEPREFIX=~/.wine_smart winecfg''
- SMART uses some iteration of .NET 4. Install .NET 4.8 runtime to your SMART wine prefix: ''WINEPREFIX=~/.wine_smart winetricks dotnet48''
- (Optional) install VB6 to your SMART wineprefix for smile RF support. ''WINEPREFIX=~/.wine_smart winetricks vb6run''
- using a text editor, create a shell script (*.sh) to launch SMART. save it in the same directory as SMART.
#!/bin/bash
WINEPREFIX=~/.wine_smart ./SMART.exe
give the shell script execution permissions so you can just double-click/hit enter to run it:\\
''chmod +x run_smart.sh''\\
from now on, use the shell script to launch SMART, because this will use the correct SMART wine prefix. If you try to run the EXE directly, it will use the default wine prefix, which is a no-no
===== GBATroids: MAGE Themes =====
- Download and Extract [[https://nightly.link/ConConner/MAGE-Themes/workflows/build/QOL-Improvements/MAGEThemes.zip|MAGE Themes]].
- creating separate wine prefixes is ideal. mage themes is 64-bit. make a 64 bit wineprefix: ''WINEARCH=win64 WINEPREFIX=~/.wine64_mage winecfg''
- install .net 6 runtime stuff: ''WINEARCH=win64 WINEPREFIX=~/.wine64_mage winetricks dotnetdesktop6''
- obtain the microsoft sans serif font {{0:micross.zip|micross.ttf}}, extract, and put it in your 64 bit wineprefix's fonts folder (drive_c/windows/fonts)
- create a shell script that sets the proper wineprefix and 64-bit for launching mage:
#!/bin/bash
WINEARCH=win64 WINEPREFIX=~/.wine64_mage ./mage.exe
give the shell script execution permissions so you can just double-click/hit enter to run it:\\
''chmod +x run_mage.sh''\\
from now on, use the shell script to launch MAGE, because this will use the correct MAGE wine prefix. If you try to run the EXE directly, it will use the default wine prefix, which is a no-no