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

General discussion about Super Mario Bros. X.

Moderator: Userbase Moderators

ShadowXeldron
Snifit
Snifit
Posts: 232
Joined: Sun Dec 08, 2019 8:21 am
Flair: phpBB > ProBoards
Pronouns: He/Him
Contact:

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

Postby ShadowXeldron » Wed Sep 07, 2022 8:25 am

I have a few things I'd like to ask about the dynamic resolution branch:

1. I am experiencing terrible screen tearing on my 60Hz display in the 720p and dynamic modes with the upscaler set to Nearest Neighbour. Will there be Vsync added to it at some point?
2. Are there compatibility options to force certain resolutions? I'm thinking of designing a project around 600p Dynamic.
3. Is it possible to increase the size of the world map window to take advantage of these higher resolutions? There's a LOT of creamy yellow surrounding a miniscule map window.
4. Finally, is it possible to move the HUD up to the top of the screen in 720p mode?

Either way, I'd say I'm enjoying the dynamic resolutions branch so far, even if my childhood (well, 2018-ish and on) has been ruined by the discovery of how short The Invasion 2's levels actually are.

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: TheXTech: the modern port of SMBX engine [1.3.5.3] (Cross-platform SMBX is here!)

Postby Wohlstand » Wed Sep 07, 2022 8:56 pm

Dragon0307 wrote:
Wed Sep 07, 2022 8:25 am
I have a few things I'd like to ask about the dynamic resolution branch:

1. I am experiencing terrible screen tearing on my 60Hz display in the 720p and dynamic modes with the upscaler set to Nearest Neighbour. Will there be Vsync added to it at some point?
2. Are there compatibility options to force certain resolutions? I'm thinking of designing a project around 600p Dynamic.
3. Is it possible to increase the size of the world map window to take advantage of these higher resolutions? There's a LOT of creamy yellow surrounding a miniscule map window.
4. Finally, is it possible to move the HUD up to the top of the screen in 720p mode?

Either way, I'd say I'm enjoying the dynamic resolutions branch so far, even if my childhood (well, 2018-ish and on) has been ruined by the discovery of how short The Invasion 2's levels actually are.
1. You already can enable the vertical synchronisation if you set the option in the settings/thextech.ini file (will appear on first launch):
- find the [video] section
- set the `render =` field to the "vsync" value
Then, the game should use the vsync normally if supported by your GPU. Little note that normal SMBX's speed is ~65 FPS, but when vsync is enabled, the game will run a bit slower (60 FPS) if your monitor refresh rate is not set to 70+ Hz rate.
2. Compatibility modes do force specific resolution in only a few conditions. You may ask for details from ds-sloth who actually works on that sub-system.
3. There are ongoing discussions for that, and until the 38A feature of limit areas will be handled, a bigger world map viewport will lead players to see unfilled areas easily, causing certain spoilers.
4. Possible, it was placed with an offset by ds-sloth's selection, I'll forward him the question.

ds-sloth
Cheep-Cheep
Cheep-Cheep
Posts: 11
Joined: Wed Sep 07, 2022 9:09 pm
Pronouns: he/him

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

Postby ds-sloth » Wed Sep 07, 2022 9:24 pm

Hi @Dragon0307, I'm glad you like the multires features so far!

1. Do you get worse tearing here than with the current release of TheXTech? I'm confused why that would happen.
2. Cool! We're currently thinking about ways to help creators target their episodes to a specific resolution, so I'd be interested to hear what you're thinking of. If you're thinking of 600p Dynamic, would you want to force 3DS players to use an 1000x600 internal resolution? (This looks bad, the native resolution is 800x480.) For players on 720p screens, I assume you're thinking you'd want to limit the height, but allow the width to be flexible. Is that right?
3. For now, if you are willing to accept the issue of spoilers (or seeing unfinished areas), you can currently enable an expanded world map view using "[effects] world-map-expand-view = 1" in your config.ini. At the 1.3.7 release there will be simpler in-game ways to change these settings per world, and we will hopefully also have the Limit Area features Wohlstand mentioned.
4. The offset is needed for two reasons: (1) it keeps a consistent look when you enter / leave 600p sections, and (2) it keeps the amount of time the dropped item has to travel the same. It might be possible to add a setting here. There's currently a setting to display the HUD *exactly* where it would be in the SMBX logic (so when you're on the left of a level, the HUD will be off-center to the left of the screen). But first I'd want to know how much you would want that setting, and also get some input from other community members. We're trying to keep the number of options relatively low to avoid overwhelming users or accidentally breaking certain combinations of options.

ShadowXeldron
Snifit
Snifit
Posts: 232
Joined: Sun Dec 08, 2019 8:21 am
Flair: phpBB > ProBoards
Pronouns: He/Him
Contact:

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

Postby ShadowXeldron » Thu Sep 08, 2022 4:17 am

ds-sloth wrote:
Wed Sep 07, 2022 9:24 pm
Hi @Dragon0307, I'm glad you like the multires features so far!

1. Do you get worse tearing here than with the current release of TheXTech? I'm confused why that would happen.
2. Cool! We're currently thinking about ways to help creators target their episodes to a specific resolution, so I'd be interested to hear what you're thinking of. If you're thinking of 600p Dynamic, would you want to force 3DS players to use an 1000x600 internal resolution? (This looks bad, the native resolution is 800x480.) For players on 720p screens, I assume you're thinking you'd want to limit the height, but allow the width to be flexible. Is that right?
3. For now, if you are willing to accept the issue of spoilers (or seeing unfinished areas), you can currently enable an expanded world map view using "[effects] world-map-expand-view = 1" in your config.ini. At the 1.3.7 release there will be simpler in-game ways to change these settings per world, and we will hopefully also have the Limit Area features Wohlstand mentioned.
4. The offset is needed for two reasons: (1) it keeps a consistent look when you enter / leave 600p sections, and (2) it keeps the amount of time the dropped item has to travel the same. It might be possible to add a setting here. There's currently a setting to display the HUD *exactly* where it would be in the SMBX logic (so when you're on the left of a level, the HUD will be off-center to the left of the screen). But first I'd want to know how much you would want that setting, and also get some input from other community members. We're trying to keep the number of options relatively low to avoid overwhelming users or accidentally breaking certain combinations of options.
1. I do get worse tearing on my 60 Hz device in the Dynamic Resolutions branch, and I don't see any tearing on either the current stable version (1.3.5.1) or on my Gaming PC, which has a 165 Hz monitor.
2. I didn't give the 3DS any thought! I tried that version once, and promptly forgot about it. My 3DS is wrecked anyway so there's no way I could have tested it on there. I was mainly refering to the way 600p looks on both my desktop and laptop, which are both 1920x1080, 16:9. The height being locked and the width being flexible however is definitely what I'm after however.
3. I can live with that.
4. I'll live with it then. Part of the reason I want to go 600p anyway is because of the HUD anyway.

Thanks for coming back to me!
Last edited by ShadowXeldron on Wed Sep 14, 2022 4:45 am, edited 1 time in total.

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 v1.3.6: LunaDLL scripts, better controller support, etc.

Postby Wohlstand » Mon Sep 12, 2022 4:36 pm

TheXTech v1.3.6: LunaDLL scripts, better controller support, etc.
----------------------------------------------------------------------------------------------------------------------------------
We worked on this update long and hard, and now we're ready to present a bunch of new features and fixes!

Note: To get the full power of TheXTech while making new projects, the special Moondust Devkit configuration package is suggested (the latest laboratory Moondust Devkit required until the next stable devkit version 0.4.3.1 release).

Note 2: In order to gain access to all the new features, you should upgrade your assets package. Old ones will remain functional but do not contain the additions needed for features like new sound effects, the built-in editor, additional meta-signs, etc.

Note 3: Some options of the compat.ini file were renamed in order to get rid of references to proprietary content. We highly recommend renaming these fields at your episodes as soon as possible. (Details at the wiki)

Significant changes
  • The controllers' support has been reworked and improved: multiple profiles, more than one button/axes assigned to the same button, editable hotkeys, intuitive controller assignment between players on cooperative/battle games, and the touchscreen controller's general improvement (users can now tweak the touchscreen controller's layout for their convenience). The touchscreen controller now also works on any non-Android platforms (including Windows and Linux devices that feature a touchscreen).
  • Added real-time per-section SPC-like echo and reverb effects which can be used by episode creators to improve the atmosphere on their levels.
  • Added experimental built-in Editor, made for working on levels and episodes on mobile devices and consoles. Can be used on desktop platforms as well.
  • Introducing native support for LunaDLL Autocode (LunaScript) via the memory emulator, allowing you to play more old episodes on TheXTech even on non-x86 processors. Episodes and packed games (such as A2XT, Episode 1: Analog Funk) now officially work on the TheXTech engine.
  • Introducing the quad-tree optimisation for blocks which resolves a very old performance problem caused by horizontal layer motion.
Changes for 1.3.6: show
  • Added an ability to toggle drawing of the HUD and other on-screen metadata using the F1 key (@Wohlstand)
  • Added an ability to type cheats on the touchscreen using a special new cheats key (@Wohlstand, @ds-sloth)
  • Added native support for LunaDLL Autocode script language (@Wohlstand)
  • Added fail-counter feature (keeps counting deaths per game save) (@Wohlstand)
  • Reworked controller support (@ds-sloth)
  • Touchscreen support for non-Android platforms (@ds-sloth)
  • Added the ability to save multiple keyboard profiles (@ds-sloth)
  • New multiplayer start screen (@ds-sloth with design input from @0lhi)
  • Added controller disconnect recovery screen (@ds-sloth)
  • Ground pound by alt run is now a per-controller setting (@ds-sloth)
  • Added an ability to add/drop the second player from the pause menu (@ds-sloth)
  • Added the support for real-time audio effects such as reverb and SPC echo. Sounds.ini can configure them for each level section (@Wohlstand)
  • Performance improvements for showing, hiding and moving layers (@ds-sloth)
  • Reduced game object memory footprint (@ds-sloth)
  • Performance improvements when run on slow filesystems (@ds-sloth)
  • Fixed unexpected music that got started after the level got entered too quick from the world map (@Wohlstand)
  • Fixed the vanilla bug: a Player can get stuck in the pipe when entering it being a fairy (@Wohlstand)
  • Added an option to enable fast walking on the world map (@ds-sloth, @Wohlstand)
  • Added an ability to customize UI/common assets from the episode and level sides (@Wohlstand)
  • Added a blink effect at speedrun timer on level/episode completion (@Wohlstand)
  • Added an in-game editor based on the original game's editor code (requires EditorIcons.png asset) (@ds-sloth)
  • Added config option to show the current episode's title onscreen (@ds-sloth)
  • Fixed the clipped render of the Roto-Disk's effect (@Wohlstand)
  • Fixed the lock/star sign behaviour at locked two-way warps: now they work correctly at the opposite side (@Wohlstand)
  • Added an ability to set a different path for the user directory by command line argument (@Wohlstand)
  • Blocked an ability to start the game with no episodes or battle levels available in the list and prevented several issues with this (@Wohlstand)
  • Added option to disable or always perform 2x texture scale down optimization (@ds-sloth)
  • Added the ability to have multiple intro levels per assets pack (if the introset directory exists and it contains at least one level file, they will be selected randomly every time when the main menu opens) (@Wohlstand)
  • Added game selection menu into Android launcher: every browsed assets directory will be remembered and can be accessed quickly using the new menu (@Wohlstand)
  • Added the individual sound for Ludwig von Koopa's death (@Wohlstand)
  • Added the individual sound for Larry Koopa's death and shell spinning after stomp (@Wohlstand)
  • Fixed an improper new (when specific compatibility option is not disabled) behaviour of the Skull Raft when the head segment impacts a wall but loses a floor at the same time, causing the following segments to suspend forever (@Wohlstand)
  • Fixed the issue of a possible fall through the floor if walking point-blank to a block that had an extracted bonus and another solid block placed under it (does not happen if the "fix-player-downward-clip" option was disabled) (https://github.com/Wohlstand/TheXTech/issues/401) (@Wohlstand)
  • Removed the "require-ground-to-enter-warps" compat.ini option as redundant: there is the native option of LVLX and 38A-LVL level formats to enable this behaviour. (@Wohlstand)
  • Some options of the compat.ini have been renamed (for backward compatibility, there are aliases kept for now) (@Wohlstand)
  • Added the individual sound for Link's iceball shoot (@Wohlstand)
Showcases: show
Image

Image

Image

Image

Image
All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/r ... tag/v1.3.6

Tip: Please use the plain application package at the bottom of the page if you want to quickly update your existing engine without taking any assets updates (for example, if you has the modded assets you made yourself and you don't want to re-apply all your patches again).

Also, you may visit the official TheXTech documentation to learn more about the TheXTech:
https://github.com/Wohlstand/TheXTech/wiki

ShadowXeldron
Snifit
Snifit
Posts: 232
Joined: Sun Dec 08, 2019 8:21 am
Flair: phpBB > ProBoards
Pronouns: He/Him
Contact:

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

Postby ShadowXeldron » Mon Sep 12, 2022 6:54 pm

LunaDLL? Isn't that the assembly thing? I'm guessing that LunaLua compatibility won't come until multires is sorted out?

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: TheXTech: the modern port of SMBX engine [1.3.6] (Cross-platform SMBX is here!)

Postby Wohlstand » Tue Sep 13, 2022 11:28 am

Dragon0307 wrote:
Mon Sep 12, 2022 6:54 pm
LunaDLL? Isn't that the assembly thing?
There is a black magick memory emulator: https://github.com/Wohlstand/TheXTech/b ... mememu.cpp that allows to properly map and convert values between scripts and internally of TheXTech and makes scripts think they are working in SMBX. And that thing is able to work on any non-x86 processor properly. There isn't so much assembly except for places where are direct hacks. But, when I placed the code into TheXTech, I had to replace ASM hacks with direct code manipulations, because it's just normal work with the internality of the engine, not a black box hacking.

In the case of SMBX, it was a hack. With TheXTech, it's a native part of the engine itself, and you do not need anything also, just to have TheXTech engine itself, and you will have the Autocode scripts supported on a board already.
Dragon0307 wrote:
Mon Sep 12, 2022 6:54 pm
I'm guessing that LunaLua compatibility won't come until multires is sorted out?
It's compatible, except for absolute coordinates which possibly will be re-mapped to ensure they will be drawn properly even with a changed resolution.

ShadowXeldron
Snifit
Snifit
Posts: 232
Joined: Sun Dec 08, 2019 8:21 am
Flair: phpBB > ProBoards
Pronouns: He/Him
Contact:

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

Postby ShadowXeldron » Wed Sep 14, 2022 4:38 am

Wait, so there already is lua support? I remember nosing around in the repository once and seeing LuaJIT, but that's really about it. I tried running a script on the new patch but it didn't do anything so I'm gessing that the Lunalua events haven't been implemented.

Also, the repository wiki page on LunaDLL hasn't been made yet. Where would I go to learn this autocode thing? I can withstand lemon, so surely this won't be too much worse...

deice
Volcano Lotus
Volcano Lotus
Posts: 596
Joined: Fri Jul 23, 2021 7:35 am

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

Postby deice » Wed Sep 14, 2022 7:57 am

Dragon0307 wrote:
Wed Sep 14, 2022 4:38 am
Wait, so there already is lua support? I remember nosing around in the repository once and seeing LuaJIT, but that's really about it. I tried running a script on the new patch but it didn't do anything so I'm gessing that the Lunalua events haven't been implemented.

Also, the repository wiki page on LunaDLL hasn't been made yet. Where would I go to learn this autocode thing? I can withstand lemon, so surely this won't be too much worse...
i believe wohlstand was actually trying to say that multires already works but the sentence is just strangely structured. as far as i know xtech doesn't have lunalua support and the readme still indicates so as well.

as for autocode, here's the list of functions, and here's kil's old tutorial.

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: TheXTech: the modern port of SMBX engine [1.3.6] (Cross-platform SMBX is here!)

Postby Wohlstand » Wed Sep 14, 2022 5:21 pm

Lua support wasn't made yet, but there are literal plans to start using it in the next bigger version (except of minor updates such as 1.3.6.1, etc.). Multires implementation appears at the separated branch that stays in sync with the mainstream branch (used as a base of stable releases), and there are plans to merge it into mainstream as soon as currently known critical bugs (at multires branch) will be fixed. When it gets merged into mainstream branch, then multures support will appear in the next bigger stable version.

ShadowXeldron
Snifit
Snifit
Posts: 232
Joined: Sun Dec 08, 2019 8:21 am
Flair: phpBB > ProBoards
Pronouns: He/Him
Contact:

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

Postby ShadowXeldron » Thu Sep 15, 2022 4:17 am

deice wrote:
Wed Sep 14, 2022 7:57 am
Dragon0307 wrote:
Wed Sep 14, 2022 4:38 am
Wait, so there already is lua support? I remember nosing around in the repository once and seeing LuaJIT, but that's really about it. I tried running a script on the new patch but it didn't do anything so I'm gessing that the Lunalua events haven't been implemented.

Also, the repository wiki page on LunaDLL hasn't been made yet. Where would I go to learn this autocode thing? I can withstand lemon, so surely this won't be too much worse...
i believe wohlstand was actually trying to say that multires already works but the sentence is just strangely structured. as far as i know xtech doesn't have lunalua support and the readme still indicates so as well.

as for autocode, here's the list of functions, and here's kil's old tutorial.
Gotcha. The Vita readme and some files in the repository probably just added to the confusion.

Dxbros
Bob-Omb
Bob-Omb
Posts: 21
Joined: Sat Sep 03, 2022 6:40 pm
Flair: Mi FuTuRo Mundo
Pronouns: Dx
Contact:

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

Postby Dxbros » Sun Sep 18, 2022 2:44 pm

I installed txtech on my phone, and I even played it for a few days and it was fun to play on android, but it would be cooler if you could make your levels and worlds on your phone too, that way, when you can't use the pc just open the game and create your worlds, it's just an opinion I'm not saying they add it

ds-sloth
Cheep-Cheep
Cheep-Cheep
Posts: 11
Joined: Wed Sep 07, 2022 9:09 pm
Pronouns: he/him

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

Postby ds-sloth » Sun Sep 18, 2022 3:58 pm

Dxbros wrote:
Sun Sep 18, 2022 2:44 pm
I installed txtech on my phone, and I even played it for a few days and it was fun to play on android, but it would be cooler if you could make your levels and worlds on your phone too, that way, when you can't use the pc just open the game and create your worlds, it's just an opinion I'm not saying they add it
Glad you like it! There is an in-game editor currently in development and you can try an experimental version currently by enabling the editor in the config `ini` file. In the next major version, the editor will be more polished and you will be able to enable it at the in-game options menu.

Dxbros
Bob-Omb
Bob-Omb
Posts: 21
Joined: Sat Sep 03, 2022 6:40 pm
Flair: Mi FuTuRo Mundo
Pronouns: Dx
Contact:

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

Postby Dxbros » Sun Sep 18, 2022 4:05 pm

ds-sloth wrote:
Sun Sep 18, 2022 3:58 pm
Dxbros wrote:
Sun Sep 18, 2022 2:44 pm
I installed txtech on my phone, and I even played it for a few days and it was fun to play on android, but it would be cooler if you could make your levels and worlds on your phone too, that way, when you can't use the pc just open the game and create your worlds, it's just an opinion I'm not saying they add it
Glad you like it! There is an in-game editor currently in development and you can try an experimental version currently by enabling the editor in the config `ini` file. In the next major version, the editor will be more polished and you will be able to enable it at the in-game options menu.
thanks for the information, I appreciate it :mrgreen:

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: TheXTech: the modern port of SMBX engine [1.3.6] (Cross-platform SMBX is here!)

Postby Chanceux2 » Sun Nov 27, 2022 4:59 pm

Oh yeah by the way, for the next update, could you please add a download for updating a older installment of the game? Because I just lost my intro.lvl file and I almost lost like all of the sounds that I chose to replace.

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: TheXTech: the modern port of SMBX engine [1.3.6] (Cross-platform SMBX is here!)

Postby Wohlstand » Sun Mar 19, 2023 10:21 am

You don't need a specific "updater" to update an existing copy of the game: there are two variants:
  • Download the "Plain engine" package, and update the executable only to get new features of an updated engine but don't modify your current assets, and download the minimum stuff.
  • You can download the full copy of the game and unpack it over your current installation (with a replacement of files) if you want to update resources too. You even don't need to replace everything, you can unpack it into separate directories and take only the files that you want to replace into your installation of the game. Little note: sometimes, global assets get updated (for example, recently added new sound effects and updated graphics with fallbacks added), and you should verify the sounds.ini and resources to make sure all is in sync. If you don't apply changes to your sound.ini, the old logic will be used (nothing will change). So, that's how backward compatibility with old assets works.

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:

Farewell, SMBX Forums.

Postby Wohlstand » Sun Jun 18, 2023 10:49 am

Hello!

There is an important notice about the support of my projects on the SMBX Forum:

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.

I wish you all good luck. Farewell!


Return to “General”

Who is online

Users browsing this forum: No registered users and 2 guests

SMWCentralTalkhausMario Fan Games GalaxyKafukaMarioWikiSMBXEquipoEstelari