Black Mesa running natively on OS X using hl2_osx

Wanna see Black Mesa Source running natively on OS X?[/SIZE] :slight_smile:
I played around a bit yesterday evening and got Black Mesa “kind of” running natively on Mac OS X Mountain Lion (10.9.4) using the hl2_osx launcher *:

imgur Gallery with all pics: https://imgur.com/gallery/FCyxQ/[/SIZE]

* This was neither hacking nor porting, but just putting files in the right place and getting required contents using SteamPipes. But many things weren’t right, as resources have been loaded from the original Half-Life 2 instead of Black Mesa’s content. So it’s more a fun proof of concept, rather than a playable version! Or to put it differently: it’s HL2 with Black Mesa Menu and Maps at the moment.

Guide and documentation[/SIZE]

  1. Pre-requisite: Install the “Source SDK Base 2013 Singleplayer” within Steam (from Library > Tools)

  2. Pre-requisite: Download the BMS Zip-File from moddb

  3. Move the “Black Mesa” mod folder to

~/Library/Application Support/Steam/SteamApps/sourcemods/
  1. Rename the mod’s folder to “bms” (previously “Black Mesa”)
  2. Open Terminal.app and “cd” into the BMS directory
$ cd ~/Library/Application\ Support/Steam/SteamApps/sourcemods/bms/
  1. Open Black Mesa’s “/gameinfo.txt” with vim/pico/TextEditor (or any similiar)
  2. In the “SearchPaths { }” section, add the following lines just after “Game episodic” (kudos to lambdageneration.com):
    game sourcetest game+mod |gameinfo_path|. platform |gameinfo_path|. game_lv hl2/hl2_lv.vpk game+mod ep2/ep2_english.vpk game+mod ep2/ep2_pak.vpk game |all_source_engine_paths|episodic/ep1_english.vpk game |all_source_engine_paths|episodic/ep1_pak.vpk game |all_source_engine_paths|hl2/hl2_english.vpk game |all_source_engine_paths|hl2/hl2_pak.vpk game |all_source_engine_paths|hl2/hl2_textures.vpk game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk game |all_source_engine_paths|hl2/hl2_sound_misc.vpk game |all_source_engine_paths|hl2/hl2_misc.vpk platform |all_source_engine_paths|platform/platform_misc.vpk mod+mod_write+default_write_path |gameinfo_path|. game+game_write |gameinfo_path|. gamebin sourcetest/bin game |all_source_engine_paths|episodic game |all_source_engine_paths|hl2 platform |all_source_engine_paths|platform
  3. Save the updated “gameinfo.txt”
  4. Place a symbolic link (alias) to the BMS directory inside the Source SDK Base 2013 folder:
$ ln -s ~/Library/Application\ Support/Steam/SteamApps/sourcemods/bms ~/Library/Application\ Support/Steam/SteamApps/common/Source\ SDK\ Base\ 2013\ Singleplayer/bms
  1. Time to launch the game! In Terminal type the following command:
$ ../../common/Source\ SDK\ Base\ 2013\ Singleplayer/hl2.sh -game bms -dev -debug -novid -console -allowdebug -window -h 720 -w 1280

(for a reference of all valid command line arguments see developer.valvesoftware.com)

  1. If you did everything right, hl2_osx should load and let you play :slight_smile:

Issues[/SIZE]
A) SOLVED Sadly the whole thing was a one time success (so far) - because when I quit the game and tried to relaunch it, it always crashed the hl2_osx utility with the following error (see also attached txt-files)

FIX: i pointed the Steampipe to a wrong gamebin folder. If used with “episodic/bin” the game launches again!

B ) Many resources in the game are not from BMS, but from the original Half-Life 2, because of the Steampipe directives. So a lot of stuff doesn’t work, like…

  • triggered events or such
  • e.g. the Health Charging stations look like from HL2
  • the suit’s HUD is not displayed
  • weapons have to be spawn manually (give weapon_xy)
  • minor sound issues
  • and much much more for sure, I just played around like 10 minutes
  • …but hey, the water was there!! :smiley:

Next Steps[/SIZE]

  1. DONE! Well first of all, I’d be more than happy to get the game running a second time.
    So I will try to investigate what causes the crashes (eg. cache) and verify different command line arguments to use.
  2. It be great to load some more resources from BMS instead of HL2. Once point #1 is fixed, this will be the next thing to approach (as I cannot verify it when the game is not running at all, of course).

Looking forward for some feedbacks and inputs from the community.
hl2_osx-output-dump.txt (1.61 KB)
hl2_osx-terminaldump.txt (1.52 KB)

Is anybody here familiar with the Steampipes for SearchPaths inside the “gameinfo.txt”?

I can’t get the game to load any BMS-resources (models, materials, sounds, etc.), the game will always only load the original hl2-resources. I don’t know whether it’s the priority of searchpaths I used or simply the wrong commands… This is what I use so far:

Folder structure

Steam/
	SteamApps/
		common/ <-- this is where |all_source_engine_paths| should point to
			Source SDK Base 2013 Singleplayer/
				[...]
		sourcemods/
			bms/ <-- this is where |gameinfo_path| should point to
				gameinfo.txt
				[...]

SearchPaths {} in BMS’ gameinfo.text:

SearchPaths
{
	Game |gameinfo_path|.
	Game ep2
	Game episodic
	Game hl2
	// Starting next line, custom added SearchPaths:
	game sourcetest
	game+mod |gameinfo_path|.
	platform |gameinfo_path|.
	game_lv hl2/hl2_lv.vpk
	game+mod ep2/ep2_english.vpk
	game+mod ep2/ep2_pak.vpk
	game |all_source_engine_paths|episodic/ep1_english.vpk
	game |all_source_engine_paths|episodic/ep1_pak.vpk
	game |all_source_engine_paths|hl2/hl2_english.vpk
	game |all_source_engine_paths|hl2/hl2_pak.vpk
	game |all_source_engine_paths|hl2/hl2_textures.vpk
	game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
	game |all_source_engine_paths|hl2/hl2_sound_misc.vpk
	game |all_source_engine_paths|hl2/hl2_misc.vpk
	platform |all_source_engine_paths|platform/platform_misc.vpk
	mod+mod_write+default_write_path |gameinfo_path|.
	game+game_write |gameinfo_path|.
	gamebin sourcetest/bin
	game |all_source_engine_paths|episodic
	game |all_source_engine_paths|hl2
	platform |all_source_engine_paths|platform
}

Documentation used
Links I read, but still don’t really understand what I am doing wrong:

  1. https://developer.valvesoftware.com/wiki/Gameinfo.txt
  2. https://github.com/ValveSoftware/source-sdk-2013/blob/master/sp/game/mod_episodic/gameinfo.txt
  3. https://forums.steampowered.com/forums/showthread.php?t=1767184
  4. https://developer.valvesoftware.com/wiki/IFileSystem

Any help and Inputs appreciated!

it proboly wont work due to black mesa content was made to use source 2007 you should have much more sucsess using the source 2013 version of black mesa when its finshed in lets say 2 years

GOSH, I hope it isn’t 2 more years… I remember almost a year ago when they said the Steam version would be out “soon”… :fffuuu:

I’m banking on either next summer, or this holiday season…

But I guess this is off topic… Glad you were able to get it to work! I sure hope someone gets a Linux version out the door for the Steam Machines…

I decided using the Source SDK 2013 because I read here on the forums that people got it to work on 2013. Might have been a bit misleading…
But as this is more like a fun thing to play around with, I’ll give it a shot on the 2007 Source base to see, if it makes any difference.

haha definitely :wink: I mean… the Devs could just release the Source of the version that is available since it’s release and let the community handle enhancements on this base. Beside that they could still work on a better version they put on Stream and add additional, purchase-only contents to make money or so. But I guess they have their reasons and we just don’t see the full picture. :wink:

Founded in 2004, Leakfree.org became one of the first online communities dedicated to Valve’s Source engine development. It is more famously known for the formation of Black Mesa: Source under the 'Leakfree Modification Team' handle in September 2004.