|Initial release:||March 14, 2020,|
as version 1.3.1
|Latest version:||1.3.6 (released 2022-09-13)|
|End of life:|
|Code model:||Open Source|
|License:||GPLv3 (since 184.108.40.206)|
MIT (up to 220.127.116.11)
TheXTech - it's a platform game engine written in C++, is a full port of source code of SMBX 1.3 which was originally written in Visual Basic 6. Created by Wohlstand after one month since original SMBX source code was been released for two purposes: providing a free and open-source, cross-platform and accurate implementation of the SMBX Engine to allow playing of old levels and episodes, created for an original game, with the same behavior as the original game had; get a more convenient research model for a Moondust Engine development.
- Windows: XP or over
- Linux: Ubuntu 16.04 or over
- MacOS: 10.11 or over
- Android: 4.1 or over
Differences with the original game
While the game is an accurate port of an original game, it has several differences and enhancements:
- First off, it's written in C++ while the original (as we already know) is written in VB6.
- Initially, hadn't an Editor at all. Instead, since 1.3.2 it has a deep integration with Moondust Editor that allows to use it with the same functionality as in the original editor (the "magic hand" functionality was kept to allow real-time editing of the level while testing, it's needed to use IPC communication with Moondust Editor to get the ability to use it better). However, later, since the 1.3.6-dev development version, the new experimental editor was added to use on mobile platforms and consoles (but still can be used on desktops as well).
- Full support of UTF-8 in filename paths and internal text data (original game had only 8bit ANSI support).
- For graphics and controlling, it uses an SDL2 library while the original game used WinAPI calls and a GDI library.
- It uses PGE-FL which has better file format support.
- A support for WLDX world maps is allowing unlimited credit lines and custom music without it being necessary to use a music.ini for music replacements.
- Some LVLX exclusive features now working: vertical section wrap, two-way warps, custom "star needed" message, warp enter the 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.
- Built-in support for the episode and level-wide music.ini and sounds.ini to override default music and sound assets.
- World maps now support a custom directory to store any specific resources like custom tiles/scenes/paths/levels and not spam the episode root folder with world map resources anymore.
- Default config format is INI, old config.dat format is no longer supported, mainly because of incompatible key code values (SDL_Scancode versus VirtualKeys enum of Windows API).
- Game saves now using the SAVX format instead of a classic SAV. However, if you already have an old gamesave, you still can resume your game by using a new engine now (the next gamesave attempt will result in a SAVX file, the old gamesave in SAV format will be kept untouched).
- Built-in PNG support for custom and default graphics. Masked GIFs are still supported for backward compatibility, however, without making an unexpected auto-conversion like SMBX-38A does.
- Checkpoints now have multi-points! You can use them in your levels multiple times without limits!
- It does the use of a lazy-decompress algorithm to speed up the loading of a game and reduce the memory usage.
- For music and SFX, the MixerX library is used to give support for a wide amount of sound and music formats!
- It doesn't embed any graphics: there are NO truly hardcoded graphics, everything is now represented by external graphics!
- Some internal limits have been expanded.
- Built-in GIF recorder by F11 key (F10 on macOS, F11 is reserved by system UI for a "show desktop" action).
- As of 1.3.2: The maximum section limit has been extended up to 201.
- As of 1.3.2: The 20 entry limit for layers lists to show/hide/toggle has been removed.
- As of 18.104.22.168: Allows customizing the outro level music.
- As of 1.3.3: The Purple Yoshi's Ground Pound can be changed to Alt Run by adding
ground-pound-by-alt-run = trueto settings/thextech.ini, preventing accidental deaths while duck-jumping.
- As of 1.3.3: Supports playable character calibration files to customize hitbox offsets and metrics.
- As of 1.3.4: Supports the compat.ini files to tune the compatibility for levels and episodes by enabling or disabling certain bugfixes and features.
- As of 1.3.5: Can manage game saves from the game menu directly.
- As of 22.214.171.124: Has the support for cannon pipes.
- As of 126.96.36.199: Allows portal warps to pass players between levels.
- As of 188.8.131.52: Yoshi ride toggles bongos on SMW music themes (also can be used with other chiptune or tracker music if specify the Yoshi-mode track/channel number).
Development of TheXTech was started after a week after releasing SMBX's source code to the public. The versioning starts at 1.3 to continue the history of the original SMBX game in a new form.
|1.3||May 1, 2021||The development of a working port began one week after SMBX's source-code was opened and researched, with the first portable build being compiled on February 23, 2020. It was functional, but buggy, and had to be polished later to prepare it for 1.3.1. It was developed in secret with the purpose of making a sudden surprise for the community. On May 2021, over a year later, it got released for historical reasons.||2020-02-17 2020-02-23|
|1.3.1||March 14, 2020||First public release.||v1.3.1|
|1.3.2||April 26, 2020||This version fixes some bugs and introduces minor improvements. A level testing integration with Moondust Editor since now is supported natively.||v1.3.2|
|184.108.40.206||July 12, 2020||This version fixes some bugs like software render support, extends the support for joysticks, and adds the workaround for case-sensitive file systems to resolve glitches with some episodes.||v.220.127.116.11|
|18.104.22.168||July 18, 2020||This update fixes an incorrect sizes of customized effects: effects should be able to have any GFX size, but in a condition that it has the same count of frames as original.||v.22.214.171.124|
|126.96.36.199||July 30, 2020||This update fixes a crash, caused by some custom effects, and fixes the inability to properly catch any vegetables on the fly.||v.188.8.131.52|
|184.108.40.206||November 30, 2020||Adds an ability to set the custom music for an outro level (If section music is not set, the default outro theme will be used). This update fixes the inability to have more than 100 episodes and battle levels in the same game copy. Also, fixes some glitches related to graphical processing.||v.220.127.116.11|
|1.3.3||December 19, 2020||This update adds some new functional features such as "gameinfo.ini" to partially customize some internal text content including the extra block of credits; native support for playable character calibrations files; added an ability to customize item settings globally by placing of npc-*.txt or player's calibration at the graphics/npc or graphics/mario,luigi,peach,toad,link directory, and some other things.||v.1.3.3|
|18.104.22.168||January 2, 2021||This update fixes two bugs and adds the experimental support for Windows ARM64 and macOS Apple Silicon platforms.||v.22.214.171.124|
|1.3.4||February 12, 2021||This version fixes several vanilla bugs and introduces the "compat.ini" file that allows re-enabling some bugs back if they required for a work of some levels and episodes. This version resolves the annoying frame-skip and fast-forwards problems that had to cause temporary blindness when a computer gets lagged. The speed-running system was added to display the walkthrough stopwatch and tune the compatibility required for the fair SMBX speed-running. This is the minimal version approved for speed runs of SMBX episodes.||v.1.3.4|
|1.3.5||May 5, 2021||This version gets many updates such as game controllers support rework, more fixes of vanilla bugs, adding the ability to copy and remove game saves from the game menu directly. This is the first version that supports the Android platform. All macOS builds were universal (will work on both x86_64 and arm64 devices).||v.1.3.5|
|126.96.36.199||June 2, 2021||This version fixes some minor bugs and regressions and has a small number of tweaks: The "Save and Continue" menu item will play the "Checkpoint" sound; The auto-scroll processing fix was set to be disabled by default to prevent possible glitches from invalid setup given by several old levels; The gameinfo.ini file is now allowed to change the behavior of the intro scene; etc.||v.188.8.131.52|
|184.108.40.206||October 19, 2021||This version with several bug fixes (including significant fixes of speedrun mode), introduces a small set of new features: cannon pipes now supported; portal warps now can be used to go between levels; Yoshi ride toggles bongos at SMW music themes; etc. Since this update the license of the project is GPLv3.||v.220.127.116.11|
|18.104.22.168||December 30, 2021||This version fixes a bunch of bugs from the previous version and adds some minor features: Episodes at the list now sorted alphabetically, inter-level and inter-warp transitions support, etc.||v.22.214.171.124|
|1.3.6||September 13, 2022||Added several new features, such as in-game editor, LunaDLL Autocode script system, Abstract Controls, etc. Players are able to enter cheat codes via using a key.||v.1.3.6|
|Legend: ■ Old Version ■ Current Version ■ Development Version|
TheXTech has the same Cheats as SMBX 1.3, with the addition of some alternative codes. All codes with a 'y' (for example "moneytree") have a counterpart where it is replaced by 'z' ("moneztree") for QWERTZ-compatibility.
Italic Cheats can be used in the latest development build, but are not part of the current release yet.
|Original Code||Alternative Codes|
|imtiredofallthiswalking||moonwalk, skywalk, skzwalk|
|itsamemario||plumberboy, plumberboz, moustacheman|
|Original Code||Alternative Codes|
|Original Code||Alternative Codes|
Building the Game
To build the game, follow one of the following guides from the GitHub page:
- Building on Windows
- Building on Linux or xBSD
- Building on macOS
- Building on Haiku
- Building for Emscripten
- Building for Android
Custom Default Sets
Currently, TheXTech doesn't support individual "graphics" folders for episodes like SMBX2 does. In order to make episodes with their own SMBX sets like "Yoshi's Archipelago" or "Super Talking Time Bros." work, they need to be patched by taking the following steps:
This manual will help you to convert the packed game into TheXTech-compatible format. While TheXTech allows you to play old episodes in as-is form without conversion, packed games do require you to convert entire default GFX assets (everything inside the "graphics" sub-directory) into the PNG format. All important hardcoded image resources will be automatically extracted and converted into a compatible format too.
- Download the conversion kit archive and mix the content with the packed game's root
- Make sure the old game executable is named "smbx.exe" (or "asmbxt.exe" and "a2mbxt.exe"), otherwise, you will be not able to convert hardcoded resources into the compatible format.
- Depending on your system, run the conversion script in the terminal (or command line):
- On Windows, you need to run the gfx-convert-win.cmd script.
- On Linux, you need to run the bash gfx-convert-lin.sh script.
- The script will ask you, do remove all old GIFs while the conversion process or keep them? Press the Y key to remove all old GIFs after conversion, or N to keep. Once the conversion process will finish, you will see the message in the terminal that tells about finishing the conversion process.
- Find the "plain runtime" section at the downloads page and take the version compatible with your platform. Take the executable file (thextech at Linux archives, or thextech.exe and all DLL files at Windows archives) and put it at the packed game directory.
- Try to launch the "thextech" application, the game should work now.
- Optionally, edit the "gameinfo.ini" file and change the game title and character names for consistency.
- TheXTech unlike the original SMBX doesn't have any truly hardcoded GFX assets, all previously hardcoded GFX now located at the graphics/ui directory.
- For levels made with Custom Standalone Assets (e.g. Fairy Tale World), download the correspond asset then extract to TheXTech root folder to play.
Improving Controller Support and allowing multiple key bindings. Until then, antimicro or xboxdrv can be used as workarounds.Done since version 1.3.5.
- Making the Purple Yoshi's Ground Pound be usable by other Yoshis with a yellow shell.
Copying and erasing savefiles within the title screen. Done since version 1.3.5.
- An official forum post
- A first announcement
- A video showcase
- Wohlstand's article with technical details explanation (in Russian Language)
|Super Mario Bros. X|
Super Mario Bros. X • SMBX64 Standard • LunaLua