TheXTech: the modern port of SMBX engine [Support moved] (Cross-platform SMBX is here!)

General discussion about Super Mario Bros. X.

Moderator: Userbase Moderators

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

TheXTech: the modern port of SMBX engine [Support moved] (Cross-platform SMBX is here!)

Postby Wohlstand » Sat Mar 14, 2020 9:21 am

Hello everybody!

Image


IMPORTANT NOTICE: I decited to leave the SMBX forums and I will no longer give any support for my projects here on the SMBX forums. All the support is given at official GitHub repositories or at the WohlSoft Forums (https://wohlsoft.ru/forum/), or at the official Discord Server of the team: (https://wohlsoft.ru/chat/.

Giving apologies for any inconveniences.

TheXTech is a free and open-source game engine for Mario-like platforming games. There is a complete and extended source code port of the Super Mario Bros. X 1.3 game engine (later just "SMBX"), and its direct unofficial continuation after development halted in the 2011th year. This engine preserves full compatibility with levels and episodes made for the original SMBX game, including its repacks. And it's allowed to create brand-new Levels, Episodes, and content packs. Unlike the original SMBX game that depends on Windows and x86, TheXTech can work on many operating systems (including Linux distros, macOS, xBSD, Android, Haiku, etc.) and processor architectures (including x86_64, ARM, PowerPC, MIPS, etc.).

This is a sister project to the Moondust Project, developed and maintained in parallel with it.
Some screenshots: show
Image

Image

Image

Image

Image

Image
How I made it?
Since February 2, SMBX's original source code is now open. This fact gave me a lot of helpful material which will help me to make the Moondust Engine better and faster! However, dealing with the VB6 environment is not convenient, and at the same time, it's not stable on Linux (because of the graphical engine and risk of VB6 IDE's crash due to using external DLL libraries). So, to get it to work easier, I remembered my very old idea to port the whole SMBX code to C++. So, after a week of initial research, I began working. After a week and a half, I got a fully working (but buggy in some places) thing. Then, I spent time debugging it and making it usable by everyone. It's the full replica of SMBX 1.3 with the rest of its logical bugs (with some exceptions: I did fix several crash bugs that were a big annoyance while playing a game). It works on multiple platforms: it works on Windows both 32 and 64 bits, on Linux, and on macOS, (also may work on Haiku and xBSD). Since version 1.3.5 has Android support, and since 1.3.6, has LunaDLL Autocode support!


Frequently Asking Questions
This paragraph contains a list of several questions you would like to ask me, I'll give answers to most of them.
Frequently Asking Questions: show
What is this?
It's a port of an old VB6 engine, purely written in C++. It reproduces an old engine completely (except an Editor), and includes lots of its logical bugs (crashy bugs where they were found and then fixed).


Why did you make it?
Why? I have several purposes for why I made it:
  • It's a very convenient life model for research I want to use in PGE Engine development.
  • To make it work without it being necessary to use Wine on non-Windows platforms and allow it to run on any other than x86 platforms.
  • To be able to optimize it to make it use fewer hardware resources than the original VB6-based build of a game.

You have Moondust Engine, why have spent you over one month crafting this thing?
I need it for Moondust Engine development directly, it's much easier to hack and inspect rather dealing with the old and inconvenient VB6 environment.


What's the future of Moondust Engine as TheXTech now exists?
I'll continue the development of the Moondust Engine as I still have to pass the second goal of the Moondust Project.
Since its foundation, Moondust Project had two goals: 1) save SMBX; 2) give a flexible toolkit for new platform games. Opening SMBX sources and introducing TheXTech has solved the first goal: SMBX has been saved and now it's free and open-source cross-platform software. Moondust Engine will be used to pass the second goal - giving a toolkit for new games. Unlike TheXTech, Moondust Engine gives full flexibility that allows anyone to build something new from scratch without inheriting an old game base. However, TheXTech is needed for Moondust Engine as a working research model to develop a new engine. It will be similar to GZDoom and Chocolate Doom ports of the Doom game: GZDoom is a powerful and functional engine, the best choice for modders; Chocolate Doom is an accurate port of the original game to a modern platform with the purpose to represent an original game including even bugs. The Moondust Engine intends to be like a GZDoom while TheXTech is an analogue of Chocolate Doom to represent an original game on modern platforms.


Can old LunaDLL-Autocode projects work here?
Yes, legacy LunaDLL Autocode-based projects (such as A2XT: Analogue Funk, Superb Demo Sisters, etc.) do work on TheXTech since version 1.3.6. They work even on non-x86 processors with different architecture because of the memory emulator magic.


Can LunaLua work on this?
No, LunaLua won't work: this project is binary-incompatible with LunaLua. This also means that SMBX2 content is incompatible. The planned Lua API will be different from the LunaLua to keep it clear and convenient for new projects.


How to use this?
Here are many ways to play games with it:
- there are some ready-for-use packages, just take and use them as you did with SMBX.
- [macOS users, skip this]: use in the same way as an original game: put an executable file into the game root folder with a "thextech.ini" that contains the next text:

Code: Select all

[Main]
force-portable = true
, music.ini, sounds.ini and additional "graphics/ui" folder. An important note: all default graphics must be converted into PNG, use the GIFs2PNG tool from PGE Project over your "graphics" folder with a "-d" switch. Don't use the "-r" switch to keep original GIFs together with new-made PNGs if you plan to continue the use of original VB6-written SMBX.
- use it for debug mode: in your home directory, create the ".PGE_Project/thextech" folder (on macOS the "~/Library/Application Support/PGE Project/thextech") where you should put a full set of game resources and worlds stuff, this folder will work like a game root in the original game. This mode allows you to run an executable file from any folder location of your computer and use the same location of resources for all builds (except these are marked as portable by an INI file).


How to add custom episodes for the macOS version?
If you have a bundled build of TheXTech, all default resources are inside your .app: "Content/Resources/assets/". You can modify the content, but it's not recommended! Instead, after the first run of a game, in your home directory will appear the next directory:

Code: Select all

~/TheXTech Episodes
In this directory, you will find an empty "battle" and "worlds" folder to put your custom stuff. At the "~/Library/Application Support/PGE Project/thextech" path logs, settings and game saves will be stored.
If you want to replace default assets with your own, you can modify the content of the app bundle or compile a new build by giving the necessary CMake arguments needed to pack your custom assets root and icon into the new bundle or make the assets-less build (if you give no arguments, the assets-less build will result). Therefore, you need to put the full content of the game root into the "~/Library/Application Support/PGE Project/thextech" folder, including default assets (graphics, music, sounds, intro and outro levels, default battle and worlds folders).


What is different with this thing in comparison to the original VB6 build?
  • First off, it's written in C++ while the original (as we already know) is written in VB6.
  • There was no built-in editor until version 1.3.6. The built-in editor is a simple editor based on the internals of the original SMBX editor, primarily targeted to use on mobile devices, but also can be used on desktop devices too.
  • Has native interprocess integration with the Moondust Editor which allows it to run direct level-testing and process the real-time editing of the working level (For example, pick up an item at the running game, and get the properties box at the Moondust Editor, or select an object at item toolbox of the Editor, and place it into the running game directly).
  • Full support of UTF-8 in filename paths and internal text data (the original game had only 8-bit ANSI support).
  • For graphics and controlling, it uses an SDL2 library while the original game used WinAPI calls and the GDI library.
  • It uses PGE-FL which has better file formats support.
  • A support for WLDX world maps allowing unlimited credits 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, on-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.
  • Built-in support for an 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, the 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, old gamesave in SAV format will be kept untouched).
  • Any new game saves and settings get saved out of the episode directories, keeping them untouched. You can find your game saves in the "settings / gamesaves" directory.
  • Built-in PNG support for custom and default graphics. Masked GIFs are still supported for backward compatibility, however, without making an unexpected auto-conversion as SMBX-38A does.
  • Checkpoints now have multi-points! You can use them in your levels multiple times without limits!
  • It does use a lazy-decompress algorithm to speed up the loading of a game and reduce 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)

How to build it?
You can read a guide on how to build this project from a source code which you can find here: https://github.com/Wohlstand/TheXTech/w ... g-the-game

To build it, you need to have the following things:
  • CMake
  • Ninja optionally (to speeds-up the build process)
  • Compatible C/C++ compiler (GCC, Clang, MSVC haven't been tested yet)
  • Git (required to pull submodules and clone source of dependent libraries to build them in place)
  • Mercurial (required to clone an official SDL2 repository to build it in place here)
  • Optionally: system-wide installed dependencies: SDL2, libFreeImageLite (a modded implementation of the FreeImage), MixerX sound library, AudioCodecs collection of libraries. Having them installed in a system gives a major build speed up. However, it's possible to build all these dependencies in place here with the cost of extra build time being added.
DOWNLOADS
Feel free to try it out in action now:
There are ready-for-use packages, equipped with original SMBX 1.3 assets and "The Invasion 2" episode.

Visit the official project page at WohlSoft for downloads:
- https://wohlsoft.ru/projects/TheXTech/

The official WohlSoft discussion for recent news:
- https://wohlsoft.ru/forum/viewtopic.php ... 77&p=19831

The full C++ source code repository:
- https://github.com/Wohlstand/TheXTech

If you have any questions, problem reports, or suggestions, feel free to write to me!

Original content: show
Hello everybody!

Image

Did you see that I have done little work in my public repositories during February and at the start of March 2020? So, I did a lot of work which I am going to present for you all: it's a full C++ port of the original SMBX engine which now works on multiple platforms (tested on Linux, Windows, and macOS), and it does accurately represent original gameplay with the rest of features and bugs!

Some screenshots: show
Image

Image

Image

Image

Image

Image

Image

Image
How I made it?
Since February 2, SMBX's original source code is now open. This fact gave me a lot of helpful material which will help me to make the Moondust Engine better and faster! However, dealing with the VB6 environment is not convenient, and at the same time, it's not stable on Linux (because of graphical engine and risk of VB6 IDE's crash due to using of external DLL libraries). So, to get it to work easier, I remembered my very old idea to port the whole SMBX code to C++. So, after a week of initial research, I began working. After a week and a half, I got a fully working (but buggy in some places) thing. Then, I spent time debugging it and making it usable by everyone. It's the full replica of SMBX 1.3 with the rest of its logical bugs (with some exceptions: I did fix several crash bugs that were a big annoyance while playing a game). It works on multiple platforms: it works on Windows both 32 and 64 bits, on Linux, on macOS, (also may work on Haiku and xBSD). Since version 1.3.5 has Android support!


Frequently Asking Questions
This paragraph contains a list of several questions you would to ask me, I'll give answers to most of them.
Frequently Asking Questions: show
What is this?
It's a port of an old VB6 engine, purely written in C++. It reproduces an old engine completely (except an Editor), includes lots of its logical bugs (crashy bugs where they were found and then fixed).


Why did you make it?
Why? I have several purposes for why I made it:
  • It's a very convenient life model for research I want to use in PGE Engine development.
  • To make it work without it being necessary to use Wine on non-Windows platforms and allow it to run on any other than x86 platforms.
  • To be able to optimize it to make it use fewer hardware resources than the original VB6-based build of a game.

You have Moondust Engine, why you have spent you over one month crafting this thing?
I need it for Moondust Engine development directly, it's much easier to hack and inspect rather dealing with the old and inconvenient VB6 environment.


What's the future of Moondust Engine as TheXTech now exist?
I'll continue the development of the Moondust Engine as I still have to pass the second goal of the Moondust Project.
Since the foundation, Moondust Project had two goals: 1) save SMBX; 2) give a flexible toolkit for new platform games. Opening of SMBX sources and introducing the TheXTech has solved the first goal: SMBX has been saved and now it's free and opensource cross-platform software. Moondust Engine will be used to pass the second goal - giving a toolkit for new games. Unlike TheXTech, Moondust Engine gives a full flexibility that allows anyone to build something new from scratch without inheriting of an old game base. However, TheXTech is needed for Moondust Engine as a working research model to develop a new engine. It will be similar to GZDoom and Chocolate Doom ports of the Doom game: GZDoom is a powerful and functional engine, the best choice of modders; a Chocolate Doom is an accurate port of the original game to a modern platform with a purpose to represent an original game including even bugs. The Moondust Engine intends to be like a GZDoom while TheXTech is an analog of Chocolate Doom to represent an original game on modern platforms.


Can LunaLua work on this?
No, LunaLua won't work: this project is binary-incompatible with LunaLua. This also means that SMBX2 content is incompatible.


How to use this?
Here are many ways to play games with it:
- there are some ready for use packages, just take and use as you did it with SMBX.
- [macOS users, skip this]: use by the same way as an original game: put an executable file into the game root folder with an "thextech.ini" that contains next text:

Code: Select all

[Main]
force-portable = true
, music.ini, sounds.ini and additional "graphics/ui" folder. An important note: all default graphics must be converted into PNG, use GIFs2PNG tool from PGE Project over your "graphics" folder with a "-d" switch. Don't use "-r" switch to keep original GIFs together with new-made PNGs if you plan to continue the use of original VB6-written SMBX.
- use it for debug mode: in your home directory, create the ".PGE_Project/thextech" folder (on macOS the "~/Library/Application Support/PGE Project/thextech") where you should put a full set of game resources and worlds stuff, this folder will work like a game root in the original game. This mode allows you to run an executable file from any folder location of your computer and use the same location of resources for all builds (except these are marked as portable by an INI file).


How to add custom episodes for the macOS version?
If you have a bundled build of TheXTech, all default resources are inside your .app: "Content/Resources/assets/". You can modify the content, but it's not recommended! Instead, after the first run of a game, in your home directory will appear the next directory:

Code: Select all

~/TheXTech Episodes
In this directory, you will find an empty "battle" and "worlds" folder to put your custom stuff. At the "~/Library/Application Support/PGE Project/thextech" path logs, settings and game saves will be stored.
If you want to replace default assets with your own, you can modify the content of the app bundle or compile a new build with giving of the necessary CMake arguments which needed to pack your custom assets root and icon into the new bundle or make the assets-less build (if you give no arguments, the assets-less build will result). Therefore, you need to put the full content of the game root into the "~/Library/Application Support/PGE Project/thextech" folder, include default assets (graphics, music, sounds, intro and outro levels, default battle and worlds folders).


What is different with this thing in comparison to the original VB6 build?
  • First off, it's written in C++ while original (as we already know) is written in VB6.
  • Doesn't have an Editor. Instead, in nearest future it will have a deep integration with PGE Editor that will allow to use it with the same functionality as in 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 PGE Editor to get the ability to use it better).
  • Full support of UTF-8 in filename paths and internal text data (original game had the only 8bit ANSI support).
  • For graphics and controlling, it uses an SDL2 library while original game have used WinAPI calls and GDI library.
  • It uses PGE-FL that has better file formats support.
  • A support for WLDX world maps are allowing unlimited credits 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 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 an 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 (next gamesave attempt will result a SAVX file, 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 use of 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 a support for a wide amount of sound and music formats!
  • It doesn't embeds 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)

How to build it?
You can read a guide how to build this project from a source code which you can find here: https://github.com/Wohlstand/TheXTech/w ... g-the-game

To build it, you need to have the next things:
  • CMake
  • Ninja optionally (to speeds-up the build process)
  • Compatible C/C++ compiler (GCC, Clang, MSVC haven't tested yet)
  • Git (required to pull submodules and clone source of dependent libraries to build them in place)
  • Mercurial (required to clone an official SDL2 repository to build it in place here)
  • Optionally: system-wide installed dependencies: SDL2, libFreeImageLite (a modded implementation of the FreeImage), MixerX sound library, AudioCodecs collection of libraries. Having them be installed in a system gives a major build speed up. However, it's possible to build all these dependencies in place here with a cost of extra build time being added.
DOWNLOADS
Feel free to try it out in action now:
There are ready for use packages, equipped with original SMBX 1.3 assets and "The Invasion 2" episode.

Visit the official page at WohlSoft for downloads and recent news:
https://wohlsoft.ru/forum/viewtopic.php ... 77&p=19831

The full C++ source code repository:
- https://github.com/Wohlstand/TheXTech

If you have any questions, problem reports, or suggestions, feel free to write to me!
Last edited by Wohlstand on Sun Jun 18, 2023 10:46 am, edited 28 times in total.

Murphmario
2025 Egg Hunter
2025 Egg Hunter
Posts: 2389
Joined: Fri Dec 20, 2013 7:07 pm
Pronouns: he/him

Re: Meet A2xTech: a full working C++ port of SMBX engine

Postby Murphmario » Sat Mar 14, 2020 10:29 am

Wondering if this is directly compatible with Lua, since if so, that might help with SMBX2 for sure. Don't really know that much though, so in no way am I speaking for the devs. This is still pretty neat though.

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet A2xTech: a full working C++ port of SMBX engine

Postby Wohlstand » Sat Mar 14, 2020 10:36 am

Speaking about Lua scrupting support, it can be easily added here as the whole thing is in C++. But note, when speak about re-using of LunaLua, it won't work now because of binary incompatibility. But it's now possible to port that to here (note that it's not fast, there are many code parts are should be verified and tuned).

Emral
Cute Yoshi Egg
Cute Yoshi Egg
Posts: 9860
Joined: Mon Jan 20, 2014 12:58 pm
Flair: Phoenix

Re: Meet A2xTech: a full working C++ port of SMBX engine

Postby Emral » Sat Mar 14, 2020 10:57 am

Image

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby Wohlstand » Sat Mar 14, 2020 12:09 pm

Enjl, lol :)
Really I don't plan produce any new standard, this thing makes the representation of Vanilla SMBX and has some parts of PGE standard (PNGs, ton of new music formats, LVLX/WLDX, and music.ini/sounds.ini), but it doesn't makes new one. PGE standard exists since 2014 and graduately extending and updating while development process.

Added in 1 hour 21 minutes 58 seconds:
Just now I did a small hotfix, please re-download archives who already downloaded some.

SPEEDIE
Blooper
Blooper
Posts: 180
Joined: Sat Nov 03, 2018 6:22 pm
Flair: u fucking wot
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby SPEEDIE » Sat Mar 14, 2020 1:48 pm

This looks like something cool. While it wouldn't work for me, because of no lunalua support, still some good progress.

aero
Palom
Palom
Posts: 4787
Joined: Fri Mar 28, 2014 2:51 pm

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby aero » Sat Mar 14, 2020 2:24 pm

I like this purely because I don't have to install and use Wine.

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby Wohlstand » Sun Mar 15, 2020 4:07 pm

A small update: I did added into the main post a link to Emscripten build which can be played in a browser now!

Emscripten (Play in browser now)
- Play game in your browser now!

Chanceux2
Volcano Lotus
Volcano Lotus
Posts: 576
Joined: Mon Dec 16, 2019 3:39 pm
Flair: People don't care about my threads! :(
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby Chanceux2 » Thu Mar 19, 2020 2:19 pm

amazing! Even tho I downloaded SMBX already TheXTech version can save up more of your space

FanofSMBX
Mouser
Mouser
Posts: 3878
Joined: Sun Dec 22, 2013 12:01 pm

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby FanofSMBX » Thu Mar 26, 2020 2:42 am

Got some questions about the new midpoint mechanics:

1. Upon dying, do all midpoints stay collected or can you recollect them except the most recent one
2. Do midpoint death events stay permanent (e.g. SMW stars) or only until you beat the level? It was only until you beat the level in 1.3 but you never know with the new code.

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine

Postby Wohlstand » Tue Apr 21, 2020 11:39 am

FanofSMBX wrote:
Thu Mar 26, 2020 2:42 am
Got some questions about the new midpoint mechanics:
1) All collected midpoints are tracked, and all of them disappeared. A player will reappear at last taken.
2) I guess it should work permanently like SMW stars as it's still an NPC with all generic working mechanics.

EDIT: I did check, die events are working permanently like on SMW stars.

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

New 1.3.2 release!

Postby Wohlstand » Sun Apr 26, 2020 4:06 pm

Hello everybody!

Here is a new 1.3.2 release of TheXTech!

It's a bugfix release with a small number of improvements and with full support for testing integration with PGE Editor (need to use the latest Laboratory build!) is working now!

You can find download links in the main post, or, alternatively, can be downloaded from here: https://github.com/Wohlstand/TheXTech/r ... /tag/1.3.2

Changelog for 1.3.2:
  • Added an own timeout sound-92 for P-Switch timer (will be played with 3 seconds before the end)
  • Added a level testing interprocess interface to work with PGE Editor
  • Fixed the Podoboo's tail effect glitch
  • Fixed an incorrect priority of BGO65 in the level file of SMBX prior to 10 format
  • Fixed a classic Bowser's behavior in "The Invasion 1" episode from SMBX 1.0.x
  • Removed 20 layers limit to show/hide/toggle per event (LVLX files only)
  • Extended limit to use up to 200 sections in one level (LVLX files only)
  • Added an error message on attempt to open an invalid level file
  • Fixed a glitch of the rendering of the two-camera screen caused by an incorrect SDL_RenderSetViewport() call usage

Smashhacker
Shy Guy
Shy Guy
Posts: 7
Joined: Sat Oct 08, 2016 5:14 pm

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Smashhacker » Fri May 08, 2020 1:48 am

So how long until it's possible for this to be compatible with lunalua?

Emral
Cute Yoshi Egg
Cute Yoshi Egg
Posts: 9860
Joined: Mon Jan 20, 2014 12:58 pm
Flair: Phoenix

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Emral » Fri May 08, 2020 2:02 am

Smashhacker wrote:
Fri May 08, 2020 1:48 am
So how long until it's possible for this to be compatible with lunalua?
Never. Lunalua relies on the memory offsets of the SMBX 1.3 compiled build.

Radiance
2025 Egg Hunter
2025 Egg Hunter
Posts: 1349
Joined: Thu Dec 10, 2015 7:53 am
Pronouns: he/him

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Radiance » Fri May 08, 2020 8:58 am

Will it support mobile platforms in the future?

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Wohlstand » Fri May 08, 2020 9:25 am

Radiance wrote:
Fri May 08, 2020 8:58 am
Will it support mobile platforms in the future?
Yes, I want to eventually make an Android assembly of a game. I need to backport my touchpad controller to make game being useful if you has no OTG/Bluetooth keyboard or gamepad, or device doesn't support that. iOS is no way without of a yearly payment for a cost of Developer-ID account, or without Jailbreak, or sideload.

Radiance
2025 Egg Hunter
2025 Egg Hunter
Posts: 1349
Joined: Thu Dec 10, 2015 7:53 am
Pronouns: he/him

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Radiance » Fri May 08, 2020 9:38 am

Good to know! This means PGE will be supported in mobile, right?

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Wohlstand » Fri May 08, 2020 9:50 am

Radiance wrote:
Fri May 08, 2020 9:38 am
Good to know! This means PGE will be supported in mobile, right?
PGE Engine even being WIP already supports mobile, you can find the working version of it:
here is a manual how to install and run it: https://wohlsoft.ru/pgewiki/PGE_Engine: ... ion_(2019)

In a past, PGE Editor had experimental Android builds, however, the result was too clunky and hard for use (better to code a different thing rather than trying to reuse desktop version on a mobile device), and I no longer support it.
--------
EDIT 2021-07-04: TheXTech since 1.3.5 has the full support for Android platform, and therefore it works on mobiles ;)
Last edited by Wohlstand on Sun Jul 04, 2021 3:57 pm, edited 1 time in total.

Eri7
Banned
Posts: 1770
Joined: Sat Jan 28, 2017 4:48 pm
Flair: Good Foundation allows for strong Execution
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Eri7 » Fri May 08, 2020 9:55 am

Wohlstand I have a question, what if we were to design levels in the mobile version of Xtech/Pge, will they then be compatible with the PC version? Because that would seriously be awesome and very convenient to use.

Wohlstand
Van De Graf
Van De Graf
Posts: 2008
Joined: Tue Feb 11, 2014 4:44 pm
Flair: [ˈvoːlˌʃtant], 狐エンジニア
Pronouns: he/him
Contact:

Re: Meet TheXTech: a full working C++ port of SMBX engine [1.3.2]

Postby Wohlstand » Fri May 08, 2020 10:04 am

Eri7 wrote:
Fri May 08, 2020 9:55 am
Wohlstand I have a question, what if we were to design levels in the mobile version of Xtech/Pge, will they then be compatible with the PC version? Because that would seriously be awesome and very convenient to use.
Right now all episodes and levels in a desktop build were supported the same on mobile. However yeah, it's a being tricky to unpack them into the "/sdcard/PGE Project Data/worlds" directory without of archiver (one of them is at ES Explorer thing which was unfortunately gone some time away). I still keep in my mind an idea of packed episodes: represent level or episode as a packed archive (in own format, or as an uncompressed ZIP). This should allow deploying episodes and single levels for playing anywhere, especially on mobile devices. These packs will work on desktop versions of PGE Engine and XTech. Nothing special for each platform.


Return to “General”

Who is online

Users browsing this forum: Petal [Bot] and 3 guests

SMWCentralTalkhausMario Fan Games GalaxyKafukaMarioWikiSMBXEquipoEstelari