marcospb19 / pasoqa3

Generate match summaries from Quake 3 Arena logs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pasoqa3

pasoqa3 is an acronym for "Parser And Summarizer Of Quake Arena 3 (log files)".

Check DECISIONS.md for an explanation of why I took some of the decisions I did.

Installation

In Unix, with the Rust toolchain installed, clone the repository and install pasoqa3 using cargo:

git clone https://github.com/marcospb19/pasoqa3
cargo install --path pasoqa3

You can see the binary at ~/.cargo/bin/pasoqa3, make sure ~/.cargo/bin is listed in your shell's $PATH variable to access it from anywhere.

Usage examples

# Check the help message
pasoqa3 --help

# Summarize all matches in `file.log`
pasoqa3 file.log

# Summarize fourth match
pasoqa3 q3.log --game 4
{
  "game_4": {
    "total_kills": 4,
    "players": [
      "Isgalamido",
      "Zeh",
      "Dono da Bola"
    ],
    "scoreboard": {
      "Zeh": -2,
      "Dono da Bola": -1,
      "Isgalamido": 1
    },
    "death_causes": {
      "MOD_FALLING": 1,
      "MOD_ROCKET": 1,
      "MOD_TRIGGER_HURT": 2
    }
  }
}

How it works

All matches of Quake 3 Arena have their kill feed written into a log file.

A single log file might contain zero or multiple matches written to it.

pasoqa3 reads a log file, tries parsing it, and outputs a summary of the kill feed for each match.

Trivia

The name "pasoqa" is a playful reference to "paçoca", a Brazilian candy I used to love as a child.

About

Generate match summaries from Quake 3 Arena logs

License:MIT License


Languages

Language:Rust 100.0%