Moved build to premake4
- moved build to premake4 - fixed compiler warnings - increased pool size to fit 64bit ptrs
This commit is contained in:
parent
5bd9845365
commit
a43504d78a
25 changed files with 148 additions and 5336 deletions
27
.gitignore
vendored
27
.gitignore
vendored
|
@ -1 +1,28 @@
|
||||||
|
## Compiled source #
|
||||||
|
*.com
|
||||||
|
*.class
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
*.o
|
||||||
|
*.so
|
||||||
|
test
|
||||||
|
|
||||||
|
## Logs and databases #
|
||||||
|
*.log
|
||||||
|
*.sql
|
||||||
|
*.sqlite
|
||||||
|
|
||||||
|
## OS generated files #
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
## Build dir
|
||||||
|
Build/*
|
||||||
|
|
||||||
|
## xcode specific
|
||||||
|
*xcuserdata*
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
|
||||||
# Visual C++ Express 2008
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtess2", "libtess2.vcproj", "{54B96EEE-1E45-4A06-9A01-C3218F0A8358}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{54B96EEE-1E45-4A06-9A01-C3218F0A8358}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{54B96EEE-1E45-4A06-9A01-C3218F0A8358}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{54B96EEE-1E45-4A06-9A01-C3218F0A8358}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{54B96EEE-1E45-4A06-9A01-C3218F0A8358}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
Binary file not shown.
|
@ -1,267 +0,0 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="libtess2"
|
|
||||||
ProjectGUID="{54B96EEE-1E45-4A06-9A01-C3218F0A8358}"
|
|
||||||
RootNamespace="libtess2"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="196613"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="..\..\Bin"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\Include;..\..\Example;..\..\Contrib\SDL\include;..\..\Contrib"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="SDL.lib SDLmain.lib opengl32.lib"
|
|
||||||
LinkIncremental="2"
|
|
||||||
AdditionalLibraryDirectories="..\..\Contrib\SDL\lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="..\..\Bin"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
AdditionalIncludeDirectories="..\..\Include;..\..\Example;..\..\Contrib\SDL\include;..\..\Contrib"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="SDL.lib SDLmain.lib opengl32.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories="..\..\Contrib\SDL\lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\bucketalloc.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\dict.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\geom.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Example\main.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\mesh.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Contrib\nanosvg.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\priorityq.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\sweep.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\tess.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\bucketalloc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\dict.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\geom.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\mesh.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Contrib\nanosvg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\priorityq.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\sweep.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Source\tess.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\Include\tesselator.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
Binary file not shown.
19
Build/Xcode/English.lproj/SDLMain.nib/classes.nib
generated
19
Build/Xcode/English.lproj/SDLMain.nib/classes.nib
generated
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
IBClasses = (
|
|
||||||
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
|
|
||||||
{
|
|
||||||
ACTIONS = {
|
|
||||||
help = id;
|
|
||||||
newGame = id;
|
|
||||||
openGame = id;
|
|
||||||
prefsMenu = id;
|
|
||||||
saveGame = id;
|
|
||||||
saveGameAs = id;
|
|
||||||
};
|
|
||||||
CLASS = SDLMain;
|
|
||||||
LANGUAGE = ObjC;
|
|
||||||
SUPERCLASS = NSObject;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
IBVersion = 1;
|
|
||||||
}
|
|
21
Build/Xcode/English.lproj/SDLMain.nib/info.nib
generated
21
Build/Xcode/English.lproj/SDLMain.nib/info.nib
generated
|
@ -1,21 +0,0 @@
|
||||||
<?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>62 117 356 240 0 0 1152 848 </string>
|
|
||||||
<key>IBEditorPositions</key>
|
|
||||||
<dict>
|
|
||||||
<key>29</key>
|
|
||||||
<string>62 362 195 44 0 0 1152 848 </string>
|
|
||||||
</dict>
|
|
||||||
<key>IBFramework Version</key>
|
|
||||||
<string>291.0</string>
|
|
||||||
<key>IBOpenObjects</key>
|
|
||||||
<array>
|
|
||||||
<integer>29</integer>
|
|
||||||
</array>
|
|
||||||
<key>IBSystem Version</key>
|
|
||||||
<string>6L60</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
BIN
Build/Xcode/English.lproj/SDLMain.nib/objects.nib
generated
BIN
Build/Xcode/English.lproj/SDLMain.nib/objects.nib
generated
Binary file not shown.
|
@ -1,28 +0,0 @@
|
||||||
<?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>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
|
||||||
<key>CFBundleIconFile</key>
|
|
||||||
<string></string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.yourcompany.libtess2</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>${PRODUCT_NAME}</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>APPL</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>NSMainNibFile</key>
|
|
||||||
<string>SDLMain</string>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string>NSApplication</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
|
@ -1,348 +0,0 @@
|
||||||
// !$*UTF8*$!
|
|
||||||
{
|
|
||||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
|
||||||
activeBuildConfigurationName = Debug;
|
|
||||||
activeExecutable = 6B58CAF4101992A200956BA2 /* libtess2 */;
|
|
||||||
activeTarget = 8D1107260486CEB800E47090 /* libtess2 */;
|
|
||||||
addToTargets = (
|
|
||||||
8D1107260486CEB800E47090 /* libtess2 */,
|
|
||||||
);
|
|
||||||
breakpoints = (
|
|
||||||
);
|
|
||||||
codeSenseManager = 6B58CB07101992A800956BA2 /* Code sense */;
|
|
||||||
executables = (
|
|
||||||
6B58CAF4101992A200956BA2 /* libtess2 */,
|
|
||||||
);
|
|
||||||
perUserDictionary = {
|
|
||||||
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
|
||||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
|
||||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
|
||||||
PBXFileTableDataSourceColumnWidthsKey = (
|
|
||||||
20,
|
|
||||||
646,
|
|
||||||
20,
|
|
||||||
48,
|
|
||||||
43,
|
|
||||||
43,
|
|
||||||
20,
|
|
||||||
);
|
|
||||||
PBXFileTableDataSourceColumnsKey = (
|
|
||||||
PBXFileDataSource_FiletypeID,
|
|
||||||
PBXFileDataSource_Filename_ColumnID,
|
|
||||||
PBXFileDataSource_Built_ColumnID,
|
|
||||||
PBXFileDataSource_ObjectSize_ColumnID,
|
|
||||||
PBXFileDataSource_Errors_ColumnID,
|
|
||||||
PBXFileDataSource_Warnings_ColumnID,
|
|
||||||
PBXFileDataSource_Target_ColumnID,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
PBXPerProjectTemplateStateSaveDate = 305475119;
|
|
||||||
PBXWorkspaceStateSaveDate = 305475119;
|
|
||||||
};
|
|
||||||
perUserProjectItems = {
|
|
||||||
6B33E35F1235077800141A9B = 6B33E35F1235077800141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E3621235299900141A9B = 6B33E3621235299900141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E3641235299900141A9B = 6B33E3641235299900141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E36C12352A0A00141A9B = 6B33E36C12352A0A00141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E36E12352BF000141A9B = 6B33E36E12352BF000141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E36F12352BF000141A9B = 6B33E36F12352BF000141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E37012352BF000141A9B = 6B33E37012352BF000141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E37412352C6900141A9B = 6B33E37412352C6900141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E37512352C6900141A9B = 6B33E37512352C6900141A9B /* PBXTextBookmark */;
|
|
||||||
6B33E38312352D0F00141A9B = 6B33E38312352D0F00141A9B /* PBXTextBookmark */;
|
|
||||||
};
|
|
||||||
sourceControlManager = 6B58CB06101992A800956BA2 /* Source Control */;
|
|
||||||
userBuildSettings = {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B33E35F1235077800141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB091019935200956BA2 /* main.c */;
|
|
||||||
name = "main.c: 13";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 217;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 658;
|
|
||||||
vrLoc = 746;
|
|
||||||
};
|
|
||||||
6B33E3621235299900141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B33E3631235299900141A9B /* isomesher_dc.h */;
|
|
||||||
name = "isomesher_dc.h: 54";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 1157;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 774;
|
|
||||||
vrLoc = 655;
|
|
||||||
};
|
|
||||||
6B33E3631235299900141A9B /* isomesher_dc.h */ = {
|
|
||||||
isa = PBXFileReference;
|
|
||||||
lastKnownFileType = sourcecode.c.h;
|
|
||||||
name = isomesher_dc.h;
|
|
||||||
path = /Users/memon/Downloads/isosurf/threed/isomesher_dc.h;
|
|
||||||
sourceTree = "<absolute>";
|
|
||||||
};
|
|
||||||
6B33E3641235299900141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B33E3651235299900141A9B /* isomesher_dc.cpp */;
|
|
||||||
name = "isomesher_dc.cpp: 22";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 644;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1385;
|
|
||||||
vrLoc = 0;
|
|
||||||
};
|
|
||||||
6B33E3651235299900141A9B /* isomesher_dc.cpp */ = {
|
|
||||||
isa = PBXFileReference;
|
|
||||||
lastKnownFileType = sourcecode.cpp.cpp;
|
|
||||||
name = isomesher_dc.cpp;
|
|
||||||
path = /Users/memon/Downloads/isosurf/threed/isomesher_dc.cpp;
|
|
||||||
sourceTree = "<absolute>";
|
|
||||||
};
|
|
||||||
6B33E36C12352A0A00141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB4B1019948500956BA2 /* geom.h */;
|
|
||||||
name = "geom.h: 30";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 1649;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1567;
|
|
||||||
vrLoc = 1806;
|
|
||||||
};
|
|
||||||
6B33E36E12352BF000141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB4D1019948500956BA2 /* mesh.h */;
|
|
||||||
name = "mesh.h: 118";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 5865;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1596;
|
|
||||||
vrLoc = 5310;
|
|
||||||
};
|
|
||||||
6B33E36F12352BF000141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB501019948500956BA2 /* sweep.c */;
|
|
||||||
name = "sweep.c: 440";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 14876;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1366;
|
|
||||||
vrLoc = 13947;
|
|
||||||
};
|
|
||||||
6B33E37012352BF000141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB531019948500956BA2 /* tess.h */;
|
|
||||||
name = "tess.h: 73";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 2671;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1071;
|
|
||||||
vrLoc = 1824;
|
|
||||||
};
|
|
||||||
6B33E37412352C6900141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB521019948500956BA2 /* tess.c */;
|
|
||||||
name = "tess.c: 959";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 25081;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 643;
|
|
||||||
vrLoc = 24599;
|
|
||||||
};
|
|
||||||
6B33E37512352C6900141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB451019947700956BA2 /* tesselator.h */;
|
|
||||||
name = "tesselator.h: 147";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 6694;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1977;
|
|
||||||
vrLoc = 4911;
|
|
||||||
};
|
|
||||||
6B33E38312352D0F00141A9B /* PBXTextBookmark */ = {
|
|
||||||
isa = PBXTextBookmark;
|
|
||||||
fRef = 6B58CB451019947700956BA2 /* tesselator.h */;
|
|
||||||
name = "tesselator.h: 137";
|
|
||||||
rLen = 0;
|
|
||||||
rLoc = 6164;
|
|
||||||
rType = 0;
|
|
||||||
vrLen = 1837;
|
|
||||||
vrLoc = 5164;
|
|
||||||
};
|
|
||||||
6B58CAF4101992A200956BA2 /* libtess2 */ = {
|
|
||||||
isa = PBXExecutable;
|
|
||||||
activeArgIndices = (
|
|
||||||
);
|
|
||||||
argumentStrings = (
|
|
||||||
);
|
|
||||||
autoAttachOnCrash = 1;
|
|
||||||
breakpointsEnabled = 0;
|
|
||||||
configStateDict = {
|
|
||||||
};
|
|
||||||
customDataFormattersEnabled = 1;
|
|
||||||
dataTipCustomDataFormattersEnabled = 1;
|
|
||||||
dataTipShowTypeColumn = 1;
|
|
||||||
dataTipSortType = 0;
|
|
||||||
debuggerPlugin = GDBDebugging;
|
|
||||||
disassemblyDisplayState = 0;
|
|
||||||
dylibVariantSuffix = "";
|
|
||||||
enableDebugStr = 1;
|
|
||||||
environmentEntries = (
|
|
||||||
);
|
|
||||||
executableSystemSymbolLevel = 0;
|
|
||||||
executableUserSymbolLevel = 0;
|
|
||||||
libgmallocEnabled = 1;
|
|
||||||
name = libtess2;
|
|
||||||
savedGlobals = {
|
|
||||||
};
|
|
||||||
showTypeColumn = 0;
|
|
||||||
sourceDirectories = (
|
|
||||||
);
|
|
||||||
};
|
|
||||||
6B58CB06101992A800956BA2 /* Source Control */ = {
|
|
||||||
isa = PBXSourceControlManager;
|
|
||||||
fallbackIsa = XCSourceControlManager;
|
|
||||||
isSCMEnabled = 0;
|
|
||||||
scmConfiguration = {
|
|
||||||
repositoryNamesForRoots = {
|
|
||||||
"" = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB07101992A800956BA2 /* Code sense */ = {
|
|
||||||
isa = PBXCodeSenseManager;
|
|
||||||
indexTemplatePath = "";
|
|
||||||
};
|
|
||||||
6B58CB091019935200956BA2 /* main.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 4888}}";
|
|
||||||
sepNavSelRange = "{217, 0}";
|
|
||||||
sepNavVisRange = "{746, 658}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB0A1019935200956BA2 /* SDLMain.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 495}}";
|
|
||||||
sepNavSelRange = "{503, 0}";
|
|
||||||
sepNavVisRange = "{0, 503}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB0B1019935200956BA2 /* SDLMain.m */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {901, 5811}}";
|
|
||||||
sepNavSelRange = "{2860, 0}";
|
|
||||||
sepNavVisRange = "{2560, 353}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB451019947700956BA2 /* tesselator.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {922, 2054}}";
|
|
||||||
sepNavSelRange = "{6164, 0}";
|
|
||||||
sepNavVisRange = "{5307, 1694}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB461019948500956BA2 /* bucketalloc.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 2720}}";
|
|
||||||
sepNavSelRange = "{1626, 0}";
|
|
||||||
sepNavVisRange = "{402, 1384}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB471019948500956BA2 /* bucketalloc.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 768}}";
|
|
||||||
sepNavSelRange = "{1626, 0}";
|
|
||||||
sepNavVisRange = "{322, 1384}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB481019948500956BA2 /* dict.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 1504}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{616, 1359}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB491019948500956BA2 /* dict.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 1056}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{241, 1508}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4A1019948500956BA2 /* geom.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 4000}}";
|
|
||||||
sepNavSelRange = "{1649, 0}";
|
|
||||||
sepNavVisRange = "{582, 1291}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4B1019948500956BA2 /* geom.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 1001}}";
|
|
||||||
sepNavSelRange = "{1649, 0}";
|
|
||||||
sepNavVisRange = "{1806, 1567}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4C1019948500956BA2 /* mesh.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 13376}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{241, 1505}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4D1019948500956BA2 /* mesh.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 3432}}";
|
|
||||||
sepNavSelRange = "{5865, 0}";
|
|
||||||
sepNavVisRange = "{5310, 1596}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4E1019948500956BA2 /* priorityq.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 7808}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{572, 1199}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB4F1019948500956BA2 /* priorityq.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 1456}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{322, 1617}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB501019948500956BA2 /* sweep.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 17264}}";
|
|
||||||
sepNavSelRange = "{14876, 0}";
|
|
||||||
sepNavVisRange = "{13947, 1366}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB511019948500956BA2 /* sweep.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {742, 1152}}";
|
|
||||||
sepNavSelRange = "{1620, 0}";
|
|
||||||
sepNavVisRange = "{161, 1588}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB521019948500956BA2 /* tess.c */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 12805}}";
|
|
||||||
sepNavSelRange = "{25081, 0}";
|
|
||||||
sepNavVisRange = "{24599, 643}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
6B58CB531019948500956BA2 /* tess.h */ = {
|
|
||||||
uiCtxt = {
|
|
||||||
sepNavIntBoundsRect = "{{0, 0}, {824, 1183}}";
|
|
||||||
sepNavSelRange = "{2671, 0}";
|
|
||||||
sepNavVisRange = "{1824, 1071}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
8D1107260486CEB800E47090 /* libtess2 */ = {
|
|
||||||
activeExec = 0;
|
|
||||||
executables = (
|
|
||||||
6B58CAF4101992A200956BA2 /* libtess2 */,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,385 +0,0 @@
|
||||||
// !$*UTF8*$!
|
|
||||||
{
|
|
||||||
archiveVersion = 1;
|
|
||||||
classes = {
|
|
||||||
};
|
|
||||||
objectVersion = 46;
|
|
||||||
objects = {
|
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
|
||||||
002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
|
|
||||||
002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */ = {isa = PBXBuildFile; fileRef = 002F39F909D0881F00EBEB88 /* SDL.framework */; };
|
|
||||||
002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = 002F3AEF09D08F1000EBEB88 /* SDLMain.nib */; };
|
|
||||||
6B33E3331235065700141A9B /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B33E3321235065700141A9B /* OpenGL.framework */; };
|
|
||||||
6B58CB0C1019935200956BA2 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB091019935200956BA2 /* main.c */; };
|
|
||||||
6B58CB0D1019935200956BA2 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB0B1019935200956BA2 /* SDLMain.m */; };
|
|
||||||
6B58CB121019938400956BA2 /* nanosvg.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB101019938400956BA2 /* nanosvg.c */; };
|
|
||||||
6B58CB541019948500956BA2 /* bucketalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB461019948500956BA2 /* bucketalloc.c */; };
|
|
||||||
6B58CB551019948500956BA2 /* dict.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB481019948500956BA2 /* dict.c */; };
|
|
||||||
6B58CB561019948500956BA2 /* geom.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB4A1019948500956BA2 /* geom.c */; };
|
|
||||||
6B58CB571019948500956BA2 /* mesh.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB4C1019948500956BA2 /* mesh.c */; };
|
|
||||||
6B58CB581019948500956BA2 /* priorityq.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB4E1019948500956BA2 /* priorityq.c */; };
|
|
||||||
6B58CB591019948500956BA2 /* sweep.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB501019948500956BA2 /* sweep.c */; };
|
|
||||||
6B58CB5A1019948500956BA2 /* tess.c in Sources */ = {isa = PBXBuildFile; fileRef = 6B58CB521019948500956BA2 /* tess.c */; };
|
|
||||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
|
||||||
/* End PBXBuildFile section */
|
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
|
||||||
002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */ = {
|
|
||||||
isa = PBXCopyFilesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
dstPath = "";
|
|
||||||
dstSubfolderSpec = 10;
|
|
||||||
files = (
|
|
||||||
002F3A0009D0884600EBEB88 /* SDL.framework in Copy Frameworks into .app bundle */,
|
|
||||||
);
|
|
||||||
name = "Copy Frameworks into .app bundle";
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXCopyFilesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
|
||||||
002F39F909D0881F00EBEB88 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/SDL.framework; sourceTree = "<absolute>"; };
|
|
||||||
002F3AF009D08F1000EBEB88 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/SDLMain.nib; sourceTree = "<group>"; };
|
|
||||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
|
||||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
|
||||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
|
||||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
|
||||||
32CA4F630368D1EE00C91783 /* libtess2_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libtess2_Prefix.pch; sourceTree = "<group>"; };
|
|
||||||
6B33E3321235065700141A9B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
|
|
||||||
6B58CB091019935200956BA2 /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = main.c; path = ../../Example/main.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB0A1019935200956BA2 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLMain.h; path = ../../Example/SDLMain.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB0B1019935200956BA2 /* SDLMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLMain.m; path = ../../Example/SDLMain.m; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB101019938400956BA2 /* nanosvg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nanosvg.c; path = ../../Contrib/nanosvg.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB111019938400956BA2 /* nanosvg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nanosvg.h; path = ../../Contrib/nanosvg.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB451019947700956BA2 /* tesselator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tesselator.h; path = ../../Include/tesselator.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB461019948500956BA2 /* bucketalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bucketalloc.c; path = ../../Source/bucketalloc.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB471019948500956BA2 /* bucketalloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bucketalloc.h; path = ../../Source/bucketalloc.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB481019948500956BA2 /* dict.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dict.c; path = ../../Source/dict.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB491019948500956BA2 /* dict.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dict.h; path = ../../Source/dict.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4A1019948500956BA2 /* geom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = geom.c; path = ../../Source/geom.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4B1019948500956BA2 /* geom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = geom.h; path = ../../Source/geom.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4C1019948500956BA2 /* mesh.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mesh.c; path = ../../Source/mesh.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4D1019948500956BA2 /* mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mesh.h; path = ../../Source/mesh.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4E1019948500956BA2 /* priorityq.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = priorityq.c; path = ../../Source/priorityq.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB4F1019948500956BA2 /* priorityq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = priorityq.h; path = ../../Source/priorityq.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB501019948500956BA2 /* sweep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sweep.c; path = ../../Source/sweep.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB511019948500956BA2 /* sweep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sweep.h; path = ../../Source/sweep.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB521019948500956BA2 /* tess.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tess.c; path = ../../Source/tess.c; sourceTree = SOURCE_ROOT; };
|
|
||||||
6B58CB531019948500956BA2 /* tess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tess.h; path = ../../Source/tess.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
|
||||||
8D1107320486CEB800E47090 /* libtess2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = libtess2.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
/* End PBXFileReference section */
|
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
|
||||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
002F39FA09D0881F00EBEB88 /* SDL.framework in Frameworks */,
|
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
|
||||||
6B33E3331235065700141A9B /* OpenGL.framework in Frameworks */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXFrameworksBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
|
||||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
6B58CB0A1019935200956BA2 /* SDLMain.h */,
|
|
||||||
6B58CB0B1019935200956BA2 /* SDLMain.m */,
|
|
||||||
);
|
|
||||||
name = Classes;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
002F39F909D0881F00EBEB88 /* SDL.framework */,
|
|
||||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
|
||||||
6B33E3321235065700141A9B /* OpenGL.framework */,
|
|
||||||
);
|
|
||||||
name = "Linked Frameworks";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
|
||||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
|
||||||
);
|
|
||||||
name = "Other Frameworks";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
8D1107320486CEB800E47090 /* libtess2.app */,
|
|
||||||
);
|
|
||||||
name = Products;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97314FDCFA39411CA2CEA /* libtess2 */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
6B58CB3D1019942B00956BA2 /* Libtess2 */,
|
|
||||||
6B58CB101019938400956BA2 /* nanosvg.c */,
|
|
||||||
6B58CB111019938400956BA2 /* nanosvg.h */,
|
|
||||||
6B58CB091019935200956BA2 /* main.c */,
|
|
||||||
080E96DDFE201D6D7F000001 /* Classes */,
|
|
||||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
|
||||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
|
||||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
|
||||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
|
||||||
);
|
|
||||||
name = libtess2;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
32CA4F630368D1EE00C91783 /* libtess2_Prefix.pch */,
|
|
||||||
);
|
|
||||||
name = "Other Sources";
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
8D1107310486CEB800E47090 /* Info.plist */,
|
|
||||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
|
||||||
002F3AEF09D08F1000EBEB88 /* SDLMain.nib */,
|
|
||||||
);
|
|
||||||
name = Resources;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
|
||||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
|
||||||
);
|
|
||||||
name = Frameworks;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
6B58CB3D1019942B00956BA2 /* Libtess2 */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
6B58CB461019948500956BA2 /* bucketalloc.c */,
|
|
||||||
6B58CB471019948500956BA2 /* bucketalloc.h */,
|
|
||||||
6B58CB481019948500956BA2 /* dict.c */,
|
|
||||||
6B58CB491019948500956BA2 /* dict.h */,
|
|
||||||
6B58CB4A1019948500956BA2 /* geom.c */,
|
|
||||||
6B58CB4B1019948500956BA2 /* geom.h */,
|
|
||||||
6B58CB4C1019948500956BA2 /* mesh.c */,
|
|
||||||
6B58CB4D1019948500956BA2 /* mesh.h */,
|
|
||||||
6B58CB4E1019948500956BA2 /* priorityq.c */,
|
|
||||||
6B58CB4F1019948500956BA2 /* priorityq.h */,
|
|
||||||
6B58CB501019948500956BA2 /* sweep.c */,
|
|
||||||
6B58CB511019948500956BA2 /* sweep.h */,
|
|
||||||
6B58CB521019948500956BA2 /* tess.c */,
|
|
||||||
6B58CB531019948500956BA2 /* tess.h */,
|
|
||||||
6B58CB451019947700956BA2 /* tesselator.h */,
|
|
||||||
);
|
|
||||||
name = Libtess2;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXGroup section */
|
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
|
||||||
8D1107260486CEB800E47090 /* libtess2 */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "libtess2" */;
|
|
||||||
buildPhases = (
|
|
||||||
8D1107290486CEB800E47090 /* Resources */,
|
|
||||||
8D11072C0486CEB800E47090 /* Sources */,
|
|
||||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
|
||||||
002F39FD09D0883400EBEB88 /* Copy Frameworks into .app bundle */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
);
|
|
||||||
name = libtess2;
|
|
||||||
productInstallPath = "$(HOME)/Applications";
|
|
||||||
productName = libtess2;
|
|
||||||
productReference = 8D1107320486CEB800E47090 /* libtess2.app */;
|
|
||||||
productType = "com.apple.product-type.application";
|
|
||||||
};
|
|
||||||
/* End PBXNativeTarget section */
|
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
|
||||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
|
||||||
isa = PBXProject;
|
|
||||||
attributes = {
|
|
||||||
LastUpgradeCheck = 0410;
|
|
||||||
};
|
|
||||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "libtess2" */;
|
|
||||||
compatibilityVersion = "Xcode 3.2";
|
|
||||||
developmentRegion = English;
|
|
||||||
hasScannedForEncodings = 1;
|
|
||||||
knownRegions = (
|
|
||||||
en,
|
|
||||||
);
|
|
||||||
mainGroup = 29B97314FDCFA39411CA2CEA /* libtess2 */;
|
|
||||||
projectDirPath = "";
|
|
||||||
projectRoot = "";
|
|
||||||
targets = (
|
|
||||||
8D1107260486CEB800E47090 /* libtess2 */,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
/* End PBXProject section */
|
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
|
||||||
8D1107290486CEB800E47090 /* Resources */ = {
|
|
||||||
isa = PBXResourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
|
||||||
002F3AF109D08F1000EBEB88 /* SDLMain.nib in Resources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXResourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
|
||||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
|
||||||
isa = PBXSourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
6B58CB0C1019935200956BA2 /* main.c in Sources */,
|
|
||||||
6B58CB0D1019935200956BA2 /* SDLMain.m in Sources */,
|
|
||||||
6B58CB121019938400956BA2 /* nanosvg.c in Sources */,
|
|
||||||
6B58CB541019948500956BA2 /* bucketalloc.c in Sources */,
|
|
||||||
6B58CB551019948500956BA2 /* dict.c in Sources */,
|
|
||||||
6B58CB561019948500956BA2 /* geom.c in Sources */,
|
|
||||||
6B58CB571019948500956BA2 /* mesh.c in Sources */,
|
|
||||||
6B58CB581019948500956BA2 /* priorityq.c in Sources */,
|
|
||||||
6B58CB591019948500956BA2 /* sweep.c in Sources */,
|
|
||||||
6B58CB5A1019948500956BA2 /* tess.c in Sources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXSourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */
|
|
||||||
002F3AEF09D08F1000EBEB88 /* SDLMain.nib */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
002F3AF009D08F1000EBEB88 /* English */,
|
|
||||||
);
|
|
||||||
name = SDLMain.nib;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
089C165DFE840E0CC02AAC07 /* English */,
|
|
||||||
);
|
|
||||||
name = InfoPlist.strings;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXVariantGroup section */
|
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
|
||||||
C01FCF4B08A954540054247B /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CONFIGURATION_BUILD_DIR = ../../Bin;
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
|
||||||
GCC_MODEL_TUNING = G5;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
|
||||||
INFOPLIST_FILE = Info.plist;
|
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
|
||||||
PRODUCT_NAME = libtess2;
|
|
||||||
WRAPPER_EXTENSION = app;
|
|
||||||
ZERO_LINK = YES;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
C01FCF4C08A954540054247B /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ARCHS = (
|
|
||||||
ppc,
|
|
||||||
i386,
|
|
||||||
);
|
|
||||||
CONFIGURATION_BUILD_DIR = ../../Bin;
|
|
||||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
|
||||||
GCC_MODEL_TUNING = G5;
|
|
||||||
INFOPLIST_FILE = Info.plist;
|
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
|
||||||
PRODUCT_NAME = libtess2;
|
|
||||||
WRAPPER_EXTENSION = app;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
C01FCF4F08A954540054247B /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
|
||||||
"$(HOME)/Library/Frameworks",
|
|
||||||
/Library/Frameworks,
|
|
||||||
"$(FRAMEWORK_SEARCH_PATHS)",
|
|
||||||
);
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(HOME)/Library/Frameworks/SDL.framework/Headers",
|
|
||||||
/Library/Frameworks/SDL.framework/Headers,
|
|
||||||
"$(HEADER_SEARCH_PATHS)",
|
|
||||||
);
|
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
|
||||||
SDKROOT = macosx10.6;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
C01FCF5008A954540054247B /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
|
||||||
"$(HOME)/Library/Frameworks",
|
|
||||||
/Library/Frameworks,
|
|
||||||
"$(FRAMEWORK_SEARCH_PATHS)",
|
|
||||||
);
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(HOME)/Library/Frameworks/SDL.framework/Headers",
|
|
||||||
/Library/Frameworks/SDL.framework/Headers,
|
|
||||||
"$(HEADER_SEARCH_PATHS)",
|
|
||||||
);
|
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.6;
|
|
||||||
SDKROOT = macosx10.6;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
/* End XCBuildConfiguration section */
|
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
|
||||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "libtess2" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
C01FCF4B08A954540054247B /* Debug */,
|
|
||||||
C01FCF4C08A954540054247B /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "libtess2" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
C01FCF4F08A954540054247B /* Debug */,
|
|
||||||
C01FCF5008A954540054247B /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
/* End XCConfigurationList section */
|
|
||||||
};
|
|
||||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "self:libtess2.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,72 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
|
||||||
BuildableName = "libtess2.app"
|
|
||||||
BlueprintName = "libtess2"
|
|
||||||
ReferencedContainer = "container:libtess2.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
<BuildableProductRunnable>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
|
||||||
BuildableName = "libtess2.app"
|
|
||||||
BlueprintName = "libtess2"
|
|
||||||
ReferencedContainer = "container:libtess2.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
buildConfiguration = "Release">
|
|
||||||
<BuildableProductRunnable>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
|
||||||
BuildableName = "libtess2.app"
|
|
||||||
BlueprintName = "libtess2"
|
|
||||||
ReferencedContainer = "container:libtess2.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?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>SchemeUserState</key>
|
|
||||||
<dict>
|
|
||||||
<key>libtess2.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<key>SuppressBuildableAutocreation</key>
|
|
||||||
<dict>
|
|
||||||
<key>8D1107260486CEB800E47090</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
|
@ -1,9 +0,0 @@
|
||||||
//
|
|
||||||
// Prefix header for all source files of the 'libtess2' target in the 'libtess2' project
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "SDL.h"
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
#endif
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
Windows
|
|
||||||
Download SDL Developer Libraries from http://www.libsdl.org and unzip them here.
|
|
||||||
|
|
||||||
OSX
|
|
||||||
Download and install OSX SDL Developer Libraries from http://www.libsdl.org
|
|
|
@ -1,17 +0,0 @@
|
||||||
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
|
|
||||||
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
|
|
||||||
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
|
|
||||||
|
|
||||||
Feel free to customize this file to suit your needs
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
|
||||||
|
|
||||||
@interface SDLMain : NSObject
|
|
||||||
- (IBAction)prefsMenu:(id)sender;
|
|
||||||
- (IBAction)newGame:(id)sender;
|
|
||||||
- (IBAction)openGame:(id)sender;
|
|
||||||
- (IBAction)saveGame:(id)sender;
|
|
||||||
- (IBAction)saveGameAs:(id)sender;
|
|
||||||
- (IBAction)help:(id)sender;
|
|
||||||
@end
|
|
|
@ -1,436 +0,0 @@
|
||||||
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
|
|
||||||
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
|
|
||||||
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
|
|
||||||
|
|
||||||
Feel free to customize this file to suit your needs
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import "SDL.h"
|
|
||||||
#import "SDLMain.h"
|
|
||||||
#import <sys/param.h> /* for MAXPATHLEN */
|
|
||||||
#import <unistd.h>
|
|
||||||
|
|
||||||
/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
|
|
||||||
but the method still is there and works. To avoid warnings, we declare
|
|
||||||
it ourselves here. */
|
|
||||||
@interface NSApplication(SDL_Missing_Methods)
|
|
||||||
- (void)setAppleMenu:(NSMenu *)menu;
|
|
||||||
@end
|
|
||||||
|
|
||||||
/* Use this flag to determine whether we use SDLMain.nib or not */
|
|
||||||
#define SDL_USE_NIB_FILE 1
|
|
||||||
|
|
||||||
/* Use this flag to determine whether we use CPS (docking) or not */
|
|
||||||
#define SDL_USE_CPS 1
|
|
||||||
#ifdef SDL_USE_CPS
|
|
||||||
/* Portions of CPS.h */
|
|
||||||
typedef struct CPSProcessSerNum
|
|
||||||
{
|
|
||||||
UInt32 lo;
|
|
||||||
UInt32 hi;
|
|
||||||
} CPSProcessSerNum;
|
|
||||||
|
|
||||||
extern OSErr CPSGetCurrentProcess( CPSProcessSerNum *psn);
|
|
||||||
extern OSErr CPSEnableForegroundOperation( CPSProcessSerNum *psn, UInt32 _arg2, UInt32 _arg3, UInt32 _arg4, UInt32 _arg5);
|
|
||||||
extern OSErr CPSSetFrontProcess( CPSProcessSerNum *psn);
|
|
||||||
|
|
||||||
#endif /* SDL_USE_CPS */
|
|
||||||
|
|
||||||
static int gArgc;
|
|
||||||
static char **gArgv;
|
|
||||||
static BOOL gFinderLaunch;
|
|
||||||
static BOOL gCalledAppMainline = FALSE;
|
|
||||||
|
|
||||||
static NSString *getApplicationName(void)
|
|
||||||
{
|
|
||||||
NSDictionary *dict;
|
|
||||||
NSString *appName = 0;
|
|
||||||
|
|
||||||
/* Determine the application name */
|
|
||||||
dict = (NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
|
|
||||||
if (dict)
|
|
||||||
appName = [dict objectForKey: @"CFBundleName"];
|
|
||||||
|
|
||||||
if (![appName length])
|
|
||||||
appName = [[NSProcessInfo processInfo] processName];
|
|
||||||
|
|
||||||
return appName;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if SDL_USE_NIB_FILE
|
|
||||||
/* A helper category for NSString */
|
|
||||||
@interface NSString (ReplaceSubString)
|
|
||||||
- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString;
|
|
||||||
@end
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@interface SDLApplication : NSApplication
|
|
||||||
@end
|
|
||||||
|
|
||||||
@implementation SDLApplication
|
|
||||||
/* Invoked from the Quit menu item */
|
|
||||||
- (void)terminate:(id)sender
|
|
||||||
{
|
|
||||||
/* Post a SDL_QUIT event */
|
|
||||||
SDL_Event event;
|
|
||||||
event.type = SDL_QUIT;
|
|
||||||
SDL_PushEvent(&event);
|
|
||||||
}
|
|
||||||
@end
|
|
||||||
|
|
||||||
/* The main class of the application, the application's delegate */
|
|
||||||
@implementation SDLMain
|
|
||||||
|
|
||||||
- (IBAction)prefsMenu:(id)sender
|
|
||||||
{
|
|
||||||
printf ("prefs menu\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)newGame:(id)sender
|
|
||||||
{
|
|
||||||
printf ("new game\n");
|
|
||||||
|
|
||||||
NSRunAlertPanel (@"Get ready to blow up some... stuff!",
|
|
||||||
@"Click OK to begin total carnage. Click Cancel to prevent total carnage.", @"OK", @"Cancel", nil);
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)openGame:(id)sender
|
|
||||||
{
|
|
||||||
NSString *path = nil;
|
|
||||||
NSOpenPanel *openPanel = [ NSOpenPanel openPanel ];
|
|
||||||
|
|
||||||
if ( [ openPanel runModalForDirectory:nil
|
|
||||||
file:@"SavedGame" types:nil ] ) {
|
|
||||||
|
|
||||||
path = [ [ openPanel filenames ] objectAtIndex:0 ];
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("open game: %s\n", [ path cString ]);
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)saveGame:(id)sender
|
|
||||||
{
|
|
||||||
NSString *path = nil;
|
|
||||||
NSSavePanel *savePanel = [ NSSavePanel savePanel ];
|
|
||||||
|
|
||||||
if ( [ savePanel runModalForDirectory:nil
|
|
||||||
file:@"SaveGameFile" ] ) {
|
|
||||||
|
|
||||||
path = [ savePanel filename ];
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("save game: %s\n", [ path cString ]);
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)saveGameAs:(id)sender
|
|
||||||
{
|
|
||||||
printf ("save game as\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)help:(id)sender
|
|
||||||
{
|
|
||||||
NSRunAlertPanel (@"Oh help, where have ye gone?",
|
|
||||||
@"Sorry, there is no help available.\n\nThis message brought to you by We Don't Document, Inc.\n\n", @"Rats", @"Good, I never read it anyway", nil);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the working directory to the .app's parent directory */
|
|
||||||
- (void) setupWorkingDirectory:(BOOL)shouldChdir
|
|
||||||
{
|
|
||||||
if (shouldChdir)
|
|
||||||
{
|
|
||||||
char parentdir[MAXPATHLEN];
|
|
||||||
CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
|
|
||||||
CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
|
|
||||||
if (CFURLGetFileSystemRepresentation(url2, true, (UInt8 *)parentdir, MAXPATHLEN)) {
|
|
||||||
assert ( chdir (parentdir) == 0 ); /* chdir to the binary app's parent */
|
|
||||||
}
|
|
||||||
CFRelease(url);
|
|
||||||
CFRelease(url2);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#if SDL_USE_NIB_FILE
|
|
||||||
|
|
||||||
/* Fix menu to contain the real app name instead of "SDL App" */
|
|
||||||
- (void)fixMenu:(NSMenu *)aMenu withAppName:(NSString *)appName
|
|
||||||
{
|
|
||||||
NSRange aRange;
|
|
||||||
NSEnumerator *enumerator;
|
|
||||||
NSMenuItem *menuItem;
|
|
||||||
|
|
||||||
aRange = [[aMenu title] rangeOfString:@"SDL App"];
|
|
||||||
if (aRange.length != 0)
|
|
||||||
[aMenu setTitle: [[aMenu title] stringByReplacingRange:aRange with:appName]];
|
|
||||||
|
|
||||||
enumerator = [[aMenu itemArray] objectEnumerator];
|
|
||||||
while ((menuItem = [enumerator nextObject]))
|
|
||||||
{
|
|
||||||
aRange = [[menuItem title] rangeOfString:@"SDL App"];
|
|
||||||
if (aRange.length != 0)
|
|
||||||
[menuItem setTitle: [[menuItem title] stringByReplacingRange:aRange with:appName]];
|
|
||||||
if ([menuItem hasSubmenu])
|
|
||||||
[self fixMenu:[menuItem submenu] withAppName:appName];
|
|
||||||
}
|
|
||||||
[ aMenu sizeToFit ];
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static void setApplicationMenu(void)
|
|
||||||
{
|
|
||||||
/* warning: this code is very odd */
|
|
||||||
NSMenu *appleMenu;
|
|
||||||
NSMenuItem *menuItem;
|
|
||||||
NSString *title;
|
|
||||||
NSString *appName;
|
|
||||||
|
|
||||||
appName = getApplicationName();
|
|
||||||
appleMenu = [[NSMenu alloc] initWithTitle:@""];
|
|
||||||
|
|
||||||
/* Add menu items */
|
|
||||||
title = [@"About " stringByAppendingString:appName];
|
|
||||||
[appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
|
|
||||||
|
|
||||||
[appleMenu addItem:[NSMenuItem separatorItem]];
|
|
||||||
|
|
||||||
title = [@"Hide " stringByAppendingString:appName];
|
|
||||||
[appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"];
|
|
||||||
|
|
||||||
menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
|
|
||||||
[menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)];
|
|
||||||
|
|
||||||
[appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
|
|
||||||
|
|
||||||
[appleMenu addItem:[NSMenuItem separatorItem]];
|
|
||||||
|
|
||||||
title = [@"Quit " stringByAppendingString:appName];
|
|
||||||
[appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"];
|
|
||||||
|
|
||||||
|
|
||||||
/* Put menu into the menubar */
|
|
||||||
menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
|
|
||||||
[menuItem setSubmenu:appleMenu];
|
|
||||||
[[NSApp mainMenu] addItem:menuItem];
|
|
||||||
|
|
||||||
/* Tell the application object that this is now the application menu */
|
|
||||||
[NSApp setAppleMenu:appleMenu];
|
|
||||||
|
|
||||||
/* Finally give up our references to the objects */
|
|
||||||
[appleMenu release];
|
|
||||||
[menuItem release];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create a window menu */
|
|
||||||
static void setupWindowMenu(void)
|
|
||||||
{
|
|
||||||
NSMenu *windowMenu;
|
|
||||||
NSMenuItem *windowMenuItem;
|
|
||||||
NSMenuItem *menuItem;
|
|
||||||
|
|
||||||
windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
|
|
||||||
|
|
||||||
/* "Minimize" item */
|
|
||||||
menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
|
|
||||||
[windowMenu addItem:menuItem];
|
|
||||||
[menuItem release];
|
|
||||||
|
|
||||||
/* Put menu into the menubar */
|
|
||||||
windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""];
|
|
||||||
[windowMenuItem setSubmenu:windowMenu];
|
|
||||||
[[NSApp mainMenu] addItem:windowMenuItem];
|
|
||||||
|
|
||||||
/* Tell the application object that this is now the window menu */
|
|
||||||
[NSApp setWindowsMenu:windowMenu];
|
|
||||||
|
|
||||||
/* Finally give up our references to the objects */
|
|
||||||
[windowMenu release];
|
|
||||||
[windowMenuItem release];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Replacement for NSApplicationMain */
|
|
||||||
static void CustomApplicationMain (int argc, char **argv)
|
|
||||||
{
|
|
||||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
||||||
SDLMain *sdlMain;
|
|
||||||
|
|
||||||
/* Ensure the application object is initialised */
|
|
||||||
[SDLApplication sharedApplication];
|
|
||||||
|
|
||||||
#ifdef SDL_USE_CPS
|
|
||||||
{
|
|
||||||
CPSProcessSerNum PSN;
|
|
||||||
/* Tell the dock about us */
|
|
||||||
if (!CPSGetCurrentProcess(&PSN))
|
|
||||||
if (!CPSEnableForegroundOperation(&PSN,0x03,0x3C,0x2C,0x1103))
|
|
||||||
if (!CPSSetFrontProcess(&PSN))
|
|
||||||
[SDLApplication sharedApplication];
|
|
||||||
}
|
|
||||||
#endif /* SDL_USE_CPS */
|
|
||||||
|
|
||||||
/* Set up the menubar */
|
|
||||||
[NSApp setMainMenu:[[NSMenu alloc] init]];
|
|
||||||
setApplicationMenu();
|
|
||||||
setupWindowMenu();
|
|
||||||
|
|
||||||
/* Create SDLMain and make it the app delegate */
|
|
||||||
sdlMain = [[SDLMain alloc] init];
|
|
||||||
[NSApp setDelegate:sdlMain];
|
|
||||||
|
|
||||||
/* Start the main event loop */
|
|
||||||
[NSApp run];
|
|
||||||
|
|
||||||
[sdlMain release];
|
|
||||||
[pool release];
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Catch document open requests...this lets us notice files when the app
|
|
||||||
* was launched by double-clicking a document, or when a document was
|
|
||||||
* dragged/dropped on the app's icon. You need to have a
|
|
||||||
* CFBundleDocumentsType section in your Info.plist to get this message,
|
|
||||||
* apparently.
|
|
||||||
*
|
|
||||||
* Files are added to gArgv, so to the app, they'll look like command line
|
|
||||||
* arguments. Previously, apps launched from the finder had nothing but
|
|
||||||
* an argv[0].
|
|
||||||
*
|
|
||||||
* This message may be received multiple times to open several docs on launch.
|
|
||||||
*
|
|
||||||
* This message is ignored once the app's mainline has been called.
|
|
||||||
*/
|
|
||||||
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename
|
|
||||||
{
|
|
||||||
const char *temparg;
|
|
||||||
size_t arglen;
|
|
||||||
char *arg;
|
|
||||||
char **newargv;
|
|
||||||
|
|
||||||
if (!gFinderLaunch) /* MacOS is passing command line args. */
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (gCalledAppMainline) /* app has started, ignore this document. */
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
temparg = [filename UTF8String];
|
|
||||||
arglen = SDL_strlen(temparg) + 1;
|
|
||||||
arg = (char *) SDL_malloc(arglen);
|
|
||||||
if (arg == NULL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2));
|
|
||||||
if (newargv == NULL)
|
|
||||||
{
|
|
||||||
SDL_free(arg);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
gArgv = newargv;
|
|
||||||
|
|
||||||
SDL_strlcpy(arg, temparg, arglen);
|
|
||||||
gArgv[gArgc++] = arg;
|
|
||||||
gArgv[gArgc] = NULL;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Called when the internal event loop has just started running */
|
|
||||||
- (void) applicationDidFinishLaunching: (NSNotification *) note
|
|
||||||
{
|
|
||||||
int status;
|
|
||||||
|
|
||||||
/* Set the working directory to the .app's parent directory */
|
|
||||||
[self setupWorkingDirectory:gFinderLaunch];
|
|
||||||
|
|
||||||
#if SDL_USE_NIB_FILE
|
|
||||||
/* Set the main menu to contain the real app name instead of "SDL App" */
|
|
||||||
[self fixMenu:[NSApp mainMenu] withAppName:getApplicationName()];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Hand off to main application code */
|
|
||||||
gCalledAppMainline = TRUE;
|
|
||||||
status = SDL_main (gArgc, gArgv);
|
|
||||||
|
|
||||||
/* We're done, thank you for playing */
|
|
||||||
exit(status);
|
|
||||||
}
|
|
||||||
@end
|
|
||||||
|
|
||||||
|
|
||||||
@implementation NSString (ReplaceSubString)
|
|
||||||
|
|
||||||
- (NSString *)stringByReplacingRange:(NSRange)aRange with:(NSString *)aString
|
|
||||||
{
|
|
||||||
unsigned int bufferSize;
|
|
||||||
unsigned int selfLen = [self length];
|
|
||||||
unsigned int aStringLen = [aString length];
|
|
||||||
unichar *buffer;
|
|
||||||
NSRange localRange;
|
|
||||||
NSString *result;
|
|
||||||
|
|
||||||
bufferSize = selfLen + aStringLen - aRange.length;
|
|
||||||
buffer = NSAllocateMemoryPages(bufferSize*sizeof(unichar));
|
|
||||||
|
|
||||||
/* Get first part into buffer */
|
|
||||||
localRange.location = 0;
|
|
||||||
localRange.length = aRange.location;
|
|
||||||
[self getCharacters:buffer range:localRange];
|
|
||||||
|
|
||||||
/* Get middle part into buffer */
|
|
||||||
localRange.location = 0;
|
|
||||||
localRange.length = aStringLen;
|
|
||||||
[aString getCharacters:(buffer+aRange.location) range:localRange];
|
|
||||||
|
|
||||||
/* Get last part into buffer */
|
|
||||||
localRange.location = aRange.location + aRange.length;
|
|
||||||
localRange.length = selfLen - localRange.location;
|
|
||||||
[self getCharacters:(buffer+aRange.location+aStringLen) range:localRange];
|
|
||||||
|
|
||||||
/* Build output string */
|
|
||||||
result = [NSString stringWithCharacters:buffer length:bufferSize];
|
|
||||||
|
|
||||||
NSDeallocateMemoryPages(buffer, bufferSize);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef main
|
|
||||||
# undef main
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Main entry point to executable - should *not* be SDL_main! */
|
|
||||||
int main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
/* Copy the arguments into a global variable */
|
|
||||||
/* This is passed if we are launched by double-clicking */
|
|
||||||
if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
|
|
||||||
gArgv = (char **) SDL_malloc(sizeof (char *) * 2);
|
|
||||||
gArgv[0] = argv[0];
|
|
||||||
gArgv[1] = NULL;
|
|
||||||
gArgc = 1;
|
|
||||||
gFinderLaunch = YES;
|
|
||||||
} else {
|
|
||||||
int i;
|
|
||||||
gArgc = argc;
|
|
||||||
gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1));
|
|
||||||
for (i = 0; i <= argc; i++)
|
|
||||||
gArgv[i] = argv[i];
|
|
||||||
gFinderLaunch = NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if SDL_USE_NIB_FILE
|
|
||||||
[SDLApplication poseAsClass:[NSApplication class]];
|
|
||||||
NSApplicationMain (argc, argv);
|
|
||||||
#else
|
|
||||||
CustomApplicationMain (argc, argv);
|
|
||||||
#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -3,8 +3,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "SDL.h"
|
#include <GLFW/glfw3.h>
|
||||||
#include "SDL_Opengl.h"
|
|
||||||
#include "nanosvg.h"
|
#include "nanosvg.h"
|
||||||
#include "tesselator.h"
|
#include "tesselator.h"
|
||||||
|
|
||||||
|
@ -12,12 +11,14 @@
|
||||||
void* stdAlloc(void* userData, unsigned int size)
|
void* stdAlloc(void* userData, unsigned int size)
|
||||||
{
|
{
|
||||||
int* allocated = ( int*)userData;
|
int* allocated = ( int*)userData;
|
||||||
|
TESS_NOTUSED(userData);
|
||||||
*allocated += (int)size;
|
*allocated += (int)size;
|
||||||
return malloc(size);
|
return malloc(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stdFree(void* userData, void* ptr)
|
void stdFree(void* userData, void* ptr)
|
||||||
{
|
{
|
||||||
|
TESS_NOTUSED(userData);
|
||||||
free(ptr);
|
free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,18 +32,22 @@ struct MemPool
|
||||||
void* poolAlloc( void* userData, unsigned int size )
|
void* poolAlloc( void* userData, unsigned int size )
|
||||||
{
|
{
|
||||||
struct MemPool* pool = (struct MemPool*)userData;
|
struct MemPool* pool = (struct MemPool*)userData;
|
||||||
|
size = (size+0x7) & ~0x7;
|
||||||
if (pool->size + size < pool->cap)
|
if (pool->size + size < pool->cap)
|
||||||
{
|
{
|
||||||
unsigned char* ptr = pool->buf + pool->size;
|
unsigned char* ptr = pool->buf + pool->size;
|
||||||
pool->size += size;
|
pool->size += size;
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
printf("out of mem: %d < %d!\n", pool->size + size, pool->cap);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void poolFree( void* userData, void* ptr )
|
void poolFree( void* userData, void* ptr )
|
||||||
{
|
{
|
||||||
// empty
|
// empty
|
||||||
|
TESS_NOTUSED(userData);
|
||||||
|
TESS_NOTUSED(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,37 +55,55 @@ void poolFree( void* userData, void* ptr )
|
||||||
#define USE_POOL 1
|
#define USE_POOL 1
|
||||||
|
|
||||||
|
|
||||||
|
int run = 1;
|
||||||
|
|
||||||
|
static void key(GLFWwindow* window, int key, int scancode, int action, int mods)
|
||||||
|
{
|
||||||
|
TESS_NOTUSED(scancode);
|
||||||
|
TESS_NOTUSED(mods);
|
||||||
|
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
|
||||||
|
glfwSetWindowShouldClose(window, GL_TRUE);
|
||||||
|
if (key == GLFW_KEY_SPACE && action == GLFW_PRESS)
|
||||||
|
run = !run;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int done;
|
GLFWwindow* window;
|
||||||
SDL_Event event;
|
const GLFWvidmode* mode;
|
||||||
SDL_Surface* screen;
|
|
||||||
const SDL_VideoInfo* vi;
|
|
||||||
int width,height,i,j;
|
int width,height,i,j;
|
||||||
struct SVGPath* bg;
|
struct SVGPath* bg;
|
||||||
struct SVGPath* fg;
|
struct SVGPath* fg;
|
||||||
struct SVGPath* it;
|
struct SVGPath* it;
|
||||||
float bounds[4],view[4],cx,cy,w,offx,offy;
|
float bounds[4],view[4],cx,cy,w,offx,offy;
|
||||||
float t = 0.0f;
|
float t = 0.0f, pt = 0.0f;
|
||||||
Uint32 lastTime,time;
|
|
||||||
TESSalloc ma;
|
TESSalloc ma;
|
||||||
TESStesselator* tess = 0;
|
TESStesselator* tess = 0;
|
||||||
const int nvp = 6;
|
const int nvp = 6;
|
||||||
unsigned char* vflags = 0;
|
unsigned char* vflags = 0;
|
||||||
int nvflags = 0;
|
int nvflags = 0;
|
||||||
int run = 1;
|
|
||||||
#ifdef USE_POOL
|
#ifdef USE_POOL
|
||||||
struct MemPool pool;
|
struct MemPool pool;
|
||||||
unsigned char mem[1024*512];
|
unsigned char mem[1024*1024];
|
||||||
#else
|
#else
|
||||||
int allocated = 0;
|
int allocated = 0;
|
||||||
#endif
|
#endif
|
||||||
|
TESS_NOTUSED(argc);
|
||||||
|
TESS_NOTUSED(argv);
|
||||||
|
|
||||||
|
if (!glfwInit()) {
|
||||||
|
printf("Failed to init GLFW.");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("loading...\n");
|
||||||
// Load assets
|
// Load assets
|
||||||
bg = svgParseFromFile("bg.svg");
|
bg = svgParseFromFile("../Bin/bg.svg");
|
||||||
if (!bg) return -1;
|
if (!bg) return -1;
|
||||||
fg = svgParseFromFile("fg.svg");
|
fg = svgParseFromFile("../Bin/fg.svg");
|
||||||
if (!fg) return -1;
|
if (!fg) return -1;
|
||||||
|
|
||||||
|
printf("go...\n");
|
||||||
|
|
||||||
// Flip y
|
// Flip y
|
||||||
for (it = bg; it != NULL; it = it->next)
|
for (it = bg; it != NULL; it = it->next)
|
||||||
|
@ -178,28 +201,17 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
mode = glfwGetVideoMode(glfwGetPrimaryMonitor());
|
||||||
if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
|
width = mode->width - 40;
|
||||||
{
|
height = mode->height - 80;
|
||||||
fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
|
window = glfwCreateWindow(width, height, "Libtess2 Demo", NULL, NULL);
|
||||||
|
if (!window) {
|
||||||
|
glfwTerminate();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init OpenGL
|
glfwSetKeyCallback(window, key);
|
||||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
glfwMakeContextCurrent(window);
|
||||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
|
|
||||||
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
|
|
||||||
|
|
||||||
vi = SDL_GetVideoInfo();
|
|
||||||
width = vi->current_w - 20;
|
|
||||||
height = vi->current_h - 80;
|
|
||||||
screen = SDL_SetVideoMode(width, height, 0, SDL_OPENGL);
|
|
||||||
if (!screen) return -1;
|
|
||||||
|
|
||||||
SDL_WM_SetCaption("libtess2 Demo", 0);
|
|
||||||
|
|
||||||
// Adjust bounds so that we get nice view of the bg.
|
// Adjust bounds so that we get nice view of the bg.
|
||||||
cx = (bounds[0]+bounds[2])/2;
|
cx = (bounds[0]+bounds[2])/2;
|
||||||
|
@ -207,39 +219,16 @@ int main(int argc, char *argv[])
|
||||||
w = (bounds[2]-bounds[0])/2;
|
w = (bounds[2]-bounds[0])/2;
|
||||||
view[0] = cx - w*1.2f;
|
view[0] = cx - w*1.2f;
|
||||||
view[2] = cx + w*1.2f;
|
view[2] = cx + w*1.2f;
|
||||||
view[1] = cy - w*1.2f*height/width;
|
view[1] = cy - w*1.2f*(float)height/(float)width;
|
||||||
view[3] = cy + w*1.2f*height/width;
|
view[3] = cy + w*1.2f*(float)height/(float)width;
|
||||||
|
|
||||||
lastTime = SDL_GetTicks();
|
glfwSetTime(0);
|
||||||
done = 0;
|
|
||||||
while (!done)
|
while (!glfwWindowShouldClose(window))
|
||||||
{
|
{
|
||||||
while (SDL_PollEvent(&event))
|
float ct = (float)glfwGetTime();
|
||||||
{
|
if (run) t += ct - pt;
|
||||||
switch (event.type)
|
pt = ct;
|
||||||
{
|
|
||||||
case SDL_MOUSEMOTION:
|
|
||||||
break;
|
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
|
||||||
break;
|
|
||||||
case SDL_KEYDOWN:
|
|
||||||
if (event.key.keysym.sym == SDLK_ESCAPE)
|
|
||||||
done = 1;
|
|
||||||
else if (event.key.keysym.sym == SDLK_SPACE)
|
|
||||||
run ^= 1;
|
|
||||||
break;
|
|
||||||
case SDL_QUIT:
|
|
||||||
done = 1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
time = SDL_GetTicks();
|
|
||||||
if (run)
|
|
||||||
t += (time-lastTime) / 1000.0f;
|
|
||||||
lastTime = time;
|
|
||||||
|
|
||||||
// Update and render
|
// Update and render
|
||||||
glViewport(0, 0, width, height);
|
glViewport(0, 0, width, height);
|
||||||
|
@ -375,7 +364,8 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
SDL_GL_SwapBuffers();
|
glfwSwapBuffers(window);
|
||||||
|
glfwPollEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tess) tessDeleteTess(tess);
|
if (tess) tessDeleteTess(tess);
|
||||||
|
@ -386,6 +376,6 @@ int main(int argc, char *argv[])
|
||||||
svgDelete(bg);
|
svgDelete(bg);
|
||||||
svgDelete(fg);
|
svgDelete(fg);
|
||||||
|
|
||||||
SDL_Quit();
|
glfwTerminate();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
|
@ -102,7 +102,7 @@ enum TessWindingRule
|
||||||
// const TESSindex count = elems[i * 2 + 1];
|
// const TESSindex count = elems[i * 2 + 1];
|
||||||
// glBegin(GL_LINE_LOOP);
|
// glBegin(GL_LINE_LOOP);
|
||||||
// for (int j = 0; j < count; j++) {
|
// for (int j = 0; j < count; j++) {
|
||||||
// glVertex2fv(&verts[(base+count) * vertexSize]);
|
// glVertex2fv(&verts[(base+j) * vertexSize]);
|
||||||
// }
|
// }
|
||||||
// glEnd();
|
// glEnd();
|
||||||
// }
|
// }
|
||||||
|
@ -121,6 +121,8 @@ typedef struct TESSalloc TESSalloc;
|
||||||
|
|
||||||
#define TESS_UNDEF (~(TESSindex)0)
|
#define TESS_UNDEF (~(TESSindex)0)
|
||||||
|
|
||||||
|
#define TESS_NOTUSED(v) do { (void)(1 ? (void)0 : ( (void)(v) ) ); } while(0)
|
||||||
|
|
||||||
// Custom memory allocator interface.
|
// Custom memory allocator interface.
|
||||||
// The internal memory allocator allocates mesh edges, vertices and faces
|
// The internal memory allocator allocates mesh edges, vertices and faces
|
||||||
// as well as dictionary nodes and active regions in buckets and uses simple
|
// as well as dictionary nodes and active regions in buckets and uses simple
|
||||||
|
@ -150,9 +152,19 @@ struct TESSalloc
|
||||||
int regionBucketSize; // 256
|
int regionBucketSize; // 256
|
||||||
int extraVertices; // Number of extra vertices allocated for the priority queue.
|
int extraVertices; // Number of extra vertices allocated for the priority queue.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Example use:
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
// tessNewTess() - Creates a new tesselator.
|
// tessNewTess() - Creates a new tesselator.
|
||||||
// Use tessDeleteTess() to delete the tesselator.
|
// Use tessDeleteTess() to delete the tesselator.
|
||||||
|
// Parameters:
|
||||||
|
// alloc - pointer to a filled TESSalloc struct or NULL to use default malloc based allocator.
|
||||||
// Returns:
|
// Returns:
|
||||||
// new tesselator object.
|
// new tesselator object.
|
||||||
TESStesselator* tessNewTess( TESSalloc* alloc );
|
TESStesselator* tessNewTess( TESSalloc* alloc );
|
||||||
|
|
|
@ -438,6 +438,7 @@ static void GetIntersectData( TESStesselator *tess, TESSvertex *isect,
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
TESSreal weights[4];
|
TESSreal weights[4];
|
||||||
|
TESS_NOTUSED( tess );
|
||||||
|
|
||||||
isect->coords[0] = isect->coords[1] = isect->coords[2] = 0;
|
isect->coords[0] = isect->coords[1] = isect->coords[2] = 0;
|
||||||
isect->idx = TESS_UNDEF;
|
isect->idx = TESS_UNDEF;
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
|
|
||||||
#define Dot(u,v) (u[0]*v[0] + u[1]*v[1] + u[2]*v[2])
|
#define Dot(u,v) (u[0]*v[0] + u[1]*v[1] + u[2]*v[2])
|
||||||
|
|
||||||
|
#if defined(FOR_TRITE_TEST_PROGRAM) || defined(TRUE_PROJECT)
|
||||||
static void Normalize( TESSreal v[3] )
|
static void Normalize( TESSreal v[3] )
|
||||||
{
|
{
|
||||||
TESSreal len = v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
|
TESSreal len = v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
|
||||||
|
@ -56,6 +57,7 @@ static void Normalize( TESSreal v[3] )
|
||||||
v[1] /= len;
|
v[1] /= len;
|
||||||
v[2] /= len;
|
v[2] /= len;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ABS(x) ((x) < 0 ? -(x) : (x))
|
#define ABS(x) ((x) < 0 ? -(x) : (x))
|
||||||
|
|
||||||
|
@ -438,16 +440,19 @@ int tessMeshSetWindingNumber( TESSmesh *mesh, int value,
|
||||||
|
|
||||||
void* heapAlloc( void* userData, unsigned int size )
|
void* heapAlloc( void* userData, unsigned int size )
|
||||||
{
|
{
|
||||||
|
TESS_NOTUSED( userData );
|
||||||
return malloc( size );
|
return malloc( size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void* heapRealloc( void *userData, void* ptr, unsigned int size )
|
void* heapRealloc( void *userData, void* ptr, unsigned int size )
|
||||||
{
|
{
|
||||||
|
TESS_NOTUSED( userData );
|
||||||
return realloc( ptr, size );
|
return realloc( ptr, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void heapFree( void* userData, void* ptr )
|
void heapFree( void* userData, void* ptr )
|
||||||
{
|
{
|
||||||
|
TESS_NOTUSED( userData );
|
||||||
free( ptr );
|
free( ptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
45
premake4.lua
Normal file
45
premake4.lua
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
local action = _ACTION or ""
|
||||||
|
|
||||||
|
solution "libtess2"
|
||||||
|
location ( "Build" )
|
||||||
|
configurations { "Debug", "Release" }
|
||||||
|
platforms {"native", "x64", "x32"}
|
||||||
|
|
||||||
|
configuration "Debug"
|
||||||
|
defines { "DEBUG" }
|
||||||
|
flags { "Symbols", "ExtraWarnings"}
|
||||||
|
|
||||||
|
configuration "Release"
|
||||||
|
defines { "NDEBUG" }
|
||||||
|
flags { "Optimize", "ExtraWarnings"}
|
||||||
|
|
||||||
|
|
||||||
|
project "tess2"
|
||||||
|
language "C"
|
||||||
|
kind "StaticLib"
|
||||||
|
includedirs { "Include", "Source" }
|
||||||
|
files { "Source/*.c" }
|
||||||
|
targetdir("Build")
|
||||||
|
|
||||||
|
-- more dynamic example
|
||||||
|
project "example"
|
||||||
|
kind "ConsoleApp"
|
||||||
|
language "C"
|
||||||
|
links { "tess2" }
|
||||||
|
files { "Example/example.c", "Contrib/*.c" }
|
||||||
|
includedirs { "Include", "Contrib" }
|
||||||
|
targetdir("Build")
|
||||||
|
|
||||||
|
configuration { "linux" }
|
||||||
|
linkoptions { "`pkg-config --libs glfw3`" }
|
||||||
|
links { "GL", "GLU", "m", "GLEW" }
|
||||||
|
defines { "NANOVG_GLEW" }
|
||||||
|
|
||||||
|
configuration { "windows" }
|
||||||
|
links { "glfw3", "gdi32", "winmm", "user32", "GLEW", "glu32","opengl32" }
|
||||||
|
defines { "NANOVG_GLEW" }
|
||||||
|
|
||||||
|
configuration { "macosx" }
|
||||||
|
links { "glfw3" }
|
||||||
|
linkoptions { "-framework OpenGL", "-framework Cocoa", "-framework IOKit", "-framework CoreVideo" }
|
Loading…
Add table
Reference in a new issue