TheXTech/de

TheXTech ist eine in C++ geschriebene Jump ’n’ Run Engine, und eine vollständige Portierung des ursprünglich in Visual Basic 6 geschriebenem SMBX 1.3. Es wurde einen Monat nach der Veröffentlichung des originalen SMBX Quellcodes von Wohlstand zu zwei Zwecken erstellt: Eine freie, quelloffene, plattformunabhängige und akkurate Implementierung der SMBX Engine für das Spielen älterer Level und Episoden bereitzustellen, und ein bequemeres Forschungsmodell für die PGE Engine zu erhalten.

Versionsgeschichte
Die Entwicklung von TheXTech begann eine Woche nachdem der SMBX Quellcode öffentlich wurde. Die Versionsnummer beginnt bei 1.3 in Anlehnung an die originale SMBX Engine.

1.3
Eine erste funktionierende jedoch fehlerhafte Kompilierung wurde 2 Wochen nach der Öffnung und Erforschung des SMBX Quellcodes entwickelt. Später wurde es für die Version 1.3.1 debuggt. Die Entwicklung fand im Geheimen statt, weil es eine Überraschung für die Community werden sollte.

1.3.1
Erste öffentliche Version vom 14. März, 2020.

1.3.2
Upgrade vom 26. April, 2020. Behebt Bugs und führt einige Verbesserungen ein. Testen von Levels mit dem PGE Editor ist nun möglich.

1.3.2.1
Upgrade vom 12. Juli, 2020. Diese Version behebt einige Fehler beim Software-Rendering, erweitert die Unterstützung für Kontroller und fügt eine Lösung für Dateisysteme mit beachteter Groß-/Kleinschreibung hinzu, um Störungen bei einigen Episoden zu beheben.

1.3.2.2
Upgrade vom 18. Juli 2020. Behebt fehlerhafte Größenanpassung von benutzerdefinierten Effekten: Grafiken sollten jede beliebige Größe haben können, sofern sie die gleiche Anzahl von Frames wie das Original haben.

Unterschiede zum Original
Das Spiel stellt zwar eine akkurate Portierung des Originals da, bietet jedoch eine Verbesserungen:


 * Es ist in C++ geschrieben, während das Original auf dem proprietären und obsoletem VB6 aufbaut.
 * Es gibt keinen Editor. Stattdessen gibt es seit Version 1.3.2 eine tiefe Integration mit dem PGE Editor, welcher über die selbe Funktionalität wie das Original verfügt. (Die "magische Hand"-Funktion wurde beibehalten, um eine Echtzeit-Bearbeitung des Levels während des Tests zu ermöglichen.)
 * Volle Unterstützung von UTF-8 in Dateinamenspfaden und internen Textdaten (das Originalspiel hatte nur 8-Bit-ANSI-Unterstützung).
 * Für Grafiken und Steuerung verwendet es eine SDL2-Bibliothek, während das Originalspiel WinAPI-Aufrufe und die GDI-Bibliothek verwendet hat.
 * Es wird PGE-FL verwendet, das eine bessere Unterstützung von Dateiformaten bietet.
 * Eine Unterstützung für WLDX-Weltkarten ermöglicht einen unbegrenzten Abspann und benutzerdefinierte Musik, ohne dass eine music.ini Datei verwendet werden muss.
 * Einige LVLX-exklusive Funktionen wie :
 * "vertical section wrap"
 * "two-way warps"
 * "custom 'star needed' message"
 * "warp enter event"
 * "ability to disable stars printing in HUB episodes for specific doors"
 * "ability to disable interscene showing when going to another level through a warp"
 * Eingebaute Unterstützung für Episoden- und Levelweite music.ini und sounds.ini, um Standard-Musik und Sound-Effekte zu ersetzen.
 * Weltkarten unterstützen jetzt ein benutzerdefiniertes Verzeichnis, um alle spezifischen Ressourcen wie benutzerdefinierte Tiles/Szenen/Pfade/Level zu speichern und den Episoden-Stammordner nicht länger mit Weltkartenressourcen zu überfüllen.
 * Das Standardkonfigurationsformat ist INI; das alte config.dat-Format wird aufgrund inkompatibler Schlüsselcodewerte nicht mehr unterstützt.
 * Spielstände werden jetzt im SAVX-Format anstelle einer klassischen SAV-Datei gespeichert. Ältere Spielstände können mit der neuen Engine fortgesetzt werden. Beim erneuten Speichern wird eine SAVX-Datei erstellt, der alte Spielstand im SAV-Format bleibt unberüht.
 * Eingebaute PNG-Unterstützung. Es besteht weiterhin eine Abwärtskompatibilität zu maskierten GIFs (die anders als bei SMBX-38A zu keiner unerwarteten Auto-Konvertierung führt).
 * Checkpoints können nun mehrere male verwendet werden.
 * Es verwendet einen Lazy-Decompress-Algorithmus, um Ladezeiten zu beschleunigen und den RAM-Verbrauch zu reduzieren.
 * Für Musik und SFX wird die MixerX-Bibliothek verwendet, welche Unterstützung für eine große Anzahl von Ton- und Musikformaten bietet.
 * Es werden keine Grafiken eingebettet: es gibt keine hart-kodierten Grafiken, alles wird durch externe Grafiken dargestellt.
 * Einige interne Grenzen wurden erweitert.
 * Eingebaute GIF-Aufnahme durch F11-Taste (F10 auf MacOS, F11 ist von der Benutzeroberfläche für eine "Show-Desktop"-Funktion reserviert).
 * Seit 1.3.2 ist maximale Abschnittsbegrenzung bis auf 201 erweitert.
 * Seit 1.3.2 ist Grenze von 20 Einträgen für Layer-Listen zum Ein-/Ausblenden/Wechseln entfernt.

Siehe auch

 * New Super Mario Bros. X

Links

 * Offizieller Forum Post
 * Erste Ankündigung
 * Eine Video Vorstellung