Commit Graph

99 Commits

Author SHA1 Message Date
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
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 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 c404312732 Make the oebindings property list easier to read when opening it. 2015-12-23 02:12:53 +01:00
clobber b2ca17fe05 Clean up deprecated methods. 2015-12-12 17:06:00 -08: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
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
Kyle Lacy 53754cac6f Don't call serialize/deserialize when loading a file
This fixes compatibility with the Mednafen core (and probably other
cores as well)
2015-06-02 10:00:05 -07:00
clobber 6d0610cedb OEGameCore API: add methods for multiple disc handling 2015-05-17 17:37:41 -05:00
Kyle Lacy b8fa724e09 Fix error propagation with serialization/deserialization 2015-02-28 12:48:12 -08:00
Kyle Lacy 3ff3beb96f Use OEGameCoreController to get rewind properties 2015-02-27 22:42:04 -08:00
Kyle Lacy 1a3baa96b5 Add OEGameCoreController methods for rewinding 2015-02-27 22:41:44 -08:00
Kyle Lacy 95e874f5cb Initialize rewindQueue with a limited capacity 2015-02-27 22:40:08 -08:00
Kyle Lacy bfb01e974f Rearrange some properties in OEGameCore 2015-02-27 22:35:35 -08:00
Kyle Lacy 867d96007c Add a minimum capacity for OEDiffQueue 2015-02-27 22:29:39 -08:00
Kyle Lacy 7b33a7cd21 Lazily initialize rewindQueue 2015-02-27 17:43:17 -08:00
Kyle Lacy 4313975b8b Add rewindBufferSeconds property 2015-02-27 17:33:12 -08:00
Kyle Lacy cbf5f1a1d3 Make rewindQueue into a property 2015-02-27 17:32:30 -08:00
Kyle Lacy 4ad01d4e05 Change rewindInterval into an NSUInteger 2015-02-27 16:24:16 -08:00
Kyle Lacy 5ec621f8f0 Rename canRewind to supportsRewinding 2015-02-25 14:40:35 -08:00
Kyle Lacy 85a42a6e36 Only record states every rewindInterval frames 2015-02-24 14:59:38 -08:00
Kyle Lacy e94ae7a496 Add rewindCounter ivar 2015-02-24 14:59:38 -08:00
Kyle Lacy b316648d9a Make canRewind into a property 2015-02-24 14:59:37 -08:00
Kyle Lacy 677bafdb20 Add rewindInterval property 2015-02-24 14:59:34 -08:00
Kyle Lacy 0168ecb55d Only record rewind states if a core can be rewound 2015-02-23 13:06:59 -08:00
Kyle Lacy 56e224abde Add [OEGameCore canRewind]
For now, it always returns YES
2015-02-23 13:06:05 -08:00
Kyle Lacy 629f75e39f Limit OEDiffQueue length to the provided capacity 2015-02-23 12:37:46 -08:00
Kyle Lacy b7003bb3cc Add [OEDiffQueue initWithCapacity:] 2015-02-23 12:36:47 -08:00
Kyle Lacy 2a0ec65f9e Add [OEDiffQueue count] instance method 2015-02-23 12:18:18 -08:00
Kyle Lacy e19f5270c8 Use std::deque for OEDiffQueue patches 2015-02-23 12:17:39 -08:00
Kyle Lacy a167bcccc4 Remove OEDiffQueue debug logging 2015-02-23 12:16:36 -08:00
Kyle Lacy 5afb1256a8 Add support for stepFrameBackward 2015-02-20 18:40:32 -08:00
Kyle Lacy 79262a973a Refactor rewinding
`initialState` is no longer necessary
2015-02-20 18:40:32 -08:00
Kyle Lacy 389f6d550c Add dummy implementation for stepFrameBackward 2015-02-20 18:40:32 -08:00