first copy of the front-end from Ben Wilber. Thanks Ben!

This commit is contained in:
Zachary Slater 2009-03-21 22:55:40 +00:00
parent 53adde9fb2
commit d8080d3646
18 changed files with 5821 additions and 0 deletions

View File

@ -0,0 +1,22 @@
//
// Controller.h
// ioquake3fe
//
// Created by Ben Wilber on 3/11/09.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface Controller : NSObject {
IBOutlet id argsTextField;
NSTask *quakeTask;
NSFileHandle *quakeOut;
NSMutableData *quakeData;
}
- (IBAction)launch:(id)sender;
- (void)readPipe:(NSNotification *)note;
- (void)taskNote:(NSNotification *)note;
@end

View File

@ -0,0 +1,97 @@
//
// Controller.m
// ioquake3fe
//
// Created by Ben Wilber on 3/11/09.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import "Controller.h"
#import "ErrorWindow.h"
#define IOQ3_BIN @"ioquake3.ub"
@implementation Controller
- (id)init
{
[super init];
quakeData = [[NSMutableData alloc] initWithCapacity:1.0];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(readPipe:) name:NSFileHandleReadCompletionNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(taskNote:) name:NSTaskDidTerminateNotification object:nil];
return self;
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
- (IBAction)launch:(id)sender
{
NSPipe *pipe = [NSPipe pipe];
quakeOut = [pipe fileHandleForReading];
[quakeOut readInBackgroundAndNotify];
quakeTask = [NSTask new];
[quakeTask setStandardOutput:pipe];
[quakeTask setStandardError:pipe];
NSString *args = [argsTextField stringValue];
if ([args length])
[quakeTask setArguments:[args componentsSeparatedByString:@" "]];
// tiger sucks
//[quakeTask setArguments:[args componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];
BOOL die = NO;
@try {
[quakeTask setLaunchPath:[[NSBundle mainBundle] pathForAuxiliaryExecutable:IOQ3_BIN]];
[quakeTask launch];
}
@catch (NSException *e) {
[[NSAlert
alertWithMessageText:NSLocalizedString(@"Launch Failed", @"launch failed")
defaultButton:NSLocalizedString(@"OK", @"OK")
alternateButton:nil
otherButton:nil
informativeTextWithFormat:NSLocalizedString(@"Something is probably wrong with the actual ioquake3 binary.", @"launch failed text")]
runModal];
die = YES;
}
@finally {
if (die)
[NSApp terminate:self];
}
[[sender window] close];
return;
}
- (void)readPipe:(NSNotification *)note
{
if ([note object] == quakeOut) {
NSData *outputData = [[note userInfo] objectForKey:NSFileHandleNotificationDataItem];
if ([outputData length])
[quakeData appendData:outputData];
if (quakeTask)
[quakeOut readInBackgroundAndNotify];
}
}
- (void)taskNote:(NSNotification *)note
{
if ([note object] == quakeTask) {
if ([quakeTask isRunning] == NO) {
if ([quakeTask terminationStatus] != 0) {
ErrorWindow *ew = [[[ErrorWindow alloc] init] autorelease];
[ew bitch:[[[NSString alloc] initWithData:quakeData encoding:NSUTF8StringEncoding] autorelease]];
} else {
[NSApp terminate:self];
}
}
}
}
@end

View File

@ -0,0 +1,473 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">9G55</string>
<string key="IBDocument.InterfaceBuilderVersion">677</string>
<string key="IBDocument.AppKitVersion">949.43</string>
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="4"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="1001">
<string key="NSClassName">ErrorWindow</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="155440160">
<int key="NSWindowStyleMask">271</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{651, 380}, {524, 447}}</string>
<int key="NSWTFlags">536870912</int>
<string key="NSWindowTitle">ioquake3 Error</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<object class="NSView" key="NSWindowView" id="54756614">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextField" id="292492084">
<reference key="NSNextResponder" ref="54756614"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 417}, {169, 17}}</string>
<reference key="NSSuperview" ref="54756614"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="575361055">
<int key="NSCellFlags">68288064</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">ioquake3 failed to launch.</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">1.300000e+01</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="292492084"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="176059221">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<object class="NSColor" key="NSColor" id="173779470">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
</object>
<object class="NSScrollView" id="512531488">
<reference key="NSNextResponder" ref="54756614"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSClipView" id="352697090">
<reference key="NSNextResponder" ref="512531488"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextView" id="964973896">
<reference key="NSNextResponder" ref="352697090"/>
<int key="NSvFlags">2322</int>
<string key="NSFrameSize">{524, 12}</string>
<reference key="NSSuperview" ref="352697090"/>
<object class="NSTextContainer" key="NSTextContainer" id="349272148">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
<object class="NSMutableString" key="NSString">
<characters key="NS.bytes">$up ladiez.</characters>
</object>
<object class="NSDictionary" key="NSAttributes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSFont</string>
<string>NSParagraphStyle</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSFont">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">1.000000e+01</double>
<int key="NSfFlags">2843</int>
</object>
<object class="NSParagraphStyle">
<int key="NSAlignment">4</int>
<nil key="NSTabStops"/>
</object>
</object>
</object>
<nil key="NSDelegate"/>
</object>
<object class="NSMutableArray" key="NSTextContainers">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="349272148"/>
</object>
<int key="NSLMFlags">6</int>
<nil key="NSDelegate"/>
</object>
<reference key="NSTextView" ref="964973896"/>
<double key="NSWidth">5.240000e+02</double>
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
<int key="NSFlags">11009</int>
<object class="NSColor" key="NSBackgroundColor" id="1055167239">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<reference key="NSInsertionColor" ref="173779470"/>
<object class="NSDictionary" key="NSSelectedAttributes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSBackgroundColor</string>
<string>NSColor</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextBackgroundColor</string>
<reference key="NSColor" ref="176059221"/>
</object>
<object class="NSColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextColor</string>
<reference key="NSColor" ref="173779470"/>
</object>
</object>
</object>
<nil key="NSMarkedAttributes"/>
<object class="NSDictionary" key="NSLinkAttributes">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSColor</string>
<string>NSUnderline</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDEAA</bytes>
</object>
<integer value="1"/>
</object>
</object>
<nil key="NSDefaultParagraphStyle"/>
</object>
<int key="NSTVFlags">6</int>
<string key="NSMaxSize">{1050, 1e+07}</string>
<string key="NSMinize">{223, 0}</string>
<nil key="NSDelegate"/>
</object>
</object>
<string key="NSFrame">{{1, 1}, {524, 401}}</string>
<reference key="NSSuperview" ref="512531488"/>
<reference key="NSNextKeyView" ref="964973896"/>
<reference key="NSDocView" ref="964973896"/>
<reference key="NSBGColor" ref="1055167239"/>
<object class="NSCursor" key="NSCursor">
<string key="NSHotSpot">{4, -5}</string>
<int key="NSCursorType">1</int>
</object>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="571984657">
<reference key="NSNextResponder" ref="512531488"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{510, 1}, {15, 383}}</string>
<reference key="NSSuperview" ref="512531488"/>
<reference key="NSTarget" ref="512531488"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.693251e-01</double>
</object>
<object class="NSScroller" id="44610199">
<reference key="NSNextResponder" ref="512531488"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
<reference key="NSSuperview" ref="512531488"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="512531488"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1.000000e+00</double>
<double key="NSPercent">9.456522e-01</double>
</object>
</object>
<string key="NSFrame">{{-1, -1}, {526, 403}}</string>
<reference key="NSSuperview" ref="54756614"/>
<reference key="NSNextKeyView" ref="352697090"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="571984657"/>
<reference key="NSHScroller" ref="44610199"/>
<reference key="NSContentView" ref="352697090"/>
</object>
</object>
<string key="NSFrameSize">{524, 447}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
</object>
<object class="NSCustomObject" id="116451312">
<string key="NSClassName">ErrorWindowController</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">errorTextField</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="964973896"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">errorWindow</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="155440160"/>
</object>
<int key="connectionID">47</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="155440160"/>
<reference key="destination" ref="116451312"/>
</object>
<int key="connectionID">50</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<object class="NSArray" key="object" id="1002">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="1002"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="1002"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="1002"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="155440160"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="54756614"/>
</object>
<reference key="parent" ref="1002"/>
<string key="objectName">Error Window</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="54756614"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="292492084"/>
<reference ref="512531488"/>
</object>
<reference key="parent" ref="155440160"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="292492084"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="575361055"/>
</object>
<reference key="parent" ref="54756614"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="575361055"/>
<reference key="parent" ref="292492084"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">32</int>
<reference key="object" ref="512531488"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="571984657"/>
<reference ref="44610199"/>
<reference ref="964973896"/>
</object>
<reference key="parent" ref="54756614"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">33</int>
<reference key="object" ref="571984657"/>
<reference key="parent" ref="512531488"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">34</int>
<reference key="object" ref="44610199"/>
<reference key="parent" ref="512531488"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">35</int>
<reference key="object" ref="964973896"/>
<reference key="parent" ref="512531488"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">49</int>
<reference key="object" ref="116451312"/>
<reference key="parent" ref="1002"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>10.IBPluginDependency</string>
<string>3.IBEditorWindowLastContentRect</string>
<string>3.IBWindowTemplateEditedContentRect</string>
<string>3.NSWindowTemplate.visibleAtLaunch</string>
<string>3.WindowOrigin</string>
<string>3.editorWindowContentRectSynchronizationRect</string>
<string>32.IBPluginDependency</string>
<string>33.IBPluginDependency</string>
<string>34.IBPluginDependency</string>
<string>35.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>49.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{633, 627}, {524, 447}}</string>
<string>{{633, 627}, {524, 447}}</string>
<boolean value="YES"/>
<string>{196, 240}</string>
<string>{{202, 428}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">50</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">ErrorWindow</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>errorTextField</string>
<string>errorWindow</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">ErrorWindow.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">ErrorWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">ErrorWindowController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.LastKnownRelativeProjectPath">../ioquake3fe.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
#import <Cocoa/Cocoa.h>
@interface ErrorWindow : NSObject {
IBOutlet id errorWindow;
IBOutlet id errorTextField;
}
- (void)bitch:(NSString *)errorlog;
@end

View File

@ -0,0 +1,19 @@
#import "ErrorWindow.h"
@implementation ErrorWindow
- (void)bitch:(NSString *)errorlog
{
NSLog(errorlog);
NSNib *nib = [[NSNib alloc] initWithNibNamed:@"ErrorWindow.nib" bundle:[NSBundle mainBundle]];
[nib instantiateNibWithOwner:self topLevelObjects:nil];
[errorWindow makeKeyWindow];
[errorTextField setFont:[NSFont userFixedPitchFontOfSize:12.0]];
[errorTextField setString:@""];
[[errorTextField textStorage] appendAttributedString:[[[NSAttributedString alloc] initWithString:errorlog] autorelease]];
[errorTextField scrollRangeToVisible:NSMakeRange([[errorTextField string] length], 0)];
}
@end

View File

@ -0,0 +1,16 @@
//
// ErrorWindowController.h
// ioquake3fe
//
// Created by Ben Wilber on 3/11/09.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface ErrorWindowController : NSWindowController {
}
@end

View File

@ -0,0 +1,21 @@
//
// ErrorWindowController.m
// ioquake3fe
//
// Created by Ben Wilber on 3/11/09.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
#import "ErrorWindowController.h"
@implementation ErrorWindowController
// yes, a whole class just so the fucking app will quit
- (BOOL)windowShouldClose:(id)sender
{
[NSApp terminate:self];
return YES;
}
@end

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>ioquake3.icns</string>
<key>CFBundleIdentifier</key>
<string>org.icculus.quake3</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,204 @@
// !$*UTF8*$!
{
089C165DFE840E0CC02AAC07 /* English */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {821, 645}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 45}";
sepNavWindowFrame = "{{15, 456}, {880, 717}}";
};
};
29B97313FDCFA39411CA2CEA /* Project object */ = {
activeBuildConfigurationName = Debug;
activeExecutable = C3F1553E0F60E3570009B6EC /* ioquake3fe */;
activeSDKPreference = macosx10.4;
activeTarget = 8D1107260486CEB800E47090 /* ioquake3fe */;
addToTargets = (
8D1107260486CEB800E47090 /* ioquake3fe */,
);
codeSenseManager = C3F1554C0F60E3690009B6EC /* Code sense */;
executables = (
C3F1553E0F60E3570009B6EC /* ioquake3fe */,
);
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
10,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 258492241;
PBXWorkspaceStateSaveDate = 258492241;
};
sourceControlManager = C3F1554B0F60E3690009B6EC /* Source Control */;
userBuildSettings = {
};
};
29B97316FDCFA39411CA2CEA /* main.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {659, 692}}";
sepNavSelRange = "{218, 0}";
sepNavVisRange = "{0, 279}";
sepNavWindowFrame = "{{15, 409}, {718, 764}}";
};
};
32CA4F630368D1EE00C91783 /* ioquake3fe_Prefix.pch */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {659, 692}}";
sepNavSelRange = "{151, 0}";
sepNavVisRange = "{0, 151}";
sepNavWindowFrame = "{{84, 346}, {718, 764}}";
};
};
8D1107260486CEB800E47090 /* ioquake3fe */ = {
activeExec = 0;
executables = (
C3F1553E0F60E3570009B6EC /* ioquake3fe */,
);
};
8D1107310486CEB800E47090 /* Info.plist */ = {
uiCtxt = {
sepNavWindowFrame = "{{506, 383}, {880, 717}}";
};
};
C30C62160F677DD30043A4E2 /* Controller.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {454, 547}}";
sepNavSelRange = "{304, 0}";
sepNavVisRange = "{0, 424}";
sepNavWindowFrame = "{{53, 385}, {513, 619}}";
};
};
C30C62170F677DD30043A4E2 /* Controller.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {882, 1372}}";
sepNavSelRange = "{2380, 0}";
sepNavVisRange = "{0, 1262}";
sepNavWindowFrame = "{{570, 151}, {880, 717}}";
};
};
C30C631B0F67A37E0043A4E2 /* ErrorWindow.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {821, 645}}";
sepNavSelRange = "{166, 0}";
sepNavVisRange = "{0, 166}";
sepNavWindowFrame = "{{488, 62}, {880, 717}}";
};
};
C30C631C0F67A37E0043A4E2 /* ErrorWindow.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {905, 642}}";
sepNavSelRange = "{617, 0}";
sepNavVisRange = "{0, 617}";
sepNavWindowFrame = "{{456, 76}, {964, 714}}";
};
};
C30C638E0F67AA7B0043A4E2 /* ioquake3.icns */ = {
uiCtxt = {
sepNavWindowFrame = "{{15, 554}, {513, 619}}";
};
};
C34EC1F40F68433A00C42E7D /* ErrorWindowController.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {905, 642}}";
sepNavSelRange = "{175, 0}";
sepNavVisRange = "{0, 241}";
sepNavWindowFrame = "{{15, 459}, {964, 714}}";
};
};
C34EC1F50F68433A00C42E7D /* ErrorWindowController.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {905, 642}}";
sepNavSelRange = "{366, 0}";
sepNavVisRange = "{0, 366}";
sepNavWindowFrame = "{{38, 438}, {964, 714}}";
};
};
C3F1553E0F60E3570009B6EC /* ioquake3fe */ = {
isa = PBXExecutable;
activeArgIndices = (
);
argumentStrings = (
);
autoAttachOnCrash = 1;
breakpointsEnabled = 0;
configStateDict = {
};
customDataFormattersEnabled = 1;
debuggerPlugin = GDBDebugging;
disassemblyDisplayState = 0;
dylibVariantSuffix = "";
enableDebugStr = 1;
environmentEntries = (
);
executableSystemSymbolLevel = 0;
executableUserSymbolLevel = 0;
libgmallocEnabled = 0;
name = ioquake3fe;
savedGlobals = {
};
sourceDirectories = (
);
variableFormatDictionary = {
$cs = 1;
$ds = 1;
$eax = 1;
$ebp = 1;
$ebx = 1;
$ecx = 1;
$edi = 1;
$edx = 1;
$eflags = 1;
$eip = 1;
$es = 1;
$esi = 1;
$esp = 1;
$gs = 1;
$mm0 = 1;
$mm1 = 1;
$mm2 = 1;
$mm3 = 1;
$mm4 = 1;
$mm5 = 1;
$mm6 = 1;
$mm7 = 1;
$mxcsr = 1;
$ss = 1;
$xmm0 = 1;
$xmm1 = 1;
$xmm2 = 1;
$xmm3 = 1;
$xmm4 = 1;
$xmm5 = 1;
$xmm6 = 1;
$xmm7 = 1;
};
};
C3F1554B0F60E3690009B6EC /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
};
};
C3F1554C0F60E3690009B6EC /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
}

View File

@ -0,0 +1,310 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
C30C62180F677DD30043A4E2 /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = C30C62170F677DD30043A4E2 /* Controller.m */; };
C30C631D0F67A37E0043A4E2 /* ErrorWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = C30C631C0F67A37E0043A4E2 /* ErrorWindow.m */; };
C30C638F0F67AA7B0043A4E2 /* ioquake3.icns in Resources */ = {isa = PBXBuildFile; fileRef = C30C638E0F67AA7B0043A4E2 /* ioquake3.icns */; };
C34EC1F60F68433A00C42E7D /* ErrorWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = C34EC1F50F68433A00C42E7D /* ErrorWindowController.m */; };
C37357890F68280200B1A10C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = C37357850F68280200B1A10C /* MainMenu.xib */; };
C373578A0F68280200B1A10C /* ErrorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = C37357870F68280200B1A10C /* ErrorWindow.xib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
32CA4F630368D1EE00C91783 /* ioquake3fe_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioquake3fe_Prefix.pch; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* ioquake3fe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ioquake3fe.app; sourceTree = BUILT_PRODUCTS_DIR; };
C30C62160F677DD30043A4E2 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; };
C30C62170F677DD30043A4E2 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Controller.m; sourceTree = "<group>"; };
C30C631B0F67A37E0043A4E2 /* ErrorWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorWindow.h; sourceTree = "<group>"; };
C30C631C0F67A37E0043A4E2 /* ErrorWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ErrorWindow.m; sourceTree = "<group>"; };
C30C638E0F67AA7B0043A4E2 /* ioquake3.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = ioquake3.icns; sourceTree = "<group>"; };
C34EC1F40F68433A00C42E7D /* ErrorWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorWindowController.h; sourceTree = "<group>"; };
C34EC1F50F68433A00C42E7D /* ErrorWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ErrorWindowController.m; sourceTree = "<group>"; };
C37357860F68280200B1A10C /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
C37357880F68280200B1A10C /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/ErrorWindow.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
C30C631B0F67A37E0043A4E2 /* ErrorWindow.h */,
C30C631C0F67A37E0043A4E2 /* ErrorWindow.m */,
C30C62160F677DD30043A4E2 /* Controller.h */,
C30C62170F677DD30043A4E2 /* Controller.m */,
C34EC1F40F68433A00C42E7D /* ErrorWindowController.h */,
C34EC1F50F68433A00C42E7D /* ErrorWindowController.m */,
);
name = Classes;
sourceTree = "<group>";
};
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* ioquake3fe.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* ioquake3fe */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = ioquake3fe;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
32CA4F630368D1EE00C91783 /* ioquake3fe_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
C37357850F68280200B1A10C /* MainMenu.xib */,
C37357870F68280200B1A10C /* ErrorWindow.xib */,
C30C638E0F67AA7B0043A4E2 /* ioquake3.icns */,
8D1107310486CEB800E47090 /* Info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* ioquake3fe */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ioquake3fe" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = ioquake3fe;
productInstallPath = "$(HOME)/Applications";
productName = ioquake3fe;
productReference = 8D1107320486CEB800E47090 /* ioquake3fe.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ioquake3fe" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
mainGroup = 29B97314FDCFA39411CA2CEA /* ioquake3fe */;
projectDirPath = "";
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* ioquake3fe */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
C30C638F0F67AA7B0043A4E2 /* ioquake3.icns in Resources */,
C37357890F68280200B1A10C /* MainMenu.xib in Resources */,
C373578A0F68280200B1A10C /* ErrorWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072D0486CEB800E47090 /* main.m in Sources */,
C30C62180F677DD30043A4E2 /* Controller.m in Sources */,
C30C631D0F67A37E0043A4E2 /* ErrorWindow.m in Sources */,
C34EC1F60F68433A00C42E7D /* ErrorWindowController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C165DFE840E0CC02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
C37357850F68280200B1A10C /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
C37357860F68280200B1A10C /* English */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
C37357870F68280200B1A10C /* ErrorWindow.xib */ = {
isa = PBXVariantGroup;
children = (
C37357880F68280200B1A10C /* English */,
);
name = ErrorWindow.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ioquake3fe_Prefix.pch;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = ioquake3fe;
};
name = Debug;
};
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ioquake3fe_Prefix.pch;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = ioquake3fe;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = macosx10.4;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.4;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "ioquake3fe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ioquake3fe" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View File

@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'ioquake3fe' target in the 'ioquake3fe' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

View File

@ -0,0 +1,14 @@
//
// main.m
// ioquake3fe
//
// Created by Ben Wilber on 3/11/09.
// Copyright __MyCompanyName__ 2009. All rights reserved.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}