This is a dynamic autosplitter script (.asl) for Little Big Adventure 2, designed for use with LiveSplit. It supports both the Classic Windows executable and the DOSBox emulated version.
The script automatically detects which version of the game is running:
- Classic:
tlba2c.exe(uses module base address) - DOSBox:
dosbox.exe(automatically calculates the emulated RAM pointer)
Automatically splits when entering specific scenes.
- Standard Scene Splits: Splits when entering a target scene (e.g., "Otringal - Upper City").
- Transition Splits 🔀: Supports splitting only when moving between specific scenes.
- Example:
sc80:sc91(Entering Emperor Palace only from the Final Boss Room). - These are indicated by a 🔀 symbol in the settings menu.
- Example:
The script treats most game progress as changes in Game Variables (VARs). It simplifies splitting by unifying everything into a variable-based system:
- Items (VARs 0-39): All inventory items (Holomap, Magic Ball, etc.) are the first 40 variables.
- Progress Variables: Side-quests (Heal Dinofly, Joe), weather changes, and achievements.
- Specific Flags: A few internal flags (Blowtron, Super Jetpack) remain as specific states.
You can enable or disable specific splits in the LiveSplit Layout Settings -> Scriptable Auto Splitter -> Settings.
- Scenes: Major location changes and transitions.
- Items: The first 40 variables representing your inventory.
- MISC: Specific challenges and side objectives.
- Variables: Dynamic game variables (VARs).
You can edit the settingsTable directly in the .asl script.
- Format:
new[] { "ParentID", "UniqueID", "Description" }
The script automatically loads all .xml files located in the same directory as the .asl file. This allows you to create custom split packs without modifying the script.
<Splits>
<!-- Scene Split: Entry into Scene 138 -->
<Split id="sc138" name="Otringal" />
<!-- Transition Split: Scene 80 to 91 -->
<Split id="sc80:sc91" name="Boss to Palace" />
<!-- Variable Split (Default > 0): VAR 166 -->
<Split id="var_166" name="Clear Weather" />
<!-- Variable Split (Specific Value): VAR 40 equals 2 -->
<Split id="var_40=2" name="Zoe Stage 2" />
</Splits>- Scenes:
sc+SceneID(e.g.,sc42). - Transitions:
scOld+:+scNew(e.g.,sc10:sc11). - Variables (VARs):
var_X: Splits if Variable X > 0.var_X=Y: Splits if Variable X is exactly Y.- Note: IDs are direct memory indices.
var_0is the first variable.var_169is collecting the Incandescent Pearl.
You can find the game variable indices using these community tools:
- LBA2 Remake Editor: Web-based, very fast but can crash on certain scenes. Use the "scripts" tab to find all game variable changes / usage.
- LBArchitect v1.2: More reliable desktop tool for advanced exploration.
- Language: ASL
- Memory Address (VARs Base):
0x481E60(Classic) /0x269C10(DOSBox) - Data Type: All variables are read as 2-byte unsigned integers (
ushort).