From: Ryan C. Gordon Date: Fri, 5 Aug 2005 14:03:10 +0000 (+0000) Subject: Renamed WinDefs.* to MacCompatibility.*, since most of it is Linux-specific. X-Git-Url: https://git.jsancho.org/?a=commitdiff_plain;h=40a3dd7b76b6b10ae05dbd074f1f80ea7b4aa96d;p=lugaru.git Renamed WinDefs.* to MacCompatibility.*, since most of it is Linux-specific. --- diff --git a/Source/MacCompatibility.cpp b/Source/MacCompatibility.cpp new file mode 100644 index 0000000..86d8dff --- /dev/null +++ b/Source/MacCompatibility.cpp @@ -0,0 +1,108 @@ +/**> HEADER FILES <**/ +#include "MacCompatibility.h" +#include +#include +#include +#include + + +class AppTime +{ +public: + AppTime() + { + counterRate = 1; + baseCounter = 0; + QueryPerformanceFrequency( (LARGE_INTEGER*)&counterRate); + QueryPerformanceCounter( (LARGE_INTEGER*)&baseCounter); + } + __int64 counterRate; // LARGE_INTEGER type has no math functions so use int64 + __int64 baseCounter; +}; +static AppTime g_appTime; + + + +void CopyCStringToPascal( const char* src, unsigned char dst[256]) +{ + int len = strlen( src); + dst[ 0] = len; + memcpy( dst + 1, src, len); +} + + +void CopyPascalStringToC( const unsigned char* src, char* dst) +{ + int len = src[ 0]; + memcpy( dst, src + 1, len); + dst[ len] = 0; +} + + +AbsoluteTime UpTime() +{ + __int64 counter; + QueryPerformanceCounter( (LARGE_INTEGER*)&counter); + + counter -= g_appTime.baseCounter; + + AbsoluteTime time; + time.lo = (unsigned long)counter; + time.hi = (unsigned long)(counter >> 32); + return time; +} + + +Duration AbsoluteDeltaToDuration( AbsoluteTime& a, AbsoluteTime& b) +{ + __int64 value = a.hi; + value <<= 32; + value |= a.lo; + __int64 value2 = b.hi; + value2 <<= 32; + value2 |= b.lo; + value -= value2; + + if (value <= 0) + return durationImmediate; + + __int64 frac = value % g_appTime.counterRate; + value /= g_appTime.counterRate; + + Duration time; + + if (value == 0) + { + frac *= -1000000; + frac /= g_appTime.counterRate; + time = (Duration)frac; + } + else + { + frac *= 1000; + frac /= g_appTime.counterRate; + value *= 1000; + value += frac; + time = (Duration)value; + } + + return time; +} + + +static char g_filename[ 256]; +char* ConvertFileName( const char* orgfilename) +{ + // translate filename into proper path name + if (orgfilename[ 0] == ':') + orgfilename++; + strcpy( g_filename, orgfilename); + + for (int n = 0; g_filename[ n]; n++) + { + if (g_filename[ n] == ':') + g_filename[ n] = '/'; + } + + return g_filename; +} diff --git a/Source/MacCompatibility.h b/Source/MacCompatibility.h new file mode 100644 index 0000000..95781f2 --- /dev/null +++ b/Source/MacCompatibility.h @@ -0,0 +1,103 @@ +#ifndef _MACCOMPATIBLITY_H_ +#define _MACCOMPATIBLITY_H_ + +#if !PLATFORM_MACOSX + +#include +#include + +// stuff to make Mac code compatable with Windows + + +// disable warnings about double to float conversions +#pragma warning(disable:4305) +#pragma warning(disable:4244) + +// disable warnings about boolean to int conversions +#pragma warning(disable:4800) + +// disable warning about unreferenced local variables +#pragma warning(disable:4101) + +typedef bool Boolean; + + +struct Point +{ + short v; + short h; +}; + +typedef signed char SInt8; +typedef unsigned int UInt32; + + +#include "Random.h" + + +void CopyCStringToPascal( const char* src, unsigned char dst[256]); +void CopyPascalStringToC( const unsigned char* src, char* dst); + + +typedef struct AbsoluteTime +{ + unsigned long hi; + unsigned long lo; +} AbsoluteTime; + +AbsoluteTime UpTime(); // NOTE: returns time since app started, not system start + +typedef long Duration; + +enum +{ + durationMicrosecond = -1, + durationMillisecond = 1, + durationSecond = 1000, + durationMinute = 1000 * 60, + durationHour = 1000 * 60 * 60, + durationDay = 1000 * 60 * 60 * 24, + durationForever = 0x7FFFFFFF, + durationImmediate = 0, +}; + +Duration AbsoluteDeltaToDuration( AbsoluteTime& a, AbsoluteTime& b); + + +inline bool isnormal( double x) +{ + int ret = _fpclass( x); + return (ret == _FPCLASS_NN || ret == _FPCLASS_PN); +} + +typedef unsigned int uintptr_t; + + +// fix file names to use '/' instead of ':' +char* ConvertFileName( const char* orgfilename); + +#define fopen( a, b) fopen( ConvertFileName( a), b); +/* +inline float abs( float f) +{ +if (f < 0) +return -f; +return f; +} + +inline double abs( double f) +{ +if (f < 0) +return -f; +return f; +} +*/ +inline long long abs( long long f) +{ + if (f < 0) + return -f; + return f; +} +#endif +#endif + diff --git a/Source/OpenGL_Windows.cpp b/Source/OpenGL_Windows.cpp index 919b1cb..5c70e5f 100644 --- a/Source/OpenGL_Windows.cpp +++ b/Source/OpenGL_Windows.cpp @@ -60,7 +60,7 @@ extern float volume; #include #include #include "gamegl.h" -#include "WinDefs.h" +#include "MacCompatibility.h" #include #include "fmod.h" diff --git a/Source/PhysicsMath.h b/Source/PhysicsMath.h index 064829e..5ae9448 100644 --- a/Source/PhysicsMath.h +++ b/Source/PhysicsMath.h @@ -3,9 +3,7 @@ //#include -#ifdef WIN32 -#include "WinDefs.h" -#endif +#include "MacCompatibility.h" //------------------------------------------------------------------------// // Misc. Constants diff --git a/Source/WinDefs.cpp b/Source/WinDefs.cpp deleted file mode 100644 index f6cba9a..0000000 --- a/Source/WinDefs.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/**> HEADER FILES <**/ -#include "WinDefs.h" -#include -#include -#include -#include - - -class AppTime -{ -public: - AppTime() - { - counterRate = 1; - baseCounter = 0; - QueryPerformanceFrequency( (LARGE_INTEGER*)&counterRate); - QueryPerformanceCounter( (LARGE_INTEGER*)&baseCounter); - } - __int64 counterRate; // LARGE_INTEGER type has no math functions so use int64 - __int64 baseCounter; -}; -static AppTime g_appTime; - - - -void CopyCStringToPascal( const char* src, unsigned char dst[256]) -{ - int len = strlen( src); - dst[ 0] = len; - memcpy( dst + 1, src, len); -} - - -void CopyPascalStringToC( const unsigned char* src, char* dst) -{ - int len = src[ 0]; - memcpy( dst, src + 1, len); - dst[ len] = 0; -} - - -AbsoluteTime UpTime() -{ - __int64 counter; - QueryPerformanceCounter( (LARGE_INTEGER*)&counter); - - counter -= g_appTime.baseCounter; - - AbsoluteTime time; - time.lo = (unsigned long)counter; - time.hi = (unsigned long)(counter >> 32); - return time; -} - - -Duration AbsoluteDeltaToDuration( AbsoluteTime& a, AbsoluteTime& b) -{ - __int64 value = a.hi; - value <<= 32; - value |= a.lo; - __int64 value2 = b.hi; - value2 <<= 32; - value2 |= b.lo; - value -= value2; - - if (value <= 0) - return durationImmediate; - - __int64 frac = value % g_appTime.counterRate; - value /= g_appTime.counterRate; - - Duration time; - - if (value == 0) - { - frac *= -1000000; - frac /= g_appTime.counterRate; - time = (Duration)frac; - } - else - { - frac *= 1000; - frac /= g_appTime.counterRate; - value *= 1000; - value += frac; - time = (Duration)value; - } - - return time; -} - - -static char g_filename[ 256]; -char* ConvertFileName( const char* orgfilename) -{ - // translate filename into proper path name - if (orgfilename[ 0] == ':') - orgfilename++; - strcpy( g_filename, orgfilename); - - for (int n = 0; g_filename[ n]; n++) - { - if (g_filename[ n] == ':') - g_filename[ n] = '/'; - } - - return g_filename; -} diff --git a/Source/WinDefs.h b/Source/WinDefs.h deleted file mode 100644 index 478c744..0000000 --- a/Source/WinDefs.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _WINDEFS_H_ -#define _WINDEFS_H_ -#ifdef WIN32 - - -#include -#include - -// stuff to make Mac code compatable with Windows - - -// disable warnings about double to float conversions -#pragma warning(disable:4305) -#pragma warning(disable:4244) - -// disable warnings about boolean to int conversions -#pragma warning(disable:4800) - -// disable warning about unreferenced local variables -#pragma warning(disable:4101) - -typedef bool Boolean; - - -struct Point -{ - short v; - short h; -}; - -typedef signed char SInt8; -typedef unsigned int UInt32; - - -#include "Random.h" - - -void CopyCStringToPascal( const char* src, unsigned char dst[256]); -void CopyPascalStringToC( const unsigned char* src, char* dst); - - -typedef struct AbsoluteTime -{ - unsigned long hi; - unsigned long lo; -} AbsoluteTime; - -AbsoluteTime UpTime(); // NOTE: returns time since app started, not system start - -typedef long Duration; - -enum -{ - durationMicrosecond = -1, - durationMillisecond = 1, - durationSecond = 1000, - durationMinute = 1000 * 60, - durationHour = 1000 * 60 * 60, - durationDay = 1000 * 60 * 60 * 24, - durationForever = 0x7FFFFFFF, - durationImmediate = 0, -}; - -Duration AbsoluteDeltaToDuration( AbsoluteTime& a, AbsoluteTime& b); - - -inline bool isnormal( double x) -{ - int ret = _fpclass( x); - return (ret == _FPCLASS_NN || ret == _FPCLASS_PN); -} - -typedef unsigned int uintptr_t; - - -// fix file names to use '/' instead of ':' -char* ConvertFileName( const char* orgfilename); - -#define fopen( a, b) fopen( ConvertFileName( a), b); -/* -inline float abs( float f) -{ -if (f < 0) -return -f; -return f; -} - -inline double abs( double f) -{ -if (f < 0) -return -f; -return f; -} -*/ -inline long long abs( long long f) -{ - if (f < 0) - return -f; - return f; -} -#endif -#endif \ No newline at end of file diff --git a/Source/WinInput.h b/Source/WinInput.h index 3728cf2..c8880c7 100644 --- a/Source/WinInput.h +++ b/Source/WinInput.h @@ -4,7 +4,7 @@ /**> HEADER FILES <**/ #include #include -#include "WinDefs.h" +#include "MacCompatibility.h" /**> CONSTANT DECLARATIONS <**/ // Mac Keyboard Codes diff --git a/Source/fmod.h b/Source/fmod.h index 729ab20..4d43dfe 100644 --- a/Source/fmod.h +++ b/Source/fmod.h @@ -4,7 +4,7 @@ #define _FMODWRAPPER_H_ #include "fmod_header.h" -#include "WinDefs.h" +#include "MacCompatibility.h" #ifdef WIN32 diff --git a/Source/gamegl.h b/Source/gamegl.h index bc36ba9..6f130c1 100644 --- a/Source/gamegl.h +++ b/Source/gamegl.h @@ -29,7 +29,7 @@ #include #include #include - #include "WinDefs.h" + #include "MacCompatibility.h" #include "il/ilut.h" #define glDeleteTextures( a, b) glDeleteTextures( (a), (const unsigned int *)(b) ); diff --git a/makefile b/makefile index 34e3982..e8bffd2 100644 --- a/makefile +++ b/makefile @@ -26,6 +26,8 @@ endif DEFINES := \ -DPLATFORM_UNIX=1 \ + -DPLATFORM_LINUX=1 \ + -DUSE_SDL=1 \ INCLUDES := \ -I./SDL12/include \ @@ -73,9 +75,9 @@ SRCS := \ unpack.c \ unpack_private.c \ Weapons.cpp \ - WinDefs.cpp \ + MacCompatibility.cpp \ WinInput.cpp \ - logger\logger.cpp \ + logger/logger.cpp \ Driver.cc \ Md5.cc \