GithubHelp home page GithubHelp logo

bloxxel64 / sm64linuxlauncher-legacy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from superpou1/sm64pclauncher

27.0 5.0 5.0 120 KB

A launcher for Super Mario 64 PC Port on Linux. I felt that the original sm64pclauncher was too bland and outdated. this project will be updated to hopefully support easier setup and installation of patches.

Python 100.00%

sm64linuxlauncher-legacy's Introduction

SM64LinuxLauncher-Legacy

A launcher for the Super Mario 64 PC Port. Based off of sm64pclauncher.

NOTICE!

As of 4/18/24, this repo is reaching it's end-of life. The codebase for the launcher has gotten too out of hand, and tk/tkinter + PySimpleGUI, the window and GUI libraries, are just not very great. I will hopefully be starting work on a full remake coded in Python or C++ using qt or gnome builder instead of tkinter and PySGUI. In the meantime, i will try to resolve any misc issues that have arisen. Please understand, Hai.

NOTICE 2!

As of today, 6/17/24. This repo is archived and no longer receiving commits, the updated version of SM64LL will be available sometime this year at https://github.com/Bloxxel64/SM64LinuxLauncher. Thanks to everyone who has used, starred, and contributed to this software. :3

screenshot

also the script will mostly not work due to "externally-managed-environment" error, this can be fixed by either installing the native packages of the libraries used, or by using virtual environment (require some extra work)

GNU/Linux installation

Using the Install Script

  1. Install git if you have not already:
  • sudo apt-get install git on Debian/Ubuntu based systems,
  • sudo pacman -S git on arch based systems, or
  1. Clone the repo using this command: git clone https://github.com/Bloxxel64/SM64LinuxLauncher.

  2. Run this command to ensure the file can be executed: chmod +x setup.py.

  3. Run the setup.sh file by double-clicking it or running python3 setup.py in your terminal. Enter your password, and the script will install depedencies for both SM64LL and SM64 PC Port, and finall place the SM64LinuxLauncher directory in your home/username folder.

  4. Open the directory in the terminal or file explorer, if you open it in terminal run python3 launcher.py. If you run it from your file explorer, just double-click it.

Manually Installing Dependencies

If you should encounter errors while using the application, there may be an uninstalled dependency. Use the following commands to install all depends:

Debian-Based Distros:
sudo apt install python3 python3-pip python3-tk libsdl2-dev gcc-mips-linux-gnu make
pip3 install pysimplegui
pip3 install tk

Arch-Based Distros/SteamOS:

TBW, i know nothing about arch nor steamos ๐Ÿ˜ฟ.

Supported Distros

  • apt Based Distros (Ubuntu, Debian, Mint, etc.)
  • pacman Based Distros (EndeavourOS, Arch, Artix, Arco, Manjaro, etc.)

Windows installation

This repo is focused on Linux. yould be better off using SM64Builder2 or SM64NXBuilder, you can also use the original sm64pclauncher, but it's not recommended.

Usage

Running on Linux

Type python3 launcher.py into your terminal (you must be in the root launcher directory), or doubleclick launcher.py.

Using it

To build a new instance of sm64pc, press "Build". To play an existing build, select a build from the buildlist and click "Play".

How to build

  • In the drop down menu, select a repo. and in the box next to it type the branch.
  • In the second box, type any name you want for your repo folder. it will display like that in the launcher build selection.
  • In the other two boxes you can specify modelpack and texture pack folder. Note: when you browse for the folder, you have to be in this folder to select it.
  • Click "Ok". it will freeze for a while this is because it is downloading the repo.
  • Click "Browse" and find your Super Mario 64 rom. Click "Ok"
  • Specify the build flags, you can find which build flags are avaible for your repo by checking the makefile or checking your repo's wiki if it exists. Optionally, you can add a -j argument to set how many simoultaneous build jobs can be done at one time. The guideline is one job for one core and 2GB of ram. Example: -j4 for a quad-core processor with 8GB of RAM.
  • Click "Build". Now wait patiently for the build to finish. When it finishes, game should lauch shortly after. If you see a text box and the game does not launch for like 2 minutes, it means that your build failed. delete the repo folder and try to build again. If the game launches, it is ok. When you restart the launcher, it should show the new build on the list.

Launcher Shortcut

If you want a shortcut to the laucher, you can do this by making a file called sm64launcher.desktop in /home/username/.local/share/applications/ containing the following:

[Desktop Entry]
Name=SM64LinuxLauncher  
Type=Application
Exec=path/into/sm64linuxlauncher/launcher.py
Categories=Game;  

sm64linuxlauncher-legacy's People

Contributors

superpou1 avatar bloxxel64 avatar crezydud avatar tulpenkiste avatar darandomcube avatar bs2kbs2k avatar

Stargazers

Shayne Fortier avatar  avatar netwaps avatar  avatar Hayden Atchley avatar  avatar  avatar Mathias Wolfbrok avatar  avatar David Bosomworth avatar  avatar nous avatar axyie avatar Larson T. avatar hashalon avatar Pedro Gallacio avatar Rain avatar  avatar ezntek avatar  avatar  avatar Rangel Alvarado avatar  avatar  avatar Faizu avatar  avatar Sumimi~ avatar

Watchers

 avatar  avatar ezntek avatar  avatar  avatar

sm64linuxlauncher-legacy's Issues

Module not found error

"Traceback (most recent call last):
File "/home/MyName/SM64LinuxLauncher/./setup.py", line 5, in <module>
from pip._internal import main as pip_main
ModuleNotFoundError: No module named 'pip'"
When trying to use setup.py

README Update

You should add instead of installing just git, you need to add tk. The launcher wouldn't work for me until I installed it. sudo pacman -S tk im unsure what it is for ubuntu and other distros

Weird failure?

Would always fail to build until I renamed the rom to "baserom.us.z64".
Manjaro Linux

no PySympleGUI

Doing python3 launcher.py in the src dir does this

Traceback (most recent call last): File "builder.py", line 4, in <module> import PySimpleGUI as sg ModuleNotFoundError: No module named 'PySimpleGUI'

What's going on? am I missing a module or is there an issue?

No builds

The title is pretty self-explanatory, the build list contains no builds.
image

Clicking the "Build" button results in this:
`Traceback (most recent call last):
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 73, in
main()
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 51, in main
values['buildlist'][0] # load the builds
~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 75, in
import builder
File "/home/malo/SM64LinuxLauncher/src/builder.py", line 28
'sm64coopdx-dev,
^
SyntaxError: unterminated string literal (detected at line 28)
malo@legion5malo:~/SM64LinuxLauncher/src$ python3 /home/malo/SM64LinuxLauncher/src/launcher.py
Traceback (most recent call last):
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 73, in
main()
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 51, in main
values['buildlist'][0] # load the builds
~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/malo/SM64LinuxLauncher/src/launcher.py", line 75, in
import builder
File "/home/malo/SM64LinuxLauncher/src/builder.py", line 28
'sm64coopdx-dev,
^
SyntaxError: unterminated string literal (detected at line 28)`
This is probably because my builds.txt is empty, so no builds :(

IndexError: list index out of range

soo, i clicked build and it gives me this whole shpiel:
Traceback (most recent call last): File "/home/usr/sm64linlaunch/src/./launcher.py", line 74, in <module> main() File "/home/usr/sm64linlaunch/src/./launcher.py", line 51, in main values['buildlist'][0] # load the builds IndexError: list index out of range
what's going on???

Error Setup SteamOS

Traceback (most recent call last):
File "/home/deck/.SM64-Launcher/setup.py", line 5, in
from pip._internal import main as pip_main
ModuleNotFoundError: No module named 'pip'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.