SourceSplit is a LiveSplit Auto-Splitter which adds automated timer function support for Source Engine games and mods; along with related features.
This is 2838's fork of the project, featuring many improvements, fixes, and support for many more games and mods.
- Main Features
- Keeps track of various forms of Game Time, with options to turn on or off each of which.
- Auto-Splits on changelevel loads and/or generic map loads, configurable with a map transition blacklist or whitelist
- For Games that support them:
- Auto-Start, Stop and Resetting.
- Auto-Splits on special pre-determined game events.
- Interoperation with demo recording.
- Additional Features
- Custom Auto-Start point based on map name or save name.
- Displaying additional information on LiveSplit.
- Printing information of Demos which have just finished recording to the Console.
There are two ways to install SourceSplit:
Through the Splits Editor:
- Open the Splits Editor
- Enter the name of your game/mod into the Game Name field. An option to activate the splitter will now be available.
- If the splitter is not accrediting both fatalis and 2838, then this fork of SourceSplit does not fully that game/mod. In this case, enter
Source Engine
insead.
Or through the Layout Editor:
- Download a build from the Releases section of this page, then move
LiveSplit.SourceSplit.dll
to<LiveSplit's root folder>/Components
- Open the Layout Editor, then click on +, hover over Control and click on SourceSplit. If SourceSplit is already loaded in the Splits Editor, a warning will pop up.
Information on configuring SourceSplit can be found here.
- Half-Life 2
- Half-Life 2: Episode One
- Half-Life 2: Episode Two
- Half-Life 2: Lost Coast
- Half-Life 2: Survivor
- Half-Life Source
- Portal
- Portal RTX
- Infra
- Hunt Down The Freeman
- Black Mesa
- Estranged: Act I
- Transmissions: Element 120
- The Beginner's Guide
- The Stanley Parable
- Prospekt
- Synergy
- SiN Episodes
- The following Portal mod(s): Elevators • The Flash Version Mappack • Reversed Map Order • Still Alive • Portal Pro • Rexaura • Canonical Base of ℝxℝxℝ • Portal Prelude • ERROR • Epic Edition • Portal: Crumbs of Truth
- The following Half-Life 2 related mod(s): Map Labs mapping challenges • RunThinkShootLive mapping challenges • 1187: Episode One • Too Many Crates! • Da Baby • Dank Memes • DayHard • Dear Esther • Deep Down • Deeper Down • Downfall • Entropy Zero • Exit 2 • Gordon Freakman 1 • Gordon Freakman 2: Kleiner-Life • Get A Life • Grey • ICE • Kill The Monk • Logistique: Act 1 • Mission Improbable • The PTSD Mod • Sniper's Episode • Terminal 7 • The Citizen • The Citizen 2 • The Citizen Returns • The Lost City • Uncertainty Principle • Watching Paint Dry: The Game • Year Long Alarm • Backwards Mod • Reject • School Adventures • Cutsceneless Mod • Experimental Fuel • Tinje • Dark Intervention • Hells Mines • Upmine Struggle • The Stanley Parable (mod) • Black Mesa (mod) • Precursor • Genry's Great Escape From City 13 • Offshore • Hangover • Dangerous World • Very Hard Mod • Episode 3: The Closure • Dark Evening • Entropy Zero: 2 • AJB Trajectory 1, 2, and 3 • Forest Train • Local Motive • MINERVA • Evacuation • Amalgam • Avenue Odessa • City 17 is Far Away • Clone Machine • Dark 17 • Jolly's Hardcore Mod • Sebastian • the Nightmare House series • NEOTOKYO° Kshatriya (Demo) • Uzvara • Aberration • Awakening • Call-In • Combine Destiny • Daylight • Expectation • Depot • Riot Act • Siren • Mountain Caves • Missile strike imminent • Overawe • Penetration • Person of Interest • Ravenholm: The Lost Chapter • Research and Development • The Road to Abyss • Spherical Nightmares • Station 51 • The Lighthouse • Tr1p • Whoopservatory • Bear Party Adventure • Causality Effect • Last Zombie • Snopdrop Escape • Human Error • Thunder's Leaves • Mirrored
- The following Black Mesa related mod(s): Hazard Course • Further Data
- (more soon)
SourceSplit heavily relies on external memory reading using Window's ReadProcessMemory function. Necessary pointers and offsets are enumerated through heavy use of Signature Scanning. This allows the component to achieve a high compatibility rate.
SourceSplit attempts to find the host_tickcount
variable that the Source engine uses to track how many updates its main update loop has done. This allows SourceSplit to accurately measure time while avoiding the effects of Save/Load or Pause abuse, and also react to changes to game speed (e.g. lag, or host_tickcount or host_framerate). Ticks may only be lost due to slow polling rates or other low level problems.
SourceSplit can also piggy back off the recording information for the current Demo. This allows SourceSplit to match Demo time near-perfectly, even under extreme conditions such as save/load abuse or long sessions with many loads.
tl;dr The timing is very accurate and should never be more than a few ticks off.
- Fatalis for the original version.
- 2838 for current maintenece and development.