diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-07-21 20:23:01 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-07-21 20:23:01 +0000 |
| commit | 50630078a5b4891fe0b50a6cadb7514bfc8d4f11 (patch) | |
| tree | 6bc3e89137c1dd8fc587d5d652b81d7f9394adc2 /macosx | |
| parent | 2a782df55ef84eba063c60401358da11df680c81 (diff) | |
| download | pcsxr-50630078a5b4891fe0b50a6cadb7514bfc8d4f11.tar.gz | |
OS X: Implement the memory card QuickLook preview.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@91017 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx')
| -rw-r--r-- | macosx/Pcsxr-QL/GeneratePreviewForURL.m | 28 | ||||
| -rw-r--r-- | macosx/Pcsxr-QL/PSXMemEnumerator.m | 9 | ||||
| -rw-r--r-- | macosx/Pcsxr.xcodeproj/project.pbxproj | 46 | ||||
| -rw-r--r-- | macosx/Source/PcsxrMemoryObject.h | 1 | ||||
| -rw-r--r-- | macosx/Source/PcsxrMemoryObject.m | 8 |
5 files changed, 51 insertions, 41 deletions
diff --git a/macosx/Pcsxr-QL/GeneratePreviewForURL.m b/macosx/Pcsxr-QL/GeneratePreviewForURL.m index 619a5cee..24031a1c 100644 --- a/macosx/Pcsxr-QL/GeneratePreviewForURL.m +++ b/macosx/Pcsxr-QL/GeneratePreviewForURL.m @@ -84,5 +84,31 @@ OSStatus GeneratePreviewForFreeze(void *thisInterface, QLPreviewRequestRef previ static OSStatus GeneratePreviewForMemCard(void *thisInterface, QLPreviewRequestRef preview, NSURL *url, NSDictionary *options) { NSArray *memCards = CreateArrayByEnumeratingMemoryCardAtURL(url); - return unimpErr; + NSMutableString *htmlStr = [[NSMutableString alloc] initWithCapacity:memCards.count * 200]; + NSMutableDictionary *htmlDict = [[NSMutableDictionary alloc] initWithCapacity:memCards.count]; + int i; + for (PcsxrMemoryObject *obj in memCards) { + NSImage *theImage = [obj firstMemImage]; + NSData *tiffData = [theImage TIFFRepresentation]; + NSBitmapImageRep *bmImg = [NSBitmapImageRep imageRepWithData:tiffData]; + NSData *pngData = [bmImg representationUsingType:NSPNGFileType properties:nil]; + NSDictionary *imgProps = @{(NSString *)kQLPreviewPropertyAttachmentDataKey: pngData, + (NSString *)kQLPreviewPropertyMIMETypeKey: @"image/png"}; + NSString *imgName = [[@(i++) stringValue] stringByAppendingPathComponent:@"png"]; + [htmlStr appendFormat:@"<tr><td><img src=\"cid:%@\"></td><td>%@</td><td>%i</td></tr>\n", imgName, obj.sjisName, obj.blockSize]; + htmlDict[imgName] = imgProps; + } + + NSString *theStr = [[NSString alloc] initWithFormat:@"<html>\n<body>\n<table>\n<tr><td ALIGN=center>Image</td><td ALIGN=name>Image</td><td ALIGN=center>Count</td></tr>%@\n</table>\n</body>\n</html>", htmlStr]; + + NSData *data = [theStr dataUsingEncoding:NSUTF8StringEncoding]; + NSDictionary *previewDict = + @{(NSString *)kQLPreviewPropertyAttachmentsKey: htmlDict, + (NSString *)kQLPreviewPropertyDisplayNameKey: [url lastPathComponent], + (NSString *)kQLPreviewPropertyWidthKey: @400, + (NSString *)kQLPreviewPropertyHeightKey: @400}; + + QLPreviewRequestSetDataRepresentation(preview, (__bridge CFDataRef)(data), kUTTypeHTML, (__bridge CFDictionaryRef)(previewDict)); + + return noErr; } diff --git a/macosx/Pcsxr-QL/PSXMemEnumerator.m b/macosx/Pcsxr-QL/PSXMemEnumerator.m index b0093770..4aa78c33 100644 --- a/macosx/Pcsxr-QL/PSXMemEnumerator.m +++ b/macosx/Pcsxr-QL/PSXMemEnumerator.m @@ -168,11 +168,12 @@ NSArray *CreateArrayByEnumeratingMemoryCardAtURL(NSURL *location) break; } } while (i + x - 1 < MAX_MEMCARD_BLOCKS); - @autoreleasepool { - PcsxrMemoryObject *obj = [[PcsxrMemoryObject alloc] initWithMcdBlock:&memBlock startingIndex:i size:x]; - [memArray addObject:obj]; - } + PcsxrMemoryObject *obj = [[PcsxrMemoryObject alloc] initWithMcdBlock:&memBlock startingIndex:i size:x]; i += x; + if (MemBlockFlag(memBlock.Flags) == memFlagDeleted) { + continue; + } + [memArray addObject:obj]; } return [[NSArray alloc] initWithArray:memArray]; diff --git a/macosx/Pcsxr.xcodeproj/project.pbxproj b/macosx/Pcsxr.xcodeproj/project.pbxproj index d6420f04..307a0ae3 100644 --- a/macosx/Pcsxr.xcodeproj/project.pbxproj +++ b/macosx/Pcsxr.xcodeproj/project.pbxproj @@ -798,7 +798,7 @@ 55BBA69A14958399003B2CEC /* PcsxrFreezeStateHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PcsxrFreezeStateHandler.h; sourceTree = "<group>"; }; 55BBA69B1495839A003B2CEC /* PcsxrFreezeStateHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PcsxrFreezeStateHandler.m; sourceTree = "<group>"; usesTabs = 1; }; 55CA586A17E799E6007424D5 /* DiskArbitration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiskArbitration.framework; path = System/Library/Frameworks/DiskArbitration.framework; sourceTree = SDKROOT; }; - 55DA37241894419000B44951 /* pcsxr.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pcsxr.pch; path = ../pcsxr.pch; sourceTree = "<group>"; }; + 55DA37241894419000B44951 /* pcsxr.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pcsxr.pch; sourceTree = SOURCE_ROOT; }; 55E0ACDE178B695F0005C945 /* LaunchArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LaunchArg.h; sourceTree = "<group>"; }; 55E0ACDF178B69600005C945 /* LaunchArg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LaunchArg.m; sourceTree = "<group>"; usesTabs = 1; }; 55E1598C18455C60007983CB /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/CheatWindow.strings; sourceTree = "<group>"; }; @@ -3016,6 +3016,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=PsxQL"; INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; INSTALL_PATH = /Library/QuickLook; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3029,12 +3030,11 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COMBINE_HIDPI_IMAGES = YES; - ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=PsxQL"; INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; INSTALL_PATH = /Library/QuickLook; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3048,12 +3048,11 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COMBINE_HIDPI_IMAGES = YES; - ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Pcsxr-QL/Pcsxr-QL-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=PsxQL"; INFOPLIST_FILE = "Pcsxr-QL/Pcsxr-QL-Info.plist"; INSTALL_PATH = /Library/QuickLook; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3067,7 +3066,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=Bladesio1"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3079,7 +3077,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=Bladesio1"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3092,7 +3089,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFCdrom"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3104,7 +3100,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFCdrom"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3119,7 +3114,6 @@ EXPORTED_SYMBOLS_FILE = plugins/DFInput/Resources/DFInput.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFInput"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; HEADER_SEARCH_PATHS = ( @@ -3138,7 +3132,6 @@ CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFInput/Resources/DFInput.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFInput"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; HEADER_SEARCH_PATHS = ( @@ -3155,7 +3148,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3174,7 +3166,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3196,7 +3187,6 @@ EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=SDLSound", USESDL, @@ -3219,7 +3209,6 @@ CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=SDLSound", USESDL, @@ -3292,7 +3281,6 @@ CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=ALSound", USEOPENAL, @@ -3310,7 +3298,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=ALSound", USEOPENAL, @@ -3328,7 +3315,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3347,7 +3333,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3367,7 +3352,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFNet"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3379,7 +3363,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFNet"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3391,11 +3374,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = "Psx-Memcard/Psx-Memcard-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=MDPsx"; @@ -3411,10 +3392,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = "Psx-Memcard/Psx-Memcard-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=MDPsx"; @@ -3430,10 +3409,8 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = "Psx-Memcard/Psx-Memcard-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=MDPsx"; @@ -3535,6 +3512,7 @@ GCC_C_LANGUAGE_STANDARD = gnu89; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; + GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = pcsxr.pch; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3558,6 +3536,7 @@ INFOPLIST_FILE = "plugins/$(TARGET_NAME)/Info.plist"; MACOSX_DEPLOYMENT_TARGET = 10.8; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; SKIP_INSTALL = YES; STRINGS_FILE_OUTPUT_ENCODING = binary; }; @@ -3615,7 +3594,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFCdrom"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3629,7 +3607,6 @@ CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFInput/Resources/DFInput.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFInput"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; HEADER_SEARCH_PATHS = ( @@ -3646,7 +3623,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3665,7 +3641,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( _MACGL, _DARWIN, @@ -3686,7 +3661,6 @@ CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=SDLSound", USESDL, @@ -3708,7 +3682,6 @@ buildSettings = { CLANG_WARN_EMPTY_BODY = YES; EXPORTED_SYMBOLS_FILE = plugins/DFSound/Resorces/Shared/DFSound.exp; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ( "PCSXRPLUG=ALSound", USEOPENAL, @@ -3725,7 +3698,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=DFNet"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3737,7 +3709,6 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_EMPTY_BODY = YES; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "PCSXRPLUG=Bladesio1"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; INSTALL_PATH = "$(USER_LIBRARY_DIR)/Playstation Emulator Plugins"; @@ -3814,7 +3785,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; + DEAD_CODE_STRIPPING = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_C_LANGUAGE_STANDARD = gnu89; @@ -3845,6 +3816,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.8; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; SKIP_INSTALL = YES; STRINGS_FILE_OUTPUT_ENCODING = binary; STRIP_INSTALLED_PRODUCT = NO; @@ -3875,6 +3847,7 @@ GCC_C_LANGUAGE_STANDARD = gnu89; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; + GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = pcsxr.pch; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3898,6 +3871,7 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; SKIP_INSTALL = YES; STRINGS_FILE_OUTPUT_ENCODING = binary; }; diff --git a/macosx/Source/PcsxrMemoryObject.h b/macosx/Source/PcsxrMemoryObject.h index 5a7a3b37..539d0829 100644 --- a/macosx/Source/PcsxrMemoryObject.h +++ b/macosx/Source/PcsxrMemoryObject.h @@ -36,6 +36,7 @@ typedef NS_ENUM(char, PCSXRMemFlags) { @property (readonly) uint8_t startingIndex; @property (readonly) uint8_t blockSize; +@property (readonly, copy) NSImage *firstMemImage; @property (readonly, unsafe_unretained, nonatomic) NSImage *memImage; @property (readonly, nonatomic) unsigned memIconCount; @property (readonly, unsafe_unretained, nonatomic) NSString *flagName; diff --git a/macosx/Source/PcsxrMemoryObject.m b/macosx/Source/PcsxrMemoryObject.m index 7d11b6f8..bd6db46c 100644 --- a/macosx/Source/PcsxrMemoryObject.m +++ b/macosx/Source/PcsxrMemoryObject.m @@ -207,6 +207,14 @@ static NSString *MemLabelEndLink; return (unsigned)[memImages count]; } +- (NSImage*)firstMemImage +{ + if (memImageIndex == -1) { + return [PcsxrMemoryObject blankImage]; + } + return memImages[0]; +} + - (NSImage*)memImage { if (memImageIndex == -1) { |
