5 stable releases
| 3.0.0 | Jun 2, 2025 |
|---|---|
| 2.1.0 | Sep 3, 2024 |
| 2.0.0 | Aug 16, 2024 |
| 1.1.0 | Feb 14, 2024 |
| 1.0.0 | Feb 6, 2024 |
#152 in Simulation
291 downloads per month
135KB
3K
SLoC
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".
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 |
|---|---|
insim |
Insim connection and protocol implementation. |
insim_core |
Contains core types shared across other crates. |
insim_macros |
Contains proc_macros republished through insim_core. |
insim_pth |
Implements a PTH file read/writer. |
insim_smx |
Implements a SMX file reader/writer. |
outgauge |
Implements "sans-io" Outgauge protocol implementation. |
outsim |
Implements "sans-io" Outsim protocol implementation. |
Thanks
- simbroadcasts/node-insim which I used to bootstrap many of the packet unit tests.
- LFS and it's community, without which this project would not exist.
Dependencies
~10MB
~326K SLoC