Procházet zdrojové kódy

Recreated incorrectly named Xcode project, improved rendering speed, fixed SceneLabel texture setting incorrectly

Ivan Safrin před 9 roky
rodič
revize
966cd456b6

+ 3 - 3
build/osx/Polycode.xcworkspace/contents.xcworkspacedata

@@ -2,13 +2,13 @@
 <Workspace
    version = "1.0">
    <FileRef
-      location = "group:polybuild/polybuild.xcodeproj">
+      location = "group:Polycode3DPhysics/Polycode3DPhysics.xcodeproj">
    </FileRef>
    <FileRef
-      location = "group:polyimport/polyimport.xcodeproj">
+      location = "group:polybuild/polybuild.xcodeproj">
    </FileRef>
    <FileRef
-      location = "group:Polycode3DPhsyics/Polycode3DPhsyics.xcodeproj">
+      location = "group:polyimport/polyimport.xcodeproj">
    </FileRef>
    <FileRef
       location = "group:PolycodeUI/PolycodeUI.xcodeproj">

+ 90 - 113
build/osx/Polycode3DPhsyics/Polycode3DPhsyics.xcodeproj/project.pbxproj → build/osx/Polycode3DPhysics/Polycode3DPhysics.xcodeproj/project.pbxproj

@@ -7,36 +7,36 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		6DE288421BE96E5000F7B42C /* Polycode3DPhysics.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE2883C1BE96E5000F7B42C /* Polycode3DPhysics.h */; };
-		6DE288431BE96E5000F7B42C /* PolyCollisionScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE2883D1BE96E5000F7B42C /* PolyCollisionScene.h */; };
-		6DE288441BE96E5000F7B42C /* PolyCollisionSceneEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE2883E1BE96E5000F7B42C /* PolyCollisionSceneEntity.h */; };
-		6DE288451BE96E5000F7B42C /* PolyPhysicsConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE2883F1BE96E5000F7B42C /* PolyPhysicsConstraint.h */; };
-		6DE288461BE96E5000F7B42C /* PolyPhysicsScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE288401BE96E5000F7B42C /* PolyPhysicsScene.h */; };
-		6DE288471BE96E5000F7B42C /* PolyPhysicsSceneEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DE288411BE96E5000F7B42C /* PolyPhysicsSceneEntity.h */; };
-		6DE2884D1BE96E5D00F7B42C /* PolyCollisionScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE288481BE96E5D00F7B42C /* PolyCollisionScene.cpp */; };
-		6DE2884E1BE96E5D00F7B42C /* PolyCollisionSceneEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE288491BE96E5D00F7B42C /* PolyCollisionSceneEntity.cpp */; };
-		6DE2884F1BE96E5D00F7B42C /* PolyPhysicsConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE2884A1BE96E5D00F7B42C /* PolyPhysicsConstraint.cpp */; };
-		6DE288501BE96E5D00F7B42C /* PolyPhysicsScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE2884B1BE96E5D00F7B42C /* PolyPhysicsScene.cpp */; };
-		6DE288511BE96E5D00F7B42C /* PolyPhysicsSceneEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE2884C1BE96E5D00F7B42C /* PolyPhysicsSceneEntity.cpp */; };
+		6D8883C91CBC8B8300626AD7 /* PolyCollisionScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D8883C41CBC8B8300626AD7 /* PolyCollisionScene.cpp */; };
+		6D8883CA1CBC8B8300626AD7 /* PolyCollisionSceneEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D8883C51CBC8B8300626AD7 /* PolyCollisionSceneEntity.cpp */; };
+		6D8883CB1CBC8B8300626AD7 /* PolyPhysicsConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D8883C61CBC8B8300626AD7 /* PolyPhysicsConstraint.cpp */; };
+		6D8883CC1CBC8B8300626AD7 /* PolyPhysicsScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D8883C71CBC8B8300626AD7 /* PolyPhysicsScene.cpp */; };
+		6D8883CD1CBC8B8300626AD7 /* PolyPhysicsSceneEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D8883C81CBC8B8300626AD7 /* PolyPhysicsSceneEntity.cpp */; };
+		6D8883E01CBC8CCC00626AD7 /* Polycode3DPhysics.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DA1CBC8CCC00626AD7 /* Polycode3DPhysics.h */; };
+		6D8883E11CBC8CCC00626AD7 /* PolyCollisionScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DB1CBC8CCC00626AD7 /* PolyCollisionScene.h */; };
+		6D8883E21CBC8CCC00626AD7 /* PolyCollisionSceneEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DC1CBC8CCC00626AD7 /* PolyCollisionSceneEntity.h */; };
+		6D8883E31CBC8CCC00626AD7 /* PolyPhysicsConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DD1CBC8CCC00626AD7 /* PolyPhysicsConstraint.h */; };
+		6D8883E41CBC8CCC00626AD7 /* PolyPhysicsScene.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DE1CBC8CCC00626AD7 /* PolyPhysicsScene.h */; };
+		6D8883E51CBC8CCC00626AD7 /* PolyPhysicsSceneEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8883DF1CBC8CCC00626AD7 /* PolyPhysicsSceneEntity.h */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		6DE288331BE96E1B00F7B42C /* libPolycode3DPhsyics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPolycode3DPhsyics.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		6DE2883C1BE96E5000F7B42C /* Polycode3DPhysics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Polycode3DPhysics.h; path = ../../../include/polycode/modules/physics3D/Polycode3DPhysics.h; sourceTree = "<group>"; };
-		6DE2883D1BE96E5000F7B42C /* PolyCollisionScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyCollisionScene.h; path = ../../../include/polycode/modules/physics3D/PolyCollisionScene.h; sourceTree = "<group>"; };
-		6DE2883E1BE96E5000F7B42C /* PolyCollisionSceneEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyCollisionSceneEntity.h; path = ../../../include/polycode/modules/physics3D/PolyCollisionSceneEntity.h; sourceTree = "<group>"; };
-		6DE2883F1BE96E5000F7B42C /* PolyPhysicsConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsConstraint.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsConstraint.h; sourceTree = "<group>"; };
-		6DE288401BE96E5000F7B42C /* PolyPhysicsScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsScene.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsScene.h; sourceTree = "<group>"; };
-		6DE288411BE96E5000F7B42C /* PolyPhysicsSceneEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsSceneEntity.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsSceneEntity.h; sourceTree = "<group>"; };
-		6DE288481BE96E5D00F7B42C /* PolyCollisionScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyCollisionScene.cpp; path = ../../../src/modules/physics3D/PolyCollisionScene.cpp; sourceTree = "<group>"; };
-		6DE288491BE96E5D00F7B42C /* PolyCollisionSceneEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyCollisionSceneEntity.cpp; path = ../../../src/modules/physics3D/PolyCollisionSceneEntity.cpp; sourceTree = "<group>"; };
-		6DE2884A1BE96E5D00F7B42C /* PolyPhysicsConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsConstraint.cpp; path = ../../../src/modules/physics3D/PolyPhysicsConstraint.cpp; sourceTree = "<group>"; };
-		6DE2884B1BE96E5D00F7B42C /* PolyPhysicsScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsScene.cpp; path = ../../../src/modules/physics3D/PolyPhysicsScene.cpp; sourceTree = "<group>"; };
-		6DE2884C1BE96E5D00F7B42C /* PolyPhysicsSceneEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsSceneEntity.cpp; path = ../../../src/modules/physics3D/PolyPhysicsSceneEntity.cpp; sourceTree = "<group>"; };
+		6D8883BB1CBC8B6900626AD7 /* libPolycode3DPhysics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPolycode3DPhysics.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		6D8883C41CBC8B8300626AD7 /* PolyCollisionScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyCollisionScene.cpp; path = ../../../src/modules/physics3D/PolyCollisionScene.cpp; sourceTree = "<group>"; };
+		6D8883C51CBC8B8300626AD7 /* PolyCollisionSceneEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyCollisionSceneEntity.cpp; path = ../../../src/modules/physics3D/PolyCollisionSceneEntity.cpp; sourceTree = "<group>"; };
+		6D8883C61CBC8B8300626AD7 /* PolyPhysicsConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsConstraint.cpp; path = ../../../src/modules/physics3D/PolyPhysicsConstraint.cpp; sourceTree = "<group>"; };
+		6D8883C71CBC8B8300626AD7 /* PolyPhysicsScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsScene.cpp; path = ../../../src/modules/physics3D/PolyPhysicsScene.cpp; sourceTree = "<group>"; };
+		6D8883C81CBC8B8300626AD7 /* PolyPhysicsSceneEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PolyPhysicsSceneEntity.cpp; path = ../../../src/modules/physics3D/PolyPhysicsSceneEntity.cpp; sourceTree = "<group>"; };
+		6D8883DA1CBC8CCC00626AD7 /* Polycode3DPhysics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Polycode3DPhysics.h; path = ../../../include/polycode/modules/physics3D/Polycode3DPhysics.h; sourceTree = "<group>"; };
+		6D8883DB1CBC8CCC00626AD7 /* PolyCollisionScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyCollisionScene.h; path = ../../../include/polycode/modules/physics3D/PolyCollisionScene.h; sourceTree = "<group>"; };
+		6D8883DC1CBC8CCC00626AD7 /* PolyCollisionSceneEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyCollisionSceneEntity.h; path = ../../../include/polycode/modules/physics3D/PolyCollisionSceneEntity.h; sourceTree = "<group>"; };
+		6D8883DD1CBC8CCC00626AD7 /* PolyPhysicsConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsConstraint.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsConstraint.h; sourceTree = "<group>"; };
+		6D8883DE1CBC8CCC00626AD7 /* PolyPhysicsScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsScene.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsScene.h; sourceTree = "<group>"; };
+		6D8883DF1CBC8CCC00626AD7 /* PolyPhysicsSceneEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolyPhysicsSceneEntity.h; path = ../../../include/polycode/modules/physics3D/PolyPhysicsSceneEntity.h; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
-		6DE288301BE96E1B00F7B42C /* Frameworks */ = {
+		6D8883B81CBC8B6900626AD7 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
@@ -46,149 +46,132 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
-		6DE2882A1BE96E1B00F7B42C = {
+		6D8883B21CBC8B6900626AD7 = {
 			isa = PBXGroup;
 			children = (
-				6DE2883B1BE96E3E00F7B42C /* include */,
-				6DE2883A1BE96E3600F7B42C /* src */,
-				6DE288341BE96E1B00F7B42C /* Products */,
+				6D8883C31CBC8B7700626AD7 /* src */,
+				6D8883C21CBC8B7000626AD7 /* include */,
+				6D8883BC1CBC8B6900626AD7 /* Products */,
 			);
 			sourceTree = "<group>";
 		};
-		6DE288341BE96E1B00F7B42C /* Products */ = {
+		6D8883BC1CBC8B6900626AD7 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				6DE288331BE96E1B00F7B42C /* libPolycode3DPhsyics.a */,
+				6D8883BB1CBC8B6900626AD7 /* libPolycode3DPhysics.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
 		};
-		6DE2883A1BE96E3600F7B42C /* src */ = {
+		6D8883C21CBC8B7000626AD7 /* include */ = {
 			isa = PBXGroup;
 			children = (
-				6DE288481BE96E5D00F7B42C /* PolyCollisionScene.cpp */,
-				6DE288491BE96E5D00F7B42C /* PolyCollisionSceneEntity.cpp */,
-				6DE2884A1BE96E5D00F7B42C /* PolyPhysicsConstraint.cpp */,
-				6DE2884B1BE96E5D00F7B42C /* PolyPhysicsScene.cpp */,
-				6DE2884C1BE96E5D00F7B42C /* PolyPhysicsSceneEntity.cpp */,
+				6D8883DA1CBC8CCC00626AD7 /* Polycode3DPhysics.h */,
+				6D8883DB1CBC8CCC00626AD7 /* PolyCollisionScene.h */,
+				6D8883DC1CBC8CCC00626AD7 /* PolyCollisionSceneEntity.h */,
+				6D8883DD1CBC8CCC00626AD7 /* PolyPhysicsConstraint.h */,
+				6D8883DE1CBC8CCC00626AD7 /* PolyPhysicsScene.h */,
+				6D8883DF1CBC8CCC00626AD7 /* PolyPhysicsSceneEntity.h */,
 			);
-			name = src;
+			name = include;
 			sourceTree = "<group>";
 		};
-		6DE2883B1BE96E3E00F7B42C /* include */ = {
+		6D8883C31CBC8B7700626AD7 /* src */ = {
 			isa = PBXGroup;
 			children = (
-				6DE2883C1BE96E5000F7B42C /* Polycode3DPhysics.h */,
-				6DE2883D1BE96E5000F7B42C /* PolyCollisionScene.h */,
-				6DE2883E1BE96E5000F7B42C /* PolyCollisionSceneEntity.h */,
-				6DE2883F1BE96E5000F7B42C /* PolyPhysicsConstraint.h */,
-				6DE288401BE96E5000F7B42C /* PolyPhysicsScene.h */,
-				6DE288411BE96E5000F7B42C /* PolyPhysicsSceneEntity.h */,
+				6D8883C41CBC8B8300626AD7 /* PolyCollisionScene.cpp */,
+				6D8883C51CBC8B8300626AD7 /* PolyCollisionSceneEntity.cpp */,
+				6D8883C61CBC8B8300626AD7 /* PolyPhysicsConstraint.cpp */,
+				6D8883C71CBC8B8300626AD7 /* PolyPhysicsScene.cpp */,
+				6D8883C81CBC8B8300626AD7 /* PolyPhysicsSceneEntity.cpp */,
 			);
-			name = include;
+			name = src;
 			sourceTree = "<group>";
 		};
 /* End PBXGroup section */
 
 /* Begin PBXHeadersBuildPhase section */
-		6DE288311BE96E1B00F7B42C /* Headers */ = {
+		6D8883B91CBC8B6900626AD7 /* Headers */ = {
 			isa = PBXHeadersBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				6DE288471BE96E5000F7B42C /* PolyPhysicsSceneEntity.h in Headers */,
-				6DE288431BE96E5000F7B42C /* PolyCollisionScene.h in Headers */,
-				6DE288451BE96E5000F7B42C /* PolyPhysicsConstraint.h in Headers */,
-				6DE288441BE96E5000F7B42C /* PolyCollisionSceneEntity.h in Headers */,
-				6DE288421BE96E5000F7B42C /* Polycode3DPhysics.h in Headers */,
-				6DE288461BE96E5000F7B42C /* PolyPhysicsScene.h in Headers */,
+				6D8883E51CBC8CCC00626AD7 /* PolyPhysicsSceneEntity.h in Headers */,
+				6D8883E11CBC8CCC00626AD7 /* PolyCollisionScene.h in Headers */,
+				6D8883E31CBC8CCC00626AD7 /* PolyPhysicsConstraint.h in Headers */,
+				6D8883E21CBC8CCC00626AD7 /* PolyCollisionSceneEntity.h in Headers */,
+				6D8883E01CBC8CCC00626AD7 /* Polycode3DPhysics.h in Headers */,
+				6D8883E41CBC8CCC00626AD7 /* PolyPhysicsScene.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXHeadersBuildPhase section */
 
 /* Begin PBXNativeTarget section */
-		6DE288321BE96E1B00F7B42C /* Polycode3DPhsyics */ = {
+		6D8883BA1CBC8B6900626AD7 /* Polycode3DPhysics */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = 6DE288371BE96E1B00F7B42C /* Build configuration list for PBXNativeTarget "Polycode3DPhsyics" */;
+			buildConfigurationList = 6D8883BF1CBC8B6900626AD7 /* Build configuration list for PBXNativeTarget "Polycode3DPhysics" */;
 			buildPhases = (
-				6DE2882F1BE96E1B00F7B42C /* Sources */,
-				6DE288301BE96E1B00F7B42C /* Frameworks */,
-				6DE288311BE96E1B00F7B42C /* Headers */,
-				6DE288521BE9718100F7B42C /* ShellScript */,
+				6D8883B71CBC8B6900626AD7 /* Sources */,
+				6D8883B81CBC8B6900626AD7 /* Frameworks */,
+				6D8883B91CBC8B6900626AD7 /* Headers */,
 			);
 			buildRules = (
 			);
 			dependencies = (
 			);
-			name = Polycode3DPhsyics;
-			productName = Polycode3DPhsyics;
-			productReference = 6DE288331BE96E1B00F7B42C /* libPolycode3DPhsyics.a */;
+			name = Polycode3DPhysics;
+			productName = Polycode3DPhysics;
+			productReference = 6D8883BB1CBC8B6900626AD7 /* libPolycode3DPhysics.a */;
 			productType = "com.apple.product-type.library.static";
 		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
-		6DE2882B1BE96E1B00F7B42C /* Project object */ = {
+		6D8883B31CBC8B6900626AD7 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
-				LastUpgradeCheck = 0630;
+				LastUpgradeCheck = 0720;
 				ORGANIZATIONNAME = "Ivan Safrin";
 				TargetAttributes = {
-					6DE288321BE96E1B00F7B42C = {
-						CreatedOnToolsVersion = 6.3.2;
+					6D8883BA1CBC8B6900626AD7 = {
+						CreatedOnToolsVersion = 7.2;
 					};
 				};
 			};
-			buildConfigurationList = 6DE2882E1BE96E1B00F7B42C /* Build configuration list for PBXProject "Polycode3DPhsyics" */;
+			buildConfigurationList = 6D8883B61CBC8B6900626AD7 /* Build configuration list for PBXProject "Polycode3DPhysics" */;
 			compatibilityVersion = "Xcode 3.2";
 			developmentRegion = English;
 			hasScannedForEncodings = 0;
 			knownRegions = (
 				en,
 			);
-			mainGroup = 6DE2882A1BE96E1B00F7B42C;
-			productRefGroup = 6DE288341BE96E1B00F7B42C /* Products */;
+			mainGroup = 6D8883B21CBC8B6900626AD7;
+			productRefGroup = 6D8883BC1CBC8B6900626AD7 /* Products */;
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
-				6DE288321BE96E1B00F7B42C /* Polycode3DPhsyics */,
+				6D8883BA1CBC8B6900626AD7 /* Polycode3DPhysics */,
 			);
 		};
 /* End PBXProject section */
 
-/* Begin PBXShellScriptBuildPhase section */
-		6DE288521BE9718100F7B42C /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "cp $TARGET_BUILD_DIR//$EXECUTABLE_NAME ../../../lib/osx";
-		};
-/* End PBXShellScriptBuildPhase section */
-
 /* Begin PBXSourcesBuildPhase section */
-		6DE2882F1BE96E1B00F7B42C /* Sources */ = {
+		6D8883B71CBC8B6900626AD7 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				6DE288511BE96E5D00F7B42C /* PolyPhysicsSceneEntity.cpp in Sources */,
-				6DE2884E1BE96E5D00F7B42C /* PolyCollisionSceneEntity.cpp in Sources */,
-				6DE2884D1BE96E5D00F7B42C /* PolyCollisionScene.cpp in Sources */,
-				6DE288501BE96E5D00F7B42C /* PolyPhysicsScene.cpp in Sources */,
-				6DE2884F1BE96E5D00F7B42C /* PolyPhysicsConstraint.cpp in Sources */,
+				6D8883CD1CBC8B8300626AD7 /* PolyPhysicsSceneEntity.cpp in Sources */,
+				6D8883CA1CBC8B8300626AD7 /* PolyCollisionSceneEntity.cpp in Sources */,
+				6D8883C91CBC8B8300626AD7 /* PolyCollisionScene.cpp in Sources */,
+				6D8883CC1CBC8B8300626AD7 /* PolyPhysicsScene.cpp in Sources */,
+				6D8883CB1CBC8B8300626AD7 /* PolyPhysicsConstraint.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXSourcesBuildPhase section */
 
 /* Begin XCBuildConfiguration section */
-		6DE288351BE96E1B00F7B42C /* Debug */ = {
+		6D8883BD1CBC8B6900626AD7 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
@@ -205,9 +188,11 @@
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CODE_SIGN_IDENTITY = "-";
 				COPY_PHASE_STRIP = NO;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_NO_COMMON_BLOCKS = YES;
@@ -216,7 +201,6 @@
 					"DEBUG=1",
 					"$(inherited)",
 				);
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -230,7 +214,7 @@
 			};
 			name = Debug;
 		};
-		6DE288361BE96E1B00F7B42C /* Release */ = {
+		6D8883BE1CBC8B6900626AD7 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
@@ -247,6 +231,7 @@
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CODE_SIGN_IDENTITY = "-";
 				COPY_PHASE_STRIP = NO;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				ENABLE_NS_ASSERTIONS = NO;
@@ -265,28 +250,20 @@
 			};
 			name = Release;
 		};
-		6DE288381BE96E1B00F7B42C /* Debug */ = {
+		6D8883C01CBC8B6900626AD7 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				EXECUTABLE_PREFIX = lib;
-				HEADER_SEARCH_PATHS = (
-					"$(inherited)",
-					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
-					"\"$(SRCROOT)/../../../include\"",
-				);
+				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../include\"";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
 			name = Debug;
 		};
-		6DE288391BE96E1B00F7B42C /* Release */ = {
+		6D8883C11CBC8B6900626AD7 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				EXECUTABLE_PREFIX = lib;
-				HEADER_SEARCH_PATHS = (
-					"$(inherited)",
-					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
-					"\"$(SRCROOT)/../../../include\"",
-				);
+				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../../include\"";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
 			name = Release;
@@ -294,24 +271,24 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
-		6DE2882E1BE96E1B00F7B42C /* Build configuration list for PBXProject "Polycode3DPhsyics" */ = {
+		6D8883B61CBC8B6900626AD7 /* Build configuration list for PBXProject "Polycode3DPhysics" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				6DE288351BE96E1B00F7B42C /* Debug */,
-				6DE288361BE96E1B00F7B42C /* Release */,
+				6D8883BD1CBC8B6900626AD7 /* Debug */,
+				6D8883BE1CBC8B6900626AD7 /* Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		6DE288371BE96E1B00F7B42C /* Build configuration list for PBXNativeTarget "Polycode3DPhsyics" */ = {
+		6D8883BF1CBC8B6900626AD7 /* Build configuration list for PBXNativeTarget "Polycode3DPhysics" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
-				6DE288381BE96E1B00F7B42C /* Debug */,
-				6DE288391BE96E1B00F7B42C /* Release */,
+				6D8883C01CBC8B6900626AD7 /* Debug */,
+				6D8883C11CBC8B6900626AD7 /* Release */,
 			);
 			defaultConfigurationIsVisible = 0;
 		};
 /* End XCConfigurationList section */
 	};
-	rootObject = 6DE2882B1BE96E1B00F7B42C /* Project object */;
+	rootObject = 6D8883B31CBC8B6900626AD7 /* Project object */;
 }

+ 4 - 5
include/polycode/modules/physics3D/Polycode3DPhysics.h

@@ -24,8 +24,7 @@ THE SOFTWARE.
 
 #include "btBulletCollisionCommon.h"
 #include "btBulletDynamicsCommon.h"
-
-#include "PolyCollisionScene.h"
-#include "PolyCollisionSceneEntity.h"
-#include "PolyPhysicsScene.h"
-#include "PolyPhysicsSceneEntity.h"
+#include "polycode/modules/physics3D/PolyCollisionScene.h"
+#include "polycode/modules/physics3D/PolyCollisionSceneEntity.h"
+#include "polycode/modules/physics3D/PolyPhysicsScene.h"
+#include "polycode/modules/physics3D/PolyPhysicsSceneEntity.h"

+ 3 - 0
src/core/PolyMaterial.cpp

@@ -99,6 +99,9 @@ void ShaderPass::setExpectedAttributes() {
     if(!shader || !shaderBinding) {
         return;
     }
+    for(int i=0; i < shaderBinding->attributes.size(); i++) {
+        delete shaderBinding->attributes[i];
+    }
     shaderBinding->attributes.clear();
     
     for(int i=0; i < shader->expectedAttributes.size(); i++) {

+ 2 - 2
src/core/PolyRenderer.cpp

@@ -88,7 +88,8 @@ void RenderThread::runThread() {
             nextFrame = frameQueue.front();
             frameQueue.pop();
         }
-        // RENDERER_TODO: Unlock mutex here?
+
+        Services()->getCore()->unlockMutex(jobQueueMutex);
            
         if(nextFrame) {
             while(nextFrame->jobQueue.size() > 0) {
@@ -98,7 +99,6 @@ void RenderThread::runThread() {
             }
             delete nextFrame;
         }
-        Services()->getCore()->unlockMutex(jobQueueMutex);
     }
 }
 

+ 7 - 7
src/core/PolySceneLabel.cpp

@@ -107,13 +107,11 @@ void SceneLabel::updateFromLabel() {
 
 	MaterialManager *materialManager = CoreServices::getInstance()->getMaterialManager();
     LocalShaderParam *textureParam = getShaderPass(0).shaderBinding->getLocalParamByName("diffuse");
+    
+    Texture *oldTexture = NULL;
     if(textureParam) {
-        Texture *currentTexture = textureParam->getTexture();
-        if(currentTexture) {
-            textureParam->ownsPointer = false;
-            getShaderPass(0).shaderBinding->removeParam("diffuse");
-            materialManager->deleteTexture(currentTexture);
-        }
+        oldTexture = textureParam->getTexture();
+        textureParam->ownsPointer = false;
     }
 
     Texture *texture;
@@ -128,7 +126,9 @@ void SceneLabel::updateFromLabel() {
     setLocalBoundingBox(label->getWidth()*labelScale / CoreServices::getInstance()->getRenderer()->getBackingResolutionScaleX(), label->getHeight()*labelScale/ CoreServices::getInstance()->getRenderer()->getBackingResolutionScaleX(), 0.001);
     
     getShaderPass(0).shaderBinding->setTextureForParam("diffuse", texture);
-    
+    if(oldTexture) {
+        materialManager->deleteTexture(oldTexture);
+    }
 }
 
 void SceneLabel::Render(GPUDrawBuffer *buffer) {

+ 5 - 1
src/core/PolyShader.cpp

@@ -138,11 +138,15 @@ LocalShaderParam *ShaderBinding::getLocalParam(unsigned int index) {
 }
 
 LocalShaderParam *ShaderBinding::getLocalParamByName(const String& name) {
+    accessMutex->lock();
 	for(int i=0; i < localParams.size(); i++) {
 		if(localParams[i]->name == name) {
-			return localParams[i];
+            LocalShaderParam *retParam = localParams[i];
+            accessMutex->unlock();
+			return retParam;
 		}
 	}
+    accessMutex->unlock();
 	return NULL;
 }
 

+ 1 - 1
src/modules/physics3D/PolyPhysicsConstraint.cpp

@@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
 
-#include "polycode\modules\physics3D\PolyPhysicsConstraint.h"
+#include "polycode/modules/physics3D/PolyPhysicsConstraint.h"
 
 using namespace Polycode;