Skip to content

vkQuake embedded pack : removed dependency on compressor tooling - #821

Merged
vsonnier merged 1 commit into
masterfrom
vso_vkquake_pack_improvements
Nov 7, 2025
Merged

vkQuake embedded pack : removed dependency on compressor tooling#821
vsonnier merged 1 commit into
masterfrom
vso_vkquake_pack_improvements

Conversation

@vsonnier

@vsonnier vsonnier commented Nov 7, 2025

Copy link
Copy Markdown
Collaborator
  • Removed zopfli external dependency, also because discontinued
  • replaced by bintoc -c option, built around our existing miniz
  • Upgraded to miniz 3.10 to bring back compression routines, was stripped previously
  • Embed miniz.c stb-style (supported by miniz) dicrectly into common.c and bintoc.c compilations units
  • Visual Studio projects, Makefiles and Meson now rebuild both vkquake.pak and embedded_pak.c from scratch.

That took a fuckton of time to tune, so this is as good it gets from me. Fell free to submit PR, but I won't touch the subject anytime soon myself.

Only 64bit targets has been changed, because 32bit will disappear very very soon, see #815.

- Removed zopfli external dependency, also because discontinued
- replaced by bintoc -c option, built around our existing miniz
- Upgraded to miniz 3.10 to bring back compression routines, was stripped previously
- Embed miniz.c stb-style (supported by miniz) dicrectly into common.c and bintoc.c compilations units
- Visual Studio projects, Makefiles and Meson now rebuild both vkquake.pak and embedded_pak.c from scratch.
@vsonnier
vsonnier merged commit 1191bda into master Nov 7, 2025
20 checks passed
@sezero
sezero deleted the vso_vkquake_pack_improvements branch November 7, 2025 15:16
@j4reporting

Copy link
Copy Markdown
Contributor

IMHO, the change went a little bit too far. pak file and embedded_pak.c do not change often, if ever :).

When projects like LQ need/want to customize the pak file, they can drop their files in Misc/vq_pak and run make in that directory to update embedded_pak.c and then compile the project.

I think it would be better to have this as a two step procedure. As it is now we update the source file every time. Sooner or later a regenerated enmbeded_pak.c is going to be part of a commit :)

@vsonnier

Copy link
Copy Markdown
Collaborator Author

Hi @j4reporting On the contrary, I would like to have less choices for building options, not more. Did I ever say I hate build systems ? :)

Actually the only reason embedded_pak.c is still in Git is because I didn't manage (or spent even more time looking for a solution) with either Make or Meson, to indicate it was a generated file so didn't need to be present at the begining of the build, while still listed for compilation.

I think there is no harm that binary resources are rebuild from scratch each time (just like code), especially when the whole vkQuake take 10 seconds to build fully on a very modest machine.

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

Successfully merging this pull request may close these issues.

2 participants