Cocoa Port (OpenEmu Plug-in):

- Fix crashing bug when initializing the plug-in.
- Update to the latest version of the OpenEmu SDK.
This commit is contained in:
rogerman 2015-10-20 07:01:07 +00:00
parent dd305b36d9
commit 3eb0585129
4 changed files with 34 additions and 24 deletions

View File

@ -32,4 +32,5 @@
#define HAVE_JIT #define HAVE_JIT
#endif #endif
#define PORT_VERSION "Cocoa" #define PORT_VERSION "Cocoa"
#define PORT_VERSION_OS_X_APP

View File

@ -714,6 +714,7 @@ void GPUEventHandlerOSX::DidFrameEnd(bool isFrameSkipped)
{ {
this->FramebufferUnlock(); this->FramebufferUnlock();
#if !defined(PORT_VERSION_OPENEMU)
if (!isFrameSkipped) if (!isFrameSkipped)
{ {
if (this->_mutexOutputList != NULL) if (this->_mutexOutputList != NULL)
@ -736,6 +737,7 @@ void GPUEventHandlerOSX::DidFrameEnd(bool isFrameSkipped)
pthread_mutex_unlock(this->_mutexOutputList); pthread_mutex_unlock(this->_mutexOutputList);
} }
} }
#endif
} }
void GPUEventHandlerOSX::DidRender3DBegin() void GPUEventHandlerOSX::DidRender3DBegin()

View File

@ -28,4 +28,5 @@
#define HAVE_JIT #define HAVE_JIT
#endif #endif
#define PORT_VERSION "OpenEmu" #define PORT_VERSION "OpenEmu"
#define PORT_VERSION_OPENEMU

View File

@ -73,22 +73,21 @@ volatile bool execute = true;
inputID[OENDSButtonLid] = DSControllerState_Lid; inputID[OENDSButtonLid] = DSControllerState_Lid;
inputID[OENDSButtonDebug] = DSControllerState_Debug; inputID[OENDSButtonDebug] = DSControllerState_Debug;
// Set up the DS controller
cdsController = [[[[CocoaDSController alloc] init] retain] autorelease];
[cdsController setMicMode:MICMODE_INTERNAL_NOISE];
// Set up the DS GPU
cdsGPU = [[[[CocoaDSGPU alloc] init] retain] autorelease];
[cdsGPU setRwlockProducer:&rwlockCoreExecute];
[cdsGPU setRender3DThreads:0]; // Pass 0 to automatically set the number of rendering threads
[cdsGPU setRender3DRenderingEngine:CORE3DLIST_SWRASTERIZE];
// Set up the emulation core // Set up the emulation core
CommonSettings.advanced_timing = true; CommonSettings.advanced_timing = true;
CommonSettings.jit_max_block_size = 12; CommonSettings.jit_max_block_size = 12;
CommonSettings.use_jit = true; CommonSettings.use_jit = true;
NDS_Init(); NDS_Init();
// Set up the DS GPU
cdsGPU = [[[[CocoaDSGPU alloc] init] retain] autorelease];
[cdsGPU setRender3DThreads:0]; // Pass 0 to automatically set the number of rendering threads
[cdsGPU setRender3DRenderingEngine:CORE3DLIST_SWRASTERIZE];
// Set up the DS controller
cdsController = [[[[CocoaDSController alloc] init] retain] autorelease];
[cdsController setMicMode:MICMODE_INTERNAL_NOISE];
// Set up the cheat system // Set up the cheat system
cdsCheats = [[[[CocoaDSCheatManager alloc] init] retain] autorelease]; cdsCheats = [[[[CocoaDSCheatManager alloc] init] retain] autorelease];
[cdsCheats setRwlockCoreExecute:&rwlockCoreExecute]; [cdsCheats setRwlockCoreExecute:&rwlockCoreExecute];
@ -181,9 +180,21 @@ volatile bool execute = true;
OSSpinLockUnlock(&spinlockDisplayMode); OSSpinLockUnlock(&spinlockDisplayMode);
} }
#pragma mark - #pragma mark - Plug-in Support
#pragma mark Execution - (BOOL)supportsRewinding
{
return NO;
}
#pragma mark - Execution
- (BOOL)rendersToOpenGL
{
return NO;
}
#pragma mark - ABSTRACT METHODS
- (void)resetEmulation - (void)resetEmulation
{ {
@ -247,12 +258,7 @@ volatile bool execute = true;
return isRomLoaded; return isRomLoaded;
} }
#pragma mark Video #pragma mark - Video
- (BOOL)rendersToOpenGL
{
return NO;
}
- (OEIntRect)screenRect - (OEIntRect)screenRect
{ {
@ -324,7 +330,7 @@ volatile bool execute = true;
} }
} }
#pragma mark Audio #pragma mark - Audio
- (NSUInteger)audioBufferCount - (NSUInteger)audioBufferCount
{ {
@ -361,7 +367,7 @@ volatile bool execute = true;
return [self audioSampleRate]; return [self audioSampleRate];
} }
#pragma mark Input #pragma mark - Input
- (oneway void)didPushNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player - (oneway void)didPushNDSButton:(OENDSButton)button forPlayer:(NSUInteger)player
{ {
@ -437,7 +443,7 @@ volatile bool execute = true;
//[self doesNotImplementSelector:_cmd]; //[self doesNotImplementSelector:_cmd];
} }
#pragma mark Save State #pragma mark - Save State
- (BOOL)saveStateToFileAtPath:(NSString *)fileName - (BOOL)saveStateToFileAtPath:(NSString *)fileName
{ {
@ -449,7 +455,7 @@ volatile bool execute = true;
return [CocoaDSFile loadState:[NSURL fileURLWithPath:fileName]]; return [CocoaDSFile loadState:[NSURL fileURLWithPath:fileName]];
} }
#pragma mark Miscellaneous #pragma mark - Miscellaneous
- (void)setCheat:(NSString *)code setType:(NSString *)type setEnabled:(BOOL)enabled - (void)setCheat:(NSString *)code setType:(NSString *)type setEnabled:(BOOL)enabled
{ {