Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "Half-Life 2"

From AppleGamingWiki, the wiki about gaming on M1 Apple silicon Macs
m (no need to edit 'your username' by user, it will pull it from whoami command.)
(Note that renaming and moving the folders is not needed after recent commits)
Line 60: Line 60:
 
</pre>
 
</pre>
  
5. The location of <code>StubSteamAPI</code> was recently moved on 23rd May 2023, so this has to be put into the correct place for the build scripts to work:
+
5. ('''this is step was not needed when building HL2 on 1st July 2023''') The location of <code>StubSteamAPI</code> was recently moved on 23rd May 2023, so this has to be put into the correct place for the build scripts to work:
 
#Rename <code>/stub_steam/</code> to <code>/StubSteamAPI/</code>
 
#Rename <code>/stub_steam/</code> to <code>/StubSteamAPI/</code>
 
#Move <code>/StubSteamAPI/</code> into the <code>/thirdparty/</code> folder.
 
#Move <code>/StubSteamAPI/</code> into the <code>/thirdparty/</code> folder.

Revision as of 10:19, 2 July 2023

macOS Compatibility

Method Rating Notes
Native Perfect Compiled the Source Engine Leak. https://jameshug.notion.site/Guide-to-Installing-Portal-Using-Source-Engine-on-macOS-660803f9ced149cfa1647d38fd5a7092[1]
Rosetta 2 Unknown
Compatibility layer
CrossOver Runs Installed via Steam on CrossOver 21, extreme fps drops during shootouts and explosions.
Wine Unknown
Virtualization
Parallels Perfect Playable.[2]

Native ARM build from leaked source

These instructions are heavily based on guides written by James Hug. This method can be used to build native ARM macOS ports of Half-Life, Half-Life 2, Half-Life 2: Episode 1 & 2, Portal, Counter-Strike: Source etc. as long as the necessary game files from Steam have been copied into the correct folder.

Enter these commands into a Terminal window:

1. Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

On Apple Silicon Macs: remember to set the path, modify this command with your username:

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/$(whoami)/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

2. If Xcode Command Line Tools does not install, then install it manually:

xcode-select --install

3. Install required packages from Homebrew (added the jpeg-turbo dependency from instructions)

brew doctor
brew cleanup
brew install sdl2 freetype2 fontconfig pkg-config opus libpng libedit python3 jpeg jpeg-turbo

4. Clone the Source Engine GitHub repository

git clone --recursive https://github.com/nillerusr/source-engine
cd source-engine

5. (this is step was not needed when building HL2 on 1st July 2023) The location of StubSteamAPI was recently moved on 23rd May 2023, so this has to be put into the correct place for the build scripts to work:

  1. Rename /stub_steam/ to /StubSteamAPI/
  2. Move /StubSteamAPI/ into the /thirdparty/ folder.

6. Set pkg path:

export PKG_CONFIG_PATH="/opt/homebrew/opt/jpeg/lib/pkgconfig"

7. Configure game builds:

  • Half-Life 2:
    • python3 waf configure -T release --64bits --prefix= --build-games=hl2
  • Half-Life 2 Episodes:
    • python3 waf configure -T release --64bits --prefix= --build-games=episodic
  • Portal:
    • python3 waf configure -T release --64bits --prefix= --build-games=portal
  • Counter-Strike: Source:
    • python3 waf configure -T release --64bits --prefix= --build-games=cstrike

8. Build the game:

python3 waf build

9. Create Build folder Install build into directory, this can be located anywhere ideally append with hl2, episodic, portal, cstrike etc.

python3 waf install --destdir='~/Documents/Build folder/hl2'

10. Open Build folder in new Finder window.

11. Open Mac version of Steam and install games e.g Half-Life 2, Episode 1, Episode 2, Portal, Counter-Strike: Source etc. these game files I will refer to as the Steam folder.

12. Open Steam folder in Finder: right-click on game in Steam library, go to Manage and Browse local files. Alternatively navigate to ~/Library/Application Support/Steam/steamapps/common/

13. In the Steam folder:

  • Delete Steam folder/bin/ folder.
  • Copy/move Build folder/bin/ folder into Steam folder/ replacing the previous Steam folder/bin/ folder.

14. In the Steam folder:

  • Delete hl2_osx
  • Copy/move from Build folder Build folder/hl2_launcher
  • Rename the hl2_launcher into hl2_osx

15. In the Steam folder:

  • Navigate inside 'game' folder (e.g. /hl2/ or /episodic/ or /portal/ or /cstrike/)
  • Delete the bin subfolder (e.g. Steam folder/hl2/bin/)
  • From the Build folder go to game folder (e.g. Build folder/hl2/) and move/copy from the Build folder to the Steam folder into the game (e.g. Steam folder/hl2/)

16. Now the respective game can be launched from within Steam.

17. Other parameters:

  • cstrike (Counter-Strike: Source) - in addition tot he above instructions, also copy the Steam folder/hl2/ and put it in the root of the Steam folder so that the game will launch.
  • tf (Team Fortress Classic)
  • dod (Day of Defeat)
  • hl2mp (Half-Life 2: Deathmatch)

References

  1. Verified by User:PBeGood4 on 29 April 2023
    Device: M1 MacBook Pro
    Method: Compiled Source Engine Leak
    Resolution: 1920x1080
    Settings: high
    Framerate: 120+ FPS
  2. Verified by User:gp on 7 Sep 2021
    Device: Mac M1 16 GB RAM
    OS: Windows 11 (latest Insider ISO)
    Method: Parallels 17
    Resolution: 1080p
    Settings: Medium
    Framerate: 50~60 FPS