Skip to content

fix(vgui): restore native IBorder virtual method order - #17

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 calls native IBorder slot 6 as GetName(), but the SDK inserted ParseSideSettings(int, KeyValues*, IScheme*) there. This dispatched a no-argument call to a three-argument implementation and crashed during client UI initialization. Remove the helper from the public interface; Border keeps its private nonvirtual parser and native slots 0–7 retain their original order.

Rebuild SDK consumers with this header. MetaHookSv/VGUI2Extension#34 restores native missing-image behavior and adds a regression that calls border slots 6/7 using the native ABI. MetaHookSv/MetaHookSv#968 pins both component fixes. Merge this SDK fix before the dependent plugin PR.

Validation with both component changes:

  • Aggregate Debug/Win32 build with MSVC v143 and Windows SDK 10.0.26100.0 passed.
  • All 11 VGUI2Extension CTests passed; the new native-slot regression failed against the old header and passed with this fix.
  • Pinned clang-format checks passed for MetaHook and VGUI2Extension.
  • Deployed DLLs let the original zp client Start() return under CDB without runtime patches, traversing both previously failing paths.

Full game startup remains blocked later by a separate Renderer error: missing client gamedata symbol GameStudioRenderer_StudioDrawModel. Main-menu/map/visual regression is not claimed.

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