Recherche de site Web

Comment construire Super Mario 64 en natif sur Linux


Super Mario n’a pas besoin de présentations : c’est l’un des personnages de jeux vidéo les plus appréciés. Super Mario 64 est sorti à l’origine sur la console Nintendo64 en 1996 et représentait le premier épisode 3D de la franchise Mario. Grâce à un projet github, qui a permis de décompiler complètement le jeu, il est désormais possible de construire un portage Linux natif et d’y jouer sans avoir besoin d’un émulateur Nintendo64. Afin de compiler le portage, une rom originale et légalement obtenue « .z64 » du jeu est nécessaire.

Dans ce tutoriel, nous voyons comment compiler et lancer le portage Linux de Super Mario 64 sur certaines des distributions les plus utilisées.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer le logiciel nécessaire à la compilation de Super Mario 64 sur les distributions Linux les plus utilisées
  • Comment construire et lancer le port

Installation des dépendances de build

La première chose que nous devons faire pour construire le portage Linux de Super Mario 64 est d’installer les dépendances de construction. Les paquets que nous devons installer varient en fonction de la distribution que nous utilisons. Sur Fedora, nous pouvons installer les dépendances en exécutant la commande suivante :

sudo dnf install git \
  libXrandr-devel \
  alsa-lib-devel \
  pulseaudio-libs-devel \
  python3 \
  make \
  gcc \
  g++ \
  libusb-devel \
  SDL2-devel \
  util-linux

Sur Ubuntu, à la place, nous pouvons utiliser apt-get pour acquérir le logiciel nécessaire :

sudo apt-get update && sudo apt-get install git \
  build-essential \
  libusb-1.0-0-dev \
  libsdl2-dev \
  libc6-dev \
  bsdmainutils \
  python3

Pour construire le jeu sur Archlinux, nous devons installer les paquets suivants avec pacman :

sudo pacman -Sy git \
  base-devel \
  python3 \
  sdl2 \
  xorg-xrandr \
  alsa-lib \
  pulseaudio

Clonage du référentiel

Une fois que nous avons installé les dépendances nécessaires, nous pouvons cloner le dépôt github qui héberge le code. La commande ci-dessous clone le dépôt distant à l’intérieur du répertoire sm64-port :

git clone https://github.com/sm64-port/sm64-port

Nous devons maintenant déplacer la rom « .z64 » obtenue légalement de Super Mario 64 dans le répertoire repo, en la renommant en baserom. version}.z64 où « {version} » est la version régionale du jeu : « US », « EU » ou « JP ». Ici, nous supposons que la version « us » de la rom se trouve dans notre répertoire HOME :

mv ~/SuperMario64.z64 sm64-port/baserom.us.z64

Construire le jeu

L’étape suivante consiste à entrer dans le répertoire du référentiel et à commencer à construire le jeu à l’aide de make, en fournissant éventuellement l’option -j, qui peut être utilisée pour spécifier combien de tâches doivent s’exécuter simultanément :

cd sm64-port && make -j4

Dès que nous lançons la commande, le processus de compilation devrait commencer, il suffit d’attendre qu’il se termine :

==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...
Preprocessing level make rules: levels/level_rules.mk -> build/us_pc/level_rules.mk
==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...

Si le processus se termine sans erreur, nous devrions trouver l’exécutable du jeu créé dans le répertoire build/{version}_pc à l’intérieur du dépôt. Dans ce cas, pour le lancer, on peut simplement exécuter :

./build/us_pc/sm64.us

Si tout se passe comme prévu, nous devrions voir le jeu dans toute sa splendeur :

Conclusions

Dans ce tutoriel, nous avons vu comment construire un portage natif de Super Mario 64 sur Linux : nous avons vu comment installer les dépendances nécessaires, comment cloner le dépôt hébergeant le code, et comment effectuer réellement la construction. Le processus de compilation décrit dans cet article nécessite une rom Super Mario 64 « .z64 » existante pour récupérer les ressources du jeu : vous ne devez l’utiliser que si vous êtes en mesure de l’obtenir légalement.

Articles connexes: