Skip to content

Support no_std use cases by using alloc #223

@CryZe

Description

@CryZe

We long term want to support compilation of livesplit-core with just core + alloc. You'd provide your own time source as some global handler but other than that everything should mostly just work as we already see with wasm32-unknown-unknown. However most crates that we depend on probably don't support this yet, so that's probably going to be a lot of Pull Requests.

Update

All the crates we need are sufficiently patched on forked branches. We just need to do a bunch of PRs now. Here's the super fancy results, with LiveSplit One being rendered within the world of Wind Waker:

https://twitter.com/CryZe107/status/1158444993549414401

Status

Basic Support

Required

Polyfilled (not required, but would be good to get rid of the polyfill)

Optional

  • byteorder - Some IO.
  • image - Too much IO.
  • livesplit-hotkey - We don't really need it, but we can easily provide an empty hotkey implementation.
  • livesplit-title-abbreviations
  • parking_lot - Not really needed on no_std, does too many OS things.
  • quick-xml - Too much IO.
  • serde_json - Too much IO, but there is a PR: No_std support serde-rs/json#516
  • utf-8 - Uses IO.

Rendering

Software Rendering

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAn improvement for livesplit-core.featureA new user visible feature for livesplit-core.priority: highThis is a high priority issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions