summaryrefslogtreecommitdiff
path: root/macosx
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2016-03-30 15:07:35 +0100
committeriCatButler <i.am.catbutler@gmail.com>2016-03-30 15:07:35 +0100
commit8b4350fee747708ffd376744ef5dc1e239a87ba6 (patch)
treea9ab6e2f25e06edc7c668353f8000856704f7fa3 /macosx
parente3df273095a5800e3dcdcb63bd66e269c0c2d3a8 (diff)
downloadpcsxr-8b4350fee747708ffd376744ef5dc1e239a87ba6.tar.gz
Bring up to date with PCSX-R master (97809)
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Pcsxr-QL/GeneratePreviewForURL.m4
-rw-r--r--macosx/Pcsxr-QL/PSXMemEnumerator.m22
-rw-r--r--macosx/Psx-Memcard/GetMetadataForFile.m38
-rw-r--r--macosx/Resources/Base.lproj/CheatWindow.xib14
-rw-r--r--macosx/Source/CheatController.m2
-rw-r--r--macosx/Source/PcsxrMemCardArray.m14
-rw-r--r--macosx/Source/PcsxrMemCardController.m4
-rw-r--r--macosx/Source/PcsxrMemoryObject.h10
-rw-r--r--macosx/Source/PcsxrMemoryObject.m81
-rw-r--r--macosx/Source/PcsxrPlugin.m43
-rw-r--r--macosx/pcsxr.pch2
11 files changed, 118 insertions, 116 deletions
diff --git a/macosx/Pcsxr-QL/GeneratePreviewForURL.m b/macosx/Pcsxr-QL/GeneratePreviewForURL.m
index 7076b380..d755ca95 100644
--- a/macosx/Pcsxr-QL/GeneratePreviewForURL.m
+++ b/macosx/Pcsxr-QL/GeneratePreviewForURL.m
@@ -118,7 +118,7 @@ static OSStatus GeneratePreviewForMemCard(void *thisInterface, QLPreviewRequestR
NSDictionary *imgProps = @{(NSString *)kQLPreviewPropertyAttachmentDataKey: pngData,
(NSString *)kQLPreviewPropertyMIMETypeKey: @"image/png"};
NSString *imgName = [[@(i++) stringValue] stringByAppendingPathExtension:@"png"];
- [htmlStr appendFormat:@"\t\t\t<tr><td><img src=\"cid:%@\"></td> <td>%@</td> <td>%i</td></tr>\n", imgName, obj.name, obj.blockSize];
+ [htmlStr appendFormat:@"\t\t\t<tr><td><img src=\"cid:%@\"></td> <td>%@</td> <td>%i</td></tr>\n", imgName, obj.title, obj.blockSize];
htmlDict[imgName] = imgProps;
continue;
}
@@ -135,7 +135,7 @@ static OSStatus GeneratePreviewForMemCard(void *thisInterface, QLPreviewRequestR
NSDictionary *imgProps = @{(NSString *)kQLPreviewPropertyAttachmentDataKey: gifData,
(NSString *)kQLPreviewPropertyMIMETypeKey: @"image/gif"};
NSString *imgName = [[@(i++) stringValue] stringByAppendingPathExtension:@"gif"];
- [htmlStr appendFormat:@"\t\t\t<tr><td><img src=\"cid:%@\"></td> <td>%@</td> <td>%i</td></tr>\n", imgName, obj.name, obj.blockSize];
+ [htmlStr appendFormat:@"\t\t\t<tr><td><img src=\"cid:%@\"></td> <td>%@</td> <td>%i</td></tr>\n", imgName, obj.title, obj.blockSize];
htmlDict[imgName] = imgProps;
}
diff --git a/macosx/Pcsxr-QL/PSXMemEnumerator.m b/macosx/Pcsxr-QL/PSXMemEnumerator.m
index 4cba0ef7..62ab396f 100644
--- a/macosx/Pcsxr-QL/PSXMemEnumerator.m
+++ b/macosx/Pcsxr-QL/PSXMemEnumerator.m
@@ -98,31 +98,31 @@ static void GetSoloBlockInfo(unsigned char *data, int block, McdBlock *Info)
Info->Flags = *ptr;
ptr += 0xa;
- strlcpy(Info->ID, ptr, 12);
+ strlcpy(Info->ID, ptr, 13);
ptr += 12;
- strlcpy(Info->Name, ptr, 16);
+ strlcpy(Info->Name, ptr, 17);
}
static inline PCSXRMemFlag MemBlockFlag(unsigned char blockFlags)
{
if ((blockFlags & 0xF0) == 0xA0) {
if ((blockFlags & 0xF) >= 1 && (blockFlags & 0xF) <= 3)
- return memFlagDeleted;
+ return PCSXRMemFlagDeleted;
else
- return memFlagFree;
+ return PCSXRMemFlagFree;
} else if ((blockFlags & 0xF0) == 0x50) {
if ((blockFlags & 0xF) == 0x1)
- return memFlagUsed;
+ return PCSXRMemFlagUsed;
else if ((blockFlags & 0xF) == 0x2)
- return memFlagLink;
+ return PCSXRMemFlagLink;
else if ((blockFlags & 0xF) == 0x3)
- return memFlagEndLink;
+ return PCSXRMemFlagEndLink;
} else
- return memFlagFree;
+ return PCSXRMemFlagFree;
//Xcode complains unless we do this...
//NSLog(@"Unknown flag %x", blockFlags);
- return memFlagFree;
+ return PCSXRMemFlagFree;
}
@@ -151,7 +151,7 @@ NSArray *CreateArrayByEnumeratingMemoryCardAtURL(NSURL *location)
McdBlock memBlock;
GetSoloBlockInfo((unsigned char *)memPtr, i + 1, &memBlock);
- if (MemBlockFlag(memBlock.Flags) == memFlagFree) {
+ if (MemBlockFlag(memBlock.Flags) == PCSXRMemFlagFree) {
//Free space: ignore
i++;
continue;
@@ -170,7 +170,7 @@ NSArray *CreateArrayByEnumeratingMemoryCardAtURL(NSURL *location)
};
PcsxrMemoryObject *obj = [[PcsxrMemoryObject alloc] initWithMcdBlock:&memBlock startingIndex:i size:x];
i += x;
- if (MemBlockFlag(memBlock.Flags) == memFlagDeleted) {
+ if (MemBlockFlag(memBlock.Flags) == PCSXRMemFlagDeleted) {
continue;
}
[memArray addObject:obj];
diff --git a/macosx/Psx-Memcard/GetMetadataForFile.m b/macosx/Psx-Memcard/GetMetadataForFile.m
index 78adda93..afef4cfe 100644
--- a/macosx/Psx-Memcard/GetMetadataForFile.m
+++ b/macosx/Psx-Memcard/GetMetadataForFile.m
@@ -28,19 +28,19 @@
//
//==============================================================================
-typedef NS_ENUM(NSInteger, PCSXRMemFlags) {
- memFlagDeleted,
- memFlagFree,
- memFlagUsed,
- memFlagLink,
- memFlagEndLink
+typedef NS_ENUM(char, PCSXRMemFlags) {
+ PCSXRMemFlagDeleted = 0,
+ PCSXRMemFlagFree,
+ PCSXRMemFlagUsed,
+ PCSXRMemFlagLink,
+ PCSXRMemFlagEndLink
};
static void GetSoloBlockInfo(unsigned char *data, int block, McdBlock *Info)
{
unsigned char *ptr = data + block * 8192 + 2;
unsigned char *str = Info->Title;
- unsigned char * sstr = Info->sTitle;
+ unsigned char *sstr = Info->sTitle;
unsigned short c;
int i, x = 0;
@@ -103,31 +103,31 @@ static void GetSoloBlockInfo(unsigned char *data, int block, McdBlock *Info)
Info->Flags = *ptr;
ptr += 0xa;
- strlcpy(Info->ID, ptr, 12);
+ strlcpy(Info->ID, ptr, 13);
ptr += 12;
- strlcpy(Info->Name, ptr, 16);
+ strlcpy(Info->Name, ptr, 17);
}
static inline PCSXRMemFlags MemBlockFlag(unsigned char blockFlags)
{
if ((blockFlags & 0xF0) == 0xA0) {
if ((blockFlags & 0xF) >= 1 && (blockFlags & 0xF) <= 3)
- return memFlagDeleted;
+ return PCSXRMemFlagDeleted;
else
- return memFlagFree;
+ return PCSXRMemFlagFree;
} else if ((blockFlags & 0xF0) == 0x50) {
if ((blockFlags & 0xF) == 0x1)
- return memFlagUsed;
+ return PCSXRMemFlagUsed;
else if ((blockFlags & 0xF) == 0x2)
- return memFlagLink;
+ return PCSXRMemFlagLink;
else if ((blockFlags & 0xF) == 0x3)
- return memFlagEndLink;
+ return PCSXRMemFlagEndLink;
} else
- return memFlagFree;
+ return PCSXRMemFlagFree;
//Xcode complains unless we do this...
//NSLog(@"Unknown flag %x", blockFlags);
- return memFlagFree;
+ return PCSXRMemFlagFree;
}
Boolean GetMetadataForFile(void *thisInterface, CFMutableDictionaryRef attributes, CFStringRef contentTypeUTI, CFStringRef pathToFile)
@@ -167,7 +167,7 @@ Boolean GetMetadataForFile(void *thisInterface, CFMutableDictionaryRef attribute
GetSoloBlockInfo((unsigned char *)fileCData, i + 1, &memBlock);
- if (MemBlockFlag(memBlock.Flags) == memFlagFree) {
+ if (MemBlockFlag(memBlock.Flags) == PCSXRMemFlagFree) {
//Free space: ignore
i++;
continue;
@@ -184,9 +184,9 @@ Boolean GetMetadataForFile(void *thisInterface, CFMutableDictionaryRef attribute
break;
}
};
- // Ignore deleted blocks
i += x;
- if (MemBlockFlag(memBlock.Flags) == memFlagDeleted) {
+ // Ignore deleted blocks
+ if (MemBlockFlag(memBlock.Flags) == PCSXRMemFlagDeleted) {
continue;
}
memCount++;
diff --git a/macosx/Resources/Base.lproj/CheatWindow.xib b/macosx/Resources/Base.lproj/CheatWindow.xib
index aa22f51d..05eb74b8 100644
--- a/macosx/Resources/Base.lproj/CheatWindow.xib
+++ b/macosx/Resources/Base.lproj/CheatWindow.xib
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6254" systemVersion="14B25" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6254"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="CheatController">
@@ -47,7 +47,7 @@
</button>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="23">
<rect key="frame" x="20" y="61" width="658" height="276"/>
- <clipView key="contentView" misplaced="YES" id="6pF-og-es3">
+ <clipView key="contentView" id="6pF-og-es3">
<rect key="frame" x="1" y="17" width="656" height="258"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@@ -55,7 +55,7 @@
<rect key="frame" x="0.0" y="0.0" width="656" height="19"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
- <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="Enabled" width="48.40234375" minWidth="40" maxWidth="1000" id="29">
@@ -184,6 +184,7 @@
</buttonCell>
<connections>
<action selector="removeCheats:" target="-2" id="are-w2-Cx9"/>
+ <binding destination="237" name="enabled" keyPath="canRemove" id="3pC-QD-cnV"/>
</connections>
</button>
</subviews>
@@ -223,7 +224,7 @@
<subviews>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="136">
<rect key="frame" x="20" y="53" width="302" height="192"/>
- <clipView key="contentView" misplaced="YES" id="COc-Cf-C5K">
+ <clipView key="contentView" id="COc-Cf-C5K">
<rect key="frame" x="1" y="17" width="300" height="174"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@@ -231,7 +232,7 @@
<rect key="frame" x="0.0" y="0.0" width="300" height="19"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
- <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="Address" width="150" minWidth="40" maxWidth="1000" id="141">
@@ -352,6 +353,7 @@ Gw
</buttonCell>
<connections>
<action selector="removeCheatValue:" target="-2" id="215"/>
+ <binding destination="219" name="enabled" keyPath="canRemove" id="0Ve-Bf-kaw"/>
</connections>
</button>
</subviews>
diff --git a/macosx/Source/CheatController.m b/macosx/Source/CheatController.m
index ebe73137..79dfb2c5 100644
--- a/macosx/Source/CheatController.m
+++ b/macosx/Source/CheatController.m
@@ -192,7 +192,7 @@
- (IBAction)closeCheatEdit:(id)sender
{
- [NSApp endSheet:editCheatWindow returnCode:[sender tag] == 1 ? NSCancelButton : NSOKButton];
+ [[self window] endSheet:editCheatWindow returnCode:[sender tag] == 1 ? NSCancelButton : NSOKButton];
}
- (IBAction)changeCheat:(id)sender
diff --git a/macosx/Source/PcsxrMemCardArray.m b/macosx/Source/PcsxrMemCardArray.m
index b7429f20..cf01e15b 100644
--- a/macosx/Source/PcsxrMemCardArray.m
+++ b/macosx/Source/PcsxrMemCardArray.m
@@ -103,7 +103,7 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
McdBlock memBlock;
GetMcdBlockInfo(carNum, i + 1, &memBlock);
- if ([PcsxrMemoryObject memFlagsFromBlockFlags:memBlock.Flags] == memFlagFree) {
+ if ([PcsxrMemoryObject memFlagsFromBlockFlags:memBlock.Flags] == PCSXRMemFlagFree) {
//Free space: ignore
i++;
continue;
@@ -220,7 +220,7 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
{
int memSize = MAX_MEMCARD_BLOCKS;
for (PcsxrMemoryObject *memObj in rawArray) {
- if (memObj.flag != memFlagDeleted) {
+ if (memObj.flag != PCSXRMemFlagDeleted) {
memSize -= memObj.blockSize;
}
}
@@ -272,9 +272,9 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
GetMcdBlockInfo(cardNumber, i+1, &baseBlock);
PCSXRMemFlag theFlags = [PcsxrMemoryObject memFlagsFromBlockFlags:baseBlock.Flags];
- if (theFlags == memFlagDeleted || theFlags == memFlagFree) {
+ if (theFlags == PCSXRMemFlagDeleted || theFlags == PCSXRMemFlagFree) {
PCSXRMemFlag up1Flags = theFlags;
- while ((up1Flags == memFlagDeleted || up1Flags == memFlagFree) && x < MAX_MEMCARD_BLOCKS) {
+ while ((up1Flags == PCSXRMemFlagDeleted || up1Flags == PCSXRMemFlagFree) && x < MAX_MEMCARD_BLOCKS) {
x++;
McdBlock up1Block;
GetMcdBlockInfo(cardNumber, x+1, &up1Block);
@@ -300,7 +300,6 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
- (void)deleteMemoryBlocksAtIndex:(int)slotnum
{
- int xor = 0, i, j;
char *data, *ptr, *filename;
if (cardNumber == 1) {
filename = Config.Mcd1;
@@ -321,8 +320,9 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
McdBlock flagBlock;
- for(i = theObj.startingIndex + 1; i < (theObj.startingIndex + theObj.blockSize + 1); i++)
+ for(int i = theObj.startingIndex + 1; i < (theObj.startingIndex + theObj.blockSize + 1); i++)
{
+ char xor = 0;
GetMcdBlockInfo(cardNumber, i, &flagBlock);
ptr = data + i * 128;
@@ -335,7 +335,7 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
*ptr = 0xA0 | (flagBlock.Flags & 0xF);
} else { continue; }
- for (j = 0; j < 127; j++) xor ^= *ptr++;
+ for (unsigned char j = 0; j < 127; j++) xor ^= *ptr++;
*ptr = xor;
SaveMcd(filename, data, i * 128, 128);
diff --git a/macosx/Source/PcsxrMemCardController.m b/macosx/Source/PcsxrMemCardController.m
index 8f7bccd6..873303d8 100644
--- a/macosx/Source/PcsxrMemCardController.m
+++ b/macosx/Source/PcsxrMemCardController.m
@@ -115,7 +115,7 @@
int cardSize, freeConsBlocks, availBlocks;
- if ([[fromCard memoryArray][selectedIndex] flag] == memFlagFree) {
+ if ([[fromCard memoryArray][selectedIndex] flag] == PCSXRMemFlagFree) {
NSBeep();
return;
}
@@ -193,7 +193,7 @@
PcsxrMemoryObject *tmpObj = [curCard memoryArray][selectedIndex];
- if (tmpObj.flag == memFlagFree) {
+ if (tmpObj.flag == PCSXRMemFlagFree) {
NSBeep();
return;
}
diff --git a/macosx/Source/PcsxrMemoryObject.h b/macosx/Source/PcsxrMemoryObject.h
index 1223cd24..fd568199 100644
--- a/macosx/Source/PcsxrMemoryObject.h
+++ b/macosx/Source/PcsxrMemoryObject.h
@@ -10,11 +10,11 @@
#include "sio.h"
typedef NS_ENUM(char, PCSXRMemFlag) {
- memFlagDeleted,
- memFlagFree,
- memFlagUsed,
- memFlagLink,
- memFlagEndLink
+ PCSXRMemFlagDeleted,
+ PCSXRMemFlagFree,
+ PCSXRMemFlagUsed,
+ PCSXRMemFlagLink,
+ PCSXRMemFlagEndLink
};
@interface PcsxrMemoryObject : NSObject
diff --git a/macosx/Source/PcsxrMemoryObject.m b/macosx/Source/PcsxrMemoryObject.m
index 9860e7fa..e8393608 100644
--- a/macosx/Source/PcsxrMemoryObject.m
+++ b/macosx/Source/PcsxrMemoryObject.m
@@ -22,32 +22,37 @@
@property (readwrite) BOOL hasImages;
@end
+#pragma pack(push,2)
+struct PSXRGBColor {
+ UInt8 r;
+ UInt8 g;
+ UInt8 b;
+};
+#pragma pack(pop)
+
@implementation PcsxrMemoryObject
+ (NSArray *)imagesFromMcd:(McdBlock *)block
{
NSMutableArray *imagesArray = [[NSMutableArray alloc] initWithCapacity:block->IconCount];
for (int i = 0; i < block->IconCount; i++) {
- NSImage *memImage;
- @autoreleasepool {
- NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL pixelsWide:16 pixelsHigh:16 bitsPerSample:8 samplesPerPixel:3 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedRGBColorSpace bytesPerRow:0 bitsPerPixel:0];
-
- short *icon = block->Icon;
-
- int x, y, c, v, r, g, b;
- for (v = 0; v < 256; v++) {
- x = (v % 16);
- y = (v / 16);
- c = icon[(i * 256) + v];
- r = (c & 0x001f) << 3;
- g = ((c & 0x03e0) >> 5) << 3;
- b = ((c & 0x7c00) >> 10) << 3;
- [imageRep setColor:[NSColor colorWithCalibratedRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0] atX:x y:y];
- }
- memImage = [[NSImage alloc] init];
- [memImage addRepresentation:imageRep];
- [memImage setSize:NSMakeSize(32, 32)];
+ NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL pixelsWide:16 pixelsHigh:16 bitsPerSample:8 samplesPerPixel:3 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedRGBColorSpace bytesPerRow:16*3 bitsPerPixel:24];
+ struct PSXRGBColor *cocoaImageData = (struct PSXRGBColor *)imageRep.bitmapData;
+ short *icon = block->Icon;
+
+ for (int v = 0; v < 256; v++) {
+ int c = icon[(i * 256) + v];
+ int r = (c & 0x001f) << 3;
+ int g = ((c & 0x03e0) >> 5) << 3;
+ int b = ((c & 0x7c00) >> 10) << 3;
+ struct PSXRGBColor *colorItem = &cocoaImageData[v];
+ colorItem->r = r;
+ colorItem->g = g;
+ colorItem->b = b;
}
+ NSImage *memImage = [[NSImage alloc] init];
+ [memImage addRepresentation:imageRep];
+ [memImage setSize:NSMakeSize(32, 32)];
[imagesArray addObject:memImage];
}
return [NSArray arrayWithArray:imagesArray];
@@ -86,23 +91,23 @@ static NSString *MemLabelMultiSave;
{
switch (flagNameIndex) {
default:
- case memFlagFree:
+ case PCSXRMemFlagFree:
return MemLabelFree;
break;
- case memFlagEndLink:
+ case PCSXRMemFlagEndLink:
return MemLabelEndLink;
break;
- case memFlagLink:
+ case PCSXRMemFlagLink:
return MemLabelLink;
break;
- case memFlagUsed:
+ case PCSXRMemFlagUsed:
return MemLabelUsed;
break;
- case memFlagDeleted:
+ case PCSXRMemFlagDeleted:
return MemLabelDeleted;
break;
}
@@ -126,22 +131,22 @@ static NSString *MemLabelMultiSave;
{
if ((blockFlags & 0xF0) == 0xA0) {
if ((blockFlags & 0xF) >= 1 && (blockFlags & 0xF) <= 3)
- return memFlagDeleted;
+ return PCSXRMemFlagDeleted;
else
- return memFlagFree;
+ return PCSXRMemFlagFree;
} else if ((blockFlags & 0xF0) == 0x50) {
if ((blockFlags & 0xF) == 0x1)
- return memFlagUsed;
+ return PCSXRMemFlagUsed;
else if ((blockFlags & 0xF) == 0x2)
- return memFlagLink;
+ return PCSXRMemFlagLink;
else if ((blockFlags & 0xF) == 0x3)
- return memFlagEndLink;
+ return PCSXRMemFlagEndLink;
} else
- return memFlagFree;
+ return PCSXRMemFlagFree;
//Xcode complains unless we do this...
NSLog(@"Unknown flag %x", blockFlags);
- return memFlagFree;
+ return PCSXRMemFlagFree;
}
- (instancetype)initWithMcdBlock:(McdBlock *)infoBlock startingIndex:(uint8_t)startIdx size:(uint8_t)memSize
@@ -150,7 +155,7 @@ static NSString *MemLabelMultiSave;
self.startingIndex = startIdx;
self.blockSize = memSize;
self.flag = [PcsxrMemoryObject memFlagsFromBlockFlags:infoBlock->Flags];
- if (self.flag == memFlagFree) {
+ if (self.flag == PCSXRMemFlagFree) {
self.imageArray = @[];
self.hasImages = NO;
self.title = @"Free block";
@@ -279,23 +284,23 @@ static inline void SetupAttrStr(NSMutableAttributedString *mutStr, NSColor *txtc
switch (flag) {
default:
- case memFlagFree:
+ case PCSXRMemFlagFree:
return attribMemLabelFree;
break;
- case memFlagEndLink:
+ case PCSXRMemFlagEndLink:
return attribMemLabelEndLink;
break;
- case memFlagLink:
+ case PCSXRMemFlagLink:
return attribMemLabelLink;
break;
- case memFlagUsed:
+ case PCSXRMemFlagUsed:
return attribMemLabelUsed;
break;
- case memFlagDeleted:
+ case PCSXRMemFlagDeleted:
return attribMemLabelDeleted;
break;
}
@@ -303,7 +308,7 @@ static inline void SetupAttrStr(NSMutableAttributedString *mutStr, NSColor *txtc
- (BOOL)showCount
{
- if (flag == memFlagFree) {
+ if (flag == PCSXRMemFlagFree) {
//Always show the size of the free blocks
return YES;
} else {
diff --git a/macosx/Source/PcsxrPlugin.m b/macosx/Source/PcsxrPlugin.m
index 09e3eecf..016aefff 100644
--- a/macosx/Source/PcsxrPlugin.m
+++ b/macosx/Source/PcsxrPlugin.m
@@ -242,20 +242,15 @@
#define PluginSymbolNameConfigure(type) PluginSymbolName(type, @"configure")
#define PluginSymbolNameAbout(type) PluginSymbolName(type, @"about")
-- (void)runCommand:(id)arg
+- (void)runCommandNamed:(NSString*)arg
{
- @autoreleasepool {
- NSString *funcName = arg[0];
- long (*func)(void);
-
- func = SysLoadSym(pluginRef, [funcName cStringUsingEncoding:NSASCIIStringEncoding]);
- if (SysLibError() == NULL) {
- func();
- } else {
- NSBeep();
- }
-
- return;
+ long (*func)(void);
+
+ func = SysLoadSym(pluginRef, [arg cStringUsingEncoding:NSASCIIStringEncoding]);
+ if (SysLibError() == NULL) {
+ func();
+ } else {
+ NSBeep();
}
}
@@ -336,26 +331,24 @@
- (void)aboutAs:(int)aType
{
- NSArray *arg;
-
NSString *aboutSym = PluginSymbolNameAbout(aType);
- arg = @[aboutSym, @0];
+ //NSArray *arg = @[aboutSym, @0];
// detach a new thread
- [NSThread detachNewThreadSelector:@selector(runCommand:) toTarget:self
- withObject:arg];
+ dispatch_async(dispatch_get_global_queue(0, 0), ^{
+ [self runCommandNamed:aboutSym];
+ });
}
- (void)configureAs:(int)aType
{
- NSArray *arg;
-
NSString *configSym = PluginSymbolNameConfigure(aType);
- arg = @[configSym, @1];
+ //NSArray *arg = @[configSym, @1];
// detach a new thread
- [NSThread detachNewThreadSelector:@selector(runCommand:) toTarget:self
- withObject:arg];
+ dispatch_async(dispatch_get_global_queue(0, 0), ^{
+ [self runCommandNamed:configSym];
+ });
}
- (NSString *)displayVersion
@@ -376,7 +369,7 @@
if (_name == nil)
return [path lastPathComponent];
- return [NSString stringWithFormat:@"%@ %@ [%@]", self.name, [self displayVersion], [path lastPathComponent]];
+ return [NSString stringWithFormat:@"%@ %@ [%@]", self.name, self.displayVersion, path.lastPathComponent];
}
- (NSString*)debugDescription
@@ -384,7 +377,7 @@
if (_name == nil) {
return fullPlugPath;
}
- return [NSString stringWithFormat:@"%@, %@ [%@]", self.name, [self displayVersion], fullPlugPath];
+ return [NSString stringWithFormat:@"%@, %@ [%@]", self.name, self.displayVersion, fullPlugPath];
}
// the plugin will check if it's still valid and return the status
diff --git a/macosx/pcsxr.pch b/macosx/pcsxr.pch
index 4ed29cd8..eddc3eb9 100644
--- a/macosx/pcsxr.pch
+++ b/macosx/pcsxr.pch
@@ -11,7 +11,9 @@
// Apple deprecated __private_extern__ in Xcode 4.6.
// This is a convenience declaration to retain the old behavior.
+#ifndef __private_extern
#define __private_extern __attribute__((visibility("hidden")))
+#endif
#include <sys/time.h>
#include <unistd.h>