Cyd and Claude Fable 5
d6745353b1
L4D3D: survive missing textures instead of crashing at mission load
...
d3d_OBJECT::LoadTexture never checked D3DXCreateTextureFromFileA, cached
the NULL texture, and unconditionally AddRef()ed it - an access violation
on any missing/unreadable texture, hit by every bare working copy because
the pod skins (VIDEO\player1-8) come from the presets/replacement-material
path, not the depot. Failures now log the filename+hr and the draw op
renders untextured, matching the existing no-texture-filename path. Also
guard the unchecked gReplacementData->find() in LoadObject (same latent
UB one branch earlier).
Verified in the sandbox working copy: the game now boots to a running
RPL4 window with -windowed -egg TEST.EGG (RIO served by vRIO), logging
the eight missing pod skins instead of dying in MakeEntityRenderables.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-12 12:41:29 -05:00
..
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-07-01 09:30:08 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-07-12 12:41:29 -05:00
2026-06-30 07:59:51 -05:00
2026-07-12 12:22:31 -05:00
2026-07-12 12:22:31 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-07-01 09:30:08 -05:00
2026-07-01 09:30:08 -05:00
2026-07-12 12:22:31 -05:00
2026-07-12 12:22:31 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00