UPDATE2: Autosplitter now disables itself if using practice mod and the practice mode is on. When the practice mode is off, the autosplitter works normally. The splits are also reset if the timer is running and you enter practice mode. This behaviour can be disabled from the settings.
UPDATE: Autosplitter updated, changed the method in-game timer is counted and used from .the leveltimer inside the game. Should be more robust on the autospitters side, but do comment on this thread if everything gets wonky. If you are using the LiveSplit -provided version, the update happens automatically.
Also, added another UI element (that gets automatically created if you enable it in the Autsplitter settings) for Last Level IGT. This is mostly for helping with practice mode, but can be useful for running independent levels in general as well as debugging.
Timer is now reset when game exits.
I'll implement the practice mode disabling and loadless instead of igt soon-ish
EDIT: Autosplitter submitted to LiveSplit autosplitters list. The autosplitter now can be activated from the Edit Splits...->Activate -button, and there is no need to download anything else anymore manually. This has the added benefit of getting updates everytime they happen without needing to download stuff yourself.
NOTE: IF you activate the autosplitter from the Edit Splits...->Activate -button, you NEED to remove the Edit Layout...->Scriptable Autosplitter Component that house the manually downloaded autosplitter. If you don't do this, the autosplitter gets activated twice, and messed up splits ensues.
I've setup an autosplitter for Defy Gravity. You can grab it here:
https://github.com/jkarkkainen/DefyGravityASL
There still seems to be some kinks, so it might happen that the correct values aren't found, in which case the autosplitter either just doesn't do anything or might even go haywire and mess-up your splits. This also why I haven't submitted it yet to be automatically setup with LiveSplit.
However, I have tested it with two different systems locally, so it SHOULD or at least MIGHT work properly. Any help testing it appreciated!
(PS. Those who already tried it out, make sure you have the latest version - I updated the memory pattern, which seems to be much more consistent - at least on the platforms I tried out on)
There are also some example splits files and example layouts.
Usage instructions forthcoming in a day or two. But the gist of it: Add Scriptable Autosplitter -component, browse to the .asl -file, and you should be golden (if it works for you). New game starts the timer, level change splits, loading times are removed, and gametime is straight from the in-game level timer.
EDIT: If you try it out, do come back to me with whether or not it actually worked. Like I said, there are some kinks there (specifically the memory scanner pattern doesn't always hold true, and seems to be different on different systems). Also, if you could, a bit about your system: Windows version, 32/64bit, etc.
The recommendations you asked me to put in writing on the forums:
-
Disabling the timers from starting/splitting in practice mode.
-
Keeping the timer going even when paused. Call it loadless or modified IGT (perhaps needs more discussion, as it would fix IGT abuse but I'm aware it would mess with how easily timing is relayed to Livesplit.)
-
Resetting the timer on program exit (still working on finding exactly how one would do that - I'll ask around)
If I recall any more, I'll edit this post. Thanks!
Oh god this has been so long ago. Is the autosplitter still borked?
If so, I'll try to find time to fix that before the end of summer vacation.