Black Mesa

Black Mesa

Definitely Larger Subs - v2.00
TSL16b  [开发者] 2024 年 10 月 24 日 上午 5:01
Definitely Larger Subs - v2.00 - Description
It Does Exactly What It Says on the Tin
Enlarged Captioning for Speech & Sound Effects
This mod makes larger type size for hi-res screens.

Theoretically, the Source game engine automatically scales fonts according to current vertical resolution. However, in case of unmodified (vanilla) Black Mesa that’s not always true. But fortunately there is a font property setting to address the legibility problem in high resolutions, and we used that setting for captions and subtitles which were too small to read in high definition otherwise. This DLS level up-scales captioning and fixes a bug with HEV boot up messages.
To:
  • Up-scale Speech & Sound Effects Captioning Only
Use DLS Level:
! Definitely Larger Subs ! USSECO.vpk

And Also...
Boot Up Messages of HEV & Long Jump Module
HEV suit provides a HUD with important textual data to display on-screen, like HEV and Long Jump Module boot up messages. Font scaling is now set to be more legible in every screen resolutions and aspect ratios, and if possible with less parts truncated by ellipsis in languages more verbose than English, especially at very low resolutions. Testing also revealed problems at the other end, though: if this section is left at vanilla state, then at high vertical resolutions (2880 pixels and up) most of boot up messages fail to show up at all. Using previous DLS level makes all messages show up, while this level up-scales them as well.
To:
  • Up-scale Speech & Sound Effects Captioning
  • Up-scale HEV Boot Up Messages
Use DLS Level:
! Definitely Larger Subs ! UHBUSSEC.vpk

But There’s More
DIN Pro Font in HEV & Credits (Important for Some L10ns)
To display localized text properly we need a font that has all characters the chosen language uses. The old DIN font used by the vanilla game covers Latin-1 code page only, it contains no Eastern European or Cyrillic glyphs. The font named “DIN Pro” which is also included in the game resources, covers Latin-1, Latin-2 and Cyrillic code pages, and looks very similar to the old DIN. Using the new font won’t cause bugs but its proper Latin-2 and Cyrillic glyphs cannot appear until after the experiment... erm... the engine’s library patch is applied. The possibility of a Resonance Cascade scenario is extremely unlikely.

Better Handling of Non-English Languages
Black Mesa is officially translated to many languages but without changes the game can not flawlessly display text set in some of them. To be able to display glyphs from Latin-2 and Cyrillic code page of a custom font in-game we must patch one byte in one of the game engine’s libraries. The patch disables the bugged fallback font selection mechanism of Source game engine and lets the actual glyph from the imported font be drawn. This patch was developed years ago for the Hungarian localization and works as a charm since then. Maybe we should name it Definitely Better Subs instead. :)
To:
  • Up-scale Speech & Sound Effects Captioning
  • Up-scale HEV Boot Up Messages + Change Font to DINPro
  • Change Font of Credits to DINPro
  • Fix Missing Chars or Inappropriate Letterforms for Eastern European and Cyrillic Languages
Use DLS Level:
! Definitely Larger Subs ! LFCFUHUS.vpk
(Fix for letterforms of EE and Cyr chars won’t work until after the engine patch is applied!)

Going With Style
Captioning Font Harmonized
Now, as font fallback can be disabled with the patch, the final step is easy to be anticipated: making the most frequently seen type of subtitles, the captioning for speech & sound effects, go with Black Mesa style. The typeface named DIN is used for the logotype and in credits, and even the HEV boot up messages are set in DIN font. It seems to be a logical choice for captions as well. If the patch is not applied, font fallback will kick in as usual, and it replaces Latin-2 and Cyrillic characters to its base font, but surprisingly, even with that, the resulting print still looks visually smoother and more uniform than the same subtitle with the default Tahoma font.
To:
  • Up-scale Speech & Sound Effects Captioning + Change Font to DINPro
  • Up-scale HEV Boot Up Messages + Change Font to DINPro
  • Change Font of Credits to DINPro
  • Fix Missing Chars or Inappropriate Letterforms for Eastern European and Cyrillic Languages
Use DLS Level:
! Definitely Larger Subs ! LFCFUHFUS.vpk
(Fix for letterforms of EE and Cyr chars won’t work until after the engine patch is applied!)

DLS Level Structure
Since captioning size is not the only flaw to be fixed, we used a (sort of) configurable approach to let user decide how many problems to fix. Because the file size of clientscheme.res, where almost all our changes must be made, is relatively small, different levels of changes are organized to several copies of separate .VPK’s, called DLS levels. Each DLS level pack contains one instance of a custom configured clientscheme.res file and nothing else.

Priority of Mod Packs
To avoid unexpected behavior, you should remove any other DLS levels from custom folder to be sure they don’t interfere with each other. Higher levels include all fixes of the lower levels, so one copy of a Definitely Larger Subs level pack file is enough. If there are more instances of a resource file in .VPK’s of mods, the game loads only the first instance it encounters and ignores all other versions found. The winner is that one which resides in first found .VPK pack file.

Pack files are parsed in alphabetical order. DLS level pack file names are set to manage that a higher level has priority over all lower ones because it comes first when names are alphabetically sorted.

Quick Setup (TL;DR)
Install:
   Copy your chosen DLS level file to installed game’s custom folder.
Uninstall:
   Remove (delete) DLS level file from installed game’s custom folder.

Clicking Subscribe is not enough to make this mod work.
You must locate, select and copy a .VPK file (say,
! Definitely Larger Subs ! UHBUSSEC.vpk
) and paste it into custom folder to install.

Here’s how:
Copy the file
...\steamapps\workshop\content\362890\2309516750\<the chosen .VPK file>
and paste it into
...\common\Black Mesa\bms\custom\
(create folder if it doesn’t exist).

Apply Patch (Optional)
If you want to fix missing or weird looking letters in certain localizations (this especially applies to Eastern European or Cyrillic languages) you need to apply the patch. You may need Administrator rights for this operation.

Here’s how:
Unpack archive FontFallbackPatch.zip into folder
...\common\Black Mesa\bin\
and run Patch‑FontFallback.bat.
Alternative Way to Apply Patch
As this is an executable which makes change to another executable, your system may block execution or display a warning. That’s normal. If you’re concerned about security, you can do the patching in a new, unprotected folder and check what the patcher does. Then, depending on system and storage path, you may still need Administrator rights to replace the vguimatsurface.dll file to the patched copy.

Here’s how:
Unpack archive FontFallbackPatch.zip into the new folder you created and copy
...\common\Black Mesa\bin\vguimatsurface.dll
file into that folder too. Run Patch‑FontFallback.bat and then you can compare the patched .dll file to the original one. There should be one different byte. Copy the patched vguimatsurface.dll file back to
...\common\Black Mesa\bin\
folder and select Replace file to overwrite original when pasting.

Remove Patch
Of course you can remove patch to re-enable font fallback by running Unpatch‑FontFallback.bat. You may need Administrator rights for this operation.

Here’s how:
Unpack archive FontFallbackPatch.zip into folder
...\common\Black Mesa\bin\
and run Unpatch‑FontFallback.bat.
Alternative Way to Remove Patch
Since this patch changes one byte only in one file, you can save a backup copy of that file, vguimatsurface.dll before you apply patch. To restore factory state you can simply replace patched version to the saved backup copy.

History

Definitely Larger Subs - Version 2.00
~ based on Black Mesa "Necro Patch Patch" (20 Apr 2024) version
+ fixes of minor bugs in vanilla clientscheme.res file
+ reworked scope and development of the mod from the ground up, for Science
+ separated to multiple levels, let user decide the amount of changes
+ patcher added to disable erratic font fallback
~ antialias (font smoothing) of captions font is now left enabled, as in vanilla game
~ steepness of captions font scaling is now 1, visual angle (height) of caption font is constant, regardless of resolution
! fixed: unnecessary changes to font scaling of reserve ammo on the HUD are removed, figures won’t get tiny anymore

Definitely Larger Subs - Version 1.01
+ "yres" scaling technique introduced on captions to differentiate hi-res from lo-res
~ set font to "DIN Pro" on HEV boot up messages and some HUD entries

Original readme:
Enlarged Subtitles for High Definition Screens

Based on Definitive Edition v1.5

New in v1.01: Using a standard method of Source VGUI for font scaling, subtitle font size grows with vertical resolution. That’s how it meant to be done, and it’s hard to imagine why Black Mesa developers didn’t use this technique. It’s a little bit surprizing that they tried to find one size that fits all targeted resolutions, when they didn’t have to.

While the previous version of this mod was for high definition screens only, v1.01 comes with a number of changes trying to balance the low end while managing subtitle and HEV bootup font size to be definitely larger than it would be in vanilla (game without the mod installed) wherever it’s possible without truncated text lines starting to show up. It requires many cycles of tweaking and checking to fine tune the maximum font sizes for every localizations and screen dimensions, so testing will be perpetual, and there may be subsequent updates of Definitely Larger Subs mod in the future, for Science.

To keep the familiar look and feel of subtitles in Half-Life series, typeface is not changed and antialias (font smoothing) is still disabled on CloseCaption fonts.

Definitely Larger Subs - Version 1.00
+ Initial version with hard-wired larger type size for captions, no resolution-dependent font scaling specified
最后由 TSL16b 编辑于; 2024 年 10 月 24 日 上午 5:36