Bei neueren N64-Emulatoren ist es mittlerweile möglich hochauflösende Texturen zu verwenden. So erstrahlen alte Klassiker in neuem Glanz. Texturen sind letztlich nichts anderes als Bitmaps welche auf die dreidimensionalen Objekte „projiziert“ werden. Die Grafik wird durch die neuen Texturen also nicht weniger eckig, doch durch die feineren Oberflächen verbessert sich der Gesamteindruck enorm.
In diesem Artikel richten wir für zwei Spiele High-Resolution-Textures für den N64-Emulator Mupen64Plus ein. Ich verwende als Betriebssystem Ubuntu (Linux), Windows-User sollten besser zu Project64 und zu dieser Anleitung greifen:
http://www.tehskeen.com/forums/showthread.php?t=738
Zuerst benötigen wir den Emulator ansich. Solange dieser nicht installiert ist, läuft gar nichts. Bei den Ubuntu-Quellen ist Mupen64Plus nicht vorhanden, also werden wir das Programm aus dem Quellcode übersetzen.
Zu diesem Zweck habe ich ein kleines Shell-Script geschrieben, welches auch unerfahrenen Benutzern ermöglicht den Emulator zu kompilieren.
(Getestet unter Ubuntu 8.10; für andere Distributionen ist eine dementsprechende Anpassung des Scripts notwendig)
Build-Script: build_mupen64plus.sh (Update: 29. März 2009)
Alternativ kann ich ein selbstgebautes DEB-Paket anbieten:
Software-Paket: mupen64plus-3%3a0.svn20090329-1-1ubuntu3_i386.deb
(SVN Build vom 29. März 2009 unter Ubuntu 8.10)
Wer doch lieber zum fertigen Installationspaket greift, kann diesen Absatz überspringen.
Um den Emulator mithilfe des Shellscripts zu installieren, speichern wir dieses unter „build_mupen.sh“ in einem neuen Verzeichnis ab und machen es ausführbar. Wer Nautilus als Dateimanager verwendet kann das unter „Eigenschaften – Zugriffsrechte – Datei als Programm ausführen“ regeln. Alternativ kann man die Zugriffrechte auch in der Konsole mit chmod +x build_mupen.sh ändern. Anschließend muss das Shell-Script im Terminal gestartet und das Root-Kennwort eingegeben werden. Da das offizielle Release leider fehlerhaft ist und beim Laden der Texturen abstürzt, greift das Script auf die aktuellere SVN-Version zurück. Wurde Mupen64Plus fertig kompiliert, fragt das Script nach ob aufgeräumt werden soll (Clean up). Diese Frage mit y beantworten um die nicht mehr benötigten Pakete zu entfernen.
Zur korrekten Ausführung der Installation ist eine Verbindung zum Internet notwendig, da ansonsten die benötigten Resourcen nicht gedownloadet werden können. Der gesamte Vorgang nimmt in etwa 3-5 Minuten in Anspruch.
Nun befindet sich im Ordner deb ein DEB-Installationspaket, welches automatisch vom Script gleich installiert wird. Es ist daher notwendig vorher alle Programme die auf die Paketverwaltung zugreifen (Synaptic, Aptitude, Apt-Get, …) zu beenden!
Danach starten wir das Programm testweise über das Terminal mit dem Befehl „mupen64plus“ und stellen unter Options – Configure … – Plugins als Input Plugin „blight’s SDL input plugin“ ein. Wenn wir schon dabei sind, überprüfen wir auch ob als Graphics Plugin auch „Rice’s Video Plugin“ angewählt ist – ohne dem läuft nämlich gar nix! Damit dieses Plugin die Texturen dann auch wirklich lädt, müssen wir unter Config die Option „Load hi-res textures if available“ anhaken. Anschließend verlassen wir das Fenster über den OK-Button und klicken dann im Konfigurationsfenster auf Anwenden und OK.
Nun sollte sich in unserem Home-Verzeichnis ein versteckter Ordner „.mupen64plus“ befinden. In diesem Verzeichnis erstellen wir einen neuen Ordner „hires_texture“. In diesen Ordner kommen anschließend die neuen Texturen.
EDIT (2009-03-29): Ich habe mir die Mühe gemacht eine deutsche Sprachdatei für Mupen64Plus anzufertigen. Diese ist bereits in meinem DEB-Paket enthalten und auch das Script bindet sie automatisch ein. Um Mupen64Plus in Deutsch verwenden zu können, muss nur noch die „mupen64plus.conf“ angepasst werden, welche in „~/.mupen64plus“ liegt. Einfach den Wert Language von English auf German umschreiben und das Programm neu starten.
Gute Texturen zu finden ist gar nicht so leicht, daher habe ich schon einmal zwei Pakete mit Texturen für meine zwei Lieblings-N64-Spiele gesucht: Ocarina of Time und Majoras Mask aus der Legend of Zelda-Reihe.
Real Hires Texture für Ocarina of Time:
Oot_Hires.7z
Real Hires Texture für Majora’s Mask:
ZELDA MAJORA’S MASK Real.zip
Werfen wir zuerst ein Auge auf die Texturen für Ocarina of Time. Das Dateiarchiv muss erst entpackt werden. 7Zip gehört nicht zum Standardrepartoire von Ubuntu, daher muss es eventuell noch über das Paket p7zip-full installiert werden. Nun entpacken wir die Datei Oot_Hires.7z und wir bekommen einen Ordner „The Legend of Zelda“. Der Ersteller der Texturen war mit Sicherheit Windows-User, denn da sind Datei- und Verzeichnisnamen nicht Case-Sensitive (kein Unterschied bei Groß- und Kleinschreibung). Deswegen müssen wir den Ordner erst in „THE LEGEND OF ZELDA“ umbenennen. Nun kann der Ordner in das vorhin erstellte Verzeichnis „hires_texture“ verschoben werden. Der Ordner mit den Texturen muss deshalb genauso heißen, weil das ROM intern so heißt. Diese interne Benennung kann man einsehen indem man in der ROM-Liste von Mupen64Plus das entsprechende ROM anwählt und über das Kontextmenü (rechte Maustaste) auf Rom Properties klickt. In der Zeile Internal Name wird man fündig.
Jetzt müssen wir Ocarina of Time nur noch starten und es sollte funktionieren. Öffnet man Mupen64Plus über die Konsole, muss beim Laden des ROMs nun zu sehen sein wie der Emulator die einzelnen Bitmaps lädt. Ist das nicht der Fall, hat man etwas falsch gemacht (möglicherweise ist als Video-Plugin nicht Rice Video ausgewählt). Natürlich beansprucht das Laden der Texturen auch etwas mehr Zeit als sonst.
Um die Texturen für Majoras Mask einzuspielen verfährt man genauso wie zuvor, nur muss hier der Ordner mit den Texturen nach dem Entpacken nicht mehr umbenannt werden (Der richtige Ordner liegt innerhalb von „ZELDA MAJORA’S MASK Real“!)
Da Mupen64Plus beim Laden bestimmter Bitmaps immer abstürzt, sollten diese vor Gebrauch noch mit optipng „repariert“ werden. Dazu müssen folgende Befehle ausgeführt werden, nachdem die Texturen in das richtige Verzeichnis kopiert wurden:
sudo aptitude install optipng
cd "$HOME/.mupen64plus/hires_texture/ZELDA MAJORA'S MASK/005-Lune"
optipng *.png
Bedauerlicherweise sieht die Schrift bei diesem Texturenpaket ziemlich ärmlich aus und unterstützt auch keine Umlaute und andere Sonderzeichen wie „ß“. Daher ist es empfehlenswert stattdessen die Schrift-Texturen aus dem Texturenpaket für Ocarina of Time zu verwenden. Sind beide Texturenordner korrekt eingerichtet, erledigt dieses kleine Shellscript den Rest:
#!/bin/bash
IFS="
"
source="$HOME/.mupen64plus/hires_texture/THE LEGEND OF ZELDA/Pack One/Text"
cd "$HOME/.mupen64plus/hires_texture/ZELDA MAJORA'S MASK/001- Dialogue Tiles"
copy_and_rename() {
rm -v "$2"/*
cp -v "$source/$1/"THE\ LEGEND\ OF\ ZELDA*.png "$2"
for file in $(ls "$2"); do
mv -v "$2/$file" "$2/`echo $file | sed s/THE\ LEGEND\ OF\ ZELDA/ZELDA\ MAJORA\'S\ MASK/g`"
done
}
copy_and_rename "Buttons - Incomplete - Needs name" "Buttons"
copy_and_rename "Capitals - Complete" "Capitals"
copy_and_rename "Lowercase - Complete" "Lowercase"
copy_and_rename "Numerals - Complete" "Numerals"
copy_and_rename "Punctuation - Complete" "Punctuation"
Wer Texturen für andere Spiele sucht sollte sich mal hier umschauen:
http://www.emutalk.net/showthread.php?t=42231
http://www.coolrom.com/forums/showpost.php?p=118328&postcount=19
Games, Software emu, emulator, high, hires, howto, majora, majoras mask, mupen64, n64, nintendo, nintendo64, ocarina of time, resolution, rom, textures, tut, tutorial, zelda