Current News Archived News Search News Discussion Forum Old Forum Install Programs More Downloads... Troubleshooting Source Code Format Specs. Misc. Information Non-SF Stuff Links Small banner for links to this site: |
diff --git a/SFTypes.h b/SFTypes.h
--- a/SFTypes.h
+++ b/SFTypes.h
#ifndef SFTYPES_INCLUDED
#define SFTYPES_INCLUDED
+#if defined(_WIN32) || defined(_WIN64)
+
typedef signed char Int8;
typedef signed short Int16;
typedef signed long Int32;
typedef signed __int64 Int64;
+#ifdef _WIN64
+typedef signed __int64 IntPtr;
+#else
+typedef signed int IntPtr;
+#endif
+
typedef unsigned char UInt8;
typedef unsigned short UInt16;
typedef unsigned long UInt32;
typedef unsigned __int64 UInt64;
+#ifdef _WIN64
+typedef unsigned __int64 UIntPtr;
+#else
+typedef unsigned int UIntPtr;
+#endif
+
+#else
+
+#include <stdint.h>
+
+typedef int8_t Int8;
+typedef int16_t Int16;
+typedef int32_t Int32;
+typedef int64_t Int64;
+typedef intptr_t IntPtr;
+
+typedef uint8_t UInt8;
+typedef uint16_t UInt16;
+typedef uint32_t UInt32;
+typedef uint64_t UInt64;
+typedef uintptr_t UIntPtr;
+
+#endif
+
union IntConv {
Int8 i8[8];
UInt8 ui8[8];
UInt64 ui64;
};
+#define SplitUInt64(L_Low, L_High, R) \
+ L_Low = (UInt32)(R); \
+ L_High = (UInt32)((R) >> 32);
+
+#define MakeUInt64(R_Low, R_High) ((UInt64)(R_Low) + ((UInt64)(R_High) << 32))
+
#endif // #ifndef SFTYPES_INCLUDED
|