Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loading BSP2 maps in a single binary #1950

Merged
merged 8 commits into from
Jan 9, 2025
Merged

Loading BSP2 maps in a single binary #1950

merged 8 commits into from
Jan 9, 2025

Conversation

a1batross
Copy link
Member

This is tough. We basically split all extended structures into two versions, one with 16-bit fields for Q1BSP and HLBSP (including BSP30ext) and another with 32-bit fields for QBSP2.

What it does is allow us to use the same engine binary for all supported formats and letting custom renderers, like PrimeXT, finally support QBSP2 alongside classic BSP formats.

What it doesn't, however, allow is to re-use existing custom renderers from Half-Life 1. Most, if not all of them, will probably crash after reading world model_t and getting wrong offsets and pointers when QBSP2 map is loaded.

Running a simple benchmark didn't show any significant drop in performance.

@a1batross a1batross merged commit 98ff33d into master Jan 9, 2025
29 of 30 checks passed
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