An open API service indexing awesome lists of open source software.

https://github.com/evanlin96069/sdp-c

Source demo parser in C
https://github.com/evanlin96069/sdp-c

source-engine speedrun

Last synced: 4 months ago
JSON representation

Source demo parser in C

Awesome Lists containing this project

README

          

# sdp-c
Source demo parser in C.

## Usage
```
sdp [-d|-t] [options]
```
Options:
- `-h, --help`
 Display help information.
- `-v, --version`
 Display parser version information.
- `-d, --dump`
 Create a text representation of parsed data in the demo.
- `-t, --tas`
 Create a afterframes TAS script of the demo to be run with the [SPT plugin](https://github.com/YaLTeR/SourcePauseTool).
- `-o `
 Place the output into ``.
- `-P[level]`
 Set the parsing level for dump mode. (default = auto select)
- `-P0`
 Parse the header.
- `-P1, -P`
 Basic timging and Parse Usercmd.
- `-P2`
 Parse Net/Svc messages.
- `-P3`
 Parse DataTables.
- `--debug`
  Print debug information.

## Supported Game Versions
| Game | Basic
Timing | UserCmd
Parsing | Net/Svc Message
Parsing | DataTables
Parsing |
| ----------------------------- | :-: | :-: | :-: | :-: |
| Half-Life 2 Old Engine (2153) | ✅ | ✅ | ✅ | ❌ |
| Half-Life 2 Old Engine (2187) | ✅ | ✅ | ✅ | ❌ |
| Dark Messiah of Might & Magic | ✅ | 🔶 | ❌ | ❌ |
| Half-Life 2 Old Engine (4044) | ✅ | ✅ | ✅ | ✅ |
| Portal (3258) | ✅ | ✅ | ✅ | ✅ |
| Portal (3420) | ✅ | ✅ | ✅ | ✅ |
| Portal (3740) | ✅ | ✅ | ✅ | ✅ |
| Portal (3943) | ✅ | ✅ | ✅ | ✅ |
| Source Unpack (5135) | ✅ | ✅ | ✅ | ✅ |
| Steampipe HL2/Portal | ✅ | ✅ | ✅ | ✅ |
| Portal 2 | ✅ | ✅ | ✅ | ✅ |

- Not implemented
- StringTables parsing
- User message parsing
- Entity parsing
- Game event parsing
- Sound parsing

## Building
```bash
./compile.sh
```

## Other Useful Resources
- [.dem](https://nekz.me/dem/)
- [UncraftedDemoParser](https://github.com/UncraftedName/UncraftedDemoParser)
- [demogobbler](https://github.com/lipsanen/demogobbler)
- [zdem](https://github.com/mlugg/zdem)