Commit Graph
29 Commits
Author SHA1 Message Date
C.W. Betts ca4a03be2b Use NS_ERROR_ENUM for OEGameCoreManagerErrorCodes. 2020-09-22 09:53:25 -06:00
Stuart Carnie 4e138885d0 Introduce NSView for managing scaled inner view 2020-09-20 07:50:33 -07:00
clobber 0da7db54c5 Support OESystemType in the system plugins. 2020-09-19 17:26:07 -05:00
Stuart Carnie c65215471e fix: Post the notification after invalidating invalidation caches
There is no observed bug, but it is a race condition if the receivers of
the notifications fire immediately, before the cache is invalidated
2020-09-19 14:05:06 -07:00
Stuart Carnie 3b99712f70 feat: Add notification when system plugins a registered 2020-09-19 10:47:46 -07:00
clobber 8d800ff895 Rename supportsDiscs property. 2020-09-18 15:29:38 -05:00
Stuart Carnie 2f8f391b80 improvements for integral scaling in windowed and full screen views 2020-09-12 14:30:40 -07:00
Stuart Carnie cfe824f527 Introduce delegate responsible for resizing a window to integrals 2020-09-02 19:21:24 -07:00
Stuart Carnie 2b7d4c1b1a Use _Exit to avoid running C++ destructors, etc
Cores like PPSSPP will periodically crash when calling
`__cxa_finalize_ranges` to call destructors, etc
2020-09-01 06:37:56 -07:00
Stuart Carnie 81a6993781 docs update 2020-09-01 06:17:14 -07:00
Stuart Carnie ea6a7a7668 OpenEmuKit improvements
* Don't do initial shader discovery in OpenEmuHelperApp; pass the
  shader URL on startup
* Shader discovery uses kCFBundleNameKey (PRODUCT_NAME) to find user
  shaders.
  This will be "OpenEmu" or whatever the name of the main executable
  bundle.

TODO:

* Add code to OEShadersModel to install user shaders, so it correctly
  installs them to the same path.
2020-08-29 17:02:40 -07:00
Stuart Carnie a802921419 introduce OpenEmuKit.OpenEmuKitPrivate module with SPI and Swift interop 2020-08-28 18:37:32 -07:00
clobber a2b583ddab Preserve Swift < 5.2 support for now
If building with Xcode 11.3.1 on macOS 10.14.6, max supported is Swift 5.1.3
2020-08-28 20:35:26 -05:00
Stuart Carnie 5a795136b4 Utility class for 10.15 to use Combine to stream NSEvents 2020-08-28 11:19:18 -07:00
Stuart Carnie bf71f646a3 Amend API to allow dispatch queue to be provided
This allows clients to use a queue other than main to perform the
callbacks, allowing for synchronization primitives, such as semaphores
2020-08-28 11:18:44 -07:00
Stuart Carnie 7dc23c4afd Remove XADMaster dependency
This belongs in the host application, which performs any necessary
decompression based on the types of ROMs it processes.
2020-08-28 11:17:18 -07:00
Stuart Carnie 3e05571d64 fix: Nullability assertions and improved Swift APIs 2020-08-25 16:39:57 -07:00
clobber d821641a3d Remove OEGameStartupInfo romCRC32 property. 2020-08-25 11:09:39 -05:00
Stuart Carnie 08a3e07c46 Moved to pure function in OpenEmuBase 2020-08-23 08:32:00 -07:00
Stuart Carnie 3ca6a6357b feat: Improvements to API
Introduced `OEGameStartupInfo` to capture startup parameters for
loading a core and ROM.

A future iteration of this API will provide a generic container.
2020-08-23 08:31:13 -07:00
Stuart Carnie 34d3dbbd8e Remove OpenEmuXPCCommunicator framework reference 2020-08-16 09:20:04 -07:00
Stuart Carnie d52c73ab1a remove XPC static library; xpc helper links directly to OpenEmuKit 2020-08-16 09:00:31 -07:00
Stuart Carnie 15c9172533 Introduce abstract base for XPC helper to provide names that change
This is not finished, as I believe we can do better.
2020-08-15 20:20:25 -07:00
Stuart Carnie 53783685cb feat: XPC and helper app support built right in 2020-08-15 19:18:52 -07:00
Stuart Carnie e7c2eae656 Fix compilation error 2020-08-14 18:59:27 -07:00
Stuart Carnie 7aeef5253e Port AudioUnit fix
Fix a buffer overflow issue by working around a bug in Core Audio where an unit is requested more bytes of audio than the maximum.

inp->pullInput ended up writing outside the bounds of the input buffer because CoreAudio requested 528 frames instead of 512... Go figure. This was observed in macOS 10.14.6 build 18G6020.
Obviously this could cause crashes, even though in practice they seem rare (one of such crashes may have been posted in error in a comment to issue #4165).
All cores which require an audio format conversion are affected (one of them is Gambatte).

The fix is more range checking. I also increased the effective input buffer size, to avoid giving CoreAudio less bytes than it requests -- at least in the case I have seen.
2020-08-14 18:55:39 -07:00
Stuart Carnie ed8e2d78f7 Copied Audio fixes 2020-08-14 18:51:49 -07:00
Stuart Carnie dd57da92d9 Initial commit 2020-08-14 18:29:34 -07:00
clobber b46ac764ec Initial commit 2020-08-14 11:27:22 -05:00