diff --git a/bin/Win32-VisualStudio/readme.txt b/bin/Win32-VisualStudio/readme.txt new file mode 100644 index 00000000..d5c7b7b5 --- /dev/null +++ b/bin/Win32-VisualStudio/readme.txt @@ -0,0 +1,25 @@ +The Win32-VisualStudio version is currently (Irrlicht 1.8) compiled with VS 2010 using the Windows 7.1 SDK as platform toolset. +You might get the necessary Windows Platform SDK here: http://msdn.microsoft.com/en-us/windows/bb980924.aspx + +To link to that Irrlicht.dll you need to set platform toolset in your VS version to the same target or re-compile the Irrlicht.dll using another platform toolset. + +To re-compile Irrlicht for Win32-VisualStudio: +There are several project files for different VS versions in source/Irrlicht. +Irrlicht10.0.sln is for VS 2010 +Irrlicht11.0.sln is for VS 2012 +Irrlicht12.0.sln is for VS 2013 + +To compile Irrlicht + all examples and all tools check the BuildAllExamples_*.sln files in the examples folder. + +For newer VS versions you have update one of those projects (VS usually can do that automatically when you open an older solution file). + +Currently each of those solutions does set the platform toolset "Windows 7.1 SDK" (to be compatible to each other). +You might want to change that in the project settings and set it to your current version. +Make sure you use the same platform toolset in your application and in the engine. +Also when compiling examples each example has to use the same platform toolset as was used for the engine. + +Platform should be Win32 +Configuration is by default "Release" +But you can also chose "Debug" if you want Irrlicht with Debug information. +Static builds are possible but you have to additionally set the _IRR_STATIC_LIB_ define in the application when linking to a static Irrlicht.lib + diff --git a/bin/Win32-gcc/readme.txt b/bin/Win32-gcc/readme.txt new file mode 100644 index 00000000..f7294d9d --- /dev/null +++ b/bin/Win32-gcc/readme.txt @@ -0,0 +1,16 @@ +If you wish to compile Irrlicht for Win32-gcc you have several choices. + +1. You can work from within a MinGW shell. +Go to the folder source/Irrlicht and run the Makefile with: +make win32 +Examples can be build by going into the folder of the example (for example examples/01.HelloWorld) and running the Makefile with: +make all_win32 + +2. Use the Code::Blocks IDE +There is a project file called Irrlicht-gcc.cbp in source/Irrlicht to compile just the engine. +Be sure to select a Windows target like "Win32 - release - accurate math - dll" + +There is also Code::Blocks workspace file in the examples folder called BuildAllExamples.workspace +Again be sure to select a Windows target like "Win32 - release - accurate math - dll" +This workspace allows you to compile the engine together with all examples and tools. + diff --git a/bin/Win64-VisualStudio/readme.txt b/bin/Win64-VisualStudio/readme.txt index e2f88f47..063b5e71 100644 --- a/bin/Win64-VisualStudio/readme.txt +++ b/bin/Win64-VisualStudio/readme.txt @@ -1,3 +1,24 @@ -Sorry, I cannot provide procompiled binaries for Win64. -Please goto the \source directory, unzip the source.zip file -and compile them yourself, it will cost you about 3 minutes. :) \ No newline at end of file +The Win64-VisualStudio version is currently (Irrlicht 1.8) compiled with VS 2010 using the Windows 7.1 SDK as platform toolset. +You might get the necessary Windows Platform SDK here: http://msdn.microsoft.com/en-us/windows/bb980924.aspx + +To link to that Irrlicht.dll you need to set platform toolset in your VS version to the same target or re-compile the Irrlicht.dll using another platform toolset. + +To re-compile Irrlicht for Win32-VisualStudio: +There are several project files for different VS versions in source/Irrlicht. +Irrlicht10.0.sln is for VS 2010 +Irrlicht11.0.sln is for VS 2012 +Irrlicht12.0.sln is for VS 2013 + +To compile Irrlicht + all examples and all tools check the BuildAllExamples_*.sln files in the examples folder. + +For newer VS versions you have update one of those projects (VS usually can do that automatically when you open an older solution file). + +Currently each of those solutions does set the platform toolset "Windows 7.1 SDK" (to be compatible to each other). +You might want to change that in the project settings and set it to your current version. +Make sure you use the same platform toolset in your application and in the engine. +Also when compiling examples each example has to use the same platform toolset as was used for the engine. + +Platform should be Win64 +Configuration is by default "Release" +But you can also chose "Debug" if you want Irrlicht with Debug information. +Static builds are possible but you have to additionally set the _IRR_STATIC_LIB_ define in the application when linking to a static Irrlicht.lib diff --git a/changes.txt b/changes.txt index 0f2e5f94..c708be75 100644 --- a/changes.txt +++ b/changes.txt @@ -147,7 +147,11 @@ should now be fps independentn - burningvideo: mipmaplevel adjusted ( not that bad bokeh...(sometimes) ) -------------------------- -Changes in 1.8.4 +Changes in 1.8.5 + - CImageLoaderJPG::isALoadableFileFormat uses a test which allows to load more jpg formats (for example uncompressed jpg's). Thx @Yaron Cohen-Tal for report, test-image and his help with the patch. + +-------------------------- +Changes in 1.8.4 (9th July 2016, svn r5321) - Tests on Unix now have a short pause between switching drivers to avoid certain X11 errors. - Fix CEnumAttribute::getInt() which could crash (thx @ luthyr for reporting) - No longer try to run tests for drivers not supported on a platform @@ -155,7 +159,7 @@ Changes in 1.8.4 - Deprecate CMatrix4::transformBox as the result is no longer a boundingbox. Use CMatrix4::transformBoxEx instead (which has been available for a long time). - Fix CSceneCollisionManager::getPickedNodeBB which could sometimes miss collisions. - Add -U__STRICT_ANSI__ option to c::b project files to allow compiling with -std=c++11 and add an error when trying to compile with Irrlicht with __STRICT_ANSI__ - - Update libpng to 1.6.21 + - Update libpng to 1.6.23 - Update zlib to 1.2.8 - Fix some compile warnings in aes which got handled as errors by some c++11 compilers. - Get rid of some misleading-indentation warnings in gcc6 diff --git a/lib/Win64-visualStudio/readme.txt b/lib/Win64-visualStudio/readme.txt deleted file mode 100644 index 7260e145..00000000 --- a/lib/Win64-visualStudio/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -We don't provide a procompiled dll for Win64. - -Visual Studio Express does not come with a 64-bit compiler by default. -You'll have to download the Windows Platform SDK- - -http://msdn.microsoft.com/en-us/windows/bb980924.aspx - -When installing the platform SDK, make sure you install the x64 and -IA64 compilers from Developer Tools -> Visual C++ Compilers. -If you're using VC Express you will only be able to compile from the -command line. \ No newline at end of file diff --git a/readme.txt b/readme.txt index 5ee9fbe6..f426b027 100644 --- a/readme.txt +++ b/readme.txt @@ -75,7 +75,7 @@ The Irrlicht Engine SDK version 1.9 work as well, we simply didn't test them. * gcc 4.x - * Visual Studio 2008(9.0)-2012(11.0) + * Visual Studio 2010(10.0)-2013(12.0) * Code::Blocks (& gcc or visual studio toolkit) If you ever want to (re)compile the engine yourself (which means you don't @@ -170,7 +170,7 @@ The Irrlicht Engine SDK version 1.9 See http://irrlicht.sourceforge.net/author.html for more informations) Christian Stehno (hybrid) Contribution Coordinator/Developer - Michael Zeilfelder (cutealien) GUI Developer + Michael Zeilfelder (cutealien) Developer Patryk Nadrowski (Nadro) Developer Yoran Bosman (Yoran) Webserver administrator Gareth Davidson (bitplane) Developer/ Forum admin diff --git a/source/Irrlicht/CImageLoaderJPG.cpp b/source/Irrlicht/CImageLoaderJPG.cpp index 80190776..6ebe4fc1 100644 --- a/source/Irrlicht/CImageLoaderJPG.cpp +++ b/source/Irrlicht/CImageLoaderJPG.cpp @@ -125,14 +125,11 @@ bool CImageLoaderJPG::isALoadableFileFormat(io::IReadFile* file) const return false; #else - if (!file) + if (!(file && file->seek(0))) return false; - - s32 jfif = 0; - file->seek(6); - file->read(&jfif, sizeof(s32)); - return (jfif == 0x4a464946 || jfif == 0x4649464a); - + unsigned char header[3]; + int headerLen = file->read(header, sizeof(header)); + return headerLen >= 3 && !memcmp(header, "\xFF\xD8\xFF", 3); #endif }