Cocoa Port:
- Completely revamp the ROM Info panel to have a more modern and mainstream look and feel. - The ROM Info panel can now be resized and scrolled through. - Each individual info section in the ROM Info panel can now be expanded or collapsed. - Fix bugs where the ROM capacity and ROM used capacity info weren't being calculated correctly. - Do a bunch of random UI text clipping fixes when running on OS X Yosemite.
This commit is contained in:
parent
06ece0cb07
commit
83578add74
|
@ -741,6 +741,9 @@
|
||||||
ABAD3E7913AF1D6D00502E1E /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
|
ABAD3E7913AF1D6D00502E1E /* sse_optimized.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */; };
|
||||||
ABAD3E7A13AF1D6D00502E1E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
|
ABAD3E7A13AF1D6D00502E1E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */; };
|
||||||
ABAD3E7B13AF1D6D00502E1E /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
|
ABAD3E7B13AF1D6D00502E1E /* WavFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */; };
|
||||||
|
ABAF0A411A96E67200B95B75 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */; };
|
||||||
|
ABAF0A421A96E67200B95B75 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */; };
|
||||||
|
ABAF0A431A96E67200B95B75 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */; };
|
||||||
ABB24F6D1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
ABB24F6D1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
||||||
ABB24F6E1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
ABB24F6E1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
||||||
ABB24F6F1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
ABB24F6F1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */; };
|
||||||
|
@ -1220,6 +1223,8 @@
|
||||||
ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sse_optimized.cpp; sourceTree = "<group>"; };
|
ABAD3E6D13AF1D6D00502E1E /* sse_optimized.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sse_optimized.cpp; sourceTree = "<group>"; };
|
||||||
ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TDStretch.cpp; sourceTree = "<group>"; };
|
ABAD3E6E13AF1D6D00502E1E /* TDStretch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TDStretch.cpp; sourceTree = "<group>"; };
|
||||||
ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavFile.cpp; sourceTree = "<group>"; };
|
ABAD3E6F13AF1D6D00502E1E /* WavFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WavFile.cpp; sourceTree = "<group>"; };
|
||||||
|
ABAF0A3F1A96E67200B95B75 /* RomInfoPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RomInfoPanel.h; sourceTree = "<group>"; };
|
||||||
|
ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RomInfoPanel.mm; sourceTree = "<group>"; };
|
||||||
ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OGLDisplayOutput_3_2.cpp; sourceTree = "<group>"; };
|
ABB24F6B1A81EE92006C1108 /* OGLDisplayOutput_3_2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OGLDisplayOutput_3_2.cpp; sourceTree = "<group>"; };
|
||||||
ABB24F6C1A81EE92006C1108 /* OGLDisplayOutput_3_2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OGLDisplayOutput_3_2.h; sourceTree = "<group>"; };
|
ABB24F6C1A81EE92006C1108 /* OGLDisplayOutput_3_2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OGLDisplayOutput_3_2.h; sourceTree = "<group>"; };
|
||||||
ABB3C63B1501BB8300E0C22E /* DeSmuME_Prefix_OpenEmu.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeSmuME_Prefix_OpenEmu.pch; sourceTree = "<group>"; };
|
ABB3C63B1501BB8300E0C22E /* DeSmuME_Prefix_OpenEmu.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeSmuME_Prefix_OpenEmu.pch; sourceTree = "<group>"; };
|
||||||
|
@ -1688,6 +1693,7 @@
|
||||||
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
||||||
AB01005C170D07AF00D70FBE /* InputProfileController.h */,
|
AB01005C170D07AF00D70FBE /* InputProfileController.h */,
|
||||||
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
||||||
|
ABAF0A3F1A96E67200B95B75 /* RomInfoPanel.h */,
|
||||||
AB564902186E6EBC002740F4 /* Slot2WindowDelegate.h */,
|
AB564902186E6EBC002740F4 /* Slot2WindowDelegate.h */,
|
||||||
ABF2B9F81690412A000FF7C0 /* troubleshootingWindowDelegate.h */,
|
ABF2B9F81690412A000FF7C0 /* troubleshootingWindowDelegate.h */,
|
||||||
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
||||||
|
@ -1699,6 +1705,7 @@
|
||||||
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
||||||
AB01005D170D07B000D70FBE /* InputProfileController.mm */,
|
AB01005D170D07B000D70FBE /* InputProfileController.mm */,
|
||||||
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
||||||
|
ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */,
|
||||||
AB564903186E6EBC002740F4 /* Slot2WindowDelegate.mm */,
|
AB564903186E6EBC002740F4 /* Slot2WindowDelegate.mm */,
|
||||||
ABF2B9FA16904133000FF7C0 /* troubleshootingWindowDelegate.mm */,
|
ABF2B9FA16904133000FF7C0 /* troubleshootingWindowDelegate.mm */,
|
||||||
);
|
);
|
||||||
|
@ -2765,6 +2772,7 @@
|
||||||
ABD1FF531345ACBF00AF11D1 /* ConvertUTF.c in Sources */,
|
ABD1FF531345ACBF00AF11D1 /* ConvertUTF.c in Sources */,
|
||||||
ABAD3E7113AF1D6D00502E1E /* AAFilter.cpp in Sources */,
|
ABAD3E7113AF1D6D00502E1E /* AAFilter.cpp in Sources */,
|
||||||
ABD1FED21345AC8400AF11D1 /* arm_instructions.cpp in Sources */,
|
ABD1FED21345AC8400AF11D1 /* arm_instructions.cpp in Sources */,
|
||||||
|
ABAF0A421A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||||
ABD1FED31345AC8400AF11D1 /* armcpu.cpp in Sources */,
|
ABD1FED31345AC8400AF11D1 /* armcpu.cpp in Sources */,
|
||||||
ABD1FED41345AC8400AF11D1 /* bios.cpp in Sources */,
|
ABD1FED41345AC8400AF11D1 /* bios.cpp in Sources */,
|
||||||
ABD1FF5B1345ACBF00AF11D1 /* cache.cpp in Sources */,
|
ABD1FF5B1345ACBF00AF11D1 /* cache.cpp in Sources */,
|
||||||
|
@ -2974,6 +2982,7 @@
|
||||||
AB796D0B15CDCBA200C59155 /* FIRFilter.cpp in Sources */,
|
AB796D0B15CDCBA200C59155 /* FIRFilter.cpp in Sources */,
|
||||||
AB796D0C15CDCBA200C59155 /* firmware.cpp in Sources */,
|
AB796D0C15CDCBA200C59155 /* firmware.cpp in Sources */,
|
||||||
AB796D0D15CDCBA200C59155 /* fs-linux.cpp in Sources */,
|
AB796D0D15CDCBA200C59155 /* fs-linux.cpp in Sources */,
|
||||||
|
ABAF0A411A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||||
AB796D0E15CDCBA200C59155 /* gfx3d.cpp in Sources */,
|
AB796D0E15CDCBA200C59155 /* gfx3d.cpp in Sources */,
|
||||||
AB796D0F15CDCBA200C59155 /* GPU.cpp in Sources */,
|
AB796D0F15CDCBA200C59155 /* GPU.cpp in Sources */,
|
||||||
AB9038AF17C5ED2200F410BD /* slot1_retail_auto.cpp in Sources */,
|
AB9038AF17C5ED2200F410BD /* slot1_retail_auto.cpp in Sources */,
|
||||||
|
@ -3132,6 +3141,7 @@
|
||||||
AB8F3C821A53AC2600A80BF6 /* decrypt.cpp in Sources */,
|
AB8F3C821A53AC2600A80BF6 /* decrypt.cpp in Sources */,
|
||||||
AB8F3C831A53AC2600A80BF6 /* directory.cpp in Sources */,
|
AB8F3C831A53AC2600A80BF6 /* directory.cpp in Sources */,
|
||||||
AB8F3C841A53AC2600A80BF6 /* Disassembler.cpp in Sources */,
|
AB8F3C841A53AC2600A80BF6 /* Disassembler.cpp in Sources */,
|
||||||
|
ABAF0A431A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||||
AB8F3C851A53AC2600A80BF6 /* disc.cpp in Sources */,
|
AB8F3C851A53AC2600A80BF6 /* disc.cpp in Sources */,
|
||||||
AB8F3C861A53AC2600A80BF6 /* dlditool.cpp in Sources */,
|
AB8F3C861A53AC2600A80BF6 /* dlditool.cpp in Sources */,
|
||||||
AB8F3C871A53AC2600A80BF6 /* driver.cpp in Sources */,
|
AB8F3C871A53AC2600A80BF6 /* driver.cpp in Sources */,
|
||||||
|
@ -3513,7 +3523,6 @@
|
||||||
"DEBUG=1",
|
"DEBUG=1",
|
||||||
GDB_STUB,
|
GDB_STUB,
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
|
||||||
PRODUCT_NAME = "DeSmuME (Debug, dev+)";
|
PRODUCT_NAME = "DeSmuME (Debug, dev+)";
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
|
@ -3526,7 +3535,6 @@
|
||||||
GDB_STUB,
|
GDB_STUB,
|
||||||
);
|
);
|
||||||
LLVM_LTO = YES;
|
LLVM_LTO = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
|
||||||
PRODUCT_NAME = "DeSmuME (dev+)";
|
PRODUCT_NAME = "DeSmuME (dev+)";
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
@ -3535,6 +3543,7 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"\"$(SRCROOT)/openemu\"",
|
"\"$(SRCROOT)/openemu\"",
|
||||||
|
@ -3551,6 +3560,7 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"\"$(SRCROOT)/openemu\"",
|
"\"$(SRCROOT)/openemu\"",
|
||||||
|
@ -3580,7 +3590,6 @@
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
LLVM_LTO = YES;
|
LLVM_LTO = YES;
|
||||||
LLVM_VECTORIZE_LOOPS = YES;
|
LLVM_VECTORIZE_LOOPS = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
|
||||||
ONLY_ACTIVE_ARCH = NO;
|
ONLY_ACTIVE_ARCH = NO;
|
||||||
PRODUCT_NAME = DeSmuME;
|
PRODUCT_NAME = DeSmuME;
|
||||||
SKIP_INSTALL = NO;
|
SKIP_INSTALL = NO;
|
||||||
|
@ -3603,7 +3612,6 @@
|
||||||
GCC_UNROLL_LOOPS = YES;
|
GCC_UNROLL_LOOPS = YES;
|
||||||
IBC_FLATTEN_NIBS = YES;
|
IBC_FLATTEN_NIBS = YES;
|
||||||
LLVM_LTO = YES;
|
LLVM_LTO = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
|
||||||
VALIDATE_PRODUCT = YES;
|
VALIDATE_PRODUCT = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
@ -3646,7 +3654,7 @@
|
||||||
IBC_FLATTEN_NIBS = NO;
|
IBC_FLATTEN_NIBS = NO;
|
||||||
INFOPLIST_FILE = "Info (Debug).plist";
|
INFOPLIST_FILE = "Info (Debug).plist";
|
||||||
LD_NO_PIE = YES;
|
LD_NO_PIE = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_NAME = "DeSmuME (Debug)";
|
PRODUCT_NAME = "DeSmuME (Debug)";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
@ -3692,7 +3700,7 @@
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
LD_NO_PIE = YES;
|
LD_NO_PIE = YES;
|
||||||
LLVM_VECTORIZE_LOOPS = YES;
|
LLVM_VECTORIZE_LOOPS = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||||
PRODUCT_NAME = DeSmuME;
|
PRODUCT_NAME = DeSmuME;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
STRIP_INSTALLED_PRODUCT = NO;
|
STRIP_INSTALLED_PRODUCT = NO;
|
||||||
|
|
|
@ -1131,6 +1131,11 @@
|
||||||
ABC3AF3514B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */; };
|
ABC3AF3514B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */; };
|
||||||
ABC3AF3614B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */; };
|
ABC3AF3614B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */; };
|
||||||
ABC3AFCF14B8D16700D5B13D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
ABC3AFCF14B8D16700D5B13D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0A0D1914AACA9600E83E91 /* libz.dylib */; };
|
||||||
|
ABC3DEBD1A96EA96009EC345 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */; };
|
||||||
|
ABC3DEBE1A96EA96009EC345 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */; };
|
||||||
|
ABC3DEBF1A96EA96009EC345 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */; };
|
||||||
|
ABC3DEC01A96EA96009EC345 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */; };
|
||||||
|
ABC3DEC11A96EA96009EC345 /* RomInfoPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */; };
|
||||||
ABD0A53A1501AA5A0074A094 /* coreaudiosound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD0A5341501AA5A0074A094 /* coreaudiosound.cpp */; };
|
ABD0A53A1501AA5A0074A094 /* coreaudiosound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD0A5341501AA5A0074A094 /* coreaudiosound.cpp */; };
|
||||||
ABD0A53B1501AA5A0074A094 /* ringbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD0A5351501AA5A0074A094 /* ringbuffer.cpp */; };
|
ABD0A53B1501AA5A0074A094 /* ringbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD0A5351501AA5A0074A094 /* ringbuffer.cpp */; };
|
||||||
ABD597BC187CD95A00069403 /* Image_GuitarGrip.png in Resources */ = {isa = PBXBuildFile; fileRef = ABD597BB187CD95A00069403 /* Image_GuitarGrip.png */; };
|
ABD597BC187CD95A00069403 /* Image_GuitarGrip.png in Resources */ = {isa = PBXBuildFile; fileRef = ABD597BB187CD95A00069403 /* Image_GuitarGrip.png */; };
|
||||||
|
@ -1428,6 +1433,8 @@
|
||||||
ABC3AF2C14B7F06900D5B13D /* Icon_VolumeMute_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeMute_16x16.png; path = images/Icon_VolumeMute_16x16.png; sourceTree = "<group>"; };
|
ABC3AF2C14B7F06900D5B13D /* Icon_VolumeMute_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeMute_16x16.png; path = images/Icon_VolumeMute_16x16.png; sourceTree = "<group>"; };
|
||||||
ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeOneThird_16x16.png; path = images/Icon_VolumeOneThird_16x16.png; sourceTree = "<group>"; };
|
ABC3AF2D14B7F06900D5B13D /* Icon_VolumeOneThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeOneThird_16x16.png; path = images/Icon_VolumeOneThird_16x16.png; sourceTree = "<group>"; };
|
||||||
ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeTwoThird_16x16.png; path = images/Icon_VolumeTwoThird_16x16.png; sourceTree = "<group>"; };
|
ABC3AF2E14B7F06900D5B13D /* Icon_VolumeTwoThird_16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_VolumeTwoThird_16x16.png; path = images/Icon_VolumeTwoThird_16x16.png; sourceTree = "<group>"; };
|
||||||
|
ABC3DEBB1A96EA96009EC345 /* RomInfoPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RomInfoPanel.h; sourceTree = "<group>"; };
|
||||||
|
ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RomInfoPanel.mm; sourceTree = "<group>"; };
|
||||||
ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
|
ABC570D0134431CE00E7B0B1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
|
||||||
ABC570D4134431DA00E7B0B1 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
ABC570D4134431DA00E7B0B1 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||||
ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultKeyMappings.plist; sourceTree = "<group>"; };
|
ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultKeyMappings.plist; sourceTree = "<group>"; };
|
||||||
|
@ -1961,6 +1968,7 @@
|
||||||
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
||||||
AB213D43170CB141006DDB0F /* InputProfileController.h */,
|
AB213D43170CB141006DDB0F /* InputProfileController.h */,
|
||||||
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
||||||
|
ABC3DEBB1A96EA96009EC345 /* RomInfoPanel.h */,
|
||||||
ABAE2F7918682B6C00C92F4F /* Slot2WindowDelegate.h */,
|
ABAE2F7918682B6C00C92F4F /* Slot2WindowDelegate.h */,
|
||||||
ABA0356E169127BB00817C69 /* troubleshootingWindowDelegate.h */,
|
ABA0356E169127BB00817C69 /* troubleshootingWindowDelegate.h */,
|
||||||
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
||||||
|
@ -1972,6 +1980,7 @@
|
||||||
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
||||||
AB213D44170CB141006DDB0F /* InputProfileController.mm */,
|
AB213D44170CB141006DDB0F /* InputProfileController.mm */,
|
||||||
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
||||||
|
ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */,
|
||||||
ABAE2F7A18682B6C00C92F4F /* Slot2WindowDelegate.mm */,
|
ABAE2F7A18682B6C00C92F4F /* Slot2WindowDelegate.mm */,
|
||||||
ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */,
|
ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */,
|
||||||
);
|
);
|
||||||
|
@ -3380,6 +3389,7 @@
|
||||||
ABAE2F8818682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
ABAE2F8818682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||||
ABECB50D18A460710052D52A /* xbrz.cpp in Sources */,
|
ABECB50D18A460710052D52A /* xbrz.cpp in Sources */,
|
||||||
ABECB51818A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
ABECB51818A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||||
|
ABC3DEC11A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -3524,6 +3534,7 @@
|
||||||
ABAE2F8418682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
ABAE2F8418682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||||
ABECB50A18A460710052D52A /* xbrz.cpp in Sources */,
|
ABECB50A18A460710052D52A /* xbrz.cpp in Sources */,
|
||||||
ABECB51518A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
ABECB51518A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||||
|
ABC3DEBD1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -3698,6 +3709,7 @@
|
||||||
AB8FFCB4186F8E5400C10085 /* slot2_mpcf.cpp in Sources */,
|
AB8FFCB4186F8E5400C10085 /* slot2_mpcf.cpp in Sources */,
|
||||||
ABECB50918A460710052D52A /* xbrz.cpp in Sources */,
|
ABECB50918A460710052D52A /* xbrz.cpp in Sources */,
|
||||||
ABECB51418A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
ABECB51418A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||||
|
ABC3DEBE1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -3872,6 +3884,7 @@
|
||||||
ABAE2F8718682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
ABAE2F8718682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||||
ABECB50C18A460710052D52A /* xbrz.cpp in Sources */,
|
ABECB50C18A460710052D52A /* xbrz.cpp in Sources */,
|
||||||
ABECB51718A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
ABECB51718A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||||
|
ABC3DEC01A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -4016,6 +4029,7 @@
|
||||||
ABAE2F8618682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
ABAE2F8618682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||||
ABECB50B18A460710052D52A /* xbrz.cpp in Sources */,
|
ABECB50B18A460710052D52A /* xbrz.cpp in Sources */,
|
||||||
ABECB51618A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
ABECB51618A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||||
|
ABC3DEBF1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -4081,7 +4095,6 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ARCHS = ppc;
|
ARCHS = ppc;
|
||||||
"GCC_MODEL_TUNING[sdk=macosx10.5][arch=ppc]" = G5;
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
NDEBUG,
|
NDEBUG,
|
||||||
PUBLIC_RELEASE,
|
PUBLIC_RELEASE,
|
||||||
|
@ -4269,10 +4282,7 @@
|
||||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||||
"GCC_MODEL_PPC64[sdk=macosx10.5][arch=ppc64]" = YES;
|
"GCC_MODEL_PPC64[sdk=macosx10.5][arch=ppc64]" = YES;
|
||||||
GCC_MODEL_TUNING = "";
|
GCC_MODEL_TUNING = G5;
|
||||||
"GCC_MODEL_TUNING[sdk=macosx10.4][arch=ppc]" = G4;
|
|
||||||
"GCC_MODEL_TUNING[sdk=macosx10.5][arch=ppc64]" = G5;
|
|
||||||
"GCC_MODEL_TUNING[sdk=macosx10.5][arch=ppc]" = G4;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 3;
|
GCC_OPTIMIZATION_LEVEL = 3;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = DeSmuME_Prefix.pch;
|
GCC_PREFIX_HEADER = DeSmuME_Prefix.pch;
|
||||||
|
|
|
@ -714,6 +714,8 @@
|
||||||
<true/>
|
<true/>
|
||||||
<key>Render3D_Threads</key>
|
<key>Render3D_Threads</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
|
<key>RomInfoPanel_SectionViewState</key>
|
||||||
|
<dict/>
|
||||||
<key>Slot2_GBA_CartridgePath</key>
|
<key>Slot2_GBA_CartridgePath</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Slot2_GBA_SRAMPath</key>
|
<key>Slot2_GBA_SRAMPath</key>
|
||||||
|
|
|
@ -56,12 +56,14 @@
|
||||||
- (NSString *) serial;
|
- (NSString *) serial;
|
||||||
- (NSString *) developerName;
|
- (NSString *) developerName;
|
||||||
- (NSString *) developerNameAndCode;
|
- (NSString *) developerNameAndCode;
|
||||||
|
- (NSString *) unitCodeStringUsingID:(NSInteger)unitCodeID;
|
||||||
- (NSImage *) icon;
|
- (NSImage *) icon;
|
||||||
- (void) handleAdvansceneDatabaseInfo;
|
- (void) handleAdvansceneDatabaseInfo;
|
||||||
|
|
||||||
+ (void) changeRomSaveType:(NSInteger)saveTypeID;
|
+ (void) changeRomSaveType:(NSInteger)saveTypeID;
|
||||||
+ (NSInteger) saveTypeByString:(NSString *)saveTypeString;
|
+ (NSInteger) saveTypeByString:(NSString *)saveTypeString;
|
||||||
+ (NSMutableDictionary *) romNotLoadedBindings;
|
+ (NSMutableDictionary *) romNotLoadedBindings;
|
||||||
|
+ (NSString *) byteSizeStringWithLargerUnit:(NSUInteger)byteSize;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
|
@ -175,6 +175,7 @@ static NSMutableDictionary *saveTypeValues = nil;
|
||||||
[self.header setValue:[self developerName] forKey:@"gameDeveloper"];
|
[self.header setValue:[self developerName] forKey:@"gameDeveloper"];
|
||||||
[self.header setValue:[self developerNameAndCode] forKey:@"gameDeveloperWithCode"];
|
[self.header setValue:[self developerNameAndCode] forKey:@"gameDeveloperWithCode"];
|
||||||
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->makerCode] forKey:@"makerCode"];
|
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->makerCode] forKey:@"makerCode"];
|
||||||
|
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->unitCode] forKey:@"unitCode"];
|
||||||
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->cardSize] forKey:@"romSize"];
|
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->cardSize] forKey:@"romSize"];
|
||||||
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->ARM9src] forKey:@"arm9BinaryOffset"];
|
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->ARM9src] forKey:@"arm9BinaryOffset"];
|
||||||
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->ARM9exe] forKey:@"arm9BinaryEntryAddress"];
|
[self.header setValue:[NSNumber numberWithInteger:ndsRomHeader->ARM9exe] forKey:@"arm9BinaryEntryAddress"];
|
||||||
|
@ -196,7 +197,8 @@ static NSMutableDictionary *saveTypeValues = nil;
|
||||||
[self.bindings setValue:[self.header objectForKey:@"gameDeveloper"] forKey:@"gameDeveloper"];
|
[self.bindings setValue:[self.header objectForKey:@"gameDeveloper"] forKey:@"gameDeveloper"];
|
||||||
[self.bindings setValue:[self.header objectForKey:@"gameDeveloperWithCode"] forKey:@"gameDeveloperWithCode"];
|
[self.bindings setValue:[self.header objectForKey:@"gameDeveloperWithCode"] forKey:@"gameDeveloperWithCode"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%04X", [[self.header objectForKey:@"makerCode"] intValue]] forKey:@"makerCode"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%04X", [[self.header objectForKey:@"makerCode"] intValue]] forKey:@"makerCode"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"%i", [[self.header objectForKey:@"romSize"] intValue]] forKey:@"romSize"];
|
[self.bindings setValue:[self unitCodeStringUsingID:[[self.header objectForKey:@"unitCode"] intValue]] forKey:@"unitCode"];
|
||||||
|
[self.bindings setValue:[CocoaDSRom byteSizeStringWithLargerUnit:(128*1024) << [[self.header objectForKey:@"romSize"] intValue]] forKey:@"romSize"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryOffset"] intValue]] forKey:@"arm9BinaryOffset"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryOffset"] intValue]] forKey:@"arm9BinaryOffset"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryEntryAddress"] intValue]] forKey:@"arm9BinaryEntryAddress"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryEntryAddress"] intValue]] forKey:@"arm9BinaryEntryAddress"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryStartAddress"] intValue]] forKey:@"arm9BinaryStartAddress"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"arm9BinaryStartAddress"] intValue]] forKey:@"arm9BinaryStartAddress"];
|
||||||
|
@ -211,7 +213,8 @@ static NSMutableDictionary *saveTypeValues = nil;
|
||||||
[self.bindings setValue:[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, [[self.header objectForKey:@"fatSize"] intValue]] forKey:@"fatSize"];
|
[self.bindings setValue:[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, [[self.header objectForKey:@"fatSize"] intValue]] forKey:@"fatSize"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"fatOffset"] intValue]] forKey:@"fatOffset"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"fatOffset"] intValue]] forKey:@"fatOffset"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"iconOffset"] intValue]] forKey:@"iconOffset"];
|
[self.bindings setValue:[NSString stringWithFormat:@"0x%08X", [[self.header objectForKey:@"iconOffset"] intValue]] forKey:@"iconOffset"];
|
||||||
[self.bindings setValue:[NSString stringWithFormat:@"%i", [[self.header objectForKey:@"usedRomSize"] intValue]] forKey:@"usedRomSize"];
|
[self.bindings setValue:[CocoaDSRom byteSizeStringWithLargerUnit:[[self.header objectForKey:@"usedRomSize"] intValue]] forKey:@"usedRomSize"];
|
||||||
|
[self.bindings setValue:[CocoaDSRom byteSizeStringWithLargerUnit:(((128*1024) << [[self.header objectForKey:@"romSize"] intValue]) - [[self.header objectForKey:@"usedRomSize"] intValue])] forKey:@"unusedCapacity"];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get ROM image
|
// Get ROM image
|
||||||
|
@ -344,6 +347,33 @@ static NSMutableDictionary *saveTypeValues = nil;
|
||||||
return [NSString stringWithFormat:@"%s [0x%04X]", getDeveloperNameByID(ndsRomHeader->makerCode).c_str(), ndsRomHeader->makerCode];
|
return [NSString stringWithFormat:@"%s [0x%04X]", getDeveloperNameByID(ndsRomHeader->makerCode).c_str(), ndsRomHeader->makerCode];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSString *) unitCodeStringUsingID:(NSInteger)unitCodeID
|
||||||
|
{
|
||||||
|
switch (unitCodeID)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return @"NDS";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
return @"DSi (Invalid ID)";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
return @"NDS + DSi";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
return @"DSi";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return @"Unknown";
|
||||||
|
}
|
||||||
|
|
||||||
- (NSImage *) icon
|
- (NSImage *) icon
|
||||||
{
|
{
|
||||||
NSImage *newImage = nil;
|
NSImage *newImage = nil;
|
||||||
|
@ -547,26 +577,53 @@ static NSMutableDictionary *saveTypeValues = nil;
|
||||||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameCode",
|
NSSTRING_STATUS_NO_ROM_LOADED, @"gameCode",
|
||||||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloper",
|
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloper",
|
||||||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloperWithCode",
|
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloperWithCode",
|
||||||
|
NSSTRING_STATUS_NO_ROM_LOADED, @"unitCode",
|
||||||
NSSTRING_STATUS_NO_ROM_LOADED, @"makerCode",
|
NSSTRING_STATUS_NO_ROM_LOADED, @"makerCode",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_NO_ROM_LOADED, 0], @"romSize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"romSize",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryOffset",
|
@"----------", @"arm9BinaryOffset",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryEntryAddress",
|
@"----------", @"arm9BinaryEntryAddress",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryStartAddress",
|
@"----------", @"arm9BinaryStartAddress",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"arm9BinarySize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"arm9BinarySize",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryOffset",
|
@"----------", @"arm7BinaryOffset",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryEntryAddress",
|
@"----------", @"arm7BinaryEntryAddress",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryStartAddress",
|
@"----------", @"arm7BinaryStartAddress",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"arm7BinarySize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"arm7BinarySize",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"fntOffset",
|
@"----------", @"fntOffset",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"fntTableSize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"fntTableSize",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"fatOffset",
|
@"----------", @"fatOffset",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"fatSize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"fatSize",
|
||||||
[NSString stringWithFormat:@"0x%08X", 0], @"iconOffset",
|
@"----------", @"iconOffset",
|
||||||
[NSString stringWithFormat:NSSTRING_STATUS_NO_ROM_LOADED, 0], @"usedRomSize",
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"usedRomSize",
|
||||||
|
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"unusedCapacity",
|
||||||
iconImage, @"iconImage",
|
iconImage, @"iconImage",
|
||||||
nil];
|
nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (NSString *) byteSizeStringWithLargerUnit:(NSUInteger)byteSize
|
||||||
|
{
|
||||||
|
float kilobyteSize = byteSize / 1024.0;
|
||||||
|
float megabyteSize = kilobyteSize / 1024.0;
|
||||||
|
float gigabyteSize = megabyteSize / 1024.0;
|
||||||
|
|
||||||
|
NSString *byteString = [NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, byteSize];
|
||||||
|
NSString *unitString = byteString;
|
||||||
|
|
||||||
|
if (gigabyteSize > 1.0f)
|
||||||
|
{
|
||||||
|
unitString = [NSString stringWithFormat:@"%@ (%1.1f GB)", byteString, gigabyteSize];
|
||||||
|
}
|
||||||
|
else if (megabyteSize > 1.0f)
|
||||||
|
{
|
||||||
|
unitString = [NSString stringWithFormat:@"%@ (%1.1f MB)", byteString, megabyteSize];
|
||||||
|
}
|
||||||
|
else if (kilobyteSize > 1.0f)
|
||||||
|
{
|
||||||
|
unitString = [NSString stringWithFormat:@"%@ (%1.1f KB)", byteString, kilobyteSize];
|
||||||
|
}
|
||||||
|
|
||||||
|
return unitString;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2015 DeSmuME Team
|
||||||
|
|
||||||
|
This file is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This file is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with the this software. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
#define ROMINFO_PANEL_SECTION_HEADER_HEIGHT 22
|
||||||
|
|
||||||
|
@interface RomInfoPanelSectionView : NSView
|
||||||
|
{
|
||||||
|
NSButton *disclosureButton;
|
||||||
|
NSTextField *sectionLabel;
|
||||||
|
|
||||||
|
CGFloat expandedHeight;
|
||||||
|
CGFloat collapsedHeight;
|
||||||
|
CGFloat contentHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (readonly) IBOutlet NSButton *disclosureButton;
|
||||||
|
@property (readonly) IBOutlet NSTextField *sectionLabel;
|
||||||
|
@property (assign) BOOL isExpanded;
|
||||||
|
@property (readonly) CGFloat expandedHeight;
|
||||||
|
@property (readonly) CGFloat collapsedHeight;
|
||||||
|
@property (readonly) CGFloat contentHeight;
|
||||||
|
|
||||||
|
- (NSString *) stringFromSectionLabel;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface RomInfoContentView : NSView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface RomInfoPanel : NSPanel
|
||||||
|
{
|
||||||
|
NSSize _panelMaxSize;
|
||||||
|
NSSize _mainViewMaxSize;
|
||||||
|
|
||||||
|
RomInfoPanelSectionView *generalSectionView;
|
||||||
|
RomInfoPanelSectionView *titlesSectionView;
|
||||||
|
RomInfoPanelSectionView *armBinariesSectionView;
|
||||||
|
RomInfoPanelSectionView *fileSystemSectionView;
|
||||||
|
RomInfoPanelSectionView *miscSectionView;
|
||||||
|
|
||||||
|
NSArray *_sectionViewList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (readonly) IBOutlet RomInfoPanelSectionView *generalSectionView;
|
||||||
|
@property (readonly) IBOutlet RomInfoPanelSectionView *titlesSectionView;
|
||||||
|
@property (readonly) IBOutlet RomInfoPanelSectionView *armBinariesSectionView;
|
||||||
|
@property (readonly) IBOutlet RomInfoPanelSectionView *fileSystemSectionView;
|
||||||
|
@property (readonly) IBOutlet RomInfoPanelSectionView *miscSectionView;
|
||||||
|
|
||||||
|
- (IBAction) toggleViewState:(id)sender;
|
||||||
|
|
||||||
|
- (void) autoLayout;
|
||||||
|
- (void) setupUserDefaults;
|
||||||
|
- (void) writeDefaults;
|
||||||
|
|
||||||
|
@end
|
|
@ -0,0 +1,229 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2015 DeSmuME Team
|
||||||
|
|
||||||
|
This file is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This file is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with the this software. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "RomInfoPanel.h"
|
||||||
|
#import "cocoa_util.h"
|
||||||
|
|
||||||
|
@implementation RomInfoPanelSectionView
|
||||||
|
|
||||||
|
@synthesize disclosureButton;
|
||||||
|
@synthesize sectionLabel;
|
||||||
|
@dynamic isExpanded;
|
||||||
|
@synthesize expandedHeight;
|
||||||
|
@synthesize collapsedHeight;
|
||||||
|
@synthesize contentHeight;
|
||||||
|
|
||||||
|
- (id)initWithFrame:(NSRect)frame
|
||||||
|
{
|
||||||
|
self = [super initWithFrame:frame];
|
||||||
|
if (self == nil)
|
||||||
|
{
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
expandedHeight = frame.size.height;
|
||||||
|
collapsedHeight = ROMINFO_PANEL_SECTION_HEADER_HEIGHT;
|
||||||
|
contentHeight = expandedHeight - collapsedHeight;
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setIsExpanded:(BOOL)theState
|
||||||
|
{
|
||||||
|
[disclosureButton setState:(theState) ? NSOnState : NSOffState];
|
||||||
|
|
||||||
|
NSRect newFrame = [self frame];
|
||||||
|
newFrame.size.height = (theState) ? expandedHeight : collapsedHeight;
|
||||||
|
[self setFrame:newFrame];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL) isExpanded
|
||||||
|
{
|
||||||
|
return ([disclosureButton state] == NSOnState);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) stringFromSectionLabel
|
||||||
|
{
|
||||||
|
if (sectionLabel != nil)
|
||||||
|
{
|
||||||
|
return [sectionLabel stringValue];
|
||||||
|
}
|
||||||
|
|
||||||
|
return @"";
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation RomInfoContentView
|
||||||
|
|
||||||
|
// Override this method here to prevent all forms of horizontal scrolling.
|
||||||
|
// This even includes scrolling by means of gestures.
|
||||||
|
- (NSRect)adjustScroll:(NSRect)proposedVisibleRect
|
||||||
|
{
|
||||||
|
proposedVisibleRect.origin.x = 0.0f;
|
||||||
|
return proposedVisibleRect;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation RomInfoPanel
|
||||||
|
|
||||||
|
@synthesize generalSectionView;
|
||||||
|
@synthesize titlesSectionView;
|
||||||
|
@synthesize armBinariesSectionView;
|
||||||
|
@synthesize fileSystemSectionView;
|
||||||
|
@synthesize miscSectionView;
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if(self == nil)
|
||||||
|
{
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
_sectionViewList = nil;
|
||||||
|
|
||||||
|
_panelMaxSize.width = 1.0f;
|
||||||
|
_panelMaxSize.height = 1.0f;
|
||||||
|
_mainViewMaxSize.width = 1.0f;
|
||||||
|
_mainViewMaxSize.height = 1.0f;
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[_sectionViewList release];
|
||||||
|
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction) toggleViewState:(id)sender
|
||||||
|
{
|
||||||
|
NSButton *disclosureTriangle = (NSButton *)sender;
|
||||||
|
RomInfoPanelSectionView *sv = (RomInfoPanelSectionView *)[disclosureTriangle superview];
|
||||||
|
const BOOL isSectionExpanded = [CocoaDSUtil getIBActionSenderButtonStateBool:disclosureTriangle];
|
||||||
|
[sv setIsExpanded:isSectionExpanded];
|
||||||
|
|
||||||
|
[self autoLayout];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Since we want to maintain backwards compatibility with OS X v10.5, we need to roll our
|
||||||
|
// own custom autolayout method.
|
||||||
|
- (void) autoLayout
|
||||||
|
{
|
||||||
|
// Calculate the heights of the superviews.
|
||||||
|
NSSize newMainViewSize = _mainViewMaxSize;
|
||||||
|
NSSize newPanelMaxSize = _panelMaxSize;
|
||||||
|
for (RomInfoPanelSectionView *sv in _sectionViewList)
|
||||||
|
{
|
||||||
|
const BOOL isExpanded = [sv isExpanded];
|
||||||
|
const CGFloat svContentHeight = [sv contentHeight];
|
||||||
|
newMainViewSize.height -= ((isExpanded) ? 0.0f : svContentHeight);
|
||||||
|
newPanelMaxSize.height -= ((isExpanded) ? 0.0f : svContentHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the superview heights.
|
||||||
|
NSView *mainView = [[_sectionViewList objectAtIndex:0] superview];
|
||||||
|
[mainView setFrameSize:newMainViewSize];
|
||||||
|
[self setContentMaxSize:newPanelMaxSize];
|
||||||
|
|
||||||
|
// Place all of the views in their final locations by enumerating through each section
|
||||||
|
// view and stacking them on top of one another. This requires that the enumeration is
|
||||||
|
// done in a specific order, so we'll enumerate manually in this case.
|
||||||
|
CGFloat originY = 0.0f; // Keeps track of the current origin location as we enumerate through each section view.
|
||||||
|
|
||||||
|
for (size_t j = 0; j < [_sectionViewList count]; j++)
|
||||||
|
{
|
||||||
|
RomInfoPanelSectionView *sv = (RomInfoPanelSectionView *)[_sectionViewList objectAtIndex:j];
|
||||||
|
NSPoint svOrigin = [sv frame].origin;
|
||||||
|
svOrigin.y = originY;
|
||||||
|
|
||||||
|
[sv setFrameOrigin:svOrigin];
|
||||||
|
originY += [sv frame].size.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the panel is currently larger than the new max size, automatically reduce its size
|
||||||
|
// to match the new max size.
|
||||||
|
CGFloat heightDiff = [[self contentView] frame].size.height - [self contentMaxSize].height;
|
||||||
|
if (heightDiff > 0.0f)
|
||||||
|
{
|
||||||
|
NSRect newFrameRect = [self frame];
|
||||||
|
newFrameRect.size.height -= heightDiff;
|
||||||
|
newFrameRect.origin.y += heightDiff;
|
||||||
|
[self setFrame:newFrameRect display:YES animate:NO];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setupUserDefaults
|
||||||
|
{
|
||||||
|
// Add each section view to this list as they would appear in the panel
|
||||||
|
// from bottom to top order.
|
||||||
|
_sectionViewList = [[NSArray alloc] initWithObjects:
|
||||||
|
miscSectionView,
|
||||||
|
fileSystemSectionView,
|
||||||
|
armBinariesSectionView,
|
||||||
|
titlesSectionView,
|
||||||
|
generalSectionView,
|
||||||
|
nil];
|
||||||
|
|
||||||
|
NSView *mainView = [[_sectionViewList objectAtIndex:0] superview];
|
||||||
|
_panelMaxSize = [self contentMaxSize];
|
||||||
|
_mainViewMaxSize = [mainView frame].size;
|
||||||
|
|
||||||
|
// Toggle each view state per user preferences.
|
||||||
|
NSDictionary *viewStatesDict = [[NSUserDefaults standardUserDefaults] objectForKey:@"RomInfoPanel_SectionViewState"];
|
||||||
|
if (viewStatesDict != nil)
|
||||||
|
{
|
||||||
|
for (RomInfoPanelSectionView *sv in _sectionViewList)
|
||||||
|
{
|
||||||
|
NSNumber *theStateObj = (NSNumber *)[viewStatesDict objectForKey:[sv stringFromSectionLabel]];
|
||||||
|
[sv setIsExpanded:(theStateObj != nil) ? [theStateObj boolValue] : YES];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (RomInfoPanelSectionView *sv in _sectionViewList)
|
||||||
|
{
|
||||||
|
[sv setIsExpanded:YES];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform an autolayout to reflect possible changes to the panel states.
|
||||||
|
[self autoLayout];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) writeDefaults
|
||||||
|
{
|
||||||
|
NSMutableDictionary *viewStatesDict = [NSMutableDictionary dictionaryWithCapacity:[_sectionViewList count]];
|
||||||
|
for (RomInfoPanelSectionView *sv in _sectionViewList)
|
||||||
|
{
|
||||||
|
[viewStatesDict setObject:[NSNumber numberWithBool:[sv isExpanded]] forKey:[sv stringFromSectionLabel]];
|
||||||
|
}
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:viewStatesDict forKey:@"RomInfoPanel_SectionViewState"];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark NSPanel Methods
|
||||||
|
|
||||||
|
- (BOOL)becomesKeyOnlyIfNeeded
|
||||||
|
{
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
|
@ -21,6 +21,7 @@
|
||||||
@class InputPrefsView;
|
@class InputPrefsView;
|
||||||
@class InputManager;
|
@class InputManager;
|
||||||
@class FileMigrationDelegate;
|
@class FileMigrationDelegate;
|
||||||
|
@class RomInfoPanel;
|
||||||
|
|
||||||
|
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||||
|
@ -41,6 +42,7 @@
|
||||||
NSArrayController *inputDeviceListController;
|
NSArrayController *inputDeviceListController;
|
||||||
FileMigrationDelegate *migrationDelegate;
|
FileMigrationDelegate *migrationDelegate;
|
||||||
InputManager *inputManager;
|
InputManager *inputManager;
|
||||||
|
RomInfoPanel *romInfoPanel;
|
||||||
|
|
||||||
NSWindow *prefWindow;
|
NSWindow *prefWindow;
|
||||||
NSWindow *troubleshootingWindow;
|
NSWindow *troubleshootingWindow;
|
||||||
|
@ -52,12 +54,6 @@
|
||||||
NSMenu *mLoadStateSlot;
|
NSMenu *mLoadStateSlot;
|
||||||
NSMenu *mSaveStateSlot;
|
NSMenu *mSaveStateSlot;
|
||||||
|
|
||||||
NSBox *boxGeneralInfo;
|
|
||||||
NSBox *boxTitles;
|
|
||||||
NSBox *boxARMBinaries;
|
|
||||||
NSBox *boxFileSystem;
|
|
||||||
NSBox *boxMisc;
|
|
||||||
|
|
||||||
BOOL isAppRunningOnIntel;
|
BOOL isAppRunningOnIntel;
|
||||||
BOOL isDeveloperPlusBuild;
|
BOOL isDeveloperPlusBuild;
|
||||||
}
|
}
|
||||||
|
@ -82,12 +78,7 @@
|
||||||
@property (readonly) IBOutlet NSMenu *mLoadStateSlot;
|
@property (readonly) IBOutlet NSMenu *mLoadStateSlot;
|
||||||
@property (readonly) IBOutlet NSMenu *mSaveStateSlot;
|
@property (readonly) IBOutlet NSMenu *mSaveStateSlot;
|
||||||
@property (readonly) IBOutlet InputPrefsView *inputPrefsView;
|
@property (readonly) IBOutlet InputPrefsView *inputPrefsView;
|
||||||
|
@property (readonly) IBOutlet RomInfoPanel *romInfoPanel;
|
||||||
@property (readonly) IBOutlet NSBox *boxGeneralInfo;
|
|
||||||
@property (readonly) IBOutlet NSBox *boxTitles;
|
|
||||||
@property (readonly) IBOutlet NSBox *boxARMBinaries;
|
|
||||||
@property (readonly) IBOutlet NSBox *boxFileSystem;
|
|
||||||
@property (readonly) IBOutlet NSBox *boxMisc;
|
|
||||||
|
|
||||||
@property (assign) BOOL isAppRunningOnIntel;
|
@property (assign) BOOL isAppRunningOnIntel;
|
||||||
@property (assign) BOOL isDeveloperPlusBuild;
|
@property (assign) BOOL isDeveloperPlusBuild;
|
||||||
|
@ -100,7 +91,6 @@
|
||||||
- (void) setupSlotMenuItems;
|
- (void) setupSlotMenuItems;
|
||||||
- (NSMenuItem *) addSlotMenuItem:(NSMenu *)menu slotNumber:(NSUInteger)slotNumber;
|
- (NSMenuItem *) addSlotMenuItem:(NSMenu *)menu slotNumber:(NSUInteger)slotNumber;
|
||||||
- (void) setupUserDefaults;
|
- (void) setupUserDefaults;
|
||||||
- (void) setRomInfoPanelBoxTitleColors;
|
|
||||||
- (void) restoreDisplayWindowStates;
|
- (void) restoreDisplayWindowStates;
|
||||||
- (void) saveDisplayWindowStates;
|
- (void) saveDisplayWindowStates;
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#import "DisplayWindowController.h"
|
#import "DisplayWindowController.h"
|
||||||
#import "EmuControllerDelegate.h"
|
#import "EmuControllerDelegate.h"
|
||||||
#import "FileMigrationDelegate.h"
|
#import "FileMigrationDelegate.h"
|
||||||
|
#import "RomInfoPanel.h"
|
||||||
#import "Slot2WindowDelegate.h"
|
#import "Slot2WindowDelegate.h"
|
||||||
#import "preferencesWindowDelegate.h"
|
#import "preferencesWindowDelegate.h"
|
||||||
#import "troubleshootingWindowDelegate.h"
|
#import "troubleshootingWindowDelegate.h"
|
||||||
|
@ -56,12 +57,7 @@
|
||||||
@synthesize cheatWindowController;
|
@synthesize cheatWindowController;
|
||||||
@synthesize migrationDelegate;
|
@synthesize migrationDelegate;
|
||||||
@synthesize inputManager;
|
@synthesize inputManager;
|
||||||
|
@synthesize romInfoPanel;
|
||||||
@synthesize boxGeneralInfo;
|
|
||||||
@synthesize boxTitles;
|
|
||||||
@synthesize boxARMBinaries;
|
|
||||||
@synthesize boxFileSystem;
|
|
||||||
@synthesize boxMisc;
|
|
||||||
|
|
||||||
@synthesize isAppRunningOnIntel;
|
@synthesize isAppRunningOnIntel;
|
||||||
@synthesize isDeveloperPlusBuild;
|
@synthesize isDeveloperPlusBuild;
|
||||||
|
@ -172,10 +168,6 @@
|
||||||
|
|
||||||
[aboutWindowController setContent:aboutWindowProperties];
|
[aboutWindowController setContent:aboutWindowProperties];
|
||||||
|
|
||||||
// Change the title colors of the NSBox objects in the ROM Info panel. We change the
|
|
||||||
// colors manually here because you can't change them in Interface Builder. Boo!!!
|
|
||||||
[self setRomInfoPanelBoxTitleColors];
|
|
||||||
|
|
||||||
// Set the preferences window to the general view by default.
|
// Set the preferences window to the general view by default.
|
||||||
[[prefWindowDelegate toolbar] setSelectedItemIdentifier:@"General"];
|
[[prefWindowDelegate toolbar] setSelectedItemIdentifier:@"General"];
|
||||||
[prefWindowDelegate changePrefView:self];
|
[prefWindowDelegate changePrefView:self];
|
||||||
|
@ -347,6 +339,7 @@
|
||||||
|
|
||||||
// Save some settings to user defaults before app termination
|
// Save some settings to user defaults before app termination
|
||||||
[self saveDisplayWindowStates];
|
[self saveDisplayWindowStates];
|
||||||
|
[romInfoPanel writeDefaults];
|
||||||
[[NSUserDefaults standardUserDefaults] setDouble:[emuControl lastSetSpeedScalar] forKey:@"CoreControl_SpeedScalar"];
|
[[NSUserDefaults standardUserDefaults] setDouble:[emuControl lastSetSpeedScalar] forKey:@"CoreControl_SpeedScalar"];
|
||||||
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isSpeedLimitEnabled] forKey:@"CoreControl_EnableSpeedLimit"];
|
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isSpeedLimitEnabled] forKey:@"CoreControl_EnableSpeedLimit"];
|
||||||
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isFrameSkipEnabled] forKey:@"CoreControl_EnableAutoFrameSkip"];
|
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isFrameSkipEnabled] forKey:@"CoreControl_EnableAutoFrameSkip"];
|
||||||
|
@ -577,6 +570,9 @@
|
||||||
[inputManager setMappingsWithMappings:userMappings];
|
[inputManager setMappingsWithMappings:userMappings];
|
||||||
[[inputManager hidManager] setDeviceListController:inputDeviceListController];
|
[[inputManager hidManager] setDeviceListController:inputDeviceListController];
|
||||||
|
|
||||||
|
// Set up the ROM Info panel.
|
||||||
|
[romInfoPanel setupUserDefaults];
|
||||||
|
|
||||||
// Set up the preferences window.
|
// Set up the preferences window.
|
||||||
[prefWindowDelegate setupUserDefaults];
|
[prefWindowDelegate setupUserDefaults];
|
||||||
|
|
||||||
|
@ -587,23 +583,6 @@
|
||||||
[emuControl setupUserDefaults];
|
[emuControl setupUserDefaults];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setRomInfoPanelBoxTitleColors
|
|
||||||
{
|
|
||||||
NSColor *boxTitleColor = [NSColor whiteColor];
|
|
||||||
|
|
||||||
[[boxGeneralInfo titleCell] setTextColor:boxTitleColor];
|
|
||||||
[[boxTitles titleCell] setTextColor:boxTitleColor];
|
|
||||||
[[boxARMBinaries titleCell] setTextColor:boxTitleColor];
|
|
||||||
[[boxFileSystem titleCell] setTextColor:boxTitleColor];
|
|
||||||
[[boxMisc titleCell] setTextColor:boxTitleColor];
|
|
||||||
|
|
||||||
[boxGeneralInfo setNeedsDisplay:YES];
|
|
||||||
[boxTitles setNeedsDisplay:YES];
|
|
||||||
[boxARMBinaries setNeedsDisplay:YES];
|
|
||||||
[boxFileSystem setNeedsDisplay:YES];
|
|
||||||
[boxMisc setNeedsDisplay:YES];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void) restoreDisplayWindowStates
|
- (void) restoreDisplayWindowStates
|
||||||
{
|
{
|
||||||
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
|
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
|
||||||
|
|
Loading…
Reference in New Issue