diff --git a/CSFML/build/VC2005/CSFML.sln b/CSFML/build/VC2005/CSFML.sln
index 7ea72e2a..33e8fb9f 100644
--- a/CSFML/build/VC2005/CSFML.sln
+++ b/CSFML/build/VC2005/CSFML.sln
@@ -11,32 +11,64 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csfml-system", "csfml-syste
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csfml-window", "csfml-window.vcproj", "{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sfml-main", "csfml-main.vcproj", "{2BD26A09-E1B6-42E2-A0D0-63987B76BB97}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug DLL|Win32 = Debug DLL|Win32
+ Debug|Win32 = Debug|Win32
Release DLL|Win32 = Release DLL|Win32
+ Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug|Win32.Build.0 = Debug DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release|Win32.Build.0 = Release DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug|Win32.Build.0 = Debug DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release|Win32.Build.0 = Release DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug|Win32.Build.0 = Debug DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release|Win32.Build.0 = Release DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug|Win32.Build.0 = Debug DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Release|Win32.Build.0 = Release DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug|Win32.Build.0 = Debug DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release|Win32.Build.0 = Release DLL|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug DLL|Win32.ActiveCfg = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug DLL|Win32.Build.0 = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug|Win32.Build.0 = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release DLL|Win32.ActiveCfg = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release DLL|Win32.Build.0 = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release|Win32.ActiveCfg = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CSFML/build/VC2005/csfml-main.vcproj b/CSFML/build/VC2005/csfml-main.vcproj
new file mode 100644
index 00000000..27780b98
--- /dev/null
+++ b/CSFML/build/VC2005/csfml-main.vcproj
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CSFML/build/VC2008/CSFML.sln b/CSFML/build/VC2008/CSFML.sln
index e98fd9f5..0b4b6cdd 100644
--- a/CSFML/build/VC2008/CSFML.sln
+++ b/CSFML/build/VC2008/CSFML.sln
@@ -11,32 +11,64 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csfml-system", "csfml-syste
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csfml-window", "csfml-window.vcproj", "{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "csfml-main", "csfml-main.vcproj", "{2BD26A09-E1B6-42E2-A0D0-63987B76BB97}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug DLL|Win32 = Debug DLL|Win32
+ Debug|Win32 = Debug|Win32
Release DLL|Win32 = Release DLL|Win32
+ Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Debug|Win32.Build.0 = Debug DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {B1BDA469-E6A7-4AF7-BDF9-EDDD7AD979A2}.Release|Win32.Build.0 = Release DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Debug|Win32.Build.0 = Debug DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {FA4620B1-393A-4719-9BB4-3BC8CAA70C4B}.Release|Win32.Build.0 = Release DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Debug|Win32.Build.0 = Debug DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {823DDC98-42D5-4A38-88CF-9DC06C788AE4}.Release|Win32.Build.0 = Release DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Debug|Win32.Build.0 = Debug DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{C061A27D-7CA0-4179-9869-672FA04A86A8}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {C061A27D-7CA0-4179-9869-672FA04A86A8}.Release|Win32.Build.0 = Release DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug DLL|Win32.ActiveCfg = Debug DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug DLL|Win32.Build.0 = Debug DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug|Win32.ActiveCfg = Debug DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Debug|Win32.Build.0 = Debug DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release DLL|Win32.ActiveCfg = Release DLL|Win32
{0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release DLL|Win32.Build.0 = Release DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release|Win32.ActiveCfg = Release DLL|Win32
+ {0F9CE5F0-4D89-4314-9147-8AAB1B8842ED}.Release|Win32.Build.0 = Release DLL|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug DLL|Win32.ActiveCfg = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug DLL|Win32.Build.0 = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Debug|Win32.Build.0 = Debug|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release DLL|Win32.ActiveCfg = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release DLL|Win32.Build.0 = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release|Win32.ActiveCfg = Release|Win32
+ {2BD26A09-E1B6-42E2-A0D0-63987B76BB97}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CSFML/build/VC2008/csfml-main.vcproj b/CSFML/build/VC2008/csfml-main.vcproj
new file mode 100644
index 00000000..10e00d70
--- /dev/null
+++ b/CSFML/build/VC2008/csfml-main.vcproj
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CSFML/build/codeblocks/CSFML.workspace b/CSFML/build/codeblocks/CSFML.workspace
index fbdb8e58..c01077e8 100644
--- a/CSFML/build/codeblocks/CSFML.workspace
+++ b/CSFML/build/codeblocks/CSFML.workspace
@@ -1,10 +1,11 @@
+
-
+
diff --git a/CSFML/build/codeblocks/csfml-main.cbp b/CSFML/build/codeblocks/csfml-main.cbp
new file mode 100644
index 00000000..55a51dde
--- /dev/null
+++ b/CSFML/build/codeblocks/csfml-main.cbp
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CSFML/src/SFML/Main/SFML_Main.cpp b/CSFML/src/SFML/Main/SFML_Main.cpp
new file mode 100644
index 00000000..a39d0c10
--- /dev/null
+++ b/CSFML/src/SFML/Main/SFML_Main.cpp
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////
+//
+// SFML - Simple and Fast Multimedia Library
+// Copyright (C) 2007-2009 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.
+//
+////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////
+// Windows specific : defines the WinMain entry function,
+// so that developers can use the standard main function
+// even in a Win32 Application project, and keep a portable code
+////////////////////////////////////////////////////////////
+
+
+#if defined(_WIN32)
+
+ #include
+
+ extern int main(int argc, char* argv[]);
+
+ int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT)
+ {
+ return main(__argc, __argv);
+ }
+
+#endif // _WIN32