Cocoa Port:
- The input handler now supports autohold. - NDS inputs in the input handler now support turbo.
This commit is contained in:
parent
71c196b920
commit
7fa5f7763e
|
@ -868,6 +868,16 @@
|
||||||
AB7DDA6E173DC399004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
AB7DDA6E173DC399004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
||||||
AB7DDA6F173DC39E004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
AB7DDA6F173DC39E004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
||||||
AB7DDA70173DC3A3004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
AB7DDA70173DC3A3004F3D07 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB6AD5C173A3F2B00EC2E8D /* Carbon.framework */; };
|
||||||
|
AB851D2A189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB851D2B189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB851D2C189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB851D2D189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB851D2E189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB851D2F189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB851D30189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB851D31189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB851D32189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB851D33189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */; };
|
||||||
AB8C6CBF186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
AB8C6CBF186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
||||||
AB8C6CC0186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
AB8C6CC0186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
||||||
AB8C6CC1186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
AB8C6CC1186A950C00E3EC64 /* Image_PassME.png in Resources */ = {isa = PBXBuildFile; fileRef = AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */; };
|
||||||
|
@ -1368,6 +1378,8 @@
|
||||||
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
||||||
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
||||||
AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = videofilter.cpp; sourceTree = "<group>"; };
|
AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = videofilter.cpp; sourceTree = "<group>"; };
|
||||||
|
AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdClear_420x420.png; path = images/Icon_AutoholdClear_420x420.png; sourceTree = "<group>"; };
|
||||||
|
AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdSet_420x420.png; path = images/Icon_AutoholdSet_420x420.png; sourceTree = "<group>"; };
|
||||||
AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PassME.png; path = images/Image_PassME.png; sourceTree = "<group>"; };
|
AB8C6CBE186A950C00E3EC64 /* Image_PassME.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PassME.png; path = images/Image_PassME.png; sourceTree = "<group>"; };
|
||||||
AB8C6E56186CD07E00E3EC64 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; };
|
AB8C6E56186CD07E00E3EC64 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = System/Library/Frameworks/ForceFeedback.framework; sourceTree = SDKROOT; };
|
||||||
AB8FFE491872032B00C10085 /* Image_PaddleController.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PaddleController.png; path = images/Image_PaddleController.png; sourceTree = "<group>"; };
|
AB8FFE491872032B00C10085 /* Image_PaddleController.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Image_PaddleController.png; path = images/Image_PaddleController.png; sourceTree = "<group>"; };
|
||||||
|
@ -2008,6 +2020,8 @@
|
||||||
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
||||||
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
||||||
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
||||||
|
AB851D28189B2C9A007363CC /* Icon_AutoholdClear_420x420.png */,
|
||||||
|
AB851D29189B2C9A007363CC /* Icon_AutoholdSet_420x420.png */,
|
||||||
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
||||||
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
||||||
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
||||||
|
@ -2677,6 +2691,8 @@
|
||||||
ABBFDFAB1898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABBFDFAB1898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
ABBFDFB61898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
ABBFDFB61898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
||||||
ABBFDFB71898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
ABBFDFB71898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
||||||
|
AB851D32189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
|
AB851D33189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -2770,6 +2786,8 @@
|
||||||
ABBFDFA81898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABBFDFA81898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
ABBFDFB01898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
ABBFDFB01898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
||||||
ABBFDFB11898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
ABBFDFB11898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
||||||
|
AB851D2C189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
|
AB851D2D189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -2863,6 +2881,8 @@
|
||||||
ABBFDFA71898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABBFDFA71898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
ABBFDFAE1898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
ABBFDFAE1898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
||||||
ABBFDFAF1898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
ABBFDFAF1898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
||||||
|
AB851D2A189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
|
AB851D2B189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -2956,6 +2976,8 @@
|
||||||
ABBFDFAA1898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABBFDFAA1898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
ABBFDFB41898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
ABBFDFB41898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
||||||
ABBFDFB51898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
ABBFDFB51898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
||||||
|
AB851D30189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
|
AB851D31189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -3049,6 +3071,8 @@
|
||||||
ABBFDFA91898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABBFDFA91898EE3200A3FFA5 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
ABBFDFB21898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
ABBFDFB21898EE4B00A3FFA5 /* Icon_FrameAdvance_420x420.png in Resources */,
|
||||||
ABBFDFB31898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
ABBFDFB31898EE4B00A3FFA5 /* Icon_FrameJump_420x420.png in Resources */,
|
||||||
|
AB851D2E189B2C9A007363CC /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
|
AB851D2F189B2C9A007363CC /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -398,6 +398,10 @@
|
||||||
AB796D6A15CDCBA200C59155 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB350BA41478AC96007165AC /* IOKit.framework */; };
|
AB796D6A15CDCBA200C59155 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB350BA41478AC96007165AC /* IOKit.framework */; };
|
||||||
AB796D6B15CDCBA200C59155 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D4134431DA00E7B0B1 /* OpenGL.framework */; };
|
AB796D6B15CDCBA200C59155 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D4134431DA00E7B0B1 /* OpenGL.framework */; };
|
||||||
AB796D6C15CDCBA200C59155 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
AB796D6C15CDCBA200C59155 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
||||||
|
AB7EC7FA189B2CBA009D198A /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F8189B2CBA009D198A /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB7EC7FB189B2CBA009D198A /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F8189B2CBA009D198A /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB7EC7FC189B2CBA009D198A /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F9189B2CBA009D198A /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB7EC7FD189B2CBA009D198A /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F9189B2CBA009D198A /* Icon_AutoholdSet_420x420.png */; };
|
||||||
AB80E04D142BC4A800A52038 /* cocoa_util.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB80E04C142BC4A800A52038 /* cocoa_util.mm */; };
|
AB80E04D142BC4A800A52038 /* cocoa_util.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB80E04C142BC4A800A52038 /* cocoa_util.mm */; };
|
||||||
AB82445B1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
AB82445B1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
||||||
AB82445C1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
AB82445C1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
||||||
|
@ -878,6 +882,8 @@
|
||||||
AB796CA215CDCB6B00C59155 /* instruction_attributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instruction_attributes.h; path = ../instruction_attributes.h; sourceTree = "<group>"; };
|
AB796CA215CDCB6B00C59155 /* instruction_attributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instruction_attributes.h; path = ../instruction_attributes.h; sourceTree = "<group>"; };
|
||||||
AB796CA315CDCB6B00C59155 /* instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instructions.h; path = ../instructions.h; sourceTree = "<group>"; };
|
AB796CA315CDCB6B00C59155 /* instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instructions.h; path = ../instructions.h; sourceTree = "<group>"; };
|
||||||
AB796D7015CDCBA200C59155 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
AB796D7015CDCBA200C59155 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
AB7EC7F8189B2CBA009D198A /* Icon_AutoholdClear_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdClear_420x420.png; path = ../../../../../../../Volumes/rogerman/desmume/trunk/desmume/src/cocoa/images/Icon_AutoholdClear_420x420.png; sourceTree = "<group>"; };
|
||||||
|
AB7EC7F9189B2CBA009D198A /* Icon_AutoholdSet_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdSet_420x420.png; path = ../../../../../../../Volumes/rogerman/desmume/trunk/desmume/src/cocoa/images/Icon_AutoholdSet_420x420.png; sourceTree = "<group>"; };
|
||||||
AB80E04C142BC4A800A52038 /* cocoa_util.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_util.mm; sourceTree = "<group>"; };
|
AB80E04C142BC4A800A52038 /* cocoa_util.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_util.mm; sourceTree = "<group>"; };
|
||||||
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
||||||
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
||||||
|
@ -1545,6 +1551,8 @@
|
||||||
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
||||||
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
||||||
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
||||||
|
AB7EC7F8189B2CBA009D198A /* Icon_AutoholdClear_420x420.png */,
|
||||||
|
AB7EC7F9189B2CBA009D198A /* Icon_AutoholdSet_420x420.png */,
|
||||||
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
||||||
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
||||||
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
||||||
|
@ -2064,6 +2072,7 @@
|
||||||
AB0F29A814BE7213009ABC6F /* Icon_DSButtonB_420x420.png in Resources */,
|
AB0F29A814BE7213009ABC6F /* Icon_DSButtonB_420x420.png in Resources */,
|
||||||
AB0F29A914BE7213009ABC6F /* Icon_DSButtonL_420x420.png in Resources */,
|
AB0F29A914BE7213009ABC6F /* Icon_DSButtonL_420x420.png in Resources */,
|
||||||
AB0F29AA14BE7213009ABC6F /* Icon_DSButtonR_420x420.png in Resources */,
|
AB0F29AA14BE7213009ABC6F /* Icon_DSButtonR_420x420.png in Resources */,
|
||||||
|
AB7EC7FB189B2CBA009D198A /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
AB9A1F921898F0E7000DF924 /* Icon_DisplayToggle_420x420.png in Resources */,
|
AB9A1F921898F0E7000DF924 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
AB0F29AB14BE7213009ABC6F /* Icon_DSButtonSelect_420x420.png in Resources */,
|
AB0F29AB14BE7213009ABC6F /* Icon_DSButtonSelect_420x420.png in Resources */,
|
||||||
AB0F29AC14BE7213009ABC6F /* Icon_DSButtonStart_420x420.png in Resources */,
|
AB0F29AC14BE7213009ABC6F /* Icon_DSButtonStart_420x420.png in Resources */,
|
||||||
|
@ -2080,6 +2089,7 @@
|
||||||
AB0F29B614BE7213009ABC6F /* Icon_ShowHUD_420x420.png in Resources */,
|
AB0F29B614BE7213009ABC6F /* Icon_ShowHUD_420x420.png in Resources */,
|
||||||
AB0F29B714BE7213009ABC6F /* Icon_Speaker_420x420.png in Resources */,
|
AB0F29B714BE7213009ABC6F /* Icon_Speaker_420x420.png in Resources */,
|
||||||
AB3ACC3E14C24D5400D7D192 /* AUTHORS in Resources */,
|
AB3ACC3E14C24D5400D7D192 /* AUTHORS in Resources */,
|
||||||
|
AB7EC7FD189B2CBA009D198A /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
AB3ACC3F14C24D5400D7D192 /* ChangeLog in Resources */,
|
AB3ACC3F14C24D5400D7D192 /* ChangeLog in Resources */,
|
||||||
AB3ACC4014C24D5400D7D192 /* COPYING in Resources */,
|
AB3ACC4014C24D5400D7D192 /* COPYING in Resources */,
|
||||||
AB3ACC4114C24D5400D7D192 /* README in Resources */,
|
AB3ACC4114C24D5400D7D192 /* README in Resources */,
|
||||||
|
@ -2157,6 +2167,7 @@
|
||||||
AB796CD815CDCBA200C59155 /* Icon_DSButtonB_420x420.png in Resources */,
|
AB796CD815CDCBA200C59155 /* Icon_DSButtonB_420x420.png in Resources */,
|
||||||
AB796CD915CDCBA200C59155 /* Icon_DSButtonL_420x420.png in Resources */,
|
AB796CD915CDCBA200C59155 /* Icon_DSButtonL_420x420.png in Resources */,
|
||||||
AB796CDA15CDCBA200C59155 /* Icon_DSButtonR_420x420.png in Resources */,
|
AB796CDA15CDCBA200C59155 /* Icon_DSButtonR_420x420.png in Resources */,
|
||||||
|
AB7EC7FA189B2CBA009D198A /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
AB9A1F911898F0E7000DF924 /* Icon_DisplayToggle_420x420.png in Resources */,
|
AB9A1F911898F0E7000DF924 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
AB796CDB15CDCBA200C59155 /* Icon_DSButtonSelect_420x420.png in Resources */,
|
AB796CDB15CDCBA200C59155 /* Icon_DSButtonSelect_420x420.png in Resources */,
|
||||||
AB796CDC15CDCBA200C59155 /* Icon_DSButtonStart_420x420.png in Resources */,
|
AB796CDC15CDCBA200C59155 /* Icon_DSButtonStart_420x420.png in Resources */,
|
||||||
|
@ -2173,6 +2184,7 @@
|
||||||
AB796CE615CDCBA200C59155 /* Icon_ShowHUD_420x420.png in Resources */,
|
AB796CE615CDCBA200C59155 /* Icon_ShowHUD_420x420.png in Resources */,
|
||||||
AB796CE715CDCBA200C59155 /* Icon_Speaker_420x420.png in Resources */,
|
AB796CE715CDCBA200C59155 /* Icon_Speaker_420x420.png in Resources */,
|
||||||
AB796CE815CDCBA200C59155 /* AUTHORS in Resources */,
|
AB796CE815CDCBA200C59155 /* AUTHORS in Resources */,
|
||||||
|
AB7EC7FC189B2CBA009D198A /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
AB796CE915CDCBA200C59155 /* ChangeLog in Resources */,
|
AB796CE915CDCBA200C59155 /* ChangeLog in Resources */,
|
||||||
AB796CEA15CDCBA200C59155 /* COPYING in Resources */,
|
AB796CEA15CDCBA200C59155 /* COPYING in Resources */,
|
||||||
AB796CEB15CDCBA200C59155 /* README in Resources */,
|
AB796CEB15CDCBA200C59155 /* README in Resources */,
|
||||||
|
|
|
@ -425,6 +425,10 @@
|
||||||
AB796D6A15CDCBA200C59155 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB350BA41478AC96007165AC /* IOKit.framework */; };
|
AB796D6A15CDCBA200C59155 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB350BA41478AC96007165AC /* IOKit.framework */; };
|
||||||
AB796D6B15CDCBA200C59155 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D4134431DA00E7B0B1 /* OpenGL.framework */; };
|
AB796D6B15CDCBA200C59155 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABC570D4134431DA00E7B0B1 /* OpenGL.framework */; };
|
||||||
AB796D6C15CDCBA200C59155 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
AB796D6C15CDCBA200C59155 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
||||||
|
AB7EC7F4189B2B92009D198A /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F2189B2B92009D198A /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB7EC7F5189B2B92009D198A /* Icon_AutoholdClear_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F2189B2B92009D198A /* Icon_AutoholdClear_420x420.png */; };
|
||||||
|
AB7EC7F6189B2B92009D198A /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F3189B2B92009D198A /* Icon_AutoholdSet_420x420.png */; };
|
||||||
|
AB7EC7F7189B2B92009D198A /* Icon_AutoholdSet_420x420.png in Resources */ = {isa = PBXBuildFile; fileRef = AB7EC7F3189B2B92009D198A /* Icon_AutoholdSet_420x420.png */; };
|
||||||
AB80E04D142BC4A800A52038 /* cocoa_util.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB80E04C142BC4A800A52038 /* cocoa_util.mm */; };
|
AB80E04D142BC4A800A52038 /* cocoa_util.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB80E04C142BC4A800A52038 /* cocoa_util.mm */; };
|
||||||
AB82445B1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
AB82445B1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
||||||
AB82445C1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
AB82445C1704AE9A00B8EE20 /* utilities.c in Sources */ = {isa = PBXBuildFile; fileRef = AB82445A1704AE9A00B8EE20 /* utilities.c */; };
|
||||||
|
@ -893,6 +897,8 @@
|
||||||
AB796CA215CDCB6B00C59155 /* instruction_attributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instruction_attributes.h; path = ../instruction_attributes.h; sourceTree = "<group>"; };
|
AB796CA215CDCB6B00C59155 /* instruction_attributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instruction_attributes.h; path = ../instruction_attributes.h; sourceTree = "<group>"; };
|
||||||
AB796CA315CDCB6B00C59155 /* instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instructions.h; path = ../instructions.h; sourceTree = "<group>"; };
|
AB796CA315CDCB6B00C59155 /* instructions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = instructions.h; path = ../instructions.h; sourceTree = "<group>"; };
|
||||||
AB796D7015CDCBA200C59155 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
AB796D7015CDCBA200C59155 /* DeSmuME (Debug).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (Debug).app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
AB7EC7F2189B2B92009D198A /* Icon_AutoholdClear_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdClear_420x420.png; path = images/Icon_AutoholdClear_420x420.png; sourceTree = "<group>"; };
|
||||||
|
AB7EC7F3189B2B92009D198A /* Icon_AutoholdSet_420x420.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_AutoholdSet_420x420.png; path = images/Icon_AutoholdSet_420x420.png; sourceTree = "<group>"; };
|
||||||
AB80E04C142BC4A800A52038 /* cocoa_util.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_util.mm; sourceTree = "<group>"; };
|
AB80E04C142BC4A800A52038 /* cocoa_util.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_util.mm; sourceTree = "<group>"; };
|
||||||
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
AB80E050142BC4FA00A52038 /* cocoa_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_util.h; sourceTree = "<group>"; };
|
||||||
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
AB817A34143EE2DB00A7DFE9 /* videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videofilter.h; sourceTree = "<group>"; };
|
||||||
|
@ -1545,6 +1551,8 @@
|
||||||
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
AB0F298914BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png */,
|
||||||
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
AB0F298A14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png */,
|
||||||
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
AB0F298B14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png */,
|
||||||
|
AB7EC7F2189B2B92009D198A /* Icon_AutoholdClear_420x420.png */,
|
||||||
|
AB7EC7F3189B2B92009D198A /* Icon_AutoholdSet_420x420.png */,
|
||||||
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
AB0F296C14BE705D009ABC6F /* Icon_CodeBreaker_128x128.png */,
|
||||||
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */,
|
||||||
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
ABB97875144E89CC00793FA3 /* Icon_DeSmuME_32x32.png */,
|
||||||
|
@ -2064,6 +2072,7 @@
|
||||||
AB0F298C14BE71E0009ABC6F /* Icon_ArrowDown_420x420.png in Resources */,
|
AB0F298C14BE71E0009ABC6F /* Icon_ArrowDown_420x420.png in Resources */,
|
||||||
AB0F298D14BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png in Resources */,
|
AB0F298D14BE71E0009ABC6F /* Icon_ArrowLeft_420x420.png in Resources */,
|
||||||
AB0F298E14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png in Resources */,
|
AB0F298E14BE71E0009ABC6F /* Icon_ArrowRight_420x420.png in Resources */,
|
||||||
|
AB7EC7F5189B2B92009D198A /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
ABDDF7C61898F024007583C1 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABDDF7C61898F024007583C1 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
AB0F298F14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png in Resources */,
|
AB0F298F14BE71E0009ABC6F /* Icon_ArrowUp_420x420.png in Resources */,
|
||||||
AB0F29A614BE7213009ABC6F /* Icon_DoubleSpeed_420x420.png in Resources */,
|
AB0F29A614BE7213009ABC6F /* Icon_DoubleSpeed_420x420.png in Resources */,
|
||||||
|
@ -2080,6 +2089,7 @@
|
||||||
AB0F29AE14BE7213009ABC6F /* Icon_DSButtonY_420x420.png in Resources */,
|
AB0F29AE14BE7213009ABC6F /* Icon_DSButtonY_420x420.png in Resources */,
|
||||||
AB0F29AF14BE7213009ABC6F /* Icon_Emulation_420x420.png in Resources */,
|
AB0F29AF14BE7213009ABC6F /* Icon_Emulation_420x420.png in Resources */,
|
||||||
AB0F29B014BE7213009ABC6F /* Icon_Input_420x420.png in Resources */,
|
AB0F29B014BE7213009ABC6F /* Icon_Input_420x420.png in Resources */,
|
||||||
|
AB7EC7F7189B2B92009D198A /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
AB0F29B114BE7213009ABC6F /* Icon_Microphone_420x420.png in Resources */,
|
AB0F29B114BE7213009ABC6F /* Icon_Microphone_420x420.png in Resources */,
|
||||||
AB0F29B214BE7213009ABC6F /* Icon_OpenROM_420x420.png in Resources */,
|
AB0F29B214BE7213009ABC6F /* Icon_OpenROM_420x420.png in Resources */,
|
||||||
AB0F29B314BE7213009ABC6F /* Icon_Reset_420x420.png in Resources */,
|
AB0F29B314BE7213009ABC6F /* Icon_Reset_420x420.png in Resources */,
|
||||||
|
@ -2157,6 +2167,7 @@
|
||||||
AB796CD215CDCBA200C59155 /* Icon_ArrowDown_420x420.png in Resources */,
|
AB796CD215CDCBA200C59155 /* Icon_ArrowDown_420x420.png in Resources */,
|
||||||
AB796CD315CDCBA200C59155 /* Icon_ArrowLeft_420x420.png in Resources */,
|
AB796CD315CDCBA200C59155 /* Icon_ArrowLeft_420x420.png in Resources */,
|
||||||
AB796CD415CDCBA200C59155 /* Icon_ArrowRight_420x420.png in Resources */,
|
AB796CD415CDCBA200C59155 /* Icon_ArrowRight_420x420.png in Resources */,
|
||||||
|
AB7EC7F4189B2B92009D198A /* Icon_AutoholdClear_420x420.png in Resources */,
|
||||||
ABDDF7C51898F024007583C1 /* Icon_DisplayToggle_420x420.png in Resources */,
|
ABDDF7C51898F024007583C1 /* Icon_DisplayToggle_420x420.png in Resources */,
|
||||||
AB796CD515CDCBA200C59155 /* Icon_ArrowUp_420x420.png in Resources */,
|
AB796CD515CDCBA200C59155 /* Icon_ArrowUp_420x420.png in Resources */,
|
||||||
AB796CD615CDCBA200C59155 /* Icon_DoubleSpeed_420x420.png in Resources */,
|
AB796CD615CDCBA200C59155 /* Icon_DoubleSpeed_420x420.png in Resources */,
|
||||||
|
@ -2173,6 +2184,7 @@
|
||||||
AB796CDE15CDCBA200C59155 /* Icon_DSButtonY_420x420.png in Resources */,
|
AB796CDE15CDCBA200C59155 /* Icon_DSButtonY_420x420.png in Resources */,
|
||||||
AB796CDF15CDCBA200C59155 /* Icon_Emulation_420x420.png in Resources */,
|
AB796CDF15CDCBA200C59155 /* Icon_Emulation_420x420.png in Resources */,
|
||||||
AB796CE015CDCBA200C59155 /* Icon_Input_420x420.png in Resources */,
|
AB796CE015CDCBA200C59155 /* Icon_Input_420x420.png in Resources */,
|
||||||
|
AB7EC7F6189B2B92009D198A /* Icon_AutoholdSet_420x420.png in Resources */,
|
||||||
AB796CE115CDCBA200C59155 /* Icon_Microphone_420x420.png in Resources */,
|
AB796CE115CDCBA200C59155 /* Icon_Microphone_420x420.png in Resources */,
|
||||||
AB796CE215CDCBA200C59155 /* Icon_OpenROM_420x420.png in Resources */,
|
AB796CE215CDCBA200C59155 /* Icon_OpenROM_420x420.png in Resources */,
|
||||||
AB796CE315CDCBA200C59155 /* Icon_Reset_420x420.png in Resources */,
|
AB796CE315CDCBA200C59155 /* Icon_Reset_420x420.png in Resources */,
|
||||||
|
|
|
@ -38,6 +38,8 @@
|
||||||
<string>Piano: B</string>
|
<string>Piano: B</string>
|
||||||
<string>Piano: High C</string>
|
<string>Piano: High C</string>
|
||||||
<string>Paddle</string>
|
<string>Paddle</string>
|
||||||
|
<string>Autohold - Set</string>
|
||||||
|
<string>Autohold - Clear</string>
|
||||||
<string>Execute/Pause</string>
|
<string>Execute/Pause</string>
|
||||||
<string>Frame Advance</string>
|
<string>Frame Advance</string>
|
||||||
<string>Frame Jump</string>
|
<string>Frame Jump</string>
|
||||||
|
@ -77,6 +79,8 @@
|
||||||
<string>126</string>
|
<string>126</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Up Arrow</string>
|
<string>Up Arrow</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Down</key>
|
<key>Down</key>
|
||||||
|
@ -92,6 +96,8 @@
|
||||||
<string>125</string>
|
<string>125</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Down Arrow</string>
|
<string>Down Arrow</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Left</key>
|
<key>Left</key>
|
||||||
|
@ -107,6 +113,8 @@
|
||||||
<string>123</string>
|
<string>123</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Left Arrow</string>
|
<string>Left Arrow</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Right</key>
|
<key>Right</key>
|
||||||
|
@ -122,6 +130,8 @@
|
||||||
<string>124</string>
|
<string>124</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Right Arrow</string>
|
<string>Right Arrow</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>A</key>
|
<key>A</key>
|
||||||
|
@ -137,6 +147,8 @@
|
||||||
<string>7</string>
|
<string>7</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>X</string>
|
<string>X</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>B</key>
|
<key>B</key>
|
||||||
|
@ -152,6 +164,8 @@
|
||||||
<string>6</string>
|
<string>6</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Z</string>
|
<string>Z</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>X</key>
|
<key>X</key>
|
||||||
|
@ -167,6 +181,8 @@
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>S</string>
|
<string>S</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Y</key>
|
<key>Y</key>
|
||||||
|
@ -182,6 +198,8 @@
|
||||||
<string>0</string>
|
<string>0</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>A</string>
|
<string>A</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>L</key>
|
<key>L</key>
|
||||||
|
@ -197,6 +215,8 @@
|
||||||
<string>12</string>
|
<string>12</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Q</string>
|
<string>Q</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>R</key>
|
<key>R</key>
|
||||||
|
@ -212,6 +232,8 @@
|
||||||
<string>13</string>
|
<string>13</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>W</string>
|
<string>W</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Start</key>
|
<key>Start</key>
|
||||||
|
@ -227,6 +249,8 @@
|
||||||
<string>36</string>
|
<string>36</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Return</string>
|
<string>Return</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Select</key>
|
<key>Select</key>
|
||||||
|
@ -242,6 +266,8 @@
|
||||||
<string>48</string>
|
<string>48</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>Tab</string>
|
<string>Tab</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Touch</key>
|
<key>Touch</key>
|
||||||
|
@ -595,6 +621,10 @@
|
||||||
<integer>5</integer>
|
<integer>5</integer>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>Autohold - Set</key>
|
||||||
|
<array/>
|
||||||
|
<key>Autohold - Clear</key>
|
||||||
|
<array/>
|
||||||
<key>HUD</key>
|
<key>HUD</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
|
|
@ -100,6 +100,58 @@
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>Input_ControllerMappings</key>
|
<key>Input_ControllerMappings</key>
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>Up</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>126</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Up Arrow</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Down</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>125</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Down Arrow</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Left</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>123</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Left Arrow</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Right</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>124</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Right Arrow</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
<key>A</key>
|
<key>A</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -126,61 +178,129 @@
|
||||||
<string>Z</string>
|
<string>Z</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Copy Screen</key>
|
<key>X</key>
|
||||||
<array/>
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>S</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Y</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>A</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>L</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>12</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Q</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>R</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>13</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>W</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Start</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>36</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Return</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Select</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>48</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Tab</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Touch</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventMouse</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Mouse</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Primary Button</string>
|
||||||
|
<key>useInputForIntCoord</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Microphone</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>50</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>` (Accent)</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Lid</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>51</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Delete (Backspace)</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
<key>Debug</key>
|
<key>Debug</key>
|
||||||
<array/>
|
<array/>
|
||||||
<key>Down</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>125</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Down Arrow</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Enable/Disable Auto Frame Skip</key>
|
|
||||||
<array/>
|
|
||||||
<key>Enable/Disable Cheats</key>
|
|
||||||
<array/>
|
|
||||||
<key>Enable/Disable GPU State</key>
|
|
||||||
<array/>
|
|
||||||
<key>Enable/Disable Speed Limiter</key>
|
|
||||||
<array/>
|
|
||||||
<key>Execute/Pause</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>117</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Forward Delete</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Frame Advance</key>
|
|
||||||
<array/>
|
|
||||||
<key>Frame Jump</key>
|
|
||||||
<array/>
|
|
||||||
<key>Guitar Grip: Blue</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>16</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Y</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Guitar Grip: Green</key>
|
<key>Guitar Grip: Green</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -220,7 +340,7 @@
|
||||||
<string>T</string>
|
<string>T</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>HUD</key>
|
<key>Guitar Grip: Blue</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
<key>deviceCode</key>
|
<key>deviceCode</key>
|
||||||
|
@ -228,137 +348,9 @@
|
||||||
<key>deviceName</key>
|
<key>deviceName</key>
|
||||||
<string>Keyboard</string>
|
<string>Keyboard</string>
|
||||||
<key>elementCode</key>
|
<key>elementCode</key>
|
||||||
<string>4</string>
|
<string>16</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>H</string>
|
<string>Y</string>
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>L</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>12</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Q</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Left</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>123</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Left Arrow</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Lid</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>51</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Delete (Backspace)</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Load State Slot</key>
|
|
||||||
<array/>
|
|
||||||
<key>Microphone</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>50</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>` (Accent)</string>
|
|
||||||
<key>intValue1</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Mute/Unmute</key>
|
|
||||||
<array/>
|
|
||||||
<key>Paddle</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>31</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>O</string>
|
|
||||||
<key>intValue1</key>
|
|
||||||
<integer>-5</integer>
|
|
||||||
<key>isInputAnalog</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>35</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>P</string>
|
|
||||||
<key>intValue1</key>
|
|
||||||
<integer>5</integer>
|
|
||||||
<key>isInputAnalog</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Piano: A</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>43</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>, (Comma)</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Piano: A#</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>37</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>L</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Piano: B</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>47</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>. (Period)</string>
|
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Piano: C</key>
|
<key>Piano: C</key>
|
||||||
|
@ -478,6 +470,45 @@
|
||||||
<string>K</string>
|
<string>K</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>Piano: A</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>43</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>, (Comma)</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Piano: A#</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>37</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>L</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Piano: B</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>47</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>. (Period)</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
<key>Piano: High C</key>
|
<key>Piano: High C</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -491,7 +522,7 @@
|
||||||
<string>/</string>
|
<string>/</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>R</key>
|
<key>Paddle</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
<key>deviceCode</key>
|
<key>deviceCode</key>
|
||||||
|
@ -499,11 +530,63 @@
|
||||||
<key>deviceName</key>
|
<key>deviceName</key>
|
||||||
<string>Keyboard</string>
|
<string>Keyboard</string>
|
||||||
<key>elementCode</key>
|
<key>elementCode</key>
|
||||||
<string>13</string>
|
<string>31</string>
|
||||||
<key>elementName</key>
|
<key>elementName</key>
|
||||||
<string>W</string>
|
<string>O</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<integer>-5</integer>
|
||||||
|
<key>isInputAnalog</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>35</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>P</string>
|
||||||
|
<key>intValue1</key>
|
||||||
|
<integer>5</integer>
|
||||||
|
<key>isInputAnalog</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>Autohold - Set</key>
|
||||||
|
<array/>
|
||||||
|
<key>Autohold - Clear</key>
|
||||||
|
<array/>
|
||||||
|
<key>HUD</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>4</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>H</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Execute/Pause</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>deviceCode</key>
|
||||||
|
<string>NSEventKeyboard</string>
|
||||||
|
<key>deviceName</key>
|
||||||
|
<string>Keyboard</string>
|
||||||
|
<key>elementCode</key>
|
||||||
|
<string>117</string>
|
||||||
|
<key>elementName</key>
|
||||||
|
<string>Forward Delete</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>Frame Advance</key>
|
||||||
|
<array/>
|
||||||
|
<key>Frame Jump</key>
|
||||||
|
<array/>
|
||||||
<key>Reset</key>
|
<key>Reset</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -517,19 +600,14 @@
|
||||||
<string>Page Down</string>
|
<string>Page Down</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Right</key>
|
<key>Mute/Unmute</key>
|
||||||
<array>
|
<array/>
|
||||||
<dict>
|
<key>Load State Slot</key>
|
||||||
<key>deviceCode</key>
|
<array/>
|
||||||
<string>NSEventKeyboard</string>
|
<key>Save State Slot</key>
|
||||||
<key>deviceName</key>
|
<array/>
|
||||||
<string>Keyboard</string>
|
<key>Copy Screen</key>
|
||||||
<key>elementCode</key>
|
<array/>
|
||||||
<string>124</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Right Arrow</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Rotate Display Left</key>
|
<key>Rotate Display Left</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -560,21 +638,8 @@
|
||||||
<integer>90</integer>
|
<integer>90</integer>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Save State Slot</key>
|
<key>Toggle All Displays</key>
|
||||||
<array/>
|
<array/>
|
||||||
<key>Select</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>48</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Tab</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Set Speed</key>
|
<key>Set Speed</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
@ -602,75 +667,14 @@
|
||||||
<integer>2</integer>
|
<integer>2</integer>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>Start</key>
|
<key>Enable/Disable Speed Limiter</key>
|
||||||
<array>
|
<array/>
|
||||||
<dict>
|
<key>Enable/Disable Auto Frame Skip</key>
|
||||||
<key>deviceCode</key>
|
<array/>
|
||||||
<string>NSEventKeyboard</string>
|
<key>Enable/Disable Cheats</key>
|
||||||
<key>deviceName</key>
|
<array/>
|
||||||
<string>Keyboard</string>
|
<key>Enable/Disable GPU State</key>
|
||||||
<key>elementCode</key>
|
|
||||||
<string>36</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Return</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Toggle All Displays</key>
|
|
||||||
<array/>
|
<array/>
|
||||||
<key>Touch</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventMouse</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Mouse</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>0</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Primary Button</string>
|
|
||||||
<key>useInputForIntCoord</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Up</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>126</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>Up Arrow</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>X</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>S</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>Y</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>deviceCode</key>
|
|
||||||
<string>NSEventKeyboard</string>
|
|
||||||
<key>deviceName</key>
|
|
||||||
<string>Keyboard</string>
|
|
||||||
<key>elementCode</key>
|
|
||||||
<string>0</string>
|
|
||||||
<key>elementName</key>
|
|
||||||
<string>A</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
</dict>
|
</dict>
|
||||||
<key>Input_SavedDeviceProperties</key>
|
<key>Input_SavedDeviceProperties</key>
|
||||||
<dict/>
|
<dict/>
|
||||||
|
|
|
@ -63,25 +63,39 @@ enum
|
||||||
DSControllerState_StatesCount
|
DSControllerState_StatesCount
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
bool state;
|
||||||
|
bool turbo;
|
||||||
|
bool autohold;
|
||||||
|
uint16_t turboPattern;
|
||||||
|
} NDSInput;
|
||||||
|
|
||||||
@interface CocoaDSController : NSObject
|
@interface CocoaDSController : NSObject
|
||||||
{
|
{
|
||||||
|
BOOL autohold;
|
||||||
|
BOOL isAutoholdCleared;
|
||||||
NSInteger micMode;
|
NSInteger micMode;
|
||||||
NSPoint touchLocation;
|
NSPoint touchLocation;
|
||||||
bool controllerState[DSControllerState_StatesCount];
|
|
||||||
|
NDSInput ndsInput[DSControllerState_StatesCount];
|
||||||
AudioSampleBlockGenerator *selectedAudioFileGenerator;
|
AudioSampleBlockGenerator *selectedAudioFileGenerator;
|
||||||
NSInteger paddleAdjust;
|
NSInteger paddleAdjust;
|
||||||
|
|
||||||
OSSpinLock spinlockControllerState;
|
OSSpinLock spinlockControllerState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@property (assign) BOOL autohold;
|
||||||
@property (assign) NSInteger micMode;
|
@property (assign) NSInteger micMode;
|
||||||
@property (assign) AudioSampleBlockGenerator *selectedAudioFileGenerator;
|
@property (assign) AudioSampleBlockGenerator *selectedAudioFileGenerator;
|
||||||
@property (assign) NSInteger paddleAdjust;
|
@property (assign) NSInteger paddleAdjust;
|
||||||
|
|
||||||
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID;
|
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID;
|
||||||
|
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID turbo:(const BOOL)isTurboEnabled;
|
||||||
- (void) setTouchState:(BOOL)theState location:(const NSPoint)theLocation;
|
- (void) setTouchState:(BOOL)theState location:(const NSPoint)theLocation;
|
||||||
- (void) setMicrophoneState:(BOOL)theState inputMode:(const NSInteger)inputMode;
|
- (void) setMicrophoneState:(BOOL)theState inputMode:(const NSInteger)inputMode;
|
||||||
- (void) setSineWaveGeneratorFrequency:(const double)freq;
|
- (void) setSineWaveGeneratorFrequency:(const double)freq;
|
||||||
|
- (void) clearAutohold;
|
||||||
- (void) flush;
|
- (void) flush;
|
||||||
- (void) flushEmpty;
|
- (void) flushEmpty;
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
@implementation CocoaDSController
|
@implementation CocoaDSController
|
||||||
|
|
||||||
|
@dynamic autohold;
|
||||||
@synthesize micMode;
|
@synthesize micMode;
|
||||||
@synthesize selectedAudioFileGenerator;
|
@synthesize selectedAudioFileGenerator;
|
||||||
@synthesize paddleAdjust;
|
@synthesize paddleAdjust;
|
||||||
|
@ -40,10 +41,16 @@
|
||||||
|
|
||||||
for (size_t i = 0; i < DSControllerState_StatesCount; i++)
|
for (size_t i = 0; i < DSControllerState_StatesCount; i++)
|
||||||
{
|
{
|
||||||
controllerState[i] = false;
|
ndsInput[i].state = false;
|
||||||
|
ndsInput[i].turbo = false;
|
||||||
|
ndsInput[i].turboPattern = false;
|
||||||
|
ndsInput[i].autohold = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
spinlockControllerState = OS_SPINLOCK_INIT;
|
spinlockControllerState = OS_SPINLOCK_INIT;
|
||||||
|
autohold = NO;
|
||||||
|
isAutoholdCleared = YES;
|
||||||
|
|
||||||
micMode = MICMODE_NONE;
|
micMode = MICMODE_NONE;
|
||||||
selectedAudioFileGenerator = NULL;
|
selectedAudioFileGenerator = NULL;
|
||||||
touchLocation = NSMakePoint(0.0f, 0.0f);
|
touchLocation = NSMakePoint(0.0f, 0.0f);
|
||||||
|
@ -57,7 +64,43 @@
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID
|
- (void) setAutohold:(BOOL)theState
|
||||||
|
{
|
||||||
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
|
|
||||||
|
autohold = theState;
|
||||||
|
|
||||||
|
if (autohold && isAutoholdCleared)
|
||||||
|
{
|
||||||
|
memset(ndsInput, 0, sizeof(ndsInput));
|
||||||
|
isAutoholdCleared = NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!autohold)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < DSControllerState_StatesCount; i++)
|
||||||
|
{
|
||||||
|
ndsInput[i].state = ndsInput[i].autohold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL) autohold
|
||||||
|
{
|
||||||
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
|
const BOOL theState = autohold;
|
||||||
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
|
return theState;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID
|
||||||
|
{
|
||||||
|
[self setControllerState:theState controlID:controlID turbo:NO];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setControllerState:(BOOL)theState controlID:(const NSUInteger)controlID turbo:(const BOOL)isTurboEnabled
|
||||||
{
|
{
|
||||||
if (controlID >= DSControllerState_StatesCount)
|
if (controlID >= DSControllerState_StatesCount)
|
||||||
{
|
{
|
||||||
|
@ -65,14 +108,30 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
OSSpinLockLock(&spinlockControllerState);
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
controllerState[controlID] = (theState) ? true : false;
|
|
||||||
|
if (autohold)
|
||||||
|
{
|
||||||
|
if (theState)
|
||||||
|
{
|
||||||
|
ndsInput[controlID].turbo = (isTurboEnabled) ? true : false;
|
||||||
|
ndsInput[controlID].turboPattern = (ndsInput[controlID].turbo) ? 0x5555 : 0;
|
||||||
|
ndsInput[controlID].autohold = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ndsInput[controlID].state = (theState || ndsInput[controlID].autohold);
|
||||||
|
ndsInput[controlID].turbo = (isTurboEnabled && ndsInput[controlID].state);
|
||||||
|
ndsInput[controlID].turboPattern = (ndsInput[controlID].turbo) ? 0x5555 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
OSSpinLockUnlock(&spinlockControllerState);
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setTouchState:(BOOL)theState location:(const NSPoint)theLocation
|
- (void) setTouchState:(BOOL)theState location:(const NSPoint)theLocation
|
||||||
{
|
{
|
||||||
OSSpinLockLock(&spinlockControllerState);
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
controllerState[DSControllerState_Touch] = (theState) ? true : false;
|
ndsInput[DSControllerState_Touch].state = (theState) ? true : false;
|
||||||
touchLocation = theLocation;
|
touchLocation = theLocation;
|
||||||
OSSpinLockUnlock(&spinlockControllerState);
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
}
|
}
|
||||||
|
@ -80,7 +139,7 @@
|
||||||
- (void) setMicrophoneState:(BOOL)theState inputMode:(const NSInteger)inputMode
|
- (void) setMicrophoneState:(BOOL)theState inputMode:(const NSInteger)inputMode
|
||||||
{
|
{
|
||||||
OSSpinLockLock(&spinlockControllerState);
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
controllerState[DSControllerState_Microphone] = (theState) ? true : false;
|
ndsInput[DSControllerState_Microphone].state = (theState) ? true : false;
|
||||||
micMode = inputMode;
|
micMode = inputMode;
|
||||||
OSSpinLockUnlock(&spinlockControllerState);
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
}
|
}
|
||||||
|
@ -90,6 +149,20 @@
|
||||||
sineWaveGenerator.setFrequency(freq);
|
sineWaveGenerator.setFrequency(freq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) clearAutohold
|
||||||
|
{
|
||||||
|
[self setAutohold:NO];
|
||||||
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
|
|
||||||
|
if (!isAutoholdCleared)
|
||||||
|
{
|
||||||
|
memset(ndsInput, 0, sizeof(ndsInput));
|
||||||
|
isAutoholdCleared = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
|
}
|
||||||
|
|
||||||
- (void) flush
|
- (void) flush
|
||||||
{
|
{
|
||||||
OSSpinLockLock(&spinlockControllerState);
|
OSSpinLockLock(&spinlockControllerState);
|
||||||
|
@ -98,9 +171,24 @@
|
||||||
const NSInteger theMicMode = micMode;
|
const NSInteger theMicMode = micMode;
|
||||||
static bool flushedStates[DSControllerState_StatesCount] = {0};
|
static bool flushedStates[DSControllerState_StatesCount] = {0};
|
||||||
|
|
||||||
for (size_t i = 0; i < DSControllerState_StatesCount; i++)
|
if (!autohold)
|
||||||
{
|
{
|
||||||
flushedStates[i] = controllerState[i];
|
for (size_t i = 0; i < DSControllerState_StatesCount; i++)
|
||||||
|
{
|
||||||
|
flushedStates[i] = (ndsInput[i].state || ndsInput[i].autohold);
|
||||||
|
|
||||||
|
if (ndsInput[i].turbo)
|
||||||
|
{
|
||||||
|
const bool turboState = ndsInput[i].turboPattern & 0x0001;
|
||||||
|
flushedStates[i] = (flushedStates[i] && turboState);
|
||||||
|
ndsInput[i].turboPattern >>= 1;
|
||||||
|
ndsInput[i].turboPattern |= (turboState) ? 0x8000 : 0x0000;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flushedStates[i] = ndsInput[i].state;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OSSpinLockUnlock(&spinlockControllerState);
|
OSSpinLockUnlock(&spinlockControllerState);
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -184,6 +184,7 @@ class AudioSampleBlockGenerator;
|
||||||
- (IBAction) toggleAllDisplays:(id)sender;
|
- (IBAction) toggleAllDisplays:(id)sender;
|
||||||
|
|
||||||
// Tools Menu
|
// Tools Menu
|
||||||
|
- (IBAction) autoholdSet:(id)sender;
|
||||||
- (IBAction) toggleGPUState:(id)sender;
|
- (IBAction) toggleGPUState:(id)sender;
|
||||||
|
|
||||||
- (IBAction) changeCoreSpeed:(id)sender;
|
- (IBAction) changeCoreSpeed:(id)sender;
|
||||||
|
@ -208,6 +209,10 @@ class AudioSampleBlockGenerator;
|
||||||
- (IBAction) closeSheet:(id)sender;
|
- (IBAction) closeSheet:(id)sender;
|
||||||
|
|
||||||
- (void) cmdUpdateDSController:(NSValue *)cmdAttrValue;
|
- (void) cmdUpdateDSController:(NSValue *)cmdAttrValue;
|
||||||
|
- (void) cmdUpdateDSControllerWithTurbo:(NSValue *)cmdAttrValue;
|
||||||
|
- (void) cmdUpdateDSTouch:(NSValue *)cmdAttrValue;
|
||||||
|
- (void) cmdUpdateDSMicrophone:(NSValue *)cmdAttrValue;
|
||||||
|
- (void) cmdUpdateDSPaddle:(NSValue *)cmdAttrValue;
|
||||||
|
|
||||||
- (void) cmdLoadEmuSaveStateSlot:(NSValue *)cmdAttrValue;
|
- (void) cmdLoadEmuSaveStateSlot:(NSValue *)cmdAttrValue;
|
||||||
- (void) cmdSaveEmuSaveStateSlot:(NSValue *)cmdAttrValue;
|
- (void) cmdSaveEmuSaveStateSlot:(NSValue *)cmdAttrValue;
|
||||||
|
|
|
@ -881,6 +881,16 @@
|
||||||
[inputManager dispatchCommandUsingIBAction:_cmd sender:sender];
|
[inputManager dispatchCommandUsingIBAction:_cmd sender:sender];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (IBAction) autoholdSet:(id)sender
|
||||||
|
{
|
||||||
|
[inputManager dispatchCommandUsingIBAction:_cmd sender:sender];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction) autoholdClear:(id)sender
|
||||||
|
{
|
||||||
|
[inputManager dispatchCommandUsingIBAction:_cmd sender:sender];
|
||||||
|
}
|
||||||
|
|
||||||
- (IBAction) chooseSlot1R4Directory:(id)sender
|
- (IBAction) chooseSlot1R4Directory:(id)sender
|
||||||
{
|
{
|
||||||
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
NSOpenPanel *panel = [NSOpenPanel openPanel];
|
||||||
|
@ -993,66 +1003,117 @@
|
||||||
{
|
{
|
||||||
CommandAttributes cmdAttr;
|
CommandAttributes cmdAttr;
|
||||||
[cmdAttrValue getValue:&cmdAttr];
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
|
const NSUInteger controlID = cmdAttr.intValue[0];
|
||||||
|
|
||||||
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
[[cdsCore cdsController] setControllerState:theState controlID:controlID];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) cmdUpdateDSControllerWithTurbo:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
const NSUInteger controlID = cmdAttr.intValue[0];
|
const NSUInteger controlID = cmdAttr.intValue[0];
|
||||||
|
const BOOL isTurboEnabled = (BOOL)cmdAttr.intValue[1];
|
||||||
|
|
||||||
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
[[cdsCore cdsController] setControllerState:theState controlID:controlID turbo:isTurboEnabled];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) cmdUpdateDSTouch:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
|
|
||||||
if (controlID == DSControllerState_Touch)
|
const NSPoint touchLoc = (cmdAttr.useInputForIntCoord) ? NSMakePoint(cmdAttr.input.intCoordX, cmdAttr.input.intCoordY) : NSMakePoint(cmdAttr.intValue[1], cmdAttr.intValue[2]);
|
||||||
|
if (touchLoc.x >= 0.0 && touchLoc.y >= 0.0)
|
||||||
{
|
{
|
||||||
const NSPoint touchLoc = (cmdAttr.useInputForIntCoord) ? NSMakePoint(cmdAttr.input.intCoordX, cmdAttr.input.intCoordY) : NSMakePoint(cmdAttr.intValue[1], cmdAttr.intValue[2]);
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
if (touchLoc.x >= 0.0 && touchLoc.y >= 0.0)
|
[[cdsCore cdsController] setTouchState:theState location:touchLoc];
|
||||||
{
|
|
||||||
[[cdsCore cdsController] setTouchState:theState location:touchLoc];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (controlID == DSControllerState_Microphone)
|
}
|
||||||
|
|
||||||
|
- (void) cmdUpdateDSMicrophone:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
|
|
||||||
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
|
||||||
|
const NSInteger micMode = cmdAttr.intValue[1];
|
||||||
|
[[cdsCore cdsController] setMicrophoneState:theState inputMode:micMode];
|
||||||
|
|
||||||
|
const float sineWaveFrequency = cmdAttr.floatValue[0];
|
||||||
|
[[cdsCore cdsController] setSineWaveGeneratorFrequency:sineWaveFrequency];
|
||||||
|
|
||||||
|
NSString *audioFilePath = cmdAttr.object[0];
|
||||||
|
[[cdsCore cdsController] setSelectedAudioFileGenerator:[inputManager audioFileGeneratorFromFilePath:audioFilePath]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) cmdUpdateDSPaddle:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
|
||||||
|
if (cmdAttr.input.isAnalog)
|
||||||
{
|
{
|
||||||
const NSInteger micMode = cmdAttr.intValue[1];
|
const NSInteger paddleSensitivity = cmdAttr.floatValue[0];
|
||||||
[[cdsCore cdsController] setMicrophoneState:theState inputMode:micMode];
|
const float paddleScalar = cmdAttr.input.scalar;
|
||||||
|
float paddleAdjust = (paddleScalar * 2.0f) - 1.0f;
|
||||||
|
|
||||||
const float sineWaveFrequency = cmdAttr.floatValue[0];
|
// Clamp the paddle value.
|
||||||
[[cdsCore cdsController] setSineWaveGeneratorFrequency:sineWaveFrequency];
|
if (paddleAdjust < -1.0f)
|
||||||
|
{
|
||||||
|
paddleAdjust = -1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
NSString *audioFilePath = cmdAttr.object[0];
|
if (paddleAdjust > 1.0f)
|
||||||
[[cdsCore cdsController] setSelectedAudioFileGenerator:[inputManager audioFileGeneratorFromFilePath:audioFilePath]];
|
|
||||||
}
|
|
||||||
else if (controlID == DSControllerState_Paddle)
|
|
||||||
{
|
|
||||||
if (cmdAttr.input.isAnalog)
|
|
||||||
{
|
{
|
||||||
const NSInteger paddleSensitivity = cmdAttr.floatValue[0];
|
paddleAdjust = 1.0f;
|
||||||
const float paddleScalar = cmdAttr.input.scalar;
|
|
||||||
|
|
||||||
float paddleAdjust = (paddleScalar * 2.0f) - 1.0f;
|
|
||||||
|
|
||||||
// Clamp the paddle value.
|
|
||||||
if (paddleAdjust < -1.0f)
|
|
||||||
{
|
|
||||||
paddleAdjust = -1.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (paddleAdjust > 1.0f)
|
|
||||||
{
|
|
||||||
paddleAdjust = 1.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Normalize the input value for the paddle.
|
|
||||||
paddleAdjust *= (float)paddleSensitivity;
|
|
||||||
[[cdsCore cdsController] setPaddleAdjust:paddleAdjust];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const NSInteger paddleAdjust = (theState) ? cmdAttr.intValue[1] : 0;
|
|
||||||
[[cdsCore cdsController] setPaddleAdjust:paddleAdjust];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Normalize the input value for the paddle.
|
||||||
|
paddleAdjust *= (float)paddleSensitivity;
|
||||||
|
[[cdsCore cdsController] setPaddleAdjust:paddleAdjust];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[[cdsCore cdsController] setControllerState:theState controlID:controlID];
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
|
const NSInteger paddleAdjust = (theState) ? cmdAttr.intValue[1] : 0;
|
||||||
|
[[cdsCore cdsController] setPaddleAdjust:paddleAdjust];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) cmdAutoholdSet:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
const BOOL theState = (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_ON) ? YES : NO;
|
||||||
|
|
||||||
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
[[cdsCore cdsController] setAutohold:theState];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) cmdAutoholdClear:(NSValue *)cmdAttrValue
|
||||||
|
{
|
||||||
|
CommandAttributes cmdAttr;
|
||||||
|
[cmdAttrValue getValue:&cmdAttr];
|
||||||
|
|
||||||
|
if (cmdAttr.input.state == INPUT_ATTRIBUTE_STATE_OFF)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content];
|
||||||
|
[[cdsCore cdsController] clearAutohold];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
- (void) cmdLoadEmuSaveStateSlot:(NSValue *)cmdAttrValue
|
- (void) cmdLoadEmuSaveStateSlot:(NSValue *)cmdAttrValue
|
||||||
{
|
{
|
||||||
CommandAttributes cmdAttr;
|
CommandAttributes cmdAttr;
|
||||||
|
|
|
@ -231,7 +231,7 @@ void HandleDeviceRemovalCallback(void *inContext, IOReturn inResult, void *inSen
|
||||||
|
|
||||||
CommandAttributes NewDefaultCommandAttributes(const char *commandTag);
|
CommandAttributes NewDefaultCommandAttributes(const char *commandTag);
|
||||||
CommandAttributes NewCommandAttributesForSelector(const char *commandTag, const SEL theSelector);
|
CommandAttributes NewCommandAttributesForSelector(const char *commandTag, const SEL theSelector);
|
||||||
CommandAttributes NewCommandAttributesForDSControl(const char *commandTag, const NSUInteger controlID);
|
CommandAttributes NewCommandAttributesForDSControl(const char *commandTag, const NSUInteger controlID, const bool supportTurbo);
|
||||||
void UpdateCommandAttributesWithDeviceInfoDictionary(CommandAttributes *cmdAttr, NSDictionary *deviceInfo);
|
void UpdateCommandAttributesWithDeviceInfoDictionary(CommandAttributes *cmdAttr, NSDictionary *deviceInfo);
|
||||||
|
|
||||||
NSMutableDictionary* DeviceInfoDictionaryWithCommandAttributes(const CommandAttributes *cmdAttr,
|
NSMutableDictionary* DeviceInfoDictionaryWithCommandAttributes(const CommandAttributes *cmdAttr,
|
||||||
|
|
|
@ -1044,6 +1044,8 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Piano_256x256" ofType:@"png"]] autorelease], @"Piano: B",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Piano_256x256" ofType:@"png"]] autorelease], @"Piano: B",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Piano_256x256" ofType:@"png"]] autorelease], @"Piano: High C",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Piano_256x256" ofType:@"png"]] autorelease], @"Piano: High C",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_PaddleKnob_256x256" ofType:@"png"]] autorelease], @"Paddle",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_PaddleKnob_256x256" ofType:@"png"]] autorelease], @"Paddle",
|
||||||
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_AutoholdSet_420x420" ofType:@"png"]] autorelease], @"Autohold - Set",
|
||||||
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_AutoholdClear_420x420" ofType:@"png"]] autorelease], @"Autohold - Clear",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_DisplayToggle_420x420" ofType:@"png"]] autorelease], @"Toggle All Displays",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_DisplayToggle_420x420" ofType:@"png"]] autorelease], @"Toggle All Displays",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_RotateCCW_420x420" ofType:@"png"]] autorelease], @"Rotate Display Left",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_RotateCCW_420x420" ofType:@"png"]] autorelease], @"Rotate Display Left",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_RotateCW_420x420" ofType:@"png"]] autorelease], @"Rotate Display Right",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_RotateCW_420x420" ofType:@"png"]] autorelease], @"Rotate Display Right",
|
||||||
|
@ -1051,26 +1053,28 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Execute_420x420" ofType:@"png"]] autorelease], @"Execute",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Execute_420x420" ofType:@"png"]] autorelease], @"Execute",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Pause_420x420" ofType:@"png"]] autorelease], @"Pause",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Pause_420x420" ofType:@"png"]] autorelease], @"Pause",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Execute_420x420" ofType:@"png"]] autorelease], @"Execute/Pause",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Execute_420x420" ofType:@"png"]] autorelease], @"Execute/Pause",
|
||||||
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_FrameAdvance_420x420" ofType:@"png"]] autorelease], @"Frame Advance",
|
||||||
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_FrameJump_420x420" ofType:@"png"]] autorelease], @"Frame Jump",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Reset_420x420" ofType:@"png"]] autorelease], @"Reset",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_Reset_420x420" ofType:@"png"]] autorelease], @"Reset",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_DSButtonSelect_420x420" ofType:@"png"]] autorelease], @"Touch",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_DSButtonSelect_420x420" ofType:@"png"]] autorelease], @"Touch",
|
||||||
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_VolumeMute_16x16" ofType:@"png"]] autorelease], @"Mute/Unmute",
|
[[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Icon_VolumeMute_16x16" ofType:@"png"]] autorelease], @"Mute/Unmute",
|
||||||
nil];
|
nil];
|
||||||
|
|
||||||
// Initialize the selectors used for each command tag. (Do this in code rather than in an external file.)
|
// Initialize the selectors used for each command tag. (Do this in code rather than in an external file.)
|
||||||
commandSelector["Up"] = @selector(cmdUpdateDSController:);
|
commandSelector["Up"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Down"] = @selector(cmdUpdateDSController:);
|
commandSelector["Down"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Right"] = @selector(cmdUpdateDSController:);
|
commandSelector["Right"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Left"] = @selector(cmdUpdateDSController:);
|
commandSelector["Left"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["A"] = @selector(cmdUpdateDSController:);
|
commandSelector["A"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["B"] = @selector(cmdUpdateDSController:);
|
commandSelector["B"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["X"] = @selector(cmdUpdateDSController:);
|
commandSelector["X"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Y"] = @selector(cmdUpdateDSController:);
|
commandSelector["Y"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["L"] = @selector(cmdUpdateDSController:);
|
commandSelector["L"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["R"] = @selector(cmdUpdateDSController:);
|
commandSelector["R"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Start"] = @selector(cmdUpdateDSController:);
|
commandSelector["Start"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Select"] = @selector(cmdUpdateDSController:);
|
commandSelector["Select"] = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
commandSelector["Touch"] = @selector(cmdUpdateDSController:);
|
commandSelector["Touch"] = @selector(cmdUpdateDSTouch:);
|
||||||
commandSelector["Microphone"] = @selector(cmdUpdateDSController:);
|
commandSelector["Microphone"] = @selector(cmdUpdateDSMicrophone:);
|
||||||
commandSelector["Debug"] = @selector(cmdUpdateDSController:);
|
commandSelector["Debug"] = @selector(cmdUpdateDSController:);
|
||||||
commandSelector["Lid"] = @selector(cmdUpdateDSController:);
|
commandSelector["Lid"] = @selector(cmdUpdateDSController:);
|
||||||
|
|
||||||
|
@ -1091,8 +1095,10 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
commandSelector["Piano: A#"] = @selector(cmdUpdateDSController:);
|
commandSelector["Piano: A#"] = @selector(cmdUpdateDSController:);
|
||||||
commandSelector["Piano: B"] = @selector(cmdUpdateDSController:);
|
commandSelector["Piano: B"] = @selector(cmdUpdateDSController:);
|
||||||
commandSelector["Piano: High C"] = @selector(cmdUpdateDSController:);
|
commandSelector["Piano: High C"] = @selector(cmdUpdateDSController:);
|
||||||
commandSelector["Paddle"] = @selector(cmdUpdateDSController:);
|
commandSelector["Paddle"] = @selector(cmdUpdateDSPaddle:);
|
||||||
|
|
||||||
|
commandSelector["Autohold - Set"] = @selector(cmdAutoholdSet:);
|
||||||
|
commandSelector["Autohold - Clear"] = @selector(cmdAutoholdClear:);
|
||||||
commandSelector["Load State Slot"] = @selector(cmdLoadEmuSaveStateSlot:);
|
commandSelector["Load State Slot"] = @selector(cmdLoadEmuSaveStateSlot:);
|
||||||
commandSelector["Save State Slot"] = @selector(cmdSaveEmuSaveStateSlot:);
|
commandSelector["Save State Slot"] = @selector(cmdSaveEmuSaveStateSlot:);
|
||||||
commandSelector["Copy Screen"] = @selector(cmdCopyScreen:);
|
commandSelector["Copy Screen"] = @selector(cmdCopyScreen:);
|
||||||
|
@ -1112,51 +1118,53 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
commandSelector["Enable/Disable GPU State"] = @selector(cmdToggleGPUState:);
|
commandSelector["Enable/Disable GPU State"] = @selector(cmdToggleGPUState:);
|
||||||
|
|
||||||
// Generate the default command attributes for each command tag. (Do this in code rather than in an external file.)
|
// Generate the default command attributes for each command tag. (Do this in code rather than in an external file.)
|
||||||
CommandAttributes cmdDSControlRight = NewCommandAttributesForDSControl("Right", DSControllerState_Right);
|
CommandAttributes cmdDSControlRight = NewCommandAttributesForDSControl("Right", DSControllerState_Right, true);
|
||||||
CommandAttributes cmdDSControlLeft = NewCommandAttributesForDSControl("Left", DSControllerState_Left);
|
CommandAttributes cmdDSControlLeft = NewCommandAttributesForDSControl("Left", DSControllerState_Left, true);
|
||||||
CommandAttributes cmdDSControlDown = NewCommandAttributesForDSControl("Down", DSControllerState_Down);
|
CommandAttributes cmdDSControlDown = NewCommandAttributesForDSControl("Down", DSControllerState_Down, true);
|
||||||
CommandAttributes cmdDSControlUp = NewCommandAttributesForDSControl("Up", DSControllerState_Up);
|
CommandAttributes cmdDSControlUp = NewCommandAttributesForDSControl("Up", DSControllerState_Up, true);
|
||||||
CommandAttributes cmdDSControlSelect = NewCommandAttributesForDSControl("Select", DSControllerState_Select);
|
CommandAttributes cmdDSControlSelect = NewCommandAttributesForDSControl("Select", DSControllerState_Select, true);
|
||||||
CommandAttributes cmdDSControlStart = NewCommandAttributesForDSControl("Start", DSControllerState_Start);
|
CommandAttributes cmdDSControlStart = NewCommandAttributesForDSControl("Start", DSControllerState_Start, true);
|
||||||
CommandAttributes cmdDSControlB = NewCommandAttributesForDSControl("B", DSControllerState_B);
|
CommandAttributes cmdDSControlB = NewCommandAttributesForDSControl("B", DSControllerState_B, true);
|
||||||
CommandAttributes cmdDSControlA = NewCommandAttributesForDSControl("A", DSControllerState_A);
|
CommandAttributes cmdDSControlA = NewCommandAttributesForDSControl("A", DSControllerState_A, true);
|
||||||
CommandAttributes cmdDSControlY = NewCommandAttributesForDSControl("Y", DSControllerState_Y);
|
CommandAttributes cmdDSControlY = NewCommandAttributesForDSControl("Y", DSControllerState_Y, true);
|
||||||
CommandAttributes cmdDSControlX = NewCommandAttributesForDSControl("X", DSControllerState_X);
|
CommandAttributes cmdDSControlX = NewCommandAttributesForDSControl("X", DSControllerState_X, true);
|
||||||
CommandAttributes cmdDSControlL = NewCommandAttributesForDSControl("L", DSControllerState_L);
|
CommandAttributes cmdDSControlL = NewCommandAttributesForDSControl("L", DSControllerState_L, true);
|
||||||
CommandAttributes cmdDSControlR = NewCommandAttributesForDSControl("R", DSControllerState_R);
|
CommandAttributes cmdDSControlR = NewCommandAttributesForDSControl("R", DSControllerState_R, true);
|
||||||
CommandAttributes cmdDSControlDebug = NewCommandAttributesForDSControl("Debug", DSControllerState_Debug);
|
CommandAttributes cmdDSControlDebug = NewCommandAttributesForDSControl("Debug", DSControllerState_Debug, false);
|
||||||
CommandAttributes cmdDSControlLid = NewCommandAttributesForDSControl("Lid", DSControllerState_Lid);
|
CommandAttributes cmdDSControlLid = NewCommandAttributesForDSControl("Lid", DSControllerState_Lid, false);
|
||||||
|
|
||||||
CommandAttributes cmdDSControlTouch = NewCommandAttributesForDSControl("Touch", DSControllerState_Touch);
|
CommandAttributes cmdDSControlTouch = NewCommandAttributesForDSControl("Touch", DSControllerState_Touch, false);
|
||||||
cmdDSControlTouch.useInputForIntCoord = true;
|
cmdDSControlTouch.useInputForIntCoord = true;
|
||||||
|
|
||||||
CommandAttributes cmdDSControlMic = NewCommandAttributesForDSControl("Microphone", DSControllerState_Microphone);
|
CommandAttributes cmdDSControlMic = NewCommandAttributesForDSControl("Microphone", DSControllerState_Microphone, false);
|
||||||
cmdDSControlMic.intValue[1] = MICMODE_INTERNAL_NOISE;
|
cmdDSControlMic.intValue[1] = MICMODE_INTERNAL_NOISE;
|
||||||
cmdDSControlMic.floatValue[0] = 250.0f;
|
cmdDSControlMic.floatValue[0] = 250.0f;
|
||||||
|
|
||||||
CommandAttributes cmdGuitarGripGreen = NewCommandAttributesForDSControl("Guitar Grip: Green", DSControllerState_GuitarGrip_Green);
|
CommandAttributes cmdGuitarGripGreen = NewCommandAttributesForDSControl("Guitar Grip: Green", DSControllerState_GuitarGrip_Green, false);
|
||||||
CommandAttributes cmdGuitarGripRed = NewCommandAttributesForDSControl("Guitar Grip: Red", DSControllerState_GuitarGrip_Red);
|
CommandAttributes cmdGuitarGripRed = NewCommandAttributesForDSControl("Guitar Grip: Red", DSControllerState_GuitarGrip_Red, false);
|
||||||
CommandAttributes cmdGuitarGripYellow = NewCommandAttributesForDSControl("Guitar Grip: Yellow", DSControllerState_GuitarGrip_Yellow);
|
CommandAttributes cmdGuitarGripYellow = NewCommandAttributesForDSControl("Guitar Grip: Yellow", DSControllerState_GuitarGrip_Yellow, false);
|
||||||
CommandAttributes cmdGuitarGripBlue = NewCommandAttributesForDSControl("Guitar Grip: Blue", DSControllerState_GuitarGrip_Blue);
|
CommandAttributes cmdGuitarGripBlue = NewCommandAttributesForDSControl("Guitar Grip: Blue", DSControllerState_GuitarGrip_Blue, false);
|
||||||
CommandAttributes cmdPianoC = NewCommandAttributesForDSControl("Piano: C", DSControllerState_Piano_C);
|
CommandAttributes cmdPianoC = NewCommandAttributesForDSControl("Piano: C", DSControllerState_Piano_C, false);
|
||||||
CommandAttributes cmdPianoCSharp = NewCommandAttributesForDSControl("Piano: C#", DSControllerState_Piano_CSharp);
|
CommandAttributes cmdPianoCSharp = NewCommandAttributesForDSControl("Piano: C#", DSControllerState_Piano_CSharp, false);
|
||||||
CommandAttributes cmdPianoD = NewCommandAttributesForDSControl("Piano: D", DSControllerState_Piano_D);
|
CommandAttributes cmdPianoD = NewCommandAttributesForDSControl("Piano: D", DSControllerState_Piano_D, false);
|
||||||
CommandAttributes cmdPianoDSharp = NewCommandAttributesForDSControl("Piano: D#", DSControllerState_Piano_DSharp);
|
CommandAttributes cmdPianoDSharp = NewCommandAttributesForDSControl("Piano: D#", DSControllerState_Piano_DSharp, false);
|
||||||
CommandAttributes cmdPianoE = NewCommandAttributesForDSControl("Piano: E", DSControllerState_Piano_E);
|
CommandAttributes cmdPianoE = NewCommandAttributesForDSControl("Piano: E", DSControllerState_Piano_E, false);
|
||||||
CommandAttributes cmdPianoF = NewCommandAttributesForDSControl("Piano: F", DSControllerState_Piano_F);
|
CommandAttributes cmdPianoF = NewCommandAttributesForDSControl("Piano: F", DSControllerState_Piano_F, false);
|
||||||
CommandAttributes cmdPianoFSharp = NewCommandAttributesForDSControl("Piano: F#", DSControllerState_Piano_FSharp);
|
CommandAttributes cmdPianoFSharp = NewCommandAttributesForDSControl("Piano: F#", DSControllerState_Piano_FSharp, false);
|
||||||
CommandAttributes cmdPianoG = NewCommandAttributesForDSControl("Piano: G", DSControllerState_Piano_G);
|
CommandAttributes cmdPianoG = NewCommandAttributesForDSControl("Piano: G", DSControllerState_Piano_G, false);
|
||||||
CommandAttributes cmdPianoGSharp = NewCommandAttributesForDSControl("Piano: G#", DSControllerState_Piano_GSharp);
|
CommandAttributes cmdPianoGSharp = NewCommandAttributesForDSControl("Piano: G#", DSControllerState_Piano_GSharp, false);
|
||||||
CommandAttributes cmdPianoA = NewCommandAttributesForDSControl("Piano: A", DSControllerState_Piano_A);
|
CommandAttributes cmdPianoA = NewCommandAttributesForDSControl("Piano: A", DSControllerState_Piano_A, false);
|
||||||
CommandAttributes cmdPianoASharp = NewCommandAttributesForDSControl("Piano: A#", DSControllerState_Piano_ASharp);
|
CommandAttributes cmdPianoASharp = NewCommandAttributesForDSControl("Piano: A#", DSControllerState_Piano_ASharp, false);
|
||||||
CommandAttributes cmdPianoB = NewCommandAttributesForDSControl("Piano: B", DSControllerState_Piano_B);
|
CommandAttributes cmdPianoB = NewCommandAttributesForDSControl("Piano: B", DSControllerState_Piano_B, false);
|
||||||
CommandAttributes cmdPianoHighC = NewCommandAttributesForDSControl("Piano: High C", DSControllerState_Piano_HighC);
|
CommandAttributes cmdPianoHighC = NewCommandAttributesForDSControl("Piano: High C", DSControllerState_Piano_HighC, false);
|
||||||
|
|
||||||
CommandAttributes cmdPaddle = NewCommandAttributesForDSControl("Paddle", DSControllerState_Paddle);
|
CommandAttributes cmdPaddle = NewCommandAttributesForDSControl("Paddle", DSControllerState_Paddle, false);
|
||||||
cmdPaddle.allowAnalogInput = true;
|
cmdPaddle.allowAnalogInput = true;
|
||||||
cmdPaddle.intValue[1] = 0;
|
cmdPaddle.intValue[1] = 0;
|
||||||
cmdPaddle.floatValue[0] = 10.0f;
|
cmdPaddle.floatValue[0] = 10.0f;
|
||||||
|
|
||||||
|
CommandAttributes cmdAutoholdSet = NewCommandAttributesForSelector("Autohold - Set", commandSelector["Autohold - Set"]);
|
||||||
|
CommandAttributes cmdAutoholdClear = NewCommandAttributesForSelector("Autohold - Clear", commandSelector["Autohold - Clear"]);
|
||||||
CommandAttributes cmdLoadEmuSaveStateSlot = NewCommandAttributesForSelector("Load State Slot", commandSelector["Load State Slot"]);
|
CommandAttributes cmdLoadEmuSaveStateSlot = NewCommandAttributesForSelector("Load State Slot", commandSelector["Load State Slot"]);
|
||||||
CommandAttributes cmdSaveEmuSaveStateSlot = NewCommandAttributesForSelector("Save State Slot", commandSelector["Save State Slot"]);
|
CommandAttributes cmdSaveEmuSaveStateSlot = NewCommandAttributesForSelector("Save State Slot", commandSelector["Save State Slot"]);
|
||||||
CommandAttributes cmdCopyScreen = NewCommandAttributesForSelector("Copy Screen", commandSelector["Copy Screen"]);
|
CommandAttributes cmdCopyScreen = NewCommandAttributesForSelector("Copy Screen", commandSelector["Copy Screen"]);
|
||||||
|
@ -1223,6 +1231,8 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
defaultCommandAttributes["Piano: High C"] = cmdPianoHighC;
|
defaultCommandAttributes["Piano: High C"] = cmdPianoHighC;
|
||||||
defaultCommandAttributes["Paddle"] = cmdPaddle;
|
defaultCommandAttributes["Paddle"] = cmdPaddle;
|
||||||
|
|
||||||
|
defaultCommandAttributes["Autohold - Set"] = cmdAutoholdSet;
|
||||||
|
defaultCommandAttributes["Autohold - Clear"] = cmdAutoholdClear;
|
||||||
defaultCommandAttributes["Load State Slot"] = cmdLoadEmuSaveStateSlot;
|
defaultCommandAttributes["Load State Slot"] = cmdLoadEmuSaveStateSlot;
|
||||||
defaultCommandAttributes["Save State Slot"] = cmdSaveEmuSaveStateSlot;
|
defaultCommandAttributes["Save State Slot"] = cmdSaveEmuSaveStateSlot;
|
||||||
defaultCommandAttributes["Copy Screen"] = cmdCopyScreen;
|
defaultCommandAttributes["Copy Screen"] = cmdCopyScreen;
|
||||||
|
@ -1243,6 +1253,8 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
defaultCommandAttributes["Enable/Disable GPU State"] = cmdToggleGPUState;
|
defaultCommandAttributes["Enable/Disable GPU State"] = cmdToggleGPUState;
|
||||||
|
|
||||||
// Map all IBActions (the target object is an EmuControllerDelegate)
|
// Map all IBActions (the target object is an EmuControllerDelegate)
|
||||||
|
[self addMappingForIBAction:@selector(autoholdSet:) commandAttributes:&cmdAutoholdSet];
|
||||||
|
[self addMappingForIBAction:@selector(autoholdClear:) commandAttributes:&cmdAutoholdClear];
|
||||||
[self addMappingForIBAction:@selector(loadEmuSaveStateSlot:) commandAttributes:&cmdLoadEmuSaveStateSlot];
|
[self addMappingForIBAction:@selector(loadEmuSaveStateSlot:) commandAttributes:&cmdLoadEmuSaveStateSlot];
|
||||||
[self addMappingForIBAction:@selector(saveEmuSaveStateSlot:) commandAttributes:&cmdSaveEmuSaveStateSlot];
|
[self addMappingForIBAction:@selector(saveEmuSaveStateSlot:) commandAttributes:&cmdSaveEmuSaveStateSlot];
|
||||||
[self addMappingForIBAction:@selector(copy:) commandAttributes:&cmdCopyScreen];
|
[self addMappingForIBAction:@selector(copy:) commandAttributes:&cmdCopyScreen];
|
||||||
|
@ -1316,7 +1328,8 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
// Force DS control commands to use IDs from code instead of from the file.
|
// Force DS control commands to use IDs from code instead of from the file.
|
||||||
// (In other words, we can't trust an external file with this information since
|
// (In other words, we can't trust an external file with this information since
|
||||||
// IDs might desync if the DS Control ID enumeration changes.)
|
// IDs might desync if the DS Control ID enumeration changes.)
|
||||||
if (cmdAttr.selector == @selector(cmdUpdateDSController:))
|
if (cmdAttr.selector == @selector(cmdUpdateDSController:) ||
|
||||||
|
cmdAttr.selector == @selector(cmdUpdateDSControllerWithTurbo:))
|
||||||
{
|
{
|
||||||
cmdAttr.intValue[0] = defaultCommandAttributes[cmdTag].intValue[0];
|
cmdAttr.intValue[0] = defaultCommandAttributes[cmdTag].intValue[0];
|
||||||
}
|
}
|
||||||
|
@ -1623,7 +1636,23 @@ static std::tr1::unordered_map<unsigned short, std::string> keyboardNameTable; /
|
||||||
{
|
{
|
||||||
NSString *inputSummary = nil;
|
NSString *inputSummary = nil;
|
||||||
|
|
||||||
if (strncmp(commandTag, "Touch", INPUT_HANDLER_STRING_LENGTH) == 0)
|
if ((strncmp(commandTag, "Up", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Down", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Left", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Right", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "A", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "B", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "X", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Y", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "L", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "R", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Start", INPUT_HANDLER_STRING_LENGTH) == 0) ||
|
||||||
|
(strncmp(commandTag, "Select", INPUT_HANDLER_STRING_LENGTH) == 0))
|
||||||
|
{
|
||||||
|
const BOOL isTurbo = [(NSNumber *)[deviceInfo valueForKey:@"intValue1"] boolValue];
|
||||||
|
inputSummary = [NSString stringWithFormat:@"Turbo: %@", (isTurbo) ? @"Yes" : @"No"];
|
||||||
|
}
|
||||||
|
else if (strncmp(commandTag, "Touch", INPUT_HANDLER_STRING_LENGTH) == 0)
|
||||||
{
|
{
|
||||||
const BOOL useInputForIntCoord = [(NSNumber *)[deviceInfo valueForKey:@"useInputForIntCoord"] boolValue];
|
const BOOL useInputForIntCoord = [(NSNumber *)[deviceInfo valueForKey:@"useInputForIntCoord"] boolValue];
|
||||||
if (useInputForIntCoord)
|
if (useInputForIntCoord)
|
||||||
|
@ -1980,10 +2009,45 @@ CommandAttributes NewCommandAttributesForSelector(const char *commandTag, const
|
||||||
return cmdAttr;
|
return cmdAttr;
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandAttributes NewCommandAttributesForDSControl(const char *commandTag, const NSUInteger controlID)
|
CommandAttributes NewCommandAttributesForDSControl(const char *commandTag, const NSUInteger controlID, const bool supportTurbo)
|
||||||
{
|
{
|
||||||
CommandAttributes cmdAttr = NewCommandAttributesForSelector(commandTag, @selector(cmdUpdateDSController:));
|
CommandAttributes cmdAttr = NewCommandAttributesForSelector(commandTag, @selector(cmdUpdateDSController:));
|
||||||
|
|
||||||
|
switch (controlID)
|
||||||
|
{
|
||||||
|
case DSControllerState_Right:
|
||||||
|
case DSControllerState_Left:
|
||||||
|
case DSControllerState_Down:
|
||||||
|
case DSControllerState_Up:
|
||||||
|
case DSControllerState_Select:
|
||||||
|
case DSControllerState_Start:
|
||||||
|
case DSControllerState_B:
|
||||||
|
case DSControllerState_A:
|
||||||
|
case DSControllerState_Y:
|
||||||
|
case DSControllerState_X:
|
||||||
|
case DSControllerState_L:
|
||||||
|
case DSControllerState_R:
|
||||||
|
cmdAttr.selector = @selector(cmdUpdateDSControllerWithTurbo:);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DSControllerState_Touch:
|
||||||
|
cmdAttr.selector = @selector(cmdUpdateDSTouch:);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DSControllerState_Microphone:
|
||||||
|
cmdAttr.selector = @selector(cmdUpdateDSMicrophone:);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DSControllerState_Paddle:
|
||||||
|
cmdAttr.selector = @selector(cmdUpdateDSPaddle:);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
cmdAttr.intValue[0] = controlID;
|
cmdAttr.intValue[0] = controlID;
|
||||||
|
cmdAttr.intValue[1] = NO;
|
||||||
|
|
||||||
return cmdAttr;
|
return cmdAttr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
|
|
||||||
NSWindow *inputProfileSheet;
|
NSWindow *inputProfileSheet;
|
||||||
NSWindow *inputProfileRenameSheet;
|
NSWindow *inputProfileRenameSheet;
|
||||||
|
NSWindow *inputSettingsNDSInput;
|
||||||
NSWindow *inputSettingsMicrophone;
|
NSWindow *inputSettingsMicrophone;
|
||||||
NSWindow *inputSettingsTouch;
|
NSWindow *inputSettingsTouch;
|
||||||
NSWindow *inputSettingsLoadStateSlot;
|
NSWindow *inputSettingsLoadStateSlot;
|
||||||
|
@ -70,6 +71,7 @@
|
||||||
|
|
||||||
@property (readonly) IBOutlet NSWindow *inputProfileSheet;
|
@property (readonly) IBOutlet NSWindow *inputProfileSheet;
|
||||||
@property (readonly) IBOutlet NSWindow *inputProfileRenameSheet;
|
@property (readonly) IBOutlet NSWindow *inputProfileRenameSheet;
|
||||||
|
@property (readonly) IBOutlet NSWindow *inputSettingsNDSInput;
|
||||||
@property (readonly) IBOutlet NSWindow *inputSettingsMicrophone;
|
@property (readonly) IBOutlet NSWindow *inputSettingsMicrophone;
|
||||||
@property (readonly) IBOutlet NSWindow *inputSettingsTouch;
|
@property (readonly) IBOutlet NSWindow *inputSettingsTouch;
|
||||||
@property (readonly) IBOutlet NSWindow *inputSettingsLoadStateSlot;
|
@property (readonly) IBOutlet NSWindow *inputSettingsLoadStateSlot;
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
@synthesize inputPrefOutlineView;
|
@synthesize inputPrefOutlineView;
|
||||||
@synthesize inputSettingsController;
|
@synthesize inputSettingsController;
|
||||||
@synthesize inputProfileController;
|
@synthesize inputProfileController;
|
||||||
|
@synthesize inputSettingsNDSInput;
|
||||||
@synthesize inputSettingsMicrophone;
|
@synthesize inputSettingsMicrophone;
|
||||||
@synthesize inputSettingsTouch;
|
@synthesize inputSettingsTouch;
|
||||||
@synthesize inputSettingsLoadStateSlot;
|
@synthesize inputSettingsLoadStateSlot;
|
||||||
|
@ -168,6 +169,18 @@
|
||||||
- (void) initSettingsSheets
|
- (void) initSettingsSheets
|
||||||
{
|
{
|
||||||
inputSettingsMappings = [[NSDictionary alloc] initWithObjectsAndKeys:
|
inputSettingsMappings = [[NSDictionary alloc] initWithObjectsAndKeys:
|
||||||
|
inputSettingsNDSInput, @"Up",
|
||||||
|
inputSettingsNDSInput, @"Down",
|
||||||
|
inputSettingsNDSInput, @"Right",
|
||||||
|
inputSettingsNDSInput, @"Left",
|
||||||
|
inputSettingsNDSInput, @"A",
|
||||||
|
inputSettingsNDSInput, @"B",
|
||||||
|
inputSettingsNDSInput, @"X",
|
||||||
|
inputSettingsNDSInput, @"Y",
|
||||||
|
inputSettingsNDSInput, @"L",
|
||||||
|
inputSettingsNDSInput, @"R",
|
||||||
|
inputSettingsNDSInput, @"Start",
|
||||||
|
inputSettingsNDSInput, @"Select",
|
||||||
inputSettingsMicrophone, @"Microphone",
|
inputSettingsMicrophone, @"Microphone",
|
||||||
inputSettingsTouch, @"Touch",
|
inputSettingsTouch, @"Touch",
|
||||||
inputSettingsLoadStateSlot, @"Load State Slot",
|
inputSettingsLoadStateSlot, @"Load State Slot",
|
||||||
|
|
Loading…
Reference in New Issue