Super Mario Bros. X by 38A

From PGE Wiki
Jump to navigation Jump to search

This page is about SMBX by 38A. For other uses, see SMBX (Disambiguation).

Super Mario Bros. X by 38A

SMBX-38a-LifeMushroom.png

SMBX38a-1-4-5-under-wine-5.0.png
Main menu of game

Platforms: Windows XP, Vista, 7, 8.1, 10
Linux/OS-X under Wine
Latest version: 1.4.5 (July 4, 2019)
Coded in: Visual Basic 6
License: Freeware / Closed Source
State: Actual
Download: Download SMBX by 38A
Source code:
Official site: SMBX at Baidu Tieab


Super Mario Bros. X by 38A (known as "SMBX-38A" and "SMBX 1.4") - is a Mario fan game engine, written by 5438A38A as an unofficial successor to the original Super Mario Bros. X by Redigit. The game is written in Visual Basic 6 (VB6). Before November 2015, SMBX 1.4.1 was considered to be fake until Kevsoft and Wohlstand found it and successfully installed it on their computers.

History

In 2013'th year, the Baidu Tieba user 5438A38A had told that the reason for SMBX 1.3 usage has much smaller significance than the development of a new game version, and he had announced the beginning of the "SMBX 1.4" development.

The SMBX-38A v1.4.0 Editor, Overview, 2015'th year
The SMBX-38A v1.4.0 Editor, TeaScript Editor, 2015'th year

The first version was been released in 2015'th year and was been published at the Baidu Tieba.[1] [2] Initially the game was available in China only, and was being hard to download outside the China and wasn't working on a non-Chinese computer. The first introduction for the SMBX-38A happened on September 13, 2015, when Snoopy Tour has made a post with a link to Baidu where the "SMBX 1.4.1" was published, but people are not beloved him (Everyone thought it was one another "SMBX 1.4" that was most known for being a fake around YouTube). Kevsoft tried to find a download link and finally found it, downloaded a recent build from Baidu Pan, and tried to test it on Windows 7 x64, but failed. When he sent this build to Wohlstand, he found a way to run it in Windows XP using virtual box[3]. Later Wohlstand contacted the original author and cooperated with him. Since that time, the SMBX-38A got been finally fixed to work on any computers in the world and developed popularity in the international community becoming a powerful competitor to the SMBX 1.3 and even to the SMBX2. Because the official SMBX community staff rejected the dedication of the place for SMBX-38A discussions, the official place for the SMBX-38A got the "home" at the WohlSoft Forums at the SMBX section.

The SMBX-38A v1.4.4 Editor, Overview, 2017'th year

During the 2016 and 2017'th years, people were found a lot of hidden features and easter eggs in the game: people were needed to solve the challenge or a bunch of math problems to get access to the hidden feature as a reward.[4]

Later, in 2018'th year, the Kevsoft the user has made the "Haxagon" utility[5][6] that got been used to crack in-game easter eggs easily (worked on 1.4.3 and 1.4.4 versions). This fact angered 5438A38A[7], and he added the next text as a response on the fact the game was hacked:

As a response to cheaters...

  1. The released date of smbx 1.4.5 will be postponed indefinitely, depending on my mood.
  2. The hidden functions will be completely remove in smbx 1.4.5, if you map used these features, you map will be broken.
  3. No documents(changlogs, script help file, example levels etc.) will be offer in smbx 1.4.5.
  4. The source code will never be published.

Why did this happen?

   "You can use ANY accessible tools or methods to beat this game, including calculators, search engines and other people. However, cheat engine or so-called 'debuggers' are NOT allowed."
  1. I didn't get any profits from this project.
  2. A lots people ignore my rules of bug reporting and feature suggestions.
  3. They paid no price and made no contributions and make a ton of suggestions.
  4. I add minigames as a punishment, but some people hacked it.
  5. So this is the result.
The SMBX-38A v1.4.5 Editor, Overview, 2020'th year
The SMBX-38A v1.4.5 Editor, World map testing, 2020'th year

In 2019'th year the new version for SMBX-38A 1.4.5 was out. The most of hidden features in this version were converted into normal functions and integrated into GUI. It got the majorly refactored GUI with a different overlay than attempting to repeat the SMBX 1.3 at the past version. This version got the most of the bugfix patches were out after release. People started to research it and got found various hidden offensive hints such as "crack me" inside the executable file.

System requirements

  • Operating system: Windows XP/7/8.1 or 10, or Windows XP on VirtualBox with support of Direct X and enabled 2D and 3D acceleration support!
    • SMBX-38A will work on Linux or on Mac with Wine, but you need to install the Direct X 9 and VisualBasic 6 Runtime (MSVBVM6). It is recommended that you use PlayOnLinux or PlayOnMac with the latest 32-bit version of Wine, but SMBX-38A works without it.
  • Direct X 9 support

Command line syntax (since January 21, 2016)

A new update of SMBX-38A 1.4.2 allows you to launch an episode or level test from the command line. (Also via drag&drop of the file into smbx.exe or associating ".wld" and ".lvl" files with executable.)

Note: Since 1.4.3 there is a new command-line syntax!

Command syntax:

smbx.exe [path mode p1id p2id args]

path

  • Path of level-/world-file or world-folder.

modes

  • from 0 to 4:
    • 0 - 1p mode (input: lvl)
    • 1 - 2p mode (input: lvl) / Load save 1 (input: wld/map)
    • 2 - battle mode (input: lvl) / Load save 2 (input: wld/map)
    • 3 - Start Game Engine with inputted worlds-folder (input: directory) / Load save 3 (input: wld/map)
    • 4 - Start Level Editor and load inputted level/world (input: lvl/wld)

p1id, p2id

  • from 1 to 5:
    • 1 - Mario
    • 2 - Luigi
    • 3 - Peach
    • 4 - Toad
    • 5 - link

args (for developers)

  • "SMBXArgs|hp,co,sr|p1p,p1i,p2p,p2i|levelname,cppid,cpidn" [***urlencode!***] (the whole string should be URL-encoded)
    • hp = initial 1up number
    • co = initial coins number
    • sr = initial score
    • p1p = player1's state
    • p1i = player1's mount
    • p2p = player2's state [1~12]
    • p2i = player2's mount [-3~8]
    • levelname = level's filename(same as "GGI|GM"'s levelname) [***urlencode!***] (this should be URL-encoded separately, no matter that an entire SMBXArgs line is also URL-encoded)
    • cppid = checkpoint's perm ID
    • cpidn = checkpoint's advset value

examples for SMBX-38A v1.4.2 (outdated)

Launch a test of the "test.lvl" in a battle mode with Mario and Luigi:

smbx.exe "d:\smbx\worlds\test.lvl" 2 1 2

Launch a test of the "anoying-place.lvl" in a 1 players mode with Toad:

smbx.exe "d:\smbx\worlds\anoying-place.lvl" 1 4 0

Launch a test of the world.wld with save 1 and with 1 player mode, with Mario:

smbx.exe "worlds\the invasion 2\world.wld"

Launch a test of the world.wld with save 1 and with 2 player mode, with Peach and Mario:

smbx.exe "worlds\the invasion 2\world.wld" 1 3 1

Launch a test of the world.wld with save 1 and with 1 player mode, with Link:

smbx.exe "worlds\the invasion 2\world.wld" 1 5 0

Version History

SMBX-38A 1.4.1 (65)

Important note: Some of those builds have a strong imperfection that requires you to toggle your locale into Chinese (on the non-Chinese operating systems) or there are will crash with Runtime 13 error. Those builds are using Direct X 8 and will not work on Windows Vista because it completely lacks it. You need to run the game as admin to allow it automatically register necessary COM servers in the presented DLLs.

SMBX-38A 1.4.2 (66)

SMBX-38A 1.4.3 (67)

SMBX-38A 1.4.4 (68)

SMBX-38A 1.4.5 (69)

Note: All patch archives has password 'smbx38a' due antiviruses false positives

Gallery

Comparison between PGE Project and SMBX-38A

What SMBX-38A has that PGE Project doesn't have in its components (yet)

  • Fully working and playable engine (however, has different physics even in comparison to official Redigit's SMBX implementations. PGE Engine allows customizing playable character physics to have any of them. But PGE Engine itself is still in alpha development state yet)
  • Tea Script (VB-Like language made by the developer of SMBX-38A)
  • More event actions (including the ones which are planned for PGE Engine)
  • More flexible exit codes parsing per level points on world maps (conditions are supported)
  • More flexible "physical environments" (aka "liquids") support: support of additional events, like trigger event when player/NPC intersected or contacted with the liquid zone
  • Round shaped "physical environment zones"
  • Support of "smart" blocks (this magical thing tries to guess which block must be placed near blocks which you recently placed (works similarly to Super Mario Maker), and it transforms these blocks into the "CORRECT" blocks)
  • Built-in graphics editor (it's already planned to appear in PGE Editor too. It will be more advanced with the support of animation making/configuring/debugging and with support of opening/saving directly into PNG and even GIF+GIFm for easier recoloring process, restyling or creating SMBX 1.3 compatible elements from scratch)
  • A lot of new stuff: blocks, NPCs, BGOs, power-ups, bonuses, etc! (they will be added in SMBXtended project for PGE)
  • SMBX-38A's levels and world map file formats are not compatible with SMBX 1.3. Support for SMBX-38A file formats is experimentally supported by all PGE components (in the PGE File Library).
  • Implemented layers and events system on the world maps (which are was planned for PGE Engine)
  • GUI-based config editing for blocks, BGOs, terrain tiles, paths, scenery, levels objects (even PGE Editor and PGE Engine are supports own INI-based custom configs for every object include backgrounds)

What PGE has that SMBX-38A doesn't have

  • Lua scripting which based on advanced luabind library! Lua gives the ability to code scripts with algorithms of any complexity! Lua is a popular scripting language used in many various games, engines, and other software and has a wide community that supports it. Together with LuaJIT, lua scripts are working fast almost compared to native code.
  • Multi-Document Interface in the PGE Editor which allows you to open and edit multiple files at the same time!
  • Multi-selection support with drag & drop support (implemented since SMBX-38A v.1.4.3)
  • History manager which tracks each of your changes and allows you to undo or redo them! (totally history manager of PGE Editor remembers about 300 actions, but you can change that limit in the settings if you won't remember more!)
  • Zoom support in the PGE Editor
  • Item specific context menu support
  • Programmable NPC-AI which allows you to make a completely new NPC from scratch without using pre-programmed algorithms. That will work in PGE Engine only.
  • Smooth animation with V-Sync support and variable frame delay in the PGE Engine.
  • Absolute customization with config packs system, which allows you to make absolutely new game from scratch with the full ignoring of already pre-made stuff and with ignoring of SMBX64 standard. (Different item sets: different default blocks, BGOs, NPCs, terrain tiles, sceneries, paths, level entrance tiles, sounds, music, character sets (number of them, their abilities), etc.)
  • Backward compatibility between SMBX 1...64 standard file formats, which gives the ability to make correct LVL/WLD files especially for old SMBX versions, including even SMBX 1.0, 1.2, 1.2.2, etc.!!!
  • User-friendly section-settings event configuring
  • Customizable and flexible tileset item boxes in PGE Editor, which allow you to create your own custom tilesets per level/episode! (unlike fixed tilesets of any SMBX Engine, how 1.3 and 38A too)
  • Customizable item counters inside debugger box in the PGE Editor
  • Filter search support for item selection boxes (for example, choosing which NPC will be packed into a block)
  • Filter-search and category-based item boxes
  • Search ability to find any placed items in a level and in the world maps
  • Position Bookmarks which allows you to bookmark your camera position! PGE Editor will remember these specific locations in level and world maps to let you quickly return back!
  • List-based warps editing
  • Cross-file section cloning support (unlike old SMBX engines, with PGE Editor you can clone sections between different files!)
  • Clearing section support (you can delete everything in a specific section with PGE Editor)
  • World Map testing support (you can walk on your new-created world map to preview it in real work, and imitate exit codes when you trying to enter levels)
  • Support of unlimited amount of sections (SMBX-38A still keep limit of 21 section per level)
  • Support of flexible BGO layering by Z-Layer/Z-Offset per each BGO (every individual BGO element can have its own Z-Order priority level which giving you full control over background objects in PGE Editor and in the PGE Engine, but partially with some tricks you even can manipulate with order priorities while saving levels for SMBX 1.3)
  • Built-in audio-conversion and bug-fixing maintain toolsets: you can convert PNG to masked GIFs which are compatible with SMBX <=1.3, convert SMBX's masked GIFs into PNG, fix lazily-made masks which causing wrong to render result with an alpha-blending algorithm, clearing-up junk NPCs caused by vine bug in SMBX 1.3, etc.
  • Automatic backups on the crash of the PGE Editor with auto-restoring ability
  • WIP plugin support in the PGE Editor coded in JavaScript
  • Customizable level backgrounds by background2-*.ini custom configs in PGE Editor and PGE Engine
  • PGE is Cross-platform: PGE has native Linux and Mac OS support without requirements of Wine usage, and also Android port of PGE Engine to play SMBX Episodes (and other games built on PGE Engine) on your Smartphone or Tabled!
  • Free and Open Source (while SMBX-38A is closed source, and also distributing in packed executable format, done with PECompact v.2)
  • PGE is coded in C++ and it never has international troubles which VisualBasic 6 has (Familiar error of SMBX 1.3 is RunTime error 13, caused by comma/dot mismatch in floating-point numbers inside NPC-*.txt custom configs).
  • PGE Editor and PGE Engine has full Unicode support which allows making own translations of GUI and in-game texts, character dialogues, etc., allows free use of non-ASCII characters in file names in international projects, etc.

What SMBX-38A and PGE both have now

  • Support of custom PNG CGFX
  • Hardware render with OpenGL (PGE-side) and Direct X 9 (SMBX-38A-side)
  • Line fill tool (in PGE there's a limit of 45 degrees to make correct slopes and walls. In SMBX-38A any line angle is allowed)
  • Rectangle fill tool
  • Flood-fill tool
  • Rectangle-based selection
  • Ability to export an image of any level region (in PGE it's more user friendly)
  • Vertical section wrap support
  • Custom world map music support
  • Modified SDL Mixer X library extended with the support of Game Music Emulator formats and with the support of looping OGG music files (via Vorbis tags). Added into SMBX-38a since Wohlstand made VB6 wrapper and sent it to 38A.
  • World Map music can be played in the editor
  • Circle fill tool (in PGE Editor placement at the corner like rectangular and line placement which allows making ellipses rather circles, in SMBX-38A placement is polar, at center)
  • Built-in GUI-based NPC.txt editor with an interactive preview of target NPC CGFX
  • Multiselection
  • Cannon-exit pipes which are shoots player out of the pipe on exit in both PGE Engine and SMBX-38A
  • Two-way warps which are requiring a single warp entry rather than two like in all versions of SMBX and old versions of SMBX-38A

Bugs

Random Crash

SMBX-38A has a Random Crash with "Runtime Error 9: Subscript out of Range".

Distorted Sound (Wine)

Wine Registry Editor

Depending on the system, running SDL2MixerVB.dll via Wine may produce a distorted audio output. There are two workarounds for this.

The first is changing the SDL audiodriver to winmm, which can be done by entering "wine regedit" in a terminal, navigating to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\, adding a new String Value SDL_AUDIODRIVER and modifying it to winmm.

The second is using a version of SDL2MixerVB.dll built on SDL 2.0.8. It can be downloaded here.

D-Pad doesn't work

In some cases, SMBX-38A may not recognize D-Pad inputs, but Analog inputs will still work. antimicro and xboxdrv can work around this issue.

Links

References


Super Mario Bros. X