Dependency inventory
Libraries and versions
Versions below are read from TaystJK source commit 6ff04c0baf58. A system-library build can use different runtime versions; the configure log is authoritative for that build.
Versioned source dependencies
| Library | Version in tree | How TaystJK uses it | Evidence |
|---|---|---|---|
| SDL 2 | 2.32.4 | Windowing, input, audio, and platform integration; bundled by default on Windows and macOS, system-provided by default on Linux. | SDL_version.h |
| OpenAL Soft | 1.23.1 | Bundled software implementation of OpenAL on Windows, including software EAX support in the 32-bit package. | OpenAL Soft import |
| libpng | 1.6.53 | PNG image loading for renderer builds. | png.h |
| zlib | 1.3.1 | Deflate compression and PK3 support. | zlib.h |
| minizip | from zlib 1.3.1 | ZIP/PK3 reading; always uses TaystJK’s modified bundled copy. | lib/minizip/CMakeLists.txt |
| IJG libjpeg | 9c | Default bundled JPEG implementation. | jversion.h |
| libjpeg-turbo | 3.1.4.1 | Optional configure-time replacement when UseTurboJPEG=ON; fetched by CMake. |
CMakeLists.txt |
| cJSON | 1.7.16 | JSON parsing in the client game module. | cJSON.h |
| Mongoose | 7.13 | Embedded HTTP server and HTTP client used by downloads. | mongoose.h |
| gsl-lite | 0.41.0 | Header-only bounds and safety helpers. | gsl-lite.h |
| SQLite | 3.8.5 | Embedded database used by the game module. | sqlite3.h |
| libcurl headers | 7.15.5 | Legacy game-module HTTP interface headers. | curlver.h |
Bundled binaries without recorded upstream versions
TaystJK also carries prebuilt Discord RPC libraries for selected platforms. Their current files do not expose an upstream release number in the repository, so this documentation does not invent one. The source commit and binary hash are the reliable identifiers until that dependency gains checked-in version metadata.
| Library | Selection | Source evidence |
|---|---|---|
| Discord RPC | Prebuilt per-platform archives, controlled by BuildDiscordRichPresence. |
Discord RPC selection |
Bundled versus system libraries
Windows defaults to bundled OpenAL, zlib, libpng, libjpeg, and SDL 2. macOS defaults to bundled zlib, libpng, libjpeg, and SDL 2. Other Unix-like systems normally use libraries found by CMake, except for the always-bundled modified minizip, cJSON, Mongoose, gsl-lite, and embedded SQLite source.
On 32-bit Windows, the bundled OpenAL Soft library works with the shipped EaxMan.dll to provide EAX environmental audio in software; Creative or other EAX-capable hardware is not required. The 64-bit engine has support for loading EaxMan64.dll, but that library is not available in the release, so TaystJK’s complete EAX path is currently limited to the 32-bit Windows build.
The relevant switches are UseInternalOpenAL, UseInternalZlib, UseInternalPNG, UseInternalJPEG, UseTurboJPEG, and UseInternalSDL2. CMake records its actual choices in the configure output and CMakeCache.txt.
When reporting a dependency bug, include:
- The TaystJK commit and build configuration.
- The value of each
UseInternal…option. - The runtime library version where it can differ from the header version.
- The operating system and architecture.