mac: Support Lion FullScreen

Martin Plicht 2012-03-23 00:03:05 +01:00
parent 25fec934d6
commit aaa5a71e4b
10 changed files with 238 additions and 183 deletions

View File

@ -61,6 +61,11 @@ C4Window * C4Window::Init(C4Window::WindowKind windowKind, C4AbstractApp * pApp,
this->controller = controller;
[NSBundle loadNibNamed:windowNibNameForWindowKind(windowKind) owner:controller];
[controller setStdWindow:this];
if (windowKind != W_GuiWindow)
{
if (lionAndBeyond())
[controller.window setCollectionBehavior:[controller.window collectionBehavior] | NSWindowCollectionBehaviorFullScreenPrimary];
}
SetTitle(Title);
return this;
}

View File

@ -38,7 +38,8 @@
IBOutlet NSMenuItem *kickPlayerMenuItem;
IBOutlet NSMenuItem *recordMenuItem;
IBOutlet NSMenuItem *netMenu;
IBOutlet NSMenuItem *toggleFullScreen;
BOOL running;
char** argv;
int argc;

View File

@ -133,6 +133,8 @@
[NSApp terminate:self];
}
[[NSRunLoop currentRunLoop] performSelector:@selector(delayedRun:) target:self argument:self order:0 modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];
if (!lionAndBeyond())
[toggleFullScreen setTarget:self]; // revert to old pre-Lion fullscreen
#endif
}
else

View File

@ -14,7 +14,7 @@
- (IBAction) newViewportForPlayer:(id)sender;
- (IBAction) joinPlayer:(id)sender;
- (IBAction) showAbout:(id)sender;
- (IBAction) toggleFullscreen:(id)sender;
- (IBAction) toggleFullScreen:(id)sender;
- (IBAction) togglePause:(id)sender;
- (IBAction) setConsoleMode:(id)sender;
- (IBAction) setDrawingTool:(id)sender;

View File

@ -139,7 +139,7 @@
- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)item
{
// enabled when running in fullscreen
if ([item action] == @selector(toggleFullscreen:))
if ([item action] == @selector(toggleFullScreen:))
return !Application.isEditor;
// game running no matter whether console or fullscreen

View File

@ -523,6 +523,7 @@ void C4Window::EnumerateMultiSamples(std::vector<int>& samples) const
bool C4AbstractApp::SetVideoMode(unsigned int iXRes, unsigned int iYRes, unsigned int iColorDepth, unsigned int iRefreshRate, unsigned int iMonitor, bool fFullScreen)
{
fFullScreen &= !lionAndBeyond(); // Always false for Lion since then Lion's true(tm) Fullscreen is used
ClonkWindowController* controller = (ClonkWindowController*)pWindow->GetController();
NSWindow* window = controller.window;

View File

@ -24,6 +24,8 @@ class C4Viewport;
@class NSTextView;
@class ConsoleWindowController;
bool lionAndBeyond();
@interface ClonkWindowController : NSWindowController<NSWindowDelegate> {
IBOutlet ClonkOpenGLView* openGLView;
IBOutlet NSScrollView* scrollView;

View File

@ -30,6 +30,15 @@
#import "ClonkAppDelegate.h"
#import "AppKit/NSOpenGL.h"
static SInt32 osVersion()
{
SInt32 ver;
Gestalt(gestaltSystemVersion, &ver);
return ver;
}
bool lionAndBeyond() {return osVersion() >= 0x1070;}
#ifdef USE_COCOA
// Turns out, it is necessary to derive a NSWindow class after all - or else the screen-filling window won't be able to become the key window
@ -46,7 +55,6 @@
}
@end
@implementation ClonkWindowController
@synthesize stdWindow, openGLView, scrollView;

View File

@ -2,30 +2,30 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">10H574</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">823</string>
<string key="NS.object.0">2182</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="27"/>
<string>NSCustomView</string>
<string>NSScrollView</string>
<string>NSWindowTemplate</string>
<string>NSView</string>
<string>NSScroller</string>
<string>NSCustomObject</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -46,7 +46,7 @@
<string key="NSWindowTitle">Viewport</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="516276665">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@ -65,13 +65,13 @@
<object class="NSCustomView" id="190287318">
<reference key="NSNextResponder" ref="1010538885"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{465, 255}</string>
<string key="NSFrameSize">{480, 270}</string>
<reference key="NSSuperview" ref="1010538885"/>
<bool key="NSViewCanDrawConcurrently">YES</bool>
<string key="NSClassName">ClonkEditorOpenGLView</string>
</object>
</object>
<string key="NSFrame">{{1, 1}, {465, 255}}</string>
<string key="NSFrame">{{1, 1}, {480, 270}}</string>
<reference key="NSSuperview" ref="363957052"/>
<reference key="NSNextKeyView" ref="190287318"/>
<reference key="NSDocView" ref="190287318"/>
@ -89,7 +89,7 @@
<object class="NSScroller" id="802708292">
<reference key="NSNextResponder" ref="363957052"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{466, 1}, {15, 255}}</string>
<string key="NSFrame">{{466, 1}, {15, 264}}</string>
<reference key="NSSuperview" ref="363957052"/>
<bool key="NSEnabled">YES</bool>
<reference key="NSTarget" ref="363957052"/>
@ -100,7 +100,7 @@
<object class="NSScroller" id="316701890">
<reference key="NSNextResponder" ref="363957052"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{1, 256}, {465, 15}}</string>
<string key="NSFrame">{{1, 256}, {474, 15}}</string>
<reference key="NSSuperview" ref="363957052"/>
<bool key="NSEnabled">YES</bool>
<int key="NSsFlags">1</int>
@ -113,7 +113,7 @@
<reference key="NSSuperview" ref="516276665"/>
<reference key="NSNextKeyView" ref="1010538885"/>
<bool key="NSViewCanDrawConcurrently">YES</bool>
<int key="NSsFlags">50</int>
<int key="NSsFlags">133170</int>
<reference key="NSVScroller" ref="802708292"/>
<reference key="NSHScroller" ref="316701890"/>
<reference key="NSContentView" ref="1010538885"/>
@ -122,8 +122,9 @@
<string key="NSFrameSize">{480, 270}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
@ -137,14 +138,6 @@
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="230815636"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">openGLView</string>
@ -177,6 +170,14 @@
</object>
<int key="connectionID">34</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="230815636"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">initialFirstResponder</string>
@ -191,7 +192,9 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<object class="NSArray" key="object" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
@ -269,14 +272,13 @@
<string>27.IBPluginDependency</string>
<string>28.IBPluginDependency</string>
<string>29.IBPluginDependency</string>
<string>3.IBEditorWindowLastContentRect</string>
<string>3.IBPluginDependency</string>
<string>3.IBWindowTemplateEditedContentRect</string>
<string>3.NSWindowTemplate.visibleAtLaunch</string>
<string>30.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -284,7 +286,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{70, 378}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{70, 378}, {480, 270}}</string>
<boolean value="NO"/>
@ -295,153 +296,29 @@
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">36</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">ClonkEditorOpenGLView</string>
<string key="superclassName">ClonkOpenGLView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>copy:</string>
<string>delete:</string>
<string>grabContents:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>copy:</string>
<string>delete:</string>
<string>grabContents:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">copy:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">delete:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">grabContents:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="260424371">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../../src/platform/ClonkOpenGLView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">ClonkOpenGLView</string>
<string key="superclassName">NSView</string>
<reference key="sourceIdentifier" ref="260424371"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">ClonkWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">scroll:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">scroll:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">scroll:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>openGLView</string>
<string>scrollView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>ClonkOpenGLView</string>
<string>NSScrollView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>openGLView</string>
<string>scrollView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">openGLView</string>
<string key="candidateClassName">ClonkOpenGLView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">scrollView</string>
<string key="candidateClassName">NSScrollView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../../src/platform/ClonkWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">ClonkWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
</object>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1060" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../build/osx/clonk.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@ -933,9 +933,9 @@
<reference key="NSOnImage" ref="236001633"/>
<reference key="NSMixedImage" ref="855621955"/>
</object>
<object class="NSMenuItem" id="123734778">
<object class="NSMenuItem" id="595292667">
<reference key="NSMenu" ref="594976293"/>
<string key="NSTitle">Toggle Fullscreen</string>
<string key="NSTitle">Enter Full Screen</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@ -1332,6 +1332,14 @@
</object>
<int key="connectionID">706</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleFullScreen:</string>
<reference key="source" ref="22732454"/>
<reference key="destination" ref="595292667"/>
</object>
<int key="connectionID">717</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">newViewportForPlayerMenuItem</string>
@ -1444,14 +1452,6 @@
</object>
<int key="connectionID">538</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">toggleFullscreen:</string>
<reference key="source" ref="898186092"/>
<reference key="destination" ref="123734778"/>
</object>
<int key="connectionID">539</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">openPropTools:</string>
@ -1556,6 +1556,14 @@
</object>
<int key="connectionID">707</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">toggleFullScreen</string>
<reference key="source" ref="898186092"/>
<reference key="destination" ref="595292667"/>
</object>
<int key="connectionID">718</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@ -1660,13 +1668,13 @@
<reference key="object" ref="594976293"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="123734778"/>
<reference ref="39021228"/>
<reference ref="949994966"/>
<reference ref="687345396"/>
<reference ref="922362397"/>
<reference ref="788509410"/>
<reference ref="7465935"/>
<reference ref="595292667"/>
</object>
<reference key="parent" ref="143812656"/>
</object>
@ -1786,11 +1794,6 @@
<reference key="object" ref="7465935"/>
<reference key="parent" ref="594976293"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">470</int>
<reference key="object" ref="123734778"/>
<reference key="parent" ref="594976293"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">472</int>
<reference key="object" ref="39021228"/>
@ -2370,6 +2373,11 @@
<reference key="object" ref="748532086"/>
<reference key="parent" ref="520246036"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">716</int>
<reference key="object" ref="595292667"/>
<reference key="parent" ref="594976293"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@ -2405,7 +2413,6 @@
<string>449.IBPluginDependency</string>
<string>459.IBPluginDependency</string>
<string>466.IBPluginDependency</string>
<string>470.IBPluginDependency</string>
<string>472.IBPluginDependency</string>
<string>474.IBPluginDependency</string>
<string>476.IBPluginDependency</string>
@ -2493,6 +2500,7 @@
<string>701.IBPluginDependency</string>
<string>703.IBPluginDependency</string>
<string>704.IBPluginDependency</string>
<string>716.IBPluginDependency</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -2627,7 +2635,7 @@
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">707</int>
<int key="maxID">718</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -2635,6 +2643,150 @@
<object class="IBPartialClassDescription">
<string key="className">ClonkAppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>closeScenario:</string>
<string>joinPlayer:</string>
<string>newViewport:</string>
<string>newViewportForPlayer:</string>
<string>openPropTools:</string>
<string>openScenario:</string>
<string>openScenarioWithPlayers:</string>
<string>record:</string>
<string>saveGameAs:</string>
<string>saveScenario:</string>
<string>saveScenarioAs:</string>
<string>setConsoleMode:</string>
<string>setDrawingTool:</string>
<string>showAbout:</string>
<string>suggestQuitting:</string>
<string>toggleFullscreen:</string>
<string>togglePause:</string>
<string>visitWebsite:</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>closeScenario:</string>
<string>joinPlayer:</string>
<string>newViewport:</string>
<string>newViewportForPlayer:</string>
<string>openPropTools:</string>
<string>openScenario:</string>
<string>openScenarioWithPlayers:</string>
<string>record:</string>
<string>saveGameAs:</string>
<string>saveScenario:</string>
<string>saveScenarioAs:</string>
<string>setConsoleMode:</string>
<string>setDrawingTool:</string>
<string>showAbout:</string>
<string>suggestQuitting:</string>
<string>toggleFullscreen:</string>
<string>togglePause:</string>
<string>visitWebsite:</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">closeScenario:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">joinPlayer:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">newViewport:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">newViewportForPlayer:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openPropTools:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openScenario:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">openScenarioWithPlayers:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">record:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveGameAs:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveScenario:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">saveScenarioAs:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">setConsoleMode:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">setDrawingTool:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">showAbout:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">suggestQuitting:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">toggleFullscreen:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">togglePause:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">visitWebsite:</string>
<string key="candidateClassName">id</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@ -2643,6 +2795,7 @@
<string>kickPlayerMenuItem</string>
<string>netMenu</string>
<string>recordMenuItem</string>
<string>toggleFullScreen</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -2650,6 +2803,7 @@
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
@ -2660,6 +2814,7 @@
<string>kickPlayerMenuItem</string>
<string>netMenu</string>
<string>recordMenuItem</string>
<string>toggleFullScreen</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -2679,6 +2834,10 @@
<string key="name">recordMenuItem</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">toggleFullScreen</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">