clobber
ee43b089a6
Use a custom-build runloop in an internally managed thread to handle timing.
2016-07-31 19:57:08 -07:00
clobber
fd826593ef
Runloop implementation.
2016-07-28 22:19:21 -07:00
clobber
759885214d
Throw away useless function.
2016-07-28 22:18:41 -07:00
clobber
5cd5bf0327
Set _lastFrameTime to the time set for the next timer execution.
2016-07-24 23:02:07 -07:00
clobber
8645449ea3
Dispatch queue support
2016-07-24 17:37:34 -07:00
clobber
5450d2c7d2
Merge pull request #14 from CharlesJS/master
...
Fix issue that caused some Bluetooth mice to break the input system
2016-07-22 23:32:08 -05:00
Charles Srstka
2b1e67e6e9
Fix issue that caused some Bluetooth mice to break the input system
2016-07-17 13:31:58 -05:00
clobber
f8b45751af
Merge pull request #12 from CharlesJS/master
...
Fix: hat switch buttons perform wrong actions on third-party controllers
2016-06-29 00:04:21 -05:00
CharlesJS
a1ac2a5995
Probably better way to fix this
2016-05-25 16:58:22 -05:00
CharlesJS
ec8182b391
Attempt at fixing a bug that was causing crashes with certain controllers
2016-05-25 16:57:11 -05:00
CharlesJS
7219af9005
Fixed a bug involving hat switch handling on external controllers
2016-04-28 03:26:23 -05:00
mrvacbob
6d5a059fe1
Run the HID event loop after the wait, not before
...
This gives it the most time to collect HID events. Otherwise, input
could arrive while waiting but not be read until after the next frame.
Tried running the event loop for 'advance' seconds but the timer is
too imprecise to work.
2016-03-31 01:51:22 -07:00
mrvacbob
7f0e6e1aa4
Add isPausedExecution API to handle saving in Mupen and Dolphin properly
...
Mupen always unpaused and paused after saving, which could lead to it
getting out of sync with the UI's play button state. Dolphin has trouble
with the rendering thread deadlocking.
2016-03-31 00:07:08 -07:00
mrvacbob
d9c8b8cc74
Rename frameRefreshThread: since it's not a thread
2016-03-21 02:10:29 -07:00
mrvacbob
308f1c1c9f
Simplify the number of timing variables used in OEGameCore, remove some unused deprecated ones
2016-03-21 00:03:15 -07:00
mrvacbob
adc3a502f7
Remove one thread jump in the input path
...
Gotta go fast.
2016-03-20 21:57:17 -07:00
mrvacbob
95170da02b
Fix video glitches in Mupen64... again.
2016-03-20 21:56:56 -07:00
mrvacbob
d5fce4037f
Fix thread-safety in init_mach_time()
2016-01-04 01:15:06 -08:00
clobber
512837ccba
Clean up useless code.
2015-12-23 18:29:11 +01:00
clobber
e5193fe5eb
Add support for some consumer keys that we know about.
2015-12-23 18:29:11 +01:00
clobber
b7c58e2186
Change bindings folder path.
2015-12-23 10:01:29 -07:00
clobber
265dff1264
Whoops, GD elements are not buttons!
2015-12-23 11:31:33 +01:00
clobber
c404312732
Make the oebindings property list easier to read when opening it.
2015-12-23 02:12:53 +01:00
clobber
9cd2d031a2
Fix kHIDUsage_GD_DPadUp, kHIDUsage_GD_DPadDown, kHIDUsage_GD_DPadLeft, kHIDUsage_GD_DPadRight, kHIDUsage_GD_Start, kHIDUsage_GD_Select parsing.
...
We separate kHIDPage_GenericDesktop and kHIDPage_Button to search for the elements, so we need to use a different array when touching the new usages that are not actually buttons.
2015-12-23 01:20:50 +01:00
clobber
b2ca17fe05
Clean up deprecated methods.
2015-12-12 17:06:00 -08:00
clobber
132a27b684
Prevent devices that do not have a location ID from being opened or registered since we can't identify them across processes making them unusable with the new input implementation.
2015-12-02 00:44:37 -08:00
clobber
565527c931
Fix missing elements for generic desktop buttons.
2015-12-01 02:15:47 -06:00
clobber
431195e021
Annotate binding and device classes.
2015-11-29 14:05:18 -08:00
clobber
379ee66b5a
Fix issue with plugging/unplugging controllers while a game is running.
...
There are two issues in this case:
1. XPC messages are processed in a private queue making OEDeviceManager calls unsafe when retrieving device handlers. We solve this problem by making thread safe operations.
2. Sometimes we may receive binding updates on the emulator process before the process has had the time to recognize a device that is connected. This is solved by using placeholder device objects that we replace with real devices in OEHIDEvent when the device is finally parsed. This is possible because if a device is added to the UI process it will be added to the emulator process eventually.
2015-11-29 02:15:22 -08:00
clobber
b7f8f68eb9
Fix key description.
2015-11-28 20:10:54 -08:00
clobber
f4b40f7d63
Build fix. Use the new property on OESystemController to get the number of controls.
2015-11-28 19:26:19 -08:00
clobber
eb765fcfab
Stop implementing OESystemBindingsObserver, rename the protocol methods by removing the OESystemBindings argument. This class will receive updates from OpenEmuHelperApp instead on the emulator process side.
2015-11-28 18:42:01 -08:00
clobber
7958b82a50
Add convenience method to know when global event handlers are present in OEDeviceManager.
2015-11-28 18:40:24 -08:00
clobber
ac33544f0d
Add OEBindingDescription superclass for OEKeyBindingDescription and OEKeyBindingGroupDescription. Move OEBindingDescription creation to OESystemController from OESystemBindings. Add OESystemController as a property of OEBindingDescription so that it can be encoded along with an identifier and recovered in a background process.
2015-11-28 17:35:26 -08:00
clobber
3836c5bf82
Add a unique identifier to OEDeviceHandler. This allows multiple processes to uniquely identify a device across processes, later on OEDeviceHandler will be sent over XPC so we can move event handling in the emulator process instead.
2015-11-28 16:28:28 -08:00
clobber
391ff20dfd
Clean up and implement NSSecureCoding so NSEvent for keyboard events can pass through XPC to the core
2015-11-22 02:40:19 -06:00
clobber
78324596d9
Generate NSEvent for keyboard events and add some convenience properties
2015-11-21 17:17:01 -06:00
mrvacbob
2e99400aae
Shut up one log line
2015-11-10 00:38:37 -08:00
mrvacbob
cb4d30d37f
Implement hasAlternateRenderingThread/needsDoubleBufferedFBO in cores
2015-11-08 00:31:52 -08:00
mrvacbob
aab71d4efc
Add API to expose our dest framebuffer to cores
2015-11-07 14:28:51 -08:00
clobber
897555f3b2
Fixes compat with older compiled cores linked against the framework
2015-10-30 01:17:39 -05:00
mrvacbob
0c189d422b
Merge pull request #9 from giggle-engineer/master
...
WIP rumble support added to OEHIDDeviceHandler
2015-10-24 00:51:57 -07:00
Chloe Stars
4fc6c5392f
WIP rumble support added to OEHIDDeviceHandler
2015-10-24 00:49:35 -07:00
Alexander Strange
a3006b82fa
Remove a log
2015-10-21 03:39:49 -07:00
Alexander Strange
288fcd26a7
Un-deprecate internalPixelFormat, slightly useful
2015-10-20 22:26:43 -07:00
Alexander Strange
60077e74da
Fix enum type
2015-10-20 03:21:49 -07:00
Alexander Strange
bee40dc496
implement default -internalPixelFormat
2015-10-19 01:20:40 -07:00
Alexander Strange
bb13a70b4b
Pretty new OEGameCore refactor in preparation for OpenGL3 support. Should not break backwards compatibility.
2015-10-18 17:40:22 -07:00
Alexander Strange
da34753f16
Update projects - fix debug builds, make deployment 10.11, enable objc-arc properly, build faster
2015-10-17 13:04:19 -07:00
clobber
af8a726282
Fix exception when device has no Product string. Fixes OpenEmu/OpenEmu#1966 , Fixes OpenEmu/OpenEmu#2074
2015-10-05 21:53:51 -05:00