diff --git a/Sources/Plasma/Apps/plClient/CMakeLists.txt b/Sources/Plasma/Apps/plClient/CMakeLists.txt index 55e903c7..0816daf2 100644 --- a/Sources/Plasma/Apps/plClient/CMakeLists.txt +++ b/Sources/Plasma/Apps/plClient/CMakeLists.txt @@ -154,7 +154,6 @@ target_link_libraries(plClient pnProduct) target_link_libraries(plClient pnSceneObject) target_link_libraries(plClient pnTimer) target_link_libraries(plClient pnUtils) -target_link_libraries(plClient pnUtilsExe) target_link_libraries(plClient pnUUID) if(PYTHON_DEBUG_LIBRARY) diff --git a/Sources/Plasma/Apps/plUruLauncher/CMakeLists.txt b/Sources/Plasma/Apps/plUruLauncher/CMakeLists.txt index 65228010..4c8a955e 100644 --- a/Sources/Plasma/Apps/plUruLauncher/CMakeLists.txt +++ b/Sources/Plasma/Apps/plUruLauncher/CMakeLists.txt @@ -55,7 +55,6 @@ target_link_libraries(plUruLauncher pnNetProtocol) target_link_libraries(plUruLauncher pnProduct) target_link_libraries(plUruLauncher pnTimer) target_link_libraries(plUruLauncher pnUtils) -target_link_libraries(plUruLauncher pnUtilsExe) target_link_libraries(plUruLauncher ${DirectX_LIBRARIES}) target_link_libraries(plUruLauncher ${OPENSSL_LIBRARIES}) diff --git a/Sources/Plasma/NucleusLib/CMakeLists.txt b/Sources/Plasma/NucleusLib/CMakeLists.txt index 06e94361..490fc8e8 100644 --- a/Sources/Plasma/NucleusLib/CMakeLists.txt +++ b/Sources/Plasma/NucleusLib/CMakeLists.txt @@ -20,5 +20,4 @@ add_subdirectory(pnProduct) add_subdirectory(pnSceneObject) add_subdirectory(pnTimer) add_subdirectory(pnUtils) -add_subdirectory(pnUtilsExe) add_subdirectory(pnUUID) diff --git a/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt b/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt index cc2ea05e..3e46f898 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt +++ b/Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt @@ -40,7 +40,6 @@ if(WIN32) Win32/pnUtW32Misc.cpp Win32/pnUtW32Path.cpp Win32/pnUtW32Str.cpp - Win32/pnUtW32Time.cpp Win32/pnUtW32Uuid.cpp ) else() diff --git a/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Time.cpp b/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Time.cpp deleted file mode 100644 index 6f344434..00000000 --- a/Sources/Plasma/NucleusLib/pnUtils/Win32/pnUtW32Time.cpp +++ /dev/null @@ -1,161 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtils/Private/Win32/pnUtW32Time.cpp -* -***/ - -#include "../pnUtils.h" - - -/***************************************************************************** -* -* Local functions -* -***/ - -//============================================================================ -static void FormatTime ( - uint64_t time, - wchar_t const dateFmt[], - wchar_t const timeFmt[], - unsigned chars, - wchar_t * buffer -) { - COMPILER_ASSERT(sizeof(FILETIME) == sizeof(uint64_t)); - - SYSTEMTIME sysTime; - FileTimeToSystemTime((FILETIME *)&time, &sysTime); - - unsigned offset = GetDateFormatW( - LOCALE_SYSTEM_DEFAULT, - 0, - &sysTime, - dateFmt, - buffer, - chars - ); - - if (timeFmt) { - // if we printed any characters, move offset back to overwrite the string terminator - if (offset) - --offset; - - offset += GetTimeFormatW( - LOCALE_SYSTEM_DEFAULT, - 0, - &sysTime, - timeFmt, - buffer + offset, - chars - offset - ); - } - - // if we didn't print any characters, NULL terminate the buffer - if (!offset && chars) - buffer[0] = 0; -} - - -/***************************************************************************** -* -* Exported functions -* -***/ - -#ifdef HS_BUILD_FOR_WIN32 - -//=========================================================================== -void TimeGetDesc ( - uint64_t time, - TimeDesc * desc -) { - ASSERT(desc); - - SYSTEMTIME sysTime; - COMPILER_ASSERT(sizeof(uint64_t) == sizeof(FILETIME)); - FileTimeToSystemTime((FILETIME *) &time, &sysTime); - - desc->year = sysTime.wYear; - desc->month = sysTime.wMonth; - desc->day = sysTime.wDay; - desc->dayOfWeek = sysTime.wDayOfWeek; - desc->hour = sysTime.wHour; - desc->minute = sysTime.wMinute; - desc->second = sysTime.wSecond; -} - -//============================================================================ -uint64_t TimeGetTime () { - uint64_t time; - COMPILER_ASSERT(sizeof(uint64_t) == sizeof(FILETIME)); - GetSystemTimeAsFileTime((FILETIME *) &time); - return time; -} - -//============================================================================ -uint64_t TimeGetLocalTime () { - uint64_t time; - COMPILER_ASSERT(sizeof(uint64_t) == sizeof(FILETIME)); - GetSystemTimeAsFileTime((FILETIME *) &time); - FileTimeToLocalFileTime((FILETIME *) &time, (FILETIME *) &time); - return time; -} - -//============================================================================ -void TimePrettyPrint ( - uint64_t time, - unsigned chars, - wchar_t * buffer -) { - FormatTime( - time, - L"ddd MMM dd',' yyyy ", - L"hh':'mm':'ss tt", - chars, - buffer - ); -} - - -#endif // HS_BUILD_FOR_WIN32 diff --git a/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.cpp b/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.cpp index 4f892520..31e83eb0 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.cpp +++ b/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.cpp @@ -39,53 +39,107 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com Mead, WA 99021 *==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtils/Private/pnUtTime.cpp -* -***/ - #include "pnUtTime.h" +#if HS_BUILD_FOR_UNIX +#include +#include +#endif + +/****************************************************************************** + * I've combined all the pnUtils Time stuff in here and made it work cross- + * platform as best as possible. + * + * At some point, hsTimer needs to be rewritten to ensure that it's fully + * corss-platform and using a reliable millisecond clock. + * When that happens, these functions should be merged into hsTimer. + * + * -- dpogue (April 14, 2012) + * + *****************************************************************************/ + +namespace pnUtilsExe { + +uint32_t TimeGetTickCount () { +#if HS_BUILD_FOR_WIN32 + return GetTickCount(); +#else + struct timeval tv; + if (gettimeofday(&tv, NULL) != 0) + return 0; + + return (tv.tv_sec * 1000) + (tv.tv_usec / 1000); +#endif +} /***************************************************************************** * -* Exports +* Time adjustment functions +* +* For debug builds, adjust the initial time value so that the high +* bit or the time value itself is about to wrap, to catch application +* bugs that don't handle wrapping or depend on the high bit's value. * ***/ +static uint32_t s_adjustment; + //=========================================================================== -void TimeGetElapsedDesc ( - uint32_t minutesElapsed, - TimeElapsedDesc * desc -) { - - const unsigned kMinutesPerHour = 60; - const unsigned kMinutesPerDay = 1440; - const unsigned kMinutesPerWeek = 10080; - const unsigned kMinutesPerMonth = 43830; - const unsigned kMinutesPerYear = 525960; - - uint32_t & elapsed = minutesElapsed; - desc->years = (elapsed / kMinutesPerYear); elapsed -= desc->years * kMinutesPerYear; - desc->months = (elapsed / kMinutesPerMonth); elapsed -= desc->months * kMinutesPerMonth; - desc->weeks = (elapsed / kMinutesPerWeek); elapsed -= desc->weeks * kMinutesPerWeek; - desc->days = (elapsed / kMinutesPerDay); elapsed -= desc->days * kMinutesPerDay; - desc->hours = (elapsed / kMinutesPerHour); elapsed -= desc->hours * kMinutesPerHour; - desc->minutes = elapsed; +static void InitializeAdjustment () { + ASSERT(!s_adjustment); + uint32_t currTime = TimeGetTickCount(); + uint32_t startBits = (currTime & 0x80) ? 0x7fff0000 : 0xffff0000; + uint32_t startMask = 0xffff0000; + s_adjustment = (((currTime & ~startMask) | startBits) - currTime) | 1; + ASSERT(s_adjustment); +} +//=========================================================================== +AUTO_INIT_FUNC(AutoInitializeAdjustment) { + if (!s_adjustment) + InitializeAdjustment(); } -//============================================================================ +} using namespace pnUtilsExe; + + +/***************************************************************************** +* +* Exports +* +***/ + uint32_t TimeGetSecondsSince2001Utc () { uint64_t time = TimeGetTime(); uint32_t seconds = (uint32_t)((time - kTime1601To2001) / kTimeIntervalsPerSecond); return seconds; } -//============================================================================ -uint32_t TimeGetSecondsSince1970Utc () { - uint64_t time = TimeGetTime(); - uint32_t seconds = (uint32_t)((time - kTime1601To1970) / kTimeIntervalsPerSecond); - return seconds; +uint64_t TimeGetTime () { +#ifdef HS_BUILD_FOR_WIN32 + uint64_t time; + COMPILER_ASSERT(sizeof(uint64_t) == sizeof(FILETIME)); + GetSystemTimeAsFileTime((FILETIME *) &time); + return time; +#else + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + return 0; + + long long time = ts.tv_sec * 1000000000LL + ts.tv_nsec; + + return time / 100; +#endif +} + +uint32_t TimeGetMs () { +#ifdef HS_DEBUGGING + // For debug builds, return an adjusted timer value + if (!s_adjustment) + InitializeAdjustment(); + return TimeGetTickCount() + s_adjustment; +#else + // For release builds, just return the operating system's timer + return TimeGetTickCount(); +#endif } diff --git a/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.h b/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.h index 6140683c..484f7a5d 100644 --- a/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.h +++ b/Sources/Plasma/NucleusLib/pnUtils/pnUtTime.h @@ -50,48 +50,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "Pch.h" -/***************************************************************************** -* -* Time formatting functions -* -***/ - -struct TimeDesc { - unsigned year; - unsigned month; // [1, 12] - unsigned day; - unsigned dayOfWeek; // [0, 6] - unsigned hour; // [0, 23] - unsigned minute; // [0, 59] - unsigned second; // [0, 59] -}; - -struct TimeElapsedDesc { - unsigned years; - unsigned months; // [0, 12] - unsigned days; // [0, 7] - unsigned weeks; // [0, 6] - unsigned hours; // [0, 23] - unsigned minutes; // [0, 59] -}; - -void TimeGetDesc ( - uint64_t time, - TimeDesc * desc -); - -void TimeGetElapsedDesc ( - uint32_t minutesElapsed, - TimeElapsedDesc * desc -); - -void TimePrettyPrint ( - uint64_t time, - unsigned chars, - wchar_t * buffer -); - - /***************************************************************************** * * Time query functions @@ -109,21 +67,12 @@ uint32_t TimeGetMs (); // 100 nanosecond intervals; won't wrap in our lifetimes uint64_t TimeGetTime (); -uint64_t TimeGetLocalTime (); - -// Minutes elapsed since 2001 UTC -uint32_t TimeGetMinutes (); // Seconds elapsed since 00:00:00 January 1, 2001 UTC uint32_t TimeGetSecondsSince2001Utc (); -// Seconds elapsed since 00:00:00 January 1, 1970 UTC (the Unix Epoch) -uint32_t TimeGetSecondsSince1970Utc (); - // These magic numbers taken from Microsoft's "Shared Source CLI implementation" source code. // http://msdn.microsoft.com/library/en-us/Dndotnet/html/mssharsourcecli.asp - -static const uint64_t kTime1601To1970 = 11644473600 * kTimeIntervalsPerSecond; static const uint64_t kTime1601To2001 = 12622780800 * kTimeIntervalsPerSecond; #endif diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/CMakeLists.txt b/Sources/Plasma/NucleusLib/pnUtilsExe/CMakeLists.txt deleted file mode 100644 index dbe63c74..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -include_directories("../../CoreLib") -include_directories("../../NucleusLib") - -set(pnUtilsExe_HEADERS - Intern.h - Pch.h -) - -set(pnUtilsExe_PRIVATE - Private/pnUteTime.cpp -) - -if(WIN32) - set(pnUtilsExe_WIN32 - Private/Win32/pnUteW32Time.cpp - ) -else() - set(pnUtilsExe_UNIX - Private/Unix/pnUteUxTime.cpp - ) -endif() - -add_library(pnUtilsExe STATIC ${pnUtilsExe_HEADERS} ${pnUtilsExe_PRIVATE} - ${pnUtilsExe_UNIX} ${pnUtilsExe_WIN32}) - -source_group("Header Files" FILES ${pnUtilsExe_HEADERS}) -source_group("Private" FILES ${pnUtilsExe_PRIVATE}) -if(WIN32) - source_group("Private\\Win32" FILES ${pnUtilsExe_WIN32}) -else() - source_group("Private\\Unix" FILES ${pnUtilsExe_UNIX}) -endif() diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/Intern.h b/Sources/Plasma/NucleusLib/pnUtilsExe/Intern.h deleted file mode 100644 index 5e0c8878..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/Intern.h +++ /dev/null @@ -1,65 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Intern.h -* -***/ - -#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILSEXE_INTERN_H -#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Intern.h included more than once" -#endif -#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILSEXE_INTERN_H - - -namespace pnUtilsExe { - -/***************************************************************************** -* -* OsTime.cpp -* -***/ - -uint32_t TimeGetTickCount (); - - -} // namespace pnUtilsExe diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/Pch.h b/Sources/Plasma/NucleusLib/pnUtilsExe/Pch.h deleted file mode 100644 index 32908b69..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/Pch.h +++ /dev/null @@ -1,57 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Pch.h -* -***/ - -#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILSEXE_PCH_H -#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Pch.h included more than once" -#endif -#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNUTILSEXE_PCH_H - - -#include "pnUtils/pnUtils.h" -#include "Intern.h" - -#include diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Unix/pnUteUxTime.cpp b/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Unix/pnUteUxTime.cpp deleted file mode 100644 index 74d5f374..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Unix/pnUteUxTime.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Unix/pnUteUxTime.cpp -* -***/ - -#include "../../Pch.h" -#pragma hdrstop diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Win32/pnUteW32Time.cpp b/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Win32/pnUteW32Time.cpp deleted file mode 100644 index 42ab4ef6..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Win32/pnUteW32Time.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Private/Win32/pnUteW32Time.cpp -* -***/ - -#include "../../Pch.h" -#pragma hdrstop - -#ifdef HS_BUILD_FOR_WIN32 - -namespace pnUtilsExe { - -/***************************************************************************** -* -* Module functions -* -***/ - -//============================================================================ -uint32_t TimeGetTickCount () { - return GetTickCount(); -} - - -} // namespace pnUtilsExe - -#endif // HS_BUILD_FOR_WIN32 diff --git a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/pnUteTime.cpp b/Sources/Plasma/NucleusLib/pnUtilsExe/Private/pnUteTime.cpp deleted file mode 100644 index c28eda65..00000000 --- a/Sources/Plasma/NucleusLib/pnUtilsExe/Private/pnUteTime.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/*==LICENSE==* - -CyanWorlds.com Engine - MMOG client, server and tools -Copyright (C) 2011 Cyan Worlds, Inc. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Additional permissions under GNU GPL version 3 section 7 - -If you modify this Program, or any covered work, by linking or -combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, -NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent -JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK -(or a modified version of those libraries), -containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, -PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG -JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the -licensors of this Program grant you additional -permission to convey the resulting work. Corresponding Source for a -non-source form of such a combination shall include the source code for -the parts of OpenSSL and IJG JPEG Library used as well as that of the covered -work. - -You can contact Cyan Worlds, Inc. by email legal@cyan.com - or by snail mail at: - Cyan Worlds, Inc. - 14617 N Newport Hwy - Mead, WA 99021 - -*==LICENSE==*/ -/***************************************************************************** -* -* $/Plasma20/Sources/Plasma/NucleusLib/pnUtilsExe/Private/pnUteTime.cpp -* -***/ - -#include "../Pch.h" -#pragma hdrstop - - -namespace pnUtilsExe { - -/***************************************************************************** -* -* Time adjustment functions -* -* For debug builds, adjust the initial time value so that the high -* bit or the time value itself is about to wrap, to catch application -* bugs that don't handle wrapping or depend on the high bit's value. -* -***/ - -static uint32_t s_adjustment; - -//=========================================================================== -static void InitializeAdjustment () { - ASSERT(!s_adjustment); - uint32_t currTime = TimeGetTickCount(); - uint32_t startBits = (currTime & 0x80) ? 0x7fff0000 : 0xffff0000; - uint32_t startMask = 0xffff0000; - s_adjustment = (((currTime & ~startMask) | startBits) - currTime) | 1; - ASSERT(s_adjustment); -} - -//=========================================================================== -AUTO_INIT_FUNC(AutoInitializeAdjustment) { - if (!s_adjustment) - InitializeAdjustment(); -} - -} using namespace pnUtilsExe; - - -/***************************************************************************** -* -* Exports -* -***/ - -//============================================================================ -uint32_t TimeGetMs () { -#ifdef HS_DEBUGGING - - // For debug builds, return an adjusted timer value - if (!s_adjustment) - InitializeAdjustment(); - return TimeGetTickCount() + s_adjustment; - -#else - - // For release builds, just return the operating system's timer - return TimeGetTickCount(); - -#endif -} - diff --git a/Sources/Tools/MaxMain/CMakeLists.txt b/Sources/Tools/MaxMain/CMakeLists.txt index 8eb3773f..6c3c7b81 100644 --- a/Sources/Tools/MaxMain/CMakeLists.txt +++ b/Sources/Tools/MaxMain/CMakeLists.txt @@ -191,7 +191,6 @@ target_link_libraries(MaxMain pnProduct) target_link_libraries(MaxMain pnSceneObject) target_link_libraries(MaxMain pnTimer) target_link_libraries(MaxMain pnUtils) -target_link_libraries(MaxMain pnUtilsExe) target_link_libraries(MaxMain pnUUID) if (WIN32) diff --git a/Sources/Tools/MaxPlasmaLights/CMakeLists.txt b/Sources/Tools/MaxPlasmaLights/CMakeLists.txt index 0506efa1..bfb3b1d3 100644 --- a/Sources/Tools/MaxPlasmaLights/CMakeLists.txt +++ b/Sources/Tools/MaxPlasmaLights/CMakeLists.txt @@ -123,7 +123,6 @@ target_link_libraries(MaxPlasmaLights pnProduct) target_link_libraries(MaxPlasmaLights pnSceneObject) target_link_libraries(MaxPlasmaLights pnTimer) target_link_libraries(MaxPlasmaLights pnUtils) -target_link_libraries(MaxPlasmaLights pnUtilsExe) target_link_libraries(MaxPlasmaLights pnUUID) if (WIN32) diff --git a/Sources/Tools/plResBrowser/CMakeLists.txt b/Sources/Tools/plResBrowser/CMakeLists.txt index 7291b2d0..ceb914cc 100644 --- a/Sources/Tools/plResBrowser/CMakeLists.txt +++ b/Sources/Tools/plResBrowser/CMakeLists.txt @@ -51,7 +51,6 @@ target_link_libraries(plResBrowser pnProduct) target_link_libraries(plResBrowser pnSceneObject) target_link_libraries(plResBrowser pnTimer) target_link_libraries(plResBrowser pnUtils) -target_link_libraries(plResBrowser pnUtilsExe) if (WIN32) target_link_libraries(plResBrowser Rpcrt4) @@ -66,4 +65,4 @@ endif(WIN32) source_group("Source Files" FILES ${plResBrowser_SOURCES}) source_group("Header Files" FILES ${plResBrowser_HEADERS}) -source_group("Resource Files" FILES ${plResBrowser_RESOURCES}) \ No newline at end of file +source_group("Resource Files" FILES ${plResBrowser_RESOURCES})