{"id":30175271,"url":"https://github.com/knutwalker/ff1pr-autosplitter","last_synced_at":"2025-08-12T01:30:00.830Z","repository":{"id":292562906,"uuid":"977509626","full_name":"knutwalker/ff1pr-autosplitter","owner":"knutwalker","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-11T01:53:11.000Z","size":331,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-06T11:57:01.689Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knutwalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-04T11:25:28.000Z","updated_at":"2025-06-11T01:53:15.000Z","dependencies_parsed_at":"2025-05-10T19:39:10.140Z","dependency_job_id":null,"html_url":"https://github.com/knutwalker/ff1pr-autosplitter","commit_stats":null,"previous_names":["knutwalker/ff1pr-autosplitter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/knutwalker/ff1pr-autosplitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fff1pr-autosplitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fff1pr-autosplitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fff1pr-autosplitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fff1pr-autosplitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knutwalker","download_url":"https://codeload.github.com/knutwalker/ff1pr-autosplitter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fff1pr-autosplitter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269985700,"owners_count":24508121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-12T01:29:58.885Z","updated_at":"2025-08-12T01:30:00.817Z","avatar_url":"https://github.com/knutwalker.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Final Fantasy Pixel Remaster Auto Splitter\n\nAn auto splitter for Final Fantasy Pixel Remaster.\n\n## Features\n\n* ✅ Start timer on new game\n* ✅ Splits at various moments in-game that are commonly split (see settings)\n* ✅ Split on Chaos death animation\n* ✅ Works with both, the Steam and the Windows Store version\n\n## Usage\n\n- Open LiveSplit, right click and select 'Edit Splits'\n\n![](./edit-splits.png)\n\n- In the splits editor, make sure that the game is 'Final Fantasy' so that LiveSplit can find the autosplitter.\n\n- Click the 'Activate' button (this might take a few seconds to finish). If the button is not available, the game name is not correct.\n\n![](./activate.png)\n\n- Once activated, open the 'Settings'\n\n![](./settings.png)\n\nThere are two settings which are enabled by default:\n\n- Auto start when confirming the party selection\n- Auto split on Chaos with the first flash of the death animation\n\nIn addition, the autosplitter can split during other scenarios as well.\nThose are when certain battles are done, items picked up, or map locations change.\n\nFor battle related splits, you can also choose when to split, based an your preference:\n\n- As soon as the death animation (the dissolve fadeout thing) starts\n- After you went through all the spoils are loading back to where you've been before\n\n![](./battle_split.png)\n\nChaos will always be split according to the rules, regardless of this setting.\n\n***\n\nNone of those additional settings are enabled by default, since they depend on each runners route an preference.\nHowever, they do work for any category or route.\nGo through the settings and select the settings that mirror the splits that you have and want to have splitted automatically.\n\nAny other splits you have that are not covered by the autosplitter need to be split manually (the autosplitter doesn't know about them and will *not* skip them).\nIf you have a split you would like to have included in the autosplitter, find my on the FF1/2 Speedrunning discord and I can see if I can find a way to add the split (no guarantees).\n\n![](./splits.png)\n\nYou likely don't to enable all settings.\nEspecially for the beginning, a lot of them split around the same event with only few seconds in between.\nFor example, 'Astos' and 'Crystal Eye' could both be selected, but usually you only want to split on one of them, since you are getting the eye immediately after defeating Astos.\n\n\u003e[!note]\n\u003e The order of the settings is **not** important.\n\u003e That is, your route might go to the volcano before the fortress and your splits are in the order of 'Marilith' before 'Tiamat'.\n\u003e You can still select the 'Tiamat' and 'Marilith' settings and they will split correctly, even though the settings have them in the order of Tiamat first.\n\n***\n\nAfter confirming the settings, you're good to go.\n\n***\n\n## Manual installation\n\n\u003e[!IMPORTANT]\n\u003e Do not follow these instructions when you have done the steps above.\n\u003e Don't add an 'Auto Splitting Runtime' component when you have enabled the autospliiter in the splits.\n\u003e Having both splitters running will result in double splits or crashes.\n\n\n* Go the latest release: https://github.com/knutwalker/ff1pr-autosplitter/releases/tag/latest\n* Download the `ff1pr_autosplitter.wasm` file\n* Add an 'Auto Splitting Runtime' component to you layout\n* Open the settings of this configuration and point it to the downloaded file\n\n\n***\n\n# Developer section\n\n## Build from source\n\nThis auto splitter is written in Rust. In order to compile it, you need to\ninstall the Rust compiler: [Install Rust](https://www.rust-lang.org/tools/install).\n\nAfterwards install the WebAssembly target:\n```sh\nrustup target add wasm32-unknown-unknown --toolchain stable\n```\n\nThe auto splitter can now be compiled:\n```sh\ncargo b --release\n```\n\nThe auto splitter is then available at:\n```\ntarget/wasm32-unknown-unknown/release/ff1pr_autosplitter.wasm\n```\n\nMake sure to look into the [API documentation](https://livesplit.org/asr/asr/) for the `asr` crate.\n\n## Development\n\nYou can use the [debugger](https://github.com/LiveSplit/asr-debugger) while\ndeveloping the auto splitter to more easily see the log messages, statistics,\ndump memory, step through the code and more.\n\nThe repository comes with preconfigured Visual Studio Code tasks. During\ndevelopment it is recommended to use the `Debug Auto Splitter` launch action to\nrun the `asr-debugger`. You need to install the `CodeLLDB` extension to run it.\n\nYou can then use the `Build Auto Splitter (Debug)` task to manually build the\nauto splitter. This will automatically hot reload the auto splitter in the\n`asr-debugger`.\n\nAlternatively you can install the [`cargo\nwatch`](https://github.com/watchexec/cargo-watch?tab=readme-ov-file#install)\nsubcommand and run the `Watch Auto Splitter` task for it to automatically build\nwhen you save your changes.\n\nThe debugger is able to step through the code. You can set breakpoints in VSCode\nand it should stop there when the breakpoint is hit. Inspecting variables may\nnot work all the time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknutwalker%2Fff1pr-autosplitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknutwalker%2Fff1pr-autosplitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknutwalker%2Fff1pr-autosplitter/lists"}