Skip to content

fix(scheme): preserve native missing-image behavior - #34

Merged
hzqst merged 1 commit into
mainfrom
fix/zp-vgui-startup
Nov 7, 2026
Merged

hzqst merged 1 commit into
mainfrom
fix/zp-vgui-startup

Conversation

@hzqst

@hzqst hzqst commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Zombie Panic 10210 requests the absent ui/icons/scoreboard/icon_dono0 image and immediately calls SetSize() on the result. Native VGUI returns a Bitmap for that request; the replacement scheme manager returned NULL and caused an access violation. Keep invalid Bitmaps in the cache and return them as native VGUI does; their existing Paint() path safely skips invalid textures.

Add a regression that calls native IBorder slots 6/7. It requires MetaHookSv/MetaHook#17, which removes ParseSideSettings from the public virtual interface. Merge that SDK fix first so standalone builds/tests consume the corrected header.

MetaHookSv/MetaHookSv#968 pins both component fixes and rebuilds their consumers together.

Validation with both component changes:

  • Aggregate Debug/Win32 build with MSVC v143 and Windows SDK 10.0.26100.0 passed.
  • All 11 CTests passed. The native-slot regression failed before the SDK fix and passed afterward.
  • Pinned clang-format checks passed for both components.
  • After deployment, CDB confirmed the missing-image request returned a VGUI2Extension Bitmap and the original zp client Start() returned without runtime patches.

Full halflife-mcp startup remains blocked later by Renderer's missing GameStudioRenderer_StudioDrawModel client symbol. This PR does not claim a successful main-menu/map/visual regression.

Co-Authored-By: Codex <codex@openai.com>
@hzqst
hzqst merged commit 3f98b35 into main Nov 7, 2026
3 of 4 checks passed
@hzqst
hzqst deleted the fix/zp-vgui-startup branch November 7, 2026 11:41
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.

1 participant