Did some testing this morning, and it basically works.
I've also read these two threads/posts but i can't really see any of the problems they describe.
The streamed replay basically presents exactly what i was expecting from any other replay, all time information is there, race time, splits, laptimes, qualifying results. Cars move like usual, the only change needed in the header are the two missing track config bytes. (i think)
To try it locally, make a copy of temp_mpr.mpr once a second or so and change bytes 72 and 73 to match the combo.
Open up a second instance of LFS and play the copy.
The only problem i've come across so far is LFS catching up, maybe a read-ahead fails so the replay stops. LFS doesn't write continuously to the file but uses a small cache, and i'd guess dataflow sometimes decreases and the file isn't written to for several seconds. Still it does sort of work. I just watched two editions of a 6-lap race at the same time, the second edition about 20 seconds behind. Not a very interesting race, but the streamed replay played from grid start to race finish.
I think this could actually be a good (initial) solution, when/if we get keyframes in replays they'd probably work in a streamed one as well seeing how the replay format is designed. Also bandwidth usage is extremely low, while testing on a half-full server (which i'd guess ran 3 or 4 pps) i hit about 2.5 kb/s.
Has this been thoroughly explored?
I've also read these two threads/posts but i can't really see any of the problems they describe.
The streamed replay basically presents exactly what i was expecting from any other replay, all time information is there, race time, splits, laptimes, qualifying results. Cars move like usual, the only change needed in the header are the two missing track config bytes. (i think)
To try it locally, make a copy of temp_mpr.mpr once a second or so and change bytes 72 and 73 to match the combo.
1 byte 72 config : 1,2,3... (first config is 1)
1 byte 73 reversed : 0=no 1=yes
Open up a second instance of LFS and play the copy.
The only problem i've come across so far is LFS catching up, maybe a read-ahead fails so the replay stops. LFS doesn't write continuously to the file but uses a small cache, and i'd guess dataflow sometimes decreases and the file isn't written to for several seconds. Still it does sort of work. I just watched two editions of a 6-lap race at the same time, the second edition about 20 seconds behind. Not a very interesting race, but the streamed replay played from grid start to race finish.
I think this could actually be a good (initial) solution, when/if we get keyframes in replays they'd probably work in a streamed one as well seeing how the replay format is designed. Also bandwidth usage is extremely low, while testing on a half-full server (which i'd guess ran 3 or 4 pps) i hit about 2.5 kb/s.
Has this been thoroughly explored?