Commit Graph
433 Commits
Author SHA1 Message Date
Neil Haverlandt 245df758f4 Create a Preference type to help identify the preference in the dictionary. Will allow to easily add preference types in the future 2021-01-29 19:44:10 -07:00
Neil Haverlandt e6d255d3e7 Create Unique PreferenceID and use it instead of preferenceName and GroupID
Create a slider Preference
This simplifies menu preferences Creation.
2021-01-29 17:05:05 -07:00
Neil Haverlandt c9f3c12f32 Rename AdvancedMenu to CorePreferences and move functions out of the EmuCore and into the GameCore 2021-01-29 11:54:53 -07:00
Neil Haverlandt 65facce3e8 AdvancedMenuing Added 2021-01-22 15:00:51 -07:00
Christoph Leimbrock 6491b50ce8 feat: Add support for JIS keys 2021-01-06 18:06:55 +01:00
Christoph Leimbrock c987a00b0e fix: Properly initialise tables for HID and CG key code name lookups 2021-01-05 15:19:23 +01:00
C.W. Betts ddfa30fbcc Better NS_ERROR_ENUMs in a few places. 2020-12-01 03:56:00 -07:00
C.W. Betts 09fb633863 More usage of NS_ERROR_ENUM. 2020-11-19 23:09:45 -07:00
J-rg b045fa88dd Fix control button label localization
In OEControlsButtonSetupView, we use the label to get the localization from ControlLabels.string, so if a key also exists in Localizable.strings, the localization from ControlLabels.strings, which might be different to account for the restricted space, is ignored, as the key changed due to localizing it here.
2020-11-15 21:12:56 +01:00
J-rg d8b1a24062 Rename “Pause” control label to “Pause/Resume” 2020-11-15 20:02:45 +01:00
Stuart Carnie 848d787940 feat: Use Apple unified logging for more fine-grained control of output
Using the `log` tool, logging verbosity can be easily adjusted. For
example, the following will disable audio read / write buffer under or
overrun log messages:

```
sudo log config --subsystem org.openemu.OpenEmuBase.audio \
  --mode 'level:off'
```
2020-11-14 14:58:39 +11:00
C.W. Betts 500feecbf6 Add NS_ENUM/NS_OPTIONS to OEHIDEvents.
Mark a couple enums as closed.
2020-11-04 15:09:03 -07:00
Daniele Cattaneo 0fe2412465 Avoid crashes when decoding OEEvent by not archiving the underlying NSEvent.
NSEvent is considered an user-interface-level API, so it is not safe to use it in a background thread.
Thread-safety related crashes were observed in -[NSEvent eventWithCGEvent:] on macOS Mojave 10.14.6 (18G6032).

The only effective change is that OEEvent no longer forwards invocations to the underlying NSEvent, but no explicit uses of this were found nor observed in the codebase.
2020-10-25 20:37:54 +01:00
Daniele Cattaneo 12080a6835 OESystemController: load systemIcons lazily.
Many plugins set the icon by overriding the systemIcon property in code. This change avoids lookups of null image names.
2020-10-25 20:24:55 +01:00
Daniele Cattaneo 459fcf0a75 Add support for a new key in the Info plist of system plugins for specifying alternate region-specific system names. 2020-10-21 21:35:39 +02:00
Stuart Carnie 60ef26a86d refactor: Use static O(1) lookip for HID / virtual key lookup tables 2020-10-18 17:11:04 -07:00
Stuart Carnie f4aff64d34 feat: Add fallback Controller-Database.plist for 3rd parties
Should consider removing Controller-Database.plist from OpenEmu
2020-10-18 16:22:14 -07:00
J-rg 1c414b72eb Remove SDK framework references, as CLANG_MODULES_AUTOLINK is enabled 2020-10-18 00:55:36 +02:00
J-rg 49a95defca Modernize Info.plist files 2020-10-18 00:47:22 +02:00
J-rg f9f0b6ee85 Remove empty InfoPlist.strings files 2020-10-18 00:47:22 +02:00
Daniele Cattaneo 911627c1a4 Update project to Xcode 12. 2020-09-28 00:05:32 +02:00
clobber f892b99f73 Support OESystemMedia in the system plugins. 2020-09-19 17:21:17 -05:00
clobber fff590bbf6 OESystemController: Update some documentation. 2020-09-19 00:24:44 -05:00
clobber 0a9a386002 Rename supportsDiscs property. 2020-09-18 15:28:13 -05:00
Stuart Carnie 8a8da5de35 return OEIntSize for consistency and expectation these are integral 2020-09-12 14:28:59 -07:00
clobber 30a771e1b0 OEDiscDescriptor: handle parse errors with more detail 2020-09-08 22:44:59 -05:00
Stuart Carnie 50c5716045 remove unused API 2020-09-02 19:19:54 -07:00
Stuart Carnie 0ddf35981e Add API to determine nearest integral size 2020-09-01 06:16:53 -07:00
clobber f132372197 Remove unused OEGameCore ROMCRC32 property. 2020-08-25 10:54:20 -05:00
Stuart Carnie 2c93a2a0c4 Introduce pure OECorrectScreenSizeForAspectSize function; Swift APIs 2020-08-23 08:38:18 -07:00
Stuart Carnie b68d8f2b43 Improve Swift interop 2020-08-19 17:37:43 -07:00
Stuart Carnie 99aada9a65 kVK_RightCommand is available in 10.14 SDK, which is our target version 2020-08-19 17:37:09 -07:00
C.W. Betts 34832a2784 Set encoding of strings to UTF-8.
Mark GLToRPixelFormat as static.
2020-08-06 02:40:32 -06:00
Stuart Carnie b990e6496f chore: Fix compiler warnings about importing public headers 2020-07-26 07:45:00 -07:00
Stuart Carnie 547e4d4ca5 fix: Remove VALID_ARCH restriction to allow universal support 2020-07-06 17:44:47 -07:00
Daniele Cattaneo 789703f9df Disable code signing for OpenEmu-SDK 2020-04-05 18:14:35 +02:00
Daniele Cattaneo 46e14221fa Change deployment target to macOS 10.14.4 to keep it in sync with the parent application. 2020-02-02 00:28:04 +01:00
Stuart Carnie 82c34fd550 chore: Improve Swift ergonomics 2020-01-26 10:27:47 -07:00
Daniele Cattaneo 74e37f6e4d Skip install for OpenEmuBase and OpenEmuSystem.
Prevents polluting the filesystem when doing an install from xcodebuild, and makes Xcode archives smaller.
2020-01-25 20:53:57 +01:00
Daniele Cattaneo dfaee1f846 Silence all the remaining "implementing deprecated method" warnings in OEGameCore.
They are meant to be implemented even though they are deprecated to maintain backwards compatibility. OpenEmuBase builds without a single warning-less now!
2020-01-25 20:53:57 +01:00
Daniele Cattaneo 5aa7859966 Silence the "add base localization" warning in Xcode.
It is completely useless anyway, there is no localized text here.
2020-01-25 20:53:56 +01:00
Stuart Carnie 3dee7618ae feat: Swift API ergonomics 2020-01-15 22:50:05 -07:00
C.W. Betts f54c09396f Use NSBundle's imageForResource: it actually loads @2x images. 2020-01-14 16:54:23 -07:00
clobber 4ffaa87499 Clean up 2531e9d7aa 2020-01-08 14:13:57 -07:00
clobber 2531e9d7aa Add kHIDUsage_GD_SystemMainMenu element to the Generic Desktop buttons.
Used by the "Home" button on the Retro-Bit Official Sega Genesis/Saturn Bluetooth Controller 8-Button Arcade Pad
2020-01-08 14:11:53 -07:00
Daniele Cattaneo 5d351ed08f Work around a performance issue in IOHIDElementGetParent in macOS Catalina. 2020-01-05 19:20:18 +01:00
clobber 43151f5e05 Teach the parser about the two new controls handled by the system, they can either be triggers or buttons. 2020-01-03 13:07:28 +01:00
clobber 5890556da3 Add support for analogic brake and accelerator.
For now we limit our supports to those two and keeping this as a trial balloon. The HID specs specify that these values are dynamic (like an axis) but I've not seen enough of those to know if that's always the case or if they are sometimes used as a button. For now, we only mark them as a type of trigger if the difference between the minimum and maximum are greater than 1 which would be seen as a button. We also assume the minimum value is the resting point so they behave like triggers. Future improvements may include new supported element types or a complete separation of those types of controls into their own OEHIDEventType.
2020-01-03 06:18:27 +01:00
Daniele Cattaneo aa9360f123 Add new game core info dictionary constants for the new auto-deprecation functionality. 2020-01-03 03:05:52 +01:00
Daniele Cattaneo cacadc76ff Clean up a bit the game core info dictionary key constants. 2020-01-03 03:05:27 +01:00