diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-04 00:16:09 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-04 00:16:09 +0100 |
| commit | 4f384f94504a2027febc8b5cc3e2b3e3034c0b23 (patch) | |
| tree | 68491e9e1accbfc822e46187312d1d57a7fb66ed /assets | |
| parent | Skybox image: upload via procedural texture, not CreateTextureFromBits (diff) | |
| download | hl2h-4f384f94504a2027febc8b5cc3e2b3e3034c0b23.tar.gz hl2h-4f384f94504a2027febc8b5cc3e2b3e3034c0b23.zip | |
Skybox image: decode PNG ourselves to avoid symbol interposition
client.so, engine.so and vguimatsurface.so all export their own
png_create_read_struct. Loading the system libpng16 made its internal calls
bind to the game's older libpng, whose png_struct layout differs, so
png_safe_warning read a NULL error_ptr and crashed.
Replace libpng with a small PNG reader: zlib's uncompress (dlopen'ed) plus the
five PNG row filters, supporting 8-bit non-interlaced RGB/RGBA/gray/palette
images with tRNS alpha for palettes. Output verified byte-identical to libpng
for the skybox.png in use.
Diffstat (limited to 'assets')
0 files changed, 0 insertions, 0 deletions
