2 stable releases
1.1.0 | Feb 14, 2024 |
---|---|
1.0.0 | Feb 6, 2024 |
#112 in Simulation
31 downloads per month
Used in insim
13KB
111 lines
insim.rs
A collection of crates to assist working with the Live For Speed racing simulator and it's Insim (protocol).
The intention is to provide a strongly typed, native rust implementation, rather than a thin layer over a series of bytes and primitive types.
If you're not sure where to start, you probably want to look at the examples.
Crate | Usage | Documentation |
---|---|---|
insim |
Connection and protocol implementation. | https://docs.rs/insim |
insim_core |
Contains core types shared across other crates. | https://docs.rs/insim_core |
insim_pth |
Implements a PTH file read/writer. | https://docs.rs/insim_pth |
insim_smx |
Implements a SMX file reader/writer. | https://docs.rs/insim_smx |
If you're looking for race_directord that has been moved to https://github.com/theangryangel/race_directord/.
TODO
git grep '\(TODO\|FIXME\|XXX\)'
- check out the issues list
lib.rs
:
insim_pth
Parse a Live for Speed pth (path) file.
A pth file consists of a series points [Node], with direction and width ([Limit]), that describe the track that you drive along.
Historically LFS has used the PTH to watch your progress along the track, decides if you are driving in reverse, the yellow and blue flag systems, the position list, timing, etc.
On a standard LFS track the [Node] is communicated via MCI and NLP Insim packets.
On an open configuration [Node] are not used and are unavailable via Insim MCI packets.
The distance between each [Node] is not constant. According to the LFS developers there is approximately 0.2 seconds of time between passing one node and the next, when you are "driving at a reasonable speed".
Dependencies
~5MB
~156K SLoC