Neil Haverlandt
598ed5876d
Use unique Preference ID to identify preference dictionaries
2021-01-29 17:06:26 -07:00
Neil Haverlandt
8ba25eb7d3
Rename Advanced Menus to Core Preferences
2021-01-29 11:57:34 -07:00
Neil Haverlandt
f82de71fdb
Advanced Menuing Added
2021-01-22 15:04:17 -07:00
Stuart Carnie
e7c4503690
chore: Refactor away shader parameter groups from OpenEmuShaders
2021-01-16 14:31:34 +11:00
Stuart Carnie
76b7278889
chore: Use field directly
2021-01-16 14:29:59 +11:00
Stuart Carnie
c7d5788bce
refactor: Shader parameters source of truth is host
...
This change removes the dependency for loading and retrieving shader
parameter values from the helper. This simplifies the dataflow,
as it only flows down to the helper rather than bi-directional.
This is foundational work to improve the shader experiece. Future
iterations will include support for sharing presets, more flexible
UI customisation and more.
2021-01-10 13:40:04 +11:00
clobber
8853ccbfe0
fix: Don't timeout XPC connections in the debugger.
2021-01-05 11:51:34 -07:00
Stuart Carnie
733d590418
fix: Missing header
2020-12-31 17:23:08 +11:00
Stuart Carnie
0a24d64f80
fix: Use Swift API; don't need Obj-C exception handling rubbish
2020-12-31 17:20:02 +11:00
Stuart Carnie
a8c014aa60
feat: New extensions and APIs for improving XPC support
2020-12-31 13:46:49 +11:00
Stuart Carnie
58c7459e3e
fix: Add additional logging to XPC interface. Add timeout for semaphore.
2020-12-28 12:20:33 +11:00
Stuart Carnie
327ace7fb6
fix: read shader parameters from OE defaults
...
The real fix is to push the parameters from the host application
2020-12-24 10:12:09 +11:00
Stuart Carnie
0717b43318
fix: Frame may be offset in parent window and not at { 0, 0 }
2020-11-16 06:50:00 +11:00
Stuart Carnie
9fb5bbbada
chore: Logging improvements and some minor cleanup
2020-11-16 06:11:16 +11:00
Stuart Carnie
000ccd10c2
fix: Incorrect 1x scale under specific conditions
...
When scaling down to 1x, if the buffer size matched the new bounds, the video layer in the helper would not update.
2020-11-12 17:45:33 +11:00
Daniele Cattaneo
b4d2307bc2
Add an optional method in OEGameCoreOwner for notifying when a game core terminates.
2020-10-25 00:08:04 +02:00
clobber
42ee3f82a5
Add a deprecated/obsolete core plugin to -isOutOfSupport.
2020-10-07 13:55:12 -05:00
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
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