rl-replay
Version:
RocketLeague replay parser for Node.JS
86 lines (64 loc) • 2.55 kB
Markdown
RocketLeague replay parser for Node.JS
```
npm install rl-replay
```
Alternatively you could do this:
```
git clone https://github.com/calvinbaart/rl-replay.git
cd rl-replay
npm install
```
```
const Replay = require("rl-replay");
var replay = new Replay("test.replay");
replay.load().then(function(){
console.log("All loaded!");
}, function(err){
console.log("Error!");
}, function(progress){
console.log("Loading at " + (progress * 100) + "%");
});
```
Constructor of the replay format.
This function starts the load of a new replay. If file is a buffer it parses the buffer directly, if file
is a string it first checks if it starts with http/https. If so, then it download the replay and parses it, otherwise
it loads the file from the filesystem and parses it. This function returns a promise.
options is a optional variable and when passed should be an object containing one or more of the following options:
- parse_netcache: when set to false the netcache (and the netstream) won't be parsed. Defaults to **true**.
- parse_frame: when set to false the frames won't be parsed. Defaults to **true**.
#### .data
Raw data parsed with binary-parser. This is used to fill in the rest of the variables.
#### .header
Header of the replay file.
#### .properties
Name/Value dictionary of the properties defined in the replay format.
#### .sfx
Array of strings of the SFX strings in the replay format.
#### .object
Array of strings of the various object types in the replay format.
#### .name
Array of strings of the names in the replay format.
#### .package
Array of strings of the packages in the replay format.
#### .frame
Array of frames parsed from the netstream.
#### .goal
Array of goals objects: {frame, type} where type = "red" or "blue" depending on who scored. This is
extracted from the tickmarks in the replay format.
Array of NetCache objects parsed from the replay format.
- Figure out the CRC check algorithm.
- Optimize the parsed classes code. (Currently it creates a new parsed object per frame).
- Add more options for load.
This library is licensed under the General Public License version 3.0.
Some code is based on other existing parsers: https://github.com/rocket-league-replays/rocket-league-replays/wiki/Rocket-League-Replay-Parsers