hello world

This commit is contained in:
Timothee 'TTimo' Besset
2011-11-22 15:28:15 -06:00
commit fb1609f554
2155 changed files with 1017022 additions and 0 deletions

34
neo/sys/osx/DLL.OSX.txt Normal file
View File

@@ -0,0 +1,34 @@
short:
dlopen/dlclose, then dlopen a dynamic library again won't go through C++ static initialization again
long:
first dlopen:
set a break in idTypeInfo constructor ( class typeinfo is static )
nothing happens on dlopen, statics are initialized when resolving symbols ( as they need to be before any C++ code runs )
#0 0x900429ac in kill ()
#1 0x1ee95074 in idClass::ProcessEventArgPtr(idEventDef const*, int*) () at /Users/timo/SVN/Doom/neo/framework/CmdSystem.h:130
#2 0x1ee94ff4 in idClass::ProcessEventArgPtr(idEventDef const*, int*) () at /Users/timo/SVN/Doom/neo/framework/CmdSystem.h:130
#3 0x1f138d30 in __static_initialization_and_destruction_0(int, int) (__initialize_p=521892804, __priority=520821908) at /Users/timo/SVN/Doom/neo/game/Actor.cpp:339
#4 0x1f138d94 in _GLOBAL__I__ZN11idAnimStateC2Ev () at /Users/timo/SVN/Doom/neo/game/Actor.cpp:106
#5 0x8fe17728 in __dyld_call_module_initializers_for_library ()
#6 0x8fe174a0 in __dyld_call_module_initializers ()
#7 0x8fe11704 in __dyld_link_in_need_modules ()
#8 0x8fe14f50 in __dyld__dyld_NSLookupSymbolInImage ()
#9 0x900f81f0 in dlsymIntern ()
#10 0x900f8b1c in dlsym ()
#11 0x001e71c8 in Sys_DLL_GetProcAddress(int, char const*) (handle=392873136, sym=0x3a0b20 "GetGameAPI") at /Users/timo/SVN/Doom/neo/sys/posix/posix_main.cpp:376
#12 0x0008c968 in idCommonLocal::LoadGameDLL() (this=0x78a85c) at /Users/timo/SVN/Doom/neo/framework/Common.cpp:2589
then do reloadEngine, the DLL will be dlclose, then dlopen again
this time no initialization happens ( even though there is another dlsym call, and a call to GetGameAPI )
things in that case pretty much behave like the monolithic build does
searched online and found a bunch of people complaining about this problem here and there, but no obvious fix around
http://lists.apple.com/archives/darwin-development/2003/Sep/msg00109.html
from the dlopen man page and various things online, I think that on top of dlclose, one should also remove
the library from the address space to force a fresh start
maybe using NSModule ( man 3 NSModule ) would fix those issues?

View File

@@ -0,0 +1,15 @@
// $Header: /Network/CIFS/Limbo/Limbo/CVS/id/missionpack/code/macosx/Client/DOOMController.h,v 1.2 2000/11/14 04:38:34 zaphod Exp $
#import <AppKit/AppKit.h>
@interface DOOMController : NSObject
{
// IBOutlet NSPanel *bannerPanel;
}
//- (IBAction)paste:(id)sender;
//- (IBAction)requestTerminate:(id)sender;
//- (void) showBanner;
@end

File diff suppressed because it is too large Load Diff

BIN
neo/sys/osx/Doom 3.rsrc Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
neo/sys/osx/Doom3.icns Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
{
IBClasses = ();
IBVersion = 1;
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>644 134 374 387 0 0 1280 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>130 495 95 44 0 0 1600 1002 </string>
</dict>
<key>IBFramework Version</key>
<string>364.0</string>
<key>IBOldestOS</key>
<integer>3</integer>
<key>IBSystem Version</key>
<string>7W98</string>
<key>targetFramework</key>
<string>IBCarbonFramework</string>
</dict>
</plist>

View File

@@ -0,0 +1,710 @@
<?xml version="1.0" standalone="yes"?>
<object class="NSIBObjectData">
<string name="targetFramework">IBCarbonFramework</string>
<object name="rootObject" class="NSCustomObject" id="1">
<string name="customClass">NSApplication</string>
</object>
<array count="73" name="allObjects">
<object class="IBCarbonMenu" id="29">
<string name="title">SimpleHello</string>
<array count="1" name="items">
<object class="IBCarbonMenuItem" id="185">
<string name="title">ASL Game</string>
<object name="submenu" class="IBCarbonMenu" id="184">
<string name="title">ASL Game</string>
<array count="6" name="items">
<object class="IBCarbonMenuItem" id="187">
<string name="title">About &lt;&lt;&lt;kGameName&gt;&gt;&gt;...</string>
<int name="keyEquivalentModifier">0</int>
<ostype name="command">abou</ostype>
</object>
<object class="IBCarbonMenuItem" id="186">
<boolean name="separator">TRUE</boolean>
</object>
<object class="IBCarbonMenuItem" id="248">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Preferences...</string>
<string name="keyEquivalent">,</string>
<ostype name="command">pref</ostype>
</object>
<object class="IBCarbonMenuItem" id="249">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
<object class="IBCarbonMenuItem" id="228">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Toggle Full Screen</string>
<string name="keyEquivalent">&#13;</string>
<ostype name="command">Togg</ostype>
</object>
<object class="IBCarbonMenuItem" id="229">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
</array>
<string name="name">_NSAppleMenu</string>
</object>
</object>
</array>
<string name="name">_NSMainMenu</string>
</object>
<reference idRef="184"/>
<reference idRef="185"/>
<reference idRef="186"/>
<reference idRef="187"/>
<reference idRef="228"/>
<reference idRef="229"/>
<reference idRef="248"/>
<reference idRef="249"/>
<object class="IBCarbonWindow" id="250">
<string name="windowRect">640 261 881 829 </string>
<string name="title">Doom 3 Preferences</string>
<object name="rootControl" class="IBCarbonRootControl" id="251">
<string name="bounds">0 0 241 568 </string>
<string name="viewFrame">0 0 568 241 </string>
<array count="6" name="subviews">
<object class="IBCarbonGroupBox" id="252">
<string name="bounds">6 20 221 272 </string>
<string name="viewFrame">20 6 252 215 </string>
<array count="6" name="subviews">
<object class="IBCarbonBevelButton" id="257">
<string name="bounds">36 50 102 126 </string>
<string name="viewFrame">30 30 76 66 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">1</int>
<string name="title">Fullscreen</string>
<ostype name="command">Full</ostype>
<unsigned_int name="behavior">256</unsigned_int>
<int name="contentType">3</int>
<int name="contentResID">1000</int>
<int name="textPlacement">3</int>
</object>
<object class="IBCarbonBevelButton" id="262">
<string name="bounds">36 166 102 242 </string>
<string name="viewFrame">146 30 76 66 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">2</int>
<string name="title">In a Window</string>
<ostype name="command">Wind</ostype>
<unsigned_int name="behavior">256</unsigned_int>
<int name="contentType">3</int>
<int name="contentResID">1001</int>
<int name="textPlacement">3</int>
</object>
<object class="IBCarbonPopupButton" id="264">
<string name="bounds">116 36 136 256 </string>
<string name="viewFrame">16 110 220 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">3</int>
<string name="title">Resolution:</string>
<ostype name="command">Reso</ostype>
<int name="titleJustification">-2</int>
<object name="menu" class="IBCarbonMenu" id="266">
<string name="title">Popup:</string>
<array count="3" name="items">
<object class="IBCarbonMenuItem" id="265">
<boolean name="checked">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">800 x 600</string>
</object>
<object class="IBCarbonMenuItem" id="263">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">1024 x 768</string>
</object>
<object class="IBCarbonMenuItem" id="267">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">1280 x 1024</string>
</object>
</array>
</object>
</object>
<object class="IBCarbonPopupButton" id="269">
<string name="bounds">148 36 168 256 </string>
<string name="viewFrame">16 142 220 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">4</int>
<string name="title">Refresh Rate:</string>
<ostype name="command">Refr</ostype>
<int name="titleJustification">-2</int>
<object name="menu" class="IBCarbonMenu" id="270">
<string name="title">Popup:</string>
<array count="2" name="items">
<object class="IBCarbonMenuItem" id="271">
<boolean name="checked">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Automatic</string>
</object>
<object class="IBCarbonMenuItem" id="279">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
</array>
</object>
</object>
<object class="IBCarbonStaticText" id="273">
<string name="bounds">189 36 205 161 </string>
<string name="viewFrame">16 183 125 16 </string>
<string name="title">Multiple Monitors:</string>
<int name="justification">-2</int>
</object>
<object class="IBCarbonButton" id="274">
<string name="bounds">188 169 208 256 </string>
<string name="viewFrame">149 182 87 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">5</int>
<string name="title">Choose...</string>
<ostype name="command">Moni</ostype>
</object>
</array>
<string name="title">Monitor Options</string>
</object>
<object class="IBCarbonStaticText" id="275">
<string name="bounds">48 317 104 548 </string>
<string name="viewFrame">317 48 231 56 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">This dialog will always be displayed if the command key is held down when the game starts.</string>
</object>
<object class="IBCarbonButton" id="277">
<string name="bounds">201 396 221 466 </string>
<string name="viewFrame">396 201 70 20 </string>
<string name="title">Cancel</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="278">
<string name="bounds">201 478 221 548 </string>
<string name="viewFrame">478 201 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonCheckBox" id="322">
<string name="bounds">20 296 40 548 </string>
<string name="viewFrame">296 20 252 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">6</int>
<string name="title">Always display this dialog at startup</string>
</object>
<object class="IBCarbonCheckBox" id="377">
<string name="bounds">112 296 132 548 </string>
<string name="viewFrame">296 112 252 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">7</int>
<string name="title">Use OpenAL</string>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="251"/>
<reference idRef="252"/>
<reference idRef="257"/>
<reference idRef="262"/>
<reference idRef="263"/>
<reference idRef="264"/>
<reference idRef="265"/>
<reference idRef="266"/>
<reference idRef="267"/>
<reference idRef="269"/>
<reference idRef="270"/>
<reference idRef="271"/>
<reference idRef="273"/>
<reference idRef="274"/>
<reference idRef="275"/>
<reference idRef="277"/>
<reference idRef="278"/>
<reference idRef="279"/>
<object class="IBCarbonButton" id="285">
<string name="bounds">256 318 276 388 </string>
<string name="viewFrame">318 256 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonWindow" id="289">
<string name="windowRect">366 175 662 583 </string>
<string name="title">&lt;&lt;&lt;kGameName&gt;&gt;&gt;</string>
<object name="rootControl" class="IBCarbonRootControl" id="294">
<string name="bounds">0 0 296 408 </string>
<string name="viewFrame">0 0 408 296 </string>
<array count="3" name="subviews">
<object class="IBCarbonGroupBox" id="297">
<string name="bounds">6 20 236 388 </string>
<string name="viewFrame">20 6 368 230 </string>
<array count="1" name="subviews">
<object class="IBCarbonUserPane" id="302">
<string name="bounds">36 36 220 372 </string>
<string name="viewFrame">16 30 336 184 </string>
<ostype name="controlSignature">MONI</ostype>
<int name="controlID">1</int>
<int name="featureBits">32</int>
</object>
</array>
<string name="title">Select a Monitor</string>
</object>
<object class="IBCarbonButton" id="295">
<string name="bounds">256 236 276 306 </string>
<string name="viewFrame">236 256 70 20 </string>
<string name="title">Cancel</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<reference idRef="285"/>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">11</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="294"/>
<reference idRef="295"/>
<reference idRef="297"/>
<reference idRef="302"/>
<object class="IBCarbonButton" id="303">
<string name="bounds">88 303 108 373 </string>
<string name="viewFrame">303 88 70 20 </string>
<string name="title">Quit</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonWindow" id="305">
<string name="windowRect">648 341 776 734 </string>
<string name="title">Doom 3</string>
<object name="rootControl" class="IBCarbonRootControl" id="307">
<string name="bounds">0 0 128 393 </string>
<string name="viewFrame">0 0 393 128 </string>
<array count="3" name="subviews">
<reference idRef="303"/>
<object class="IBCarbonStaticText" id="309">
<string name="bounds">20 84 68 373 </string>
<string name="viewFrame">84 20 289 48 </string>
<ostype name="controlSignature">CD__</ostype>
<int name="controlID">1</int>
<string name="title">Please insert the disc &quot;Doom 3&quot; or press Quit.</string>
</object>
<object class="IBCarbonIcon" id="348">
<string name="bounds">20 20 68 68 </string>
<string name="viewFrame">20 20 48 48 </string>
<int name="contentResID">1667523698</int>
<int name="contentType">132</int>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="307"/>
<reference idRef="309"/>
<object class="IBCarbonButton" id="313">
<string name="bounds">140 447 160 517 </string>
<string name="viewFrame">447 140 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonButton" id="314">
<string name="bounds">140 365 160 435 </string>
<string name="viewFrame">365 140 70 20 </string>
<string name="title">Cancel</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonCheckBox" id="315">
<string name="bounds">61 130 81 517 </string>
<string name="viewFrame">130 61 387 20 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">2</int>
<string name="title">Always display this dialog at startup</string>
</object>
<object class="IBCarbonWindow" id="316">
<string name="windowRect">290 42 470 579 </string>
<string name="title">&lt;&lt;&lt;kGameName&gt;&gt;&gt;</string>
<object name="rootControl" class="IBCarbonRootControl" id="318">
<string name="bounds">0 0 180 537 </string>
<string name="viewFrame">0 0 537 180 </string>
<array count="7" name="subviews">
<object class="IBCarbonStaticText" id="319">
<string name="bounds">88 151 120 517 </string>
<string name="viewFrame">151 88 366 32 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">This dialog will always be displayed if the shift key is held down when the game starts.</string>
</object>
<reference idRef="314"/>
<reference idRef="313"/>
<object class="IBCarbonStaticText" id="320">
<string name="bounds">20 20 36 122 </string>
<string name="viewFrame">20 20 102 16 </string>
<string name="title">Command Line:</string>
</object>
<object class="IBCarbonEditText" id="317">
<string name="bounds">21 133 37 432 </string>
<string name="viewFrame">133 21 299 16 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">1</int>
<boolean name="isUnicode">TRUE</boolean>
<boolean name="isSingleLine">TRUE</boolean>
</object>
<reference idRef="315"/>
<object class="IBCarbonButton" id="321">
<string name="bounds">19 447 39 517 </string>
<string name="viewFrame">447 19 70 20 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">3</int>
<string name="title">Revert</string>
<ostype name="command">rvrt</ostype>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="317"/>
<reference idRef="318"/>
<reference idRef="319"/>
<reference idRef="320"/>
<reference idRef="321"/>
<reference idRef="322"/>
<object class="IBCarbonButton" id="325">
<string name="bounds">51 417 71 517 </string>
<string name="viewFrame">417 51 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">2</int>
<string name="title">Ignore This</string>
<ostype name="command">IThs</ostype>
<string name="helpTagText">Ignore all warnings and assertions in the future</string>
<string name="helpTagExtendedText">Ignore all warnings and assertions in the future. This warning dialog wll no longer be displayed.</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonRootControl" id="326">
<string name="bounds">0 0 187 537 </string>
<string name="viewFrame">0 0 537 187 </string>
<array count="8" name="subviews">
<reference idRef="325"/>
<object class="IBCarbonButton" id="330">
<string name="bounds">19 417 39 517 </string>
<string name="viewFrame">417 19 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">1</int>
<string name="title">Continue</string>
<ostype name="command">Cont</ostype>
<string name="helpTagText">Continue running the application</string>
<string name="helpTagExtendedText">Continue running the application. If this same condition occurs again, you will be notified.</string>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonIcon" id="332">
<string name="bounds">20 20 84 84 </string>
<string name="viewFrame">20 20 64 64 </string>
<int name="contentResID">0</int>
<int name="creator">0</int>
</object>
<object class="IBCarbonStaticText" id="333">
<string name="bounds">20 92 140 409 </string>
<string name="viewFrame">92 20 317 120 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">6</int>
<string name="title">Message</string>
</object>
<object class="IBCarbonButton" id="334">
<string name="bounds">83 417 103 517 </string>
<string name="viewFrame">417 83 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">3</int>
<string name="title">Ignore All</string>
<ostype name="command">IAll</ostype>
<string name="helpTagText">Ignore all future warnings and assertions everywhere</string>
<string name="helpTagExtendedText">Ignore all future warnings and assertions everywhere they occur. If this same condition occurs again, you will not be notified.</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="335">
<string name="bounds">115 417 135 517 </string>
<string name="viewFrame">417 115 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">4</int>
<string name="title">Debug</string>
<ostype name="command">Debu</ostype>
<string name="helpTagText">Drop into the debugger</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="336">
<string name="bounds">147 417 167 517 </string>
<string name="viewFrame">417 147 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">5</int>
<string name="title">Quit</string>
<ostype name="command">Quit</ostype>
<string name="helpTagText">Force Quit the applicatiion</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonStaticText" id="338">
<string name="bounds">151 92 167 409 </string>
<string name="viewFrame">92 151 317 16 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">7</int>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">File and Line Number</string>
</object>
</array>
</object>
<object class="IBCarbonWindow" id="327">
<string name="windowRect">495 67 682 604 </string>
<string name="title">&lt;&lt;&lt;kGameName&gt;&gt;&gt; Warning</string>
<reference name="rootControl" idRef="326"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">2</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="330"/>
<reference idRef="332"/>
<reference idRef="333"/>
<reference idRef="334"/>
<reference idRef="335"/>
<reference idRef="336"/>
<reference idRef="338"/>
<reference idRef="348"/>
<object class="IBCarbonRootControl" id="361">
<string name="bounds">0 0 380 600 </string>
<string name="viewFrame">0 0 600 380 </string>
<array count="4" name="subviews">
<object class="IBCarbonUserPane" id="365">
<string name="bounds">44 20 320 580 </string>
<string name="viewFrame">20 44 560 276 </string>
<ostype name="controlSignature">EULA</ostype>
<int name="controlID">1</int>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingTopKind">1</int>
<int name="bindingLeftKind">1</int>
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="featureBits">2</int>
</object>
<object class="IBCarbonButton" id="362">
<string name="bounds">340 496 360 580 </string>
<string name="viewFrame">496 340 84 20 </string>
<string name="title">Agree</string>
<ostype name="command">ok </ostype>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonButton" id="366">
<string name="bounds">340 400 360 484 </string>
<string name="viewFrame">400 340 84 20 </string>
<string name="title">Disagree</string>
<ostype name="command">not!</ostype>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonStaticText" id="363">
<string name="bounds">20 20 36 580 </string>
<string name="viewFrame">20 20 560 16 </string>
<ostype name="controlSignature">EULA</ostype>
<int name="controlID">2</int>
<int name="fontStyle">4</int>
<string name="title">End User License Agreement</string>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingLeftKind">1</int>
<int name="bindingRightKind">2</int>
</object>
</object>
</array>
</object>
<reference idRef="362"/>
<reference idRef="363"/>
<object class="IBCarbonWindow" id="364">
<string name="windowRect">207 152 587 752 </string>
<string name="title">License Agreement</string>
<reference name="rootControl" idRef="361"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="365"/>
<reference idRef="366"/>
<object class="IBCarbonStaticText" id="370">
<string name="bounds">20 20 36 461 </string>
<string name="viewFrame">20 20 441 16 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Doom 3 Registration Code:</string>
</object>
<object class="IBCarbonButton" id="371">
<string name="bounds">118 309 138 379 </string>
<string name="viewFrame">309 118 70 20 </string>
<string name="title">Cancel</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonEditText" id="372">
<string name="bounds">47 23 63 458 </string>
<string name="viewFrame">23 47 435 16 </string>
<ostype name="controlSignature">RegC</ostype>
<int name="controlID">1</int>
<boolean name="isUnicode">TRUE</boolean>
<boolean name="isSingleLine">TRUE</boolean>
</object>
<object class="IBCarbonRootControl" id="373">
<string name="bounds">0 0 158 481 </string>
<string name="viewFrame">0 0 481 158 </string>
<array count="5" name="subviews">
<reference idRef="372"/>
<object class="IBCarbonStaticText" id="376">
<string name="bounds">74 20 102 461 </string>
<string name="viewFrame">20 74 441 28 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Registration code is located on the back of your DVD case. &#10;The registration code will be of the form &apos;XXXXXXXXXXXXXXXX XX&apos;.</string>
</object>
<reference idRef="370"/>
<object class="IBCarbonButton" id="374">
<string name="bounds">118 391 138 461 </string>
<string name="viewFrame">391 118 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<reference idRef="371"/>
</array>
</object>
<reference idRef="374"/>
<object class="IBCarbonWindow" id="375">
<string name="windowRect">449 235 607 716 </string>
<string name="title">Doom 3 Registration</string>
<reference name="rootControl" idRef="373"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="376"/>
<reference idRef="377"/>
</array>
<array count="73" name="allParents">
<reference idRef="1"/>
<reference idRef="185"/>
<reference idRef="29"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="1"/>
<reference idRef="250"/>
<reference idRef="251"/>
<reference idRef="252"/>
<reference idRef="252"/>
<reference idRef="266"/>
<reference idRef="252"/>
<reference idRef="266"/>
<reference idRef="264"/>
<reference idRef="266"/>
<reference idRef="252"/>
<reference idRef="269"/>
<reference idRef="270"/>
<reference idRef="252"/>
<reference idRef="252"/>
<reference idRef="251"/>
<reference idRef="251"/>
<reference idRef="251"/>
<reference idRef="270"/>
<reference idRef="294"/>
<reference idRef="1"/>
<reference idRef="289"/>
<reference idRef="294"/>
<reference idRef="294"/>
<reference idRef="297"/>
<reference idRef="307"/>
<reference idRef="1"/>
<reference idRef="305"/>
<reference idRef="307"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="1"/>
<reference idRef="318"/>
<reference idRef="316"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="251"/>
<reference idRef="326"/>
<reference idRef="327"/>
<reference idRef="1"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="307"/>
<reference idRef="364"/>
<reference idRef="361"/>
<reference idRef="361"/>
<reference idRef="1"/>
<reference idRef="361"/>
<reference idRef="361"/>
<reference idRef="373"/>
<reference idRef="373"/>
<reference idRef="373"/>
<reference idRef="375"/>
<reference idRef="373"/>
<reference idRef="1"/>
<reference idRef="373"/>
<reference idRef="251"/>
</array>
<dictionary count="9" name="nameTable">
<string>Command Line</string>
<reference idRef="316"/>
<string>Developer Alert</string>
<reference idRef="327"/>
<string>EULA</string>
<reference idRef="364"/>
<string>Files Owner</string>
<reference idRef="1"/>
<string>Insert CD</string>
<reference idRef="305"/>
<string>MenuBar</string>
<reference idRef="29"/>
<string>Pick Monitor</string>
<reference idRef="289"/>
<string>Preferences</string>
<reference idRef="250"/>
<string>Reg Code Sheet</string>
<reference idRef="375"/>
</dictionary>
<unsigned_int name="nextObjectID">378</unsigned_int>
</object>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
{
IBClasses = (
{CLASS = DOOMController; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
);
IBVersion = 1;
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>122 224 668 368 0 0 1280 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>403 875 119 44 0 0 1280 1002 </string>
</dict>
<key>IBFramework Version</key>
<string>364.0</string>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>7M34</string>
</dict>
</plist>

Binary file not shown.

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LprojCompatibleVersion</key>
<string>116.2</string>
<key>LprojLocale</key>
<string>en</string>
<key>LprojRevisionLevel</key>
<string>1</string>
<key>LprojVersion</key>
<string>116.2</string>
</dict>
</plist>

View File

@@ -0,0 +1,4 @@
{
IBClasses = ();
IBVersion = 1;
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>929 140 374 387 0 0 1680 1028 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>249 423 95 44 0 0 1680 1028 </string>
</dict>
<key>IBFramework Version</key>
<string>364.0</string>
<key>IBOldestOS</key>
<integer>3</integer>
<key>IBSystem Version</key>
<string>7U16</string>
<key>targetFramework</key>
<string>IBCarbonFramework</string>
</dict>
</plist>

View File

@@ -0,0 +1,701 @@
<?xml version="1.0" standalone="yes"?>
<object class="NSIBObjectData">
<string name="targetFramework">IBCarbonFramework</string>
<object name="rootObject" class="NSCustomObject" id="1">
<string name="customClass">NSApplication</string>
</object>
<array count="72" name="allObjects">
<object class="IBCarbonMenu" id="29">
<string name="title">SimpleHello</string>
<array count="1" name="items">
<object class="IBCarbonMenuItem" id="185">
<string name="title">ASL Game</string>
<object name="submenu" class="IBCarbonMenu" id="184">
<string name="title">ASL Game</string>
<array count="6" name="items">
<object class="IBCarbonMenuItem" id="187">
<string name="title">À propos de &lt;&lt;&lt;kGameName&gt;&gt;&gt;...</string>
<int name="keyEquivalentModifier">0</int>
<ostype name="command">abou</ostype>
</object>
<object class="IBCarbonMenuItem" id="186">
<boolean name="separator">TRUE</boolean>
</object>
<object class="IBCarbonMenuItem" id="248">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Préferences...</string>
<string name="keyEquivalent">,</string>
<ostype name="command">pref</ostype>
</object>
<object class="IBCarbonMenuItem" id="249">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
<object class="IBCarbonMenuItem" id="228">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Mode plein écran</string>
<string name="keyEquivalent">&#13;</string>
<ostype name="command">Togg</ostype>
</object>
<object class="IBCarbonMenuItem" id="229">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
</array>
<string name="name">_NSAppleMenu</string>
</object>
</object>
</array>
<string name="name">_NSMainMenu</string>
</object>
<reference idRef="184"/>
<reference idRef="185"/>
<reference idRef="186"/>
<reference idRef="187"/>
<reference idRef="228"/>
<reference idRef="229"/>
<reference idRef="248"/>
<reference idRef="249"/>
<object class="IBCarbonWindow" id="250">
<string name="windowRect">640 261 881 829 </string>
<string name="title">Préférences de Doom 3</string>
<object name="rootControl" class="IBCarbonRootControl" id="251">
<string name="bounds">0 0 241 568 </string>
<string name="viewFrame">0 0 568 241 </string>
<array count="5" name="subviews">
<object class="IBCarbonGroupBox" id="252">
<string name="bounds">6 20 221 272 </string>
<string name="viewFrame">20 6 252 215 </string>
<array count="6" name="subviews">
<object class="IBCarbonBevelButton" id="257">
<string name="bounds">36 50 102 126 </string>
<string name="viewFrame">30 30 76 66 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">1</int>
<string name="title">Fullscreen</string>
<ostype name="command">Full</ostype>
<unsigned_int name="behavior">256</unsigned_int>
<int name="contentType">3</int>
<int name="contentResID">1000</int>
<int name="textPlacement">3</int>
</object>
<object class="IBCarbonBevelButton" id="262">
<string name="bounds">36 166 102 242 </string>
<string name="viewFrame">146 30 76 66 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">2</int>
<string name="title">In a Window</string>
<ostype name="command">Wind</ostype>
<unsigned_int name="behavior">256</unsigned_int>
<int name="contentType">3</int>
<int name="contentResID">1001</int>
<int name="textPlacement">3</int>
</object>
<object class="IBCarbonPopupButton" id="264">
<string name="bounds">116 36 136 256 </string>
<string name="viewFrame">16 110 220 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">3</int>
<string name="title">Résolution :</string>
<ostype name="command">Reso</ostype>
<int name="titleJustification">-2</int>
<object name="menu" class="IBCarbonMenu" id="266">
<string name="title">Popup:</string>
<array count="3" name="items">
<object class="IBCarbonMenuItem" id="265">
<boolean name="checked">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">800 x 600</string>
</object>
<object class="IBCarbonMenuItem" id="263">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">1024 x 768</string>
</object>
<object class="IBCarbonMenuItem" id="267">
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">1280 x 1024</string>
</object>
</array>
</object>
</object>
<object class="IBCarbonPopupButton" id="269">
<string name="bounds">148 36 168 256 </string>
<string name="viewFrame">16 142 220 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">4</int>
<string name="title">Tx de rafraî. :</string>
<ostype name="command">Refr</ostype>
<int name="titleJustification">-2</int>
<object name="menu" class="IBCarbonMenu" id="270">
<string name="title">Popup:</string>
<array count="2" name="items">
<object class="IBCarbonMenuItem" id="271">
<boolean name="checked">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
<string name="title">Automatique</string>
</object>
<object class="IBCarbonMenuItem" id="279">
<boolean name="separator">TRUE</boolean>
<boolean name="updateSingleItem">TRUE</boolean>
</object>
</array>
</object>
</object>
<object class="IBCarbonStaticText" id="273">
<string name="bounds">189 36 205 161 </string>
<string name="viewFrame">16 183 125 16 </string>
<string name="title">Écrans multiples :</string>
<int name="justification">-2</int>
</object>
<object class="IBCarbonButton" id="274">
<string name="bounds">188 169 208 256 </string>
<string name="viewFrame">149 182 87 20 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">5</int>
<string name="title">Choisir...</string>
<ostype name="command">Moni</ostype>
</object>
</array>
<string name="title">Options de moniteur</string>
</object>
<object class="IBCarbonStaticText" id="275">
<string name="bounds">59 317 115 548 </string>
<string name="viewFrame">317 59 231 56 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Ce dialogue apparaitra lorsque la touche Majuscule sera maintenue enfoncée lors du démarrage du jeu.</string>
</object>
<object class="IBCarbonButton" id="277">
<string name="bounds">201 396 221 466 </string>
<string name="viewFrame">396 201 70 20 </string>
<string name="title">Annuler</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="278">
<string name="bounds">201 478 221 548 </string>
<string name="viewFrame">478 201 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonCheckBox" id="322">
<string name="bounds">20 296 51 548 </string>
<string name="viewFrame">296 20 252 31 </string>
<ostype name="controlSignature">PREF</ostype>
<int name="controlID">6</int>
<string name="title">Toujours afficher ce dialogue au démarrage.</string>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="251"/>
<reference idRef="252"/>
<reference idRef="257"/>
<reference idRef="262"/>
<reference idRef="263"/>
<reference idRef="264"/>
<reference idRef="265"/>
<reference idRef="266"/>
<reference idRef="267"/>
<reference idRef="269"/>
<reference idRef="270"/>
<reference idRef="271"/>
<reference idRef="273"/>
<reference idRef="274"/>
<reference idRef="275"/>
<reference idRef="277"/>
<reference idRef="278"/>
<reference idRef="279"/>
<object class="IBCarbonButton" id="285">
<string name="bounds">256 318 276 388 </string>
<string name="viewFrame">318 256 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonWindow" id="289">
<string name="windowRect">366 175 662 583 </string>
<string name="title">&lt;&lt;&lt;kGameName&gt;&gt;&gt;</string>
<object name="rootControl" class="IBCarbonRootControl" id="294">
<string name="bounds">0 0 296 408 </string>
<string name="viewFrame">0 0 408 296 </string>
<array count="3" name="subviews">
<object class="IBCarbonGroupBox" id="297">
<string name="bounds">6 20 236 388 </string>
<string name="viewFrame">20 6 368 230 </string>
<array count="1" name="subviews">
<object class="IBCarbonUserPane" id="302">
<string name="bounds">36 36 220 372 </string>
<string name="viewFrame">16 30 336 184 </string>
<ostype name="controlSignature">MONI</ostype>
<int name="controlID">1</int>
<int name="featureBits">32</int>
</object>
</array>
<string name="title">Choisissez un moniteur</string>
</object>
<object class="IBCarbonButton" id="295">
<string name="bounds">256 236 276 306 </string>
<string name="viewFrame">236 256 70 20 </string>
<string name="title">Annuler</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<reference idRef="285"/>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">11</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="294"/>
<reference idRef="295"/>
<reference idRef="297"/>
<reference idRef="302"/>
<object class="IBCarbonButton" id="303">
<string name="bounds">88 303 108 373 </string>
<string name="viewFrame">303 88 70 20 </string>
<string name="title">Quitter</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonWindow" id="305">
<string name="windowRect">648 341 776 734 </string>
<string name="title">Doom 3</string>
<object name="rootControl" class="IBCarbonRootControl" id="307">
<string name="bounds">0 0 128 393 </string>
<string name="viewFrame">0 0 393 128 </string>
<array count="3" name="subviews">
<reference idRef="303"/>
<object class="IBCarbonStaticText" id="309">
<string name="bounds">20 84 68 373 </string>
<string name="viewFrame">84 20 289 48 </string>
<ostype name="controlSignature">CD__</ostype>
<int name="controlID">1</int>
<string name="title">Veuillez insérer le disque &quot;DOOM 3&quot; ou cliquez sur &quot;Quitter&quot;.</string>
</object>
<object class="IBCarbonIcon" id="348">
<string name="bounds">20 20 68 68 </string>
<string name="viewFrame">20 20 48 48 </string>
<int name="contentResID">1667523698</int>
<int name="contentType">132</int>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="307"/>
<reference idRef="309"/>
<object class="IBCarbonButton" id="313">
<string name="bounds">140 447 160 517 </string>
<string name="viewFrame">447 140 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonButton" id="314">
<string name="bounds">140 365 160 435 </string>
<string name="viewFrame">365 140 70 20 </string>
<string name="title">Annuler</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonCheckBox" id="315">
<string name="bounds">61 130 81 517 </string>
<string name="viewFrame">130 61 387 20 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">2</int>
<string name="title">Toujours afficher ce dialogue au démarrage</string>
</object>
<object class="IBCarbonWindow" id="316">
<string name="windowRect">290 42 470 579 </string>
<string name="title">&lt;&lt;&lt;kGameName&gt;&gt;&gt;</string>
<object name="rootControl" class="IBCarbonRootControl" id="318">
<string name="bounds">0 0 180 537 </string>
<string name="viewFrame">0 0 537 180 </string>
<array count="7" name="subviews">
<object class="IBCarbonStaticText" id="319">
<string name="bounds">88 151 120 517 </string>
<string name="viewFrame">151 88 366 32 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Ce dialogue apparaitra lorsque la touche Majuscule sera maintenue enfoncée lors du démarrage du jeu.</string>
</object>
<reference idRef="314"/>
<reference idRef="313"/>
<object class="IBCarbonStaticText" id="320">
<string name="bounds">11 32 47 116 </string>
<string name="viewFrame">32 11 84 36 </string>
<string name="title">Ligne de commande :</string>
</object>
<object class="IBCarbonEditText" id="317">
<string name="bounds">21 133 37 432 </string>
<string name="viewFrame">133 21 299 16 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">1</int>
<boolean name="isUnicode">TRUE</boolean>
<boolean name="isSingleLine">TRUE</boolean>
</object>
<reference idRef="315"/>
<object class="IBCarbonButton" id="321">
<string name="bounds">19 447 39 517 </string>
<string name="viewFrame">447 19 70 20 </string>
<ostype name="controlSignature">CMDL</ostype>
<int name="controlID">3</int>
<string name="title">Revenir</string>
<ostype name="command">rvrt</ostype>
</object>
</array>
</object>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="317"/>
<reference idRef="318"/>
<reference idRef="319"/>
<reference idRef="320"/>
<reference idRef="321"/>
<reference idRef="322"/>
<object class="IBCarbonButton" id="325">
<string name="bounds">51 417 71 517 </string>
<string name="viewFrame">417 51 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">2</int>
<string name="title">Ignorer</string>
<ostype name="command">IThs</ostype>
<string name="helpTagText">Ignore all warnings and assertions in the future</string>
<string name="helpTagExtendedText">Ignore all warnings and assertions in the future. This warning dialog wll no longer be displayed.</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonRootControl" id="326">
<string name="bounds">0 0 187 537 </string>
<string name="viewFrame">0 0 537 187 </string>
<array count="8" name="subviews">
<reference idRef="325"/>
<object class="IBCarbonButton" id="330">
<string name="bounds">19 417 39 517 </string>
<string name="viewFrame">417 19 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">1</int>
<string name="title">Continuer</string>
<ostype name="command">Cont</ostype>
<string name="helpTagText">Continue running the application</string>
<string name="helpTagExtendedText">Continue running the application. If this same condition occurs again, you will be notified.</string>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonIcon" id="332">
<string name="bounds">20 20 84 84 </string>
<string name="viewFrame">20 20 64 64 </string>
<int name="contentResID">0</int>
<int name="creator">0</int>
</object>
<object class="IBCarbonStaticText" id="333">
<string name="bounds">20 92 140 409 </string>
<string name="viewFrame">92 20 317 120 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">6</int>
<string name="title">Message</string>
</object>
<object class="IBCarbonButton" id="334">
<string name="bounds">83 417 103 517 </string>
<string name="viewFrame">417 83 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">3</int>
<string name="title">Tout ignorer</string>
<ostype name="command">IAll</ostype>
<string name="helpTagText">Ignore all future warnings and assertions everywhere</string>
<string name="helpTagExtendedText">Ignore all future warnings and assertions everywhere they occur. If this same condition occurs again, you will not be notified.</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="335">
<string name="bounds">115 417 135 517 </string>
<string name="viewFrame">417 115 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">4</int>
<string name="title">Debogue</string>
<ostype name="command">Debu</ostype>
<string name="helpTagText">Drop into the debugger</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonButton" id="336">
<string name="bounds">147 417 167 517 </string>
<string name="viewFrame">417 147 100 20 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">5</int>
<string name="title">Quitter</string>
<ostype name="command">Quit</ostype>
<string name="helpTagText">Force Quit the applicatiion</string>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonStaticText" id="338">
<string name="bounds">151 92 167 409 </string>
<string name="viewFrame">92 151 317 16 </string>
<ostype name="controlSignature">WARN</ostype>
<int name="controlID">7</int>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Fichier et numéro de ligne</string>
</object>
</array>
</object>
<object class="IBCarbonWindow" id="327">
<string name="windowRect">495 67 682 604 </string>
<string name="title">Alerte de &lt;&lt;&lt;kGameName&gt;&gt;&gt;</string>
<reference name="rootControl" idRef="326"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">2</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="330"/>
<reference idRef="332"/>
<reference idRef="333"/>
<reference idRef="334"/>
<reference idRef="335"/>
<reference idRef="336"/>
<reference idRef="338"/>
<reference idRef="348"/>
<object class="IBCarbonRootControl" id="361">
<string name="bounds">0 0 380 600 </string>
<string name="viewFrame">0 0 600 380 </string>
<array count="4" name="subviews">
<object class="IBCarbonUserPane" id="365">
<string name="bounds">44 20 320 580 </string>
<string name="viewFrame">20 44 560 276 </string>
<ostype name="controlSignature">EULA</ostype>
<int name="controlID">1</int>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingTopKind">1</int>
<int name="bindingLeftKind">1</int>
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="featureBits">2</int>
</object>
<object class="IBCarbonButton" id="362">
<string name="bounds">340 496 360 580 </string>
<string name="viewFrame">496 340 84 20 </string>
<string name="title">Accepter</string>
<ostype name="command">ok </ostype>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="buttonType">1</int>
</object>
<object class="IBCarbonButton" id="366">
<string name="bounds">340 355 360 484 </string>
<string name="viewFrame">355 340 129 20 </string>
<string name="title">Ne pas accepter</string>
<ostype name="command">not!</ostype>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingBottomKind">2</int>
<int name="bindingRightKind">2</int>
</object>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonStaticText" id="363">
<string name="bounds">20 20 36 580 </string>
<string name="viewFrame">20 20 560 16 </string>
<ostype name="controlSignature">EULA</ostype>
<int name="controlID">2</int>
<int name="fontStyle">4</int>
<string name="title">Contrat de licence pour l&apos;utilisateur final</string>
<object name="layoutInfo" class="IBCarbonHILayoutInfo">
<int name="bindingLeftKind">1</int>
<int name="bindingRightKind">2</int>
</object>
</object>
</array>
</object>
<reference idRef="362"/>
<reference idRef="363"/>
<object class="IBCarbonWindow" id="364">
<string name="windowRect">207 152 587 752 </string>
<string name="title">License Agreement</string>
<reference name="rootControl" idRef="361"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="365"/>
<reference idRef="366"/>
<object class="IBCarbonStaticText" id="370">
<string name="bounds">20 20 36 461 </string>
<string name="viewFrame">20 20 441 16 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Code d&apos;enregistrement de DOOM 3 :</string>
</object>
<object class="IBCarbonButton" id="371">
<string name="bounds">118 309 138 379 </string>
<string name="viewFrame">309 118 70 20 </string>
<string name="title">Annuler</string>
<ostype name="command">not!</ostype>
<int name="buttonType">2</int>
</object>
<object class="IBCarbonEditText" id="372">
<string name="bounds">47 23 63 458 </string>
<string name="viewFrame">23 47 435 16 </string>
<ostype name="controlSignature">RegC</ostype>
<int name="controlID">1</int>
<boolean name="isUnicode">TRUE</boolean>
<boolean name="isSingleLine">TRUE</boolean>
</object>
<object class="IBCarbonRootControl" id="373">
<string name="bounds">0 0 158 481 </string>
<string name="viewFrame">0 0 481 158 </string>
<array count="5" name="subviews">
<reference idRef="372"/>
<object class="IBCarbonStaticText" id="376">
<string name="bounds">74 20 102 461 </string>
<string name="viewFrame">20 74 441 28 </string>
<boolean name="small">TRUE</boolean>
<int name="controlSize">1</int>
<string name="title">Le code d&apos;enregistrement est situé à l&apos;arrière de la boîte du DVD. &#10;Le code d&apos;enregistrement est de la forme &apos;XXXXXXXXXXXXXXXX XX&apos;.</string>
</object>
<reference idRef="370"/>
<object class="IBCarbonButton" id="374">
<string name="bounds">118 391 138 461 </string>
<string name="viewFrame">391 118 70 20 </string>
<string name="title">OK</string>
<ostype name="command">ok </ostype>
<int name="buttonType">1</int>
</object>
<reference idRef="371"/>
</array>
</object>
<reference idRef="374"/>
<object class="IBCarbonWindow" id="375">
<string name="windowRect">449 235 607 716 </string>
<string name="title">Enregistrement de DOOM 3</string>
<reference name="rootControl" idRef="373"/>
<boolean name="receiveUpdates">FALSE</boolean>
<boolean name="isResizable">FALSE</boolean>
<boolean name="liveResize">TRUE</boolean>
<boolean name="compositing">TRUE</boolean>
<int name="carbonWindowClass">4</int>
<int name="windowPosition">7</int>
</object>
<reference idRef="376"/>
</array>
<array count="72" name="allParents">
<reference idRef="1"/>
<reference idRef="185"/>
<reference idRef="29"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="184"/>
<reference idRef="1"/>
<reference idRef="250"/>
<reference idRef="251"/>
<reference idRef="252"/>
<reference idRef="252"/>
<reference idRef="266"/>
<reference idRef="252"/>
<reference idRef="266"/>
<reference idRef="264"/>
<reference idRef="266"/>
<reference idRef="252"/>
<reference idRef="269"/>
<reference idRef="270"/>
<reference idRef="252"/>
<reference idRef="252"/>
<reference idRef="251"/>
<reference idRef="251"/>
<reference idRef="251"/>
<reference idRef="270"/>
<reference idRef="294"/>
<reference idRef="1"/>
<reference idRef="289"/>
<reference idRef="294"/>
<reference idRef="294"/>
<reference idRef="297"/>
<reference idRef="307"/>
<reference idRef="1"/>
<reference idRef="305"/>
<reference idRef="307"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="1"/>
<reference idRef="318"/>
<reference idRef="316"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="318"/>
<reference idRef="251"/>
<reference idRef="326"/>
<reference idRef="327"/>
<reference idRef="1"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="326"/>
<reference idRef="307"/>
<reference idRef="364"/>
<reference idRef="361"/>
<reference idRef="361"/>
<reference idRef="1"/>
<reference idRef="361"/>
<reference idRef="361"/>
<reference idRef="373"/>
<reference idRef="373"/>
<reference idRef="373"/>
<reference idRef="375"/>
<reference idRef="373"/>
<reference idRef="1"/>
<reference idRef="373"/>
</array>
<dictionary count="9" name="nameTable">
<string>Command Line</string>
<reference idRef="316"/>
<string>Developer Alert</string>
<reference idRef="327"/>
<string>EULA</string>
<reference idRef="364"/>
<string>Files Owner</string>
<reference idRef="1"/>
<string>Insert CD</string>
<reference idRef="305"/>
<string>MenuBar</string>
<reference idRef="29"/>
<string>Pick Monitor</string>
<reference idRef="289"/>
<string>Preferences</string>
<reference idRef="250"/>
<string>Reg Code Sheet</string>
<reference idRef="375"/>
</dictionary>
<unsigned_int name="nextObjectID">377</unsigned_int>
</object>

View File

@@ -0,0 +1,6 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Doom 3";
CFBundleShortVersionString = "1.1 b2847";
CFBundleGetInfoString = "Doom 3 version 1.1 b2847, Copyright 2006 Id Software";
NSHumanReadableCopyright = "Copyright 2006 Id Software";

Binary file not shown.

View File

@@ -0,0 +1,7 @@
{
IBClasses = (
{CLASS = DOOMController; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
);
IBVersion = 1;
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>122 224 668 368 0 0 1280 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>540 899 103 44 0 0 1680 1028 </string>
</dict>
<key>IBFramework Version</key>
<string>364.0</string>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>7W98</string>
</dict>
</plist>

Binary file not shown.

26
neo/sys/osx/Info.plist Normal file
View File

@@ -0,0 +1,26 @@
<?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>Doom 3</string>
<key>CFBundleIconFile</key>
<string>Doom3.icns</string>
<key>CFBundleIdentifier</key>
<string>com.idsoftware.doom3</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>DOM3</string>
<key>CFBundleVersion</key>
<string>3000</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

540
neo/sys/osx/PickMonitor.cpp Normal file
View File

@@ -0,0 +1,540 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#include "../../idlib/precompiled.h"
#include <Carbon/Carbon.h>
#include "PickMonitor.h"
//====================================================================================
// CONSTANTS
//====================================================================================
#define kMaxMonitors 16
//====================================================================================
// TYPES
//====================================================================================
typedef struct
{
GDHandle device;
Rect origRect;
Rect scaledRect;
int isMain;
}
Monitor;
//====================================================================================
// GLOBALS
//====================================================================================
static GDHandle sSelectedDevice;
static int sNumMonitors;
static Monitor sMonitors[kMaxMonitors];
static RGBColor rgbBlack = { 0x0000, 0x0000, 0x0000 };
static RGBColor rgbWhite = { 0xffff, 0xffff, 0xffff };
static RGBColor rgbGray = { 0x5252, 0x8A8A, 0xCCCC }; // this is the blue used in the Displays control panel
//====================================================================================
// MACROS
//====================================================================================
#undef PtInRect
#undef OffsetRect
#undef InsetRect
#undef EraseRect
#undef MoveTo
#undef LineTo
//====================================================================================
// IMPLEMENTATION
//====================================================================================
//-----------------------------------------------------------------------------
// SetupUserPaneProcs
//-----------------------------------------------------------------------------
// Call this to initialize the specified user pane control before displaying
// the dialog window. Pass NULL for any user pane procs you don't need to install.
OSErr SetupUserPaneProcs( ControlRef inUserPane,
ControlUserPaneDrawProcPtr inDrawProc,
ControlUserPaneHitTestProcPtr inHitTestProc,
ControlUserPaneTrackingProcPtr inTrackingProc)
{
OSErr err = noErr;
ControlUserPaneDrawUPP drawUPP;
ControlUserPaneHitTestUPP hitTestUPP;
ControlUserPaneTrackingUPP trackingUPP;
if (0 == inUserPane) return paramErr;
if (inDrawProc && noErr == err)
{
drawUPP = NewControlUserPaneDrawUPP(inDrawProc);
if (0 == drawUPP)
err = memFullErr;
else
err = SetControlData( inUserPane,
kControlEntireControl,
kControlUserPaneDrawProcTag,
sizeof(ControlUserPaneDrawUPP),
(Ptr)&drawUPP);
}
if (inHitTestProc && noErr == err)
{
hitTestUPP = NewControlUserPaneHitTestUPP(inHitTestProc);
if (0 == hitTestUPP)
err = memFullErr;
else
err = SetControlData( inUserPane,
kControlEntireControl,
kControlUserPaneHitTestProcTag,
sizeof(ControlUserPaneHitTestUPP),
(Ptr)&hitTestUPP);
}
if (inTrackingProc && noErr == err)
{
trackingUPP = NewControlUserPaneTrackingUPP(inTrackingProc);
if (0 == trackingUPP)
err = memFullErr;
else
err = SetControlData( inUserPane,
kControlEntireControl,
kControlUserPaneTrackingProcTag,
sizeof(ControlUserPaneTrackingUPP),
(Ptr)&trackingUPP);
}
return err;
}
//-----------------------------------------------------------------------------
// DisposeUserPaneProcs
//-----------------------------------------------------------------------------
// Call this to clean up when you're done with the specified user pane control.
OSErr DisposeUserPaneProcs(ControlRef inUserPane)
{
ControlUserPaneDrawUPP drawUPP;
ControlUserPaneHitTestUPP hitTestUPP;
ControlUserPaneTrackingUPP trackingUPP;
Size actualSize;
OSErr err;
err = GetControlData(inUserPane, kControlEntireControl, kControlUserPaneDrawProcTag, sizeof(ControlUserPaneDrawUPP), (Ptr)&drawUPP, &actualSize);
if (err == noErr) DisposeControlUserPaneDrawUPP(drawUPP);
err = GetControlData(inUserPane, kControlEntireControl, kControlUserPaneHitTestProcTag, sizeof(ControlUserPaneHitTestUPP), (Ptr)&hitTestUPP, &actualSize);
if (err == noErr) DisposeControlUserPaneHitTestUPP(hitTestUPP);
err = GetControlData(inUserPane, kControlEntireControl, kControlUserPaneTrackingProcTag, sizeof(ControlUserPaneTrackingUPP), (Ptr)&trackingUPP, &actualSize);
if (err == noErr) DisposeControlUserPaneTrackingUPP(trackingUPP);
return noErr;
}
#pragma mark -
//-----------------------------------------------------------------------------
// drawProc
//-----------------------------------------------------------------------------
// Custom drawProc for our UserPane control.
static pascal void drawProc(ControlRef inControl, SInt16 inPart)
{
#pragma unused(inControl, inPart)
int i;
RGBColor saveForeColor;
RGBColor saveBackColor;
PenState savePenState;
GetForeColor(&saveForeColor);
GetBackColor(&saveBackColor);
GetPenState(&savePenState);
RGBForeColor(&rgbBlack);
RGBBackColor(&rgbWhite);
PenNormal();
for (i = 0; i < sNumMonitors; i++)
{
RGBForeColor(&rgbGray);
PaintRect(&sMonitors[i].scaledRect);
if (sMonitors[i].isMain)
{
Rect r = sMonitors[i].scaledRect;
InsetRect(&r, 1, 1);
r.bottom = r.top + 6;
RGBForeColor(&rgbWhite);
PaintRect(&r);
RGBForeColor(&rgbBlack);
PenSize(1,1);
MoveTo(r.left, r.bottom);
LineTo(r.right, r.bottom);
}
if (sMonitors[i].device == sSelectedDevice)
{
PenSize(3,3);
RGBForeColor(&rgbBlack);
FrameRect(&sMonitors[i].scaledRect);
}
else
{
PenSize(1,1);
RGBForeColor(&rgbBlack);
FrameRect(&sMonitors[i].scaledRect);
}
}
// restore the original pen state and colors
RGBForeColor(&saveForeColor);
RGBBackColor(&saveBackColor);
SetPenState(&savePenState);
}
//-----------------------------------------------------------------------------
// hitTestProc
//-----------------------------------------------------------------------------
// Custom hitTestProc for our UserPane control.
// This allows FindControlUnderMouse() to locate our control, which allows
// ModalDialog() to call TrackControl() or HandleControlClick() for our control.
static pascal ControlPartCode hitTestProc(ControlRef inControl, Point inWhere)
{
// return a valid part code so HandleControlClick() will be called
return kControlButtonPart;
}
//-----------------------------------------------------------------------------
// trackingProc
//-----------------------------------------------------------------------------
// Custom trackingProc for our UserPane control.
// This won't be called for our control unless the kControlHandlesTracking feature
// bit is specified when the userPane is created.
static pascal ControlPartCode trackingProc (
ControlRef inControl,
Point inStartPt,
ControlActionUPP inActionProc)
{
#pragma unused (inControl, inStartPt, inActionProc)
int i;
for (i = 0; i < sNumMonitors; i++)
{
if (PtInRect(inStartPt, &sMonitors[i].scaledRect))
{
if (sMonitors[i].device != sSelectedDevice)
{
sSelectedDevice = sMonitors[i].device;
DrawOneControl(inControl);
}
break;
}
}
return kControlNoPart;
}
#pragma mark -
//-----------------------------------------------------------------------------
// SetupPickMonitorPane
//-----------------------------------------------------------------------------
// Call this to initialize the user pane control that is the Pick Monitor
// control. Pass the ControlRef of the user pane control and a display ID
// for the monitor you want selected by default (pass 0 for the main monitor).
// Call this function before displaying the dialog window.
OSErr SetupPickMonitorPane(ControlRef inPane, DisplayIDType inDefaultMonitor)
{
GDHandle dev = GetDeviceList();
OSErr err = noErr;
// make the default monitor the selected device
if (inDefaultMonitor)
DMGetGDeviceByDisplayID(inDefaultMonitor, &sSelectedDevice, true);
else
sSelectedDevice = GetMainDevice();
// build the list of monitors
sNumMonitors = 0;
while (dev && sNumMonitors < kMaxMonitors)
{
if (TestDeviceAttribute(dev, screenDevice) && TestDeviceAttribute(dev, screenActive))
{
sMonitors[sNumMonitors].device = dev;
sMonitors[sNumMonitors].origRect = (**dev).gdRect;
sMonitors[sNumMonitors].isMain = (dev == GetMainDevice());
sNumMonitors++;
}
dev = GetNextDevice(dev);
}
// calculate scaled rects
if (sNumMonitors)
{
Rect origPaneRect, paneRect;
Rect origGrayRect, grayRect, scaledGrayRect;
float srcAspect, dstAspect, scale;
int i;
GetControlBounds(inPane, &origPaneRect);
paneRect = origPaneRect;
OffsetRect(&paneRect, -paneRect.left, -paneRect.top);
GetRegionBounds(GetGrayRgn(), &origGrayRect);
grayRect = origGrayRect;
OffsetRect(&grayRect, -grayRect.left, -grayRect.top);
srcAspect = (float)grayRect.right / (float)grayRect.bottom;
dstAspect = (float)paneRect.right / (float)paneRect.bottom;
scaledGrayRect = paneRect;
if (srcAspect < dstAspect)
{
scaledGrayRect.right = (float)paneRect.bottom * srcAspect;
scale = (float)scaledGrayRect.right / grayRect.right;
}
else
{
scaledGrayRect.bottom = (float)paneRect.right / srcAspect;
scale = (float)scaledGrayRect.bottom / grayRect.bottom;
}
for (i = 0; i < sNumMonitors; i++)
{
Rect r = sMonitors[i].origRect;
Rect r2 = r;
// normalize rect and scale
OffsetRect(&r, -r.left, -r.top);
r.bottom = (float)r.bottom * scale;
r.right = (float)r.right * scale;
// offset rect wrt gray region
OffsetRect(&r, (float)(r2.left - origGrayRect.left) * scale,
(float)(r2.top - origGrayRect.top) * scale);
sMonitors[i].scaledRect = r;
}
// center scaledGrayRect in the pane
OffsetRect(&scaledGrayRect, (paneRect.right - scaledGrayRect.right) / 2,
(paneRect.bottom - scaledGrayRect.bottom) / 2);
// offset monitors to match
for (i = 0; i < sNumMonitors; i++)
OffsetRect(&sMonitors[i].scaledRect, scaledGrayRect.left, scaledGrayRect.top);
}
else
return paramErr;
// setup the procs for the pick monitor user pane
err = SetupUserPaneProcs(inPane, drawProc, hitTestProc, trackingProc);
return err;
}
//-----------------------------------------------------------------------------
// TearDownPickMonitorPane
//-----------------------------------------------------------------------------
// Disposes of everything associated with the Pick Monitor pane. You should
// call this when disposing the dialog.
OSErr TearDownPickMonitorPane(ControlRef inPane)
{
OSErr err;
err = DisposeUserPaneProcs(inPane);
sNumMonitors = 0;
return err;
}
#pragma mark -
//------------------------------------------------------------------------------------
// ¥ PickMonitorHandler
//------------------------------------------------------------------------------------
// Our command handler for the PickMonitor dialog.
static pascal OSStatus PickMonitorHandler( EventHandlerCallRef inHandler, EventRef inEvent, void* inUserData )
{
#pragma unused( inHandler )
HICommand cmd;
OSStatus result = eventNotHandledErr;
WindowRef theWindow = (WindowRef)inUserData;
// The direct object for a 'process commmand' event is the HICommand.
// Extract it here and switch off the command ID.
GetEventParameter( inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof( cmd ), NULL, &cmd );
switch ( cmd.commandID )
{
case kHICommandOK:
QuitAppModalLoopForWindow( theWindow );
result = noErr;
break;
case kHICommandCancel:
// Setting sSelectedDevice to zero will signal that the user cancelled.
sSelectedDevice = 0;
QuitAppModalLoopForWindow( theWindow );
result = noErr;
break;
}
return result;
}
#pragma mark -
//-----------------------------------------------------------------------------
// CanUserPickMonitor
//-----------------------------------------------------------------------------
// Returns true if more than one monitor is available to choose from.
Boolean CanUserPickMonitor (void)
{
GDHandle dev = GetDeviceList();
OSErr err = noErr;
int numMonitors;
// build the list of monitors
numMonitors = 0;
while (dev && numMonitors < kMaxMonitors)
{
if (TestDeviceAttribute(dev, screenDevice) && TestDeviceAttribute(dev, screenActive))
{
numMonitors++;
}
dev = GetNextDevice(dev);
}
if (numMonitors > 1) return true;
else return false;
}
//-----------------------------------------------------------------------------
// PickMonitor
//-----------------------------------------------------------------------------
// Prompts for a monitor. Returns userCanceledErr if the user cancelled.
OSStatus PickMonitor (DisplayIDType *inOutDisplayID, WindowRef parentWindow)
{
WindowRef theWindow;
OSStatus status = noErr;
static const ControlID kUserPane = { 'MONI', 1 };
// Fetch the dialog
IBNibRef aslNib;
CFBundleRef theBundle = CFBundleGetMainBundle();
status = CreateNibReferenceWithCFBundle(theBundle, CFSTR("ASLCore"), &aslNib);
status = ::CreateWindowFromNib(aslNib, CFSTR( "Pick Monitor" ), &theWindow );
if (status != noErr)
{
assert(false);
return userCanceledErr;
}
#if 0
// Put game name in window title. By default the title includes the token <<<kGameName>>>.
Str255 windowTitle;
GetWTitle(theWindow, windowTitle);
FormatPStringWithGameName(windowTitle);
SetWTitle(theWindow, windowTitle);
#endif
// Set up the controls
ControlRef monitorPane;
GetControlByID( theWindow, &kUserPane, &monitorPane );
assert(monitorPane);
SetupPickMonitorPane(monitorPane, *inOutDisplayID);
// Create our UPP and install the handler.
EventTypeSpec cmdEvent = { kEventClassCommand, kEventCommandProcess };
EventHandlerUPP handler = NewEventHandlerUPP( PickMonitorHandler );
InstallWindowEventHandler( theWindow, handler, 1, &cmdEvent, theWindow, NULL );
// Show the window
if (parentWindow)
ShowSheetWindow( theWindow, parentWindow );
else
ShowWindow( theWindow );
// Now we run modally. We will remain here until the PrefHandler
// calls QuitAppModalLoopForWindow if the user clicks OK or
// Cancel.
RunAppModalLoopForWindow( theWindow );
// OK, we're done. Dispose of our window and our UPP.
// We do the UPP last because DisposeWindow can send out
// CarbonEvents, and we haven't explicitly removed our
// handler. If we disposed the UPP, the Toolbox might try
// to call it. That would be bad.
TearDownPickMonitorPane(monitorPane);
if (parentWindow)
HideSheetWindow( theWindow );
DisposeWindow( theWindow );
DisposeEventHandlerUPP( handler );
// Return settings to caller
if (sSelectedDevice != 0)
{
// Read back the controls
DMGetDisplayIDByGDevice (sSelectedDevice, &*inOutDisplayID, true);
return noErr;
}
else
return userCanceledErr;
}

35
neo/sys/osx/PickMonitor.h Normal file
View File

@@ -0,0 +1,35 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#ifndef PICKMONITOR_H
#define PICKMONITOR_H
OSStatus PickMonitor (DisplayIDType *inOutDisplayID, WindowRef parentWindow);
Boolean CanUserPickMonitor (void);
#endif // PICKMONITOR_H

View File

@@ -0,0 +1,844 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#include "../../idlib/precompiled.h"
#include <Carbon/Carbon.h>
#include "PreferencesDialog.h"
#include "PickMonitor.h"
#include <list>
#include <set>
static idCVar r_stretched( "r_stretched", "0", CVAR_ARCHIVE | CVAR_BOOL, "Used stretched resolution" );
#define kPref_PrefsDialogAlways CFSTR("PrefsDialogAlways")
#define kPref_PrefsDialogOpenAL CFSTR("UseOpenAL")
#ifndef kAppCreator
#define kAppCreator 'DOM3' // Creator type
#endif
const UInt32 kRes_Stretched = (1 << 0); // set if the resolution is a stretched mode (kCGDisplayModeIsStretched)
const UInt32 kRes_Safe = (1 << 1); // ¥¥¥Ê(currently unused) set if the resolution is safe (kCGDisplayModeIsSafeForHardware)
// Data to be presented and edited in the prefs dialog
struct PrefInfo
{
// prefs values
GameDisplayMode prefGameDisplayMode;
CGDirectDisplayID prefDisplayID;
int prefWidth;
int prefHeight;
int prefDepth;
Fixed prefFrequency;
UInt32 prefResFlags;
Boolean prefAlways;
Boolean prefOpenAL;
bool okPressed; // Set to true if the user pressed the OK button
// The following are private data passed from GameDisplayPreferencesDialog() to it's command handler.
WindowRef window;
ControlRef fullscreenBtn;
ControlRef inAWindowBtn;
ControlRef resolutionPopup;
ControlRef refreshRatePopup;
ControlRef chooseMonitorsBtn;
ControlRef alwaysBtn;
ControlRef openALBtn;
ValidModeCallbackProc callback; // To validate display modes
bool multiMonitor; // Does user have multiple monitors
std::list<Fixed> refreshRates; // List of refresh rates available for the selected monitor
SInt32 freqMenuIndex;
};
#pragma mark -
bool R_GetModeInfo( int *width, int *height, int mode );
static int GetScreenIndexForDisplayID( CGDirectDisplayID inDisplayID ) {
unsigned int i;
OSErr err;
int r_screen = -1;
CGDisplayCount count;
err = CGGetActiveDisplayList(0, NULL, &count);
if (noErr == err) {
CGDirectDisplayID displays[count];
err = CGGetActiveDisplayList(count, displays, &count);
if (noErr == err) {
for ( i = 0; i < count; i++)
if (displays[i] == inDisplayID)
r_screen = i;
}
}
return r_screen;
}
static CGDirectDisplayID GetDisplayIDForScreenIndex( int inScreenIndex ) {
OSErr err;
int r_screen = -1;
CGDisplayCount count;
err = CGGetActiveDisplayList(0, NULL, &count);
if (noErr == err) {
CGDirectDisplayID displays[count];
err = CGGetActiveDisplayList(count, displays, &count);
if (noErr == err) {
if ( inScreenIndex >= 0 && inScreenIndex <= count )
return displays[inScreenIndex];
}
}
return (CGDirectDisplayID)r_screen;
}
void Sys_DoPreferences( void ) {
// An NSKeyDown event is not fired if the user holds down Cmd during startup.
// Cmd is treated purely as a modifier. To capture the user
// holding down Cmd, you would need to override NSApplication's
// keydown handler. That's overkill for a single check at
// startup, use the Carbon GetKeys approach.
unsigned char km[16];
const int kMacKeyCodeCommand = 0x37;
KeyMap *keymap = (KeyMap*)&km;
GetKeys(*keymap);
Boolean prefAways, keyFound, useOpenAL;
prefAways = CFPreferencesGetAppBooleanValue ( kPref_PrefsDialogAlways, kCFPreferencesCurrentApplication, &keyFound );
bool fAlways = prefAways && keyFound;
if ( fAlways || ( km[kMacKeyCodeCommand>>3] >> ( kMacKeyCodeCommand & 7 ) ) & 1 ) {
GameDisplayInfo info;
info.mode = cvarSystem->GetCVarBool( "r_fullscreen" ) ? kFullScreen : kWindow;
info.displayID = GetDisplayIDForScreenIndex( cvarSystem->GetCVarInteger( "r_screen" ) );
int w = 800, h = 600;
R_GetModeInfo( &w, &h, cvarSystem->GetCVarInteger( "r_mode" ) );
info.width = w;
info.height = h;
info.depth = 32;
info.frequency = cvarSystem->GetCVarInteger( "r_maxDisplayRefresh" );
info.windowLoc.x = 0;
info.windowLoc.y = 0;
info.flags = 0;
info.resFlags = 0;
if ( r_stretched.GetBool() )
info.resFlags |= kRes_Stretched;
WindowRef prefWindow;
if ( CreateGameDisplayPreferencesDialog( &info, &prefWindow ) == noErr ) {
if ( RunGameDisplayPreferencesDialog( &info, prefWindow ) == noErr ) {
cvarSystem->SetCVarBool( "r_fullscreen", info.mode == kFullScreen );
int i = 0;
int r_mode = -1;
while ( r_mode == -1 && R_GetModeInfo( &w, &h, i ) ) {
if ( w == info.width && h == info.height )
r_mode = i;
i++;
}
cvarSystem->SetCVarInteger( "r_mode", r_mode );
if ( r_mode == -1 ) {
cvarSystem->SetCVarInteger( "r_customWidth", info.width );
cvarSystem->SetCVarInteger( "r_customHeight", info.height );
}
float r = (float) info.width / (float) info.height;
if ( r > 1.7f )
cvarSystem->SetCVarInteger( "r_aspectRatio", 1 ); // 16:9
else if ( r > 1.55f )
cvarSystem->SetCVarInteger( "r_aspectRatio", 2 ); // 16:10
else
cvarSystem->SetCVarInteger( "r_aspectRatio", 0 ); // 4:3
r_stretched.SetBool( info.resFlags & kRes_Stretched );
cvarSystem->SetCVarInteger( "r_screen", GetScreenIndexForDisplayID( info.displayID ) );
cvarSystem->SetCVarInteger( "r_minDisplayRefresh", (int)FixedToFloat( info.frequency ) );
cvarSystem->SetCVarInteger( "r_maxDisplayRefresh", (int)FixedToFloat( info.frequency ) );
}
else {
Sys_Quit();
}
}
}
useOpenAL = CFPreferencesGetAppBooleanValue (kPref_PrefsDialogOpenAL, kCFPreferencesCurrentApplication, &keyFound);
if ( keyFound && useOpenAL ) {
cvarSystem->SetCVarInteger( "com_asyncSound", 1 );
cvarSystem->SetCVarInteger( "s_useOpenAL", 1 );
}
else {
cvarSystem->SetCVarInteger( "com_asyncSound", 2 );
cvarSystem->SetCVarInteger( "s_useOpenAL", 0 );
}
}
#pragma mark -
#define EnablePopupMenuItem(inControl,inMenuItem) EnableMenuItem(GetControlPopupMenuRef(inControl),inMenuItem)
#define DisablePopupMenuItem(inControl,inMenuItem) DisableMenuItem(GetControlPopupMenuRef(inControl),inMenuItem)
#define IsPopupMenuItemEnabled(inControl,inMenuItem) IsMenuItemEnabled(GetControlPopupMenuRef(inControl),inMenuItem)
// Command IDs used in the NIB file
enum
{
kCmdFullscreen = 'Full',
kCmdInAWindow = 'Wind',
kCmdResolution = 'Reso',
kCmdRefreshRate = 'Refr',
kCmdChooseMonitors = 'Moni',
};
// Control IDs used in the NIB file
static const ControlID kFullscreenBtn = { 'PREF', 1 };
static const ControlID kInAWindowBtn = { 'PREF', 2 };
static const ControlID kResolutionPopup = { 'PREF', 3 };
static const ControlID kRefreshRatePopup = { 'PREF', 4 };
static const ControlID kChooseMonitorsBtn = { 'PREF', 5 };
static const ControlID kAlwaysBtn = { 'PREF', 6 };
static const ControlID kOpenALBtn = { 'PREF', 7 };
struct Res
{
int width;
int height;
int depth;
UInt32 resFlags;
};
static bool operator< (const Res& a, const Res& b)
{
if (a.width == b.width)
{
if (a.height == b.height)
{
if (a.resFlags == b.resFlags)
{
return (a.depth < b.depth);
}
return (a.resFlags < b.resFlags);
}
return (a.height < b.height);
}
return (a.width < b.width);
}
inline Res MakeRes(int width, int height, int depth)
{
Res temp = { width, height, depth, 0 };
return temp;
}
inline Res MakeRes(int width, int height, int depth, UInt32 resFlags)
{
Res temp = { width, height, depth, resFlags };
return temp;
}
static bool ValidDisplayID (CGDirectDisplayID inDisplayID)
{
unsigned int i;
CGDisplayErr err;
CGDisplayCount count;
err = CGGetActiveDisplayList(0, NULL, &count);
if (noErr == err)
{
CGDirectDisplayID displays[count];
err = CGGetActiveDisplayList(count, displays, &count);
if (noErr == err)
{
for ( i = 0; i < count; i++)
if (displays[i] == inDisplayID)
return true;
}
}
return false;
}
static int BuildResolutionList(CGDirectDisplayID inDisplayID, Res *ioList, ValidModeCallbackProc inCallback)
{
std::set<Res> modes;
int i, total = 0;
if (inDisplayID == (CGDirectDisplayID)-1) // special case, not associated with any display
{
Res stdModes[] = { { 640, 480 }, { 800, 600 }, { 1024, 768 }, { 1152, 768 },
{ 1280, 854 }, { 1280, 960 }, { 1280, 1024 }, { 1440, 900 } };
total = sizeof(stdModes) / sizeof(Res);
for (i = 0; i < total; i++)
{
if (inCallback == NULL || inCallback(inDisplayID, stdModes[i].width, stdModes[i].height, 32, 0))
modes.insert( MakeRes(stdModes[i].width, stdModes[i].height, 32) );
}
}
else
{
CGDirectDisplayID displayID = inDisplayID ? inDisplayID : kCGDirectMainDisplay;
CFArrayRef modeArrayRef = CGDisplayAvailableModes(displayID);
CFIndex numModes = CFArrayGetCount(modeArrayRef);
for (i = 0; i < numModes; i++)
{
CFDictionaryRef modeRef = (CFDictionaryRef)CFArrayGetValueAtIndex(modeArrayRef, i);
long value = 0;
CFNumberRef valueRef;
Boolean success;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayBitsPerPixel);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int depth = value;
if (depth != 32) continue;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayWidth);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int width = value;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayHeight);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int height = value;
UInt32 resFlags = 0;
CFBooleanRef boolRef;
if (CFDictionaryGetValueIfPresent (modeRef, kCGDisplayModeIsStretched, (const void **)&boolRef))
if (CFBooleanGetValue (boolRef))
resFlags |= kRes_Stretched;
if (inCallback)
success = inCallback(displayID, width, height, depth, 0);
else
success = true;
if (success)
modes.insert(MakeRes(width, height, depth, resFlags));
}
}
total = modes.size();
if (ioList)
{
std::set<Res>::iterator it = modes.begin();
for (i = 0; it != modes.end(); i++)
ioList[i] = *it++;
}
return total;
}
static void BuildRefreshRates(CGDirectDisplayID inDisplayID, int inWidth, int inHeight, std::list<Fixed>* inList, ValidModeCallbackProc inCallback)
{
CGDirectDisplayID displayID = inDisplayID ? inDisplayID : kCGDirectMainDisplay;
CFArrayRef modeArrayRef = CGDisplayAvailableModes(displayID);
CFIndex numModes = CFArrayGetCount(modeArrayRef);
inList->clear();
for (int i = 0; i < numModes; i++)
{
CFDictionaryRef modeRef = (CFDictionaryRef)CFArrayGetValueAtIndex(modeArrayRef, i);
long value = 0;
CFNumberRef valueRef;
Boolean success;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayBitsPerPixel);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int depth = value;
if (depth != 32) continue;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayWidth);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int width = value;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayHeight);
success = CFNumberGetValue(valueRef, kCFNumberLongType, &value);
int height = value;
if (width == inWidth && height == inHeight)
{
double freqDouble;
valueRef = (CFNumberRef)CFDictionaryGetValue(modeRef, kCGDisplayRefreshRate);
success = CFNumberGetValue(valueRef, kCFNumberDoubleType, &freqDouble);
Fixed freq = FloatToFixed(freqDouble);
if (inCallback)
success = inCallback(displayID, width, height, depth, freq);
else
success = true;
if (success)
inList->push_back(freq);
}
}
// Disallow 0, which we reserve to mean "automatic"
inList->remove(0);
inList->sort();
// Remove duplicates - yes they can occur.
inList->unique();
}
static void BuildRefreshPopupButton(ControlRef inControl, std::list<Fixed>* inList)
{
MenuRef menu = GetControlPopupMenuRef(inControl);
assert(menu);
if (!menu) return;
// The menu has two permanent items - "Auto" & a divider line. Delete everything else.
DeleteMenuItems(menu, 3, CountMenuItems(menu)-2);
for (std::list<Fixed>::const_iterator iter = inList->begin(); iter != inList->end(); ++iter)
{
float value = FixedToFloat(*iter);
CFStringRef menuString = CFStringCreateWithFormat (kCFAllocatorDefault, 0, CFSTR("%g Hz"), value);
InsertMenuItemTextWithCFString(menu, menuString, CountMenuItems(menu), 0, 0);
}
SetControlMaximum(inControl, CountMenuItems(menu));
}
static SInt32 FindRefreshPopupMenuItem(std::list<Fixed>* inList, Fixed inFrequency)
{
SInt32 index = 3; // skip over the "Auto" and divider ine
for (std::list<Fixed>::const_iterator iter = inList->begin(); iter != inList->end(); ++iter)
{
if (*iter == inFrequency)
return index;
index++;
}
return 1; // Return the "Automatic" item if we didn't find a match
}
static void BuildResolutionPopupButton(ControlRef inControl, CGDirectDisplayID inDisplayID, ValidModeCallbackProc inCallback)
{
// Get the list of valid resolutions
int count = BuildResolutionList(inDisplayID, NULL, inCallback);
Res resList[count];
BuildResolutionList(inDisplayID, resList, inCallback);
// Clear the menu
MenuRef menu = GetControlPopupMenuRef(inControl);
assert(menu);
if (!menu) return;
DeleteMenuItems(menu, 1, CountMenuItems(menu));
OSStatus err;
while (count--)
{
CFStringRef menuString = CFStringCreateWithFormat (kCFAllocatorDefault, 0, CFSTR("%d x %d %@"),
resList[count].width, resList[count].height, (resList[count].resFlags & kRes_Stretched) ? CFSTR("(Stretched)") : CFSTR(""));
InsertMenuItemTextWithCFString (menu, menuString, 0, 0, 0);
err = SetMenuItemProperty (menu, 1, kAppCreator, 'Res ', sizeof(resList[count]), &resList[count]);
}
SetControlMaximum(inControl, CountMenuItems(menu));
}
static void GetResolutionFromPopupMenuItem(ControlRef inControl, MenuItemIndex inItem, int *outX, int *outY, int *outDepth, UInt32 *outResFlags)
{
MenuRef menu = GetControlPopupMenuRef(inControl);
Res res;
OSStatus err;
err = GetMenuItemProperty (menu, inItem, kAppCreator, 'Res ', sizeof(res), NULL, &res);
if (!err)
{
*outX = res.width;
*outY = res.height;
*outResFlags = res.resFlags;
*outDepth = 32;
}
}
static void AdjustResolutionPopupMenu(ControlRef inControl, CGDirectDisplayID inDisplayID, bool isFullscreen, int& screenwidth, int& screenheight, int& screendepth, UInt32& screenResFlags)
{
int screenX = INT_MAX, screenY = INT_MAX;
// In windowed mode, you have to disable resolutions that are larger than the current screen size
if (!isFullscreen)
{
screenX = (int)CGDisplayPixelsWide(inDisplayID);
screenY = (int)CGDisplayPixelsHigh(inDisplayID);
}
MenuRef menu = GetControlPopupMenuRef(inControl);
int resX, resY, depth;
UInt32 resFlags;
int count = CountMenuItems(menu);
int item;
for( item = 1; item <= count; item++)
{
GetResolutionFromPopupMenuItem(inControl, item, &resX, &resY, &depth, &resFlags);
if (screenX < resX || screenY < resY)
DisablePopupMenuItem(inControl, item);
else
EnablePopupMenuItem(inControl, item);
if (resX == screenwidth && resY == screenheight && depth == screendepth && resFlags == screenResFlags)
SetControlValue(inControl, item);
}
// If we just disabled the current item, then choose something else.
if (!IsPopupMenuItemEnabled(inControl, GetControlValue (inControl)))
{
for(item = 1; item <= count; item++)
{
if (IsPopupMenuItemEnabled(inControl, item))
{
SetControlValue(inControl, item);
GetResolutionFromPopupMenuItem(inControl, item, &screenwidth, &screenheight, &screendepth, &screenResFlags);
break;
}
}
}
}
static void AdjustDisplayControls(PrefInfo *prefInfo)
{
// Build new resolution popup and select appropriate resolution
if ((prefInfo->prefGameDisplayMode != kFullScreen))
{
BuildResolutionPopupButton(prefInfo->resolutionPopup, (CGDirectDisplayID)-1, prefInfo->callback);
if (prefInfo->multiMonitor)
EnableControl(prefInfo->chooseMonitorsBtn);
}
else
{
BuildResolutionPopupButton(prefInfo->resolutionPopup, prefInfo->prefDisplayID, prefInfo->callback);
if (prefInfo->multiMonitor)
EnableControl(prefInfo->chooseMonitorsBtn);
}
AdjustResolutionPopupMenu(prefInfo->resolutionPopup, prefInfo->prefDisplayID,
prefInfo->prefGameDisplayMode == kFullScreen,
prefInfo->prefWidth, prefInfo->prefHeight, prefInfo->prefDepth, prefInfo->prefResFlags);
// Build new refresh popup and select appropriate rate
BuildRefreshRates(prefInfo->prefDisplayID, prefInfo->prefWidth, prefInfo->prefHeight,
&prefInfo->refreshRates, prefInfo->callback);
BuildRefreshPopupButton(prefInfo->refreshRatePopup, &prefInfo->refreshRates);
if (prefInfo->refreshRates.size() == 0)
{ // No refresh rates, so pick Auto
prefInfo->freqMenuIndex = 1;
prefInfo->prefFrequency = 0;
}
else
{
prefInfo->freqMenuIndex = FindRefreshPopupMenuItem(&prefInfo->refreshRates, prefInfo->prefFrequency);
if (prefInfo->freqMenuIndex == 1)
prefInfo->prefFrequency = 0; // just in case FindRefreshPopupMenuItem didn't find prefInfo->prefFrequency
}
SetControlValue (prefInfo->refreshRatePopup, prefInfo->freqMenuIndex);
// Disable refresh rate if NOT fullscreen
if ((prefInfo->prefGameDisplayMode != kFullScreen) || (prefInfo->refreshRates.size() == 0))
DisableControl (prefInfo->refreshRatePopup);
else
EnableControl (prefInfo->refreshRatePopup);
}
#pragma mark -
static pascal OSStatus PrefHandler( EventHandlerCallRef inHandler, EventRef inEvent, void* inUserData )
{
#pragma unused( inHandler )
HICommand cmd;
OSStatus result = eventNotHandledErr;
PrefInfo* prefInfo = (PrefInfo*)inUserData;
// The direct object for a 'process commmand' event is the HICommand.
// Extract it here and switch off the command ID.
GetEventParameter( inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof( cmd ), NULL, &cmd );
switch ( cmd.commandID )
{
case kHICommandOK:
prefInfo->okPressed = true;
prefInfo->prefAlways = GetControlValue (prefInfo->alwaysBtn);
prefInfo->prefOpenAL = GetControlValue (prefInfo->openALBtn);
CFPreferencesSetAppValue (kPref_PrefsDialogAlways,
prefInfo->prefAlways ? kCFBooleanTrue : kCFBooleanFalse,
kCFPreferencesCurrentApplication);
CFPreferencesSetAppValue (kPref_PrefsDialogOpenAL,
prefInfo->prefOpenAL ? kCFBooleanTrue : kCFBooleanFalse,
kCFPreferencesCurrentApplication);
CFPreferencesAppSynchronize (kCFPreferencesCurrentApplication);
QuitAppModalLoopForWindow( prefInfo->window );
result = noErr;
break;
case kHICommandCancel:
prefInfo->okPressed = false;
QuitAppModalLoopForWindow( prefInfo->window );
result = noErr;
break;
case kCmdFullscreen:
case kCmdInAWindow:
if (cmd.commandID == kCmdFullscreen)
prefInfo->prefGameDisplayMode = kFullScreen;
else
prefInfo->prefGameDisplayMode = kWindow;
SetControlValue (prefInfo->fullscreenBtn, prefInfo->prefGameDisplayMode == kFullScreen);
SetControlValue (prefInfo->inAWindowBtn, 1 - (prefInfo->prefGameDisplayMode == kFullScreen));
if (prefInfo->prefGameDisplayMode == kFullScreen)
EnableControl (prefInfo->refreshRatePopup);
else
DisableControl (prefInfo->refreshRatePopup);
if (prefInfo->multiMonitor)
EnableControl (prefInfo->chooseMonitorsBtn);
else
DisableControl (prefInfo->chooseMonitorsBtn);
// Adjust resolutions, refresh rates
AdjustDisplayControls(prefInfo);
result = noErr;
break;
case kCmdChooseMonitors:
{
PickMonitor((DisplayIDType*)&prefInfo->prefDisplayID, prefInfo->window);
// Adjust resolutions, refresh rates for potentially new display ID
AdjustDisplayControls(prefInfo);
break;
}
case kCmdResolution:
{
// Pick a new resolution
int item = GetControlValue(prefInfo->resolutionPopup);
GetResolutionFromPopupMenuItem(prefInfo->resolutionPopup, item, &prefInfo->prefWidth, &prefInfo->prefHeight, &prefInfo->prefDepth, &prefInfo->prefResFlags);
// Adjust refresh menu
BuildRefreshRates(prefInfo->prefDisplayID, prefInfo->prefWidth, prefInfo->prefHeight, &prefInfo->refreshRates, prefInfo->callback);
BuildRefreshPopupButton(prefInfo->refreshRatePopup, &prefInfo->refreshRates);
prefInfo->freqMenuIndex = FindRefreshPopupMenuItem(&prefInfo->refreshRates, prefInfo->prefFrequency);
if (prefInfo->freqMenuIndex == 1)
prefInfo->prefFrequency = 0; // just in case FindRefreshPopupMenuItem didn't find prefInfo->prefFrequency
SetControlValue (prefInfo->refreshRatePopup, prefInfo->freqMenuIndex);
// Disable refresh rate if NOT fullscreen
if ((prefInfo->prefGameDisplayMode != kFullScreen) || (prefInfo->refreshRates.size() == 0))
DisableControl (prefInfo->refreshRatePopup);
else
EnableControl (prefInfo->refreshRatePopup);
break;
}
case kCmdRefreshRate:
{
// Keep prefInfo->prefFrequency updated for the other controls to reference
prefInfo->freqMenuIndex = GetControlValue (prefInfo->refreshRatePopup);
if (prefInfo->freqMenuIndex == 1)
prefInfo->prefFrequency = 0;
else
{
std::list<Fixed>::const_iterator iter = prefInfo->refreshRates.begin();
for (int i = 0; i < prefInfo->freqMenuIndex-3; i++)
iter++;
prefInfo->prefFrequency = *iter;
}
break;
}
}
return result;
}
#pragma mark -
static DEFINE_ONE_SHOT_HANDLER_GETTER(PrefHandler)
OSStatus CreateGameDisplayPreferencesDialog(const GameDisplayInfo *inGDInfo,
WindowRef *outWindow, ValidModeCallbackProc inCallback)
{
OSStatus err = noErr;
// Build up a structure to pass to the window handler we are about
// to install. We store the window itself, as well as the original
// states of our settings. We use this to revert if the user clicks
// the cancel button.
static PrefInfo prefInfo;
prefInfo.prefGameDisplayMode = inGDInfo->mode;
prefInfo.prefDisplayID = inGDInfo->displayID;
prefInfo.prefWidth = inGDInfo->width;
prefInfo.prefHeight = inGDInfo->height;
prefInfo.prefDepth = inGDInfo->depth;
prefInfo.prefFrequency = inGDInfo->frequency;
prefInfo.prefResFlags = inGDInfo->resFlags;
prefInfo.window = NULL;
prefInfo.okPressed = false;
Boolean result;
Boolean keyFound;
result = CFPreferencesGetAppBooleanValue (kPref_PrefsDialogAlways, kCFPreferencesCurrentApplication, &keyFound);
prefInfo.prefAlways = result && keyFound;
result = CFPreferencesGetAppBooleanValue (kPref_PrefsDialogOpenAL, kCFPreferencesCurrentApplication, &keyFound);
prefInfo.prefOpenAL = result && keyFound;
prefInfo.callback = inCallback;
// If DoPreferences is called at the start of the game, prefInfo.prefDisplayID needs to be checked
// to see if it is still a valid display ID.
if (!ValidDisplayID(prefInfo.prefDisplayID))
prefInfo.prefDisplayID = kCGDirectMainDisplay; // revert to main
// Fetch the dialog
IBNibRef aslNib;
CFBundleRef theBundle = CFBundleGetMainBundle();
err = CreateNibReferenceWithCFBundle(theBundle, CFSTR("ASLCore"), &aslNib);
err = ::CreateWindowFromNib(aslNib, CFSTR( "Preferences" ), &prefInfo.window );
if (err != noErr)
return err;
SetWRefCon(prefInfo.window, (long)&prefInfo);
// Locate all the controls
GetControlByID( prefInfo.window, &kFullscreenBtn, &prefInfo.fullscreenBtn ); assert(prefInfo.fullscreenBtn);
GetControlByID( prefInfo.window, &kInAWindowBtn, &prefInfo.inAWindowBtn ); assert(prefInfo.inAWindowBtn);
GetControlByID( prefInfo.window, &kResolutionPopup, &prefInfo.resolutionPopup ); assert(prefInfo.resolutionPopup);
GetControlByID( prefInfo.window, &kRefreshRatePopup, &prefInfo.refreshRatePopup ); assert(prefInfo.refreshRatePopup);
GetControlByID( prefInfo.window, &kChooseMonitorsBtn, &prefInfo.chooseMonitorsBtn ); assert(prefInfo.chooseMonitorsBtn);
GetControlByID( prefInfo.window, &kAlwaysBtn, &prefInfo.alwaysBtn ); assert(prefInfo.alwaysBtn);
GetControlByID( prefInfo.window, &kOpenALBtn, &prefInfo.openALBtn ); assert(prefInfo.openALBtn);
// Disable the "choose monitor" button if we've only got one to pick from
prefInfo.multiMonitor = CanUserPickMonitor();
if (!prefInfo.multiMonitor)
{
DisableControl (prefInfo.chooseMonitorsBtn);
prefInfo.prefDisplayID = 0;
}
// Prepare the resolutions and refresh rates popup menus
AdjustDisplayControls(&prefInfo);
// Set up the controls
SetControlValue (prefInfo.refreshRatePopup, prefInfo.freqMenuIndex);
SetControlValue (prefInfo.fullscreenBtn, prefInfo.prefGameDisplayMode == kFullScreen);
SetControlValue (prefInfo.inAWindowBtn, prefInfo.prefGameDisplayMode == kWindow);
SetControlValue (prefInfo.alwaysBtn, prefInfo.prefAlways);
SetControlValue (prefInfo.openALBtn, prefInfo.prefOpenAL);
// Create our UPP and install the handler.
EventTypeSpec cmdEvent = { kEventClassCommand, kEventCommandProcess };
EventHandlerUPP handler = GetPrefHandlerUPP();
InstallWindowEventHandler( prefInfo.window, handler, 1, &cmdEvent, &prefInfo, NULL );
// Position and show the window
RepositionWindow( prefInfo.window, NULL, kWindowAlertPositionOnMainScreen );
if (outWindow)
*outWindow = prefInfo.window;
return err;
}
//------------------------------------------------------------------------------------
// ¥ RunGameDisplayPreferencesDialog
//------------------------------------------------------------------------------------
// Runs the Mac-specific preferences dialog.
OSStatus RunGameDisplayPreferencesDialog(GameDisplayInfo *outGDInfo, WindowRef inWindow)
{
PrefInfo *prefInfo = (PrefInfo*)GetWRefCon(inWindow);
ShowWindow( inWindow );
// Now we run modally. We will remain here until the PrefHandler
// calls QuitAppModalLoopForWindow if the user clicks OK or
// Cancel.
RunAppModalLoopForWindow( inWindow );
// OK, we're done. Dispose of our window.
// TODO: Are we supposed to uninstall event handlers?
DisposeWindow( inWindow );
// Return settings to caller
if (prefInfo->okPressed)
{
outGDInfo->mode = prefInfo->prefGameDisplayMode;
outGDInfo->width = prefInfo->prefWidth;
outGDInfo->height = prefInfo->prefHeight;
outGDInfo->depth = prefInfo->prefDepth;
outGDInfo->frequency = prefInfo->prefFrequency;
outGDInfo->resFlags = prefInfo->prefResFlags;
outGDInfo->displayID = prefInfo->prefDisplayID;
}
return prefInfo->okPressed ? noErr : userCanceledErr;
}

View File

@@ -0,0 +1,72 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#ifndef PREFERENCESDIALOG_H
#define PREFERENCESDIALOG_H
enum GameDisplayMode
{
kInactive,
kFullScreen,
kWindow
};
typedef long LONG;
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT;
typedef struct
{
GameDisplayMode mode; // Indicates if the game is in full screen mode or window mode.
CGDirectDisplayID displayID; // Display used for the full screen mode.
short width; // Width of screen and/or window.
short height; // Height of screen and/or window.
short depth; // Screen bit depth used for full screen mode.
Fixed frequency; // Screen refresh rate in MHz for full screen mode. If zero, then a default will be used.
POINT windowLoc; // Device-local coordinate of top left corner for window mode. Expressed as a Win32 POINT. Coordiantes may be CW_USEDEFAULT indicating no location has yet been established.
unsigned long flags; // kBlankingWindow, kDontRepositionWindow, etc.
UInt32 resFlags; // boolean bits to mark special modes for each resolution, e.g. stretched
} GameDisplayInfo;
typedef bool(*ValidModeCallbackProc)(CGDirectDisplayID displayID, int width, int height, int depth, Fixed freq);
OSStatus CreateGameDisplayPreferencesDialog(
const GameDisplayInfo *inGDInfo,
WindowRef *outWindow,
ValidModeCallbackProc inCallback = NULL);
OSStatus RunGameDisplayPreferencesDialog(
GameDisplayInfo *outGDInfo,
WindowRef inWindow);
#endif // PREFERENCESDIALOG_H

View File

@@ -0,0 +1,419 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
81326DE0099C16B6003C4788 /* getdate.c in Sources */ = {isa = PBXBuildFile; fileRef = 81326DDF099C16B5003C4788 /* getdate.c */; };
81990C280981932900A439CA /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990B920981932900A439CA /* base64.c */; };
81990C310981932900A439CA /* connect.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990B9E0981932900A439CA /* connect.c */; };
81990C350981932900A439CA /* cookie.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BA20981932900A439CA /* cookie.c */; };
81990C380981932900A439CA /* dict.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BA80981932900A439CA /* dict.c */; };
81990C3A0981932900A439CA /* easy.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BAA0981932900A439CA /* easy.c */; };
81990C3C0981932900A439CA /* escape.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BAC0981932900A439CA /* escape.c */; };
81990C3E0981932900A439CA /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BAE0981932900A439CA /* file.c */; };
81990C400981932900A439CA /* formdata.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BB00981932900A439CA /* formdata.c */; };
81990C420981932900A439CA /* ftp.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BB20981932900A439CA /* ftp.c */; };
81990C440981932900A439CA /* getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BB40981932900A439CA /* getenv.c */; };
81990C450981932900A439CA /* getinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BB50981932900A439CA /* getinfo.c */; };
81990C490981932900A439CA /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BB90981932900A439CA /* hash.c */; };
81990C4D0981932900A439CA /* hostip.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BBD0981932900A439CA /* hostip.c */; };
81990C530981932900A439CA /* http_chunks.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BC30981932900A439CA /* http_chunks.c */; };
81990C550981932900A439CA /* http_digest.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BC50981932900A439CA /* http_digest.c */; };
81990C570981932900A439CA /* http_negotiate.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BC70981932900A439CA /* http_negotiate.c */; };
81990C590981932900A439CA /* http_ntlm.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BC90981932900A439CA /* http_ntlm.c */; };
81990C5B0981932900A439CA /* http.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BCB0981932900A439CA /* http.c */; };
81990C5D0981932900A439CA /* if2ip.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BCD0981932900A439CA /* if2ip.c */; };
81990C620981932900A439CA /* inet_pton.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BD20981932900A439CA /* inet_pton.c */; };
81990C640981932900A439CA /* krb4.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BD40981932900A439CA /* krb4.c */; };
81990C660981932900A439CA /* ldap.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BD60981932900A439CA /* ldap.c */; };
81990C690981932900A439CA /* llist.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BDD0981932900A439CA /* llist.c */; };
81990C6D0981932900A439CA /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BEB0981932900A439CA /* md5.c */; };
81990C6F0981932900A439CA /* memdebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BED0981932900A439CA /* memdebug.c */; };
81990C720981932900A439CA /* mprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BF00981932900A439CA /* mprintf.c */; };
81990C730981932900A439CA /* multi.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BF30981932900A439CA /* multi.c */; };
81990C750981932900A439CA /* netrc.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BF50981932900A439CA /* netrc.c */; };
81990C7A0981932900A439CA /* progress.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BFA0981932900A439CA /* progress.c */; };
81990C7C0981932900A439CA /* security.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C020981932900A439CA /* security.c */; };
81990C7F0981932900A439CA /* sendf.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C050981932900A439CA /* sendf.c */; };
81990C820981932900A439CA /* share.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C080981932900A439CA /* share.c */; };
81990C840981932900A439CA /* speedcheck.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C0A0981932900A439CA /* speedcheck.c */; };
81990C880981932900A439CA /* ssluse.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C0E0981932900A439CA /* ssluse.c */; };
81990C8A0981932900A439CA /* strequal.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C110981932900A439CA /* strequal.c */; };
81990C8E0981932900A439CA /* strtok.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C150981932900A439CA /* strtok.c */; };
81990C900981932900A439CA /* strtoofft.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C170981932900A439CA /* strtoofft.c */; };
81990C920981932900A439CA /* telnet.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C190981932900A439CA /* telnet.c */; };
81990C960981932900A439CA /* timeval.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C1D0981932900A439CA /* timeval.c */; };
81990C980981932900A439CA /* transfer.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C1F0981932900A439CA /* transfer.c */; };
81990C9A0981932900A439CA /* url.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C210981932900A439CA /* url.c */; };
81990C9D0981932900A439CA /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990C240981932900A439CA /* version.c */; };
81990D430981A46E00A439CA /* content_encoding.c in Sources */ = {isa = PBXBuildFile; fileRef = 81990BA00981932900A439CA /* content_encoding.c */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
81326DDF099C16B5003C4788 /* getdate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = getdate.c; path = ../../../curl/lib/getdate.c; sourceTree = SOURCE_ROOT; };
81990B920981932900A439CA /* base64.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = base64.c; path = ../../../curl/lib/base64.c; sourceTree = SOURCE_ROOT; };
81990B9E0981932900A439CA /* connect.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = connect.c; path = ../../../curl/lib/connect.c; sourceTree = SOURCE_ROOT; };
81990BA00981932900A439CA /* content_encoding.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = content_encoding.c; path = ../../../curl/lib/content_encoding.c; sourceTree = SOURCE_ROOT; };
81990BA20981932900A439CA /* cookie.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cookie.c; path = ../../../curl/lib/cookie.c; sourceTree = SOURCE_ROOT; };
81990BA80981932900A439CA /* dict.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dict.c; path = ../../../curl/lib/dict.c; sourceTree = SOURCE_ROOT; };
81990BAA0981932900A439CA /* easy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = easy.c; path = ../../../curl/lib/easy.c; sourceTree = SOURCE_ROOT; };
81990BAC0981932900A439CA /* escape.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = escape.c; path = ../../../curl/lib/escape.c; sourceTree = SOURCE_ROOT; };
81990BAE0981932900A439CA /* file.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../../../curl/lib/file.c; sourceTree = SOURCE_ROOT; };
81990BB00981932900A439CA /* formdata.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = formdata.c; path = ../../../curl/lib/formdata.c; sourceTree = SOURCE_ROOT; };
81990BB20981932900A439CA /* ftp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ftp.c; path = ../../../curl/lib/ftp.c; sourceTree = SOURCE_ROOT; };
81990BB40981932900A439CA /* getenv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = getenv.c; path = ../../../curl/lib/getenv.c; sourceTree = SOURCE_ROOT; };
81990BB50981932900A439CA /* getinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = getinfo.c; path = ../../../curl/lib/getinfo.c; sourceTree = SOURCE_ROOT; };
81990BB90981932900A439CA /* hash.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hash.c; path = ../../../curl/lib/hash.c; sourceTree = SOURCE_ROOT; };
81990BBD0981932900A439CA /* hostip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = hostip.c; path = ../../../curl/lib/hostip.c; sourceTree = SOURCE_ROOT; };
81990BC30981932900A439CA /* http_chunks.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http_chunks.c; path = ../../../curl/lib/http_chunks.c; sourceTree = SOURCE_ROOT; };
81990BC50981932900A439CA /* http_digest.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http_digest.c; path = ../../../curl/lib/http_digest.c; sourceTree = SOURCE_ROOT; };
81990BC70981932900A439CA /* http_negotiate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http_negotiate.c; path = ../../../curl/lib/http_negotiate.c; sourceTree = SOURCE_ROOT; };
81990BC90981932900A439CA /* http_ntlm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http_ntlm.c; path = ../../../curl/lib/http_ntlm.c; sourceTree = SOURCE_ROOT; };
81990BCB0981932900A439CA /* http.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = http.c; path = ../../../curl/lib/http.c; sourceTree = SOURCE_ROOT; };
81990BCD0981932900A439CA /* if2ip.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = if2ip.c; path = ../../../curl/lib/if2ip.c; sourceTree = SOURCE_ROOT; };
81990BD20981932900A439CA /* inet_pton.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = inet_pton.c; path = ../../../curl/lib/inet_pton.c; sourceTree = SOURCE_ROOT; };
81990BD40981932900A439CA /* krb4.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = krb4.c; path = ../../../curl/lib/krb4.c; sourceTree = SOURCE_ROOT; };
81990BD60981932900A439CA /* ldap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ldap.c; path = ../../../curl/lib/ldap.c; sourceTree = SOURCE_ROOT; };
81990BDD0981932900A439CA /* llist.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = llist.c; path = ../../../curl/lib/llist.c; sourceTree = SOURCE_ROOT; };
81990BEB0981932900A439CA /* md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../../../curl/lib/md5.c; sourceTree = SOURCE_ROOT; };
81990BED0981932900A439CA /* memdebug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = memdebug.c; path = ../../../curl/lib/memdebug.c; sourceTree = SOURCE_ROOT; };
81990BF00981932900A439CA /* mprintf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = mprintf.c; path = ../../../curl/lib/mprintf.c; sourceTree = SOURCE_ROOT; };
81990BF30981932900A439CA /* multi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = multi.c; path = ../../../curl/lib/multi.c; sourceTree = SOURCE_ROOT; };
81990BF50981932900A439CA /* netrc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = netrc.c; path = ../../../curl/lib/netrc.c; sourceTree = SOURCE_ROOT; };
81990BFA0981932900A439CA /* progress.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = progress.c; path = ../../../curl/lib/progress.c; sourceTree = SOURCE_ROOT; };
81990C020981932900A439CA /* security.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = security.c; path = ../../../curl/lib/security.c; sourceTree = SOURCE_ROOT; };
81990C050981932900A439CA /* sendf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sendf.c; path = ../../../curl/lib/sendf.c; sourceTree = SOURCE_ROOT; };
81990C080981932900A439CA /* share.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = share.c; path = ../../../curl/lib/share.c; sourceTree = SOURCE_ROOT; };
81990C0A0981932900A439CA /* speedcheck.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = speedcheck.c; path = ../../../curl/lib/speedcheck.c; sourceTree = SOURCE_ROOT; };
81990C0E0981932900A439CA /* ssluse.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ssluse.c; path = ../../../curl/lib/ssluse.c; sourceTree = SOURCE_ROOT; };
81990C110981932900A439CA /* strequal.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = strequal.c; path = ../../../curl/lib/strequal.c; sourceTree = SOURCE_ROOT; };
81990C150981932900A439CA /* strtok.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = strtok.c; path = ../../../curl/lib/strtok.c; sourceTree = SOURCE_ROOT; };
81990C170981932900A439CA /* strtoofft.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = strtoofft.c; path = ../../../curl/lib/strtoofft.c; sourceTree = SOURCE_ROOT; };
81990C190981932900A439CA /* telnet.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = telnet.c; path = ../../../curl/lib/telnet.c; sourceTree = SOURCE_ROOT; };
81990C1D0981932900A439CA /* timeval.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = timeval.c; path = ../../../curl/lib/timeval.c; sourceTree = SOURCE_ROOT; };
81990C1F0981932900A439CA /* transfer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = transfer.c; path = ../../../curl/lib/transfer.c; sourceTree = SOURCE_ROOT; };
81990C210981932900A439CA /* url.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = url.c; path = ../../../curl/lib/url.c; sourceTree = SOURCE_ROOT; };
81990C240981932900A439CA /* version.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = version.c; path = ../../../curl/lib/version.c; sourceTree = SOURCE_ROOT; };
D2AAC046055464E500DB518D /* libcurl_static.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libcurl_static.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D289987405E68DCB004EDB86 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* curl */ = {
isa = PBXGroup;
children = (
08FB7795FE84155DC02AAC07 /* Source */,
C6A0FF2B0290797F04C91782 /* Documentation */,
1AB674ADFE9D54B511CA2CBB /* Products */,
);
name = curl;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
81326DDF099C16B5003C4788 /* getdate.c */,
81990B920981932900A439CA /* base64.c */,
81990B9E0981932900A439CA /* connect.c */,
81990BA00981932900A439CA /* content_encoding.c */,
81990BA20981932900A439CA /* cookie.c */,
81990BA80981932900A439CA /* dict.c */,
81990BAA0981932900A439CA /* easy.c */,
81990BAC0981932900A439CA /* escape.c */,
81990BAE0981932900A439CA /* file.c */,
81990BB00981932900A439CA /* formdata.c */,
81990BB20981932900A439CA /* ftp.c */,
81990BB40981932900A439CA /* getenv.c */,
81990BB50981932900A439CA /* getinfo.c */,
81990BB90981932900A439CA /* hash.c */,
81990BBD0981932900A439CA /* hostip.c */,
81990BC30981932900A439CA /* http_chunks.c */,
81990BC50981932900A439CA /* http_digest.c */,
81990BC70981932900A439CA /* http_negotiate.c */,
81990BC90981932900A439CA /* http_ntlm.c */,
81990BCB0981932900A439CA /* http.c */,
81990BCD0981932900A439CA /* if2ip.c */,
81990BD20981932900A439CA /* inet_pton.c */,
81990BD40981932900A439CA /* krb4.c */,
81990BD60981932900A439CA /* ldap.c */,
81990BDD0981932900A439CA /* llist.c */,
81990BEB0981932900A439CA /* md5.c */,
81990BED0981932900A439CA /* memdebug.c */,
81990BF00981932900A439CA /* mprintf.c */,
81990BF30981932900A439CA /* multi.c */,
81990BF50981932900A439CA /* netrc.c */,
81990BFA0981932900A439CA /* progress.c */,
81990C020981932900A439CA /* security.c */,
81990C050981932900A439CA /* sendf.c */,
81990C080981932900A439CA /* share.c */,
81990C0A0981932900A439CA /* speedcheck.c */,
81990C0E0981932900A439CA /* ssluse.c */,
81990C110981932900A439CA /* strequal.c */,
81990C150981932900A439CA /* strtok.c */,
81990C170981932900A439CA /* strtoofft.c */,
81990C190981932900A439CA /* telnet.c */,
81990C1D0981932900A439CA /* timeval.c */,
81990C1F0981932900A439CA /* transfer.c */,
81990C210981932900A439CA /* url.c */,
81990C240981932900A439CA /* version.c */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
D2AAC046055464E500DB518D /* libcurl_static.a */,
);
name = Products;
sourceTree = "<group>";
};
C6A0FF2B0290797F04C91782 /* Documentation */ = {
isa = PBXGroup;
children = (
);
name = Documentation;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
D2AAC043055464E500DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
D2AAC045055464E500DB518D /* curl */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "curl" */;
buildPhases = (
81990CCC09819CB700A439CA /* ShellScript */,
D2AAC043055464E500DB518D /* Headers */,
D2AAC044055464E500DB518D /* Sources */,
D289987405E68DCB004EDB86 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = curl;
productName = curl;
productReference = D2AAC046055464E500DB518D /* libcurl_static.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
ORGANIZATIONNAME = "id Software LLC";
};
buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "curl" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* curl */;
projectDirPath = "";
projectRoot = "";
targets = (
D2AAC045055464E500DB518D /* curl */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
81990CCC09819CB700A439CA /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd ../../../curl\n\n./configure --enable-shared=no --enable-static=yes --enable-http --without-zlib --enable-ftp --disable-gopher --enable-file --disable-ldap --disable-dict --disable-telnet --disable-manual --enable-libgcc --disable-ipv6 --without-ssl\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
D2AAC044055464E500DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
81990C280981932900A439CA /* base64.c in Sources */,
81990C310981932900A439CA /* connect.c in Sources */,
81990C350981932900A439CA /* cookie.c in Sources */,
81990C380981932900A439CA /* dict.c in Sources */,
81990C3A0981932900A439CA /* easy.c in Sources */,
81990C3C0981932900A439CA /* escape.c in Sources */,
81990C3E0981932900A439CA /* file.c in Sources */,
81990C400981932900A439CA /* formdata.c in Sources */,
81990C420981932900A439CA /* ftp.c in Sources */,
81990C440981932900A439CA /* getenv.c in Sources */,
81990C450981932900A439CA /* getinfo.c in Sources */,
81990C490981932900A439CA /* hash.c in Sources */,
81990C4D0981932900A439CA /* hostip.c in Sources */,
81990C530981932900A439CA /* http_chunks.c in Sources */,
81990C550981932900A439CA /* http_digest.c in Sources */,
81990C570981932900A439CA /* http_negotiate.c in Sources */,
81990C590981932900A439CA /* http_ntlm.c in Sources */,
81990C5B0981932900A439CA /* http.c in Sources */,
81990C5D0981932900A439CA /* if2ip.c in Sources */,
81990C620981932900A439CA /* inet_pton.c in Sources */,
81990C640981932900A439CA /* krb4.c in Sources */,
81990C660981932900A439CA /* ldap.c in Sources */,
81990C690981932900A439CA /* llist.c in Sources */,
81990C6D0981932900A439CA /* md5.c in Sources */,
81990C6F0981932900A439CA /* memdebug.c in Sources */,
81990C720981932900A439CA /* mprintf.c in Sources */,
81990C730981932900A439CA /* multi.c in Sources */,
81990C750981932900A439CA /* netrc.c in Sources */,
81990C7A0981932900A439CA /* progress.c in Sources */,
81990C7C0981932900A439CA /* security.c in Sources */,
81990C7F0981932900A439CA /* sendf.c in Sources */,
81990C820981932900A439CA /* share.c in Sources */,
81990C840981932900A439CA /* speedcheck.c in Sources */,
81990C880981932900A439CA /* ssluse.c in Sources */,
81990C8A0981932900A439CA /* strequal.c in Sources */,
81990C8E0981932900A439CA /* strtok.c in Sources */,
81990C900981932900A439CA /* strtoofft.c in Sources */,
81990C920981932900A439CA /* telnet.c in Sources */,
81990C960981932900A439CA /* timeval.c in Sources */,
81990C980981932900A439CA /* transfer.c in Sources */,
81990C9A0981932900A439CA /* url.c in Sources */,
81990C9D0981932900A439CA /* version.c in Sources */,
81990D430981A46E00A439CA /* content_encoding.c in Sources */,
81326DE0099C16B6003C4788 /* getdate.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1DEB91EC08733DB70010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../curl/include";
INSTALL_PATH = /usr/local/lib;
LIBRARY_SEARCH_PATHS = (
"$(LIBRARY_SEARCH_PATHS)",
"$(SRCROOT)/../../../curl/lib",
);
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PRODUCT_NAME = curl_static;
SYMROOT = ../Build;
ZERO_LINK = YES;
};
name = Debug;
};
1DEB91ED08733DB70010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../curl/include";
INSTALL_PATH = /usr/local/lib;
LIBRARY_SEARCH_PATHS = (
"$(LIBRARY_SEARCH_PATHS)",
"$(SRCROOT)/../../../curl/lib",
);
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PRODUCT_NAME = curl_static;
SYMROOT = ../Build;
};
name = Release;
};
1DEB91F008733DB70010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = 1;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Debug;
};
1DEB91F108733DB70010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_MODEL_TUNING = "";
GCC_OPTIMIZATION_LEVEL = 3;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "curl" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91EC08733DB70010E9CD /* Debug */,
1DEB91ED08733DB70010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "curl" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91F008733DB70010E9CD /* Debug */,
1DEB91F108733DB70010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

View File

@@ -0,0 +1,938 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 42;
objects = {
/* Begin PBXBuildFile section */
25ACE0660B31FDED00A159B2 /* Grabber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25ACE0650B31FDED00A159B2 /* Grabber.cpp */; };
25ACE0680B31FDFE00A159B2 /* Force_Grab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25ACE0670B31FDFE00A159B2 /* Force_Grab.cpp */; };
81225A3A0912C3DB005D34B9 /* libidlib_pic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81225A210912C3A4005D34B9 /* libidlib_pic.a */; };
81225AC40912C42F005D34B9 /* PlayerIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */; };
81225AC50912C42F005D34B9 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3C0912C42F005D34B9 /* Actor.cpp */; };
81225AC60912C42F005D34B9 /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A3D0912C42F005D34B9 /* Actor.h */; };
81225AC70912C42F005D34B9 /* AF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3E0912C42F005D34B9 /* AF.cpp */; };
81225AC80912C42F005D34B9 /* AF.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A3F0912C42F005D34B9 /* AF.h */; };
81225AC90912C42F005D34B9 /* AFEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A400912C42F005D34B9 /* AFEntity.cpp */; };
81225ACA0912C42F005D34B9 /* AFEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A410912C42F005D34B9 /* AFEntity.h */; };
81225ACB0912C42F005D34B9 /* AAS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A430912C42F005D34B9 /* AAS.cpp */; };
81225ACC0912C42F005D34B9 /* AAS.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A440912C42F005D34B9 /* AAS.h */; };
81225ACD0912C42F005D34B9 /* AAS_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A450912C42F005D34B9 /* AAS_debug.cpp */; };
81225ACE0912C42F005D34B9 /* AAS_local.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A460912C42F005D34B9 /* AAS_local.h */; };
81225ACF0912C42F005D34B9 /* AAS_pathing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A470912C42F005D34B9 /* AAS_pathing.cpp */; };
81225AD00912C42F005D34B9 /* AAS_routing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A480912C42F005D34B9 /* AAS_routing.cpp */; };
81225AD10912C42F005D34B9 /* AI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A490912C42F005D34B9 /* AI.cpp */; };
81225AD20912C42F005D34B9 /* AI.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A4A0912C42F005D34B9 /* AI.h */; };
81225AD30912C42F005D34B9 /* AI_events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4B0912C42F005D34B9 /* AI_events.cpp */; };
81225AD40912C42F005D34B9 /* AI_pathing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4C0912C42F005D34B9 /* AI_pathing.cpp */; };
81225AD50912C42F005D34B9 /* AI_Vagary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */; };
81225AD60912C42F005D34B9 /* Anim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4F0912C42F005D34B9 /* Anim.cpp */; };
81225AD70912C42F005D34B9 /* Anim.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A500912C42F005D34B9 /* Anim.h */; };
81225AD80912C42F005D34B9 /* Anim_Blend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A510912C42F005D34B9 /* Anim_Blend.cpp */; };
81225AD90912C42F005D34B9 /* Anim_Import.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A520912C42F005D34B9 /* Anim_Import.cpp */; };
81225ADA0912C42F005D34B9 /* Anim_Testmodel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */; };
81225ADB0912C42F005D34B9 /* Anim_Testmodel.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A540912C42F005D34B9 /* Anim_Testmodel.h */; };
81225ADC0912C42F005D34B9 /* BrittleFracture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A550912C42F005D34B9 /* BrittleFracture.cpp */; };
81225ADD0912C42F005D34B9 /* BrittleFracture.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A560912C42F005D34B9 /* BrittleFracture.h */; };
81225ADE0912C42F005D34B9 /* Camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A570912C42F005D34B9 /* Camera.cpp */; };
81225ADF0912C42F005D34B9 /* Camera.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A580912C42F005D34B9 /* Camera.h */; };
81225AE00912C42F005D34B9 /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A590912C42F005D34B9 /* Entity.cpp */; };
81225AE10912C42F005D34B9 /* Entity.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5A0912C42F005D34B9 /* Entity.h */; };
81225AE20912C42F005D34B9 /* Fx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A5B0912C42F005D34B9 /* Fx.cpp */; };
81225AE30912C42F005D34B9 /* Fx.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5C0912C42F005D34B9 /* Fx.h */; };
81225AE40912C42F005D34B9 /* Game.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5E0912C42F005D34B9 /* Game.h */; };
81225AE50912C42F005D34B9 /* Game_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A5F0912C42F005D34B9 /* Game_local.cpp */; };
81225AE60912C42F005D34B9 /* Game_local.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A600912C42F005D34B9 /* Game_local.h */; };
81225AE70912C42F005D34B9 /* Game_network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A610912C42F005D34B9 /* Game_network.cpp */; };
81225AE80912C42F005D34B9 /* GameEdit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A620912C42F005D34B9 /* GameEdit.cpp */; };
81225AE90912C42F005D34B9 /* GameEdit.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A630912C42F005D34B9 /* GameEdit.h */; };
81225AEA0912C42F005D34B9 /* Class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A650912C42F005D34B9 /* Class.cpp */; };
81225AEB0912C42F005D34B9 /* Class.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A660912C42F005D34B9 /* Class.h */; };
81225AEC0912C42F005D34B9 /* DebugGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A670912C42F005D34B9 /* DebugGraph.cpp */; };
81225AED0912C42F005D34B9 /* DebugGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A680912C42F005D34B9 /* DebugGraph.h */; };
81225AEE0912C42F005D34B9 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A690912C42F005D34B9 /* Event.cpp */; };
81225AEF0912C42F005D34B9 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6A0912C42F005D34B9 /* Event.h */; };
81225AF00912C42F005D34B9 /* NoGameTypeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */; };
81225AF10912C42F005D34B9 /* SaveGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A6C0912C42F005D34B9 /* SaveGame.cpp */; };
81225AF20912C42F005D34B9 /* SaveGame.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6D0912C42F005D34B9 /* SaveGame.h */; };
81225AF30912C42F005D34B9 /* SysCmds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A6E0912C42F005D34B9 /* SysCmds.cpp */; };
81225AF40912C42F005D34B9 /* SysCmds.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6F0912C42F005D34B9 /* SysCmds.h */; };
81225AF50912C42F005D34B9 /* SysCvar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A700912C42F005D34B9 /* SysCvar.cpp */; };
81225AF60912C42F005D34B9 /* SysCvar.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A710912C42F005D34B9 /* SysCvar.h */; };
81225AF70912C42F005D34B9 /* TypeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A720912C42F005D34B9 /* TypeInfo.cpp */; };
81225AF80912C42F005D34B9 /* TypeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A730912C42F005D34B9 /* TypeInfo.h */; };
81225AF90912C42F005D34B9 /* IK.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A740912C42F005D34B9 /* IK.cpp */; };
81225AFA0912C42F005D34B9 /* IK.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A750912C42F005D34B9 /* IK.h */; };
81225AFB0912C42F005D34B9 /* Item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A760912C42F005D34B9 /* Item.cpp */; };
81225AFC0912C42F005D34B9 /* Item.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A770912C42F005D34B9 /* Item.h */; };
81225AFD0912C42F005D34B9 /* Light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A780912C42F005D34B9 /* Light.cpp */; };
81225AFE0912C42F005D34B9 /* Light.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A790912C42F005D34B9 /* Light.h */; };
81225AFF0912C42F005D34B9 /* Misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7A0912C42F005D34B9 /* Misc.cpp */; };
81225B000912C42F005D34B9 /* Misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7B0912C42F005D34B9 /* Misc.h */; };
81225B010912C42F005D34B9 /* Moveable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7C0912C42F005D34B9 /* Moveable.cpp */; };
81225B020912C42F005D34B9 /* Moveable.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7D0912C42F005D34B9 /* Moveable.h */; };
81225B030912C42F005D34B9 /* Mover.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7E0912C42F005D34B9 /* Mover.cpp */; };
81225B040912C42F005D34B9 /* Mover.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7F0912C42F005D34B9 /* Mover.h */; };
81225B050912C42F005D34B9 /* MultiplayerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A800912C42F005D34B9 /* MultiplayerGame.cpp */; };
81225B060912C42F005D34B9 /* MultiplayerGame.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A810912C42F005D34B9 /* MultiplayerGame.h */; };
81225B070912C42F005D34B9 /* Clip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A830912C42F005D34B9 /* Clip.cpp */; };
81225B080912C42F005D34B9 /* Clip.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A840912C42F005D34B9 /* Clip.h */; };
81225B090912C42F005D34B9 /* Force.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A850912C42F005D34B9 /* Force.cpp */; };
81225B0A0912C42F005D34B9 /* Force.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A860912C42F005D34B9 /* Force.h */; };
81225B0B0912C42F005D34B9 /* Force_Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A870912C42F005D34B9 /* Force_Constant.cpp */; };
81225B0C0912C42F005D34B9 /* Force_Constant.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A880912C42F005D34B9 /* Force_Constant.h */; };
81225B0D0912C42F005D34B9 /* Force_Drag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A890912C42F005D34B9 /* Force_Drag.cpp */; };
81225B0E0912C42F005D34B9 /* Force_Drag.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8A0912C42F005D34B9 /* Force_Drag.h */; };
81225B0F0912C42F005D34B9 /* Force_Field.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8B0912C42F005D34B9 /* Force_Field.cpp */; };
81225B100912C42F005D34B9 /* Force_Field.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8C0912C42F005D34B9 /* Force_Field.h */; };
81225B110912C42F005D34B9 /* Force_Spring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8D0912C42F005D34B9 /* Force_Spring.cpp */; };
81225B120912C42F005D34B9 /* Force_Spring.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8E0912C42F005D34B9 /* Force_Spring.h */; };
81225B130912C42F005D34B9 /* Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8F0912C42F005D34B9 /* Physics.cpp */; };
81225B140912C42F005D34B9 /* Physics.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A900912C42F005D34B9 /* Physics.h */; };
81225B150912C42F005D34B9 /* Physics_Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A910912C42F005D34B9 /* Physics_Actor.cpp */; };
81225B160912C42F005D34B9 /* Physics_Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A920912C42F005D34B9 /* Physics_Actor.h */; };
81225B170912C42F005D34B9 /* Physics_AF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A930912C42F005D34B9 /* Physics_AF.cpp */; };
81225B180912C42F005D34B9 /* Physics_AF.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A940912C42F005D34B9 /* Physics_AF.h */; };
81225B190912C42F005D34B9 /* Physics_Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A950912C42F005D34B9 /* Physics_Base.cpp */; };
81225B1A0912C42F005D34B9 /* Physics_Base.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A960912C42F005D34B9 /* Physics_Base.h */; };
81225B1B0912C42F005D34B9 /* Physics_Monster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A970912C42F005D34B9 /* Physics_Monster.cpp */; };
81225B1C0912C42F005D34B9 /* Physics_Monster.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A980912C42F005D34B9 /* Physics_Monster.h */; };
81225B1D0912C42F005D34B9 /* Physics_Parametric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A990912C42F005D34B9 /* Physics_Parametric.cpp */; };
81225B1E0912C42F005D34B9 /* Physics_Parametric.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9A0912C42F005D34B9 /* Physics_Parametric.h */; };
81225B1F0912C42F005D34B9 /* Physics_Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9B0912C42F005D34B9 /* Physics_Player.cpp */; };
81225B200912C42F005D34B9 /* Physics_Player.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9C0912C42F005D34B9 /* Physics_Player.h */; };
81225B210912C42F005D34B9 /* Physics_RigidBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */; };
81225B220912C42F005D34B9 /* Physics_RigidBody.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */; };
81225B230912C42F005D34B9 /* Physics_Static.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9F0912C42F005D34B9 /* Physics_Static.cpp */; };
81225B240912C42F005D34B9 /* Physics_Static.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA00912C42F005D34B9 /* Physics_Static.h */; };
81225B250912C42F005D34B9 /* Physics_StaticMulti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */; };
81225B260912C42F005D34B9 /* Physics_StaticMulti.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */; };
81225B270912C42F005D34B9 /* Push.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA30912C42F005D34B9 /* Push.cpp */; };
81225B280912C42F005D34B9 /* Push.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA40912C42F005D34B9 /* Push.h */; };
81225B290912C42F005D34B9 /* Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA50912C42F005D34B9 /* Player.cpp */; };
81225B2A0912C42F005D34B9 /* Player.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA60912C42F005D34B9 /* Player.h */; };
81225B2B0912C42F005D34B9 /* PlayerView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA70912C42F005D34B9 /* PlayerView.cpp */; };
81225B2C0912C42F005D34B9 /* PlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA80912C42F005D34B9 /* PlayerView.h */; };
81225B2D0912C42F005D34B9 /* Projectile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA90912C42F005D34B9 /* Projectile.cpp */; };
81225B2E0912C42F005D34B9 /* Projectile.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAA0912C42F005D34B9 /* Projectile.h */; };
81225B2F0912C42F005D34B9 /* Pvs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AAB0912C42F005D34B9 /* Pvs.cpp */; };
81225B300912C42F005D34B9 /* Pvs.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAC0912C42F005D34B9 /* Pvs.h */; };
81225B310912C42F005D34B9 /* Script_Compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */; };
81225B320912C42F005D34B9 /* Script_Compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAF0912C42F005D34B9 /* Script_Compiler.h */; };
81225B330912C42F005D34B9 /* Script_Interpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */; };
81225B340912C42F005D34B9 /* Script_Interpreter.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB10912C42F005D34B9 /* Script_Interpreter.h */; };
81225B350912C42F005D34B9 /* Script_Program.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB20912C42F005D34B9 /* Script_Program.cpp */; };
81225B360912C42F005D34B9 /* Script_Program.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB30912C42F005D34B9 /* Script_Program.h */; };
81225B370912C42F005D34B9 /* Script_Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB40912C42F005D34B9 /* Script_Thread.cpp */; };
81225B380912C42F005D34B9 /* Script_Thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB50912C42F005D34B9 /* Script_Thread.h */; };
81225B390912C42F005D34B9 /* SecurityCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB60912C42F005D34B9 /* SecurityCamera.cpp */; };
81225B3A0912C42F005D34B9 /* SecurityCamera.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB70912C42F005D34B9 /* SecurityCamera.h */; };
81225B3B0912C42F005D34B9 /* SmokeParticles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB80912C42F005D34B9 /* SmokeParticles.cpp */; };
81225B3C0912C42F005D34B9 /* SmokeParticles.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB90912C42F005D34B9 /* SmokeParticles.h */; };
81225B3D0912C42F005D34B9 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABA0912C42F005D34B9 /* Sound.cpp */; };
81225B3E0912C42F005D34B9 /* Sound.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABB0912C42F005D34B9 /* Sound.h */; };
81225B3F0912C42F005D34B9 /* Target.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABC0912C42F005D34B9 /* Target.cpp */; };
81225B400912C42F005D34B9 /* Target.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABD0912C42F005D34B9 /* Target.h */; };
81225B410912C42F005D34B9 /* Trigger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABE0912C42F005D34B9 /* Trigger.cpp */; };
81225B420912C42F005D34B9 /* Trigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABF0912C42F005D34B9 /* Trigger.h */; };
81225B430912C42F005D34B9 /* Weapon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AC00912C42F005D34B9 /* Weapon.cpp */; };
81225B440912C42F005D34B9 /* Weapon.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AC10912C42F005D34B9 /* Weapon.h */; };
81225B450912C42F005D34B9 /* WorldSpawn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AC20912C42F005D34B9 /* WorldSpawn.cpp */; };
81225B460912C42F005D34B9 /* WorldSpawn.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AC30912C42F005D34B9 /* WorldSpawn.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
81225A200912C3A4005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = D2AAC046055464E500DB518D;
remoteInfo = idlib_pic;
};
81225A220912C3A4005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 81C858490912AD370095BC33;
remoteInfo = idlib_nopic;
};
81225A380912C3C8005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = D2AAC045055464E500DB518D;
remoteInfo = idlib_pic;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
25ACE0650B31FDED00A159B2 /* Grabber.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Grabber.cpp; path = ../../d3xp/Grabber.cpp; sourceTree = SOURCE_ROOT; };
25ACE0670B31FDFE00A159B2 /* Force_Grab.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Grab.cpp; sourceTree = "<group>"; };
81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = idlib.xcodeproj; sourceTree = "<group>"; };
81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PlayerIcon.cpp; path = ../../d3xp/PlayerIcon.cpp; sourceTree = SOURCE_ROOT; };
81225A3C0912C42F005D34B9 /* Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../../d3xp/Actor.cpp; sourceTree = SOURCE_ROOT; };
81225A3D0912C42F005D34B9 /* Actor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Actor.h; path = ../../d3xp/Actor.h; sourceTree = SOURCE_ROOT; };
81225A3E0912C42F005D34B9 /* AF.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AF.cpp; path = ../../d3xp/AF.cpp; sourceTree = SOURCE_ROOT; };
81225A3F0912C42F005D34B9 /* AF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AF.h; path = ../../d3xp/AF.h; sourceTree = SOURCE_ROOT; };
81225A400912C42F005D34B9 /* AFEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AFEntity.cpp; path = ../../d3xp/AFEntity.cpp; sourceTree = SOURCE_ROOT; };
81225A410912C42F005D34B9 /* AFEntity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AFEntity.h; path = ../../d3xp/AFEntity.h; sourceTree = SOURCE_ROOT; };
81225A430912C42F005D34B9 /* AAS.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS.cpp; sourceTree = "<group>"; };
81225A440912C42F005D34B9 /* AAS.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AAS.h; sourceTree = "<group>"; };
81225A450912C42F005D34B9 /* AAS_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_debug.cpp; sourceTree = "<group>"; };
81225A460912C42F005D34B9 /* AAS_local.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AAS_local.h; sourceTree = "<group>"; };
81225A470912C42F005D34B9 /* AAS_pathing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_pathing.cpp; sourceTree = "<group>"; };
81225A480912C42F005D34B9 /* AAS_routing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_routing.cpp; sourceTree = "<group>"; };
81225A490912C42F005D34B9 /* AI.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI.cpp; sourceTree = "<group>"; };
81225A4A0912C42F005D34B9 /* AI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AI.h; sourceTree = "<group>"; };
81225A4B0912C42F005D34B9 /* AI_events.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_events.cpp; sourceTree = "<group>"; };
81225A4C0912C42F005D34B9 /* AI_pathing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_pathing.cpp; sourceTree = "<group>"; };
81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_Vagary.cpp; sourceTree = "<group>"; };
81225A4F0912C42F005D34B9 /* Anim.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim.cpp; sourceTree = "<group>"; };
81225A500912C42F005D34B9 /* Anim.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Anim.h; sourceTree = "<group>"; };
81225A510912C42F005D34B9 /* Anim_Blend.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Blend.cpp; sourceTree = "<group>"; };
81225A520912C42F005D34B9 /* Anim_Import.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Import.cpp; sourceTree = "<group>"; };
81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Testmodel.cpp; sourceTree = "<group>"; };
81225A540912C42F005D34B9 /* Anim_Testmodel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Anim_Testmodel.h; sourceTree = "<group>"; };
81225A550912C42F005D34B9 /* BrittleFracture.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = BrittleFracture.cpp; path = ../../d3xp/BrittleFracture.cpp; sourceTree = SOURCE_ROOT; };
81225A560912C42F005D34B9 /* BrittleFracture.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BrittleFracture.h; path = ../../d3xp/BrittleFracture.h; sourceTree = SOURCE_ROOT; };
81225A570912C42F005D34B9 /* Camera.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Camera.cpp; path = ../../d3xp/Camera.cpp; sourceTree = SOURCE_ROOT; };
81225A580912C42F005D34B9 /* Camera.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Camera.h; path = ../../d3xp/Camera.h; sourceTree = SOURCE_ROOT; };
81225A590912C42F005D34B9 /* Entity.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Entity.cpp; path = ../../d3xp/Entity.cpp; sourceTree = SOURCE_ROOT; };
81225A5A0912C42F005D34B9 /* Entity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Entity.h; path = ../../d3xp/Entity.h; sourceTree = SOURCE_ROOT; };
81225A5B0912C42F005D34B9 /* Fx.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Fx.cpp; path = ../../d3xp/Fx.cpp; sourceTree = SOURCE_ROOT; };
81225A5C0912C42F005D34B9 /* Fx.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Fx.h; path = ../../d3xp/Fx.h; sourceTree = SOURCE_ROOT; };
81225A5D0912C42F005D34B9 /* Game.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = Game.def; path = ../../d3xp/Game.def; sourceTree = SOURCE_ROOT; };
81225A5E0912C42F005D34B9 /* Game.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Game.h; path = ../../d3xp/Game.h; sourceTree = SOURCE_ROOT; };
81225A5F0912C42F005D34B9 /* Game_local.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Game_local.cpp; path = ../../d3xp/Game_local.cpp; sourceTree = SOURCE_ROOT; };
81225A600912C42F005D34B9 /* Game_local.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Game_local.h; path = ../../d3xp/Game_local.h; sourceTree = SOURCE_ROOT; };
81225A610912C42F005D34B9 /* Game_network.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Game_network.cpp; path = ../../d3xp/Game_network.cpp; sourceTree = SOURCE_ROOT; };
81225A620912C42F005D34B9 /* GameEdit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = GameEdit.cpp; path = ../../d3xp/GameEdit.cpp; sourceTree = SOURCE_ROOT; };
81225A630912C42F005D34B9 /* GameEdit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = GameEdit.h; path = ../../d3xp/GameEdit.h; sourceTree = SOURCE_ROOT; };
81225A650912C42F005D34B9 /* Class.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Class.cpp; sourceTree = "<group>"; };
81225A660912C42F005D34B9 /* Class.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Class.h; sourceTree = "<group>"; };
81225A670912C42F005D34B9 /* DebugGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DebugGraph.cpp; sourceTree = "<group>"; };
81225A680912C42F005D34B9 /* DebugGraph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DebugGraph.h; sourceTree = "<group>"; };
81225A690912C42F005D34B9 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = "<group>"; };
81225A6A0912C42F005D34B9 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NoGameTypeInfo.h; sourceTree = "<group>"; };
81225A6C0912C42F005D34B9 /* SaveGame.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SaveGame.cpp; sourceTree = "<group>"; };
81225A6D0912C42F005D34B9 /* SaveGame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SaveGame.h; sourceTree = "<group>"; };
81225A6E0912C42F005D34B9 /* SysCmds.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysCmds.cpp; sourceTree = "<group>"; };
81225A6F0912C42F005D34B9 /* SysCmds.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysCmds.h; sourceTree = "<group>"; };
81225A700912C42F005D34B9 /* SysCvar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysCvar.cpp; sourceTree = "<group>"; };
81225A710912C42F005D34B9 /* SysCvar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysCvar.h; sourceTree = "<group>"; };
81225A720912C42F005D34B9 /* TypeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TypeInfo.cpp; sourceTree = "<group>"; };
81225A730912C42F005D34B9 /* TypeInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TypeInfo.h; sourceTree = "<group>"; };
81225A740912C42F005D34B9 /* IK.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IK.cpp; path = ../../d3xp/IK.cpp; sourceTree = SOURCE_ROOT; };
81225A750912C42F005D34B9 /* IK.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = IK.h; path = ../../d3xp/IK.h; sourceTree = SOURCE_ROOT; };
81225A760912C42F005D34B9 /* Item.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Item.cpp; path = ../../d3xp/Item.cpp; sourceTree = SOURCE_ROOT; };
81225A770912C42F005D34B9 /* Item.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Item.h; path = ../../d3xp/Item.h; sourceTree = SOURCE_ROOT; };
81225A780912C42F005D34B9 /* Light.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Light.cpp; path = ../../d3xp/Light.cpp; sourceTree = SOURCE_ROOT; };
81225A790912C42F005D34B9 /* Light.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Light.h; path = ../../d3xp/Light.h; sourceTree = SOURCE_ROOT; };
81225A7A0912C42F005D34B9 /* Misc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Misc.cpp; path = ../../d3xp/Misc.cpp; sourceTree = SOURCE_ROOT; };
81225A7B0912C42F005D34B9 /* Misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Misc.h; path = ../../d3xp/Misc.h; sourceTree = SOURCE_ROOT; };
81225A7C0912C42F005D34B9 /* Moveable.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Moveable.cpp; path = ../../d3xp/Moveable.cpp; sourceTree = SOURCE_ROOT; };
81225A7D0912C42F005D34B9 /* Moveable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Moveable.h; path = ../../d3xp/Moveable.h; sourceTree = SOURCE_ROOT; };
81225A7E0912C42F005D34B9 /* Mover.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Mover.cpp; path = ../../d3xp/Mover.cpp; sourceTree = SOURCE_ROOT; };
81225A7F0912C42F005D34B9 /* Mover.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Mover.h; path = ../../d3xp/Mover.h; sourceTree = SOURCE_ROOT; };
81225A800912C42F005D34B9 /* MultiplayerGame.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = MultiplayerGame.cpp; path = ../../d3xp/MultiplayerGame.cpp; sourceTree = SOURCE_ROOT; };
81225A810912C42F005D34B9 /* MultiplayerGame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MultiplayerGame.h; path = ../../d3xp/MultiplayerGame.h; sourceTree = SOURCE_ROOT; };
81225A830912C42F005D34B9 /* Clip.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clip.cpp; sourceTree = "<group>"; };
81225A840912C42F005D34B9 /* Clip.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Clip.h; sourceTree = "<group>"; };
81225A850912C42F005D34B9 /* Force.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force.cpp; sourceTree = "<group>"; };
81225A860912C42F005D34B9 /* Force.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force.h; sourceTree = "<group>"; };
81225A870912C42F005D34B9 /* Force_Constant.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Constant.cpp; sourceTree = "<group>"; };
81225A880912C42F005D34B9 /* Force_Constant.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Constant.h; sourceTree = "<group>"; };
81225A890912C42F005D34B9 /* Force_Drag.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Drag.cpp; sourceTree = "<group>"; };
81225A8A0912C42F005D34B9 /* Force_Drag.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Drag.h; sourceTree = "<group>"; };
81225A8B0912C42F005D34B9 /* Force_Field.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Field.cpp; sourceTree = "<group>"; };
81225A8C0912C42F005D34B9 /* Force_Field.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Field.h; sourceTree = "<group>"; };
81225A8D0912C42F005D34B9 /* Force_Spring.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Spring.cpp; sourceTree = "<group>"; };
81225A8E0912C42F005D34B9 /* Force_Spring.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Spring.h; sourceTree = "<group>"; };
81225A8F0912C42F005D34B9 /* Physics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics.cpp; sourceTree = "<group>"; };
81225A900912C42F005D34B9 /* Physics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics.h; sourceTree = "<group>"; };
81225A910912C42F005D34B9 /* Physics_Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Actor.cpp; sourceTree = "<group>"; };
81225A920912C42F005D34B9 /* Physics_Actor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Actor.h; sourceTree = "<group>"; };
81225A930912C42F005D34B9 /* Physics_AF.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_AF.cpp; sourceTree = "<group>"; };
81225A940912C42F005D34B9 /* Physics_AF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_AF.h; sourceTree = "<group>"; };
81225A950912C42F005D34B9 /* Physics_Base.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Base.cpp; sourceTree = "<group>"; };
81225A960912C42F005D34B9 /* Physics_Base.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Base.h; sourceTree = "<group>"; };
81225A970912C42F005D34B9 /* Physics_Monster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Monster.cpp; sourceTree = "<group>"; };
81225A980912C42F005D34B9 /* Physics_Monster.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Monster.h; sourceTree = "<group>"; };
81225A990912C42F005D34B9 /* Physics_Parametric.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Parametric.cpp; sourceTree = "<group>"; };
81225A9A0912C42F005D34B9 /* Physics_Parametric.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Parametric.h; sourceTree = "<group>"; };
81225A9B0912C42F005D34B9 /* Physics_Player.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Player.cpp; sourceTree = "<group>"; };
81225A9C0912C42F005D34B9 /* Physics_Player.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Player.h; sourceTree = "<group>"; };
81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_RigidBody.cpp; sourceTree = "<group>"; };
81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_RigidBody.h; sourceTree = "<group>"; };
81225A9F0912C42F005D34B9 /* Physics_Static.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Static.cpp; sourceTree = "<group>"; };
81225AA00912C42F005D34B9 /* Physics_Static.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Static.h; sourceTree = "<group>"; };
81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_StaticMulti.cpp; sourceTree = "<group>"; };
81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_StaticMulti.h; sourceTree = "<group>"; };
81225AA30912C42F005D34B9 /* Push.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Push.cpp; sourceTree = "<group>"; };
81225AA40912C42F005D34B9 /* Push.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Push.h; sourceTree = "<group>"; };
81225AA50912C42F005D34B9 /* Player.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Player.cpp; path = ../../d3xp/Player.cpp; sourceTree = SOURCE_ROOT; };
81225AA60912C42F005D34B9 /* Player.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Player.h; path = ../../d3xp/Player.h; sourceTree = SOURCE_ROOT; };
81225AA70912C42F005D34B9 /* PlayerView.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PlayerView.cpp; path = ../../d3xp/PlayerView.cpp; sourceTree = SOURCE_ROOT; };
81225AA80912C42F005D34B9 /* PlayerView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PlayerView.h; path = ../../d3xp/PlayerView.h; sourceTree = SOURCE_ROOT; };
81225AA90912C42F005D34B9 /* Projectile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Projectile.cpp; path = ../../d3xp/Projectile.cpp; sourceTree = SOURCE_ROOT; };
81225AAA0912C42F005D34B9 /* Projectile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Projectile.h; path = ../../d3xp/Projectile.h; sourceTree = SOURCE_ROOT; };
81225AAB0912C42F005D34B9 /* Pvs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Pvs.cpp; path = ../../d3xp/Pvs.cpp; sourceTree = SOURCE_ROOT; };
81225AAC0912C42F005D34B9 /* Pvs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Pvs.h; path = ../../d3xp/Pvs.h; sourceTree = SOURCE_ROOT; };
81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Compiler.cpp; sourceTree = "<group>"; };
81225AAF0912C42F005D34B9 /* Script_Compiler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Compiler.h; sourceTree = "<group>"; };
81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Interpreter.cpp; sourceTree = "<group>"; };
81225AB10912C42F005D34B9 /* Script_Interpreter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Interpreter.h; sourceTree = "<group>"; };
81225AB20912C42F005D34B9 /* Script_Program.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Program.cpp; sourceTree = "<group>"; };
81225AB30912C42F005D34B9 /* Script_Program.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Program.h; sourceTree = "<group>"; };
81225AB40912C42F005D34B9 /* Script_Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Thread.cpp; sourceTree = "<group>"; };
81225AB50912C42F005D34B9 /* Script_Thread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Thread.h; sourceTree = "<group>"; };
81225AB60912C42F005D34B9 /* SecurityCamera.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SecurityCamera.cpp; path = ../../d3xp/SecurityCamera.cpp; sourceTree = SOURCE_ROOT; };
81225AB70912C42F005D34B9 /* SecurityCamera.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SecurityCamera.h; path = ../../d3xp/SecurityCamera.h; sourceTree = SOURCE_ROOT; };
81225AB80912C42F005D34B9 /* SmokeParticles.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SmokeParticles.cpp; path = ../../d3xp/SmokeParticles.cpp; sourceTree = SOURCE_ROOT; };
81225AB90912C42F005D34B9 /* SmokeParticles.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SmokeParticles.h; path = ../../d3xp/SmokeParticles.h; sourceTree = SOURCE_ROOT; };
81225ABA0912C42F005D34B9 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sound.cpp; path = ../../d3xp/Sound.cpp; sourceTree = SOURCE_ROOT; };
81225ABB0912C42F005D34B9 /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Sound.h; path = ../../d3xp/Sound.h; sourceTree = SOURCE_ROOT; };
81225ABC0912C42F005D34B9 /* Target.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Target.cpp; path = ../../d3xp/Target.cpp; sourceTree = SOURCE_ROOT; };
81225ABD0912C42F005D34B9 /* Target.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Target.h; path = ../../d3xp/Target.h; sourceTree = SOURCE_ROOT; };
81225ABE0912C42F005D34B9 /* Trigger.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Trigger.cpp; path = ../../d3xp/Trigger.cpp; sourceTree = SOURCE_ROOT; };
81225ABF0912C42F005D34B9 /* Trigger.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Trigger.h; path = ../../d3xp/Trigger.h; sourceTree = SOURCE_ROOT; };
81225AC00912C42F005D34B9 /* Weapon.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Weapon.cpp; path = ../../d3xp/Weapon.cpp; sourceTree = SOURCE_ROOT; };
81225AC10912C42F005D34B9 /* Weapon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Weapon.h; path = ../../d3xp/Weapon.h; sourceTree = SOURCE_ROOT; };
81225AC20912C42F005D34B9 /* WorldSpawn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = WorldSpawn.cpp; path = ../../d3xp/WorldSpawn.cpp; sourceTree = SOURCE_ROOT; };
81225AC30912C42F005D34B9 /* WorldSpawn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = WorldSpawn.h; path = ../../d3xp/WorldSpawn.h; sourceTree = SOURCE_ROOT; };
D2AAC0630554660B00DB518D /* game-d3xp.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "game-d3xp.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D289988505E68E00004EDB86 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
81225A3A0912C3DB005D34B9 /* libidlib_pic.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* game */ = {
isa = PBXGroup;
children = (
08FB7795FE84155DC02AAC07 /* Source */,
1AB674ADFE9D54B511CA2CBB /* Products */,
81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */,
);
name = game;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
25ACE0650B31FDED00A159B2 /* Grabber.cpp */,
81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */,
81225A3C0912C42F005D34B9 /* Actor.cpp */,
81225A3D0912C42F005D34B9 /* Actor.h */,
81225A3E0912C42F005D34B9 /* AF.cpp */,
81225A3F0912C42F005D34B9 /* AF.h */,
81225A400912C42F005D34B9 /* AFEntity.cpp */,
81225A410912C42F005D34B9 /* AFEntity.h */,
81225A420912C42F005D34B9 /* ai */,
81225A4E0912C42F005D34B9 /* anim */,
81225A550912C42F005D34B9 /* BrittleFracture.cpp */,
81225A560912C42F005D34B9 /* BrittleFracture.h */,
81225A570912C42F005D34B9 /* Camera.cpp */,
81225A580912C42F005D34B9 /* Camera.h */,
81225A590912C42F005D34B9 /* Entity.cpp */,
81225A5A0912C42F005D34B9 /* Entity.h */,
81225A5B0912C42F005D34B9 /* Fx.cpp */,
81225A5C0912C42F005D34B9 /* Fx.h */,
81225A5D0912C42F005D34B9 /* Game.def */,
81225A5E0912C42F005D34B9 /* Game.h */,
81225A5F0912C42F005D34B9 /* Game_local.cpp */,
81225A600912C42F005D34B9 /* Game_local.h */,
81225A610912C42F005D34B9 /* Game_network.cpp */,
81225A620912C42F005D34B9 /* GameEdit.cpp */,
81225A630912C42F005D34B9 /* GameEdit.h */,
81225A640912C42F005D34B9 /* gamesys */,
81225A740912C42F005D34B9 /* IK.cpp */,
81225A750912C42F005D34B9 /* IK.h */,
81225A760912C42F005D34B9 /* Item.cpp */,
81225A770912C42F005D34B9 /* Item.h */,
81225A780912C42F005D34B9 /* Light.cpp */,
81225A790912C42F005D34B9 /* Light.h */,
81225A7A0912C42F005D34B9 /* Misc.cpp */,
81225A7B0912C42F005D34B9 /* Misc.h */,
81225A7C0912C42F005D34B9 /* Moveable.cpp */,
81225A7D0912C42F005D34B9 /* Moveable.h */,
81225A7E0912C42F005D34B9 /* Mover.cpp */,
81225A7F0912C42F005D34B9 /* Mover.h */,
81225A800912C42F005D34B9 /* MultiplayerGame.cpp */,
81225A810912C42F005D34B9 /* MultiplayerGame.h */,
81225A820912C42F005D34B9 /* physics */,
81225AA50912C42F005D34B9 /* Player.cpp */,
81225AA60912C42F005D34B9 /* Player.h */,
81225AA70912C42F005D34B9 /* PlayerView.cpp */,
81225AA80912C42F005D34B9 /* PlayerView.h */,
81225AA90912C42F005D34B9 /* Projectile.cpp */,
81225AAA0912C42F005D34B9 /* Projectile.h */,
81225AAB0912C42F005D34B9 /* Pvs.cpp */,
81225AAC0912C42F005D34B9 /* Pvs.h */,
81225AAD0912C42F005D34B9 /* script */,
81225AB60912C42F005D34B9 /* SecurityCamera.cpp */,
81225AB70912C42F005D34B9 /* SecurityCamera.h */,
81225AB80912C42F005D34B9 /* SmokeParticles.cpp */,
81225AB90912C42F005D34B9 /* SmokeParticles.h */,
81225ABA0912C42F005D34B9 /* Sound.cpp */,
81225ABB0912C42F005D34B9 /* Sound.h */,
81225ABC0912C42F005D34B9 /* Target.cpp */,
81225ABD0912C42F005D34B9 /* Target.h */,
81225ABE0912C42F005D34B9 /* Trigger.cpp */,
81225ABF0912C42F005D34B9 /* Trigger.h */,
81225AC00912C42F005D34B9 /* Weapon.cpp */,
81225AC10912C42F005D34B9 /* Weapon.h */,
81225AC20912C42F005D34B9 /* WorldSpawn.cpp */,
81225AC30912C42F005D34B9 /* WorldSpawn.h */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
D2AAC0630554660B00DB518D /* game-d3xp.dylib */,
);
name = Products;
sourceTree = "<group>";
};
81225A1C0912C3A4005D34B9 /* Products */ = {
isa = PBXGroup;
children = (
81225A210912C3A4005D34B9 /* libidlib_pic.a */,
81225A230912C3A4005D34B9 /* libidlib_nopic.a */,
);
name = Products;
sourceTree = "<group>";
};
81225A420912C42F005D34B9 /* ai */ = {
isa = PBXGroup;
children = (
81225A430912C42F005D34B9 /* AAS.cpp */,
81225A440912C42F005D34B9 /* AAS.h */,
81225A450912C42F005D34B9 /* AAS_debug.cpp */,
81225A460912C42F005D34B9 /* AAS_local.h */,
81225A470912C42F005D34B9 /* AAS_pathing.cpp */,
81225A480912C42F005D34B9 /* AAS_routing.cpp */,
81225A490912C42F005D34B9 /* AI.cpp */,
81225A4A0912C42F005D34B9 /* AI.h */,
81225A4B0912C42F005D34B9 /* AI_events.cpp */,
81225A4C0912C42F005D34B9 /* AI_pathing.cpp */,
81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */,
);
name = ai;
path = ../../d3xp/ai;
sourceTree = SOURCE_ROOT;
};
81225A4E0912C42F005D34B9 /* anim */ = {
isa = PBXGroup;
children = (
81225A4F0912C42F005D34B9 /* Anim.cpp */,
81225A500912C42F005D34B9 /* Anim.h */,
81225A510912C42F005D34B9 /* Anim_Blend.cpp */,
81225A520912C42F005D34B9 /* Anim_Import.cpp */,
81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */,
81225A540912C42F005D34B9 /* Anim_Testmodel.h */,
);
name = anim;
path = ../../d3xp/anim;
sourceTree = SOURCE_ROOT;
};
81225A640912C42F005D34B9 /* gamesys */ = {
isa = PBXGroup;
children = (
81225A650912C42F005D34B9 /* Class.cpp */,
81225A660912C42F005D34B9 /* Class.h */,
81225A670912C42F005D34B9 /* DebugGraph.cpp */,
81225A680912C42F005D34B9 /* DebugGraph.h */,
81225A690912C42F005D34B9 /* Event.cpp */,
81225A6A0912C42F005D34B9 /* Event.h */,
81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */,
81225A6C0912C42F005D34B9 /* SaveGame.cpp */,
81225A6D0912C42F005D34B9 /* SaveGame.h */,
81225A6E0912C42F005D34B9 /* SysCmds.cpp */,
81225A6F0912C42F005D34B9 /* SysCmds.h */,
81225A700912C42F005D34B9 /* SysCvar.cpp */,
81225A710912C42F005D34B9 /* SysCvar.h */,
81225A720912C42F005D34B9 /* TypeInfo.cpp */,
81225A730912C42F005D34B9 /* TypeInfo.h */,
);
name = gamesys;
path = ../../d3xp/gamesys;
sourceTree = SOURCE_ROOT;
};
81225A820912C42F005D34B9 /* physics */ = {
isa = PBXGroup;
children = (
25ACE0670B31FDFE00A159B2 /* Force_Grab.cpp */,
81225A830912C42F005D34B9 /* Clip.cpp */,
81225A840912C42F005D34B9 /* Clip.h */,
81225A850912C42F005D34B9 /* Force.cpp */,
81225A860912C42F005D34B9 /* Force.h */,
81225A870912C42F005D34B9 /* Force_Constant.cpp */,
81225A880912C42F005D34B9 /* Force_Constant.h */,
81225A890912C42F005D34B9 /* Force_Drag.cpp */,
81225A8A0912C42F005D34B9 /* Force_Drag.h */,
81225A8B0912C42F005D34B9 /* Force_Field.cpp */,
81225A8C0912C42F005D34B9 /* Force_Field.h */,
81225A8D0912C42F005D34B9 /* Force_Spring.cpp */,
81225A8E0912C42F005D34B9 /* Force_Spring.h */,
81225A8F0912C42F005D34B9 /* Physics.cpp */,
81225A900912C42F005D34B9 /* Physics.h */,
81225A910912C42F005D34B9 /* Physics_Actor.cpp */,
81225A920912C42F005D34B9 /* Physics_Actor.h */,
81225A930912C42F005D34B9 /* Physics_AF.cpp */,
81225A940912C42F005D34B9 /* Physics_AF.h */,
81225A950912C42F005D34B9 /* Physics_Base.cpp */,
81225A960912C42F005D34B9 /* Physics_Base.h */,
81225A970912C42F005D34B9 /* Physics_Monster.cpp */,
81225A980912C42F005D34B9 /* Physics_Monster.h */,
81225A990912C42F005D34B9 /* Physics_Parametric.cpp */,
81225A9A0912C42F005D34B9 /* Physics_Parametric.h */,
81225A9B0912C42F005D34B9 /* Physics_Player.cpp */,
81225A9C0912C42F005D34B9 /* Physics_Player.h */,
81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */,
81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */,
81225A9F0912C42F005D34B9 /* Physics_Static.cpp */,
81225AA00912C42F005D34B9 /* Physics_Static.h */,
81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */,
81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */,
81225AA30912C42F005D34B9 /* Push.cpp */,
81225AA40912C42F005D34B9 /* Push.h */,
);
name = physics;
path = ../../d3xp/physics;
sourceTree = SOURCE_ROOT;
};
81225AAD0912C42F005D34B9 /* script */ = {
isa = PBXGroup;
children = (
81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */,
81225AAF0912C42F005D34B9 /* Script_Compiler.h */,
81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */,
81225AB10912C42F005D34B9 /* Script_Interpreter.h */,
81225AB20912C42F005D34B9 /* Script_Program.cpp */,
81225AB30912C42F005D34B9 /* Script_Program.h */,
81225AB40912C42F005D34B9 /* Script_Thread.cpp */,
81225AB50912C42F005D34B9 /* Script_Thread.h */,
);
name = script;
path = ../../d3xp/script;
sourceTree = SOURCE_ROOT;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
D2AAC0600554660B00DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
81225AC60912C42F005D34B9 /* Actor.h in Headers */,
81225AC80912C42F005D34B9 /* AF.h in Headers */,
81225ACA0912C42F005D34B9 /* AFEntity.h in Headers */,
81225ACC0912C42F005D34B9 /* AAS.h in Headers */,
81225ACE0912C42F005D34B9 /* AAS_local.h in Headers */,
81225AD20912C42F005D34B9 /* AI.h in Headers */,
81225AD70912C42F005D34B9 /* Anim.h in Headers */,
81225ADB0912C42F005D34B9 /* Anim_Testmodel.h in Headers */,
81225ADD0912C42F005D34B9 /* BrittleFracture.h in Headers */,
81225ADF0912C42F005D34B9 /* Camera.h in Headers */,
81225AE10912C42F005D34B9 /* Entity.h in Headers */,
81225AE30912C42F005D34B9 /* Fx.h in Headers */,
81225AE40912C42F005D34B9 /* Game.h in Headers */,
81225AE60912C42F005D34B9 /* Game_local.h in Headers */,
81225AE90912C42F005D34B9 /* GameEdit.h in Headers */,
81225AEB0912C42F005D34B9 /* Class.h in Headers */,
81225AED0912C42F005D34B9 /* DebugGraph.h in Headers */,
81225AEF0912C42F005D34B9 /* Event.h in Headers */,
81225AF00912C42F005D34B9 /* NoGameTypeInfo.h in Headers */,
81225AF20912C42F005D34B9 /* SaveGame.h in Headers */,
81225AF40912C42F005D34B9 /* SysCmds.h in Headers */,
81225AF60912C42F005D34B9 /* SysCvar.h in Headers */,
81225AF80912C42F005D34B9 /* TypeInfo.h in Headers */,
81225AFA0912C42F005D34B9 /* IK.h in Headers */,
81225AFC0912C42F005D34B9 /* Item.h in Headers */,
81225AFE0912C42F005D34B9 /* Light.h in Headers */,
81225B000912C42F005D34B9 /* Misc.h in Headers */,
81225B020912C42F005D34B9 /* Moveable.h in Headers */,
81225B040912C42F005D34B9 /* Mover.h in Headers */,
81225B060912C42F005D34B9 /* MultiplayerGame.h in Headers */,
81225B080912C42F005D34B9 /* Clip.h in Headers */,
81225B0A0912C42F005D34B9 /* Force.h in Headers */,
81225B0C0912C42F005D34B9 /* Force_Constant.h in Headers */,
81225B0E0912C42F005D34B9 /* Force_Drag.h in Headers */,
81225B100912C42F005D34B9 /* Force_Field.h in Headers */,
81225B120912C42F005D34B9 /* Force_Spring.h in Headers */,
81225B140912C42F005D34B9 /* Physics.h in Headers */,
81225B160912C42F005D34B9 /* Physics_Actor.h in Headers */,
81225B180912C42F005D34B9 /* Physics_AF.h in Headers */,
81225B1A0912C42F005D34B9 /* Physics_Base.h in Headers */,
81225B1C0912C42F005D34B9 /* Physics_Monster.h in Headers */,
81225B1E0912C42F005D34B9 /* Physics_Parametric.h in Headers */,
81225B200912C42F005D34B9 /* Physics_Player.h in Headers */,
81225B220912C42F005D34B9 /* Physics_RigidBody.h in Headers */,
81225B240912C42F005D34B9 /* Physics_Static.h in Headers */,
81225B260912C42F005D34B9 /* Physics_StaticMulti.h in Headers */,
81225B280912C42F005D34B9 /* Push.h in Headers */,
81225B2A0912C42F005D34B9 /* Player.h in Headers */,
81225B2C0912C42F005D34B9 /* PlayerView.h in Headers */,
81225B2E0912C42F005D34B9 /* Projectile.h in Headers */,
81225B300912C42F005D34B9 /* Pvs.h in Headers */,
81225B320912C42F005D34B9 /* Script_Compiler.h in Headers */,
81225B340912C42F005D34B9 /* Script_Interpreter.h in Headers */,
81225B360912C42F005D34B9 /* Script_Program.h in Headers */,
81225B380912C42F005D34B9 /* Script_Thread.h in Headers */,
81225B3A0912C42F005D34B9 /* SecurityCamera.h in Headers */,
81225B3C0912C42F005D34B9 /* SmokeParticles.h in Headers */,
81225B3E0912C42F005D34B9 /* Sound.h in Headers */,
81225B400912C42F005D34B9 /* Target.h in Headers */,
81225B420912C42F005D34B9 /* Trigger.h in Headers */,
81225B440912C42F005D34B9 /* Weapon.h in Headers */,
81225B460912C42F005D34B9 /* WorldSpawn.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
D2AAC0620554660B00DB518D /* game-d3xp */ = {
isa = PBXNativeTarget;
buildConfigurationList = 81225A240912C3A4005D34B9 /* Build configuration list for PBXNativeTarget "game-d3xp" */;
buildPhases = (
D2AAC0600554660B00DB518D /* Headers */,
D2AAC0610554660B00DB518D /* Sources */,
D289988505E68E00004EDB86 /* Frameworks */,
);
buildRules = (
);
dependencies = (
81225A390912C3C8005D34B9 /* PBXTargetDependency */,
);
name = "game-d3xp";
productName = game;
productReference = D2AAC0630554660B00DB518D /* game-d3xp.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 81225A280912C3A4005D34B9 /* Build configuration list for PBXProject "d3xp" */;
hasScannedForEncodings = 1;
mainGroup = 08FB7794FE84155DC02AAC07 /* game */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 81225A1C0912C3A4005D34B9 /* Products */;
ProjectRef = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
},
);
targets = (
D2AAC0620554660B00DB518D /* game-d3xp */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
81225A210912C3A4005D34B9 /* libidlib_pic.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libidlib_pic.a;
remoteRef = 81225A200912C3A4005D34B9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
81225A230912C3A4005D34B9 /* libidlib_nopic.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libidlib_nopic.a;
remoteRef = 81225A220912C3A4005D34B9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXSourcesBuildPhase section */
D2AAC0610554660B00DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
81225AC40912C42F005D34B9 /* PlayerIcon.cpp in Sources */,
81225AC50912C42F005D34B9 /* Actor.cpp in Sources */,
81225AC70912C42F005D34B9 /* AF.cpp in Sources */,
81225AC90912C42F005D34B9 /* AFEntity.cpp in Sources */,
81225ACB0912C42F005D34B9 /* AAS.cpp in Sources */,
81225ACD0912C42F005D34B9 /* AAS_debug.cpp in Sources */,
81225ACF0912C42F005D34B9 /* AAS_pathing.cpp in Sources */,
81225AD00912C42F005D34B9 /* AAS_routing.cpp in Sources */,
81225AD10912C42F005D34B9 /* AI.cpp in Sources */,
81225AD30912C42F005D34B9 /* AI_events.cpp in Sources */,
81225AD40912C42F005D34B9 /* AI_pathing.cpp in Sources */,
81225AD50912C42F005D34B9 /* AI_Vagary.cpp in Sources */,
81225AD60912C42F005D34B9 /* Anim.cpp in Sources */,
81225AD80912C42F005D34B9 /* Anim_Blend.cpp in Sources */,
81225AD90912C42F005D34B9 /* Anim_Import.cpp in Sources */,
81225ADA0912C42F005D34B9 /* Anim_Testmodel.cpp in Sources */,
81225ADC0912C42F005D34B9 /* BrittleFracture.cpp in Sources */,
81225ADE0912C42F005D34B9 /* Camera.cpp in Sources */,
81225AE00912C42F005D34B9 /* Entity.cpp in Sources */,
81225AE20912C42F005D34B9 /* Fx.cpp in Sources */,
81225AE50912C42F005D34B9 /* Game_local.cpp in Sources */,
81225AE70912C42F005D34B9 /* Game_network.cpp in Sources */,
81225AE80912C42F005D34B9 /* GameEdit.cpp in Sources */,
81225AEA0912C42F005D34B9 /* Class.cpp in Sources */,
81225AEC0912C42F005D34B9 /* DebugGraph.cpp in Sources */,
81225AEE0912C42F005D34B9 /* Event.cpp in Sources */,
81225AF10912C42F005D34B9 /* SaveGame.cpp in Sources */,
81225AF30912C42F005D34B9 /* SysCmds.cpp in Sources */,
81225AF50912C42F005D34B9 /* SysCvar.cpp in Sources */,
81225AF70912C42F005D34B9 /* TypeInfo.cpp in Sources */,
81225AF90912C42F005D34B9 /* IK.cpp in Sources */,
81225AFB0912C42F005D34B9 /* Item.cpp in Sources */,
81225AFD0912C42F005D34B9 /* Light.cpp in Sources */,
81225AFF0912C42F005D34B9 /* Misc.cpp in Sources */,
81225B010912C42F005D34B9 /* Moveable.cpp in Sources */,
81225B030912C42F005D34B9 /* Mover.cpp in Sources */,
81225B050912C42F005D34B9 /* MultiplayerGame.cpp in Sources */,
81225B070912C42F005D34B9 /* Clip.cpp in Sources */,
81225B090912C42F005D34B9 /* Force.cpp in Sources */,
81225B0B0912C42F005D34B9 /* Force_Constant.cpp in Sources */,
81225B0D0912C42F005D34B9 /* Force_Drag.cpp in Sources */,
81225B0F0912C42F005D34B9 /* Force_Field.cpp in Sources */,
81225B110912C42F005D34B9 /* Force_Spring.cpp in Sources */,
81225B130912C42F005D34B9 /* Physics.cpp in Sources */,
81225B150912C42F005D34B9 /* Physics_Actor.cpp in Sources */,
81225B170912C42F005D34B9 /* Physics_AF.cpp in Sources */,
81225B190912C42F005D34B9 /* Physics_Base.cpp in Sources */,
81225B1B0912C42F005D34B9 /* Physics_Monster.cpp in Sources */,
81225B1D0912C42F005D34B9 /* Physics_Parametric.cpp in Sources */,
81225B1F0912C42F005D34B9 /* Physics_Player.cpp in Sources */,
81225B210912C42F005D34B9 /* Physics_RigidBody.cpp in Sources */,
81225B230912C42F005D34B9 /* Physics_Static.cpp in Sources */,
81225B250912C42F005D34B9 /* Physics_StaticMulti.cpp in Sources */,
81225B270912C42F005D34B9 /* Push.cpp in Sources */,
81225B290912C42F005D34B9 /* Player.cpp in Sources */,
81225B2B0912C42F005D34B9 /* PlayerView.cpp in Sources */,
81225B2D0912C42F005D34B9 /* Projectile.cpp in Sources */,
81225B2F0912C42F005D34B9 /* Pvs.cpp in Sources */,
81225B310912C42F005D34B9 /* Script_Compiler.cpp in Sources */,
81225B330912C42F005D34B9 /* Script_Interpreter.cpp in Sources */,
81225B350912C42F005D34B9 /* Script_Program.cpp in Sources */,
81225B370912C42F005D34B9 /* Script_Thread.cpp in Sources */,
81225B390912C42F005D34B9 /* SecurityCamera.cpp in Sources */,
81225B3B0912C42F005D34B9 /* SmokeParticles.cpp in Sources */,
81225B3D0912C42F005D34B9 /* Sound.cpp in Sources */,
81225B3F0912C42F005D34B9 /* Target.cpp in Sources */,
81225B410912C42F005D34B9 /* Trigger.cpp in Sources */,
81225B430912C42F005D34B9 /* Weapon.cpp in Sources */,
81225B450912C42F005D34B9 /* WorldSpawn.cpp in Sources */,
25ACE0660B31FDED00A159B2 /* Grabber.cpp in Sources */,
25ACE0680B31FDFE00A159B2 /* Force_Grab.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
81225A390912C3C8005D34B9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = idlib_pic;
targetProxy = 81225A380912C3C8005D34B9 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
81225A250912C3A4005D34B9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = DYNAMIC;
MACH_O_TYPE = mh_dylib;
MAIN_CPP_DEFINES = _DEBUG;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = game;
ZERO_LINK = YES;
};
name = Debug;
};
81225A260912C3A4005D34B9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
LIBRARY_STYLE = DYNAMIC;
MACH_O_TYPE = mh_dylib;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
"-fomit-frame-pointer",
"-fno-common",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = "game-d3xp";
SYMROOT = build;
ZERO_LINK = NO;
};
name = Release;
};
81225A270912C3A4005D34B9 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
GCC_ONE_BYTE_BOOL = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(MAIN_CPP_DEFINES)",
MACOS_X,
GAME_DLL,
__WITH_PB__,
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = DYNAMIC;
MACH_O_TYPE = mh_dylib;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = game;
};
name = Default;
};
81225A290912C3A4005D34B9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
GCC_ONE_BYTE_BOOL = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
_D3XP,
CTF,
_DEBUG,
MACOS_X,
GAME_DLL,
__WITH_PB__,
);
MACOSX_DEPLOYMENT_TARGET = 10.4;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
};
name = Debug;
};
81225A2A0912C3A4005D34B9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
_D3XP,
CTF,
MACOS_X,
GAME_DLL,
__WITH_PB__,
);
MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
"-fomit-frame-pointer",
"-fno-common",
);
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
};
name = Release;
};
81225A2B0912C3A4005D34B9 /* Default */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
GCC_ONE_BYTE_BOOL = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
_D3XP,
CTF,
);
MACOSX_DEPLOYMENT_TARGET = 10.4;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
};
name = Default;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
81225A240912C3A4005D34B9 /* Build configuration list for PBXNativeTarget "game-d3xp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
81225A250912C3A4005D34B9 /* Debug */,
81225A260912C3A4005D34B9 /* Release */,
81225A270912C3A4005D34B9 /* Default */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
81225A280912C3A4005D34B9 /* Build configuration list for PBXProject "d3xp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
81225A290912C3A4005D34B9 /* Debug */,
81225A2A0912C3A4005D34B9 /* Release */,
81225A2B0912C3A4005D34B9 /* Default */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Default;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

View File

@@ -0,0 +1,901 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
81225A3A0912C3DB005D34B9 /* libidlib_pic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81225A210912C3A4005D34B9 /* libidlib_pic.a */; };
81225AC40912C42F005D34B9 /* PlayerIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */; };
81225AC50912C42F005D34B9 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3C0912C42F005D34B9 /* Actor.cpp */; };
81225AC60912C42F005D34B9 /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A3D0912C42F005D34B9 /* Actor.h */; };
81225AC70912C42F005D34B9 /* AF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A3E0912C42F005D34B9 /* AF.cpp */; };
81225AC80912C42F005D34B9 /* AF.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A3F0912C42F005D34B9 /* AF.h */; };
81225AC90912C42F005D34B9 /* AFEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A400912C42F005D34B9 /* AFEntity.cpp */; };
81225ACA0912C42F005D34B9 /* AFEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A410912C42F005D34B9 /* AFEntity.h */; };
81225ACB0912C42F005D34B9 /* AAS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A430912C42F005D34B9 /* AAS.cpp */; };
81225ACC0912C42F005D34B9 /* AAS.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A440912C42F005D34B9 /* AAS.h */; };
81225ACD0912C42F005D34B9 /* AAS_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A450912C42F005D34B9 /* AAS_debug.cpp */; };
81225ACE0912C42F005D34B9 /* AAS_local.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A460912C42F005D34B9 /* AAS_local.h */; };
81225ACF0912C42F005D34B9 /* AAS_pathing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A470912C42F005D34B9 /* AAS_pathing.cpp */; };
81225AD00912C42F005D34B9 /* AAS_routing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A480912C42F005D34B9 /* AAS_routing.cpp */; };
81225AD10912C42F005D34B9 /* AI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A490912C42F005D34B9 /* AI.cpp */; };
81225AD20912C42F005D34B9 /* AI.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A4A0912C42F005D34B9 /* AI.h */; };
81225AD30912C42F005D34B9 /* AI_events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4B0912C42F005D34B9 /* AI_events.cpp */; };
81225AD40912C42F005D34B9 /* AI_pathing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4C0912C42F005D34B9 /* AI_pathing.cpp */; };
81225AD50912C42F005D34B9 /* AI_Vagary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */; };
81225AD60912C42F005D34B9 /* Anim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A4F0912C42F005D34B9 /* Anim.cpp */; };
81225AD70912C42F005D34B9 /* Anim.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A500912C42F005D34B9 /* Anim.h */; };
81225AD80912C42F005D34B9 /* Anim_Blend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A510912C42F005D34B9 /* Anim_Blend.cpp */; };
81225AD90912C42F005D34B9 /* Anim_Import.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A520912C42F005D34B9 /* Anim_Import.cpp */; };
81225ADA0912C42F005D34B9 /* Anim_Testmodel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */; };
81225ADB0912C42F005D34B9 /* Anim_Testmodel.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A540912C42F005D34B9 /* Anim_Testmodel.h */; };
81225ADC0912C42F005D34B9 /* BrittleFracture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A550912C42F005D34B9 /* BrittleFracture.cpp */; };
81225ADD0912C42F005D34B9 /* BrittleFracture.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A560912C42F005D34B9 /* BrittleFracture.h */; };
81225ADE0912C42F005D34B9 /* Camera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A570912C42F005D34B9 /* Camera.cpp */; };
81225ADF0912C42F005D34B9 /* Camera.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A580912C42F005D34B9 /* Camera.h */; };
81225AE00912C42F005D34B9 /* Entity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A590912C42F005D34B9 /* Entity.cpp */; };
81225AE10912C42F005D34B9 /* Entity.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5A0912C42F005D34B9 /* Entity.h */; };
81225AE20912C42F005D34B9 /* Fx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A5B0912C42F005D34B9 /* Fx.cpp */; };
81225AE30912C42F005D34B9 /* Fx.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5C0912C42F005D34B9 /* Fx.h */; };
81225AE40912C42F005D34B9 /* Game.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A5E0912C42F005D34B9 /* Game.h */; };
81225AE50912C42F005D34B9 /* Game_local.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A5F0912C42F005D34B9 /* Game_local.cpp */; };
81225AE60912C42F005D34B9 /* Game_local.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A600912C42F005D34B9 /* Game_local.h */; };
81225AE70912C42F005D34B9 /* Game_network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A610912C42F005D34B9 /* Game_network.cpp */; };
81225AE80912C42F005D34B9 /* GameEdit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A620912C42F005D34B9 /* GameEdit.cpp */; };
81225AE90912C42F005D34B9 /* GameEdit.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A630912C42F005D34B9 /* GameEdit.h */; };
81225AEA0912C42F005D34B9 /* Class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A650912C42F005D34B9 /* Class.cpp */; };
81225AEB0912C42F005D34B9 /* Class.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A660912C42F005D34B9 /* Class.h */; };
81225AEC0912C42F005D34B9 /* DebugGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A670912C42F005D34B9 /* DebugGraph.cpp */; };
81225AED0912C42F005D34B9 /* DebugGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A680912C42F005D34B9 /* DebugGraph.h */; };
81225AEE0912C42F005D34B9 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A690912C42F005D34B9 /* Event.cpp */; };
81225AEF0912C42F005D34B9 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6A0912C42F005D34B9 /* Event.h */; };
81225AF00912C42F005D34B9 /* NoGameTypeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */; };
81225AF10912C42F005D34B9 /* SaveGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A6C0912C42F005D34B9 /* SaveGame.cpp */; };
81225AF20912C42F005D34B9 /* SaveGame.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6D0912C42F005D34B9 /* SaveGame.h */; };
81225AF30912C42F005D34B9 /* SysCmds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A6E0912C42F005D34B9 /* SysCmds.cpp */; };
81225AF40912C42F005D34B9 /* SysCmds.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A6F0912C42F005D34B9 /* SysCmds.h */; };
81225AF50912C42F005D34B9 /* SysCvar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A700912C42F005D34B9 /* SysCvar.cpp */; };
81225AF60912C42F005D34B9 /* SysCvar.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A710912C42F005D34B9 /* SysCvar.h */; };
81225AF70912C42F005D34B9 /* TypeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A720912C42F005D34B9 /* TypeInfo.cpp */; };
81225AF80912C42F005D34B9 /* TypeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A730912C42F005D34B9 /* TypeInfo.h */; };
81225AF90912C42F005D34B9 /* IK.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A740912C42F005D34B9 /* IK.cpp */; };
81225AFA0912C42F005D34B9 /* IK.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A750912C42F005D34B9 /* IK.h */; };
81225AFB0912C42F005D34B9 /* Item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A760912C42F005D34B9 /* Item.cpp */; };
81225AFC0912C42F005D34B9 /* Item.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A770912C42F005D34B9 /* Item.h */; };
81225AFD0912C42F005D34B9 /* Light.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A780912C42F005D34B9 /* Light.cpp */; };
81225AFE0912C42F005D34B9 /* Light.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A790912C42F005D34B9 /* Light.h */; };
81225AFF0912C42F005D34B9 /* Misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7A0912C42F005D34B9 /* Misc.cpp */; };
81225B000912C42F005D34B9 /* Misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7B0912C42F005D34B9 /* Misc.h */; };
81225B010912C42F005D34B9 /* Moveable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7C0912C42F005D34B9 /* Moveable.cpp */; };
81225B020912C42F005D34B9 /* Moveable.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7D0912C42F005D34B9 /* Moveable.h */; };
81225B030912C42F005D34B9 /* Mover.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A7E0912C42F005D34B9 /* Mover.cpp */; };
81225B040912C42F005D34B9 /* Mover.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A7F0912C42F005D34B9 /* Mover.h */; };
81225B050912C42F005D34B9 /* MultiplayerGame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A800912C42F005D34B9 /* MultiplayerGame.cpp */; };
81225B060912C42F005D34B9 /* MultiplayerGame.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A810912C42F005D34B9 /* MultiplayerGame.h */; };
81225B070912C42F005D34B9 /* Clip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A830912C42F005D34B9 /* Clip.cpp */; };
81225B080912C42F005D34B9 /* Clip.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A840912C42F005D34B9 /* Clip.h */; };
81225B090912C42F005D34B9 /* Force.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A850912C42F005D34B9 /* Force.cpp */; };
81225B0A0912C42F005D34B9 /* Force.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A860912C42F005D34B9 /* Force.h */; };
81225B0B0912C42F005D34B9 /* Force_Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A870912C42F005D34B9 /* Force_Constant.cpp */; };
81225B0C0912C42F005D34B9 /* Force_Constant.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A880912C42F005D34B9 /* Force_Constant.h */; };
81225B0D0912C42F005D34B9 /* Force_Drag.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A890912C42F005D34B9 /* Force_Drag.cpp */; };
81225B0E0912C42F005D34B9 /* Force_Drag.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8A0912C42F005D34B9 /* Force_Drag.h */; };
81225B0F0912C42F005D34B9 /* Force_Field.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8B0912C42F005D34B9 /* Force_Field.cpp */; };
81225B100912C42F005D34B9 /* Force_Field.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8C0912C42F005D34B9 /* Force_Field.h */; };
81225B110912C42F005D34B9 /* Force_Spring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8D0912C42F005D34B9 /* Force_Spring.cpp */; };
81225B120912C42F005D34B9 /* Force_Spring.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A8E0912C42F005D34B9 /* Force_Spring.h */; };
81225B130912C42F005D34B9 /* Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A8F0912C42F005D34B9 /* Physics.cpp */; };
81225B140912C42F005D34B9 /* Physics.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A900912C42F005D34B9 /* Physics.h */; };
81225B150912C42F005D34B9 /* Physics_Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A910912C42F005D34B9 /* Physics_Actor.cpp */; };
81225B160912C42F005D34B9 /* Physics_Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A920912C42F005D34B9 /* Physics_Actor.h */; };
81225B170912C42F005D34B9 /* Physics_AF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A930912C42F005D34B9 /* Physics_AF.cpp */; };
81225B180912C42F005D34B9 /* Physics_AF.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A940912C42F005D34B9 /* Physics_AF.h */; };
81225B190912C42F005D34B9 /* Physics_Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A950912C42F005D34B9 /* Physics_Base.cpp */; };
81225B1A0912C42F005D34B9 /* Physics_Base.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A960912C42F005D34B9 /* Physics_Base.h */; };
81225B1B0912C42F005D34B9 /* Physics_Monster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A970912C42F005D34B9 /* Physics_Monster.cpp */; };
81225B1C0912C42F005D34B9 /* Physics_Monster.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A980912C42F005D34B9 /* Physics_Monster.h */; };
81225B1D0912C42F005D34B9 /* Physics_Parametric.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A990912C42F005D34B9 /* Physics_Parametric.cpp */; };
81225B1E0912C42F005D34B9 /* Physics_Parametric.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9A0912C42F005D34B9 /* Physics_Parametric.h */; };
81225B1F0912C42F005D34B9 /* Physics_Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9B0912C42F005D34B9 /* Physics_Player.cpp */; };
81225B200912C42F005D34B9 /* Physics_Player.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9C0912C42F005D34B9 /* Physics_Player.h */; };
81225B210912C42F005D34B9 /* Physics_RigidBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */; };
81225B220912C42F005D34B9 /* Physics_RigidBody.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */; };
81225B230912C42F005D34B9 /* Physics_Static.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225A9F0912C42F005D34B9 /* Physics_Static.cpp */; };
81225B240912C42F005D34B9 /* Physics_Static.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA00912C42F005D34B9 /* Physics_Static.h */; };
81225B250912C42F005D34B9 /* Physics_StaticMulti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */; };
81225B260912C42F005D34B9 /* Physics_StaticMulti.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */; };
81225B270912C42F005D34B9 /* Push.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA30912C42F005D34B9 /* Push.cpp */; };
81225B280912C42F005D34B9 /* Push.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA40912C42F005D34B9 /* Push.h */; };
81225B290912C42F005D34B9 /* Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA50912C42F005D34B9 /* Player.cpp */; };
81225B2A0912C42F005D34B9 /* Player.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA60912C42F005D34B9 /* Player.h */; };
81225B2B0912C42F005D34B9 /* PlayerView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA70912C42F005D34B9 /* PlayerView.cpp */; };
81225B2C0912C42F005D34B9 /* PlayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AA80912C42F005D34B9 /* PlayerView.h */; };
81225B2D0912C42F005D34B9 /* Projectile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AA90912C42F005D34B9 /* Projectile.cpp */; };
81225B2E0912C42F005D34B9 /* Projectile.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAA0912C42F005D34B9 /* Projectile.h */; };
81225B2F0912C42F005D34B9 /* Pvs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AAB0912C42F005D34B9 /* Pvs.cpp */; };
81225B300912C42F005D34B9 /* Pvs.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAC0912C42F005D34B9 /* Pvs.h */; };
81225B310912C42F005D34B9 /* Script_Compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */; };
81225B320912C42F005D34B9 /* Script_Compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AAF0912C42F005D34B9 /* Script_Compiler.h */; };
81225B330912C42F005D34B9 /* Script_Interpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */; };
81225B340912C42F005D34B9 /* Script_Interpreter.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB10912C42F005D34B9 /* Script_Interpreter.h */; };
81225B350912C42F005D34B9 /* Script_Program.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB20912C42F005D34B9 /* Script_Program.cpp */; };
81225B360912C42F005D34B9 /* Script_Program.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB30912C42F005D34B9 /* Script_Program.h */; };
81225B370912C42F005D34B9 /* Script_Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB40912C42F005D34B9 /* Script_Thread.cpp */; };
81225B380912C42F005D34B9 /* Script_Thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB50912C42F005D34B9 /* Script_Thread.h */; };
81225B390912C42F005D34B9 /* SecurityCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB60912C42F005D34B9 /* SecurityCamera.cpp */; };
81225B3A0912C42F005D34B9 /* SecurityCamera.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB70912C42F005D34B9 /* SecurityCamera.h */; };
81225B3B0912C42F005D34B9 /* SmokeParticles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AB80912C42F005D34B9 /* SmokeParticles.cpp */; };
81225B3C0912C42F005D34B9 /* SmokeParticles.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AB90912C42F005D34B9 /* SmokeParticles.h */; };
81225B3D0912C42F005D34B9 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABA0912C42F005D34B9 /* Sound.cpp */; };
81225B3E0912C42F005D34B9 /* Sound.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABB0912C42F005D34B9 /* Sound.h */; };
81225B3F0912C42F005D34B9 /* Target.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABC0912C42F005D34B9 /* Target.cpp */; };
81225B400912C42F005D34B9 /* Target.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABD0912C42F005D34B9 /* Target.h */; };
81225B410912C42F005D34B9 /* Trigger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225ABE0912C42F005D34B9 /* Trigger.cpp */; };
81225B420912C42F005D34B9 /* Trigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225ABF0912C42F005D34B9 /* Trigger.h */; };
81225B430912C42F005D34B9 /* Weapon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AC00912C42F005D34B9 /* Weapon.cpp */; };
81225B440912C42F005D34B9 /* Weapon.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AC10912C42F005D34B9 /* Weapon.h */; };
81225B450912C42F005D34B9 /* WorldSpawn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81225AC20912C42F005D34B9 /* WorldSpawn.cpp */; };
81225B460912C42F005D34B9 /* WorldSpawn.h in Headers */ = {isa = PBXBuildFile; fileRef = 81225AC30912C42F005D34B9 /* WorldSpawn.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
81225A200912C3A4005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = D2AAC046055464E500DB518D;
remoteInfo = idlib_pic;
};
81225A220912C3A4005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 81C858490912AD370095BC33;
remoteInfo = idlib_nopic;
};
81225A380912C3C8005D34B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = D2AAC045055464E500DB518D;
remoteInfo = idlib_pic;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = idlib.xcodeproj; sourceTree = "<group>"; };
81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PlayerIcon.cpp; path = ../../game/PlayerIcon.cpp; sourceTree = SOURCE_ROOT; };
81225A3C0912C42F005D34B9 /* Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../../game/Actor.cpp; sourceTree = SOURCE_ROOT; };
81225A3D0912C42F005D34B9 /* Actor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Actor.h; path = ../../game/Actor.h; sourceTree = SOURCE_ROOT; };
81225A3E0912C42F005D34B9 /* AF.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AF.cpp; path = ../../game/AF.cpp; sourceTree = SOURCE_ROOT; };
81225A3F0912C42F005D34B9 /* AF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AF.h; path = ../../game/AF.h; sourceTree = SOURCE_ROOT; };
81225A400912C42F005D34B9 /* AFEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AFEntity.cpp; path = ../../game/AFEntity.cpp; sourceTree = SOURCE_ROOT; };
81225A410912C42F005D34B9 /* AFEntity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AFEntity.h; path = ../../game/AFEntity.h; sourceTree = SOURCE_ROOT; };
81225A430912C42F005D34B9 /* AAS.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS.cpp; sourceTree = "<group>"; };
81225A440912C42F005D34B9 /* AAS.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AAS.h; sourceTree = "<group>"; };
81225A450912C42F005D34B9 /* AAS_debug.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_debug.cpp; sourceTree = "<group>"; };
81225A460912C42F005D34B9 /* AAS_local.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AAS_local.h; sourceTree = "<group>"; };
81225A470912C42F005D34B9 /* AAS_pathing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_pathing.cpp; sourceTree = "<group>"; };
81225A480912C42F005D34B9 /* AAS_routing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AAS_routing.cpp; sourceTree = "<group>"; };
81225A490912C42F005D34B9 /* AI.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI.cpp; sourceTree = "<group>"; };
81225A4A0912C42F005D34B9 /* AI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AI.h; sourceTree = "<group>"; };
81225A4B0912C42F005D34B9 /* AI_events.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_events.cpp; sourceTree = "<group>"; };
81225A4C0912C42F005D34B9 /* AI_pathing.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_pathing.cpp; sourceTree = "<group>"; };
81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AI_Vagary.cpp; sourceTree = "<group>"; };
81225A4F0912C42F005D34B9 /* Anim.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim.cpp; sourceTree = "<group>"; };
81225A500912C42F005D34B9 /* Anim.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Anim.h; sourceTree = "<group>"; };
81225A510912C42F005D34B9 /* Anim_Blend.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Blend.cpp; sourceTree = "<group>"; };
81225A520912C42F005D34B9 /* Anim_Import.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Import.cpp; sourceTree = "<group>"; };
81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Anim_Testmodel.cpp; sourceTree = "<group>"; };
81225A540912C42F005D34B9 /* Anim_Testmodel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Anim_Testmodel.h; sourceTree = "<group>"; };
81225A550912C42F005D34B9 /* BrittleFracture.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = BrittleFracture.cpp; path = ../../game/BrittleFracture.cpp; sourceTree = SOURCE_ROOT; };
81225A560912C42F005D34B9 /* BrittleFracture.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BrittleFracture.h; path = ../../game/BrittleFracture.h; sourceTree = SOURCE_ROOT; };
81225A570912C42F005D34B9 /* Camera.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Camera.cpp; path = ../../game/Camera.cpp; sourceTree = SOURCE_ROOT; };
81225A580912C42F005D34B9 /* Camera.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Camera.h; path = ../../game/Camera.h; sourceTree = SOURCE_ROOT; };
81225A590912C42F005D34B9 /* Entity.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Entity.cpp; path = ../../game/Entity.cpp; sourceTree = SOURCE_ROOT; };
81225A5A0912C42F005D34B9 /* Entity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Entity.h; path = ../../game/Entity.h; sourceTree = SOURCE_ROOT; };
81225A5B0912C42F005D34B9 /* Fx.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Fx.cpp; path = ../../game/Fx.cpp; sourceTree = SOURCE_ROOT; };
81225A5C0912C42F005D34B9 /* Fx.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Fx.h; path = ../../game/Fx.h; sourceTree = SOURCE_ROOT; };
81225A5D0912C42F005D34B9 /* Game.def */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = Game.def; path = ../../game/Game.def; sourceTree = SOURCE_ROOT; };
81225A5E0912C42F005D34B9 /* Game.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Game.h; path = ../../game/Game.h; sourceTree = SOURCE_ROOT; };
81225A5F0912C42F005D34B9 /* Game_local.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Game_local.cpp; path = ../../game/Game_local.cpp; sourceTree = SOURCE_ROOT; };
81225A600912C42F005D34B9 /* Game_local.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Game_local.h; path = ../../game/Game_local.h; sourceTree = SOURCE_ROOT; };
81225A610912C42F005D34B9 /* Game_network.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Game_network.cpp; path = ../../game/Game_network.cpp; sourceTree = SOURCE_ROOT; };
81225A620912C42F005D34B9 /* GameEdit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = GameEdit.cpp; path = ../../game/GameEdit.cpp; sourceTree = SOURCE_ROOT; };
81225A630912C42F005D34B9 /* GameEdit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = GameEdit.h; path = ../../game/GameEdit.h; sourceTree = SOURCE_ROOT; };
81225A650912C42F005D34B9 /* Class.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Class.cpp; sourceTree = "<group>"; };
81225A660912C42F005D34B9 /* Class.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Class.h; sourceTree = "<group>"; };
81225A670912C42F005D34B9 /* DebugGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DebugGraph.cpp; sourceTree = "<group>"; };
81225A680912C42F005D34B9 /* DebugGraph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DebugGraph.h; sourceTree = "<group>"; };
81225A690912C42F005D34B9 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = "<group>"; };
81225A6A0912C42F005D34B9 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NoGameTypeInfo.h; sourceTree = "<group>"; };
81225A6C0912C42F005D34B9 /* SaveGame.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SaveGame.cpp; sourceTree = "<group>"; };
81225A6D0912C42F005D34B9 /* SaveGame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SaveGame.h; sourceTree = "<group>"; };
81225A6E0912C42F005D34B9 /* SysCmds.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysCmds.cpp; sourceTree = "<group>"; };
81225A6F0912C42F005D34B9 /* SysCmds.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysCmds.h; sourceTree = "<group>"; };
81225A700912C42F005D34B9 /* SysCvar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysCvar.cpp; sourceTree = "<group>"; };
81225A710912C42F005D34B9 /* SysCvar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysCvar.h; sourceTree = "<group>"; };
81225A720912C42F005D34B9 /* TypeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TypeInfo.cpp; sourceTree = "<group>"; };
81225A730912C42F005D34B9 /* TypeInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TypeInfo.h; sourceTree = "<group>"; };
81225A740912C42F005D34B9 /* IK.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IK.cpp; path = ../../game/IK.cpp; sourceTree = SOURCE_ROOT; };
81225A750912C42F005D34B9 /* IK.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = IK.h; path = ../../game/IK.h; sourceTree = SOURCE_ROOT; };
81225A760912C42F005D34B9 /* Item.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Item.cpp; path = ../../game/Item.cpp; sourceTree = SOURCE_ROOT; };
81225A770912C42F005D34B9 /* Item.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Item.h; path = ../../game/Item.h; sourceTree = SOURCE_ROOT; };
81225A780912C42F005D34B9 /* Light.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Light.cpp; path = ../../game/Light.cpp; sourceTree = SOURCE_ROOT; };
81225A790912C42F005D34B9 /* Light.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Light.h; path = ../../game/Light.h; sourceTree = SOURCE_ROOT; };
81225A7A0912C42F005D34B9 /* Misc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Misc.cpp; path = ../../game/Misc.cpp; sourceTree = SOURCE_ROOT; };
81225A7B0912C42F005D34B9 /* Misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Misc.h; path = ../../game/Misc.h; sourceTree = SOURCE_ROOT; };
81225A7C0912C42F005D34B9 /* Moveable.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Moveable.cpp; path = ../../game/Moveable.cpp; sourceTree = SOURCE_ROOT; };
81225A7D0912C42F005D34B9 /* Moveable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Moveable.h; path = ../../game/Moveable.h; sourceTree = SOURCE_ROOT; };
81225A7E0912C42F005D34B9 /* Mover.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Mover.cpp; path = ../../game/Mover.cpp; sourceTree = SOURCE_ROOT; };
81225A7F0912C42F005D34B9 /* Mover.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Mover.h; path = ../../game/Mover.h; sourceTree = SOURCE_ROOT; };
81225A800912C42F005D34B9 /* MultiplayerGame.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = MultiplayerGame.cpp; path = ../../game/MultiplayerGame.cpp; sourceTree = SOURCE_ROOT; };
81225A810912C42F005D34B9 /* MultiplayerGame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MultiplayerGame.h; path = ../../game/MultiplayerGame.h; sourceTree = SOURCE_ROOT; };
81225A830912C42F005D34B9 /* Clip.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clip.cpp; sourceTree = "<group>"; };
81225A840912C42F005D34B9 /* Clip.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Clip.h; sourceTree = "<group>"; };
81225A850912C42F005D34B9 /* Force.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force.cpp; sourceTree = "<group>"; };
81225A860912C42F005D34B9 /* Force.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force.h; sourceTree = "<group>"; };
81225A870912C42F005D34B9 /* Force_Constant.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Constant.cpp; sourceTree = "<group>"; };
81225A880912C42F005D34B9 /* Force_Constant.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Constant.h; sourceTree = "<group>"; };
81225A890912C42F005D34B9 /* Force_Drag.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Drag.cpp; sourceTree = "<group>"; };
81225A8A0912C42F005D34B9 /* Force_Drag.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Drag.h; sourceTree = "<group>"; };
81225A8B0912C42F005D34B9 /* Force_Field.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Field.cpp; sourceTree = "<group>"; };
81225A8C0912C42F005D34B9 /* Force_Field.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Field.h; sourceTree = "<group>"; };
81225A8D0912C42F005D34B9 /* Force_Spring.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Force_Spring.cpp; sourceTree = "<group>"; };
81225A8E0912C42F005D34B9 /* Force_Spring.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Force_Spring.h; sourceTree = "<group>"; };
81225A8F0912C42F005D34B9 /* Physics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics.cpp; sourceTree = "<group>"; };
81225A900912C42F005D34B9 /* Physics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics.h; sourceTree = "<group>"; };
81225A910912C42F005D34B9 /* Physics_Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Actor.cpp; sourceTree = "<group>"; };
81225A920912C42F005D34B9 /* Physics_Actor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Actor.h; sourceTree = "<group>"; };
81225A930912C42F005D34B9 /* Physics_AF.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_AF.cpp; sourceTree = "<group>"; };
81225A940912C42F005D34B9 /* Physics_AF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_AF.h; sourceTree = "<group>"; };
81225A950912C42F005D34B9 /* Physics_Base.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Base.cpp; sourceTree = "<group>"; };
81225A960912C42F005D34B9 /* Physics_Base.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Base.h; sourceTree = "<group>"; };
81225A970912C42F005D34B9 /* Physics_Monster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Monster.cpp; sourceTree = "<group>"; };
81225A980912C42F005D34B9 /* Physics_Monster.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Monster.h; sourceTree = "<group>"; };
81225A990912C42F005D34B9 /* Physics_Parametric.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Parametric.cpp; sourceTree = "<group>"; };
81225A9A0912C42F005D34B9 /* Physics_Parametric.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Parametric.h; sourceTree = "<group>"; };
81225A9B0912C42F005D34B9 /* Physics_Player.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Player.cpp; sourceTree = "<group>"; };
81225A9C0912C42F005D34B9 /* Physics_Player.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Player.h; sourceTree = "<group>"; };
81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_RigidBody.cpp; sourceTree = "<group>"; };
81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_RigidBody.h; sourceTree = "<group>"; };
81225A9F0912C42F005D34B9 /* Physics_Static.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_Static.cpp; sourceTree = "<group>"; };
81225AA00912C42F005D34B9 /* Physics_Static.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_Static.h; sourceTree = "<group>"; };
81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Physics_StaticMulti.cpp; sourceTree = "<group>"; };
81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Physics_StaticMulti.h; sourceTree = "<group>"; };
81225AA30912C42F005D34B9 /* Push.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Push.cpp; sourceTree = "<group>"; };
81225AA40912C42F005D34B9 /* Push.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Push.h; sourceTree = "<group>"; };
81225AA50912C42F005D34B9 /* Player.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Player.cpp; path = ../../game/Player.cpp; sourceTree = SOURCE_ROOT; };
81225AA60912C42F005D34B9 /* Player.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Player.h; path = ../../game/Player.h; sourceTree = SOURCE_ROOT; };
81225AA70912C42F005D34B9 /* PlayerView.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PlayerView.cpp; path = ../../game/PlayerView.cpp; sourceTree = SOURCE_ROOT; };
81225AA80912C42F005D34B9 /* PlayerView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PlayerView.h; path = ../../game/PlayerView.h; sourceTree = SOURCE_ROOT; };
81225AA90912C42F005D34B9 /* Projectile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Projectile.cpp; path = ../../game/Projectile.cpp; sourceTree = SOURCE_ROOT; };
81225AAA0912C42F005D34B9 /* Projectile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Projectile.h; path = ../../game/Projectile.h; sourceTree = SOURCE_ROOT; };
81225AAB0912C42F005D34B9 /* Pvs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Pvs.cpp; path = ../../game/Pvs.cpp; sourceTree = SOURCE_ROOT; };
81225AAC0912C42F005D34B9 /* Pvs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Pvs.h; path = ../../game/Pvs.h; sourceTree = SOURCE_ROOT; };
81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Compiler.cpp; sourceTree = "<group>"; };
81225AAF0912C42F005D34B9 /* Script_Compiler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Compiler.h; sourceTree = "<group>"; };
81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Interpreter.cpp; sourceTree = "<group>"; };
81225AB10912C42F005D34B9 /* Script_Interpreter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Interpreter.h; sourceTree = "<group>"; };
81225AB20912C42F005D34B9 /* Script_Program.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Program.cpp; sourceTree = "<group>"; };
81225AB30912C42F005D34B9 /* Script_Program.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Program.h; sourceTree = "<group>"; };
81225AB40912C42F005D34B9 /* Script_Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Script_Thread.cpp; sourceTree = "<group>"; };
81225AB50912C42F005D34B9 /* Script_Thread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Script_Thread.h; sourceTree = "<group>"; };
81225AB60912C42F005D34B9 /* SecurityCamera.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SecurityCamera.cpp; path = ../../game/SecurityCamera.cpp; sourceTree = SOURCE_ROOT; };
81225AB70912C42F005D34B9 /* SecurityCamera.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SecurityCamera.h; path = ../../game/SecurityCamera.h; sourceTree = SOURCE_ROOT; };
81225AB80912C42F005D34B9 /* SmokeParticles.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SmokeParticles.cpp; path = ../../game/SmokeParticles.cpp; sourceTree = SOURCE_ROOT; };
81225AB90912C42F005D34B9 /* SmokeParticles.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SmokeParticles.h; path = ../../game/SmokeParticles.h; sourceTree = SOURCE_ROOT; };
81225ABA0912C42F005D34B9 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sound.cpp; path = ../../game/Sound.cpp; sourceTree = SOURCE_ROOT; };
81225ABB0912C42F005D34B9 /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Sound.h; path = ../../game/Sound.h; sourceTree = SOURCE_ROOT; };
81225ABC0912C42F005D34B9 /* Target.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Target.cpp; path = ../../game/Target.cpp; sourceTree = SOURCE_ROOT; };
81225ABD0912C42F005D34B9 /* Target.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Target.h; path = ../../game/Target.h; sourceTree = SOURCE_ROOT; };
81225ABE0912C42F005D34B9 /* Trigger.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Trigger.cpp; path = ../../game/Trigger.cpp; sourceTree = SOURCE_ROOT; };
81225ABF0912C42F005D34B9 /* Trigger.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Trigger.h; path = ../../game/Trigger.h; sourceTree = SOURCE_ROOT; };
81225AC00912C42F005D34B9 /* Weapon.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Weapon.cpp; path = ../../game/Weapon.cpp; sourceTree = SOURCE_ROOT; };
81225AC10912C42F005D34B9 /* Weapon.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Weapon.h; path = ../../game/Weapon.h; sourceTree = SOURCE_ROOT; };
81225AC20912C42F005D34B9 /* WorldSpawn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = WorldSpawn.cpp; path = ../../game/WorldSpawn.cpp; sourceTree = SOURCE_ROOT; };
81225AC30912C42F005D34B9 /* WorldSpawn.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = WorldSpawn.h; path = ../../game/WorldSpawn.h; sourceTree = SOURCE_ROOT; };
D2AAC0630554660B00DB518D /* game.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = game.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D289988505E68E00004EDB86 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
81225A3A0912C3DB005D34B9 /* libidlib_pic.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* game */ = {
isa = PBXGroup;
children = (
08FB7795FE84155DC02AAC07 /* Source */,
1AB674ADFE9D54B511CA2CBB /* Products */,
81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */,
);
name = game;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
81225A3B0912C42F005D34B9 /* PlayerIcon.cpp */,
81225A3C0912C42F005D34B9 /* Actor.cpp */,
81225A3D0912C42F005D34B9 /* Actor.h */,
81225A3E0912C42F005D34B9 /* AF.cpp */,
81225A3F0912C42F005D34B9 /* AF.h */,
81225A400912C42F005D34B9 /* AFEntity.cpp */,
81225A410912C42F005D34B9 /* AFEntity.h */,
81225A420912C42F005D34B9 /* ai */,
81225A4E0912C42F005D34B9 /* anim */,
81225A550912C42F005D34B9 /* BrittleFracture.cpp */,
81225A560912C42F005D34B9 /* BrittleFracture.h */,
81225A570912C42F005D34B9 /* Camera.cpp */,
81225A580912C42F005D34B9 /* Camera.h */,
81225A590912C42F005D34B9 /* Entity.cpp */,
81225A5A0912C42F005D34B9 /* Entity.h */,
81225A5B0912C42F005D34B9 /* Fx.cpp */,
81225A5C0912C42F005D34B9 /* Fx.h */,
81225A5D0912C42F005D34B9 /* Game.def */,
81225A5E0912C42F005D34B9 /* Game.h */,
81225A5F0912C42F005D34B9 /* Game_local.cpp */,
81225A600912C42F005D34B9 /* Game_local.h */,
81225A610912C42F005D34B9 /* Game_network.cpp */,
81225A620912C42F005D34B9 /* GameEdit.cpp */,
81225A630912C42F005D34B9 /* GameEdit.h */,
81225A640912C42F005D34B9 /* gamesys */,
81225A740912C42F005D34B9 /* IK.cpp */,
81225A750912C42F005D34B9 /* IK.h */,
81225A760912C42F005D34B9 /* Item.cpp */,
81225A770912C42F005D34B9 /* Item.h */,
81225A780912C42F005D34B9 /* Light.cpp */,
81225A790912C42F005D34B9 /* Light.h */,
81225A7A0912C42F005D34B9 /* Misc.cpp */,
81225A7B0912C42F005D34B9 /* Misc.h */,
81225A7C0912C42F005D34B9 /* Moveable.cpp */,
81225A7D0912C42F005D34B9 /* Moveable.h */,
81225A7E0912C42F005D34B9 /* Mover.cpp */,
81225A7F0912C42F005D34B9 /* Mover.h */,
81225A800912C42F005D34B9 /* MultiplayerGame.cpp */,
81225A810912C42F005D34B9 /* MultiplayerGame.h */,
81225A820912C42F005D34B9 /* physics */,
81225AA50912C42F005D34B9 /* Player.cpp */,
81225AA60912C42F005D34B9 /* Player.h */,
81225AA70912C42F005D34B9 /* PlayerView.cpp */,
81225AA80912C42F005D34B9 /* PlayerView.h */,
81225AA90912C42F005D34B9 /* Projectile.cpp */,
81225AAA0912C42F005D34B9 /* Projectile.h */,
81225AAB0912C42F005D34B9 /* Pvs.cpp */,
81225AAC0912C42F005D34B9 /* Pvs.h */,
81225AAD0912C42F005D34B9 /* script */,
81225AB60912C42F005D34B9 /* SecurityCamera.cpp */,
81225AB70912C42F005D34B9 /* SecurityCamera.h */,
81225AB80912C42F005D34B9 /* SmokeParticles.cpp */,
81225AB90912C42F005D34B9 /* SmokeParticles.h */,
81225ABA0912C42F005D34B9 /* Sound.cpp */,
81225ABB0912C42F005D34B9 /* Sound.h */,
81225ABC0912C42F005D34B9 /* Target.cpp */,
81225ABD0912C42F005D34B9 /* Target.h */,
81225ABE0912C42F005D34B9 /* Trigger.cpp */,
81225ABF0912C42F005D34B9 /* Trigger.h */,
81225AC00912C42F005D34B9 /* Weapon.cpp */,
81225AC10912C42F005D34B9 /* Weapon.h */,
81225AC20912C42F005D34B9 /* WorldSpawn.cpp */,
81225AC30912C42F005D34B9 /* WorldSpawn.h */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
D2AAC0630554660B00DB518D /* game.dylib */,
);
name = Products;
sourceTree = "<group>";
};
81225A1C0912C3A4005D34B9 /* Products */ = {
isa = PBXGroup;
children = (
81225A210912C3A4005D34B9 /* libidlib_pic.a */,
81225A230912C3A4005D34B9 /* libidlib_nopic.a */,
);
name = Products;
sourceTree = "<group>";
};
81225A420912C42F005D34B9 /* ai */ = {
isa = PBXGroup;
children = (
81225A430912C42F005D34B9 /* AAS.cpp */,
81225A440912C42F005D34B9 /* AAS.h */,
81225A450912C42F005D34B9 /* AAS_debug.cpp */,
81225A460912C42F005D34B9 /* AAS_local.h */,
81225A470912C42F005D34B9 /* AAS_pathing.cpp */,
81225A480912C42F005D34B9 /* AAS_routing.cpp */,
81225A490912C42F005D34B9 /* AI.cpp */,
81225A4A0912C42F005D34B9 /* AI.h */,
81225A4B0912C42F005D34B9 /* AI_events.cpp */,
81225A4C0912C42F005D34B9 /* AI_pathing.cpp */,
81225A4D0912C42F005D34B9 /* AI_Vagary.cpp */,
);
name = ai;
path = ../../game/ai;
sourceTree = SOURCE_ROOT;
};
81225A4E0912C42F005D34B9 /* anim */ = {
isa = PBXGroup;
children = (
81225A4F0912C42F005D34B9 /* Anim.cpp */,
81225A500912C42F005D34B9 /* Anim.h */,
81225A510912C42F005D34B9 /* Anim_Blend.cpp */,
81225A520912C42F005D34B9 /* Anim_Import.cpp */,
81225A530912C42F005D34B9 /* Anim_Testmodel.cpp */,
81225A540912C42F005D34B9 /* Anim_Testmodel.h */,
);
name = anim;
path = ../../game/anim;
sourceTree = SOURCE_ROOT;
};
81225A640912C42F005D34B9 /* gamesys */ = {
isa = PBXGroup;
children = (
81225A650912C42F005D34B9 /* Class.cpp */,
81225A660912C42F005D34B9 /* Class.h */,
81225A670912C42F005D34B9 /* DebugGraph.cpp */,
81225A680912C42F005D34B9 /* DebugGraph.h */,
81225A690912C42F005D34B9 /* Event.cpp */,
81225A6A0912C42F005D34B9 /* Event.h */,
81225A6B0912C42F005D34B9 /* NoGameTypeInfo.h */,
81225A6C0912C42F005D34B9 /* SaveGame.cpp */,
81225A6D0912C42F005D34B9 /* SaveGame.h */,
81225A6E0912C42F005D34B9 /* SysCmds.cpp */,
81225A6F0912C42F005D34B9 /* SysCmds.h */,
81225A700912C42F005D34B9 /* SysCvar.cpp */,
81225A710912C42F005D34B9 /* SysCvar.h */,
81225A720912C42F005D34B9 /* TypeInfo.cpp */,
81225A730912C42F005D34B9 /* TypeInfo.h */,
);
name = gamesys;
path = ../../game/gamesys;
sourceTree = SOURCE_ROOT;
};
81225A820912C42F005D34B9 /* physics */ = {
isa = PBXGroup;
children = (
81225A830912C42F005D34B9 /* Clip.cpp */,
81225A840912C42F005D34B9 /* Clip.h */,
81225A850912C42F005D34B9 /* Force.cpp */,
81225A860912C42F005D34B9 /* Force.h */,
81225A870912C42F005D34B9 /* Force_Constant.cpp */,
81225A880912C42F005D34B9 /* Force_Constant.h */,
81225A890912C42F005D34B9 /* Force_Drag.cpp */,
81225A8A0912C42F005D34B9 /* Force_Drag.h */,
81225A8B0912C42F005D34B9 /* Force_Field.cpp */,
81225A8C0912C42F005D34B9 /* Force_Field.h */,
81225A8D0912C42F005D34B9 /* Force_Spring.cpp */,
81225A8E0912C42F005D34B9 /* Force_Spring.h */,
81225A8F0912C42F005D34B9 /* Physics.cpp */,
81225A900912C42F005D34B9 /* Physics.h */,
81225A910912C42F005D34B9 /* Physics_Actor.cpp */,
81225A920912C42F005D34B9 /* Physics_Actor.h */,
81225A930912C42F005D34B9 /* Physics_AF.cpp */,
81225A940912C42F005D34B9 /* Physics_AF.h */,
81225A950912C42F005D34B9 /* Physics_Base.cpp */,
81225A960912C42F005D34B9 /* Physics_Base.h */,
81225A970912C42F005D34B9 /* Physics_Monster.cpp */,
81225A980912C42F005D34B9 /* Physics_Monster.h */,
81225A990912C42F005D34B9 /* Physics_Parametric.cpp */,
81225A9A0912C42F005D34B9 /* Physics_Parametric.h */,
81225A9B0912C42F005D34B9 /* Physics_Player.cpp */,
81225A9C0912C42F005D34B9 /* Physics_Player.h */,
81225A9D0912C42F005D34B9 /* Physics_RigidBody.cpp */,
81225A9E0912C42F005D34B9 /* Physics_RigidBody.h */,
81225A9F0912C42F005D34B9 /* Physics_Static.cpp */,
81225AA00912C42F005D34B9 /* Physics_Static.h */,
81225AA10912C42F005D34B9 /* Physics_StaticMulti.cpp */,
81225AA20912C42F005D34B9 /* Physics_StaticMulti.h */,
81225AA30912C42F005D34B9 /* Push.cpp */,
81225AA40912C42F005D34B9 /* Push.h */,
);
name = physics;
path = ../../game/physics;
sourceTree = SOURCE_ROOT;
};
81225AAD0912C42F005D34B9 /* script */ = {
isa = PBXGroup;
children = (
81225AAE0912C42F005D34B9 /* Script_Compiler.cpp */,
81225AAF0912C42F005D34B9 /* Script_Compiler.h */,
81225AB00912C42F005D34B9 /* Script_Interpreter.cpp */,
81225AB10912C42F005D34B9 /* Script_Interpreter.h */,
81225AB20912C42F005D34B9 /* Script_Program.cpp */,
81225AB30912C42F005D34B9 /* Script_Program.h */,
81225AB40912C42F005D34B9 /* Script_Thread.cpp */,
81225AB50912C42F005D34B9 /* Script_Thread.h */,
);
name = script;
path = ../../game/script;
sourceTree = SOURCE_ROOT;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
D2AAC0600554660B00DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
81225AC60912C42F005D34B9 /* Actor.h in Headers */,
81225AC80912C42F005D34B9 /* AF.h in Headers */,
81225ACA0912C42F005D34B9 /* AFEntity.h in Headers */,
81225ACC0912C42F005D34B9 /* AAS.h in Headers */,
81225ACE0912C42F005D34B9 /* AAS_local.h in Headers */,
81225AD20912C42F005D34B9 /* AI.h in Headers */,
81225AD70912C42F005D34B9 /* Anim.h in Headers */,
81225ADB0912C42F005D34B9 /* Anim_Testmodel.h in Headers */,
81225ADD0912C42F005D34B9 /* BrittleFracture.h in Headers */,
81225ADF0912C42F005D34B9 /* Camera.h in Headers */,
81225AE10912C42F005D34B9 /* Entity.h in Headers */,
81225AE30912C42F005D34B9 /* Fx.h in Headers */,
81225AE40912C42F005D34B9 /* Game.h in Headers */,
81225AE60912C42F005D34B9 /* Game_local.h in Headers */,
81225AE90912C42F005D34B9 /* GameEdit.h in Headers */,
81225AEB0912C42F005D34B9 /* Class.h in Headers */,
81225AED0912C42F005D34B9 /* DebugGraph.h in Headers */,
81225AEF0912C42F005D34B9 /* Event.h in Headers */,
81225AF00912C42F005D34B9 /* NoGameTypeInfo.h in Headers */,
81225AF20912C42F005D34B9 /* SaveGame.h in Headers */,
81225AF40912C42F005D34B9 /* SysCmds.h in Headers */,
81225AF60912C42F005D34B9 /* SysCvar.h in Headers */,
81225AF80912C42F005D34B9 /* TypeInfo.h in Headers */,
81225AFA0912C42F005D34B9 /* IK.h in Headers */,
81225AFC0912C42F005D34B9 /* Item.h in Headers */,
81225AFE0912C42F005D34B9 /* Light.h in Headers */,
81225B000912C42F005D34B9 /* Misc.h in Headers */,
81225B020912C42F005D34B9 /* Moveable.h in Headers */,
81225B040912C42F005D34B9 /* Mover.h in Headers */,
81225B060912C42F005D34B9 /* MultiplayerGame.h in Headers */,
81225B080912C42F005D34B9 /* Clip.h in Headers */,
81225B0A0912C42F005D34B9 /* Force.h in Headers */,
81225B0C0912C42F005D34B9 /* Force_Constant.h in Headers */,
81225B0E0912C42F005D34B9 /* Force_Drag.h in Headers */,
81225B100912C42F005D34B9 /* Force_Field.h in Headers */,
81225B120912C42F005D34B9 /* Force_Spring.h in Headers */,
81225B140912C42F005D34B9 /* Physics.h in Headers */,
81225B160912C42F005D34B9 /* Physics_Actor.h in Headers */,
81225B180912C42F005D34B9 /* Physics_AF.h in Headers */,
81225B1A0912C42F005D34B9 /* Physics_Base.h in Headers */,
81225B1C0912C42F005D34B9 /* Physics_Monster.h in Headers */,
81225B1E0912C42F005D34B9 /* Physics_Parametric.h in Headers */,
81225B200912C42F005D34B9 /* Physics_Player.h in Headers */,
81225B220912C42F005D34B9 /* Physics_RigidBody.h in Headers */,
81225B240912C42F005D34B9 /* Physics_Static.h in Headers */,
81225B260912C42F005D34B9 /* Physics_StaticMulti.h in Headers */,
81225B280912C42F005D34B9 /* Push.h in Headers */,
81225B2A0912C42F005D34B9 /* Player.h in Headers */,
81225B2C0912C42F005D34B9 /* PlayerView.h in Headers */,
81225B2E0912C42F005D34B9 /* Projectile.h in Headers */,
81225B300912C42F005D34B9 /* Pvs.h in Headers */,
81225B320912C42F005D34B9 /* Script_Compiler.h in Headers */,
81225B340912C42F005D34B9 /* Script_Interpreter.h in Headers */,
81225B360912C42F005D34B9 /* Script_Program.h in Headers */,
81225B380912C42F005D34B9 /* Script_Thread.h in Headers */,
81225B3A0912C42F005D34B9 /* SecurityCamera.h in Headers */,
81225B3C0912C42F005D34B9 /* SmokeParticles.h in Headers */,
81225B3E0912C42F005D34B9 /* Sound.h in Headers */,
81225B400912C42F005D34B9 /* Target.h in Headers */,
81225B420912C42F005D34B9 /* Trigger.h in Headers */,
81225B440912C42F005D34B9 /* Weapon.h in Headers */,
81225B460912C42F005D34B9 /* WorldSpawn.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
D2AAC0620554660B00DB518D /* game */ = {
isa = PBXNativeTarget;
buildConfigurationList = 81225A240912C3A4005D34B9 /* Build configuration list for PBXNativeTarget "game" */;
buildPhases = (
D2AAC0600554660B00DB518D /* Headers */,
D2AAC0610554660B00DB518D /* Sources */,
D289988505E68E00004EDB86 /* Frameworks */,
);
buildRules = (
);
dependencies = (
81225A390912C3C8005D34B9 /* PBXTargetDependency */,
);
name = game;
productName = game;
productReference = D2AAC0630554660B00DB518D /* game.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
ORGANIZATIONNAME = "id Software LLC";
};
buildConfigurationList = 81225A280912C3A4005D34B9 /* Build configuration list for PBXProject "game" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* game */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 81225A1C0912C3A4005D34B9 /* Products */;
ProjectRef = 81225A1B0912C3A4005D34B9 /* idlib.xcodeproj */;
},
);
projectRoot = "";
targets = (
D2AAC0620554660B00DB518D /* game */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
81225A210912C3A4005D34B9 /* libidlib_pic.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libidlib_pic.a;
remoteRef = 81225A200912C3A4005D34B9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
81225A230912C3A4005D34B9 /* libidlib_nopic.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libidlib_nopic.a;
remoteRef = 81225A220912C3A4005D34B9 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXSourcesBuildPhase section */
D2AAC0610554660B00DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
81225AC40912C42F005D34B9 /* PlayerIcon.cpp in Sources */,
81225AC50912C42F005D34B9 /* Actor.cpp in Sources */,
81225AC70912C42F005D34B9 /* AF.cpp in Sources */,
81225AC90912C42F005D34B9 /* AFEntity.cpp in Sources */,
81225ACB0912C42F005D34B9 /* AAS.cpp in Sources */,
81225ACD0912C42F005D34B9 /* AAS_debug.cpp in Sources */,
81225ACF0912C42F005D34B9 /* AAS_pathing.cpp in Sources */,
81225AD00912C42F005D34B9 /* AAS_routing.cpp in Sources */,
81225AD10912C42F005D34B9 /* AI.cpp in Sources */,
81225AD30912C42F005D34B9 /* AI_events.cpp in Sources */,
81225AD40912C42F005D34B9 /* AI_pathing.cpp in Sources */,
81225AD50912C42F005D34B9 /* AI_Vagary.cpp in Sources */,
81225AD60912C42F005D34B9 /* Anim.cpp in Sources */,
81225AD80912C42F005D34B9 /* Anim_Blend.cpp in Sources */,
81225AD90912C42F005D34B9 /* Anim_Import.cpp in Sources */,
81225ADA0912C42F005D34B9 /* Anim_Testmodel.cpp in Sources */,
81225ADC0912C42F005D34B9 /* BrittleFracture.cpp in Sources */,
81225ADE0912C42F005D34B9 /* Camera.cpp in Sources */,
81225AE00912C42F005D34B9 /* Entity.cpp in Sources */,
81225AE20912C42F005D34B9 /* Fx.cpp in Sources */,
81225AE50912C42F005D34B9 /* Game_local.cpp in Sources */,
81225AE70912C42F005D34B9 /* Game_network.cpp in Sources */,
81225AE80912C42F005D34B9 /* GameEdit.cpp in Sources */,
81225AEA0912C42F005D34B9 /* Class.cpp in Sources */,
81225AEC0912C42F005D34B9 /* DebugGraph.cpp in Sources */,
81225AEE0912C42F005D34B9 /* Event.cpp in Sources */,
81225AF10912C42F005D34B9 /* SaveGame.cpp in Sources */,
81225AF30912C42F005D34B9 /* SysCmds.cpp in Sources */,
81225AF50912C42F005D34B9 /* SysCvar.cpp in Sources */,
81225AF70912C42F005D34B9 /* TypeInfo.cpp in Sources */,
81225AF90912C42F005D34B9 /* IK.cpp in Sources */,
81225AFB0912C42F005D34B9 /* Item.cpp in Sources */,
81225AFD0912C42F005D34B9 /* Light.cpp in Sources */,
81225AFF0912C42F005D34B9 /* Misc.cpp in Sources */,
81225B010912C42F005D34B9 /* Moveable.cpp in Sources */,
81225B030912C42F005D34B9 /* Mover.cpp in Sources */,
81225B050912C42F005D34B9 /* MultiplayerGame.cpp in Sources */,
81225B070912C42F005D34B9 /* Clip.cpp in Sources */,
81225B090912C42F005D34B9 /* Force.cpp in Sources */,
81225B0B0912C42F005D34B9 /* Force_Constant.cpp in Sources */,
81225B0D0912C42F005D34B9 /* Force_Drag.cpp in Sources */,
81225B0F0912C42F005D34B9 /* Force_Field.cpp in Sources */,
81225B110912C42F005D34B9 /* Force_Spring.cpp in Sources */,
81225B130912C42F005D34B9 /* Physics.cpp in Sources */,
81225B150912C42F005D34B9 /* Physics_Actor.cpp in Sources */,
81225B170912C42F005D34B9 /* Physics_AF.cpp in Sources */,
81225B190912C42F005D34B9 /* Physics_Base.cpp in Sources */,
81225B1B0912C42F005D34B9 /* Physics_Monster.cpp in Sources */,
81225B1D0912C42F005D34B9 /* Physics_Parametric.cpp in Sources */,
81225B1F0912C42F005D34B9 /* Physics_Player.cpp in Sources */,
81225B210912C42F005D34B9 /* Physics_RigidBody.cpp in Sources */,
81225B230912C42F005D34B9 /* Physics_Static.cpp in Sources */,
81225B250912C42F005D34B9 /* Physics_StaticMulti.cpp in Sources */,
81225B270912C42F005D34B9 /* Push.cpp in Sources */,
81225B290912C42F005D34B9 /* Player.cpp in Sources */,
81225B2B0912C42F005D34B9 /* PlayerView.cpp in Sources */,
81225B2D0912C42F005D34B9 /* Projectile.cpp in Sources */,
81225B2F0912C42F005D34B9 /* Pvs.cpp in Sources */,
81225B310912C42F005D34B9 /* Script_Compiler.cpp in Sources */,
81225B330912C42F005D34B9 /* Script_Interpreter.cpp in Sources */,
81225B350912C42F005D34B9 /* Script_Program.cpp in Sources */,
81225B370912C42F005D34B9 /* Script_Thread.cpp in Sources */,
81225B390912C42F005D34B9 /* SecurityCamera.cpp in Sources */,
81225B3B0912C42F005D34B9 /* SmokeParticles.cpp in Sources */,
81225B3D0912C42F005D34B9 /* Sound.cpp in Sources */,
81225B3F0912C42F005D34B9 /* Target.cpp in Sources */,
81225B410912C42F005D34B9 /* Trigger.cpp in Sources */,
81225B430912C42F005D34B9 /* Weapon.cpp in Sources */,
81225B450912C42F005D34B9 /* WorldSpawn.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
81225A390912C3C8005D34B9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = idlib_pic;
targetProxy = 81225A380912C3C8005D34B9 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
81225A250912C3A4005D34B9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(MAIN_CPP_DEFINES)",
MACOS_X,
GAME_DLL,
__WITH_PB__,
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = DYNAMIC;
MACH_O_TYPE = mh_dylib;
MAIN_CPP_DEFINES = _DEBUG;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = game;
ZERO_LINK = YES;
};
name = Debug;
};
81225A260912C3A4005D34B9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(MAIN_CPP_DEFINES)",
MACOS_X,
GAME_DLL,
__WITH_PB__,
);
LIBRARY_STYLE = DYNAMIC;
MACH_O_TYPE = mh_dylib;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
"-fomit-frame-pointer",
"-fno-common",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = game;
SYMROOT = build;
ZERO_LINK = NO;
};
name = Release;
};
81225A290912C3A4005D34B9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_MODEL_TUNING = "";
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 1;
GCC_PREPROCESSOR_DEFINITIONS = (
_DEBUG,
MACOS_X,
GAME_DLL,
);
MACOSX_DEPLOYMENT_TARGET = 10.5;
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Debug;
};
81225A2A0912C3A4005D34B9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_MODEL_TUNING = "";
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
MACOS_X,
GAME_DLL,
);
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
"-fomit-frame-pointer",
"-fno-common",
);
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
81225A240912C3A4005D34B9 /* Build configuration list for PBXNativeTarget "game" */ = {
isa = XCConfigurationList;
buildConfigurations = (
81225A250912C3A4005D34B9 /* Debug */,
81225A260912C3A4005D34B9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
81225A280912C3A4005D34B9 /* Build configuration list for PBXProject "game" */ = {
isa = XCConfigurationList;
buildConfigurations = (
81225A290912C3A4005D34B9 /* Debug */,
81225A2A0912C3A4005D34B9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
const char *macosx_scanForLibraryDirectory(void);

View File

@@ -0,0 +1,16 @@
#include "macosx_local.h"
@class NSDictionary;
extern NSDictionary *Sys_GetMatchingDisplayMode( glimpParms_t parms );
extern void Sys_StoreGammaTables();
extern void Sys_GetGammaTable(glwgamma_t *table);
extern void Sys_SetScreenFade(glwgamma_t *table, float fraction);
extern void Sys_FadeScreens();
extern void Sys_FadeScreen(CGDirectDisplayID display);
extern void Sys_UnfadeScreens();
extern void Sys_UnfadeScreen(CGDirectDisplayID display, glwgamma_t *table);
extern void Sys_ReleaseAllDisplays();

542
neo/sys/osx/macosx_event.mm Normal file
View File

@@ -0,0 +1,542 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
// -*- mode: objc -*-
#import "../../idlib/precompiled.h"
#import "macosx_local.h"
#import "macosx_sys.h"
#import <AppKit/NSCursor.h>
#import <AppKit/NSWindow.h>
#import <AppKit/NSScreen.h>
#import <AppKit/NSApplication.h>
#import <AppKit/NSGraphicsContext.h>
#import <AppKit/NSEvent.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSString.h>
#import <Foundation/NSRunLoop.h>
#import <Carbon/Carbon.h>
#import <ApplicationServices/ApplicationServices.h>
#import <sys/types.h>
#import <sys/time.h>
#import <unistd.h>
#include <pthread.h>
static NSDate *distantPast = NULL;
static bool inputActive = false;
static bool mouseActive = false;
static bool inputRectValid = NO;
static CGRect inputRect;
static const void *sKLuchrData = NULL;
static const void *sKLKCHRData = NULL;
int vkeyToDoom3Key[256] = {
/*0x00*/ 'a', 's', 'd', 'f', 'h', 'g', 'z', 'x',
/*0x08*/ 'c', 'v', '?', 'b', 'q', 'w', 'e', 'r',
/*0x10*/ 'y', 't', '1', '2', '3', '4', '6', '5',
/*0x18*/ '=', '9', '7', '-', '8', '0', ']', 'o',
/*0x20*/ 'u', '[', 'i', 'p', K_ENTER, 'l', 'j', '\'',
/*0x28*/ 'k', ';', '\\', ',', '/', 'n', 'm', '.',
/*0x30*/ K_TAB, K_SPACE, '`', K_BACKSPACE, '?', K_ESCAPE, '?', K_COMMAND,
/*0x38*/ K_SHIFT, K_CAPSLOCK, K_ALT, K_CTRL, '?', '?', '?', '?',
/*0x40*/ '?', K_KP_DEL, '?', K_KP_STAR, '?', K_KP_PLUS, '?', K_KP_NUMLOCK,
/*0x48*/ '?', '?', '?', K_KP_SLASH, K_KP_ENTER, '?', K_KP_MINUS, '?',
/*0x50*/ '?', K_KP_EQUALS, K_KP_INS, K_KP_END, K_KP_DOWNARROW, K_KP_PGDN, K_KP_LEFTARROW, K_KP_5,
/*0x58*/ K_KP_RIGHTARROW, K_KP_HOME, '?', K_KP_UPARROW, K_KP_PGUP, '?', '?', '?',
/*0x60*/ K_F5, K_F6, K_F7, K_F3, K_F8, K_F9, '?', K_F11,
/*0x68*/ '?', K_PRINT_SCR, '?', K_F14, '?', K_F10, '?', K_F12,
/*0x70*/ '?', K_F15, K_INS, K_HOME, K_PGUP, K_DEL, K_F4, K_END,
/*0x78*/ K_F2, K_PGDN, K_F1, K_LEFTARROW, K_RIGHTARROW, K_DOWNARROW, K_UPARROW, K_POWER
};
int vkeyToDoom3Key_French[256] = {
/*0x00*/ 'q', 's', 'd', 'f', 'h', 'g', 'w', 'x',
/*0x08*/ 'c', 'v', '?', 'b', 'a', 'z', 'e', 'r',
/*0x10*/ 'y', 't', '1', '2', '3', '4', '6', '5',
/*0x18*/ '-', '9', '7', ')', '8', '0', '$', 'o',
/*0x20*/ 'u', '^', 'i', 'p', K_ENTER, 'l', 'j', 'ù',
/*0x28*/ 'k', 'm', 0x60, ';', '=', 'n', ',', ':',
/*0x30*/ K_TAB, K_SPACE, '<', K_BACKSPACE, '?', K_ESCAPE, '?', K_COMMAND,
/*0x38*/ K_SHIFT, K_CAPSLOCK, K_ALT, K_CTRL, '?', '?', '?', '?',
/*0x40*/ '?', K_KP_DEL, '?', K_KP_STAR, '?', K_KP_PLUS, '?', K_KP_NUMLOCK,
/*0x48*/ '?', '?', '?', K_KP_SLASH, K_KP_ENTER, '?', K_KP_MINUS, '?',
/*0x50*/ '?', K_KP_EQUALS, K_KP_INS, K_KP_END, K_KP_DOWNARROW, K_KP_PGDN, K_KP_LEFTARROW, K_KP_5,
/*0x58*/ K_KP_RIGHTARROW, K_KP_HOME, '?', K_KP_UPARROW, K_KP_PGUP, '?', '?', '?',
/*0x60*/ K_F5, K_F6, K_F7, K_F3, K_F8, K_F9, '?', K_F11,
/*0x68*/ '?', K_PRINT_SCR, '?', K_F14, '?', K_F10, '?', K_F12,
/*0x70*/ '?', K_F15, K_INS, K_HOME, K_PGUP, K_DEL, K_F4, K_END,
/*0x78*/ K_F2, K_PGDN, K_F1, K_LEFTARROW, K_RIGHTARROW, K_DOWNARROW, K_UPARROW, K_POWER
};
int vkeyToDoom3Key_German[256] = {
/*0x00*/ 'a', 's', 'd', 'f', 'h', 'g', 'y', 'x',
/*0x08*/ 'c', 'v', '?', 'b', 'q', 'w', 'e', 'r',
/*0x10*/ 'z', 't', '1', '2', '3', '4', '6', '5',
/*0x18*/ '«', '9', '7', '-', '8', '0', '+', 'o',
/*0x20*/ 'u', '[', 'i', 'p', K_ENTER, 'l', 'j', '\'',
/*0x28*/ 'k', ';', '#', ',', '-', 'n', 'm', '.',
/*0x30*/ K_TAB, K_SPACE, '`', K_BACKSPACE, '?', K_ESCAPE, '?', K_COMMAND,
/*0x38*/ K_SHIFT, K_CAPSLOCK, K_ALT, K_CTRL, '?', '?', '?', '?',
/*0x40*/ '?', K_KP_DEL, '?', K_KP_STAR, '?', K_KP_PLUS, '?', K_KP_NUMLOCK,
/*0x48*/ '?', '?', '?', K_KP_SLASH, K_KP_ENTER, '?', K_KP_MINUS, '?',
/*0x50*/ '?', K_KP_EQUALS, K_KP_INS, K_KP_END, K_KP_DOWNARROW, K_KP_PGDN, K_KP_LEFTARROW, K_KP_5,
/*0x58*/ K_KP_RIGHTARROW, K_KP_HOME, '?', K_KP_UPARROW, K_KP_PGUP, '?', '?', '?',
/*0x60*/ K_F5, K_F6, K_F7, K_F3, K_F8, K_F9, '?', K_F11,
/*0x68*/ '?', K_PRINT_SCR, '?', K_F14, '?', K_F10, '?', K_F12,
/*0x70*/ '?', K_F15, K_INS, K_HOME, K_PGUP, K_DEL, K_F4, K_END,
/*0x78*/ K_F2, K_PGDN, K_F1, K_LEFTARROW, K_RIGHTARROW, K_DOWNARROW, K_UPARROW, K_POWER
};
static const int *vkeyTable = vkeyToDoom3Key;
/*
===========
Sys_InitScanTable
===========
*/
void Sys_InitScanTable( void ) {
KeyboardLayoutRef kbLayout;
idStr lang = cvarSystem->GetCVarString( "sys_lang" );
if ( lang.Length() == 0 ) {
lang = "english";
}
if ( lang.Icmp( "english" ) == 0 ) {
vkeyTable = vkeyToDoom3Key;
} else if ( lang.Icmp( "french" ) == 0 ) {
vkeyTable = vkeyToDoom3Key_French;
} else if ( lang.Icmp( "german" ) == 0 ) {
vkeyTable = vkeyToDoom3Key_German;
}
if ( KLGetCurrentKeyboardLayout( &kbLayout ) == 0 ) {
if ( KLGetKeyboardLayoutProperty( kbLayout, kKLuchrData, &sKLuchrData ) ) {
common->Warning("KLGetKeyboardLayoutProperty failed");
}
if ( !sKLuchrData ) {
if ( KLGetKeyboardLayoutProperty( kbLayout, kKLKCHRData, &sKLKCHRData ) ) {
common->Warning("KLGetKeyboardLayoutProperty failed");
}
}
}
if ( !sKLuchrData && !sKLKCHRData ) {
common->Warning("Keyboard input initialziation failed");
}
}
void Sys_InitInput( void ) {
common->Printf( "------- Input Initialization -------\n" );
if ( !distantPast ) {
distantPast = [ [ NSDate distantPast ] retain ];
}
IN_ActivateMouse();
inputActive = true;
}
void Sys_ShutdownInput( void ) {
common->Printf( "------- Input Shutdown -------\n" );
if ( !inputActive ) {
return;
}
inputActive = false;
if ( mouseActive ) {
IN_DeactivateMouse();
}
common->Printf( "------------------------------\n" );
}
void processMouseMovedEvent( NSEvent *mouseMovedEvent ) {
CGMouseDelta dx, dy;
if ( !mouseActive ) {
return;
}
#if 0
#define ACT_LIKE_WINDOWS
#ifdef ACT_LIKE_WINDOWS
cvar_t *in_mouseLowEndSlope = Cvar_Get("in_mouseLowEndSlope", "3.5", CVAR_ARCHIVE);
if (in_mouseLowEndSlope->value < 1) {
Cvar_Set("in_mouseLowEndSlope", "1");
}
#else
cvar_t *in_mouseLowEndSlope = Cvar_Get("in_mouseLowEndSlope", "1", CVAR_ARCHIVE);
if (in_mouseLowEndSlope->value < 1) {
Cvar_Set("in_mouseLowEndSlope", "1");
}
#endif
cvar_t *in_mouseHighEndCutoff = Cvar_Get("in_mouseHighEndCutoff", "20", CVAR_ARCHIVE);
if (in_mouseLowEndSlope->value < 1) {
Cvar_Set("in_mouseHighEndCutoff", "1");
}
#endif
CGGetLastMouseDelta(&dx, &dy);
if ( dx || dy ) {
#if 0 // this is be handled by the mouse driver clean me out later
CGMouseDelta distSqr;
float m0, N;
distSqr = dx * dx + dy * dy;
//Com_Printf("distSqr = %d\n", distSqr);
/* This code is here to help people that like the feel of the Logitech USB Gaming Mouse with the Win98 drivers. By empirical testing, the Windows drivers seem to be more heavily accelerated at the low end of the curve. */
//N = in_mouseHighEndCutoff->value;
N = 1;
if (distSqr < N*N) {
float dist, accel, scale;
//m0 = in_mouseLowEndSlope->value;
m0 = 1;
dist = sqrt(distSqr);
accel = (((m0 - 1.0)/(N*N) * dist + (2.0 - 2.0*m0)/N) * dist + m0) * dist;
scale = accel / dist;
//Com_Printf("dx = %d, dy = %d, dist = %f, accel = %f, scale = %f\n", dx, dy, dist, accel, scale);
dx *= scale;
dy *= scale;
}
#endif
Posix_QueEvent( SE_MOUSE, dx, dy, 0, NULL );
Posix_AddMousePollEvent( M_DELTAX, dx );
Posix_AddMousePollEvent( M_DELTAY, dy );
}
}
inline bool OSX_LookupCharacter(unsigned short vkey, unsigned int modifiers, bool keyDownFlag, unsigned char *outChar)
{
UInt32 translated;
UInt32 deadKeyState = 0;
UniChar unicodeString[16];
UniCharCount actualStringLength = 0;
static UInt32 keyTranslateState = 0;
// Only want character if Translate() returns a single character
if ( sKLuchrData ) {
UCKeyTranslate( (UCKeyboardLayout*)sKLuchrData, vkey, keyDownFlag ? kUCKeyActionDown : kUCKeyActionUp, modifiers,
LMGetKbdType(), 0, &deadKeyState, 16, &actualStringLength, unicodeString );
if ( actualStringLength == 1 ) {
*outChar = (unsigned char)unicodeString[0];
return true;
}
}
else if ( sKLKCHRData ) {
translated = KeyTranslate( sKLKCHRData, vkey, &keyTranslateState );
if ( ( translated & 0x00ff0000 ) == 0 ) {
*outChar = translated & 0xff;
return true;
}
}
return false;
}
void OSX_ProcessKeyEvent( NSEvent *keyEvent, bool keyDownFlag ) {
unsigned char character;
unsigned int modifiers = 0;
unsigned short vkey = [ keyEvent keyCode ];
if ( [ keyEvent modifierFlags ] & NSAlphaShiftKeyMask )
modifiers |= alphaLock;
if ( [ keyEvent modifierFlags ] & NSShiftKeyMask )
modifiers |= shiftKey;
if ( [ keyEvent modifierFlags ] & NSControlKeyMask )
modifiers |= controlKey;
if ( [ keyEvent modifierFlags ] & NSAlternateKeyMask )
modifiers |= optionKey;
if ( [ keyEvent modifierFlags ] & NSCommandKeyMask )
modifiers |= cmdKey;
modifiers >>= 8;
int doomKey = (unsigned char)vkeyTable[vkey];
Posix_QueEvent( SE_KEY, doomKey, keyDownFlag, 0, NULL );
if ( keyDownFlag ) {
if ( OSX_LookupCharacter(vkey, modifiers, keyDownFlag, &character ) &&
character != Sys_GetConsoleKey( false ) && character != Sys_GetConsoleKey( true ) ) {
Posix_QueEvent( SE_CHAR, character, 0, 0, NULL);
}
}
Posix_AddKeyboardPollEvent( doomKey, keyDownFlag );
return;
}
void sendEventForMaskChangeInFlags( int quakeKey, unsigned int modifierMask, unsigned int oldModifierFlags, unsigned int newModifierFlags ) {
bool oldHadModifier, newHasModifier;
oldHadModifier = (oldModifierFlags & modifierMask) != 0;
newHasModifier = (newModifierFlags & modifierMask) != 0;
if (oldHadModifier != newHasModifier) {
//NSLog(@"Key %d posted for modifier mask modifierMask", quakeKey);
Posix_QueEvent( SE_KEY, quakeKey, newHasModifier, 0, NULL);
Posix_AddKeyboardPollEvent( quakeKey, newHasModifier );
}
}
void processFlagsChangedEvent( NSEvent *flagsChangedEvent ) {
static int oldModifierFlags;
int newModifierFlags;
newModifierFlags = [flagsChangedEvent modifierFlags];
sendEventForMaskChangeInFlags( K_ALT, NSAlternateKeyMask, oldModifierFlags, newModifierFlags );
sendEventForMaskChangeInFlags( K_CTRL, NSControlKeyMask, oldModifierFlags, newModifierFlags );
sendEventForMaskChangeInFlags( K_SHIFT, NSShiftKeyMask, oldModifierFlags, newModifierFlags );
oldModifierFlags = newModifierFlags;
}
void processSystemDefinedEvent( NSEvent *systemDefinedEvent ) {
static int oldButtons = 0;
int buttonsDelta;
int buttons;
int isDown;
if ( [systemDefinedEvent subtype] == 7 ) {
if ( !mouseActive ) {
return;
}
buttons = [systemDefinedEvent data2];
buttonsDelta = oldButtons ^ buttons;
//common->Printf( "uberbuttons: %08lx %08lx\n", buttonsDelta, buttons );
if (buttonsDelta & 1) {
isDown = buttons & 1;
Posix_QueEvent( SE_KEY, K_MOUSE1, isDown, 0, NULL);
Posix_AddMousePollEvent( M_ACTION1, isDown );
}
if (buttonsDelta & 2) {
isDown = buttons & 2;
Posix_QueEvent( SE_KEY, K_MOUSE2, isDown, 0, NULL);
Posix_AddMousePollEvent( M_ACTION2, isDown );
}
if (buttonsDelta & 4) {
isDown = buttons & 4;
Posix_QueEvent( SE_KEY, K_MOUSE3, isDown, 0, NULL);
Posix_AddMousePollEvent( M_ACTION3, isDown );
}
if (buttonsDelta & 8) {
isDown = buttons & 8;
Posix_QueEvent( SE_KEY, K_MOUSE4, isDown, 0, NULL);
Posix_AddMousePollEvent( M_ACTION4, isDown );
}
if (buttonsDelta & 16) {
isDown = buttons & 16;
Posix_QueEvent( SE_KEY, K_MOUSE5, isDown, 0, NULL);
Posix_AddMousePollEvent( M_ACTION5, isDown );
}
oldButtons = buttons;
}
}
void processEvent( NSEvent *event ) {
NSEventType eventType;
if ( !inputActive ) {
return;
}
eventType = [ event type ];
switch ( eventType ) {
// These four event types are ignored since we do all of our mouse down/up process via the uber-mouse system defined event. We have to accept these events however since they get enqueued and the queue will fill up if we don't.
case NSLeftMouseDown:
case NSLeftMouseUp:
case NSRightMouseDown:
case NSRightMouseUp:
//NSLog( @"ignore simple mouse event %@", event );
return;
case NSMouseMoved:
case NSLeftMouseDragged:
case NSRightMouseDragged:
processMouseMovedEvent( event );
return;
case NSKeyDown:
// Send ALL command key-ups to Quake, but not command key-downs, otherwise if the user hits a key, presses command, and lets up on the key, the key-up won't register.
if ( [ event modifierFlags ] & NSCommandKeyMask ) {
NSLog( @"command key up ignored: %@", event );
break;
}
case NSKeyUp:
OSX_ProcessKeyEvent( event, eventType == NSKeyDown );
return;
case NSFlagsChanged:
processFlagsChangedEvent( event );
return;
case NSSystemDefined:
processSystemDefinedEvent( event );
return;
case NSScrollWheel:
if ([event deltaY] < 0.0) {
Posix_QueEvent( SE_KEY, K_MWHEELDOWN, true, 0, NULL );
Posix_QueEvent( SE_KEY, K_MWHEELDOWN, false, 0, NULL );
Posix_AddMousePollEvent( M_DELTAZ, -1 );
} else {
Posix_QueEvent( SE_KEY, K_MWHEELUP, true, 0, NULL );
Posix_QueEvent( SE_KEY, K_MWHEELUP, false, 0, NULL );
Posix_AddMousePollEvent( M_DELTAZ, 1 );
}
return;
default:
//NSLog( @"handle event %@", event );
break;
}
[NSApp sendEvent:event];
}
void Posix_PollInput( void ) {
NSEvent *event;
unsigned int eventMask;
eventMask = NSAnyEventMask;
while ( ( event = [ NSApp nextEventMatchingMask: eventMask
untilDate: distantPast
inMode: NSDefaultRunLoopMode
dequeue:YES ] ) ) {
processEvent( event );
}
}
void Sys_PreventMouseMovement( CGPoint point ) {
CGEventErr err;
//common->Printf( "**** Calling CGAssociateMouseAndMouseCursorPosition(false)\n" );
err = CGAssociateMouseAndMouseCursorPosition( false );
if ( err != CGEventNoErr ) {
common->Error( "Could not disable mouse movement, CGAssociateMouseAndMouseCursorPosition returned %d\n", err );
}
// Put the mouse in the position we want to leave it at
err = CGWarpMouseCursorPosition( point );
if ( err != CGEventNoErr ) {
common->Error( "Could not disable mouse movement, CGWarpMouseCursorPosition returned %d\n", err );
}
}
void Sys_ReenableMouseMovement() {
CGEventErr err;
//common->Printf( "**** Calling CGAssociateMouseAndMouseCursorPosition(true)\n" );
err = CGAssociateMouseAndMouseCursorPosition( true );
if ( err != CGEventNoErr ) {
common->Error( "Could not reenable mouse movement, CGAssociateMouseAndMouseCursorPosition returned %d\n", err );
}
// Leave the mouse where it was -- don't warp here.
}
void Sys_LockMouseInInputRect(CGRect rect) {
CGPoint center;
center.x = rect.origin.x + rect.size.width / 2.0;
center.y = rect.origin.y + rect.size.height / 2.0;
// Now, put the mouse in the middle of the input rect (anywhere over it would do)
// and don't allow it to move. This means that the user won't be able to accidentally
// select another application.
Sys_PreventMouseMovement(center);
}
void Sys_SetMouseInputRect(CGRect newRect) {
inputRectValid = YES;
inputRect = newRect;
if ( mouseActive ) {
Sys_LockMouseInInputRect( inputRect );
}
}
void IN_ActivateMouse( void ) {
if ( mouseActive ) {
return;
}
if ( inputRectValid ) {
// Make sure that if window moved we don't hose the user...
Sys_UpdateWindowMouseInputRect();
}
Sys_LockMouseInInputRect( inputRect );
CGDisplayHideCursor( Sys_DisplayToUse() );
mouseActive = true;
}
void IN_DeactivateMouse( void ) {
if ( !mouseActive ) {
return;
}
Sys_ReenableMouseMovement();
CGDisplayShowCursor( Sys_DisplayToUse() );
mouseActive = false;
}
/*
===============
Sys_MapCharForKey
===============
*/
unsigned char Sys_MapCharForKey( int key ) {
return (unsigned char)key;
}
/*
===============
Sys_GetConsoleKey
===============
*/
unsigned char Sys_GetConsoleKey( bool shifted ) {
if ( vkeyTable == vkeyToDoom3Key_French ) {
return shifted ? '>' : '<';
}
else {
return shifted ? '~' : '`';
}
}

View File

@@ -0,0 +1,17 @@
#include <OpenGL/OpenGL.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#ifndef GL_EXT_abgr
#include <OpenGL/glext.h>
#endif
// This can be defined to use the CGLMacro.h support which avoids looking up
// the current context.
//#define USE_CGLMACROS
#ifdef USE_CGLMACROS
#include "macosx_local.h"
#define cgl_ctx glw_state._cgl_ctx
#include <OpenGL/CGLMacro.h>
#endif

1865
neo/sys/osx/macosx_glimp.mm Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
#include "../../idlib/precompiled.h"
#pragma hdrstop
#define INITGUID
#include "../../sound/snd_local.h"

View File

@@ -0,0 +1,22 @@
#include <sys/wait.h>
#include "../sys_public.h"
void OutputDebugString( const char *text );
// input
void Sys_InitInput( void );
void Sys_ShutdownInput( void );
void IN_DeactivateMouse( void);
void IN_ActivateMouse( void);
void IN_Activate (bool active);
void IN_Frame (void);
void * wglGetProcAddress(const char *name);
void Sleep( const int time );
void Sys_UpdateWindowMouseInputRect( void );

View File

@@ -0,0 +1,79 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#define GL_GLEXT_LEGACY // AppKit.h include pulls in gl.h already
#import <AppKit/AppKit.h>
#import <Foundation/Foundation.h>
#include "../../idlib/precompiled.h"
#include "../sys_local.h"
/*
==================
idSysLocal::OpenURL
==================
*/
void idSysLocal::OpenURL( const char *url, bool doexit ) {
static bool quit_spamguard = false;
if ( quit_spamguard ) {
common->DPrintf( "Sys_OpenURL: already in a doexit sequence, ignoring %s\n", url );
return;
}
common->Printf("Open URL: %s\n", url);
[[ NSWorkspace sharedWorkspace] openURL: [ NSURL URLWithString:
[ NSString stringWithCString: url ] ] ];
if ( doexit ) {
quit_spamguard = true;
cmdSystem->BufferCommandText( CMD_EXEC_APPEND, "quit\n" );
}
}
/*
==================
Sys_DoStartProcess
==================
*/
void Sys_DoStartProcess( const char *exeName, bool dofork = true ) {
common->Printf( "TODO: Sys_DoStartProcess %s\n", exeName );
}
/*
==================
OSX_GetLocalizedString
==================
*/
const char* OSX_GetLocalizedString( const char* key )
{
NSString *string = [ [ NSBundle mainBundle ] localizedStringForKey:[ NSString stringWithCString: key ]
value:@"No translation" table:nil];
return [string cString];
}

View File

@@ -0,0 +1,448 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#include "../../idlib/precompiled.h"
#include "../../sound/snd_local.h"
#include <Carbon/Carbon.h>
#include <CoreAudio/CoreAudio.h>
idCVar s_device( "s_device", "-1", CVAR_SYSTEM | CVAR_ARCHIVE | CVAR_INTEGER, "Sound device to use. -1 for default device" );
class idAudioHardwareOSX : public idAudioHardware {
public:
idAudioHardwareOSX();
~idAudioHardwareOSX();
bool Initialize( );
// OSX driver doesn't support memory map API
bool Lock( void **pDSLockedBuffer, ulong *dwDSLockedBufferSize ) { return false; }
bool Unlock( void *pDSLockedBuffer, dword dwDSLockedBufferSize ) { return false; }
bool GetCurrentPosition( ulong *pdwCurrentWriteCursor ) { return false; }
int GetMixBufferSize( void ) { return 0; }
int GetNumberOfSpeakers( void );
// OSX driver doesn't support write API
bool Flush( void ) { return false; }
void Write( bool ) { }
short* GetMixBuffer( void ) { return NULL; }
private:
AudioDeviceID selectedDevice;
bool activeIOProc;
void Reset( void );
void InitFailed( void );
const char* ExtractStatus( OSStatus status );
void GetAvailableNominalSampleRates( void );
// AudioDevicePropertyListenerProc
static OSStatus DeviceListener( AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
AudioDevicePropertyID inPropertyID,
void* inClientData );
// AudioDeviceIOProc
static OSStatus DeviceIOProc( AudioDeviceID inDevice,
const AudioTimeStamp* inNow,
const AudioBufferList* inInputData,
const AudioTimeStamp* inInputTime,
AudioBufferList* outOutputData,
const AudioTimeStamp* inOutputTime,
void* inClientData );
};
/*
==========
iAudioHardware::Alloc
==========
*/
idAudioHardware *idAudioHardware::Alloc() { return new idAudioHardwareOSX; }
/*
==========
idAudioHardware::~idAudioHardware
==========
*/
idAudioHardware::~idAudioHardware() { }
/*
==========
idAudioHardwareOSX::idAudioHardwareOSX
==========
*/
idAudioHardwareOSX::idAudioHardwareOSX() {
selectedDevice = kAudioDeviceUnknown;
activeIOProc = false;
}
/*
==========
idAudioHardwareOSX::~idAudioHardwareOSX
==========
*/
idAudioHardwareOSX::~idAudioHardwareOSX() {
Reset();
}
/*
==========
idAudioHardwareOSX::Reset
==========
*/
void idAudioHardwareOSX::Reset() {
OSStatus status;
if ( activeIOProc ) {
status = AudioDeviceStop( selectedDevice, DeviceIOProc );
if ( status != kAudioHardwareNoError ) {
common->Warning( "idAudioHardwareOSX::Reset: AudioDeviceStop failed. status: %s", ExtractStatus( status ) );
}
status = AudioDeviceRemoveIOProc( selectedDevice, DeviceIOProc );
if ( status != kAudioHardwareNoError ) {
common->Warning( "idAudioHardwareOSX::Reset: AudioDeviceRemoveIOProc failed. status %s\n", ExtractStatus( status ) );
}
activeIOProc = false;
}
selectedDevice = kAudioDeviceUnknown;
AudioHardwareUnload();
}
/*
=================
idAudioHardwareOSX::InitFailed
=================
*/
void idAudioHardwareOSX::InitFailed() {
Reset();
cvarSystem->SetCVarBool( "s_noSound", true );
common->Warning( "sound subsystem disabled" );
common->Printf( "------------------------------------------------\n" );
}
/*
==========
idAudioHardwareOSX::DeviceListener
==========
*/
OSStatus idAudioHardwareOSX::DeviceListener( AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
AudioDevicePropertyID inPropertyID,
void* inClientData) {
common->Printf( "DeviceListener\n" );
return kAudioHardwareNoError;
}
/*
==========
idAudioHardwareOSX::DeviceIOProc
==========
*/
OSStatus idAudioHardwareOSX::DeviceIOProc( AudioDeviceID inDevice,
const AudioTimeStamp* inNow,
const AudioBufferList* inInputData,
const AudioTimeStamp* inInputTime,
AudioBufferList* outOutputData,
const AudioTimeStamp* inOutputTime,
void* inClientData ) {
// setup similar to async thread
Sys_EnterCriticalSection();
soundSystem->AsyncMix( (int)inOutputTime->mSampleTime, (float*)outOutputData->mBuffers[ 0 ].mData );
Sys_LeaveCriticalSection();
// doom mixes sound to -32768.0f 32768.0f range, scale down to -1.0f 1.0f
SIMDProcessor->Mul( (Float32*)outOutputData->mBuffers[ 0 ].mData, 1.0f / 32768.0f, (Float32*)outOutputData->mBuffers[ 0 ].mData, MIXBUFFER_SAMPLES * 2 );
return kAudioHardwareNoError;
}
/*
==========
idAudioHardwareOSX::ExtractStatus
==========
*/
const char* idAudioHardwareOSX::ExtractStatus( OSStatus status ) {
static char buf[ sizeof( OSStatus ) + 1 ];
strncpy( buf, (const char *)&status, sizeof( OSStatus ) );
buf[ sizeof( OSStatus ) ] = '\0';
return buf;
}
/*
==========
idAudioHardwareOSX::Initialize
==========
*/
bool idAudioHardwareOSX::Initialize( ) {
UInt32 size;
OSStatus status;
int i, deviceCount;
AudioDeviceID *deviceList;
char buf[ 1024 ];
status = AudioHardwareGetPropertyInfo( kAudioHardwarePropertyDevices, &size, NULL );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioHardwareGetPropertyInfo kAudioHardwarePropertyDevices failed. status: %s", ExtractStatus( status ) );
InitFailed();
return false;
}
deviceCount = size / sizeof( AudioDeviceID );
if ( !deviceCount ) {
common->Printf( "No sound device found\n" );
InitFailed();
return false;
}
deviceList = (AudioDeviceID*)malloc( size );
status = AudioHardwareGetProperty( kAudioHardwarePropertyDevices, &size, deviceList );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioHardwareGetProperty kAudioHardwarePropertyDevices failed. status: %s", ExtractStatus( status ) );
free( deviceList );
InitFailed();
return false;
}
common->Printf( "%d sound device(s)\n", deviceCount );
for( i = 0; i < deviceCount; i++ ) {
size = 1024;
status = AudioDeviceGetProperty( deviceList[ i ], 0, false, kAudioDevicePropertyDeviceName, &size, buf );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty kAudioDevicePropertyDeviceName %d failed. status: %s", i, ExtractStatus( status ) );
free( deviceList );
InitFailed();
return false;
}
common->Printf( " %d: ID %d, %s - ", i, deviceList[ i ], buf );
size = 1024;
status = AudioDeviceGetProperty( deviceList[ i ], 0, false, kAudioDevicePropertyDeviceManufacturer, &size, buf );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty kAudioDevicePropertyDeviceManufacturer %d failed. status: %s", i, ExtractStatus( status ) );
free( deviceList );
InitFailed();
return false;
}
common->Printf( "%s\n", buf );
}
if ( s_device.GetInteger() != -1 && s_device.GetInteger() < deviceCount ) {
selectedDevice = deviceList[ s_device.GetInteger() ];
common->Printf( "s_device: device ID %d\n", selectedDevice );
} else {
size = sizeof( selectedDevice );
status = AudioHardwareGetProperty( kAudioHardwarePropertyDefaultOutputDevice, &size, &selectedDevice );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioHardwareGetProperty kAudioHardwarePropertyDefaultOutputDevice failed. status: %s", ExtractStatus( status ) );
free( deviceList );
InitFailed();
return false;
}
common->Printf( "select default device, ID %d\n", selectedDevice );
}
free( deviceList );
deviceList = NULL;
/*
// setup a listener to watch for changes to properties
status = AudioDeviceAddPropertyListener( selectedDevice, 0, false, kAudioDeviceProcessorOverload, DeviceListener, this );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceAddPropertyListener kAudioDeviceProcessorOverload failed. status: %s", ExtractStatus( status ) );
InitFailed();
return;
}
*/
Float64 sampleRate;
size = sizeof( sampleRate );
status = AudioDeviceGetProperty( selectedDevice, 0, false, kAudioDevicePropertyNominalSampleRate, &size, &sampleRate );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty %d kAudioDevicePropertyNominalSampleRate failed. status: %s", selectedDevice, ExtractStatus( status ) );
InitFailed();
return false;
}
common->Printf( "current nominal rate: %g\n", sampleRate );
if ( sampleRate != PRIMARYFREQ ) {
GetAvailableNominalSampleRates();
sampleRate = PRIMARYFREQ;
common->Printf( "setting rate to: %g\n", sampleRate );
status = AudioDeviceSetProperty( selectedDevice, NULL, 0, false, kAudioDevicePropertyNominalSampleRate, size, &sampleRate );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceSetProperty %d kAudioDevicePropertyNominalSampleRate %g failed. status: %s", selectedDevice, sampleRate, ExtractStatus( status ) );
InitFailed();
return false;
}
}
UInt32 frameSize;
size = sizeof( UInt32 );
status = AudioDeviceGetProperty( selectedDevice, 0, false, kAudioDevicePropertyBufferFrameSize, &size, &frameSize );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty %d kAudioDevicePropertyBufferFrameSize failed.status: %s", selectedDevice, ExtractStatus( status ) );
InitFailed();
return false;
}
common->Printf( "current frame size: %d\n", frameSize );
// get the allowed frame size range
AudioValueRange frameSizeRange;
size = sizeof( AudioValueRange );
status = AudioDeviceGetProperty( selectedDevice, 0, false, kAudioDevicePropertyBufferFrameSizeRange, &size, &frameSizeRange );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty %d kAudioDevicePropertyBufferFrameSizeRange failed. status: %s", selectedDevice, ExtractStatus( status ) );
InitFailed();
return false;
}
common->Printf( "frame size allowed range: %g %g\n", frameSizeRange.mMinimum, frameSizeRange.mMaximum );
if ( frameSizeRange.mMaximum < MIXBUFFER_SAMPLES ) {
common->Warning( "can't obtain the required frame size of %d bits", MIXBUFFER_SAMPLES );
InitFailed();
return false;
}
if ( frameSize != (unsigned int)MIXBUFFER_SAMPLES ) {
frameSize = MIXBUFFER_SAMPLES;
common->Printf( "setting frame size to: %d\n", frameSize );
size = sizeof( frameSize );
status = AudioDeviceSetProperty( selectedDevice, NULL, 0, false, kAudioDevicePropertyBufferFrameSize, size, &frameSize );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceSetProperty %d kAudioDevicePropertyBufferFrameSize failed. status: %s", selectedDevice, ExtractStatus( status ) );
InitFailed();
return false;
}
}
if ( idSoundSystemLocal::s_numberOfSpeakers.GetInteger() != 2 ) {
common->Warning( "only stereo sound currently supported" );
idSoundSystemLocal::s_numberOfSpeakers.SetInteger( 2 );
}
UInt32 channels[ 2 ];
size = 2 * sizeof( UInt32 );
status = AudioDeviceGetProperty( selectedDevice, 0, false, kAudioDevicePropertyPreferredChannelsForStereo, &size, &channels );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty %d kAudioDevicePropertyPreferredChannelsForStereo failed. status: %s", selectedDevice, ExtractStatus( status ) );
InitFailed();
return false;
}
common->Printf( "using stereo channel IDs %d %d\n", channels[ 0 ], channels[ 1 ] );
status = AudioDeviceAddIOProc( selectedDevice, DeviceIOProc, NULL );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceAddIOProc failed. status: %s", ExtractStatus( status ) );
InitFailed();
return false;
}
activeIOProc = true;
status = AudioDeviceStart( selectedDevice, DeviceIOProc );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceStart failed. status: %s", ExtractStatus( status ) );
InitFailed();
return false;
}
/*
// allocate the mix buffer
// it has the space for ROOM_SLICES_IN_BUFFER DeviceIOProc loops
mixBufferSize = dwSpeakers * dwSampleSize * dwPrimaryBitRate * ROOM_SLICES_IN_BUFFER / 8;
mixBuffer = malloc( mixBufferSize );
memset( mixBuffer, 0, mixBufferSize );
*/
return true;
}
/*
==========
idAudioHardwareOSX::GetAvailableNominalSampleRates
==========
*/
void idAudioHardwareOSX::GetAvailableNominalSampleRates( void ) {
UInt32 size;
OSStatus status;
int i, rangeCount;
AudioValueRange *rangeArray;
status = AudioDeviceGetPropertyInfo( selectedDevice, 0, false, kAudioDevicePropertyAvailableNominalSampleRates, &size, NULL );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetPropertyInfo %d kAudioDevicePropertyAvailableNominalSampleRates failed. status: %s", selectedDevice, ExtractStatus( status ) );
return;
}
rangeCount = size / sizeof( AudioValueRange );
rangeArray = (AudioValueRange *)malloc( size );
common->Printf( "%d possible rate(s)\n", rangeCount );
status = AudioDeviceGetProperty( selectedDevice, 0, false, kAudioDevicePropertyAvailableNominalSampleRates, &size, rangeArray );
if ( status != kAudioHardwareNoError ) {
common->Warning( "AudioDeviceGetProperty %d kAudioDevicePropertyAvailableNominalSampleRates failed. status: %s", selectedDevice, ExtractStatus( status ) );
free( rangeArray );
return;
}
for( i = 0; i < rangeCount; i++ ) {
common->Printf( " %d: min %g max %g\n", i, rangeArray[ i ].mMinimum, rangeArray[ i ].mMaximum );
}
free( rangeArray );
}
/*
==========
idAudioHardwareOSX::GetNumberOfSpeakers
==========
*/
int idAudioHardwareOSX::GetNumberOfSpeakers() {
return idSoundSystemLocal::s_numberOfSpeakers.GetInteger();
}
/*
===============
Sys_LoadOpenAL
===============
*/
bool Sys_LoadOpenAL( void ) {
OSErr err;
long gestaltOSVersion;
err = Gestalt(gestaltSystemVersion, &gestaltOSVersion);
if ( err || gestaltOSVersion < 0x1040 ) {
return false;
}
return true;
}

84
neo/sys/osx/macosx_sys.h Normal file
View File

@@ -0,0 +1,84 @@
#import "../posix/posix_public.h"
#import <Foundation/NSGeometry.h>
@class NSEvent, NSOpenGLContext, NSWindow;
#import <ApplicationServices/ApplicationServices.h>
#import <OpenGL/CGLTypes.h>
// sys
const char *macosx_scanForLibraryDirectory(void);
// In macosx_input.m
void Sys_InitInput(void);
void Sys_ShutdownInput(void);
CGDirectDisplayID Sys_DisplayToUse(void);
//extern void osxQuit();
void SetProgramPath(char *path);
void Sys_SetMouseInputRect(CGRect newRect);
void Sys_AnnoyingBanner();
// In macosx_glimp.m
bool Sys_Hide();
bool Sys_Unhide();
typedef struct {
CGDirectDisplayID display;
CGTableCount tableSize;
CGGammaValue *red;
CGGammaValue *blue;
CGGammaValue *green;
} glwgamma_t;
typedef struct
{
CGDirectDisplayID display;
NSDictionary *desktopMode;
NSDictionary *gameMode;
CGDisplayCount displayCount;
glwgamma_t *originalDisplayGammaTables;
glwgamma_t inGameTable;
glwgamma_t tempTable;
NSOpenGLContext *_ctx;
CGLContextObj _cgl_ctx;
bool _ctx_is_current;
NSWindow *window;
FILE *log_fp;
unsigned int bufferSwapCount;
unsigned int glPauseCount;
} glwstate_t;
extern glwstate_t glw_state;
#define OSX_SetGLContext(context) \
do { \
NSOpenGLContext *_context = (context); \
glw_state._ctx = _context; \
glw_state._cgl_ctx = [_context cglContext]; \
} while (0)
#define OSX_GetNSGLContext() glw_state._ctx
#define OSX_GetCGLContext() glw_state._cgl_ctx
#define OSX_GLContextIsCurrent() glw_state._ctx_is_current
#define OSX_GLContextSetCurrent() \
do { \
[glw_state._ctx makeCurrentContext]; \
glw_state._ctx_is_current = (glw_state._ctx != nil); \
} while (0)
#define OSX_GLContextClearCurrent() \
do { \
[NSOpenGLContext clearCurrentContext]; \
glw_state._ctx_is_current = NO; \
} while (0)
void Sys_PauseGL();
void Sys_ResumeGL();

260
neo/sys/osx/macosx_sys.mm Normal file
View File

@@ -0,0 +1,260 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
// -*- mode: objc -*-
#import "../../idlib/precompiled.h"
#import "macosx_local.h"
#import "macosx_sys.h"
#import "macosx_common.h"
#import "dlfcn.h"
#import <AppKit/AppKit.h>
#import <sys/types.h>
#import <unistd.h>
#import <sys/param.h>
#import <sys/mount.h>
#import <sys/wait.h>
#ifdef OMNI_TIMER
#import "macosx_timers.h"
#endif
void Sys_Init (void);
char *Sys_GetCurrentUser( void );
void Sys_Error( const char *error, ...);
void Sys_Quit (void);
char *Sys_GetClipboardData( void ); // note that this isn't journaled...
void Sys_Print( const char *msg );
//===========================================================================
int main(int argc, const char *argv[]) {
return NSApplicationMain(argc, argv);
}
//===========================================================================
void Sys_Sleep( const int time ) {
sleep( time );
}
void EditorPrintConsole( const char *test ) {
}
/*
=================
Sys_UnloadDll
=================
*/
void Sys_UnloadDll( void *dllHandle ) {
}
/*
=================
Sys_LoadDll
Used to load a development dll instead of a virtual machine
=================
*/
extern char *FS_BuildOSPath( const char *base, const char *game, const char *qpath );
void *Sys_LoadDll( const char *name, int (**entryPoint)(int, ...),
int (*systemcalls)(int, ...) )
{
return NULL;
}
//===========================================================================
char *Sys_GetClipboardData(void) // FIXME
{
NSPasteboard *pasteboard;
NSArray *pasteboardTypes;
pasteboard = [NSPasteboard generalPasteboard];
pasteboardTypes = [pasteboard types];
if ([pasteboardTypes containsObject:NSStringPboardType]) {
NSString *clipboardString;
clipboardString = [pasteboard stringForType:NSStringPboardType];
if (clipboardString && [clipboardString length] > 0) {
return strdup([clipboardString cString]);
}
}
return NULL;
}
//===========================================================================
void Sys_BeginProfiling(void)
{
}
void Sys_EndProfiling(void)
{
}
//===========================================================================
/*
================
Sys_Init
The cvar and file system has been setup, so configurations are loaded
================
*/
void Sys_Init(void)
{
// Sys_InitNetwork();
Sys_InitInput();
}
/*
=================
Sys_Shutdown
=================
*/
void Sys_Shutdown(void)
{
common->Printf( "----- Sys_Shutdown -----\n" );
Sys_EndProfiling();
Sys_ShutdownInput();
common->Printf( "------------------------\n" );
}
void Sys_Error(const char *error, ...)
{
va_list argptr;
NSString *formattedString;
Sys_Shutdown();
va_start(argptr,error);
formattedString = [[NSString alloc] initWithFormat:[NSString stringWithCString:error] arguments:argptr];
va_end(argptr);
NSLog(@"Sys_Error: %@", formattedString);
NSRunAlertPanel(@"DOOM Error", formattedString, nil, nil, nil);
Sys_Quit();
}
void Sys_Quit(void)
{
Sys_Shutdown();
[NSApp terminate:nil];
}
/*
================
Sys_Print
This is called for all console output, even if the game is running
full screen and the dedicated console window is hidden.
================
*/
char *ansiColors[8] =
{ "\033[30m" , /* ANSI Black */
"\033[31m" , /* ANSI Red */
"\033[32m" , /* ANSI Green */
"\033[33m" , /* ANSI Yellow */
"\033[34m" , /* ANSI Blue */
"\033[36m" , /* ANSI Cyan */
"\033[35m" , /* ANSI Magenta */
"\033[37m" }; /* ANSI White */
void Sys_Print(const char *text)
{
#if 0
/* Okay, this is a stupid hack, but what the hell, I was bored. ;) */
char *scan = text;
char code;
int index;
/* Make sure terminal mode is reset at the start of the line... */
fputs("\033[0m", stdout);
while(*scan) {
/* See if we have a color control code. If so, snarf the character,
print what we have so far, print the ANSI Terminal color code,
skip over the color control code and continue */
if(Q_IsColorString(scan)) {
index = ColorIndex(scan[1]);
/* Flush current message */
if(scan != text) {
fwrite(text, scan - text, 1, stdout);
}
/* Write ANSI color code */
fputs(ansiColors[index], stdout);
/* Reset search */
text = scan+2;
scan = text;
continue;
}
scan++;
}
/* Flush whatever's left */
fputs(text, stdout);
/* Make sure terminal mode is reset at the end of the line too... */
fputs("\033[0m", stdout);
#else
fputs(text, stdout);
#endif
}
void OutputDebugString( const char *text ) {
Sys_Print( text );
}
void Sys_OutputDebugString( const char *text ) {
OutputDebugString( text );
}
/*
================
Sys_CheckCD
Return true if the proper CD is in the drive
================
*/
bool Sys_CheckCD( void ) {
return macosx_scanForLibraryDirectory() != NULL;
}

View File

@@ -0,0 +1,17 @@
#ifdef OMNI_TIMER
#import <OmniTimer/OTTimerNode.h>
extern OTTimerNode *RootNode;
extern OTTimerNode *FrameNode;
extern OTTimerNode *UpdateScreenNode;
extern OTTimerNode *SurfaceMeshNode;
extern OTTimerNode *LerpMeshVertexesNode;
extern OTTimerNode *LerpMeshVertexesNode1;
extern OTTimerNode *LerpMeshVertexesNode2;
extern OTTimerNode *VectorArrayNormalizeNode;
extern void InitializeTimers();
extern void PrintTimers();
#endif // OMNI_TIMER

168
neo/sys/osx/macosx_utils.mm Normal file
View File

@@ -0,0 +1,168 @@
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code 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 3 of the License, or
(at your option) any later version.
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
// -*- mode: objc -*-
#import "../../idlib/precompiled.h"
#import <Foundation/Foundation.h>
#import <mach/mach.h>
#import <mach/vm_map.h>
#define CD_MOUNT_NAME "DOOM"
#include "macosx_local.h"
#include "macosx_sys.h"
//extern "C" void *vm_allocate(unsigned, unsigned*, unsigned, int);
//extern "C" void vm_deallocate(unsigned, unsigned*, unsigned);
const char *macosx_scanForLibraryDirectory(void)
{
return "/Library/DOOM";
}
// EEEK!
static long size_save;
void *osxAllocateMemoryNV(long size, float readFrequency, float writeFrequency, float priority)
{
kern_return_t kr;
vm_address_t buffer;
kr = vm_allocate(mach_task_self(),
(vm_address_t *)&buffer,
size,
VM_FLAGS_ANYWHERE);
if(kr == 0) {
size_save = size;
return buffer;
}
else
{
size_save = 0;
return NULL;
}
}
void osxFreeMemoryNV(void *pointer)
{
if(size_save) {
vm_deallocate(mach_task_self(),
(vm_address_t)pointer,
size_save);
size_save = 0;
}
}
void *osxAllocateMemory(long size)
{
kern_return_t kr;
vm_address_t buffer;
size += sizeof( int );
kr = vm_allocate(mach_task_self(),
(vm_address_t *)&buffer,
size,
VM_FLAGS_ANYWHERE);
if(kr == 0) {
int *ptr = buffer;
*ptr = size;
ptr = ptr + 1;
return ptr;
}
else
{
return NULL;
}
}
void osxFreeMemory(void *pointer)
{
int size;
int *ptr = pointer;
ptr = ptr - 1;
size = *ptr;
vm_deallocate(mach_task_self(), (vm_address_t)ptr, size);
}
static inline void __eieio(void)
{
__asm__ ("eieio");
}
static inline void __sync(void)
{
__asm__ ("sync");
}
static inline void __isync(void)
{
__asm__ ("isync");
}
static inline void __dcbf(void *base, unsigned long offset)
{
__asm__ ("dcbf %0, %1"
:
: "r" (base), "r" (offset)
: "r0");
}
static inline void __dcbst(void *base, unsigned long offset)
{
__asm__ ("dcbst %0, %1"
:
: "r" (base), "r" (offset)
: "r0");
}
static inline void __dcbz(void *base, unsigned long offset)
{
__asm__ ("dcbz %0, %1"
:
: "r" (base), "r" (offset)
: "r0");
}
void Sys_FlushCacheMemory( void *base, int bytes ) {
unsigned long i;
for(i = 0; i < bytes; i+= 32) {
__dcbf(base,i);
}
__sync();
__isync();
__dcbf(base, i);
__sync();
__isync();
*(volatile unsigned long *)(base + i);
__isync();
}

145
neo/sys/osx/misc/ftoi.patch Normal file
View File

@@ -0,0 +1,145 @@
Index: neo/idlib/math/Math.h
===================================================================
--- neo/idlib/math/Math.h (revision 1760)
+++ neo/idlib/math/Math.h (working copy)
@@ -776,6 +776,21 @@
m = ( i & ( ( 1 << IEEE_FLT_MANTISSA_BITS ) - 1 ) ) | ( 1 << IEEE_FLT_MANTISSA_BITS );
shift = e - IEEE_FLT_MANTISSA_BITS;
return ( ( ( ( m >> -shift ) | ( m << shift ) ) & ~( e >> 31 ) ) ^ s ) - s;
+//#elif defined( MACOS_X )
+#elif 0
+ double ret = __fctiw( f );
+ return *( reinterpret_cast<int *>( &ret ) + 1 );
+//#elif defined( MACOS_X )
+#elif 0
+ float c;
+ // c = __fsels( f, -0x1.0p+52, 0x1.0p+52 );
+ __asm__ ("fsel %0,%1,%2,%3"
+ /* outputs: */ : "=f" (c)
+ /* inputs: */ : "f" (f), "f" (-0x1.0p+52), "f" (0x1.0p+52));
+ float result = (f - c) + c;
+ if( f < result ) result -= 1.0;
+ int i = *reinterpret_cast<int *>( &f );
+ return ( i & ( ( 1 << IEEE_FLT_MANTISSA_BITS ) - 1 ) );
#else
return (int) f;
#endif
Index: neo/idlib/precompiled.h
===================================================================
--- neo/idlib/precompiled.h (revision 1760)
+++ neo/idlib/precompiled.h (working copy)
@@ -47,6 +47,10 @@
#endif /* _WIN32 */
+#if defined( MACOS_X )
+#include <ppc_intrinsics.h>
+#endif
+
//-----------------------------------------------------
#if !defined( _DEBUG ) && !defined( NDEBUG )
Index: neo/TestSIMD/math/Math.h
===================================================================
--- neo/TestSIMD/math/Math.h (revision 1760)
+++ neo/TestSIMD/math/Math.h (working copy)
@@ -143,6 +143,7 @@
static float Rint( float f ); // returns the nearest integer
static int Ftoi( float f ); // float to int conversion
static int FtoiFast( float f ); // fast float to int conversion but rounds to nearest
+ static unsigned int FtouiFast( float f ); // fast float to unsigned int conversion
static unsigned long Ftol( float f ); // float to long conversion
static unsigned long FtolFast( float ); // fast float to long conversion but rounds to nearest
@@ -673,11 +674,31 @@
__asm fld f
__asm fistp i
return i;
+//#elif defined( MACOS_X )
+#elif 0
+ int i, s, e, m, shift;
+ i = *reinterpret_cast<int *>( &f );
+ s = i >> IEEE_FLT_SIGN_BIT;
+ e = ( ( i >> IEEE_FLT_MANTISSA_BITS ) & ( ( 1 << IEEE_FLT_EXPONENT_BITS ) - 1 ) ) - IEEE_FLT_EXPONENT_BIAS;
+ m = ( i & ( ( 1 << IEEE_FLT_MANTISSA_BITS ) - 1 ) ) | ( 1 << IEEE_FLT_MANTISSA_BITS );
+ shift = e - IEEE_FLT_MANTISSA_BITS;
+ return ( ( ( ( m >> -shift ) | ( m << shift ) ) & ~( e >> 31 ) ) ^ s ) - s;
#else
return (int) f;
#endif
}
+ID_INLINE unsigned int idMath::FtouiFast( float f ) {
+#ifdef _WIN32
+ int i;
+ __asm fld f
+ __asm fistp i
+ return i;
+#else
+ return (unsigned int) f;
+#endif
+}
+
ID_INLINE unsigned long idMath::Ftol( float f ) {
return (unsigned long) f;
}
Index: neo/TestSIMD/math/Simd.cpp
===================================================================
--- neo/TestSIMD/math/Simd.cpp (revision 1760)
+++ neo/TestSIMD/math/Simd.cpp (working copy)
@@ -3886,6 +3886,35 @@
GetBest( start, end, bestClocks );
}
PrintClocks( " idAngles::ToMat3()", 1, bestClocks );
+
+ int j;
+ int tmp;
+
+ bestClocks = 0;
+ tst = rnd.CRandomFloat() * 5000.0f;
+ for ( i = 0; i < NUMTESTS; i++ ) {
+ StartRecordTime( start );
+ for ( j = 0; j < NUMTESTS; j++ ) {
+ tmp = idMath::FtoiFast( tst );
+ }
+ StopRecordTime( end );
+ GetBest( start, end, bestClocks );
+ tst = rnd.CRandomFloat() * 5000.0f;
+ }
+ PrintClocks( " idMath::FtoiFast()", NUMTESTS, bestClocks );
+
+ bestClocks = 0;
+ tst = rnd.CRandomFloat() * 5000.0f + 5000.0f;
+ for ( i = 0; i < NUMTESTS; i++ ) {
+ StartRecordTime( start );
+ for ( j = 0; j < NUMTESTS; j++ ) {
+ tmp = idMath::FtouiFast( tst );
+ }
+ StopRecordTime( end );
+ GetBest( start, end, bestClocks );
+ tst = rnd.CRandomFloat() * 5000.0f + 5000.0f;
+ }
+ PrintClocks( " idMath::FtouiFast()", NUMTESTS, bestClocks );
}
/*
@@ -3903,7 +3932,7 @@
p_generic = generic;
-#if 0
+#if 1
//patrick : running timing test
TIME_TYPE s1,s2, best;
best = 0;
@@ -3967,8 +3996,9 @@
idLib::common->Printf( "using %s for SIMD processing\n", p_simd->GetName() );
GetBaseClocks();
-#if 1
TestMath();
+#if 0
+ TestMath();
TestAdd();
TestSub();
TestMul();

View File

@@ -0,0 +1,527 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
8125B8820912BA6000492E1F /* ogg.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B83F0912BA6000492E1F /* ogg.h */; };
8125B8830912BA6000492E1F /* os_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8400912BA6000492E1F /* os_types.h */; };
8125B8840912BA6000492E1F /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8430912BA6000492E1F /* framing.c */; };
8125B8850912BA6000492E1F /* bitwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8440912BA6000492E1F /* bitwise.c */; };
8125B8860912BA6000492E1F /* floor_all.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8470912BA6000492E1F /* floor_all.h */; };
8125B8870912BA6000492E1F /* psych_11.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8480912BA6000492E1F /* psych_11.h */; };
8125B8880912BA6000492E1F /* psych_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8490912BA6000492E1F /* psych_16.h */; };
8125B8890912BA6000492E1F /* psych_44.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84A0912BA6000492E1F /* psych_44.h */; };
8125B88A0912BA6000492E1F /* psych_8.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84B0912BA6000492E1F /* psych_8.h */; };
8125B88B0912BA6000492E1F /* residue_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84C0912BA6000492E1F /* residue_16.h */; };
8125B88C0912BA6000492E1F /* residue_44.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84D0912BA6000492E1F /* residue_44.h */; };
8125B88D0912BA6000492E1F /* residue_44u.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84E0912BA6000492E1F /* residue_44u.h */; };
8125B88E0912BA6000492E1F /* residue_8.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B84F0912BA6000492E1F /* residue_8.h */; };
8125B88F0912BA6000492E1F /* setup_11.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8500912BA6000492E1F /* setup_11.h */; };
8125B8900912BA6000492E1F /* setup_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8510912BA6000492E1F /* setup_16.h */; };
8125B8910912BA6000492E1F /* setup_22.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8520912BA6000492E1F /* setup_22.h */; };
8125B8920912BA6000492E1F /* setup_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8530912BA6000492E1F /* setup_32.h */; };
8125B8930912BA6000492E1F /* setup_44.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8540912BA6000492E1F /* setup_44.h */; };
8125B8940912BA6000492E1F /* setup_44u.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8550912BA6000492E1F /* setup_44u.h */; };
8125B8950912BA6000492E1F /* setup_8.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8560912BA6000492E1F /* setup_8.h */; };
8125B8960912BA6000492E1F /* setup_X.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8570912BA6000492E1F /* setup_X.h */; };
8125B8970912BA6000492E1F /* analysis.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8580912BA6000492E1F /* analysis.c */; };
8125B8980912BA6000492E1F /* backends.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8590912BA6000492E1F /* backends.h */; };
8125B8990912BA6000492E1F /* bitrate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B85A0912BA6000492E1F /* bitrate.c */; };
8125B89A0912BA6000492E1F /* bitrate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B85B0912BA6000492E1F /* bitrate.h */; };
8125B89B0912BA6000492E1F /* block.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B85C0912BA6000492E1F /* block.c */; };
8125B89C0912BA6000492E1F /* codebook.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B85D0912BA6000492E1F /* codebook.c */; };
8125B89D0912BA6000492E1F /* codebook.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B85E0912BA6000492E1F /* codebook.h */; };
8125B89E0912BA6000492E1F /* codec_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B85F0912BA6000492E1F /* codec_internal.h */; };
8125B89F0912BA6000492E1F /* envelope.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8600912BA6000492E1F /* envelope.c */; };
8125B8A00912BA6000492E1F /* envelope.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8610912BA6000492E1F /* envelope.h */; };
8125B8A10912BA6000492E1F /* floor0.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8620912BA6000492E1F /* floor0.c */; };
8125B8A20912BA6000492E1F /* floor1.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8630912BA6000492E1F /* floor1.c */; };
8125B8A30912BA6000492E1F /* highlevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8640912BA6000492E1F /* highlevel.h */; };
8125B8A40912BA6000492E1F /* info.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8650912BA6000492E1F /* info.c */; };
8125B8A50912BA6000492E1F /* lookup.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8660912BA6000492E1F /* lookup.c */; };
8125B8A60912BA6000492E1F /* lookup.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8670912BA6000492E1F /* lookup.h */; };
8125B8A70912BA6000492E1F /* lookup_data.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8680912BA6000492E1F /* lookup_data.h */; };
8125B8A80912BA6000492E1F /* lpc.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B86A0912BA6000492E1F /* lpc.c */; };
8125B8A90912BA6000492E1F /* lpc.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B86B0912BA6000492E1F /* lpc.h */; };
8125B8AA0912BA6000492E1F /* lsp.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B86C0912BA6000492E1F /* lsp.c */; };
8125B8AB0912BA6000492E1F /* lsp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B86D0912BA6000492E1F /* lsp.h */; };
8125B8AC0912BA6000492E1F /* mapping0.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B86E0912BA6000492E1F /* mapping0.c */; };
8125B8AD0912BA6000492E1F /* masking.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B86F0912BA6000492E1F /* masking.h */; };
8125B8AE0912BA6000492E1F /* mdct.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8700912BA6000492E1F /* mdct.c */; };
8125B8AF0912BA6000492E1F /* mdct.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8710912BA6000492E1F /* mdct.h */; };
8125B8B00912BA6000492E1F /* misc.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8720912BA6000492E1F /* misc.h */; };
8125B8B10912BA6000492E1F /* os.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8730912BA6000492E1F /* os.h */; };
8125B8B20912BA6000492E1F /* psy.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8740912BA6000492E1F /* psy.c */; };
8125B8B30912BA6000492E1F /* psy.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8750912BA6000492E1F /* psy.h */; };
8125B8B40912BA6000492E1F /* registry.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8760912BA6000492E1F /* registry.c */; };
8125B8B50912BA6000492E1F /* registry.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8770912BA6000492E1F /* registry.h */; };
8125B8B60912BA6000492E1F /* res0.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8780912BA6000492E1F /* res0.c */; };
8125B8B70912BA6000492E1F /* scales.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8790912BA6000492E1F /* scales.h */; };
8125B8B80912BA6000492E1F /* sharedbook.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B87A0912BA6000492E1F /* sharedbook.c */; };
8125B8B90912BA6000492E1F /* smallft.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B87B0912BA6000492E1F /* smallft.c */; };
8125B8BA0912BA6000492E1F /* smallft.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B87C0912BA6000492E1F /* smallft.h */; };
8125B8BB0912BA6000492E1F /* synthesis.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B87D0912BA6000492E1F /* synthesis.c */; };
8125B8BC0912BA6000492E1F /* vorbisenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B87E0912BA6000492E1F /* vorbisenc.c */; };
8125B8BD0912BA6000492E1F /* vorbisfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B87F0912BA6000492E1F /* vorbisfile.c */; };
8125B8BE0912BA6000492E1F /* window.h in Headers */ = {isa = PBXBuildFile; fileRef = 8125B8800912BA6000492E1F /* window.h */; };
8125B8BF0912BA6000492E1F /* windowvb.c in Sources */ = {isa = PBXBuildFile; fileRef = 8125B8810912BA6000492E1F /* windowvb.c */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
8125B83C0912BA6000492E1F /* AUTHORS */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = AUTHORS; sourceTree = "<group>"; };
8125B83D0912BA6000492E1F /* config_types.h.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = config_types.h.in; sourceTree = "<group>"; };
8125B83E0912BA6000492E1F /* COPYING */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = COPYING; sourceTree = "<group>"; };
8125B83F0912BA6000492E1F /* ogg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ogg.h; sourceTree = "<group>"; };
8125B8400912BA6000492E1F /* os_types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = os_types.h; sourceTree = "<group>"; };
8125B8410912BA6000492E1F /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
8125B8430912BA6000492E1F /* framing.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = framing.c; sourceTree = "<group>"; };
8125B8440912BA6000492E1F /* bitwise.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = bitwise.c; sourceTree = "<group>"; };
8125B8470912BA6000492E1F /* floor_all.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = floor_all.h; sourceTree = "<group>"; };
8125B8480912BA6000492E1F /* psych_11.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = psych_11.h; sourceTree = "<group>"; };
8125B8490912BA6000492E1F /* psych_16.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = psych_16.h; sourceTree = "<group>"; };
8125B84A0912BA6000492E1F /* psych_44.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = psych_44.h; sourceTree = "<group>"; };
8125B84B0912BA6000492E1F /* psych_8.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = psych_8.h; sourceTree = "<group>"; };
8125B84C0912BA6000492E1F /* residue_16.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = residue_16.h; sourceTree = "<group>"; };
8125B84D0912BA6000492E1F /* residue_44.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = residue_44.h; sourceTree = "<group>"; };
8125B84E0912BA6000492E1F /* residue_44u.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = residue_44u.h; sourceTree = "<group>"; };
8125B84F0912BA6000492E1F /* residue_8.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = residue_8.h; sourceTree = "<group>"; };
8125B8500912BA6000492E1F /* setup_11.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_11.h; sourceTree = "<group>"; };
8125B8510912BA6000492E1F /* setup_16.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_16.h; sourceTree = "<group>"; };
8125B8520912BA6000492E1F /* setup_22.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_22.h; sourceTree = "<group>"; };
8125B8530912BA6000492E1F /* setup_32.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_32.h; sourceTree = "<group>"; };
8125B8540912BA6000492E1F /* setup_44.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_44.h; sourceTree = "<group>"; };
8125B8550912BA6000492E1F /* setup_44u.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_44u.h; sourceTree = "<group>"; };
8125B8560912BA6000492E1F /* setup_8.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_8.h; sourceTree = "<group>"; };
8125B8570912BA6000492E1F /* setup_X.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = setup_X.h; sourceTree = "<group>"; };
8125B8580912BA6000492E1F /* analysis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = analysis.c; sourceTree = "<group>"; };
8125B8590912BA6000492E1F /* backends.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = backends.h; sourceTree = "<group>"; };
8125B85A0912BA6000492E1F /* bitrate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = bitrate.c; sourceTree = "<group>"; };
8125B85B0912BA6000492E1F /* bitrate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = bitrate.h; sourceTree = "<group>"; };
8125B85C0912BA6000492E1F /* block.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = block.c; sourceTree = "<group>"; };
8125B85D0912BA6000492E1F /* codebook.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = codebook.c; sourceTree = "<group>"; };
8125B85E0912BA6000492E1F /* codebook.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = codebook.h; sourceTree = "<group>"; };
8125B85F0912BA6000492E1F /* codec_internal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = codec_internal.h; sourceTree = "<group>"; };
8125B8600912BA6000492E1F /* envelope.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = envelope.c; sourceTree = "<group>"; };
8125B8610912BA6000492E1F /* envelope.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = envelope.h; sourceTree = "<group>"; };
8125B8620912BA6000492E1F /* floor0.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = floor0.c; sourceTree = "<group>"; };
8125B8630912BA6000492E1F /* floor1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = floor1.c; sourceTree = "<group>"; };
8125B8640912BA6000492E1F /* highlevel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = highlevel.h; sourceTree = "<group>"; };
8125B8650912BA6000492E1F /* info.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = info.c; sourceTree = "<group>"; };
8125B8660912BA6000492E1F /* lookup.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = lookup.c; sourceTree = "<group>"; };
8125B8670912BA6000492E1F /* lookup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = lookup.h; sourceTree = "<group>"; };
8125B8680912BA6000492E1F /* lookup_data.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = lookup_data.h; sourceTree = "<group>"; };
8125B8690912BA6000492E1F /* lookups.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = lookups.pl; sourceTree = "<group>"; };
8125B86A0912BA6000492E1F /* lpc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = lpc.c; sourceTree = "<group>"; };
8125B86B0912BA6000492E1F /* lpc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = lpc.h; sourceTree = "<group>"; };
8125B86C0912BA6000492E1F /* lsp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = lsp.c; sourceTree = "<group>"; };
8125B86D0912BA6000492E1F /* lsp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = lsp.h; sourceTree = "<group>"; };
8125B86E0912BA6000492E1F /* mapping0.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mapping0.c; sourceTree = "<group>"; };
8125B86F0912BA6000492E1F /* masking.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = masking.h; sourceTree = "<group>"; };
8125B8700912BA6000492E1F /* mdct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = mdct.c; sourceTree = "<group>"; };
8125B8710912BA6000492E1F /* mdct.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = mdct.h; sourceTree = "<group>"; };
8125B8720912BA6000492E1F /* misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = misc.h; sourceTree = "<group>"; };
8125B8730912BA6000492E1F /* os.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = os.h; sourceTree = "<group>"; };
8125B8740912BA6000492E1F /* psy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = psy.c; sourceTree = "<group>"; };
8125B8750912BA6000492E1F /* psy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = psy.h; sourceTree = "<group>"; };
8125B8760912BA6000492E1F /* registry.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = registry.c; sourceTree = "<group>"; };
8125B8770912BA6000492E1F /* registry.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = registry.h; sourceTree = "<group>"; };
8125B8780912BA6000492E1F /* res0.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = res0.c; sourceTree = "<group>"; };
8125B8790912BA6000492E1F /* scales.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = scales.h; sourceTree = "<group>"; };
8125B87A0912BA6000492E1F /* sharedbook.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = sharedbook.c; sourceTree = "<group>"; };
8125B87B0912BA6000492E1F /* smallft.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = smallft.c; sourceTree = "<group>"; };
8125B87C0912BA6000492E1F /* smallft.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = smallft.h; sourceTree = "<group>"; };
8125B87D0912BA6000492E1F /* synthesis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = synthesis.c; sourceTree = "<group>"; };
8125B87E0912BA6000492E1F /* vorbisenc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vorbisenc.c; sourceTree = "<group>"; };
8125B87F0912BA6000492E1F /* vorbisfile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = vorbisfile.c; sourceTree = "<group>"; };
8125B8800912BA6000492E1F /* window.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = window.h; sourceTree = "<group>"; };
8125B8810912BA6000492E1F /* windowvb.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = windowvb.c; sourceTree = "<group>"; };
D2AAC046055464E500DB518D /* liboggVorbis_nopic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liboggVorbis_nopic.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D289987405E68DCB004EDB86 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* oggVorbis */ = {
isa = PBXGroup;
children = (
08FB7795FE84155DC02AAC07 /* Source */,
1AB674ADFE9D54B511CA2CBB /* Products */,
);
name = oggVorbis;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
8125B83B0912BA6000492E1F /* ogg */,
8125B8420912BA6000492E1F /* oggsrc */,
8125B8450912BA6000492E1F /* vorbissrc */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
D2AAC046055464E500DB518D /* liboggVorbis_nopic.a */,
);
name = Products;
sourceTree = "<group>";
};
8125B83B0912BA6000492E1F /* ogg */ = {
isa = PBXGroup;
children = (
8125B83C0912BA6000492E1F /* AUTHORS */,
8125B83D0912BA6000492E1F /* config_types.h.in */,
8125B83E0912BA6000492E1F /* COPYING */,
8125B83F0912BA6000492E1F /* ogg.h */,
8125B8400912BA6000492E1F /* os_types.h */,
8125B8410912BA6000492E1F /* README */,
);
name = ogg;
path = ../../sound/OggVorbis/ogg;
sourceTree = SOURCE_ROOT;
};
8125B8420912BA6000492E1F /* oggsrc */ = {
isa = PBXGroup;
children = (
8125B8430912BA6000492E1F /* framing.c */,
8125B8440912BA6000492E1F /* bitwise.c */,
);
name = oggsrc;
path = ../../sound/OggVorbis/oggsrc;
sourceTree = SOURCE_ROOT;
};
8125B8450912BA6000492E1F /* vorbissrc */ = {
isa = PBXGroup;
children = (
8125B8460912BA6000492E1F /* modes */,
8125B8580912BA6000492E1F /* analysis.c */,
8125B8590912BA6000492E1F /* backends.h */,
8125B85A0912BA6000492E1F /* bitrate.c */,
8125B85B0912BA6000492E1F /* bitrate.h */,
8125B85C0912BA6000492E1F /* block.c */,
8125B85D0912BA6000492E1F /* codebook.c */,
8125B85E0912BA6000492E1F /* codebook.h */,
8125B85F0912BA6000492E1F /* codec_internal.h */,
8125B8600912BA6000492E1F /* envelope.c */,
8125B8610912BA6000492E1F /* envelope.h */,
8125B8620912BA6000492E1F /* floor0.c */,
8125B8630912BA6000492E1F /* floor1.c */,
8125B8640912BA6000492E1F /* highlevel.h */,
8125B8650912BA6000492E1F /* info.c */,
8125B8660912BA6000492E1F /* lookup.c */,
8125B8670912BA6000492E1F /* lookup.h */,
8125B8680912BA6000492E1F /* lookup_data.h */,
8125B8690912BA6000492E1F /* lookups.pl */,
8125B86A0912BA6000492E1F /* lpc.c */,
8125B86B0912BA6000492E1F /* lpc.h */,
8125B86C0912BA6000492E1F /* lsp.c */,
8125B86D0912BA6000492E1F /* lsp.h */,
8125B86E0912BA6000492E1F /* mapping0.c */,
8125B86F0912BA6000492E1F /* masking.h */,
8125B8700912BA6000492E1F /* mdct.c */,
8125B8710912BA6000492E1F /* mdct.h */,
8125B8720912BA6000492E1F /* misc.h */,
8125B8730912BA6000492E1F /* os.h */,
8125B8740912BA6000492E1F /* psy.c */,
8125B8750912BA6000492E1F /* psy.h */,
8125B8760912BA6000492E1F /* registry.c */,
8125B8770912BA6000492E1F /* registry.h */,
8125B8780912BA6000492E1F /* res0.c */,
8125B8790912BA6000492E1F /* scales.h */,
8125B87A0912BA6000492E1F /* sharedbook.c */,
8125B87B0912BA6000492E1F /* smallft.c */,
8125B87C0912BA6000492E1F /* smallft.h */,
8125B87D0912BA6000492E1F /* synthesis.c */,
8125B87E0912BA6000492E1F /* vorbisenc.c */,
8125B87F0912BA6000492E1F /* vorbisfile.c */,
8125B8800912BA6000492E1F /* window.h */,
8125B8810912BA6000492E1F /* windowvb.c */,
);
name = vorbissrc;
path = ../../sound/OggVorbis/vorbissrc;
sourceTree = SOURCE_ROOT;
};
8125B8460912BA6000492E1F /* modes */ = {
isa = PBXGroup;
children = (
8125B8470912BA6000492E1F /* floor_all.h */,
8125B8480912BA6000492E1F /* psych_11.h */,
8125B8490912BA6000492E1F /* psych_16.h */,
8125B84A0912BA6000492E1F /* psych_44.h */,
8125B84B0912BA6000492E1F /* psych_8.h */,
8125B84C0912BA6000492E1F /* residue_16.h */,
8125B84D0912BA6000492E1F /* residue_44.h */,
8125B84E0912BA6000492E1F /* residue_44u.h */,
8125B84F0912BA6000492E1F /* residue_8.h */,
8125B8500912BA6000492E1F /* setup_11.h */,
8125B8510912BA6000492E1F /* setup_16.h */,
8125B8520912BA6000492E1F /* setup_22.h */,
8125B8530912BA6000492E1F /* setup_32.h */,
8125B8540912BA6000492E1F /* setup_44.h */,
8125B8550912BA6000492E1F /* setup_44u.h */,
8125B8560912BA6000492E1F /* setup_8.h */,
8125B8570912BA6000492E1F /* setup_X.h */,
);
path = modes;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
D2AAC043055464E500DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8125B8820912BA6000492E1F /* ogg.h in Headers */,
8125B8830912BA6000492E1F /* os_types.h in Headers */,
8125B8860912BA6000492E1F /* floor_all.h in Headers */,
8125B8870912BA6000492E1F /* psych_11.h in Headers */,
8125B8880912BA6000492E1F /* psych_16.h in Headers */,
8125B8890912BA6000492E1F /* psych_44.h in Headers */,
8125B88A0912BA6000492E1F /* psych_8.h in Headers */,
8125B88B0912BA6000492E1F /* residue_16.h in Headers */,
8125B88C0912BA6000492E1F /* residue_44.h in Headers */,
8125B88D0912BA6000492E1F /* residue_44u.h in Headers */,
8125B88E0912BA6000492E1F /* residue_8.h in Headers */,
8125B88F0912BA6000492E1F /* setup_11.h in Headers */,
8125B8900912BA6000492E1F /* setup_16.h in Headers */,
8125B8910912BA6000492E1F /* setup_22.h in Headers */,
8125B8920912BA6000492E1F /* setup_32.h in Headers */,
8125B8930912BA6000492E1F /* setup_44.h in Headers */,
8125B8940912BA6000492E1F /* setup_44u.h in Headers */,
8125B8950912BA6000492E1F /* setup_8.h in Headers */,
8125B8960912BA6000492E1F /* setup_X.h in Headers */,
8125B8980912BA6000492E1F /* backends.h in Headers */,
8125B89A0912BA6000492E1F /* bitrate.h in Headers */,
8125B89D0912BA6000492E1F /* codebook.h in Headers */,
8125B89E0912BA6000492E1F /* codec_internal.h in Headers */,
8125B8A00912BA6000492E1F /* envelope.h in Headers */,
8125B8A30912BA6000492E1F /* highlevel.h in Headers */,
8125B8A60912BA6000492E1F /* lookup.h in Headers */,
8125B8A70912BA6000492E1F /* lookup_data.h in Headers */,
8125B8A90912BA6000492E1F /* lpc.h in Headers */,
8125B8AB0912BA6000492E1F /* lsp.h in Headers */,
8125B8AD0912BA6000492E1F /* masking.h in Headers */,
8125B8AF0912BA6000492E1F /* mdct.h in Headers */,
8125B8B00912BA6000492E1F /* misc.h in Headers */,
8125B8B10912BA6000492E1F /* os.h in Headers */,
8125B8B30912BA6000492E1F /* psy.h in Headers */,
8125B8B50912BA6000492E1F /* registry.h in Headers */,
8125B8B70912BA6000492E1F /* scales.h in Headers */,
8125B8BA0912BA6000492E1F /* smallft.h in Headers */,
8125B8BE0912BA6000492E1F /* window.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
D2AAC045055464E500DB518D /* oggVorbis_nopic */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8125B8310912BA3100492E1F /* Build configuration list for PBXNativeTarget "oggVorbis_nopic" */;
buildPhases = (
D2AAC043055464E500DB518D /* Headers */,
D2AAC044055464E500DB518D /* Sources */,
D289987405E68DCB004EDB86 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = oggVorbis_nopic;
productName = oggVorbis;
productReference = D2AAC046055464E500DB518D /* liboggVorbis_nopic.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
ORGANIZATIONNAME = "id Software LLC";
};
buildConfigurationList = 8125B8350912BA3100492E1F /* Build configuration list for PBXProject "oggVorbis" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* oggVorbis */;
projectDirPath = "";
projectRoot = "";
targets = (
D2AAC045055464E500DB518D /* oggVorbis_nopic */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
D2AAC044055464E500DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8125B8840912BA6000492E1F /* framing.c in Sources */,
8125B8850912BA6000492E1F /* bitwise.c in Sources */,
8125B8970912BA6000492E1F /* analysis.c in Sources */,
8125B8990912BA6000492E1F /* bitrate.c in Sources */,
8125B89B0912BA6000492E1F /* block.c in Sources */,
8125B89C0912BA6000492E1F /* codebook.c in Sources */,
8125B89F0912BA6000492E1F /* envelope.c in Sources */,
8125B8A10912BA6000492E1F /* floor0.c in Sources */,
8125B8A20912BA6000492E1F /* floor1.c in Sources */,
8125B8A40912BA6000492E1F /* info.c in Sources */,
8125B8A50912BA6000492E1F /* lookup.c in Sources */,
8125B8A80912BA6000492E1F /* lpc.c in Sources */,
8125B8AA0912BA6000492E1F /* lsp.c in Sources */,
8125B8AC0912BA6000492E1F /* mapping0.c in Sources */,
8125B8AE0912BA6000492E1F /* mdct.c in Sources */,
8125B8B20912BA6000492E1F /* psy.c in Sources */,
8125B8B40912BA6000492E1F /* registry.c in Sources */,
8125B8B60912BA6000492E1F /* res0.c in Sources */,
8125B8B80912BA6000492E1F /* sharedbook.c in Sources */,
8125B8B90912BA6000492E1F /* smallft.c in Sources */,
8125B8BB0912BA6000492E1F /* synthesis.c in Sources */,
8125B8BC0912BA6000492E1F /* vorbisenc.c in Sources */,
8125B8BD0912BA6000492E1F /* vorbisfile.c in Sources */,
8125B8BF0912BA6000492E1F /* windowvb.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
8125B8320912BA3100492E1F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_TUNING = G5;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INSTALL_PATH = /usr/local/lib;
LIBRARY_STYLE = STATIC;
PREBINDING = NO;
PRODUCT_NAME = oggVorbis_nopic;
ZERO_LINK = YES;
};
name = Debug;
};
8125B8330912BA3100492E1F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
COPY_PHASE_STRIP = YES;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
LIBRARY_STYLE = STATIC;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
"-fomit-frame-pointer",
"-fno-common",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
);
PREBINDING = NO;
PRODUCT_NAME = oggVorbis_nopic;
SYMROOT = build;
ZERO_LINK = NO;
};
name = Release;
};
8125B8360912BA3100492E1F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_DYNAMIC_NO_PIC = YES;
GCC_MODEL_TUNING = "";
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 1;
HEADER_SEARCH_PATHS = ../../sound/OggVorbis/vorbissrc/;
MACOSX_DEPLOYMENT_TARGET = 10.5;
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Debug;
};
8125B8370912BA3100492E1F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_DYNAMIC_NO_PIC = YES;
GCC_MODEL_TUNING = "";
GCC_ONE_BYTE_BOOL = YES;
GCC_OPTIMIZATION_LEVEL = 3;
HEADER_SEARCH_PATHS = ../../sound/OggVorbis/vorbissrc/;
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-finline",
"-finline-limit=1000",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-fpermissive",
"-fomit-frame-pointer",
"-fno-common",
);
SDKROOT = macosx10.5;
VALID_ARCHS = i386;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
8125B8310912BA3100492E1F /* Build configuration list for PBXNativeTarget "oggVorbis_nopic" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8125B8320912BA3100492E1F /* Debug */,
8125B8330912BA3100492E1F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
8125B8350912BA3100492E1F /* Build configuration list for PBXProject "oggVorbis" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8125B8360912BA3100492E1F /* Debug */,
8125B8370912BA3100492E1F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

BIN
neo/sys/osx/showcursor Normal file

Binary file not shown.

54
neo/sys/osx/showcursor.c Normal file
View File

@@ -0,0 +1,54 @@
/*
cc -o showcursor showcursor.c -framework IOKit
*/
#include <IOKit/IOKitLib.h>
#include <IOKit/hidsystem/IOHIDShared.h>
#include <assert.h>
mach_port_t masterPort;
io_connect_t OpenEventDriver( void )
{
register kern_return_t kr;
mach_port_t ev, service, iter;
kr = IOServiceGetMatchingServices( masterPort, IOServiceMatching( kIOHIDSystemClass ), &iter);
assert( KERN_SUCCESS == kr);
service = IOIteratorNext( iter );
assert(service);
kr = IOServiceOpen( service, mach_task_self(), kIOHIDParamConnectType, &ev);
assert( KERN_SUCCESS == kr );
IOObjectRelease( service );
IOObjectRelease( iter );
return( ev );
}
void TestParams( io_connect_t ev, boolean_t show )
{
kern_return_t kr;
kr = IOHIDSetCursorEnable( ev, show );
assert(KERN_SUCCESS == kr);
}
int main(int argc, char **argv)
{
kern_return_t kr;
boolean_t show;
if (argc != 2)
show = 1;
else
show = (atoi(argv[0]) != 0);
assert( KERN_SUCCESS == ( kr = IOMasterPort( bootstrap_port, &masterPort) ));
TestParams( OpenEventDriver(), show);
return( 0 );
}

16
neo/sys/osx/version.plist Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>0.1</string>
<key>CFBundleVersion</key>
<string>0.1</string>
<key>ProjectName</key>
<string>NibPBTemplates</string>
<key>SourceVersion</key>
<string>1160200</string>
</dict>
</plist>