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
- Host: GitHub
- URL: https://github.com/evanlin96069/sdp-c
- Owner: evanlin96069
- License: mit
- Created: 2022-04-02T23:30:22.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-06T12:02:53.000Z (over 2 years ago)
- Last Synced: 2025-02-22T06:41:35.210Z (about 1 year ago)
- Topics: source-engine, speedrun
- Language: C
- Homepage:
- Size: 3.82 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)