diff options
Diffstat (limited to 'CONTEXT.md')
| -rw-r--r-- | CONTEXT.md | 8 |
1 files changed, 7 insertions, 1 deletions
| @@ -368,7 +368,9 @@ vocabulary / decisions. | |||
| 368 | the INI). Not `sv_skyname`: that did not take effect at runtime in this | 368 | the INI). Not `sv_skyname`: that did not take effect at runtime in this |
| 369 | build, so the skybox card now works on materials instead. | 369 | build, so the skybox card now works on materials instead. |
| 370 | - The PNG is decoded by our own reader (`zlib`'s `uncompress` + PNG filters; | 370 | - The PNG is decoded by our own reader (`zlib`'s `uncompress` + PNG filters; |
| 371 | 8-bit non-interlaced RGB/RGBA/gray/palette). Do **not** use the system | 371 | 8-bit non-interlaced RGB/RGBA/gray/palette) and scaled to the next power of |
| 372 | two, because the material system rejects textures whose dimensions are not | ||
| 373 | multiples of 4 ("Image dimensions must be multiple of 4!"). Do **not** use the system | ||
| 372 | libpng: `client.so`, `engine.so` and `vguimatsurface.so` each export their | 374 | libpng: `client.so`, `engine.so` and `vguimatsurface.so` each export their |
| 373 | own `png_create_read_struct`, so libpng16's internal PLT calls bind to the | 375 | own `png_create_read_struct`, so libpng16's internal PLT calls bind to the |
| 374 | game's older libpng with a different `png_struct` layout and crash in | 376 | game's older libpng with a different `png_struct` layout and crash in |
| @@ -394,6 +396,10 @@ vocabulary / decisions. | |||
| 394 | string as a fallback) and restored when the feature is disabled. Records | 396 | string as a fallback) and restored when the feature is disabled. Records |
| 395 | survive level changes so a reused sky material can still be restored; the | 397 | survive level changes so a reused sky material can still be restored; the |
| 396 | override is re-applied to the new map automatically. | 398 | override is re-applied to the new map automatically. |
| 399 | - `skybox_update()` runs from the `FRAME_RENDER_START` FrameStageNotify hook, | ||
| 400 | not from the VGUI paint hook: `ITexture::Download` only regenerates texture | ||
| 401 | bits on a render-safe frame stage. Running it during paint skipped the | ||
| 402 | regenerator and left an empty VTF (upload warnings + crash). | ||
| 397 | - The card shows the image path and has a Reload image button. A missing or | 403 | - The card shows the image path and has a Reload image button. A missing or |
| 398 | unreadable PNG raises an error toast; the image is only re-read on Reload. | 404 | unreadable PNG raises an error toast; the image is only re-read on Reload. |
| 399 | - Saved as `[skybox] active/bind`. | 405 | - Saved as `[skybox] active/bind`. |
