UNPKG

rl-replay

Version:

RocketLeague replay parser for Node.JS

86 lines (64 loc) 2.55 kB
# rl-replay RocketLeague replay parser for Node.JS ## Installation ``` npm install rl-replay ``` Alternatively you could do this: ``` git clone https://github.com/calvinbaart/rl-replay.git cd rl-replay npm install ``` ## Usage ``` 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) + "%"); }); ``` ## API ### Replay #### .constructor(file) Constructor of the replay format. #### .load(options) 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. #### .netcache Array of NetCache objects parsed from the replay format. ## TODO - 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. ## License This library is licensed under the General Public License version 3.0. ## Credits Some code is based on other existing parsers: https://github.com/rocket-league-replays/rocket-league-replays/wiki/Rocket-League-Replay-Parsers