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

Capture Compiler Signatures #109

Open
3 of 7 tasks
Tracked by #15
snake-biscuits opened this issue Jun 13, 2023 · 3 comments
Open
3 of 7 tasks
Tracked by #15

Capture Compiler Signatures #109

snake-biscuits opened this issue Jun 13, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request MegaTest test every .bsp you can find
Milestone

Comments

@snake-biscuits
Copy link
Owner

snake-biscuits commented Jun 13, 2023

Would be nice to see the Compiler Signatures left behind by some compilers
This can provide us with useful information about a .bsp's specific quirks
Being able to sign our own edits would also be useful

All the signatures I have seen are placed immediately after lump headers
Implementation would have to be per BspClass._preload method
Capturing other hidden information placed between lumps would be nice

Ties into #15, since we capture more of the raw bytes to save back into the new copy
Might also be relevant to XBSP extensions to QuakeBsp which include extra lumps on the tail of the .bsp

BspClasses with signature capture:

  • id_software.QuakeBsp
  • id_software.ReMakeQuakeBsp
  • id_software.IdTechBsp
  • id_software.D3DBsp
  • ritual.RitualBsp
  • valve.ValveBsp
  • respawn.RespawnBsp
@snake-biscuits
Copy link
Owner Author

snake-biscuits commented Jun 14, 2023

We will need test maps w/ signatures for each BspClass
The only compilers I know of which leave signatures are Radiant & it's forks

BspClass Editor Compiler
id_software.IdTechBsp GtkRadiant q3map2
respawn.RespawnBsp MRVN-Radiant remap

@snake-biscuits
Copy link
Owner Author

The only compilers I know of which leave signatures are Radiant & it's forks

Could check MegaTest bsps for signatures & do something with those generated statistics

@snake-biscuits
Copy link
Owner Author

Capturing IdTechBsp signatures revealed a header for LUMP_ADVERTISMENTS1
This appears to be a Quake Live (IBSP v47) feature2, but appears in tests/maps/Quake 3 Arena/mp_lobby.bsp (v46)

Footnotes

  1. TTimo/GtkRadiant on GitHub: q3map2/bspfile_ibsp.c

  2. TTimo/GtkRadiant on GitHub: q3map2/q3map2.h

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request MegaTest test every .bsp you can find
Projects
Status: Todo: Research
Status: Todo: Research
Development

No branches or pull requests

1 participant