-
Notifications
You must be signed in to change notification settings - Fork 31
compat.ini Tune the compatibility
compat.ini is the per-episode and per-level INI file that allows you to disable or enable certain bug fixes for the purpose to utilize the buggy logic of the old game. Supported since TheXTech version 1.3.4. You can put one file in the episode root directory to apply the setup for the entire episode, or put this file at the specific level file to tune the compatibility between levels individually. Parameters defined at the level-wide file have the highest priority over episode-wide: the same parameter at the level-wide file will replace the value defined at the episode-wide file.
Important note: Since the 1.3.6 release, some fields got been renamed. Consider renaming these fields in your compat.ini files as soon as possible.
Each file should contain the [compatibility]
section. There are the next parameters supported:
Boolean, default true
in Modern Mode and false
in Classic Mode. Allows the player to resume the last entered level warp when loading the saved game of the HUB-based episode. If you disable this feature, the player will start the main hub level from its entrance.
Demo result when 'true'
Demo result when 'false'
Boolean, default true
. This option enables the fix of the glitch that makes free-falling platforms and grinders distort their speed while the player transforms between different states.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option enables the fix of the case when Pokey collapses while passing slopes.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
The old name fix-pokey-collapse
is deprecated since 1.3.6.
Boolean, default true
. This option enables the fix of the case when a player gets clip or die when bouncing off an NPC while overlapping a player filter block.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
. This option enables the fix of the case when the playable character gets "buried" into the floor while standing on the moving layer blocks that go through another group of blocks.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
. This option enables the fix of the case when NPC gets "buried" into the floor while standing on the moving layer blocks that go through another group of blocks.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, Default false
. This option allows NPC-55 (Legacy variant of the Blue Beech Koopa) to kick ice blocks.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option prevents the unexpected ability to climb any fence BGO while they on a hidden layer.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option enables the fix of the glitch caused an unexpected speed-adding at idling climbable BGOs after the player was standing on a moving layer.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option allows players to move together with a climbable BGO on a moving layer as they do on moving vine NPCs.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
. This option allows players to jump at standing on NPC and being pushed into the wall and get not be clipped into it. Resolves the old conveyor bug (also affecting by other NPCs too) that causes players to clip into the wall.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option makes a skull raft being not squished during the work, and also, makes it to don't work like a conveyor.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
Boolean, default true
in Modern Mode and false
in Classic Mode. This option causes plants to smoothly resize instead of appearing to change size / position. Was mistakenly always enabled before TheXTech v1.3.6.1.
(Since TheXTech version 1.3.4)
Boolean, default true
in Modern Mode and false
in Classic Mode. This option fixes a vanilla bug where powerups might survive on lava depending on the state of the NPC array. (Note that this situation could cause a crash in SMBX 1.3.) Was mistakenly always enabled before TheXTech v1.3.6.1.
(Since TheXTech version 1.3.4)
Boolean, default true
. This option allows Character 3 to escape the running shell-surf by the alt-jump key. Without this fix, Character 3 can only escape the shell-surf with a stone suit power-up by turning into the statue.
- Demo result when 'true': Preview true.
- Demo result when 'false': Preview false.
The old name fix-peach-escape-shell-surf
is deprecated since 1.3.6 and removed since 1.3.7.
Boolean, default true
. This option fixes the problem when Character 5 riding on a Vehicle is able to die in an attempt to fly up while fence or vines behind them: that causes them to immediately fly down with lightning speed and die in the pit.
(Since TheXTech version 1.3.5)
The old name fix-link-clowncar-fairy
is deprecated since 1.3.6.
Boolean, default true
. Prevents players to switch the playable character while riding on a Vehicle by stomping any player blocks at their top. This should avoid several glitches that may happen when the playable character gets switched with the Clown Car removal.
(Since TheXTech version 1.3.5)
The old name fix-dont-switch-player-by-clowncar
is deprecated since 1.3.6 and removed since 1.3.7.
Boolean, default true
in Modern Mode and false
in Classic Mode. Allows using the checkpoint (NPC-192) multiple times at the same level. Some levels require this option to be disabled. For example, at the "It's Wonderful Demo" level in the "ASMBXT: Prelude to the Stupid" episode (See details).
(Since TheXTech version 1.3.5)
The old name enable-multipoints
is deprecated since 1.3.6 and removed since 1.3.7.
Boolean, default true
in Modern Mode and false
in Classic Mode. Fixes a vanilla bug where an item already underwater could trigger a splash effect.
(Since TheXTech version 1.3.5)
Boolean, default true
in Modern Mode and false
in Classic Mode. Fixes the squid NPC death effect when get stomped (in a condition when the jumphurt
option is disabled).
(Since TheXTech version 1.3.5.1)
The old name fix-blooper-stomp-effect
is deprecated since 1.3.6 and removed since 1.3.7.
Boolean, default true
. Avoids the medals (NPC-274) being transformed into the block by the Coin Switch activation.
(Since TheXTech version 1.3.5.1)
The old name fix-pswitch-dragon-coin
is deprecated since 1.3.6 and removed since 1.3.7.
Boolean, default true
. Prevent the flying bat (NPC-271) being activated while inactive. If disabled, the On-Activation event and flight start sound will be played when the bat is inactive: flight away off the screen and re-appeared back into the visible area where NPC won't re-spawn until player get off the area.
(Since TheXTech version 1.3.5.2)
THe old name fix-swooper-start-while-inactive
is deprecated since 1.3.6 and removed since 1.3.7.
Enumeration, default unspecified
. Select the policy of the per-level stars amount on the world map. Note: The WLDX-side option has higher priority over this value. This value at compat.ini has higher priority over global game settings.
Allowed values:
-
unspecified
- Prefer the behavior, defined by global game settings. -
hide
- Always hide any per-level stars counters. -
show-collected
- Display the number of already-collected stars only. Don't display the amount number at all. -
show
- Display the number of collected and available stars.
- Note 1: The stars counter will not be shown if level has no available stars.
- Note 2: Some levels may display improer stars count (because of friendly (i.e. non-collectable) stars being counted). This is the fault of the old level editor. To fix the issue, you can open the level and re-save it using Moondust Editor that will properly count the available stars number exclude all friendly stars.
(Since TheXTech version 1.3.5.2)
Boolean, default true
. Fixes the possible deadlock caused by recursive activation of NPCs with an event that spawns the message box and hides the layer with it. This flag may be replaced by a flag emulate-vanilla-crashes
in the future.
(Since TheXTech version 1.3.5.3)
Boolean, default true
. Enable the fix of the bug when Char 5 could stuck in a pipe when entering it while a fairy form, leading to the deadlock of gameplay.
(Since TheXTech version 1.3.6)
Boolean, default false
in Classic Mode and in 1.3.6.x, and true
in Modern Mode since 1.3.7. Enable the fast move feature on the world map: the player will automatically walk through the selected path until reaches the crossing or the level entry point.
(Since TheXTech version 1.3.6)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of the gravity logic of the frame thrower propeller block.
(Since TheXTech version 1.3.6)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of the problem of NPC being stuck in a ceiling after jump up or being thrown up and hit a ceiling. (Disabling this emulates an SMBX 1.3 bug that uses the speed of the moving block at the bottom of the column, slowing down performance.)
(Since TheXTech version 1.3.6.1)
Boolean, default false
. Enables the simulation of old blocks order behaviour from before TheXTech's performance updates. (Enabling this slows down performance.)
(Since TheXTech version 1.3.6.1)
Boolean, default true
. Enables the fix of the unfair death of playable character because of moving sloped ceilings.
(Since TheXTech version 1.3.6.1)
Boolean, default true
. Allows entering instant warps while performing the ground pound to prevent unfair deaths.
(Since TheXTech version 1.3.6.1)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of problem when held item won't kill an enemy NPC while it touches any other safe item. (Read details)
(Since TheXTech version 1.3.6.1)
Boolean, default true
. Enables the usage of the new section changing algorithm that avoids several problems like an infinite scrolling into nowhere.
(Since TheXTech version 1.3.6.1)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of the unexpected NPC despawn once it got caught by player's camera on the final tick that matches the deactivation moment.
(Since TheXTech version 1.3.6.1)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of the bug where the logical size of an NPC emerging downwards from a block.
(Since TheXTech version 1.3.6.5)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables fixes for the bunch of visual bugs that was inherited from the original engine. If disable this, the rest of old visual bugs will appear again.
(Since TheXTech version 1.3.6.5)
Boolean, default true
in Modern Mode and false
in Classic Mode. Enables the fix of the problem where blocks could become intangible to NPCs after a coin switch was used.
(Since TheXTech version 1.3.6.5)
Boolean, default true
. Enables the fix of the problem where vehicle could be vulnerable if player entered it during AltJump.
(Since TheXTech version 1.3.6.6)
Boolean, default true
. Enables the fix of the problem where vehicle could not be exited if player entered it while holding AltJump key.
(Since TheXTech version 1.3.6.6)
Boolean, default true
. Enables the fix of the problem where player can get soft-locked if hit by a grabbable NPC while digging dirt.
(Since TheXTech version 1.3.6.6)
Boolean, default true
. Fixes a vanilla bug preventing NPCs from supporting more than two cameras.
(Since TheXTech version 1.3.7)
Boolean, default true
in Modern Mode and false
in Classic Mode. Fixes several vanilla bugs causing NPCs to target the incorrect player in multiplayer.
(Since TheXTech version 1.3.7)
Boolean, default false
. World map option. Scroll the level name on small screens, instead of splitting it into multiple lines.
(Since TheXTech version 1.3.7)
Boolean, default true
. Allows the gameplay field to be <800x600. When this is set but dynamic-camera-logic
is not set, the 800x600 camera will be used for most NPC logic and the screen cannot grow beyond 800x600.
(Since TheXTech version 1.3.7)
Boolean, default true
in Modern Mode and false
in Classic Mode. Allows the gameplay field to be any size. Allows NPCs to activate when they enter the visible camera coordinates.
(Since TheXTech version 1.3.7)
Boolean, default true
in Modern Mode and false
in Classic Mode. Fixes a vanilla bug where the speed of the attached layer of a killed NPC would not be reset correctly.
(Since TheXTech version 1.3.7)
Boolean, default true
in Modern Mode and false
in Classic Mode. Fixes a vanilla bug where a medal would not be counted if it was killed (instead of being collected normally).
(Since TheXTech version 1.3.7)
Boolean, default true
. Fixes a vanilla bug where a queued event could be deleted when multiple other events are triggered in the same frame.
(Since TheXTech version 1.3.7)
Boolean, default true
. Fixed the problem that player gets clipped downwards to the floor when affecting by powerup changes while digging.
(Since TheXTech version 1.3.7.1)
Boolean, default true
in Modern and Classic Modes and false
in Vanilla Mode. Shakes the screen on certain events that did not cause screen shake in SMBX 1.3. Replaces several thextech.ini
flags.
(Since TheXTech version 1.3.7)
Boolean, default true
. Enable tracking of the playtime on the current level. Does not affect Speedruns.
(Since TheXTech version 1.3.7)
Boolean, default true
. Enable tracking of the player's fails on the current level. Useful for scripted levels (such as intros) that force the player to fail.
(Since TheXTech version 1.3.7)
Boolean, default true
in Modern Mode and false
in Classic Mode. For screens less wide than 800px: allow horizontal lookahead for the camera. For screens less tall than 600px: allow the player to pan the camera up or down using their up/down buttons, and lock the camera by tapping the button again while the camera icon is green.
(Since TheXTech version 1.3.7)
Boolean, default false
. Prevents the player from spin jumping under any circumstances by mapping the Alt Jump key to a normal jump. Does not prevent the player from dismounting various items that use the Alt Jump key to dismount. This supersedes hacks used in certain Autocode content (eg, Superb Demo Sisters), and may be added to such content to prevent confusion or bugs.
(Since TheXTech version 1.3.7)
This section is available since TheXTech 1.3.5.2
The [speedrun]
section allows configuring the behaviour of the speed-run timer at the episode or at every individual level. There are the next parameters supported:
Enumeration, default none
. The type of event that should trigger the global timer stop.
Allowed values:
-
none
- No special timer stop conditions. The timer will stop once the "End Game" built-in event got triggered. -
event
- Stop the timer when the event with a given name got triggered (for example, trigger when defeating the final boss of the episode, or getting the goal treasure that means the episode has been completed, etc.). -
leave
- Stop the timer when a player left the level by one of the available exit types. Suggested at the final level in the episode that finishes the story. -
enter
- Stop the timer when the player entered the level. Suggested for levels built as credits.
String, default Boss Dead
. Depending on the stop-timer-by
value, this means the name of the event got triggered, or the level file name (without extension) got been entered or left.
This section is available since TheXTech 1.3.6
The [fails-counter]
section allows you to set up a counter of how many times a player failed a level during the playthrough.
Boolean, default false
in 1.3.6; Since Version 1.3.6.1, default value is defined by gameinfo.ini. Enables the deaths counter being shown at the left-top corner of the screen. When this option is enabled, there are two values that will be shown: a total number of player deaths on a current level, and a total number of deaths at the current gamesave of this episode.
String, default empty. Allows overriding game default deaths counter title label (Field in assets_xx.json language file by default).
This section is available since TheXTech 1.3.6
The [luna-script]
section allows you to set up properties of the LunaScript engine (custom implementation of LunaDLL AutoCode). It's NOT advised to use it for creation!
Enumeration, default unspecified
. Enable or disable the work of the LunaScript engine at this episode.
Allowed values:
-
unspecified
- Prefer game info file setup (gameinfo.ini
, section[luna-script]
, fieldenable-engine
). -
enable
- Force enable the LunaScript engine at this episode or level, the global setting will be ignored. -
disable
- Force disable the LunaScript engine at this episode or level, the global setting will be ignored.
Boolean, default false
, A2XT Ep.1 Analog Funk exclusive. Enable the handling of built-in level code processing. All of these are exclusively to work with "A Second Mario Bros. X Thing, Episode 1: Analog Funk", and these codes were has no sense outside that episode; so, they should not been enabled unless you play the Analog Funk game.
[compatibility]
enable-last-warp-hub-resume = true
fix-platform-acceleration = true
fix-npc247-collapse = true
fix-player-filter-bounce = true
fix-player-downward-clip = true
fix-npc-downward-clip = true
fix-npc55-kick-ice-blocks = false
fix-climb-invisible-fences = true
fix-climb-bgo-speed-adding = true
enable-climb-bgo-layer-move = true
fix-player-clip-wall-at-npc = true
fix-skull-raft = true
fix-char3-escape-shell-surf = true
fix-keyhole-framerate = true
fix-char5-vehicle-climb = true
fix-vehicle-char-switch = true
fix-vanilla-checkpoints = true
fix-autoscroll-speed = false
fix-squid-stomp-effect = true
fix-special-coin-switch = true
fix-bat-start-while-inactive = true
fix-FreezeNPCs-no-reset = false
world-map-stars-show-policy = unspecified
fix-npc-activation-event-loop-bug = true
pause-on-disconnect = true
allow-drop-add = true
multiplayer-pause-controls = true
fix-fairy-stuck-in-pipe = true
world-map-fast-move = false
fix-framethrower-gravity = true
fix-npc-ceiling-speed = true
emulate-classic-block-order = true
fix-player-crush-death = true
fix-pound-skip-warp = true
fix-held-item-cancel = true
modern-section-change = true
fix-frame-perfect-despawn = true
fix-visual-bugs = true
fix-npc-emerge-size = true
fix-switched-block-clipping = true
fix-vehicle-altjump-bug = true
fix-vehicle-altjump-lock = true
fix-player-stuck-on-dirt = true
[speedrun]
stop-timer-by = event
stop-timer-at = "Demon dead, demon dead!"
[effects]
sfx-player-grow-with-got-item = enable
[fails-counter]
enabled = false
title = "DEMOS"
[luna-script]
enable-engine = unspecified
allow-level-codes = false
Since 1.3.7
-
enable-activity - (
true/false
) Enables player activity on the intro scene. If disabled, no players will walk on the scene, the camera will stay fixed on the same position, visible NPCs will work. -
max-players-count - (integer) Specify the number of playable characters that will walk on the intro scene. The default is 6. If set to 0, it's equal to
enable-activity = false
-
characters - (comma-separated integer list) Specify which playable characters are seen. Default
1,2,3,4,5
. To keep Characters 1 and 3 only (eg, Demo and Kood in AoD), specify1,3
.
- states - (comma-separated integer list) Specify which states playable characters will have.
- mounts - (comma-separated integer list) Specify which mounts playable characters will use.
-
auto-jump - (
true/false
) Enable the automatic jump when players pass by a cliff. It may glitch sometimes while enabled. -
walk-direction - (
left/idle/right
) Specify the walk direction for all characters. - initial-directions - (comma-separated integer list) Specify which direction playable characters will have while set to idle: -1 left, 1 right, 0 random.
This is the list of compat.ini fields that got been renamed during updates:
There are new names introduced, but compatibility aliases were kept, and were removed in 1.3.7. Usage of old names will lead to a set of warning messages in the log of the game.
-
"fix-pokey-collapse"
→"fix-npc247-collapse"
-
"fix-peach-escape-shell-surf"
→"fix-char3-escape-shell-surf"
-
"fix-link-clowncar-fairy"
→"fix-char5-vehicle-climb"
-
"fix-dont-switch-player-by-clowncar"
→"fix-vehicle-char-switch"
-
"fix-blooper-stomp-effect"
→"fix-squid-stomp-effect"
-
"fix-pswitch-dragon-coin"
→"fix-special-coin-switch"
-
"fix-swooper-start-while-inactive"
→"fix-bat-start-while-inactive"
-
"enable-multipoints"
→"fix-vanilla-checkpoints"
Boolean, default true
. This option makes the key-hole exit waiter work with the same frame-rate controller as all other scenes and modules. The normal workflow runs approximately 65 FPS. When the option is disabled, the key-hole exit waiter will work with 100 FPS that causes all blocks and BGO animations to speed up their animation.
(TheXTech version between 1.3.4 to 1.3.6)
Boolean, default true
. Allow players to be dropped/added from a pause menu item during gameplay. Since v1.3.7, also controls whether the player setup screen gets shown when a controller is disconnected.
(TheXTech version 1.3.6.x only. Still internally supported in v1.3.7 but no longer settable via compat.ini
.)
Boolean, default true
. Allows players other than P1 to pause the game and control the pause menu. Since v1.3.7, also controls some fixes for the camera logic during multiplayer.
(TheXTech version 1.3.6.x only. Still internally supported in v1.3.7 but no longer settable via compat.ini
.)
Boolean, default false
(true
in 1.3.5). Deprecated, because of a bug that breaks past contents (See details). Originally, they're invalid data set, and if you try to enable it, might will cause unexpected results. Use the modern Autoscroll settings instead.
(Since TheXTech version 1.3.5)
This section is for TheXTech versions between 1.3.5.3 and 1.3.6.x
The [effects]
section allows configuring the behaviour of some non-gameplay (sound or graphical) effects at an episode or individual level. There are the next parameters supported:
Enumeration, default unspecified
. Enables playing of the player growing sound together with the got item to represent the Super Mario World behaviour.
Allowed values:
-
unspecified
- Prefer game global settings (settings/thextech.ini
, section[effects]
, fieldsfx-player-grow-with-got-item
). -
enable
- Force enable the effect at this episode or level, the global setting will be ignored. -
disable
- Force disable the effect at this episode or level, the global setting will be ignored.
- 🦊 Official Wohlsoft.ru Thread
- 💬 Our Discord
- Stable releases at GitHub
- Fresh devel builds
- Game assets packages