Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Properly parse game-specific custom area data. #5

Open
WhyIsEvery4thYearAlwaysBad opened this issue Oct 15, 2021 · 3 comments
Open

Comments

@WhyIsEvery4thYearAlwaysBad

The parser does not actually parse custom data. These lines in parser.go:

// Skip passed some unknown data
var garbageCount byte
p.read(&garbageCount)
p.advanceBytes(int(garbageCount) * 14)

Actually skips over game-specific custom area data.

  • Team Fortress 2 NAVs stores 1 integer at the end of the area data to store TF2-specific area attributes.
@mrazza
Copy link
Owner

mrazza commented Oct 15, 2021

Is this reserved space of equal size that can be encoded with arbitrary game-specific information? Or is this TF2 behavior you described very TF2-specific? I reversed this with CSGO nav meshes so I'm not surprised to find there's some value here.

@WhyIsEvery4thYearAlwaysBad
Copy link
Author

Is this reserved space of equal size that can be encoded with arbitrary game-specific information? Or is this TF2 behavior you described very TF2-specific? I reversed this with CSGO nav meshes so I'm not surprised to find there's some value here.

This is reserved space of equal size that can be encoded with arbitrary game-specific information. Left 4 Dead and Left 4 Dead 2 stores zombie spawn flags and attributes in this custom data. TF2 stores a flag for custom attributes, and CS:S and CS:GO stores approach spot data here.

@MathiasLui
Copy link

MathiasLui commented May 16, 2022

TF2 stores a flag for custom attributes, and CS:S and CS:GO stores approach spot data here.

But aren't approach areas are handled before that? How did you find out what is stored there in CS:GO? I couldn't figure it out looking at the source leak and the community wiki

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants