Synchronized with trunk

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1222 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
LaurentGom 2009-09-24 08:33:34 +00:00
commit a5e20f23ca
18 changed files with 1623 additions and 1143 deletions

View File

@ -245,10 +245,10 @@
A011E5E70F65786600FAE48D /* zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5660F65786600FAE48D /* zlib.h */; }; A011E5E70F65786600FAE48D /* zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5660F65786600FAE48D /* zlib.h */; };
A011E5E80F65786600FAE48D /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5670F65786600FAE48D /* zutil.c */; }; A011E5E80F65786600FAE48D /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5670F65786600FAE48D /* zutil.c */; };
A011E5E90F65786600FAE48D /* zutil.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5680F65786600FAE48D /* zutil.h */; }; A011E5E90F65786600FAE48D /* zutil.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5680F65786600FAE48D /* zutil.h */; };
A011E5FB0F65791B00FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; A011E5FB0F65791B00FAE48D /* libcsfml-system-d.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */; };
A011E6060F65797100FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; A011E6060F65797100FAE48D /* libcsfml-system-d.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */; };
A011E6140F6579CA00FAE48D /* libcsfml-window.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */; }; A011E6140F6579CA00FAE48D /* libcsfml-window-d.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E38F0F6574B500FAE48D /* libcsfml-window-d.dylib */; };
A011E6170F6579D100FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; A011E6170F6579D100FAE48D /* libcsfml-system-d.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -290,11 +290,11 @@
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
A011E3720F65749300FAE48D /* libcsfml-system.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-system.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-system-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-network.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A011E37D0F65749F00FAE48D /* libcsfml-network-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-network-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-audio.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A011E3860F6574AC00FAE48D /* libcsfml-audio-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-audio-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-window.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A011E38F0F6574B500FAE48D /* libcsfml-window-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-window-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-graphics.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A011E3980F6574BE00FAE48D /* libcsfml-graphics-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-graphics-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A011E3A40F6574E400FAE48D /* SFML-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SFML-Info.plist"; sourceTree = "<group>"; }; A011E3A40F6574E400FAE48D /* SFML-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SFML-Info.plist"; sourceTree = "<group>"; };
A011E3DE0F65776B00FAE48D /* Sleep.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sleep.cpp; path = ../src/SFML/System/Sleep.cpp; sourceTree = SOURCE_ROOT; }; A011E3DE0F65776B00FAE48D /* Sleep.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sleep.cpp; path = ../src/SFML/System/Sleep.cpp; sourceTree = SOURCE_ROOT; };
A011E3DF0F65776B00FAE48D /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Thread.cpp; path = ../src/SFML/System/Thread.cpp; sourceTree = SOURCE_ROOT; }; A011E3DF0F65776B00FAE48D /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Thread.cpp; path = ../src/SFML/System/Thread.cpp; sourceTree = SOURCE_ROOT; };
@ -537,7 +537,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A011E5FB0F65791B00FAE48D /* libcsfml-system.dylib in Frameworks */, A011E5FB0F65791B00FAE48D /* libcsfml-system-d.dylib in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -545,7 +545,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A011E6060F65797100FAE48D /* libcsfml-system.dylib in Frameworks */, A011E6060F65797100FAE48D /* libcsfml-system-d.dylib in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -553,8 +553,8 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A011E6140F6579CA00FAE48D /* libcsfml-window.dylib in Frameworks */, A011E6140F6579CA00FAE48D /* libcsfml-window-d.dylib in Frameworks */,
A011E6170F6579D100FAE48D /* libcsfml-system.dylib in Frameworks */, A011E6170F6579D100FAE48D /* libcsfml-system-d.dylib in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -577,11 +577,11 @@
A011E3730F65749300FAE48D /* Products */ = { A011E3730F65749300FAE48D /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A011E3720F65749300FAE48D /* libcsfml-system.dylib */, A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */,
A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */, A011E37D0F65749F00FAE48D /* libcsfml-network-d.dylib */,
A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */, A011E3860F6574AC00FAE48D /* libcsfml-audio-d.dylib */,
A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */, A011E38F0F6574B500FAE48D /* libcsfml-window-d.dylib */,
A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */, A011E3980F6574BE00FAE48D /* libcsfml-graphics-d.dylib */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -663,7 +663,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A011E4250F65780E00FAE48D /* Clock.cpp */, A011E4250F65780E00FAE48D /* Clock.cpp */,
A011E4260F65780E00FAE48D /* Initializer.cpp */,
A011E4270F65780E00FAE48D /* Lock.cpp */, A011E4270F65780E00FAE48D /* Lock.cpp */,
A011E4290F65780E00FAE48D /* Platform.hpp */, A011E4290F65780E00FAE48D /* Platform.hpp */,
A011E42A0F65780E00FAE48D /* Randomizer.cpp */, A011E42A0F65780E00FAE48D /* Randomizer.cpp */,
@ -678,6 +677,7 @@
A011E42D0F65780E00FAE48D /* Unix */ = { A011E42D0F65780E00FAE48D /* Unix */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A011E4260F65780E00FAE48D /* Initializer.cpp */,
A011E42E0F65780E00FAE48D /* Mutex.cpp */, A011E42E0F65780E00FAE48D /* Mutex.cpp */,
A011E42F0F65780E00FAE48D /* Platform.cpp */, A011E42F0F65780E00FAE48D /* Platform.cpp */,
A011E4300F65780E00FAE48D /* Platform.hpp */, A011E4300F65780E00FAE48D /* Platform.hpp */,
@ -1076,7 +1076,7 @@
); );
name = "csfml-system"; name = "csfml-system";
productName = "csfml-system"; productName = "csfml-system";
productReference = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; productReference = A011E3720F65749300FAE48D /* libcsfml-system-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A011E37C0F65749F00FAE48D /* csfml-network */ = { A011E37C0F65749F00FAE48D /* csfml-network */ = {
@ -1093,7 +1093,7 @@
); );
name = "csfml-network"; name = "csfml-network";
productName = "csfml-network"; productName = "csfml-network";
productReference = A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */; productReference = A011E37D0F65749F00FAE48D /* libcsfml-network-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A011E3850F6574AC00FAE48D /* csfml-audio */ = { A011E3850F6574AC00FAE48D /* csfml-audio */ = {
@ -1110,7 +1110,7 @@
); );
name = "csfml-audio"; name = "csfml-audio";
productName = "csfml-audio"; productName = "csfml-audio";
productReference = A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */; productReference = A011E3860F6574AC00FAE48D /* libcsfml-audio-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A011E38E0F6574B500FAE48D /* csfml-window */ = { A011E38E0F6574B500FAE48D /* csfml-window */ = {
@ -1127,7 +1127,7 @@
); );
name = "csfml-window"; name = "csfml-window";
productName = "csfml-window"; productName = "csfml-window";
productReference = A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */; productReference = A011E38F0F6574B500FAE48D /* libcsfml-window-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A011E3970F6574BE00FAE48D /* csfml-graphics */ = { A011E3970F6574BE00FAE48D /* csfml-graphics */ = {
@ -1144,7 +1144,7 @@
); );
name = "csfml-graphics"; name = "csfml-graphics";
productName = "csfml-graphics"; productName = "csfml-graphics";
productReference = A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */; productReference = A011E3980F6574BE00FAE48D /* libcsfml-graphics-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@ -1417,6 +1417,7 @@
); );
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS; GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS;
GCC_VERSION = 4.0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
@ -1465,6 +1466,7 @@
); );
GCC_OPTIMIZATION_LEVEL = 2; GCC_OPTIMIZATION_LEVEL = 2;
GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS; GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS;
GCC_VERSION = 4.0;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../src", "$(SRCROOT)/../src",
"$(SRCROOT)/../include", "$(SRCROOT)/../include",

View File

@ -698,7 +698,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A011E4250F65780E00FAE48D /* Clock.cpp */, A011E4250F65780E00FAE48D /* Clock.cpp */,
A011E4260F65780E00FAE48D /* Initializer.cpp */,
A011E4270F65780E00FAE48D /* Lock.cpp */, A011E4270F65780E00FAE48D /* Lock.cpp */,
A011E4290F65780E00FAE48D /* Platform.hpp */, A011E4290F65780E00FAE48D /* Platform.hpp */,
A011E42A0F65780E00FAE48D /* Randomizer.cpp */, A011E42A0F65780E00FAE48D /* Randomizer.cpp */,
@ -713,6 +712,7 @@
A011E42D0F65780E00FAE48D /* Unix */ = { A011E42D0F65780E00FAE48D /* Unix */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A011E4260F65780E00FAE48D /* Initializer.cpp */,
A011E42E0F65780E00FAE48D /* Mutex.cpp */, A011E42E0F65780E00FAE48D /* Mutex.cpp */,
A011E42F0F65780E00FAE48D /* Platform.cpp */, A011E42F0F65780E00FAE48D /* Platform.cpp */,
A011E4300F65780E00FAE48D /* Platform.hpp */, A011E4300F65780E00FAE48D /* Platform.hpp */,
@ -1606,6 +1606,7 @@
); );
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS; GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS;
GCC_VERSION = 4.0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
@ -1654,6 +1655,7 @@
); );
GCC_OPTIMIZATION_LEVEL = 2; GCC_OPTIMIZATION_LEVEL = 2;
GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS; GCC_PREPROCESSOR_DEFINITIONS = CSFML_EXPORTS;
GCC_VERSION = 4.0;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"$(SRCROOT)/../src", "$(SRCROOT)/../src",
"$(SRCROOT)/../include", "$(SRCROOT)/../include",

View File

@ -157,7 +157,7 @@
A066106A0E89058900D39DEB /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FE90E89058900D39DEB /* trees.c */; }; A066106A0E89058900D39DEB /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FE90E89058900D39DEB /* trees.c */; };
A066106C0E89058900D39DEB /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FEB0E89058900D39DEB /* uncompr.c */; }; A066106C0E89058900D39DEB /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FEB0E89058900D39DEB /* uncompr.c */; };
A066106F0E89058900D39DEB /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FEE0E89058900D39DEB /* zutil.c */; }; A066106F0E89058900D39DEB /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A0660FEE0E89058900D39DEB /* zutil.c */; };
A0ABBD570FD46A2200D528E9 /* libsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A01269660E6318C000B96A5D /* libsfml-system.dylib */; }; A0ABBD570FD46A2200D528E9 /* libsfml-system-d.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A01269660E6318C000B96A5D /* libsfml-system-d.dylib */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -201,14 +201,14 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
A011E8050F65B35400FAE48D /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = "<group>"; }; A011E8050F65B35400FAE48D /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = "<group>"; };
A011E8060F65B35400FAE48D /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = "<group>"; }; A011E8060F65B35400FAE48D /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = "<group>"; };
A01269660E6318C000B96A5D /* libsfml-system.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-system.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A01269660E6318C000B96A5D /* libsfml-system-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-system-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A012696F0E6318FE00B96A5D /* libsfml-network.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-network.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-network-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A01269760E63190F00B96A5D /* libsfml-audio.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-audio.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-audio-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A012697D0E63192000B96A5D /* libsfml-window.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-window.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A012697D0E63192000B96A5D /* libsfml-window-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-window-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A01269840E63192B00B96A5D /* libsfml-graphics.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-graphics.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-graphics-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
A018A2AD0EA21A2C005FFAC3 /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../../src/SFML/Network/Http.cpp; sourceTree = SOURCE_ROOT; }; A018A2AD0EA21A2C005FFAC3 /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../../src/SFML/Network/Http.cpp; sourceTree = SOURCE_ROOT; };
A018A2AE0EA21A2C005FFAC3 /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Ftp.cpp; path = ../../src/SFML/Network/Ftp.cpp; sourceTree = SOURCE_ROOT; }; A018A2AE0EA21A2C005FFAC3 /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Ftp.cpp; path = ../../src/SFML/Network/Ftp.cpp; sourceTree = SOURCE_ROOT; };
A01BEF070F6BF0140095262C /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Initializer.cpp; path = ../../src/SFML/System/Initializer.cpp; sourceTree = SOURCE_ROOT; }; A01BEF070F6BF0140095262C /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Initializer.cpp; sourceTree = "<group>"; };
A04C5A930EDDD88B00935061 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ../../src/SFML/Window/Cocoa/AppController.h; sourceTree = SOURCE_ROOT; }; A04C5A930EDDD88B00935061 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ../../src/SFML/Window/Cocoa/AppController.h; sourceTree = SOURCE_ROOT; };
A04C5A940EDDD88B00935061 /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = AppController.mm; path = ../../src/SFML/Window/Cocoa/AppController.mm; sourceTree = SOURCE_ROOT; }; A04C5A940EDDD88B00935061 /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = AppController.mm; path = ../../src/SFML/Window/Cocoa/AppController.mm; sourceTree = SOURCE_ROOT; };
A04C5A950EDDD88B00935061 /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Joystick.cpp; path = ../../src/SFML/Window/Cocoa/Joystick.cpp; sourceTree = SOURCE_ROOT; }; A04C5A950EDDD88B00935061 /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Joystick.cpp; path = ../../src/SFML/Window/Cocoa/Joystick.cpp; sourceTree = SOURCE_ROOT; };
@ -409,7 +409,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A0ABBD570FD46A2200D528E9 /* libsfml-system.dylib in Frameworks */, A0ABBD570FD46A2200D528E9 /* libsfml-system-d.dylib in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -445,11 +445,11 @@
A01269670E6318C000B96A5D /* Products */ = { A01269670E6318C000B96A5D /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A01269660E6318C000B96A5D /* libsfml-system.dylib */, A01269660E6318C000B96A5D /* libsfml-system-d.dylib */,
A012696F0E6318FE00B96A5D /* libsfml-network.dylib */, A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */,
A01269760E63190F00B96A5D /* libsfml-audio.dylib */, A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */,
A012697D0E63192000B96A5D /* libsfml-window.dylib */, A012697D0E63192000B96A5D /* libsfml-window-d.dylib */,
A01269840E63192B00B96A5D /* libsfml-graphics.dylib */, A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -457,7 +457,6 @@
A01269870E63193B00B96A5D /* sfml-system */ = { A01269870E63193B00B96A5D /* sfml-system */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A01BEF070F6BF0140095262C /* Initializer.cpp */,
A0660EA90E89051400D39DEB /* Clock.cpp */, A0660EA90E89051400D39DEB /* Clock.cpp */,
A0660EAA0E89051400D39DEB /* Platform.hpp */, A0660EAA0E89051400D39DEB /* Platform.hpp */,
A0660EAB0E89051400D39DEB /* Lock.cpp */, A0660EAB0E89051400D39DEB /* Lock.cpp */,
@ -577,6 +576,7 @@
A0660EAE0E89051400D39DEB /* Unix */ = { A0660EAE0E89051400D39DEB /* Unix */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A01BEF070F6BF0140095262C /* Initializer.cpp */,
A0660EAF0E89051400D39DEB /* Mutex.cpp */, A0660EAF0E89051400D39DEB /* Mutex.cpp */,
A0660EB00E89051400D39DEB /* Platform.cpp */, A0660EB00E89051400D39DEB /* Platform.cpp */,
A0660EB10E89051400D39DEB /* Platform.hpp */, A0660EB10E89051400D39DEB /* Platform.hpp */,
@ -770,7 +770,7 @@
); );
name = "sfml-system"; name = "sfml-system";
productName = "sfml-system"; productName = "sfml-system";
productReference = A01269660E6318C000B96A5D /* libsfml-system.dylib */; productReference = A01269660E6318C000B96A5D /* libsfml-system-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A012696E0E6318FE00B96A5D /* sfml-network */ = { A012696E0E6318FE00B96A5D /* sfml-network */ = {
@ -786,7 +786,7 @@
); );
name = "sfml-network"; name = "sfml-network";
productName = "sfml-network"; productName = "sfml-network";
productReference = A012696F0E6318FE00B96A5D /* libsfml-network.dylib */; productReference = A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A01269750E63190F00B96A5D /* sfml-audio */ = { A01269750E63190F00B96A5D /* sfml-audio */ = {
@ -802,7 +802,7 @@
); );
name = "sfml-audio"; name = "sfml-audio";
productName = "sfml-audio"; productName = "sfml-audio";
productReference = A01269760E63190F00B96A5D /* libsfml-audio.dylib */; productReference = A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A012697C0E63192000B96A5D /* sfml-window */ = { A012697C0E63192000B96A5D /* sfml-window */ = {
@ -818,7 +818,7 @@
); );
name = "sfml-window"; name = "sfml-window";
productName = "sfml-window"; productName = "sfml-window";
productReference = A012697D0E63192000B96A5D /* libsfml-window.dylib */; productReference = A012697D0E63192000B96A5D /* libsfml-window-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
A01269830E63192B00B96A5D /* sfml-graphics */ = { A01269830E63192B00B96A5D /* sfml-graphics */ = {
@ -834,7 +834,7 @@
); );
name = "sfml-graphics"; name = "sfml-graphics";
productName = "sfml-graphics"; productName = "sfml-graphics";
productReference = A01269840E63192B00B96A5D /* libsfml-graphics.dylib */; productReference = A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */;
productType = "com.apple.product-type.library.dynamic"; productType = "com.apple.product-type.library.dynamic";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@ -1067,6 +1067,7 @@
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin"; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin";
GCC_VERSION = 4.0;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"${SRCROOT}/../../src", "${SRCROOT}/../../src",
"${SRCROOT}/../../include", "${SRCROOT}/../../include",
@ -1088,6 +1089,7 @@
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin"; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin";
GCC_VERSION = 4.0;
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
"${SRCROOT}/../../src", "${SRCROOT}/../../src",
"${SRCROOT}/../../include", "${SRCROOT}/../../include",

View File

@ -56,9 +56,7 @@
A04C59B40EDDBA9C00935061 /* VideoModeSupport.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AA0EDDBA9C00935061 /* VideoModeSupport.hpp */; }; A04C59B40EDDBA9C00935061 /* VideoModeSupport.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AA0EDDBA9C00935061 /* VideoModeSupport.hpp */; };
A04C59B70EDDBA9C00935061 /* WindowImplCocoa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AD0EDDBA9C00935061 /* WindowImplCocoa.hpp */; }; A04C59B70EDDBA9C00935061 /* WindowImplCocoa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AD0EDDBA9C00935061 /* WindowImplCocoa.hpp */; };
A04C59B80EDDBA9C00935061 /* WindowImplCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C59AE0EDDBA9C00935061 /* WindowImplCocoa.mm */; }; A04C59B80EDDBA9C00935061 /* WindowImplCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C59AE0EDDBA9C00935061 /* WindowImplCocoa.mm */; };
A05EEF700E5CF18F00572B7E /* sfml-window.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */; };
A093E3D00D8BF918002236B4 /* dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A093E3CF0D8BF918002236B4 /* dummy.cpp */; }; A093E3D00D8BF918002236B4 /* dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A093E3CF0D8BF918002236B4 /* dummy.cpp */; };
A093E5480D8BFEAE002236B4 /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; };
A09EEBF70D8C19BF00F6C625 /* Platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A09EEBED0D8C19BF00F6C625 /* Platform.hpp */; }; A09EEBF70D8C19BF00F6C625 /* Platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A09EEBED0D8C19BF00F6C625 /* Platform.hpp */; };
A09EEBF80D8C19BF00F6C625 /* Randomizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBEE0D8C19BF00F6C625 /* Randomizer.cpp */; }; A09EEBF80D8C19BF00F6C625 /* Randomizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBEE0D8C19BF00F6C625 /* Randomizer.cpp */; };
A09EEBF90D8C19BF00F6C625 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF00D8C19BF00F6C625 /* Mutex.cpp */; }; A09EEBF90D8C19BF00F6C625 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF00D8C19BF00F6C625 /* Mutex.cpp */; };
@ -68,8 +66,6 @@
A09EEBFD0D8C19BF00F6C625 /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF40D8C19BF00F6C625 /* Clock.cpp */; }; A09EEBFD0D8C19BF00F6C625 /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF40D8C19BF00F6C625 /* Clock.cpp */; };
A09EEBFE0D8C19BF00F6C625 /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF50D8C19BF00F6C625 /* Lock.cpp */; }; A09EEBFE0D8C19BF00F6C625 /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF50D8C19BF00F6C625 /* Lock.cpp */; };
A09EEBFF0D8C19BF00F6C625 /* Sleep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */; }; A09EEBFF0D8C19BF00F6C625 /* Sleep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */; };
A0BE1A200D917332007D4CAD /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; };
A0C93F930D9AA9FA00B9E0C8 /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; };
A0CE9FE70F46F72500FD00CE /* GLKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A0CE9FE50F46F72500FD00CE /* GLKit.h */; }; A0CE9FE70F46F72500FD00CE /* GLKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A0CE9FE50F46F72500FD00CE /* GLKit.h */; };
A0CE9FE80F46F72500FD00CE /* GLKit.mm in Sources */ = {isa = PBXBuildFile; fileRef = A0CE9FE60F46F72500FD00CE /* GLKit.mm */; }; A0CE9FE80F46F72500FD00CE /* GLKit.mm in Sources */ = {isa = PBXBuildFile; fileRef = A0CE9FE60F46F72500FD00CE /* GLKit.mm */; };
A0EEDE990F59D49C0023A7F7 /* Initializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */; }; A0EEDE990F59D49C0023A7F7 /* Initializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */; };
@ -439,7 +435,7 @@
A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-window.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-window.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
A0CE9FE50F46F72500FD00CE /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = "<group>"; }; A0CE9FE50F46F72500FD00CE /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = "<group>"; };
A0CE9FE60F46F72500FD00CE /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = "<group>"; }; A0CE9FE60F46F72500FD00CE /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = "<group>"; };
A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Initializer.cpp; path = ../../src/SFML/System/Initializer.cpp; sourceTree = SOURCE_ROOT; }; A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initializer.cpp; sourceTree = "<group>"; };
A0F1E6800E75440800778F12 /* IPAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IPAddress.cpp; path = ../../src/SFML/Network/IPAddress.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6800E75440800778F12 /* IPAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IPAddress.cpp; path = ../../src/SFML/Network/IPAddress.cpp; sourceTree = SOURCE_ROOT; };
A0F1E6820E75440800778F12 /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Packet.cpp; path = ../../src/SFML/Network/Packet.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6820E75440800778F12 /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Packet.cpp; path = ../../src/SFML/Network/Packet.cpp; sourceTree = SOURCE_ROOT; };
A0F1E6830E75440800778F12 /* SelectorBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SelectorBase.cpp; path = ../../src/SFML/Network/SelectorBase.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6830E75440800778F12 /* SelectorBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SelectorBase.cpp; path = ../../src/SFML/Network/SelectorBase.cpp; sourceTree = SOURCE_ROOT; };
@ -608,7 +604,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A093E5480D8BFEAE002236B4 /* sfml-system.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -616,8 +611,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A0BE1A200D917332007D4CAD /* sfml-system.framework in Frameworks */,
A05EEF700E5CF18F00572B7E /* sfml-window.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -625,7 +618,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A0C93F930D9AA9FA00B9E0C8 /* sfml-system.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -942,7 +934,6 @@
A09EEBF40D8C19BF00F6C625 /* Clock.cpp */, A09EEBF40D8C19BF00F6C625 /* Clock.cpp */,
A09EEBF50D8C19BF00F6C625 /* Lock.cpp */, A09EEBF50D8C19BF00F6C625 /* Lock.cpp */,
A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */, A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */,
A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */,
); );
name = Sources; name = Sources;
sourceTree = SOURCE_ROOT; sourceTree = SOURCE_ROOT;
@ -950,6 +941,7 @@
A09EEBEF0D8C19BF00F6C625 /* Unix */ = { A09EEBEF0D8C19BF00F6C625 /* Unix */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */,
A09EEBF00D8C19BF00F6C625 /* Mutex.cpp */, A09EEBF00D8C19BF00F6C625 /* Mutex.cpp */,
A09EEBF10D8C19BF00F6C625 /* Platform.cpp */, A09EEBF10D8C19BF00F6C625 /* Platform.cpp */,
A09EEBF20D8C19BF00F6C625 /* Platform.hpp */, A09EEBF20D8C19BF00F6C625 /* Platform.hpp */,
@ -1724,7 +1716,7 @@
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin"; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin";
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = ""; GCC_VERSION = 4.0;
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
@ -1758,7 +1750,7 @@
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin"; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin";
GCC_OPTIMIZATION_LEVEL = 2; GCC_OPTIMIZATION_LEVEL = 2;
GCC_VERSION = ""; GCC_VERSION = 4.0;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO;
@ -1885,6 +1877,8 @@
OpenAL, OpenAL,
"-framework", "-framework",
sndfile, sndfile,
"-framework",
"sfml-system-d",
); );
PRODUCT_NAME = "sfml-audio-d"; PRODUCT_NAME = "sfml-audio-d";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -1912,6 +1906,8 @@
OpenAL, OpenAL,
"-framework", "-framework",
sndfile, sndfile,
"-framework",
"sfml-system",
); );
PRODUCT_NAME = "sfml-audio"; PRODUCT_NAME = "sfml-audio";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -1939,6 +1935,10 @@
"-framework", "-framework",
OpenGL, OpenGL,
"$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a", "$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a",
"-framework",
"sfml-system-d",
"-framework",
"sfml-window-d",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-graphics-d"; PRODUCT_NAME = "sfml-graphics-d";
@ -1967,6 +1967,10 @@
"-framework", "-framework",
OpenGL, OpenGL,
"$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a", "$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a",
"-framework",
"sfml-system",
"-framework",
"sfml-window",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-graphics"; PRODUCT_NAME = "sfml-graphics";
@ -1991,7 +1995,6 @@
INFOPLIST_FILE = "sfml-network-Info.plist"; INFOPLIST_FILE = "sfml-network-Info.plist";
INSTALL_PATH = "@executable_path/../Frameworks"; INSTALL_PATH = "@executable_path/../Frameworks";
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-network-d"; PRODUCT_NAME = "sfml-network-d";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -2015,7 +2018,6 @@
INFOPLIST_FILE = "sfml-network-Info.plist"; INFOPLIST_FILE = "sfml-network-Info.plist";
INSTALL_PATH = "@executable_path/../Frameworks"; INSTALL_PATH = "@executable_path/../Frameworks";
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-network"; PRODUCT_NAME = "sfml-network";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -2101,6 +2103,8 @@
ApplicationServices, ApplicationServices,
"-framework", "-framework",
Cocoa, Cocoa,
"-framework",
"sfml-system-d",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-window-d"; PRODUCT_NAME = "sfml-window-d";
@ -2133,6 +2137,8 @@
ApplicationServices, ApplicationServices,
"-framework", "-framework",
Cocoa, Cocoa,
"-framework",
"sfml-system",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-window"; PRODUCT_NAME = "sfml-window";
@ -2154,7 +2160,7 @@
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin"; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../extlibs/bin";
GCC_DEBUGGING_SYMBOLS = full; GCC_DEBUGGING_SYMBOLS = full;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = ""; GCC_VERSION = 4.0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
@ -2241,6 +2247,8 @@
OpenAL, OpenAL,
"-framework", "-framework",
sndfile, sndfile,
"-framework",
"sfml-system-d",
); );
PRODUCT_NAME = "sfml-audio-d"; PRODUCT_NAME = "sfml-audio-d";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -2268,6 +2276,10 @@
"-framework", "-framework",
OpenGL, OpenGL,
"$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a", "$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a",
"-framework",
"sfml-system-d",
"-framework",
"sfml-window-d",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-graphics-d"; PRODUCT_NAME = "sfml-graphics-d";
@ -2292,7 +2304,6 @@
INFOPLIST_FILE = "sfml-network-Info.plist"; INFOPLIST_FILE = "sfml-network-Info.plist";
INSTALL_PATH = "@executable_path/../Frameworks"; INSTALL_PATH = "@executable_path/../Frameworks";
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-network-d"; PRODUCT_NAME = "sfml-network-d";
SECTORDER_FLAGS = ""; SECTORDER_FLAGS = "";
@ -2352,6 +2363,8 @@
ApplicationServices, ApplicationServices,
"-framework", "-framework",
Cocoa, Cocoa,
"-framework",
"sfml-system-d",
); );
OTHER_REZFLAGS = ""; OTHER_REZFLAGS = "";
PRODUCT_NAME = "sfml-window-d"; PRODUCT_NAME = "sfml-window-d";

View File

@ -1,4 +1,30 @@
#!/bin/sh #!/bin/sh
############################################################
#
# SFML - Simple and Fast Multimedia Library
# Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com)
#
# This software is provided 'as-is', without any express or implied warranty.
# In no event will the authors be held liable for any damages arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it freely,
# subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented;
# you must not claim that you wrote the original software.
# If you use this software in a product, an acknowledgment
# in the product documentation would be appreciated but is not required.
#
# 2. Altered source versions must be plainly marked as such,
# and must not be misrepresented as being the original software.
#
# 3. This notice may not be removed or altered from any source distribution.
#
############################################################
cd ../../../ cd ../../../
SFML_VERSION="1.6" SFML_VERSION="1.6"
@ -43,6 +69,8 @@ SHOULD_CONSIDER_CXX="yes"
SHOULD_CONSIDER_C="yes" SHOULD_CONSIDER_C="yes"
SHOULD_CONSIDER_SAMPLES="yes" SHOULD_CONSIDER_SAMPLES="yes"
VERBOSE_OUTPUT="/dev/null"
# Checks that last command ended normally. Prints an error message and exists if not. # Checks that last command ended normally. Prints an error message and exists if not.
check_last_process() check_last_process()
{ {
@ -61,15 +89,20 @@ check_last_process()
# User help # User help
print_usage() print_usage()
{ {
echo "Usage: $0 [clean | build | build-samples | build-pkg | all]" echo "Usage: $0 [clean | build | build-samples | build-pkg | all [--verbose]]"
echo " Default shows this help"
echo echo
echo "Commands:"
echo " clean\t\tdeletes the C and C++ frameworks, object files and packages" echo " clean\t\tdeletes the C and C++ frameworks, object files and packages"
echo " build\t\tcompiles all the C and C++ SFML frameworks" echo " build\t\tcompiles all the C and C++ SFML frameworks"
echo " build-samples\tcompiles the SFML samples" echo " build-samples\tcompiles the SFML samples"
echo " build-pkg\t\tbuilds the packages to be distributed" echo " build-pkg\t\tbuilds the packages to be distributed"
echo " all\t\t\tdoes build, build-samples and build-pkg" echo " all\t\t\tdoes build, build-samples and build-pkg"
echo " help (default)\tshows this usage information"
echo echo
echo "Options:"
echo " --verbose\t\tdo not hide standard ouput, errors are still shown"
echo
echo "Contents summary:"
echo " Found C++ project : $SHOULD_CONSIDER_CXX" echo " Found C++ project : $SHOULD_CONSIDER_CXX"
echo " Found C project : $SHOULD_CONSIDER_C" echo " Found C project : $SHOULD_CONSIDER_C"
echo " Found samples project : $SHOULD_CONSIDER_SAMPLES" echo " Found samples project : $SHOULD_CONSIDER_SAMPLES"
@ -135,7 +168,7 @@ remove_dir()
{ {
if test -d "$1" if test -d "$1"
then then
rm -rfv "$1" > /dev/null rm -rfv "$1" > "$VERBOSE_OUTPUT"
fi fi
} }
@ -144,7 +177,7 @@ remove_file()
{ {
if test -f "$1" if test -f "$1"
then then
rm -f "$1" > /dev/null rm -f "$1" > "$VERBOSE_OUTPUT"
fi fi
} }
@ -176,7 +209,7 @@ clean_all()
if test -d "$XCODE_CXX_ROOT_DIR/$XCODE_FRAMEWORKS_PROJECT" if test -d "$XCODE_CXX_ROOT_DIR/$XCODE_FRAMEWORKS_PROJECT"
then then
cd "$XCODE_CXX_ROOT_DIR" cd "$XCODE_CXX_ROOT_DIR"
xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > /dev/null xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
else else
if test -d "$XCODE_CXX_ROOT_DIR" if test -d "$XCODE_CXX_ROOT_DIR"
@ -189,6 +222,7 @@ clean_all()
fi fi
fi fi
# Process cleaning for C project # Process cleaning for C project
if [ "$SHOULD_CONSIDER_C" == "yes" ] if [ "$SHOULD_CONSIDER_C" == "yes" ]
then then
@ -196,7 +230,7 @@ clean_all()
if test -d "$XCODE_C_ROOT_DIR/$XCODE_FRAMEWORKS_PROJECT" if test -d "$XCODE_C_ROOT_DIR/$XCODE_FRAMEWORKS_PROJECT"
then then
cd "$XCODE_C_ROOT_DIR" cd "$XCODE_C_ROOT_DIR"
xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > /dev/null xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
else else
# Do not produce error if the package does no contain the C stuff # Do not produce error if the package does no contain the C stuff
@ -217,7 +251,7 @@ clean_all()
if test -d "$XCODE_SAMPLES_ROOT_DIR/$XCODE_SAMPLES_PROJECT" if test -d "$XCODE_SAMPLES_ROOT_DIR/$XCODE_SAMPLES_PROJECT"
then then
cd "$XCODE_SAMPLES_ROOT_DIR" cd "$XCODE_SAMPLES_ROOT_DIR"
xcodebuild -project "$XCODE_SAMPLES_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > /dev/null xcodebuild -project "$XCODE_SAMPLES_PROJECT" -target "All" -configuration "$XCODE_BUILD_STYLE" clean > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
else else
# Do not produce error if the package does not contain the samples # Do not produce error if the package does not contain the samples
@ -253,7 +287,7 @@ build_frameworks()
for target in "${XCODE_CXX_TARGETS[@]}" for target in "${XCODE_CXX_TARGETS[@]}"
do do
printf "Building $target framework..." printf "Building $target framework..."
xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "$target" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > /dev/null xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "$target" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
done done
@ -277,7 +311,7 @@ build_frameworks()
for target in "${XCODE_C_TARGETS[@]}" for target in "${XCODE_C_TARGETS[@]}"
do do
printf "Building $target framework..." printf "Building $target framework..."
xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "$target" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > /dev/null xcodebuild -project "$XCODE_FRAMEWORKS_PROJECT" -target "$target" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
done done
@ -302,7 +336,7 @@ build_samples()
if test -d "$XCODE_SAMPLES_ROOT_DIR/$XCODE_SAMPLES_PROJECT" if test -d "$XCODE_SAMPLES_ROOT_DIR/$XCODE_SAMPLES_PROJECT"
then then
# Build the samples # Build the samples
xcodebuild -project "$XCODE_SAMPLES_PROJECT" -target "All" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > /dev/null xcodebuild -project "$XCODE_SAMPLES_PROJECT" -target "All" -parallelizeTargets -configuration "$XCODE_BUILD_STYLE" build > "$VERBOSE_OUTPUT"
check_last_process " done" check_last_process " done"
echo "In order to run the samples, the SFML frameworks (located in \"lib\") must be copied in the /Library/Frameworks directory." > "$CXX_SAMPLES_DIR/README" echo "In order to run the samples, the SFML frameworks (located in \"lib\") must be copied in the /Library/Frameworks directory." > "$CXX_SAMPLES_DIR/README"
check_last_process check_last_process
@ -323,7 +357,7 @@ copy_info_files()
done done
} }
# Build the disk image files of the C and C++ Dev and SDK packages # Build the archives of the C and C++ Dev and SDK packages
build_packages() build_packages()
{ {
cd "$ROOT_DIR" cd "$ROOT_DIR"
@ -333,7 +367,7 @@ build_packages()
# Build the C++ SDK package # Build the C++ SDK package
if [ "$SHOULD_CONSIDER_CXX" == "yes" ] if [ "$SHOULD_CONSIDER_CXX" == "yes" ]
then then
echo "Building C++ SDK package..." printf "Building C++ SDK package..."
make_dir "$CXX_SDK_PACKAGE_DIR" make_dir "$CXX_SDK_PACKAGE_DIR"
for dir in "${CXX_SDK_DIRS[@]}" for dir in "${CXX_SDK_DIRS[@]}"
do do
@ -341,7 +375,7 @@ build_packages()
"doc") "doc")
if ! test -f "$ROOT_DIR/$dir/html/index.htm" if ! test -f "$ROOT_DIR/$dir/html/index.htm"
then then
echo "$ROOT_DIR/$dir/html/index.htm not found. Make sure the documentation has been built." echo "*** $ROOT_DIR/$dir/html/index.htm not found. Make sure the documentation has been built."
exit 1 exit 1
fi fi
;; ;;
@ -353,14 +387,13 @@ build_packages()
copy_info_files "$CXX_SDK_PACKAGE_DIR" copy_info_files "$CXX_SDK_PACKAGE_DIR"
check_last_process check_last_process
# Build the disk image file # Build the archive
printf "Made final folder, building Disk Image File..." cd "$PACKAGES_ROOT_DIR"
remove_file "$PACKAGES_ROOT_DIR/$CXX_SDK_PACKAGE.dmg" tar -cjlf "$PACKAGES_ROOT_DIR/$CXX_SDK_PACKAGE.tar.bz2" "$CXX_SDK_PACKAGE" > "$VERBOSE_OUTPUT"
hdiutil create -format UDBZ -volname "$CXX_SDK_PACKAGE" -srcfolder "$CXX_SDK_PACKAGE_DIR" "$PACKAGES_ROOT_DIR/$CXX_SDK_PACKAGE.dmg" > /dev/null
check_last_process " done" check_last_process " done"
# Build the C++ Dev package # Build the C++ Dev package
echo "Building C++ Development package..." printf "Building C++ Development package..."
make_dir "$CXX_DEV_PACKAGE_DIR" make_dir "$CXX_DEV_PACKAGE_DIR"
for dir in "${CXX_DEV_DIRS[@]}" for dir in "${CXX_DEV_DIRS[@]}"
do do
@ -386,10 +419,9 @@ build_packages()
done done
copy_info_files "$CXX_DEV_PACKAGE_DIR" copy_info_files "$CXX_DEV_PACKAGE_DIR"
# Build the disk image file # Build the archive
printf "Made final folder, building Disk Image File..." cd "$PACKAGES_ROOT_DIR"
remove_file "$PACKAGES_ROOT_DIR/$CXX_DEV_PACKAGE.dmg" tar -cjlf "$PACKAGES_ROOT_DIR/$CXX_DEV_PACKAGE.tar.bz2" "$CXX_DEV_PACKAGE" > "$VERBOSE_OUTPUT"
hdiutil create -format UDBZ -volname "$CXX_DEV_PACKAGE" -srcfolder "$CXX_DEV_PACKAGE_DIR" "$PACKAGES_ROOT_DIR/$CXX_DEV_PACKAGE.dmg" > /dev/null
check_last_process " done" check_last_process " done"
fi # SHOULD_CONSIDER_CXX fi # SHOULD_CONSIDER_CXX
@ -397,7 +429,7 @@ build_packages()
# Build the C SDK package # Build the C SDK package
if [ "$SHOULD_CONSIDER_C" == "yes" ] if [ "$SHOULD_CONSIDER_C" == "yes" ]
then then
echo "Building C SDK package..." printf "Building C SDK package..."
make_dir "$C_SDK_PACKAGE_DIR" make_dir "$C_SDK_PACKAGE_DIR"
for dir in "${C_SDK_DIRS[@]}" for dir in "${C_SDK_DIRS[@]}"
do do
@ -413,14 +445,13 @@ build_packages()
done done
copy_info_files "$C_SDK_PACKAGE_DIR" copy_info_files "$C_SDK_PACKAGE_DIR"
# Build the disk image file # Build the archive
printf "Made final folder, building Disk Image File..." cd "$PACKAGES_ROOT_DIR"
remove_file "$PACKAGES_ROOT_DIR/$C_SDK_PACKAGE.dmg" tar -cjlf "$PACKAGES_ROOT_DIR/$C_SDK_PACKAGE.tar.bz2" "$C_SDK_PACKAGE" > "$VERBOSE_OUTPUT"
hdiutil create -format UDBZ -volname "$C_SDK_PACKAGE" -srcfolder "$C_SDK_PACKAGE_DIR" "$PACKAGES_ROOT_DIR/$C_SDK_PACKAGE.dmg" > /dev/null
check_last_process " done" check_last_process " done"
# Build the C Development package # Build the C Development package
echo "Building C Development package..." printf "Building C Development package..."
make_dir "$C_DEV_PACKAGE_DIR" make_dir "$C_DEV_PACKAGE_DIR"
for dir in "${C_DEV_DIRS[@]}" for dir in "${C_DEV_DIRS[@]}"
do do
@ -454,10 +485,9 @@ build_packages()
done done
copy_info_files "$C_DEV_PACKAGE_DIR" copy_info_files "$C_DEV_PACKAGE_DIR"
# Build the disk image file # Build the archive
printf "Made final folder, building Disk Image File..." cd "$PACKAGES_ROOT_DIR"
remove_file "$PACKAGES_ROOT_DIR/$C_DEV_PACKAGE.dmg" tar -cjlf "$PACKAGES_ROOT_DIR/$C_DEV_PACKAGE.tar.bz2" "$C_DEV_PACKAGE" > "$VERBOSE_OUTPUT"
hdiutil create -format UDBZ -volname "$C_DEV_PACKAGE" -srcfolder "$C_DEV_PACKAGE_DIR" "$PACKAGES_ROOT_DIR/$C_DEV_PACKAGE.dmg" > /dev/null
check_last_process " done" check_last_process " done"
fi fi
@ -476,6 +506,14 @@ main()
action="$1" action="$1"
fi fi
for flag in $*
do
if [ "$flag" == "--verbose" ]
then
VERBOSE_OUTPUT="/dev/stdout"
fi
done
case $action in case $action in
"clean") "clean")
clean_all $* clean_all $*
@ -503,6 +541,9 @@ main()
"help") "help")
print_usage $* print_usage $*
;; ;;
"--verbose")
echo "--verbose option cannot be used alone. See usage."
;;
*) *)
echo "Unknow action $action." echo "Unknow action $action."
print_usage $* print_usage $*

View File

@ -803,6 +803,7 @@
CONFIGURATION_BUILD_DIR = ../../bin; CONFIGURATION_BUILD_DIR = ../../bin;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../lib\""; FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../lib\"";
GCC_VERSION = 4.0;
OBJROOT = build; OBJROOT = build;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SYMROOT = ../../bin; SYMROOT = ../../bin;
@ -817,6 +818,7 @@
CONFIGURATION_BUILD_DIR = ../../bin; CONFIGURATION_BUILD_DIR = ../../bin;
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../lib\""; FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../lib\"";
GCC_VERSION = 4.0;
OBJROOT = build; OBJROOT = build;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SYMROOT = ../../bin; SYMROOT = ../../bin;

View File

@ -27,7 +27,7 @@ libsfml-graphics-s.a: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLI
$(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) $(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
libsfml-graphics.so: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) libsfml-graphics.so: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
$(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) -lfreetype $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) -lfreetype -lX11 -lGL
$(OBJ): %.o: %.cpp $(OBJ): %.o: %.cpp
$(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2 $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2

View File

@ -13,18 +13,6 @@
* everybody at gamedev.net * everybody at gamedev.net
*/ */
#define SOIL_CHECK_FOR_GL_ERRORS 0
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <wingdi.h>
#elif defined(__APPLE__) || defined(__APPLE_CC__)
/* I can't test this Apple stuff! */
#define APIENTRY
#else
#endif
#include "SOIL.h" #include "SOIL.h"
#include "stb_image_aug.h" #include "stb_image_aug.h"
#include "image_DXT.h" #include "image_DXT.h"
@ -35,7 +23,6 @@
/* error reporting */ /* error reporting */
char *result_string_pointer = "SOIL initialized"; char *result_string_pointer = "SOIL initialized";
unsigned char* unsigned char*
SOIL_load_image SOIL_load_image
( (
@ -44,7 +31,7 @@ unsigned char*
int force_channels int force_channels
) )
{ {
unsigned char *result = stbi_load( (char*)filename, unsigned char *result = stbi_load( filename,
width, height, channels, force_channels ); width, height, channels, force_channels );
if( result == NULL ) if( result == NULL )
{ {
@ -66,7 +53,7 @@ unsigned char*
) )
{ {
unsigned char *result = stbi_load_from_memory( unsigned char *result = stbi_load_from_memory(
(stbi_uc *)buffer, buffer_length, buffer, buffer_length,
width, height, channels, width, height, channels,
force_channels ); force_channels );
if( result == NULL ) if( result == NULL )
@ -100,17 +87,17 @@ int
} }
if( image_type == SOIL_SAVE_TYPE_BMP ) if( image_type == SOIL_SAVE_TYPE_BMP )
{ {
save_result = stbi_write_bmp( (char*)filename, save_result = stbi_write_bmp( filename,
width, height, channels, (void*)data ); width, height, channels, (void*)data );
} else } else
if( image_type == SOIL_SAVE_TYPE_TGA ) if( image_type == SOIL_SAVE_TYPE_TGA )
{ {
save_result = stbi_write_tga( (char*)filename, save_result = stbi_write_tga( filename,
width, height, channels, (void*)data ); width, height, channels, (void*)data );
} else } else
if( image_type == SOIL_SAVE_TYPE_DDS ) if( image_type == SOIL_SAVE_TYPE_DDS )
{ {
save_result = save_image_as_DDS( (const char*)filename, save_result = save_image_as_DDS( filename,
width, height, channels, (const unsigned char *const)data ); width, height, channels, (const unsigned char *const)data );
} else } else
{ {

View File

@ -73,7 +73,6 @@ enum
SOIL_SAVE_TYPE_BMP = 1, SOIL_SAVE_TYPE_BMP = 1,
SOIL_SAVE_TYPE_DDS = 2 SOIL_SAVE_TYPE_DDS = 2
}; };
/** /**
Loads an image from disk into an array of unsigned chars. Loads an image from disk into an array of unsigned chars.
Note that *channels return the original channel count of the Note that *channels return the original channel count of the

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/* stbi-1.08 - public domain JPEG/PNG reader - http://nothings.org/stb_image.c /* stbi-1.18 - public domain JPEG/PNG reader - http://nothings.org/stb_image.c
when you control the images you're loading when you control the images you're loading
QUICK NOTES: QUICK NOTES:
@ -6,18 +6,30 @@
avoid problematic images and only need the trivial interface avoid problematic images and only need the trivial interface
JPEG baseline (no JPEG progressive, no oddball channel decimations) JPEG baseline (no JPEG progressive, no oddball channel decimations)
PNG non-interlaced PNG 8-bit only
BMP non-1bpp, non-RLE BMP non-1bpp, non-RLE
TGA (not sure what subset, if a subset) TGA (not sure what subset, if a subset)
PSD (composite view only, no extra channels) PSD (composited view only, no extra channels)
HDR (radiance rgbE format) HDR (radiance rgbE format)
writes BMP,TGA (define STBI_NO_WRITE to remove code) writes BMP,TGA (define STBI_NO_WRITE to remove code)
decoded from memory or through stdio FILE (define STBI_NO_STDIO to remove code) decoded from memory or through stdio FILE (define STBI_NO_STDIO to remove code)
supports installable dequantizing-IDCT, YCbCr-to-RGB conversion (define STBI_SIMD)
TODO: TODO:
stbi_info_* stbi_info_*
history: history:
1.18 fix a threading bug (local mutable static)
1.17 support interlaced PNG
1.16 major bugfix - convert_format converted one too many pixels
1.15 initialize some fields for thread safety
1.14 fix threadsafe conversion bug; header-file-only version (#define STBI_HEADER_FILE_ONLY before including)
1.13 threadsafe
1.12 const qualifiers in the API
1.11 Support installable IDCT, colorspace conversion routines
1.10 Fixes for 64-bit (don't use "unsigned long")
optimized upsampling by Fabian "ryg" Giesen
1.09 Fix format-conversion for PSD code (bad global variables!)
1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz
1.07 attempt to fix C++ warning/errors again 1.07 attempt to fix C++ warning/errors again
1.06 attempt to fix C++ warning/errors again 1.06 attempt to fix C++ warning/errors again
@ -53,8 +65,9 @@
on 'test' only check type, not whether we support this variant on 'test' only check type, not whether we support this variant
*/ */
#ifndef HEADER_STB_IMAGE_AUGMENTED
#define HEADER_STB_IMAGE_AUGMENTED #ifndef STBI_INCLUDE_STB_IMAGE_H
#define STBI_INCLUDE_STB_IMAGE_H
//// begin header file //////////////////////////////////////////////////// //// begin header file ////////////////////////////////////////////////////
// //
@ -144,15 +157,11 @@
// //
// stbi_is_hdr(char *filename); // stbi_is_hdr(char *filename);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
#include <stdio.h> #include <stdio.h>
#endif #endif
#ifndef STBI_NO_HDR #define STBI_VERSION 1
#include <math.h> // ldexp
#include <string.h> // strcmp
#endif
enum enum
{ {
@ -176,27 +185,27 @@ extern "C" {
// write a BMP/TGA file given tightly packed 'comp' channels (no padding, nor bmp-stride-padding) // write a BMP/TGA file given tightly packed 'comp' channels (no padding, nor bmp-stride-padding)
// (you must include the appropriate extension in the filename). // (you must include the appropriate extension in the filename).
// returns TRUE on success, FALSE if couldn't open file, error writing file // returns TRUE on success, FALSE if couldn't open file, error writing file
extern int stbi_write_bmp (char *filename, int x, int y, int comp, void *data); extern int stbi_write_bmp (char const *filename, int x, int y, int comp, void *data);
extern int stbi_write_tga (char *filename, int x, int y, int comp, void *data); extern int stbi_write_tga (char const *filename, int x, int y, int comp, void *data);
#endif #endif
// PRIMARY API - works on images of any type // PRIMARY API - works on images of any type
// load image by filename, open file, or memory buffer // load image by filename, open file, or memory buffer
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern stbi_uc *stbi_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
extern int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); extern int stbi_info_from_file (FILE *f, int *x, int *y, int *comp);
#endif #endif
extern stbi_uc *stbi_load_from_memory(stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
// for stbi_load_from_file, file pointer is left pointing immediately after image // for stbi_load_from_file, file pointer is left pointing immediately after image
#ifndef STBI_NO_HDR #ifndef STBI_NO_HDR
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern float *stbi_loadf (char *filename, int *x, int *y, int *comp, int req_comp); extern float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp);
extern float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
#endif #endif
extern float *stbi_loadf_from_memory(stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
extern void stbi_hdr_to_ldr_gamma(float gamma); extern void stbi_hdr_to_ldr_gamma(float gamma);
extern void stbi_hdr_to_ldr_scale(float scale); extern void stbi_hdr_to_ldr_scale(float scale);
@ -207,96 +216,96 @@ extern void stbi_ldr_to_hdr_scale(float scale);
#endif // STBI_NO_HDR #endif // STBI_NO_HDR
// get a VERY brief reason for failure // get a VERY brief reason for failure
// NOT THREADSAFE
extern char *stbi_failure_reason (void); extern char *stbi_failure_reason (void);
// free the loaded image -- this is just free() // free the loaded image -- this is just free()
extern void stbi_image_free (void *retval_from_stbi_load); extern void stbi_image_free (void *retval_from_stbi_load);
// get image dimensions & components without fully decoding // get image dimensions & components without fully decoding
extern int stbi_info_from_memory(stbi_uc *buffer, int len, int *x, int *y, int *comp); extern int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp);
extern int stbi_is_hdr_from_memory(stbi_uc *buffer, int len); extern int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_info (char *filename, int *x, int *y, int *comp); extern int stbi_info (char const *filename, int *x, int *y, int *comp);
extern int stbi_is_hdr (char *filename); extern int stbi_is_hdr (char const *filename);
extern int stbi_is_hdr_from_file(FILE *f); extern int stbi_is_hdr_from_file(FILE *f);
#endif #endif
// ZLIB client - used by PNG, available for other purposes // ZLIB client - used by PNG, available for other purposes
extern char *stbi_zlib_decode_malloc_guesssize(int initial_size, int *outlen); extern char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen);
extern char *stbi_zlib_decode_malloc(char *buffer, int len, int *outlen); extern char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen);
extern int stbi_zlib_decode_buffer(char *obuffer, int olen, char *ibuffer, int ilen); extern int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen);
extern char *stbi_zlib_decode_noheader_malloc(char *buffer, int len, int *outlen);
extern int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, char *ibuffer, int ilen);
extern char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen);
extern int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen);
// TYPE-SPECIFIC ACCESS // TYPE-SPECIFIC ACCESS
// is it a jpeg? // is it a jpeg?
extern int stbi_jpeg_test_memory (stbi_uc *buffer, int len); extern int stbi_jpeg_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_jpeg_load_from_memory(stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_jpeg_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
extern int stbi_jpeg_info_from_memory(stbi_uc *buffer, int len, int *x, int *y, int *comp); extern int stbi_jpeg_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern stbi_uc *stbi_jpeg_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_jpeg_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern int stbi_jpeg_test_file (FILE *f); extern int stbi_jpeg_test_file (FILE *f);
extern stbi_uc *stbi_jpeg_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_jpeg_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
extern int stbi_jpeg_info (char *filename, int *x, int *y, int *comp); extern int stbi_jpeg_info (char const *filename, int *x, int *y, int *comp);
extern int stbi_jpeg_info_from_file (FILE *f, int *x, int *y, int *comp); extern int stbi_jpeg_info_from_file (FILE *f, int *x, int *y, int *comp);
#endif #endif
extern int stbi_jpeg_dc_only; // only decode DC component
// is it a png? // is it a png?
extern int stbi_png_test_memory (stbi_uc *buffer, int len); extern int stbi_png_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_png_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_png_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
extern int stbi_png_info_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp); extern int stbi_png_info_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern stbi_uc *stbi_png_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_png_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern int stbi_png_info (char *filename, int *x, int *y, int *comp); extern int stbi_png_info (char const *filename, int *x, int *y, int *comp);
extern int stbi_png_test_file (FILE *f); extern int stbi_png_test_file (FILE *f);
extern stbi_uc *stbi_png_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_png_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
extern int stbi_png_info_from_file (FILE *f, int *x, int *y, int *comp); extern int stbi_png_info_from_file (FILE *f, int *x, int *y, int *comp);
#endif #endif
// is it a bmp? // is it a bmp?
extern int stbi_bmp_test_memory (stbi_uc *buffer, int len); extern int stbi_bmp_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_bmp_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_bmp_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_bmp_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_bmp_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_bmp_test_file (FILE *f); extern int stbi_bmp_test_file (FILE *f);
extern stbi_uc *stbi_bmp_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_bmp_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
#endif #endif
// is it a tga? // is it a tga?
extern int stbi_tga_test_memory (stbi_uc *buffer, int len); extern int stbi_tga_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_tga_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_tga_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_tga_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_tga_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_tga_test_file (FILE *f); extern int stbi_tga_test_file (FILE *f);
extern stbi_uc *stbi_tga_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_tga_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
#endif #endif
// is it a psd? // is it a psd?
extern int stbi_psd_test_memory (stbi_uc *buffer, int len); extern int stbi_psd_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_psd_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_psd_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_psd_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_psd_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_psd_test_file (FILE *f); extern int stbi_psd_test_file (FILE *f);
extern stbi_uc *stbi_psd_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_psd_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
#endif #endif
// is it an hdr? // is it an hdr?
extern int stbi_hdr_test_memory (stbi_uc *buffer, int len); extern int stbi_hdr_test_memory (stbi_uc const *buffer, int len);
extern float * stbi_hdr_load (char *filename, int *x, int *y, int *comp, int req_comp); extern float * stbi_hdr_load (char const *filename, int *x, int *y, int *comp, int req_comp);
extern float * stbi_hdr_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern float * stbi_hdr_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_hdr_load_rgbe (char const *filename, int *x, int *y, int *comp, int req_comp);
extern float * stbi_hdr_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_hdr_test_file (FILE *f); extern int stbi_hdr_test_file (FILE *f);
extern float * stbi_hdr_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern float * stbi_hdr_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);
@ -305,8 +314,8 @@ extern float * stbi_hdr_load_from_file (FILE *f, int *x, int
// define new loaders // define new loaders
typedef struct typedef struct
{ {
int (*test_memory)(stbi_uc *buffer, int len); int (*test_memory)(stbi_uc const *buffer, int len);
stbi_uc * (*load_from_memory)(stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); stbi_uc * (*load_from_memory)(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
int (*test_file)(FILE *f); int (*test_file)(FILE *f);
stbi_uc * (*load_from_file)(FILE *f, int *x, int *y, int *comp, int req_comp); stbi_uc * (*load_from_file)(FILE *f, int *x, int *y, int *comp, int req_comp);
@ -315,8 +324,28 @@ typedef struct
// register a loader by filling out the above structure (you must defined ALL functions) // register a loader by filling out the above structure (you must defined ALL functions)
// returns 1 if added or already added, 0 if not added (too many loaders) // returns 1 if added or already added, 0 if not added (too many loaders)
// NOT THREADSAFE
extern int stbi_register_loader(stbi_loader *loader); extern int stbi_register_loader(stbi_loader *loader);
// define faster low-level operations (typically SIMD support)
#if STBI_SIMD
typedef void (*stbi_idct_8x8)(uint8 *out, int out_stride, short data[64], unsigned short *dequantize);
// compute an integer IDCT on "input"
// input[x] = data[x] * dequantize[x]
// write results to 'out': 64 samples, each run of 8 spaced by 'out_stride'
// CLAMP results to 0..255
typedef void (*stbi_YCbCr_to_RGB_run)(uint8 *output, uint8 const *y, uint8 const *cb, uint8 const *cr, int count, int step);
// compute a conversion from YCbCr to RGB
// 'count' pixels
// write pixels to 'output'; each pixel is 'step' bytes (either 3 or 4; if 4, write '255' as 4th), order R,G,B
// y: Y input channel
// cb: Cb input channel; scale/biased to be 0..255
// cr: Cr input channel; scale/biased to be 0..255
extern void stbi_install_idct(stbi_idct_8x8 func);
extern void stbi_install_YCbCr_to_RGB(stbi_YCbCr_to_RGB_run func);
#endif // STBI_SIMD
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
@ -324,6 +353,5 @@ extern int stbi_register_loader(stbi_loader *loader);
// //
// //
//// end header file ///////////////////////////////////////////////////// //// end header file /////////////////////////////////////////////////////
#endif // STBI_INCLUDE_STB_IMAGE_H
#endif

View File

@ -6,10 +6,10 @@
#define HEADER_STB_IMAGE_DDS_AUGMENTATION #define HEADER_STB_IMAGE_DDS_AUGMENTATION
// is it a DDS file? // is it a DDS file?
extern int stbi_dds_test_memory (stbi_uc *buffer, int len); extern int stbi_dds_test_memory (stbi_uc const *buffer, int len);
extern stbi_uc *stbi_dds_load (char *filename, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_dds_load (char *filename, int *x, int *y, int *comp, int req_comp);
extern stbi_uc *stbi_dds_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_dds_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp);
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
extern int stbi_dds_test_file (FILE *f); extern int stbi_dds_test_file (FILE *f);
extern stbi_uc *stbi_dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); extern stbi_uc *stbi_dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp);

View File

@ -71,32 +71,34 @@ typedef struct {
#define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000 #define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000
#define DDSCAPS2_VOLUME 0x00200000 #define DDSCAPS2_VOLUME 0x00200000
static int dds_test(void) static int dds_test(stbi *s)
{ {
// check the magic number // check the magic number
if (get8() != 'D') return 0; if (get8(s) != 'D') return 0;
if (get8() != 'D') return 0; if (get8(s) != 'D') return 0;
if (get8() != 'S') return 0; if (get8(s) != 'S') return 0;
if (get8() != ' ') return 0; if (get8(s) != ' ') return 0;
// check header size // check header size
if (get32le() != 124) return 0; if (get32le(s) != 124) return 0;
return 1; return 1;
} }
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
int stbi_dds_test_file (FILE *f) int stbi_dds_test_file (FILE *f)
{ {
stbi s;
int r,n = ftell(f); int r,n = ftell(f);
start_file(f); start_file(&s,f);
r = dds_test(); r = dds_test(&s);
fseek(f,n,SEEK_SET); fseek(f,n,SEEK_SET);
return r; return r;
} }
#endif #endif
int stbi_dds_test_memory (stbi_uc *buffer, int len) int stbi_dds_test_memory (stbi_uc const *buffer, int len)
{ {
start_mem(buffer, len); stbi s;
return dds_test(); start_mem(&s,buffer, len);
return dds_test(&s);
} }
// helper functions // helper functions
@ -263,7 +265,7 @@ void stbi_decode_DXT_color_block(
} }
// done // done
} }
static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp) static stbi_uc *dds_load(stbi *s, int *x, int *y, int *comp, int req_comp)
{ {
// all variables go up front // all variables go up front
stbi_uc *dds_data = NULL; stbi_uc *dds_data = NULL;
@ -280,7 +282,7 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
{ {
return NULL; return NULL;
} }
getn( (stbi_uc*)(&header), 128 ); getn( s, (stbi_uc*)(&header), 128 );
// and do some checking // and do some checking
if( header.dwMagic != (('D' << 0) | ('D' << 8) | ('S' << 16) | (' ' << 24)) ) return NULL; if( header.dwMagic != (('D' << 0) | ('D' << 8) | ('S' << 16) | (' ' << 24)) ) return NULL;
if( header.dwSize != 124 ) return NULL; if( header.dwSize != 124 ) return NULL;
@ -295,23 +297,23 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
if( (header.sPixelFormat.dwFlags & flags) == 0 ) return NULL; if( (header.sPixelFormat.dwFlags & flags) == 0 ) return NULL;
if( (header.sCaps.dwCaps1 & DDSCAPS_TEXTURE) == 0 ) return NULL; if( (header.sCaps.dwCaps1 & DDSCAPS_TEXTURE) == 0 ) return NULL;
// get the image data // get the image data
img_x = header.dwWidth; s->img_x = header.dwWidth;
img_y = header.dwHeight; s->img_y = header.dwHeight;
img_n = 4; s->img_n = 4;
is_compressed = (header.sPixelFormat.dwFlags & DDPF_FOURCC) / DDPF_FOURCC; is_compressed = (header.sPixelFormat.dwFlags & DDPF_FOURCC) / DDPF_FOURCC;
has_alpha = (header.sPixelFormat.dwFlags & DDPF_ALPHAPIXELS) / DDPF_ALPHAPIXELS; has_alpha = (header.sPixelFormat.dwFlags & DDPF_ALPHAPIXELS) / DDPF_ALPHAPIXELS;
has_mipmap = (header.sCaps.dwCaps1 & DDSCAPS_MIPMAP) && (header.dwMipMapCount > 1); has_mipmap = (header.sCaps.dwCaps1 & DDSCAPS_MIPMAP) && (header.dwMipMapCount > 1);
cubemap_faces = (header.sCaps.dwCaps2 & DDSCAPS2_CUBEMAP) / DDSCAPS2_CUBEMAP; cubemap_faces = (header.sCaps.dwCaps2 & DDSCAPS2_CUBEMAP) / DDSCAPS2_CUBEMAP;
/* I need cubemaps to have square faces */ /* I need cubemaps to have square faces */
cubemap_faces &= (img_x == img_y); cubemap_faces &= (s->img_x == s->img_y);
cubemap_faces *= 5; cubemap_faces *= 5;
cubemap_faces += 1; cubemap_faces += 1;
block_pitch = (img_x+3) >> 2; block_pitch = (s->img_x+3) >> 2;
num_blocks = block_pitch * ((img_y+3) >> 2); num_blocks = block_pitch * ((s->img_y+3) >> 2);
/* let the user know what's going on */ /* let the user know what's going on */
*x = img_x; *x = s->img_x;
*y = img_y; *y = s->img_y;
*comp = img_n; *comp = s->img_n;
/* is this uncompressed? */ /* is this uncompressed? */
if( is_compressed ) if( is_compressed )
{ {
@ -323,7 +325,7 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
those non-compliant writers leave those non-compliant writers leave
dwPitchOrLinearSize == 0 */ dwPitchOrLinearSize == 0 */
// passed all the tests, get the RAM for decoding // passed all the tests, get the RAM for decoding
sz = (img_x)*(img_y)*4*cubemap_faces; sz = (s->img_x)*(s->img_y)*4*cubemap_faces;
dds_data = (unsigned char*)malloc( sz ); dds_data = (unsigned char*)malloc( sz );
/* do this once for each face */ /* do this once for each face */
for( cf = 0; cf < cubemap_faces; ++ cf ) for( cf = 0; cf < cubemap_faces; ++ cf )
@ -339,36 +341,36 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
if( DXT_family == 1 ) if( DXT_family == 1 )
{ {
// DXT1 // DXT1
getn( compressed, 8 ); getn( s, compressed, 8 );
stbi_decode_DXT1_block( block, compressed ); stbi_decode_DXT1_block( block, compressed );
} else if( DXT_family < 4 ) } else if( DXT_family < 4 )
{ {
// DXT2/3 // DXT2/3
getn( compressed, 8 ); getn( s, compressed, 8 );
stbi_decode_DXT23_alpha_block ( block, compressed ); stbi_decode_DXT23_alpha_block ( block, compressed );
getn( compressed, 8 ); getn( s, compressed, 8 );
stbi_decode_DXT_color_block ( block, compressed ); stbi_decode_DXT_color_block ( block, compressed );
} else } else
{ {
// DXT4/5 // DXT4/5
getn( compressed, 8 ); getn( s, compressed, 8 );
stbi_decode_DXT45_alpha_block ( block, compressed ); stbi_decode_DXT45_alpha_block ( block, compressed );
getn( compressed, 8 ); getn( s, compressed, 8 );
stbi_decode_DXT_color_block ( block, compressed ); stbi_decode_DXT_color_block ( block, compressed );
} }
// is this a partial block? // is this a partial block?
if( ref_x + 4 > img_x ) if( ref_x + 4 > s->img_x )
{ {
bw = img_x - ref_x; bw = s->img_x - ref_x;
} }
if( ref_y + 4 > img_y ) if( ref_y + 4 > s->img_y )
{ {
bh = img_y - ref_y; bh = s->img_y - ref_y;
} }
// now drop our decompressed data into the buffer // now drop our decompressed data into the buffer
for( by = 0; by < bh; ++by ) for( by = 0; by < bh; ++by )
{ {
int idx = 4*((ref_y+by+cf*img_x)*img_x + ref_x); int idx = 4*((ref_y+by+cf*s->img_x)*s->img_x + ref_x);
for( bx = 0; bx < bw*4; ++bx ) for( bx = 0; bx < bw*4; ++bx )
{ {
@ -387,8 +389,8 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
} }
for( i = 1; i < header.dwMipMapCount; ++i ) for( i = 1; i < header.dwMipMapCount; ++i )
{ {
int mx = img_x >> (i + 2); int mx = s->img_x >> (i + 2);
int my = img_y >> (i + 2); int my = s->img_y >> (i + 2);
if( mx < 1 ) if( mx < 1 )
{ {
mx = 1; mx = 1;
@ -397,7 +399,7 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
{ {
my = 1; my = 1;
} }
skip( mx*my*block_size ); skip( s, mx*my*block_size );
} }
} }
}/* per cubemap face */ }/* per cubemap face */
@ -405,27 +407,27 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
{ {
/* uncompressed */ /* uncompressed */
DXT_family = 0; DXT_family = 0;
img_n = 3; s->img_n = 3;
if( has_alpha ) if( has_alpha )
{ {
img_n = 4; s->img_n = 4;
} }
*comp = img_n; *comp = s->img_n;
sz = img_x*img_y*img_n*cubemap_faces; sz = s->img_x*s->img_y*s->img_n*cubemap_faces;
dds_data = (unsigned char*)malloc( sz ); dds_data = (unsigned char*)malloc( sz );
/* do this once for each face */ /* do this once for each face */
for( cf = 0; cf < cubemap_faces; ++ cf ) for( cf = 0; cf < cubemap_faces; ++ cf )
{ {
/* read the main image for this face */ /* read the main image for this face */
getn( &dds_data[cf*img_x*img_y*img_n], img_x*img_y*img_n ); getn( s, &dds_data[cf*s->img_x*s->img_y*s->img_n], s->img_x*s->img_y*s->img_n );
/* done reading and decoding the main image... /* done reading and decoding the main image...
skip MIPmaps if present */ skip MIPmaps if present */
if( has_mipmap ) if( has_mipmap )
{ {
for( i = 1; i < header.dwMipMapCount; ++i ) for( i = 1; i < header.dwMipMapCount; ++i )
{ {
int mx = img_x >> i; int mx = s->img_x >> i;
int my = img_y >> i; int my = s->img_y >> i;
if( mx < 1 ) if( mx < 1 )
{ {
mx = 1; mx = 1;
@ -434,12 +436,12 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
{ {
my = 1; my = 1;
} }
skip( mx*my*img_n ); skip( s, mx*my*s->img_n );
} }
} }
} }
/* data was BGR, I need it RGB */ /* data was BGR, I need it RGB */
for( i = 0; i < sz; i += img_n ) for( i = 0; i < sz; i += s->img_n )
{ {
unsigned char temp = dds_data[i]; unsigned char temp = dds_data[i];
dds_data[i] = dds_data[i+2]; dds_data[i] = dds_data[i+2];
@ -449,12 +451,12 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
/* finished decompressing into RGBA, /* finished decompressing into RGBA,
adjust the y size if we have a cubemap adjust the y size if we have a cubemap
note: sz is already up to date */ note: sz is already up to date */
img_y *= cubemap_faces; s->img_y *= cubemap_faces;
*y = img_y; *y = s->img_y;
// did the user want something else, or // did the user want something else, or
// see if all the alpha values are 255 (i.e. no transparency) // see if all the alpha values are 255 (i.e. no transparency)
has_alpha = 0; has_alpha = 0;
if( img_n == 4) if( s->img_n == 4)
{ {
for( i = 3; (i < sz) && (has_alpha == 0); i += 4 ) for( i = 3; (i < sz) && (has_alpha == 0); i += 4 )
{ {
@ -464,17 +466,17 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
if( (req_comp <= 4) && (req_comp >= 1) ) if( (req_comp <= 4) && (req_comp >= 1) )
{ {
// user has some requirements, meet them // user has some requirements, meet them
if( req_comp != img_n ) if( req_comp != s->img_n )
{ {
dds_data = convert_format( dds_data, img_n, req_comp ); dds_data = convert_format( dds_data, s->img_n, req_comp, s->img_x, s->img_y );
*comp = img_n; *comp = s->img_n;
} }
} else } else
{ {
// user had no requirements, only drop to RGB is no alpha // user had no requirements, only drop to RGB is no alpha
if( (has_alpha == 0) && (img_n == 4) ) if( (has_alpha == 0) && (s->img_n == 4) )
{ {
dds_data = convert_format( dds_data, 4, 3 ); dds_data = convert_format( dds_data, 4, 3, s->img_x, s->img_y );
*comp = 3; *comp = 3;
} }
} }
@ -483,25 +485,27 @@ static stbi_uc *dds_load(int *x, int *y, int *comp, int req_comp)
} }
#ifndef STBI_NO_STDIO #ifndef STBI_NO_STDIO
stbi_uc *stbi_dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp)
{
stbi s;
start_file(&s,f);
return dds_load(&s,x,y,comp,req_comp);
}
stbi_uc *stbi_dds_load (char *filename, int *x, int *y, int *comp, int req_comp) stbi_uc *stbi_dds_load (char *filename, int *x, int *y, int *comp, int req_comp)
{ {
stbi_uc *data; stbi_uc *data;
FILE *f = fopen(filename, "rb"); FILE *f = fopen(filename, "rb");
if (!f) return NULL; if (!f) return NULL;
data = dds_load(x,y,comp,req_comp); data = stbi_dds_load_from_file(f,x,y,comp,req_comp);
fclose(f); fclose(f);
return data; return data;
} }
stbi_uc *stbi_dds_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp)
{
start_file(f);
return dds_load(x,y,comp,req_comp);
}
#endif #endif
stbi_uc *stbi_dds_load_from_memory (stbi_uc *buffer, int len, int *x, int *y, int *comp, int req_comp) stbi_uc *stbi_dds_load_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp)
{ {
start_mem(buffer, len); stbi s;
return dds_load(x,y,comp,req_comp); start_mem(&s,buffer, len);
return dds_load(&s,x,y,comp,req_comp);
} }

View File

@ -50,6 +50,16 @@ enum {
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
+ (AppController *)sharedController; + (AppController *)sharedController;
////////////////////////////////////////////////////////////
/// Returns the primay computer's screen
////////////////////////////////////////////////////////////
+ (CGDirectDisplayID)primaryScreen;
////////////////////////////////////////////////////////////
/// Reset notifictions about application focus
////////////////////////////////////////////////////////////
- (void)setNotifications;
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
/// Make the menu bar /// Make the menu bar
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////

View File

@ -103,25 +103,7 @@
throw std::bad_alloc(); throw std::bad_alloc();
} }
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; [self setNotifications];
// I want to go back to the desktop mode
// if we've a fullscreen window when hiding
[nc addObserver:self
selector:@selector(applicationWillHide:)
name:NSApplicationWillHideNotification
object:NSApp];
// And restore de fullscreen mode when unhiding
[nc addObserver:self
selector:@selector(applicationWillUnhide:)
name:NSApplicationWillUnhideNotification
object:NSApp];
// Go back to desktop mode before exit
[nc addObserver:self
selector:@selector(applicationWillTerminate:)
name:NSApplicationWillTerminateNotification
object:NSApp];
if ([NSApp mainMenu] == nil) { if ([NSApp mainMenu] == nil) {
[self makeMenuBar]; [self makeMenuBar];
@ -155,31 +137,72 @@
} }
////////////////////////////////////////////////////////////
/// Returns the primay computer's screen
////////////////////////////////////////////////////////////
+ (CGDirectDisplayID)primaryScreen
{
static BOOL firstTime = YES;
static CGDirectDisplayID screen = kCGNullDirectDisplay;
if (firstTime) {
CGDisplayCount numScr;
CGDisplayErr err = CGGetDisplaysWithPoint(CGPointMake(0, 0), 1, &screen, &numScr);
if (err != kCGErrorSuccess || numScr < 1) {
std::cerr << "Unable to get primary screen (error code " << err
<< " ). Using the main screen.";
screen = CGMainDisplayID();
}
firstTime = NO;
}
return screen;
}
////////////////////////////////////////////////////////////
/// Reset notifictions about application focus
////////////////////////////////////////////////////////////
- (void)setNotifications
{
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(applicationWillDeactivate:)
name:NSApplicationWillResignActiveNotification
object:NSApp];
[nc addObserver:self
selector:@selector(applicationWillActivate:)
name:NSApplicationWillBecomeActiveNotification
object:NSApp];
[nc addObserver:self
selector:@selector(applicationWillTerminate:)
name:NSApplicationWillTerminateNotification
object:NSApp];
}
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
/// Hide all the fullscreen windows and switch back to the desktop display mode /// Hide all the fullscreen windows and switch back to the desktop display mode
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
- (void)applicationWillHide:(NSNotification *)aNotification - (void)applicationWillDeactivate:(NSNotification *)aNotification
{ {
// Note: not using fading because it produces reactivation issues
if (myFullscreenWrapper) { if (myFullscreenWrapper) {
myPrevMode = sf::VideoMode::GetDesktopMode(); myPrevMode = sf::VideoMode::GetDesktopMode();
CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, CFDictionaryRef displayMode = CGDisplayBestModeForParameters ([AppController primaryScreen],
myDesktopMode.BitsPerPixel, myDesktopMode.BitsPerPixel,
myDesktopMode.Width, myDesktopMode.Width,
myDesktopMode.Height, myDesktopMode.Height,
NULL); NULL);
// Fade to black screen
[self doFadeOperation:FillScreen time:0.2f sync:true];
// Make the full screen window unvisible // Make the full screen window unvisible
[[myFullscreenWrapper window] setAlphaValue:0.0f]; [[myFullscreenWrapper window] setAlphaValue:0.0f];
// Switch to the wished display mode // Switch to the wished display mode
CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); CGDisplaySwitchToMode([AppController primaryScreen], displayMode);
// Fade to normal screen
[self doFadeOperation:CleanScreen time:0.5f sync:false];
} }
} }
@ -187,31 +210,26 @@
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
/// Unhide all the fullscreen windows and switch to full screen display mode /// Unhide all the fullscreen windows and switch to full screen display mode
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
- (void)applicationWillUnhide:(NSNotification *)aNotification - (void)applicationWillActivate:(NSNotification *)aNotification
{ {
if (myFullscreenWrapper) { if (myFullscreenWrapper) {
CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, CFDictionaryRef displayMode = CGDisplayBestModeForParameters ([AppController primaryScreen],
myPrevMode.BitsPerPixel, myPrevMode.BitsPerPixel,
myPrevMode.Width, myPrevMode.Width,
myPrevMode.Height, myPrevMode.Height,
NULL); NULL);
// Fade to a black screen
[self doFadeOperation:FillScreen time:0.5f sync:true];
[NSMenu setMenuBarVisible:NO]; [NSMenu setMenuBarVisible:NO];
// Switch to the wished display mode // Switch to the wished display mode
CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); CGDisplaySwitchToMode([AppController primaryScreen], displayMode);
// Show the fullscreen window if existing // Show the fullscreen window if existing
if (myFullscreenWrapper) if (myFullscreenWrapper)
{ {
[[myFullscreenWrapper window] setAlphaValue:1.0f]; [[myFullscreenWrapper window] setAlphaValue:1.0f];
[[myFullscreenWrapper window] center]; [[myFullscreenWrapper window] center];
[[myFullscreenWrapper window] makeKeyAndOrderFront:self];
} }
// Fade to normal screen
[self doFadeOperation:CleanScreen time:0.5f sync:false];
} }
} }
@ -228,7 +246,6 @@
- (void)makeMenuBar - (void)makeMenuBar
{ {
// Source taken from SDL 1.3 // Source taken from SDL 1.3
NSString *appName = nil; NSString *appName = nil;
NSString *title = nil; NSString *title = nil;
NSMenu *appleMenu = nil; NSMenu *appleMenu = nil;
@ -393,7 +410,7 @@
if (aWrapper == nil && myFullscreenWrapper) if (aWrapper == nil && myFullscreenWrapper)
{ {
// Get the CoreGraphics display mode according to the desktop mode // Get the CoreGraphics display mode according to the desktop mode
CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, CFDictionaryRef displayMode = CGDisplayBestModeForParameters ([AppController primaryScreen],
myDesktopMode.BitsPerPixel, myDesktopMode.BitsPerPixel,
myDesktopMode.Width, myDesktopMode.Width,
myDesktopMode.Height, myDesktopMode.Height,
@ -405,7 +422,7 @@
#endif #endif
// Switch to the desktop display mode // Switch to the desktop display mode
CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); CGDisplaySwitchToMode([AppController primaryScreen], displayMode);
// Close the window // Close the window
[[myFullscreenWrapper window] close]; [[myFullscreenWrapper window] close];
@ -423,10 +440,11 @@
} }
else if (aWrapper) else if (aWrapper)
{ {
// else if we want to SET fullscreen
assert(fullscreenMode != NULL); assert(fullscreenMode != NULL);
// Get the CoreGraphics display mode according to the given sf mode // Get the CoreGraphics display mode according to the given sf mode
CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, CFDictionaryRef displayMode = CGDisplayBestModeForParameters ([AppController primaryScreen],
fullscreenMode->BitsPerPixel, fullscreenMode->BitsPerPixel,
fullscreenMode->Width, fullscreenMode->Width,
fullscreenMode->Height, fullscreenMode->Height,
@ -446,7 +464,8 @@
if (myPrevMode != *fullscreenMode) if (myPrevMode != *fullscreenMode)
{ {
// Switch to the wished display mode // Switch to the wished display mode
CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); myPrevMode = *fullscreenMode;
CGDisplaySwitchToMode([AppController primaryScreen], displayMode);
} }
if (myFullscreenWrapper) if (myFullscreenWrapper)
@ -495,7 +514,7 @@
if (!result) { if (!result) {
// Capture display but do not fill the screen with black // Capture display but do not fill the screen with black
// so that we can see the fade operation // so that we can see the fade operation
capture = CGDisplayCaptureWithOptions(kCGDirectMainDisplay, kCGCaptureNoFill); capture = CGDisplayCaptureWithOptions([AppController primaryScreen], kCGCaptureNoFill);
if (!capture) { if (!capture) {
// Do the increasing fade operation // Do the increasing fade operation
@ -505,11 +524,11 @@
0.0f, 0.0f, 0.0f, sync); 0.0f, 0.0f, 0.0f, sync);
// Now, release the non black-filling capture // Now, release the non black-filling capture
CGDisplayRelease(kCGDirectMainDisplay); CGDisplayRelease([AppController primaryScreen]);
// And capture with filling // And capture with filling
// so that we don't see the switching in the meantime // so that we don't see the switching in the meantime
CGDisplayCaptureWithOptions(kCGDirectMainDisplay, kCGCaptureNoOptions); CGDisplayCaptureWithOptions([AppController primaryScreen], kCGCaptureNoOptions);
} }
prevToken = token; prevToken = token;
@ -522,10 +541,10 @@
if (!result) { if (!result) {
if (!capture) { if (!capture) {
// Release the black-filling capture // Release the black-filling capture
CGDisplayRelease(kCGDirectMainDisplay); CGDisplayRelease([AppController primaryScreen]);
// Capture the display but do not fill with black (still for the fade operation) // Capture the display but do not fill with black (still for the fade operation)
CGDisplayCaptureWithOptions(kCGDirectMainDisplay, kCGCaptureNoFill); CGDisplayCaptureWithOptions([AppController primaryScreen], kCGCaptureNoFill);
// Do the decreasing fading // Do the decreasing fading
CGDisplayFade(token, time, CGDisplayFade(token, time,
@ -541,7 +560,7 @@
} }
// Release the captured display // Release the captured display
CGDisplayRelease(kCGDirectMainDisplay); CGDisplayRelease([AppController primaryScreen]);
} }
} }
} }

View File

@ -85,6 +85,10 @@
ctxtAttribs[idx++] = NSOpenGLPFADoubleBuffer; ctxtAttribs[idx++] = NSOpenGLPFADoubleBuffer;
ctxtAttribs[idx++] = NSOpenGLPFAAccelerated; ctxtAttribs[idx++] = NSOpenGLPFAAccelerated;
// Force use of first screen
//ctxtAttribs[idx++] = NSOpenGLPFAScreenMask;
//ctxtAttribs[idx++] = CGDisplayIDToOpenGLDisplayMask([AppController primaryScreen]);
// windowed context (even fullscreen mode uses a window) // windowed context (even fullscreen mode uses a window)
ctxtAttribs[idx++] = NSOpenGLPFAWindow; ctxtAttribs[idx++] = NSOpenGLPFAWindow;
@ -512,7 +516,7 @@
// Check display mode and put new values in 'mode' if needed // Check display mode and put new values in 'mode' if needed
boolean_t exact = true; boolean_t exact = true;
CFDictionaryRef properties = CGDisplayBestModeForParameters(kCGDirectMainDisplay, mode.BitsPerPixel, CFDictionaryRef properties = CGDisplayBestModeForParameters([AppController primaryScreen], mode.BitsPerPixel,
mode.Width, mode.Height, &exact); mode.Width, mode.Height, &exact);
if (!properties) { if (!properties) {

View File

@ -606,7 +606,7 @@ void WindowImplCocoa::SetCursorPosition(unsigned int Left, unsigned int Top)
absolute.y = [[NSScreen mainScreen] frame].size.height - absolute.y; absolute.y = [[NSScreen mainScreen] frame].size.height - absolute.y;
// Move cursor // Move cursor
CGDisplayMoveCursorToPoint(kCGDirectMainDisplay, CGPointMake(absolute.x, absolute.y)); CGDisplayMoveCursorToPoint([AppController primaryScreen], CGPointMake(absolute.x, absolute.y));
} }
} }