Difference between revisions of "Source Ports on macOS"

From Emulation General Wiki
Jump to navigation Jump to search
(Source Port List: Add castle wolfentein)
(Added categories from general source ports article)
Line 927: Line 927:
 
==Notes==
 
==Notes==
 
<references group=N />
 
<references group=N />
 +
 +
[[Category:Game engine recreations]]
 +
[[Category:Not really emulators]]

Revision as of 20:43, 23 September 2023

macOS
1998 apple logo.png
Developer Apple
Type Operating systems
Release date 2001
Latest release macOS 13 Ventura
This page is about game engine recreations and source ports that run on macOS (previously Mac OS X).
For emulators that run on macOS, see Emulators on macOS.

What is a Source Port?

Sometimes creating an emulator for a whole system is overkill. If the source code for a game is available, it is possible to modernise the code and port it to multiple platforms that the original game developer did not originally envisage. This is called a source port.

Alternatively, if the source code is not available, it is possible to make a game engine recreation from scratch. This is much more difficult to do, and it is harder to make the resulting game match the original.

Getting the App

Some of the games on this list will have a macOS app bundle available to download on the project's home page or git. But a lot of them do not. However there is a project called Mac Source Ports which takes open-source games, compiles them into a macOS app bundle (Universal Binary where possible), signs and notarises them, and makes them available to download for free.

The Mac Source Ports builds are often the most convenient way to play these games, so if a build is available it is recommended.

Getting an Icon

Out of respect for the original projects, Mac Source Ports keeps their official app icon. Unfortunately most source ports don't have good looking icons that fit with the macOS design language.

But you may be able to find a good icon on macOS Icons. If there aren't any that are suitable, maybe consider creating one and uploading it there to share.

In order to add an icon, right-click on the app and select "Get Info". Then drag the new icon over the old one in the top left corner of the Get Info window.

Compiling the Source Code and the Terminal

In some cases there is no app bundle available for download, so you may have to compile the source code yourself, or to run the game using the command-line. No instructions will be provided here, but the project's git page usually will tell you how to go about it. This list will indicate if an app bundle is available or not.

Getting the Game Data

For most source ports and game recreations, game data from the original game is required and this must be legally obtained from the original release for copyright reasons. Game data for most of the games below are available to purchase from GoG or Steam (GoG is preferred as they do not have DRM). The game data for the Windows version is often compatible, but always check before purchasing.

In order to extract the data from GoG installers, you can use Mac Source Port's Extractor tool. Otherwise, innoextract can be used from the command-line.

Generally, the game data should be put in the `~/Library/Application Support/` directory (where `~` represents your user home folder). But this is dependent on the individual game, so check the installation instructions.

A few games were open-sourced and released with their game data included, so for these games no additional steps are required.

ScummVM

ScummVM is an amazing project that supports well over 300 games, with more being added all the time.

We are not crazy enough to list all of the games here, so go have a look at their compatibility list.

Source Port List

  • Note: Some builds providers may not give the same architectures listed here, check before downloading
  • Note 2: If an architecture here is checked red, it could still work by building it locally, but is not guaranteed
Name Supported games Source App Bundle Build available PPC x86 x64 Arm Includes Game Data Gamepad Support Active Recommended
Abuse 1996 Abuse git MSP Build ?
Arx Libertatis Arx Fatalis git MSP Build

Homebrew

?
NakedAVP Aliens Vs Predator (2000) git MSP Build
GemRB Baldur's Gate 1 & 2 git Official Build

MSP Page 1
MSP Page 2

Billy Frontier Billy Frontier git Official Build

MSP Build

?
BStone Blake Stone: Aliens of Gold
Blake Stone: Planet Strike
git MSP Build 1

MSP Build 2

Raze Blood git Official Build
MSP Page
Bugdom Bugdom git Official Build ?
Doukutsu-RS Cave Story git Official Build ~ [N 1]
ZDoom
GZDoom
Chex Quest Trilogy git Official Build
MSP Page
~ [N 2]
Source Engine Counterstrike: Source git No builds provided[N 3] ?
Source Engine Day of Defeat git No builds provided[N 3] ?
Dhewm 3 Doom 3 git MSP Build
RBDOOM3-BFG Doom 3: BFG git MSP Build
Doom 64 EX+ Doom 64 git MSP Build ?
Eduke32 Duke Nukem 3D git MSP Build
Raze Duke Nukem 3D git Official Build
MSP Page
Dune Legacy Dune II git [N 4] Official Build ~ ~
OpenDUNE Dune II git [N 4] Official Build ~ [N 5] ~ [N 5] ~
Daggerfall Unity Elder Scrolls II: Daggerfall git Official Build
MSP Page
?
OpenMW Elder Scrolls III: Morrowind git Official Build
MSP Page
Fallout CE Fallout git MSP Build
Fallout 2 CE Fallout 2 git MSP Build
OpenGothic Gothic II git MSP Build ?
re3 Grand Theft Auto III git [N 6] No builds provided
reVC Grand Theft Auto: Vice City git [N 6] No builds provided
Xash3D-FWGS Half-Life git MSP Build ?
Source Engine Half-Life 2
Episodes 1 & 2
Deathmatch
git No builds provided[N 3] ?
GemRB Icewind Dale 1 & 2 git Official Build

MSP page

JA2-Stracciatella Jagged Alliance 2 git Official Build

MSP Build

OpenJazz Jazz Jackrabbit git MSP Build ?
Jazz² Resurrection Jazz Jackrabbit 2 git MSP Build ?
Ship of Harkinian Legend of Zelda: Ocarina of Time git Official Build
Project Magma Myth II: Soulblighter ~ Official Build

MSP Page

Nanosaur II Nanosaur II git Official Build

MSP Build

?
R.E.L.I.V.E Oddworld: Abe's Oddysee
Oddworld: Abe's Exoddus
git MSP Build 1
MSP Build 2
?
Osu!(Laser) Osu! git Official Build ?
Source Engine Portal git No builds provided[N 3] ?
Raze PowerSlave / Exhumed git Official Build
MSP Page
Spatterlight Planetfall git MSP Page

Official Build

GemRB Planetscape: Torment git Official Build
SDLPoP Prince of Persia (DOS) git Official Build (Intel only)

Homebrew

~ [N 7]
vkQuake Quake git MSP Build
Yamagi Quake II Quake II git MSP Build
ioquake3 Quake III: Arena git MSP Build
Raze Redneck Rampage git Official Build
MSP Page
Return to the Roots Settlers II git MSP Build
Raze Shadow Warrior Classic git Official Build
MSP Page
Stargus Starcraft git No builds provided
ZDoom
GZDoom
Strife git Official Build
MSP Page
Super Tux Kart Super Tux Kart git Official Build
TheXTech Super Mario Bros X. git Official Build
OpenLara Tomb Raider (PS1) git [N 4] Official Build ?
War1gus Warcraft git [N 8] No builds provided
Wargus Warcraft 2 git [N 8] No builds provided
wipEout-Rewrite wipEout (PS1) git No builds provided
ET: Legacy Wolfenstein: Enemy Territory git Official Build ~ [N 9]
iortcw Wolfenstein: Return to Castle Wolfenstein git [N 10] MSP Build
Wrathplaces WRATH: Aeon of Ruin git MSP Build ?
Spatterlight Zork I, II, III, Beyond git MSP Page

Official Build

Notes

  1. Works with the freeware game data and Cave Story+
  2. The games were released as freeware. The game data can be acquired here
  3. 3.0 3.1 3.2 3.3 Has a bug where the source code folder needs to be present when running the game
  4. 4.0 4.1 4.2 The release is old. It's better to build from source
  5. 5.0 5.1 Available if compiled from source
  6. 6.0 6.1 The original repository was taken down. There are various forks available online
  7. Arm version available via homebrew or self-compiled
  8. 8.0 8.1 Need to build from source along with Stratagus. The data extraction tool has a bug that requires the source folder to exist in order to extract the data. It is not required after the data is installed
  9. Game data is available for free on GoG
  10. Separate app bundles are available for single player and multiplayer