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 */; };
|
||||
ABAD3E7A13AF1D6D00502E1E /* TDStretch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABAD3E6E13AF1D6D00502E1E /* TDStretch.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 */; };
|
||||
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 */; };
|
||||
|
@ -1220,6 +1223,8 @@
|
|||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
|
@ -1688,6 +1693,7 @@
|
|||
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
||||
AB01005C170D07AF00D70FBE /* InputProfileController.h */,
|
||||
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
||||
ABAF0A3F1A96E67200B95B75 /* RomInfoPanel.h */,
|
||||
AB564902186E6EBC002740F4 /* Slot2WindowDelegate.h */,
|
||||
ABF2B9F81690412A000FF7C0 /* troubleshootingWindowDelegate.h */,
|
||||
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
||||
|
@ -1699,6 +1705,7 @@
|
|||
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
||||
AB01005D170D07B000D70FBE /* InputProfileController.mm */,
|
||||
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
||||
ABAF0A401A96E67200B95B75 /* RomInfoPanel.mm */,
|
||||
AB564903186E6EBC002740F4 /* Slot2WindowDelegate.mm */,
|
||||
ABF2B9FA16904133000FF7C0 /* troubleshootingWindowDelegate.mm */,
|
||||
);
|
||||
|
@ -2765,6 +2772,7 @@
|
|||
ABD1FF531345ACBF00AF11D1 /* ConvertUTF.c in Sources */,
|
||||
ABAD3E7113AF1D6D00502E1E /* AAFilter.cpp in Sources */,
|
||||
ABD1FED21345AC8400AF11D1 /* arm_instructions.cpp in Sources */,
|
||||
ABAF0A421A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||
ABD1FED31345AC8400AF11D1 /* armcpu.cpp in Sources */,
|
||||
ABD1FED41345AC8400AF11D1 /* bios.cpp in Sources */,
|
||||
ABD1FF5B1345ACBF00AF11D1 /* cache.cpp in Sources */,
|
||||
|
@ -2974,6 +2982,7 @@
|
|||
AB796D0B15CDCBA200C59155 /* FIRFilter.cpp in Sources */,
|
||||
AB796D0C15CDCBA200C59155 /* firmware.cpp in Sources */,
|
||||
AB796D0D15CDCBA200C59155 /* fs-linux.cpp in Sources */,
|
||||
ABAF0A411A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||
AB796D0E15CDCBA200C59155 /* gfx3d.cpp in Sources */,
|
||||
AB796D0F15CDCBA200C59155 /* GPU.cpp in Sources */,
|
||||
AB9038AF17C5ED2200F410BD /* slot1_retail_auto.cpp in Sources */,
|
||||
|
@ -3132,6 +3141,7 @@
|
|||
AB8F3C821A53AC2600A80BF6 /* decrypt.cpp in Sources */,
|
||||
AB8F3C831A53AC2600A80BF6 /* directory.cpp in Sources */,
|
||||
AB8F3C841A53AC2600A80BF6 /* Disassembler.cpp in Sources */,
|
||||
ABAF0A431A96E67200B95B75 /* RomInfoPanel.mm in Sources */,
|
||||
AB8F3C851A53AC2600A80BF6 /* disc.cpp in Sources */,
|
||||
AB8F3C861A53AC2600A80BF6 /* dlditool.cpp in Sources */,
|
||||
AB8F3C871A53AC2600A80BF6 /* driver.cpp in Sources */,
|
||||
|
@ -3513,7 +3523,6 @@
|
|||
"DEBUG=1",
|
||||
GDB_STUB,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
PRODUCT_NAME = "DeSmuME (Debug, dev+)";
|
||||
};
|
||||
name = Debug;
|
||||
|
@ -3526,7 +3535,6 @@
|
|||
GDB_STUB,
|
||||
);
|
||||
LLVM_LTO = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
PRODUCT_NAME = "DeSmuME (dev+)";
|
||||
};
|
||||
name = Release;
|
||||
|
@ -3535,6 +3543,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/openemu\"",
|
||||
|
@ -3551,6 +3560,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/openemu\"",
|
||||
|
@ -3580,7 +3590,6 @@
|
|||
INFOPLIST_FILE = Info.plist;
|
||||
LLVM_LTO = YES;
|
||||
LLVM_VECTORIZE_LOOPS = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_NAME = DeSmuME;
|
||||
SKIP_INSTALL = NO;
|
||||
|
@ -3603,7 +3612,6 @@
|
|||
GCC_UNROLL_LOOPS = YES;
|
||||
IBC_FLATTEN_NIBS = YES;
|
||||
LLVM_LTO = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
|
@ -3646,7 +3654,7 @@
|
|||
IBC_FLATTEN_NIBS = NO;
|
||||
INFOPLIST_FILE = "Info (Debug).plist";
|
||||
LD_NO_PIE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_NAME = "DeSmuME (Debug)";
|
||||
SDKROOT = macosx;
|
||||
|
@ -3692,7 +3700,7 @@
|
|||
INFOPLIST_FILE = Info.plist;
|
||||
LD_NO_PIE = YES;
|
||||
LLVM_VECTORIZE_LOOPS = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.5;
|
||||
PRODUCT_NAME = DeSmuME;
|
||||
SDKROOT = macosx;
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
|
|
|
@ -1131,6 +1131,11 @@
|
|||
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 */; };
|
||||
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 */; };
|
||||
ABD0A53B1501AA5A0074A094 /* ringbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD0A5351501AA5A0074A094 /* ringbuffer.cpp */; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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; };
|
||||
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>"; };
|
||||
|
@ -1961,6 +1968,7 @@
|
|||
AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */,
|
||||
AB213D43170CB141006DDB0F /* InputProfileController.h */,
|
||||
AB3ACB7014C2361100D7D192 /* preferencesWindowDelegate.h */,
|
||||
ABC3DEBB1A96EA96009EC345 /* RomInfoPanel.h */,
|
||||
ABAE2F7918682B6C00C92F4F /* Slot2WindowDelegate.h */,
|
||||
ABA0356E169127BB00817C69 /* troubleshootingWindowDelegate.h */,
|
||||
AB3ACB6714C2361100D7D192 /* appDelegate.mm */,
|
||||
|
@ -1972,6 +1980,7 @@
|
|||
AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */,
|
||||
AB213D44170CB141006DDB0F /* InputProfileController.mm */,
|
||||
AB3ACB7114C2361100D7D192 /* preferencesWindowDelegate.mm */,
|
||||
ABC3DEBC1A96EA96009EC345 /* RomInfoPanel.mm */,
|
||||
ABAE2F7A18682B6C00C92F4F /* Slot2WindowDelegate.mm */,
|
||||
ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */,
|
||||
);
|
||||
|
@ -3380,6 +3389,7 @@
|
|||
ABAE2F8818682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||
ABECB50D18A460710052D52A /* xbrz.cpp in Sources */,
|
||||
ABECB51818A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||
ABC3DEC11A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -3524,6 +3534,7 @@
|
|||
ABAE2F8418682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||
ABECB50A18A460710052D52A /* xbrz.cpp in Sources */,
|
||||
ABECB51518A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||
ABC3DEBD1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -3698,6 +3709,7 @@
|
|||
AB8FFCB4186F8E5400C10085 /* slot2_mpcf.cpp in Sources */,
|
||||
ABECB50918A460710052D52A /* xbrz.cpp in Sources */,
|
||||
ABECB51418A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||
ABC3DEBE1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -3872,6 +3884,7 @@
|
|||
ABAE2F8718682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||
ABECB50C18A460710052D52A /* xbrz.cpp in Sources */,
|
||||
ABECB51718A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||
ABC3DEC01A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -4016,6 +4029,7 @@
|
|||
ABAE2F8618682B8F00C92F4F /* cocoa_slot2.mm in Sources */,
|
||||
ABECB50B18A460710052D52A /* xbrz.cpp in Sources */,
|
||||
ABECB51618A460910052D52A /* OGLDisplayOutput.cpp in Sources */,
|
||||
ABC3DEBF1A96EA96009EC345 /* RomInfoPanel.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -4081,7 +4095,6 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = ppc;
|
||||
"GCC_MODEL_TUNING[sdk=macosx10.5][arch=ppc]" = G5;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
NDEBUG,
|
||||
PUBLIC_RELEASE,
|
||||
|
@ -4269,10 +4282,7 @@
|
|||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
||||
"GCC_MODEL_PPC64[sdk=macosx10.5][arch=ppc64]" = YES;
|
||||
GCC_MODEL_TUNING = "";
|
||||
"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_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 3;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = DeSmuME_Prefix.pch;
|
||||
|
|
|
@ -714,6 +714,8 @@
|
|||
<true/>
|
||||
<key>Render3D_Threads</key>
|
||||
<integer>0</integer>
|
||||
<key>RomInfoPanel_SectionViewState</key>
|
||||
<dict/>
|
||||
<key>Slot2_GBA_CartridgePath</key>
|
||||
<string></string>
|
||||
<key>Slot2_GBA_SRAMPath</key>
|
||||
|
|
|
@ -56,12 +56,14 @@
|
|||
- (NSString *) serial;
|
||||
- (NSString *) developerName;
|
||||
- (NSString *) developerNameAndCode;
|
||||
- (NSString *) unitCodeStringUsingID:(NSInteger)unitCodeID;
|
||||
- (NSImage *) icon;
|
||||
- (void) handleAdvansceneDatabaseInfo;
|
||||
|
||||
+ (void) changeRomSaveType:(NSInteger)saveTypeID;
|
||||
+ (NSInteger) saveTypeByString:(NSString *)saveTypeString;
|
||||
+ (NSMutableDictionary *) romNotLoadedBindings;
|
||||
+ (NSString *) byteSizeStringWithLargerUnit:(NSUInteger)byteSize;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -175,6 +175,7 @@ static NSMutableDictionary *saveTypeValues = nil;
|
|||
[self.header setValue:[self developerName] forKey:@"gameDeveloper"];
|
||||
[self.header setValue:[self developerNameAndCode] forKey:@"gameDeveloperWithCode"];
|
||||
[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->ARM9src] forKey:@"arm9BinaryOffset"];
|
||||
[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:@"gameDeveloperWithCode"] forKey:@"gameDeveloperWithCode"];
|
||||
[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:@"arm9BinaryEntryAddress"] intValue]] forKey:@"arm9BinaryEntryAddress"];
|
||||
[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:@"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:@"%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
|
||||
|
@ -344,6 +347,33 @@ static NSMutableDictionary *saveTypeValues = nil;
|
|||
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 *newImage = nil;
|
||||
|
@ -547,26 +577,53 @@ static NSMutableDictionary *saveTypeValues = nil;
|
|||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameCode",
|
||||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloper",
|
||||
NSSTRING_STATUS_NO_ROM_LOADED, @"gameDeveloperWithCode",
|
||||
NSSTRING_STATUS_NO_ROM_LOADED, @"unitCode",
|
||||
NSSTRING_STATUS_NO_ROM_LOADED, @"makerCode",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_NO_ROM_LOADED, 0], @"romSize",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryOffset",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryEntryAddress",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm9BinaryStartAddress",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"romSize",
|
||||
@"----------", @"arm9BinaryOffset",
|
||||
@"----------", @"arm9BinaryEntryAddress",
|
||||
@"----------", @"arm9BinaryStartAddress",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"arm9BinarySize",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryOffset",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryEntryAddress",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"arm7BinaryStartAddress",
|
||||
@"----------", @"arm7BinaryOffset",
|
||||
@"----------", @"arm7BinaryEntryAddress",
|
||||
@"----------", @"arm7BinaryStartAddress",
|
||||
[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:@"0x%08X", 0], @"fatOffset",
|
||||
@"----------", @"fatOffset",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"fatSize",
|
||||
[NSString stringWithFormat:@"0x%08X", 0], @"iconOffset",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_NO_ROM_LOADED, 0], @"usedRomSize",
|
||||
@"----------", @"iconOffset",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"usedRomSize",
|
||||
[NSString stringWithFormat:NSSTRING_STATUS_SIZE_BYTES, 0], @"unusedCapacity",
|
||||
iconImage, @"iconImage",
|
||||
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
|
||||
|
||||
/********************************************************************************************
|
||||
|
|
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 InputManager;
|
||||
@class FileMigrationDelegate;
|
||||
@class RomInfoPanel;
|
||||
|
||||
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||
|
@ -41,6 +42,7 @@
|
|||
NSArrayController *inputDeviceListController;
|
||||
FileMigrationDelegate *migrationDelegate;
|
||||
InputManager *inputManager;
|
||||
RomInfoPanel *romInfoPanel;
|
||||
|
||||
NSWindow *prefWindow;
|
||||
NSWindow *troubleshootingWindow;
|
||||
|
@ -52,12 +54,6 @@
|
|||
NSMenu *mLoadStateSlot;
|
||||
NSMenu *mSaveStateSlot;
|
||||
|
||||
NSBox *boxGeneralInfo;
|
||||
NSBox *boxTitles;
|
||||
NSBox *boxARMBinaries;
|
||||
NSBox *boxFileSystem;
|
||||
NSBox *boxMisc;
|
||||
|
||||
BOOL isAppRunningOnIntel;
|
||||
BOOL isDeveloperPlusBuild;
|
||||
}
|
||||
|
@ -82,12 +78,7 @@
|
|||
@property (readonly) IBOutlet NSMenu *mLoadStateSlot;
|
||||
@property (readonly) IBOutlet NSMenu *mSaveStateSlot;
|
||||
@property (readonly) IBOutlet InputPrefsView *inputPrefsView;
|
||||
|
||||
@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 (readonly) IBOutlet RomInfoPanel *romInfoPanel;
|
||||
|
||||
@property (assign) BOOL isAppRunningOnIntel;
|
||||
@property (assign) BOOL isDeveloperPlusBuild;
|
||||
|
@ -100,7 +91,6 @@
|
|||
- (void) setupSlotMenuItems;
|
||||
- (NSMenuItem *) addSlotMenuItem:(NSMenu *)menu slotNumber:(NSUInteger)slotNumber;
|
||||
- (void) setupUserDefaults;
|
||||
- (void) setRomInfoPanelBoxTitleColors;
|
||||
- (void) restoreDisplayWindowStates;
|
||||
- (void) saveDisplayWindowStates;
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#import "DisplayWindowController.h"
|
||||
#import "EmuControllerDelegate.h"
|
||||
#import "FileMigrationDelegate.h"
|
||||
#import "RomInfoPanel.h"
|
||||
#import "Slot2WindowDelegate.h"
|
||||
#import "preferencesWindowDelegate.h"
|
||||
#import "troubleshootingWindowDelegate.h"
|
||||
|
@ -56,12 +57,7 @@
|
|||
@synthesize cheatWindowController;
|
||||
@synthesize migrationDelegate;
|
||||
@synthesize inputManager;
|
||||
|
||||
@synthesize boxGeneralInfo;
|
||||
@synthesize boxTitles;
|
||||
@synthesize boxARMBinaries;
|
||||
@synthesize boxFileSystem;
|
||||
@synthesize boxMisc;
|
||||
@synthesize romInfoPanel;
|
||||
|
||||
@synthesize isAppRunningOnIntel;
|
||||
@synthesize isDeveloperPlusBuild;
|
||||
|
@ -172,10 +168,6 @@
|
|||
|
||||
[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.
|
||||
[[prefWindowDelegate toolbar] setSelectedItemIdentifier:@"General"];
|
||||
[prefWindowDelegate changePrefView:self];
|
||||
|
@ -347,6 +339,7 @@
|
|||
|
||||
// Save some settings to user defaults before app termination
|
||||
[self saveDisplayWindowStates];
|
||||
[romInfoPanel writeDefaults];
|
||||
[[NSUserDefaults standardUserDefaults] setDouble:[emuControl lastSetSpeedScalar] forKey:@"CoreControl_SpeedScalar"];
|
||||
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isSpeedLimitEnabled] forKey:@"CoreControl_EnableSpeedLimit"];
|
||||
[[NSUserDefaults standardUserDefaults] setBool:[cdsCore isFrameSkipEnabled] forKey:@"CoreControl_EnableAutoFrameSkip"];
|
||||
|
@ -577,6 +570,9 @@
|
|||
[inputManager setMappingsWithMappings:userMappings];
|
||||
[[inputManager hidManager] setDeviceListController:inputDeviceListController];
|
||||
|
||||
// Set up the ROM Info panel.
|
||||
[romInfoPanel setupUserDefaults];
|
||||
|
||||
// Set up the preferences window.
|
||||
[prefWindowDelegate setupUserDefaults];
|
||||
|
||||
|
@ -587,23 +583,6 @@
|
|||
[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
|
||||
{
|
||||
EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content];
|
||||
|
|
Loading…
Reference in New Issue