thextech.ini Tune game settings - TheXTech/TheXTech GitHub Wiki

NOTE: This will be a part of "Config Update" in the future of 1.3.7.

thextech.ini is the settings file of TheXTech. It will appear in the "settings" subdirectory once you start the game for the first time. Here you can easily configure the game options to your liking.

[main]

This section contains the generic settings of the game.

  • release= - (integer) Contains the internal SMBX number of the engine. Just a constant.
  • full-screen= - (true/false) Starts the game in full-screen mode.
  • record-gameplay - (true/false) Added in 1.3.6 Enable recording of special demo files which can be played by engine in the future. You may send these demos with the level file to give a bug reproduction example.
  • use-native-osk - (true/false) Added in 1.3.6 (Android only) Use the native text typing dialog with Android's on-screen keyboard.
  • enable-editor - (true/false) Added in 1.3.6 Enable an experimental built-in editor.
  • language - (string) Added in 1.3.6.1 Specifies the desired language for game translations. If "auto", uses the detected system locale.

[logging]

This section allows you to setup the logging of game's workflow.

  • log-path - (string) An absolute path to the custom logging directory. If empty, log files will be saved in the default location (i.e. the logs sub-directory at the user-side game directory).
  • max-log-count - (integer) The number of log files being kept in the logs directory. Oldest log files will be removed automatically. Default is 10.
  • log-level - (disabled/fatal/critical/warning/info/debug) - Specify the level of the logging:
    • disabled (also nolog, or off) - Completely disables the logging into files.
    • fatal - Only fatal errors will be logged.
    • critical - Only critical and fatal errors will be logged.
    • warning - In additional to critical and fatal errors, warning messages also will be logged.
    • info - (As of TheXTech 1.3.6.3) In additional to warnings, critical and fatal errors, there are special info messages will be logged. Default in release builds of TheXTech since 1.3.6.3.
    • debug - Do log everything, including detailed description of the internal workflow. Do use this level if you want to figure for the possible failure, or you want to send a detailed bug report. Default in debug builds and in TheXTech of 1.3.6.2 and older. Note: If you set this log level, you may notice some performance problems on devices with a slow storage access speed (some mobile devices, computers with slow or overloaded HDDs, and consoles like 3DS, Wii, Wii U, etc.).

[video]

As of TheXTech 1.3.6.1

  • render= - (sw/hw/opengl/opengles/opengl11/opengles11) Allows you to set one of the available rendering modes:

    • hw - Auto-select the renderer.
    • sw - SDL2 renderer with software rendering mode; has the highest system compatibility but poor performance and few features.
    • sdl - SDL2 hardware-accelerated mode, automatically falls back into the software rendering mode if not available. Has high performance and compatibility but missing features needed to properly display some GIF bitmasks.
    • opengl - Default Render since 1.3.6.4. Desktop OpenGL renderer using all modern features, in beta as of 1.3.6.1. Has high performance and supports GIF bitmasks. Will support additional features in future releases.
    • opengles - Mobile / web OpenGL renderer using all modern features, in beta as of 1.3.6.1. See notes above.
    • opengl11 - Desktop OpenGL renderer using only legacy (1997) functionality, in beta as of 1.3.6.1. Has moderate performance and supports GIF bitmasks. Supports no other extra features.
    • opengles11 - Mobile OpenGL renderer using only legacy functionality, in beta as of 1.3.6.1. See notes above.

    Some modes are not available on all devices.

  • vsync= - (true/false) Added in 1.3.6.1 Enables vSync, which attempts to lock the game framerate to the screen's refresh rate. (NOTE: SMBX64 targets 65 FPS, but most screens refresh at 60Hz. This will make the game speed multiply by 12/13, which means slightly slower than normal.)

  • background-work - (true/false) Keep the game running when the window is not focused.

  • background-controller-input - (true/false) Allow controller inputs when the window is not focused.

  • frame-skip= - (true/false) Enables frame-skipping, which should help to improve the game speed on slow machines.

  • show-fps= - (true/false) Enables the FPS Counter at the top-left corner. Will display the current framerate with a green font.

  • scale-down-textures - (none/safe/all) Added in 1.3.6 Enables the optimization that will 2x scale-down any 2x pixel art textures in the memory. This option allows you to majorly reduce RAM usage.

    • none - Load textures into memory in as-is form. This will lead higher RAM usage, but gives a faster loading time.
    • safe - (default) Scale down only textures are passing the built-in check for the 2x pixel art (A texture is required to have each 2x2 pixels sector use the same colour. When any 2x2 sector contains different colours, that means, the texture is not valid 2x pixel art, and will not shrink). Reduces RAM usage, but increases loading time. This mode guarantees no noticeable graphical distortions happen during scale-down.
    • all - Scale down all textures even with an invalid 2x pixel art check. This mode gives the smallest RAM usage and average loading time but leads some textures to be distorted or smoothed.
  • display-controllers - (true/false) Enables the display of inputs at the bottom-left (or the bottom-right for Player 2). For supported controllers, the battery status will be shown, as well.

  • battery-status - (off/fullscreen-low/low/fullscreen/on) Displays the device battery status at the top-right corner. It gets red when the device's power is beneath 35%.

    • off - Don't show battery status (default)
    • fullscreen-low - At fullscreen, show when power is beneath 35%.
    • low - Show when power is beneath 35%.
    • fullscreen - At fullscreen, show always.
    • on - Show always.
  • show-episode-title - (off/on/transparent) Added in 1.3.6 Show an episode title during normal gameplay.

    • off - Don't show episode title (default)
    • on - Show episode title with an opaque text.
    • transparent - Show the episode with the half-opacity text.
  • internal-width = Width of Game Window Size (1.3.7+)

  • internal-height = Height of Game Window Size (1.3.7+)

[recent]

Added in 1.3.5.3 This section tracks recently opened episodes to highlight them in the menu

  • episode-1p - (string) Recent episode played via 1-player game
  • episode-2p - (string) Recent episode played via 2-player game
  • episode-editor - (string) Recent episode opened in built-in editor

[gameplay]

This section contains gameplay options.

  • world-map-stars-show-policy - (hide/dont-show/collected-only/show/show-all) As of TheXTech 1.3.5.2 Specifies whether to display a level's Star Count on world maps. Note: The compat.ini option (or WLDX option) will override this value if different than the unspecified value provided.
    • hide / dont-show - Display nothing. (Vanilla Behavior)
    • collected-only - Display collected Stars only. (Default)
    • show / show-all - Display collected and available Stars. (Same as Hubworlds, can be inaccurate for Levels with friendly Star NPCs).
  • medals-show-policy - (hide/collected-only/counts-only/show-full) As of TheXTech 1.3.7 Specifies how to display collected medals (SMBX64 NPC #274, called dragon coins in SMBX and Raocow coins in AoD) in the HUD, at warps, and on the world map.
    • hide - Display nothing. (Vanilla Behavior)
    • collected-only - Display the number of collected medals only.
    • counts-only - Display the number of collected medals and the number of medals in level.
    • show-full - Display outlines of the available medals including which ones were gotten. In legacy content, medal order is automatically detected and in rare cases inaccurate.
  • compatibility-mode - (native/smbx2/smbx13) As of TheXTech 1.3.5.2. Specifies the global compatibility level (affecting the general gameplay behaviour and logic).
    • native - TheXTech's default behaviour, enables all vanilla bug fixes (except broken and experimental ones).
    • smbx2 - All vanilla bug fixes except those fixed at SMBX2 will be disabled.
    • smbx13 - All vanilla bug fixes will be disabled to accurately represent the SMBX 1.3 behaviour.
  • no-pause-reconnect - (true/false) Added in 1.3.6 Don't pause when reconnecting a controller.
  • world-map-fast-move - (true/false) Added in 1.3.6 Enable the fast moving functionality on the world map.

[speedrun]

As of TheXTech 1.3.5.2

  • mode - (0/1/2/3) Enables the speedrun timer with a specific mode.
    • 0 - Speedrun system is disabled
    • 1 - Speedrun system enabled with Mode 1 (TheXTech Native)
    • 2 - Speedrun system enabled with Mode 2 (SMBX2-like behaviour)
    • 3 - Speedrun system enabled with Mode 3 (SMBX 1.3 behaviour)
  • semi-transparent-timer - (true/false) Displays the speed-run timer with a semi-transparent font.
  • blink-effect - (undefined/opaque/always/never) Added in 1.3.6 Specify the visual blink effect on every level completion.
    • undefined - Respect an episode-side or built-in defaults (default)
    • opaque - Enable the effect for opaque timer only (disable for semi-transparent)
    • always - Enable the effect always (for both opaque and semi-transparent)
    • never - Disable the effect completely.

[sound]

This section allows you to set up the audio output options.

  • sample-rate= - (integer) Allows you to specify the audio output sample rate; 44100 is the default option.
  • channels= - (integer) Allows you to specify how many audio channels you have: 1 - mono (Doesn't work for WASAPI), 2 - stereo, 5 and more - 3D sound.
  • format= - (s8 / pcm_s8 / u8 / pcm_u8 / u16 / pcm_u16 / s32 / pcm_s32 / float32 / pcm_f32) Set the output sample format.
  • buffer-size= - (integer) The size of the output buffer. Set a smaller value to reduce latency, or a bigger value if you hear a choppy sound output. 512 is the default buffer size.
  • disable-sound - (true/false) As of TheXTech 1.3.5.2. Disable the sound entirely.

[effects]

This section allows you to enable or disable certain graphical effects

  • enable-bowser-iiird-screen-shake= - (true/false) Enables the screen shaking effect when SMB3 Bowser does a ground pound.
  • enable-thwomp-screen-shake= - (true/false) Enables the screen shaking effect when a Thwomp falls down to the ground.
  • enable-yoshi-ground-pound-screen-shake= - (true/false) Enables the screen shaking effect when the Purple Yoshi does a ground pound.
  • enable-inter-level-fade-effect- (true/false) Added in 1.3.5.3 Enables the inter-level screen fade effects.

Deprecated settings

These settings got deprecated/replaced/removed since the specified version number.

[main]

These parameters got moved into the [video] section as of TheXTech 1.3.5.2

  • frame-skip= - (true/false) Enables frame-skipping, which should help to improve the game speed on slow machines.
  • show-fps= - (true/false) Enables the FPS Counter at the top-left corner. Will display the current framerate with a green font.
  • editor-edge-scroll - (true/false) 1.3.6 to 1.3.6.3 ONLY Allow scrolling through scene by pointing/touching edges of the screen.

[video]

Deprecated video parameters

  • render=
    • vsync [DEPRECATED as of 1.3.6.1] - SDL2 hardware-accelerated mode with vertical synchronization is enabled (Use vsync at video section instead).
  • scale-down-all-textures - (true/false) [DEPRECATED since 1.3.6], This option is an eqivalent of the scale-down-textures = all.
  • osk-fill-screen - (true/false) 1.3.6 to 1.3.6.3 ONLY Show built-in on-screen keyboard in fullscreen. Use this option if the on-screen keyboard looks too small on your hardware.

[render]

REMOVED as of 1.3.5.2; Please see the video section instead.

This section allows you to set up the video to work.

  • render= - (0/1/2) Allows you to set one of the available rendering modes:
    • 0 - Software rendering mode
    • 1 - Hardware-accelerated mode (default), automatically falls back into the software rendering mode if not available.
    • 2 - Hardware-accelerated mode with vertical synchronization is enabled.

[gameplay]

  • ground-pound-by-alt-run= - (true/false) REMOVED in 1.3.6.1, From 1.3.6.3, this is defined by play mode, instead of player: Alt-Run for Modern, Down for Classic and Vanilla.
  • strict-drop-add - (true/false) 1.3.6 ONLY Lose a life when re-adding a dropped player in level.
  • enter-cheats-menu-item - (true/false) 1.3.6 ONLY, now required to enter the buttons: ←→ ←→→ ←→→→ ←→→→→ (1L, 1R, 1L, 2R, 1L, 3R, 1L, and 4R), in the pause menu instead. Add a menu item to enter cheats using a controller/touchscreen.
  • editor-pause-on-death - (true/false) 1.3.6 ONLY, this option can't be turned off now, as the menu ALWAYS show. Show the pause menu after death of all playable characters, and ending level test.

[joystick]

REMOVED in 1.3.6.1, these settings are now modified per-profile in the controls options menu. This section contained some general joystick-related options.

Parameters

  • enable-rumble= - (true/false) Enables the gamepad's rumble.
  • enable-battery-status= - (true/false) Shows the wireless gamepad battery status if available.

[effects]

  • sfx-player-grow-with-got-item - (true/false) 1.3.5.3-1.3.6.x ONLY. (Will be removed since 1.3.7) Enables the playing of the "player grow" sound together with the "got item" to represent the Super Mario World behaviour. Note: This option gets ignored if compat.ini at the target episode sets the enforcing.