* Flash games with URLs pointing to filenames with special characters will not work. This is because <code>nosamuEmbedSWF.sh</code> does not properly handle special characters when it converts URLs to paths, so it cannot copy the game's HTML to the correct location in <code>htdocs</code>.

* Flash games with URLs pointing to filenames with special characters will not work. This is because <code>nosamuEmbedSWF.sh</code> does not properly handle special characters when it converts URLs to paths, so it cannot copy the game's HTML to the correct location in <code>htdocs</code>.

+

* Some Shockwave games may not close when you quit them from the menu. If this occurs, click inside the Message Window next to the game. Then type <code>quit</code> and press Enter to close the game.

* Flashpoint for Mac uses exec mappings to determine what native executable to run based on the specified Windows application path. For example, <code>flashplayer_32_sa.exe</code> is mapped to <code>nosamuEmbedSWF.sh</code> for MacOS. To add more exec mappings, navigate to Flashpoint's <code>Data</code> folder and open <code>execs.json</code> in a text editor. The exec mappings use "darwin" to refer to MacOS.

* Flashpoint for Mac uses exec mappings to determine what native executable to run based on the specified Windows application path. For example, <code>flashplayer_32_sa.exe</code> is mapped to <code>nosamuEmbedSWF.sh</code> for MacOS. To add more exec mappings, navigate to Flashpoint's <code>Data</code> folder and open <code>execs.json</code> in a text editor. The exec mappings use "darwin" to refer to MacOS.

* Flashpoint for Mac uses <code>swfbbox</code> to determine the width and height of an SWF file. <code>swfbbox</code> is part of the <code>swftools</code> homebrew package. To install <code>swftools</code>, first [http://osxdaily.com/2018/03/07/how-install-homebrew-mac-os/ install homebrew]. Then type <code>brew install swftools</code> in the terminal.

* Flashpoint for Mac uses <code>swfbbox</code> to determine the width and height of an SWF file. <code>swfbbox</code> is part of the <code>swftools</code> homebrew package. To install <code>swftools</code>, first [http://osxdaily.com/2018/03/07/how-install-homebrew-mac-os/ install homebrew]. Then type <code>brew install swftools</code> in the terminal.

Revision as of 00:01, 15 December 2019

Flashpoint's Mac support is heavily experimental. This page provides information about the current Flashpoint for Mac package.

Open the DMG file and run the installer. Follow the on-screen instructions to install the JDK.

Installing Wine

Running games in Wine is not yet supported, but we hope to add support for this in a future build. If you'd like to contribute to our efforts, you can download an installer here.

Technologies

Currently, only Flashpoint Infinity is available for Mac. However, as explained here, both PHP and Apache are included with MacOS. This means it should be fairly simple to create a Flashpoint Ultimate package for MacOS as well. Let us know in our Discord if you can help!

No equivalent to the Flashpoint Redirector currently exists for MacOS. MacOS also does not provide any native way to set per-application proxy settings. In Flashpoint for Mac, the proxy settings for each supported technology must be set separately. This rules out using the Flash projectors, since they do not have configurable proxy settings. In Flashpoint for Mac, all Flash games run in a browser.

The Flashpoint FAQ contains a list of all web game technologies ("Platforms") supported in the Windows version of Flashpoint. The Mac version currently supports a small subset of these platforms. This is explained in detail below. The list of supported platforms includes an unscientific estimate of the percentage of games supported by our method.

Supported Platforms

Flash: Supported using the SeaMonkey web browser, with a Flash plugin included. Games that use a Flash Player version other than 32 are not yet supported.

~95% of games supported.

Shockwave: Supported with nosamu's custom SPR for Mac. Because LeechProtectionRemovalHelp is only available for Windows, the majority of Shockwave games will not work properly.

~30% of games supported.

HTML5: Supported using the SeaMonkey web browser. WebAssembly support is enabled in Flashpoint's SeaMonkey profile, so it should be compatible with nearly all of the same games as Basilisk.

~99% of games supported.

Java Applets: Supported natively using the JDK. Java in the browser is not supported yet.

~99% of games supported.

Unsupported Platforms

Unity Web Player: Has not been attempted yet. We would need to track down the Mac builds of all 12 versions of Unity Web Player that we support on Windows. Needless to say, this would be a huge challenge.

PopCap Plugin: As far as we know, there is no version of PopCap Plugin for modern Macs.

Authorware Web Player: Authorware is incompatible with all Intel Macs.

GoBit Plugin: As far as we know, there is no version of GoBit Games Plugin for modern Macs.

Silverlight: Silverlight for Mac is available here, but as explained in this StackExchange answer, Microsoft Silverlight for Mac is 32-bit only, even though the Windows version has 64-bit and 32-bit versions. This is a problem because no major browser for MacOS has a 32-bit version, and MacOS Catalina drops support for 32-bit programs entirely. As such, Silverlight is unusable on Mac.

3DVIA Player: As far as we know, there is no version of 3DVIA Player for modern Macs.

3D Groove GX: 3D Groove is incompatible with all Intel Macs.

ActiveX: ActiveX is a Windows-only technology.

ShiVa3D: The Windows version of the ShiVa3D Player is available in the free ShiVa Web Edition; this is where we obtained it. However, no Mac version of the ShiVa Web Edition is currently available, so we haven't been able to find a Mac version of the ShiVa3D Player. It's possible that we could extract a Mac version of the player from a Mac version of a ShiVa3D game. Or maybe we could obtain the Mac runtime from the Windows version of ShiVa3D Web Edition, since it has the capability of publishing for Mac.

Launcher Issues

A number of Flashpoint Launcher issues affect the experience of using Flashpoint Launcher on MacOS. Unfortunately, none of our Launcher developers currently have access to a Mac, so updates for the Mac version of Flashpoint Launcher will not be available in the foreseeable future. We will be unable to release a Mac version of Flashpoint 7.0 until a new version of the Launcher is built for MacOS. If you have access to MacOS and are able to build Flashpoint Launcher, please let us know!

The current issues with the Mac version of Flashpoint Launcher are listed below.

Errors are shown in the log when services are missing from the services.json. These services are unnecessary for Flashpoint on Mac, so the errors can be ignored.

A "NotValidJSON" error is shown for each loaded localization file. The localizations appear to work anyway.

Flashpoint Launcher cannot find its own Version file, even if it is present in the Launcher's folder and app package.

The Theme dropdown menu on the Config tab does not work properly. To select a theme, you must manually type the path to the theme's CSS file.

A popup appears if the user attempts to start a Windows executable from Flashpoint. This popup tells the user to install Wine, and points them to the Linux Support page, even though the Launcher is running on Mac.

If a shell script is specified in execs.json as an alternative to a batch script, the Launcher will attempt to launch the shell script defined for Linux, even if a different shell script is defined for Darwin (MacOS).

Platform XMLs created with later Launcher versions fail to load and cause a "No games found" error.

When Wine is started from Flashpoint Launcher, it uses >70% CPU for several minutes without ever starting the intended executable. This is despite Wine working fine when started from the terminal. This issue needs to be investigated and solved before Flashpoint can support launching games through Wine.

By default, Flashpoint Launcher will attempt to read and modify config.json and preferences.json inside its own app package. Since Mac applications are not allowed to modify their own app packages, this will fail. For this reason, Flashpoint Launcher must be opened with a shell script command StartFlashpoint.command. This script sets the current directory to the Flashpoint Launcher folder so that the Launcher accesses the config.json and preferences.json in the correct location. However, this unusual way of opening the Launcher may be the cause of the previously mentioned Wine bug.

Other Notes

Flash games with URLs pointing to filenames with special characters will not work. This is because nosamuEmbedSWF.sh does not properly handle special characters when it converts URLs to paths, so it cannot copy the game's HTML to the correct location in htdocs.

Some Shockwave games may not close when you quit them from the menu. If this occurs, click inside the Message Window next to the game. Then type quit and press Enter to close the game.

Flashpoint for Mac uses exec mappings to determine what native executable to run based on the specified Windows application path. For example, flashplayer_32_sa.exe is mapped to nosamuEmbedSWF.sh for MacOS. To add more exec mappings, navigate to Flashpoint's Data folder and open execs.json in a text editor. The exec mappings use "darwin" to refer to MacOS.

Flashpoint for Mac uses swfbbox to determine the width and height of an SWF file. swfbbox is part of the swftools homebrew package. To install swftools, first install homebrew. Then type brew install swftools in the terminal.

Flashpoint for Mac requires that PHP and cURL are enabled on your system. These components should be enabled by default.

Packaging Flashpoint for Mac

Here are some steps to keep in mind when packaging Flashpoint for Mac. This assumes that you are using the current package as a base and modifying it.