Retro68/LaunchAPPL
Ryan Schmidt 4a7b698ab4 LaunchAPPL: Fix two macOS Mini vMac launching bugs
On all macOS versions, Mini vMac would launch behind other applications
because it was being launched by running the executable within the
application bundle directly. The solution is to let the OS launch the
app normally by using the open utility. This eliminates the 30 lines of
code that laboriously determined the executable name.

On macOS 10.12 and later, Mini vMac could not find the ROM or disk
files. These files were being placed in the same directory as the Mini
vMac application, but a new macOS security measure called Gatekeeper
Path Randomization or App Translocation prevents that from working
anymore. See https://www.gryphel.com/c/minivmac/osx_note.html. The
solution is to place the ROM and disk files within the mnvm_dat
directory in the Contents directory in the application bundle.

The code that copies Mini vMac into the temporary directory had to be
moved earlier so that when the ROM file is symlinked and the disk image
is created the mnvm_dat directory into which they go will be there.

Since more than one method needed to know whether Mini vMac was an app
bundle, a Boolean instance var was added on macOS to indicate that.
2022-08-03 14:07:41 -05:00
..
Client LaunchAPPL: Fix two macOS Mini vMac launching bugs 2022-08-03 14:07:41 -05:00
Common
Server
CMakeLists.txt
LaunchAPPL.cfg.example