Meet TheXTech: a full working cross-platform port of SMBX engine [1.3.6.5]

Description: General discussion regarding the current engine development.
Moderators: Moderators, Semi-moderatos

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #1by Wohlstand » 14 Mar 2020, 16:18

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 to you all: it's a full C++ port of the original SMBX engine which now works on multiple platforms (tested on Linux, Windows, macOS, Haiku, and Android), and it does accurately represent original gameplay with the rest of features and bugs!


Some screenshots
Image

Image

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 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, 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
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 PGE Engine, why you have spent over one month crafting this thing?
I need it for PGE Engine development directly, it's much easier to hack and inspect rather than deal 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 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 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 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 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 the 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 as 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, include default assets (graphics, music, sounds, intro and outro levels, default battle, and worlds folders).

How to develop episodes targeted to TheXTech?
This engine has full compatibility with almost all old episodes developed for SMBX 1.3 with some minor exceptions (if the certain level or episode do rely on the bug of the old game, you can add the "compat.ini" file at your level or episode to re-enable certain bugs which are required for level or episode to work normally).

You can use the same tools as you used to develop episodes for the original SMBX 1.3 (include the classic built-in editor of the old game). The engine doesn't include its own editor anymore, instead, you have two options to get the editor for this engine: do use the vanilla Editor and have all limits as SMBX 1.3, or do development in the modern Moondust Editor that will allow you to use brand-new features of the engine were inaccessible from the old editor.

You need to simply download the standalone Moondust (PGE Project) toolchain and take the latest "SMBX 1.3 Compatible" configuration package. Once you will start the PGE Editor, to get the direct level testing work, you should open (or create a new) any level file, open the Test->TheXTech menu, and choose the "Change path to TheXTech..." menu item. You should specify (or browse) the full path to the actual executable of the game, and press the Ok button. Once you set this properly, you can press the F5 key to start the level testing now.

You can save your level and world maps in LVLX and WLDX format, they are natively supported by TheXTech include the numerous unique features that came from Moondust and SMBX-38A standards, for example, the full ability to use the Z-Layer and Z-Offset, the warp enter the event, the custom "stars needed" message text, two-way warps, portal warps, vertical section wrap, support for more than 21 section, etc. On world maps, there are more than 5 credit lines available and the ability to set up the custom music file provided. The engine does the full support for PNG graphics and a lot of music and sound formats, customizable player hitbox calibration files (the same as for PGE Engine and SMBX2 being used).


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 deep integration with PGE Editor that will allow 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 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 only 8bit ANSI support).
  • For graphics and controlling, it uses an SDL2 library while the original game has used WinAPI calls and GDI library.
  • It uses PGE-FL that has better file format support.
  • A support for WLDX world maps is 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 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 game save, you still can resume your game by using a new engine now (the next gamesave attempt will result in a SAVX file, an 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 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/TheXTech/TheXTech/wiki/Building-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 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 be 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.

The official TheXTech documentation
Image
- https://github.com/TheXTech/TheXTech/wiki
Here you'll find a lot of guides and explanations for most of the TheXTech.


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.

Download the game:
All stable downloads were at the project's home page

If you are looking for fresh in-development versions, please see this page.

Needed more episodes?
If you are looking for more episodes, please visit the archive of preserved SMBX episodes (You can browse these directories where episodes will be compatible: SMBX 1.3, SMBX 1.0 - 1.2, and TheXTech. All other directories will contain incompatible episodes that will not properly work, see details here).

Also, you can find some episodes at SMBX Episodes section of WohlSoft Forum, or browse the episodes sub-section at SMBX forum where you still can find any compatible episodes (which was originally targeted to SMBX 1.3).



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

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


Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #141by Wohlstand » 20 Nov 2023, 6:25

romerofan0162 wrote:Well, it's looking better with each update. I am so excited for version 1.3.7 (with widescreen support). Any idea when it'll be out? :)
You can track down for the development version, possibly in this month, the multires update will be merged, so, you will be able to see that thing very soon. There are also other biggies were planned for 1.3.7, so, it would out as a stable release in the next year.
Image

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

TheXtech v1.3.6.2: Bugfixes update

Post #142by Wohlstand » 20 Nov 2023, 6:26

The new stable version of TheXTech 1.3.6.2 has been released!

This is a small update that fixes small a set of bugs found in the previous 1.3.6.1 release and introduces the experimental Wii U support.

Changelog for 1.3.6.2
  • Fixed a crash on attempt to add a game directory after storage permission grant on Android (@Wohlstand)
  • Added workaround for Little File Manager on Android (to open level file by content with no resources) (@Wohlstand)
  • Fixed TheXTech 1.3.6.1 bug where error messages at the main menu would lock the game (@ds-sloth)
  • Fixed an inability to parse LunaDLL Autocode files via MSVC builds of the game (@Wohlstand)
  • Added experimental support for the Nintendo Wii U homebrew platform (@Wohlstand).
  • Fixed audio not working when "/3ds/dspfirm.cdc" is missing on the 3DS (workaround works for the Citra and the HLE engine only, for the hardware and the LLE mode, you are required to obtain the true dspfirm.cdc file) (@Wohlstand).

Read full changelog at the "changelog.txt" file in the packages or in the source code archives.

All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/releases/tag/v1.3.6.2

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
Image

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

TheXtech v1.3.6.3: Bugfixes update

Post #143by Wohlstand » 21 Jan 2024, 3:19

The new stable version of TheXTech 1.3.6.3 has been released!

This is a small update that fixes small a set of bugs found in the previous releases.

IMPORTANT NOTE: Since this version, the Alt-Run will be used instead of the Down button to perform the ground pount using a Purple "horse". The Down button behaviour will work when playing with the compatibility mode.

Changelog for 1.3.6.3
  • Fixed a TheXTech 1.3.6.1 crash where object lookup table could not process items with negative size (@ds-sloth)
  • On level load, replace negative item sizes with size zero (such items cannot be created by any editor)
  • Fix TheXTech 1.3.6.1 bug where item would drop above incorrect player in SharedCoop mode (@ds-sloth)
  • Fix rare TheXTech 1.3.6 bug where newly-added player could get stuck in immune state if other player died (@ds-sloth)
  • Display current version (and git revision if a dev build) on title screen (@ds-sloth)
  • Wii U port: add WUHB build (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug where the score display would not show '9's when using legacy assets (@ds-sloth)
  • Use the ANGLE shader translator library to improve support for OpenGL ES 3.0 shaders on desktop platforms (@ds-sloth)
  • Fix vanilla / TheXTech bug where a player could clip into ground while standing on a downwards-moving slope, guarded by fix-player-downward-clip compat flag (@ds-sloth)
  • CONTROLS / LOGIC CHANGE: when riding a purple pet mount, alt run is now used to enter a pound (down is still used in compat mode) (@0lhi, @ds-sloth, @Wohlstand)
  • Fix TheXTech modern mode bug where simultaneous slope-ground collisions were not handled properly (@ds-sloth)

Known issues
  • On Wii U, can't run the WUHB-packed game via Aroma in the second time because of possible Aroma-side bug.
  • On Wii U, Attempt to quit the WUHB-ran game will lead a black screen when running it via Aroma.
  • On Windows 10 when running OpenGL with some ~2006 Intel iGPU on laptop, game would crash.
  • On Emscripten, edited levels may be lost after closing the game.

Read full changelog at the "changelog.txt" file in the packages or in the source code archives.

All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/releases/tag/v1.3.6.3

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
Image

VP1
Passerby
Passerby
VP1
Passerby
Passerby
Reputation: 1
Posts: 2
Joined: 30 Jan 2024

Post #144by VP1 » 30 Jan 2024, 11:37

Hi, I'm migrating away from "Coppercube" 3D game engine because I wanted to start making my own dedicated 2D Platform games, using Windows11.

I stumbled across SMBX and PGE yesterday - quick question please: which engine/version/fork should I choose?
I'm a bit confused by all the different versions and names. Maybe they're forked projects or older versions?...
eg: Would I use: SMBX, PGE game engine, PGE editor, TheXTech, or Moondust?

I tried SMBX first and now I'm looking at the PGE-editor (which looks similar to SMBX but a bit better in my opinion), finally I installed Moondust which is very similar to PGE, maybe it's a later version of PGE, with a project name-change?

Either way, what do most people prefer/recommend please? - which is the latest/best version to use?

Also, is there a dedicated game-player to play exported games made with the engine?

Thank you.

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #145by Wohlstand » 31 Jan 2024, 7:48

VP1, hello and welcome!

Lemme answer to every your question.

After original SMBX lost its maintenance in 2011, there are several people independently to each other started attempts to replicate or hack it. Right now, there are different projects existing.

VP1 wrote:I stumbled across SMBX and PGE yesterday - quick question please: which engine/version/fork should I choose?
I'm a bit confused by all the different versions and names. Maybe they're forked projects or older versions?...
eg: Would I use: SMBX, PGE game engine, PGE editor, TheXTech, or Moondust?
Yes, "Moondust" is a new name of "PGE", it had been rebranded completely. TheXTech is a totally different project, developed independeltly. The "SMBX" is a name of the fan-game about Mario, but, right now, there are different engines with different functionality do implement it. These engines called "branches" - different codebases, different functionality, different goals, and different developers and teams.

If you want to learn about SMBX in general, here is an article that I wrote: https://wohlsoft.ru/pgewiki/Super_Mario_Bros._X
And, if you want to learn the difference between every branch of SMBX (note, they aren't versions, they are branches. The "version" is appliable to different snapshots of the same branch): https://wohlsoft.ru/pgewiki/Branches_of_Super_Mario_Bros._X

In short:
  • SMBX - Initially, it's a fan-game about Mario, founded by Andrew Spinks (now notable as Terraria founder) in the year 2009 and maintained up to 2011. The last version is 1.3. Right now, considered as a fully deprecated. Builds are still available at my server for everyone. Also, here is my forked and slightly updated version for local experiments, verifications, and debugs. No, it CAN'T be used to make a fully-new game from the scratch. It's a pretty hard, you will need to have a VB6 environment to produce modified builds of the game (You can't run it on Win11, it needs Windows XP ran in VM).
  • LunaDLL - the first successful DLL-Injection-based mod for the SMBX made by Kil (member of Talkhaus community) with a goal to extend SMBX's functionality via assembly hacks. Right now fully deprecated and replaced by LunaLua.
  • LunaLua - The successor of LunaDLL that introduces Lua scripting, made by my friend Kevsoft. Deprecated as being replaced by the X2 (see below).
  • Moondust Project (formerly known as "PGE Project") - Is a game engine and development kit for it, founded by me in 2014 (in this March, the 10 years anniversary is :huaji:). The whole project built from the scratch, and has a goal to keep compatibility to the content made for the SMBX. The SMBX inspired me at end of 2013 to found this project. Right now, engine counterpart is heavily WIP and can't be used for production, but it can be used for experiments with the functionality. Yes, this engine is more suitable for the fully new game from the scratch. But again, it's NOT ready for production. The Development Kit of Moondust Project right now is widely used by SMBX community to develop levels and episodes for different SMBX branches.
  • X2 (also known as "SMBX2" or "SMBX 2.0") - it's NOT a "version", it's a full-featured BRANCH of the SMBX: it's a massive mod over the original SMBX: it's a further continuation of the LuanLua project. It's a combination of the LunaLua hack, Moondust Devkit, a pile of lua scripts, and the hand-made browser-based launcher application as the frontend. No, it can't be used to make a new standalone game, but it can be used to make an episode that may include your custom resources, lua-scripts, extensions, etc. that will be ran from the launcher of the X2.
  • SMBX-38A - Another branch of the SMBX, developed by Chinese guy known as "5438A38A" from the scratch. It's different to other SMBX branches, it has different physics, different functionality, etc. You can make a kind of the standalone game, but very very limitedly, it's required to do a lot of very hacky tricks to do some. You may want to ask HengShao guy for some tips. Anyway, on this moment, there is no updates being released for a while, and developer doesn't apperas online for two years.
  • TheXTech - Another branch of SMBX, developed by me with C++, SDL2, FreeImage, and MixerX, founded in 2020 after one month when original SMBX's source code had been released in 2'nd of February, 2020. It's a DIRECT continuation of the original SMBX engine, but unlike the original SMBX it's a cross-platform and lightweight.

About your game: it's REALLY depends on what kind game you are going to develop. If you want to develop a fan-game about Mario, you may want to use one of SMBX branches (TheXTech, SMBX-38A, or X2). If you want to develop a totally different game, you can try to use the Moondust Engine (but again, it's WIP and not ready for production), or use Godot (2D and 3D game engine) or Solarus (for J-RPG games). I going to reconstruct the Moondust Engine in the future, making it cleaner and better-documented, so, it will can be used for production, but right now, do use other stuff.

Added after 34 minutes 22 seconds:
VP1 wrote:Either way, what do most people prefer/recommend please? - which is the latest/best version to use?
I don't recommend to focus on popularity, do choice wisely according to your needs. Functionality of different SMBX branches is different, and goals is different.

  • I can say that TheXTech focuses on preservation of old content and on extending of functionality of engine itself rather than adding new content.
  • X2 focuses on adding ton of new content and some engine improvements. So, it has a lot of new content for the SMBX game assets, has robust lua scripting system with various features and extra lua-coded helper modules.
  • TheXTech is a fully-standalone monolythic game engine (it can be built from the source into one single monolything executable with a set of dynamic libraries or as a fully-monolythinc executable {everything linked statically}). TheXTech is well-optimized (but not ideal), and so, it has very low system requirements, and it can work on almost any hardware, even on a "toaster". :doge:
  • X2 while looks as very cool and impressive thing, it's a mod over original SMBX, it has several technical limitations like totally no 64-bit support and no non-x86 architectures support, high system requirements, very heavy content base, etc. Both SMBX branches do support Moondust Devkit to develop levels and episodes.
  • TheXTech has a different manual on how to prepare a devkit for it. It uses the same Moondust Devkit as X2 up to Beta 4, but: TheXTech uses official Moondust Devkit only, and X2 since next version will use a forked version of Moondust Devkit that will work in some cases differently.
  • TheXTech is fully cross-platform, it can work on Windows, Linux, macOS, Android, Haiku, etc. as well, as working on different CPU architectures as x86, x86_64, armv7, aarch64, powerpc, ppc64el, etc.
  • X2 is Windows desktop only with x86 or x86_64 processors (It may work on aarch64 with a translator, but it's performance will be slower than on native architecture).
Image

VP1
Passerby
Passerby
VP1
Passerby
Passerby
Reputation: 1
Posts: 2
Joined: 30 Jan 2024

Post #146by VP1 » 31 Jan 2024, 12:11

Perfect!

Thank you so much for all the information and in-depth explanations.
I really appreciate your time and help.
:clapping:

I love the Moondust Editor development so far. It's a really great project!
I'll check out your "TheXTech" for now and see what I can create!

I love platform games but I"ve never played any of the Mario games.
I'm hoping to create simple remakes of ZX-Spectrum platformers such as: "Saboteur" or "The Sacred Armour of Antiriad"
or Amiga games such as "Switchblade" or "Rick Dangerous".

I want to dedicate all my time into learning/developing one single engine/game-type.

Thanks again. Good luck!

Chanceux2 M
Our friend
Our friend
Chanceux2 M
Our friend
Our friend
Age: 14
Reputation: 7
Posts: 69
Joined: 10 Oct 2021

Post #147by Chanceux2 » 6 Feb 2024, 4:23

how do i disable the fail counter? if thats even possible

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #148by Wohlstand » 6 Feb 2024, 9:31

Chanceux2 wrote:how do i disable the fail counter? if thats even possible
Easy: via compat.ini in the episode, or via the gameinfo.ini globally.
Image

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

TheXtech v1.3.6.4: Bugfixes update

Post #149by Wohlstand » 11 Feb 2024, 1:38

The new stable version of TheXTech 1.3.6.4 has been released!

This is a small update that fixes small a set of bugs found in the previous releases. This version includes a HOTFIX that fixes the startup crash on 32-bit Windows platforms and fixes random crashes that may happen with non-SIMD builds of the game.

Changelog for 1.3.6.3
  • Use OpenGL as the default renderer on supported platforms ("sdl" may be used in config.ini or at at the command line to request the SDL2 renderer)
  • Add ability to edit battle levels using in-game editor (@ds-sloth)
  • Fix bug where it was not possible to return to the main menu from an invalid battle mode level (@ds-sloth)
  • Fix vanilla bug where P2 could not close message box during shared screen coop (@ds-sloth)
  • Changed credits font id to 5 for outlines. (@0lhi)
  • Fix Emscripten bug where worlds created in the editor would get lost on page refresh (@ds-sloth)
  • Remove option "osk-fill-screen"; this behavior is now used whenever a touchscreen is active (@ds-sloth)
  • Fix TheXTech 1.3.6.1 crash on activating a joystick with an empty SDL name (@ds-sloth)
  • Fixed the TheXTech 1.3.6.3's startup crash on some 32-bit Windows systems. (@Wohlstand)
  • Removed config option "editor-edge-scroll" (enable by default on gamepads) (@ds-sloth)
  • Add ability to scroll in editor using mouse wheel or touchpad (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug where bitmask GIFs would sometimes be rendered incorrectly (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where the editor could occasionally crash when placing warps (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where the editor could not set the level name (used in battle mode) (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug affecting debug builds where the editor could crash when erasing objects (@ds-sloth)

Known issues
  • On Wii U, can't run the WUHB-packed game via Aroma in the second time because of possible Aroma-side bug.
  • On Wii U, Attempt to quit the WUHB-ran game will lead a black screen when running it via Aroma.
  • On Windows 10 when running OpenGL with some ~2006 Intel iGPU on laptop, game would crash (Possibly fixed).
  • On Emscripten, edited levels may be lost after closing the game.

Read full changelog at the "changelog.txt" file in the packages or in the source code archives.

All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/releases/tag/v1.3.6.4

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
Image

Alucard
Our friend
Our friend
Avatar
Alucard
Our friend
Our friend
Reputation: 8
Posts: 64
Joined: 5 May 2014

Post #150by Alucard » 4 Mar 2024, 16:46

Google chrome outright blocks XTech download, treating it as virus.
https://www.virustotal.com/gui/file/a3e9638acc0c7 ... e8127b69fef9dc1535cb/detection

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #151by Wohlstand » 4 Mar 2024, 17:26

Alucard wrote:Google chrome outright blocks XTech download, treating it as virus.
https://www.virustotal.com/gui/file/a3e9638acc0c7 ... e8127b69fef9dc1535cb/detection

False positives are pretty annoying... And at the Google itself in the Search Console I do see the security report but totally no links to "faulty" stuff given.
Image

ds-sloth
Advanced Moderator
Advanced Moderator
ds-sloth
Advanced Moderator
Advanced Moderator
Reputation: 0
Posts: 6
Joined: 20 Feb 2022

Post #152by ds-sloth » 15 Mar 2024, 2:15

Perhaps because we also host 38A on the Wohlsoft servers? I have heard that when one executable on a website has a bad pattern, all other executables also get marked.

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

Post #153by Wohlstand » 15 Mar 2024, 2:56

ds-sloth wrote:Perhaps because we also host 38A on the Wohlsoft servers?
Yes, that is, and I had been passworded them to avoid further false positives.
Image

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

TheXTech v1.3.6.5: not just a bugfix update

Post #154by Wohlstand » 23 Apr 2024, 16:41

The new stable version of TheXTech 1.3.6.5 has been released!

This is a minor update that adds some features, and fixes a variety of vanilla and TheXTech bugs found in the previous releases.

Changelog for 1.3.6.5

New features:
  • Added an experimental Sub-Hubs sub-system: it's will be possible to mark any level as a "sub-hub" where player can save the game and resume it from that level instead of the main hub (@Wohlstand)
  • Added the CopyVar command to the LunaScript which allows to copy value of one user variable to another (@Wohlstand)
  • Allow asset packs to customize Font 5 (outlined mixed-case font) (@ds-sloth)
  • Added automatical language detection for Vita (@Wohlstand)
  • Misc stability and performance improvements for the 3DS and Wii ports (@ds-sloth, @Wohlstand)

New vanilla bugfixes:
  • Fix vanilla bug where an incorrect frame gets shown when player attempts to enter the star-locked pipe, guarded by compat flag fix-visual-bugs (@Wohlstand)
  • Fix a vanilla graphical bug where an NPC emerging upwards from a block might use the wrong frame and width (@ds-sloth)
  • Fix the logical size of an NPC emerging downwards from a block, guarded by compat flag fix-npc-emerge-size (@ds-sloth)
  • Fix a vanilla bug where blocks could become intangible to NPCs after a coin switch was used (@ds-sloth)
  • Add a terminal velocity of 16 for lineguide platform blocks, guarded by compat flag fix-platform-acceleration (@ds-sloth)

TheXTech bugfixes:
  • Fix TheXTech 1.3.6 bug where auto movement on the world map was not reset when switching episodes (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where dropping a player at the world map removed their mount (@ds-sloth)
  • Fix TheXTech 1.3.6.4 editor bug where NPCs could not be erased from a battle level (@ds-sloth)
  • The fails counter now increments whenever any player dies (not just P1) (@ds-sloth)
  • Add a workaround for a memory exhaustion error from lineguide platform blocks (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where carefully-constructed single-frame wall clips would not work in TheXTech (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where the vanilla player-filter-bounce bug was not correctly reproduced in TheXTech (@ds-sloth)
  • Fixed a leak of file descriptors in the translations sub-system (@Wohlstand)
  • Fixed the problem when anti-cheat trap will break levels in the editor (@Wohlstand)
  • Fixed the unexpected fade-in effect that gets played during any level quits by warps (@Wohlstand)
  • Fixed the incorrect work of the touch screen on PS Vita (@Wohlstand)

Known issues
  • 3DS and Wii ports do not run at the native system resolution.
  • Audio may be choppy on Old 3DS.
  • On Wii U, can't run the WUHB-packed game via Aroma in the second time because of possible Aroma-side bug.
  • On Wii U, Attempt to quit the WUHB-ran game will lead a black screen when running it via Aroma.
  • On Windows 10 when running OpenGL with some ~2006 Intel iGPU on laptop, game would crash (possibly fixed).

Screenshots
Sub-hubs in Moondust Editor with recent TheXTech SDK:
Image

Going between sub-hubs example:
Image


Read full changelog at the "changelog.txt" file in the packages or in the source code archives.

All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/releases/tag/v1.3.6.5

Tip: Please use the plain application package at 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). However, in some cases assets should be updated to bring some of new features.

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

Wohlstand M
Topic author, Lead Developer
Lead Developer
Avatar
Wohlstand M
Topic author, Lead Developer
Lead Developer
Age: 32
Reputation: 513
Posts: 1841
Joined: 15 Feb 2014
English Pronouns: he/him
Location: Moscow, Russia
Website Youtube channel URL Skype Tencent QQ

TheXTech v1.3.6.6: now it's just a bugfix update

Post #155by Wohlstand » 24 Sep 2024, 5:53

The new stable version of TheXTech 1.3.6.6 has been released!

This release fixes several bugs that was found in the previous release of 1.3.6.5 as the possible final release of the 1.3.6.x branch. So, the next station is "1.3.7"! :doge:

Changelog for 1.3.6.6

New vanilla bugfixes:
  • Fix vanilla bug where vehicle could be vulnerable if player entered it during AltJump (requires frame perfect down press), guarded by compat flag "fix-vehicle-altjump-bug" (@ds-sloth)
  • Fix vanilla bug where vehicle could not be exited if player entered it while holding AltJump key, guarded by compat flag "fix-vehicle-altjump-lock" (@ds-sloth)
  • Fix vanilla bug where player can get softlocked if hit by a grabbable NPC while digging dirt, guarded by compat flag "fix-player-stuck-on-dirt" (Classic Mode) (@ds-sloth)

TheXTech bugfixes:
  • Fixed the problem when a touch screen is not detected on some Android devices (@Wohlstand)
  • Fix minor bug that caused certain configurations on macOS to crash on startup (@ds-sloth)
  • Fix Wii U bug where resizing the game screen could cause the game to crash (@ds-sloth)
  • Fix TheXTech 1.3.6.1 crash caused when a pet mount is eating the last NPC in the level and the eaten NPC is killed (@ds-sloth)
  • Fixed Wii U bug where game quits into the black screen instead of the Wii U's main menu when game started from the Aroma (@Wohlstand)
  • Fix TheXTech 1.3.6.1 inaccuracy allowing the player to dismount a vehicle when blocked by an NPC (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug where conveyor belts would sometimes not activate correctly (@ds-sloth)
  • Fix TheXTech 1.3.6.1 OpenGL bug where the shadow effect interacted inaccurately with bitmasked textures (@ds-sloth)
  • Fix TheXTech 1.3.6 bug where it was impossible to unpause while holding an item (@ds-sloth, thanks to SimplyMav for the report)
  • Fix TheXTech 1.3.6.1 bug where GIF masks for sizable block 261 were not loaded (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug where SMBX level version autodetection did not work for platforms (note that this logic will be fully removed in 1.3.7) (@ds-sloth)
  • Fix TheXTech 1.3.6.1 bug where NPCs on hidden layers were incorrectly allowed to chain-activate (The bug affected the outro scene of Dynamite Grotto in SRW2). (@ds-sloth)
  • Add workaround for TheXTech 1.3.6.1 Modern Mode inaccuracy where NPC clipping did not match SMBX 1.3 (This bug affected the same scene). (@ds-sloth)

Known issues
  • 3DS and Wii ports do not run at the native system resolution.
  • Audio may be choppy on Old 3DS.
  • On Windows 10 when running OpenGL with some ~2006 Intel iGPU on laptop, game would crash (possibly fixed).

Read full changelog at the "changelog.txt" file in the packages or in the source code archives.

All downloads at the official page of the project!

GitHub Release page: https://github.com/Wohlstand/TheXTech/releases/tag/v1.3.6.6

Tip: Please use the plain application package at 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). However, in some cases assets should be updated to bring some of new features.

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

RunninPigeon M
Citizen
Citizen
Avatar
RunninPigeon M
Citizen
Citizen
Age: 18
Reputation: 0
Posts: 8
Joined: 27 Nov 2021
English Pronouns: He/Him
Location: World 3 (Hawaii)

Post #156by RunninPigeon » 26 Sep 2024, 10:50

I was a tester for the Switch port!!!!!! :biggrin:
Both a fan of 2 Cartoon Blue Birds!

Userbars:
Image



Image


Return to “Engine Development”

Who is online (over the past 5 minutes)

Users browsing this forum: 2 guests