Re: TheXTech: the modern port of SMBX engine [1.3.5.1] (SMBX for Android is here!)
Posted: Wed Jun 02, 2021 3:44 pm
Any chance of porting this to consoles that support c++ ? (sorry for bad english)
Forums for SMBX
https://www.supermariobrosx.org/forums/
https://www.supermariobrosx.org/forums/viewtopic.php?t=25352
With homebrew SDKs and the compatible SDL2 build that is really possible.Gabriel_Gamer wrote: ↑Wed Jun 02, 2021 3:44 pmAny chance of porting this to consoles that support c++ ? (sorry for bad english)
My friend has a hacked 3ds, maybe he can test this alpha version, and if they make a version for wii u, i could test itWohlstand wrote: ↑Wed Jun 02, 2021 3:59 pmWith homebrew SDKs and the compatible SDL2 build that is really possible.Gabriel_Gamer wrote: ↑Wed Jun 02, 2021 3:44 pmAny chance of porting this to consoles that support c++ ? (sorry for bad english)
At least, I see the possibility to run this on PS Vita (once upon I gonna buy some device to try the game work here, at least the PS Vita port was been requested by three persons). At the side, my colleague @ds-sloth works on the 3DS port of the game and there is the working alpha version (you can load it on the hacked console). I thought that it's hard to port the game into the older PSP because it has a too-small size of RAM, however, somebody noticed to me that it has a very good GPU.
What about bigger consoles like PlayStation 3 / 4 / 5, Xbox 360 / One / Series X/S, Nintendo Wii U, Nintendo Switch, that requires the homebrew SDK and the way to debug and test that. Speaking about older consoles I may use some sort of emulator, but newer consoles don't have the emulator yet, and therefore I'll be required to get these consoles and debug the game on them. Otherwise, other folks like ds-sloth would contribute the support for other consoles.
Nice!Gabriel_Gamer wrote: ↑Wed Jun 02, 2021 4:26 pmMy friend has a hacked 3ds, maybe he can test this alpha version
Gabriel_Gamer wrote: ↑Wed Jun 02, 2021 6:03 pmEvery time I hear "c++", I remember notepad++, so I thought the most impossible thing, sbmx running on notepad++![]()
Well, I've been thinking about it, I think about something like they did with Minecraft:Wohlstand wrote: ↑Wed Jun 02, 2021 6:15 pmGabriel_Gamer wrote: ↑Wed Jun 02, 2021 6:03 pmEvery time I hear "c++", I remember notepad++, so I thought the most impossible thing, sbmx running on notepad++![]()
Yeah, at the same time Notepad++ by itself is written in C++, you can see it's code on GitHub![]()
I'm pretty sure TheXTech is supposed to be an enhanced multi-platform port of SMBX 1.3 to C++ and nothing else. Any of the new features are mostly just side things, like a speedrun timer and the SDL Mixer X audio backend.horseoftroy wrote: ↑Tue Jun 08, 2021 11:33 amHi Wohlstand , The X Tech is really great especially with its low requirements , flexibility
And the Android port make it payable anytime anywhere
I have 2 Requests :
1 - Can you add the (Vertical Wall Run from Super Mario World) please ?
2 - When you'll start to add the new and missing NPCs and Blocks from Super Mario series ?
I hope you'll start soon to increase the variety of Episodes with this great engine
I'm very interested in this engine and updating it regularly
Thanks for your efforts
With the full compatibility to SMBX 1.3, there are new gameplay features still been added, and there is a short list that explains them. The only way to make use of them is to make a new episode using LVLX and WLDX file formats. There are many bug fixes done, but to keep the full compatibility, the special compat.ini file was made to allow episode creators to tune the compatibility for certain levels or for entire episodes if the certain bug(s) were required for the work. With this, there is a command-line argument was added to choose the compatibility level being enforced globally. All these bug fixes were done to make the casual gameplay being more comfortable and less annoying, however, as these bugs in several cases were required for compatibility, the ability to switch them back was kept by a compat.ini per episode and per-level files.
Thanks for the supporthorseoftroy wrote: ↑Tue Jun 08, 2021 11:33 amHi Wohlstand , The X Tech is really great especially with its low requirements , flexibility
And the Android port make it payable anytime anywhere
That will need triangle blocks (which were a special one that triggers this) being implemented, theoretically, that is possible, but not now yet.horseoftroy wrote: ↑Tue Jun 08, 2021 11:33 am1 - Can you add the (Vertical Wall Run from Super Mario World) please ?
I don't know yet, right now I keep all content being SMBX64-only, and I don't add new elements yet, mainly because I don't want to make one another incompatible standards (right now there are two incompatible resources standards exist: SMBX-38A and SMBX2). The SMBX64 is the only standard that allows making an episode that will be compatible with all SMBX branches.horseoftroy wrote: ↑Tue Jun 08, 2021 11:33 am2 - When you'll start to add the new and missing NPCs and Blocks from Super Mario series ?
You may don't worry about VC runtimes at all, for Windows versions of TheXTech I do use the MinGW toolkit that ships its own runtime DLLs that make the built application being fully portable without additional runtimes being installed. This also allows the game to work on Windows XP and keep the support of modern C++ standards (using newer MSVC will obviously break the support of older Windows versions as it links DLLs that incompatible with XP by theme selves. Using older MSVC is sucks because they badly supported any modern C++ standards that MinGW, GCC, and Clang had supported much better). The only exception is the ARM64 Windows version that doesn't have any alternatives to build the game for ARM64, therefore MSVC 2019 is being used here, for x86 and x86_64 the MinGW-w64 toolkit is being used.horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 amActually the TheXTech is Very Important because a big problem with SMBX2 which requires (VC 2015)
That how the 38A engine itself works against the graphical processing, which I don't need to repeat at all, I had spoken about itemsets mainly, I.e. which NPC is exists in 38A or at SMBX2 and which IDs they have, and how they behave on every engine.horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 am1 - 38A is Very bad as a SMBX continuation due its issues with shadow png's and 1.3 .lvl compatibility
So leave it completely
Also, this is a big problem of any software built with the MSVC, in most they do require the VC runtime being installed and being up to date, which adds an extra pain.horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 am2 - SMBX2 needs (VC 2015) and (LunaLua) compatibility and it's impossible for me to get a Windows
Update for it
I think there's a lot of People share this problem with me
As good news, TheXTech already has using algorithms that intended to save the RAM usage and speed up the loading of the game, mainly the lazy-decompression system (don't load texture until it got requested the first time). As a disadvantage of this method, it may add some lags on weak GPUs like the MALI400 (in a moment of texture loading I mean).horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 amMake it compatible with (1.3) Levels even if you added (All SMBX2 Elements) due its huge variety
While I do have some plans to implement the compatibility with pre-SMBX2 episodes by adding the memory emulator, I don't plan to attach the LunaLua, which is absolutely impossible (mainly because it's a whole mess targetted to hack one single EXE file that was built at 2010'th year).
I had thought the same, but knowing the fact the pain against incompatible item sets between SMBX2 and SMBX-38A, the result should avoid people to confuse among different engines and itemsets. Mainly, episode and single-level creators will be REQUIRED to specify for which engine they target their levels and episodes being published (I guess, that should be already even now, as the fact SMBX2 and SMBX-38A engines already). Mainly to tell users which engine they should use to play certain episodes. Mainly because there is pain among people who get confused when attempting to run alien levels and episodes on incompatible engines.horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 amSo remaining this one route Only
(Build own standard of non-SMBX64)
Thank you for the support :3horseoftroy wrote: ↑Thu Jun 10, 2021 10:14 amAnd Thank you Wohlstand for sharing Our thoughts
And I Wish for you to success in this great project
I've tried PGE and it somehow works for me. But I wonder if there are more controller keys available?Wohlstand wrote: ↑Fri May 08, 2020 9:50 amPGE 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.
Right now there aren't more control keys yet, I'll add once they will be.idraulico wrote: ↑Sun Jul 04, 2021 11:58 amI've tried PGE and it somehow works for me. But I wonder if there are more controller keys available?
Technically that is possible, BUT:Superfrancybros wrote: ↑Tue Aug 10, 2021 7:38 amWohlstand, you create an Android version, can you create an Ios version?