Types of bugs - TheXTech/TheXTech GitHub Wiki

(This article is a work in progress)

The TheXTech project is known as a direct continuation of the original SMBX engine of version 1.3 which was ported from VB6 into C++. The resulting port is very accurate, so, along with SMBX 1.3's physics behaviour and features, it inherits a large number of the original engine's bugs. And therefore, all reported bugs gets assigned to specific type:

  • Native bug or just a bug: it's an exclusive and unique bug of TheXTech which appears on TheXTech only and it never appears on the original SMBX engine. These bugs have the highest priority and they should be fixed as fast as possible. Native bugs may have next types:

    • Happens everywhere: These bugs occur with no matter to enabled compatibility modes. Any crash bugs are here. This is the top priority.
    • Modern mode bugs: These bugs happen in Modern Mode only and don't happen when one of compatibility modes are enabled.
  • Vanilla bug: it's a bug that got inherited from the original SMBX 1.3 engine and still gets reproduced in the TheXTech. Vanilla bugs have the next sub-categories:

    • Peculiarity - a case that doesn't act as expected, but doesn't really hurt the player. We usually don't change these, but they are very useful to document. Speedrunners may use these.
    • Bug - a case that could hurt the player's situation. We often fix these, but the fixes are often only enabled in Modern Mode.
    • Critical bug - a case that leads to an unfair death, a softlock, or an engine crash. We almost always fix these, and enable the fix in all modes except strict SMBX 1.3 compatibility mode.

To identify is the reported bug vanilla or native, you should use this version of the VB6-SMBX to verify the behaviour to ensure. It's a modified build of VB6-SMBX based on its original source code and has been extended to simplify its usage during verification process. It also allows you to record GIF demos using the F11 key.