]> git.lizzy.rs Git - irrlicht.git/blobdiff - source/Irrlicht/os.cpp
Avoid reskinning joints for animated meshes twice for each frame.
[irrlicht.git] / source / Irrlicht / os.cpp
index a410a91a4f1ac27f6ebe18150ac8b60b6f737c9d..2b894bcd0fb80da6a90222057f360f058defec77 100644 (file)
@@ -8,18 +8,16 @@
 #include "irrMath.h"\r
 \r
 #if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)\r
-       #include <SDL/SDL_endian.h>\r
+       #include <SDL_endian.h>\r
        #define bswap_16(X) SDL_Swap16(X)\r
        #define bswap_32(X) SDL_Swap32(X)\r
        #define bswap_64(X) SDL_Swap64(X)\r
-#elif defined(_IRR_WINDOWS_API_) && defined(_MSC_VER) && (_MSC_VER > 1298)\r
+#elif defined(_IRR_WINDOWS_API_) && defined(_MSC_VER)\r
        #include <stdlib.h>\r
        #define bswap_16(X) _byteswap_ushort(X)\r
        #define bswap_32(X) _byteswap_ulong(X)\r
        #define bswap_64(X) _byteswap_uint64(X)\r
-#if (_MSC_VER >= 1400)\r
        #define localtime _localtime_s\r
-#endif\r
 #elif defined(_IRR_OSX_PLATFORM_) || defined(_IRR_IOS_PLATFORM_)\r
        #include <libkern/OSByteOrder.h>\r
        #define bswap_16(X) OSReadSwapInt16(&X,0)\r
@@ -65,13 +63,9 @@ namespace os
 // Windows specific functions\r
 // ----------------------------------------------------------------\r
 \r
-#ifdef _IRR_XBOX_PLATFORM_\r
-#include <xtl.h>\r
-#else\r
 #define WIN32_LEAN_AND_MEAN\r
 #include <windows.h>\r
 #include <time.h>\r
-#endif\r
 \r
 namespace irr\r
 {\r
@@ -80,30 +74,17 @@ namespace os
        //! prints a debuginfo string\r
        void Printer::print(const c8* message, ELOG_LEVEL ll)\r
        {\r
-#if defined (_WIN32_WCE )\r
-               core::stringw tmp(message);\r
-               tmp += L"\n";\r
-               OutputDebugStringW(tmp.c_str());\r
-#else\r
                core::stringc tmp(message);\r
                tmp += "\n";\r
                OutputDebugStringA(tmp.c_str());\r
                printf("%s", tmp.c_str());\r
-#endif\r
        }\r
 \r
        static LARGE_INTEGER HighPerformanceFreq;\r
        static BOOL HighPerformanceTimerSupport = FALSE;\r
-       static BOOL MultiCore = FALSE;\r
 \r
        void Timer::initTimer(bool usePerformanceTimer)\r
        {\r
-#if !defined(_WIN32_WCE) && !defined (_IRR_XBOX_PLATFORM_)\r
-               // workaround for hires timer on multiple core systems, bios bugs result in bad hires timers.\r
-               SYSTEM_INFO sysinfo;\r
-               GetSystemInfo(&sysinfo);\r
-               MultiCore = (sysinfo.dwNumberOfProcessors > 1);\r
-#endif\r
                if (usePerformanceTimer)\r
                        HighPerformanceTimerSupport = QueryPerformanceFrequency(&HighPerformanceFreq);\r
                else\r
@@ -115,24 +96,11 @@ namespace os
        {\r
                if (HighPerformanceTimerSupport)\r
                {\r
-#if !defined(_WIN32_WCE) && !defined (_IRR_XBOX_PLATFORM_)\r
-                       // Avoid potential timing inaccuracies across multiple cores by\r
-                       // temporarily setting the affinity of this process to one core.\r
-                       DWORD_PTR affinityMask=0;\r
-                       if(MultiCore)\r
-                               affinityMask = SetThreadAffinityMask(GetCurrentThread(), 1);\r
-#endif\r
                        LARGE_INTEGER nTime;\r
                        BOOL queriedOK = QueryPerformanceCounter(&nTime);\r
 \r
-#if !defined(_WIN32_WCE)  && !defined (_IRR_XBOX_PLATFORM_)\r
-                       // Restore the true affinity.\r
-                       if(MultiCore)\r
-                               (void)SetThreadAffinityMask(GetCurrentThread(), affinityMask);\r
-#endif\r
                        if(queriedOK)\r
                                return u32((nTime.QuadPart) * 1000 / HighPerformanceFreq.QuadPart);\r
-\r
                }\r
 \r
                return GetTickCount();\r
@@ -321,46 +289,6 @@ namespace os
                        Logger->log(message, hint.c_str(), ll);\r
        }\r
 \r
-       // our Randomizer is not really os specific, so we\r
-       // code one for all, which should work on every platform the same,\r
-       // which is desirable.\r
-\r
-       s32 Randomizer::seed = 0x0f0f0f0f;\r
-\r
-       //! generates a pseudo random number\r
-       s32 Randomizer::rand()\r
-       {\r
-               // (a*seed)%m with Schrage's method\r
-               seed = a * (seed%q) - r* (seed/q);\r
-               if (seed<1)\r
-                       seed += m;\r
-\r
-               return seed-1;  // -1 because we want it to start at 0\r
-       }\r
-\r
-       //! generates a pseudo random number\r
-       f32 Randomizer::frand()\r
-       {\r
-               return rand()*(1.f/rMax);\r
-       }\r
-\r
-       s32 Randomizer::randMax()\r
-       {\r
-               return rMax;\r
-       }\r
-\r
-       //! resets the randomizer\r
-       void Randomizer::reset(s32 value)\r
-       {\r
-               if (value<0)\r
-                       seed = value+m;\r
-               else if ( value == 0 || value == m)\r
-                       seed = 1;\r
-               else\r
-                       seed = value;\r
-       }\r
-\r
-\r
        // ------------------------------------------------------\r
        // virtual timer implementation\r
 \r