|
|
1.1 ! root 1: /* ! 2: * Hatari - Fix for compliation using Visual Studio 6 ! 3: * ! 4: * This file is distributed under the GNU Public License, version 2 or at ! 5: * your option any later version. Read the file gpl.txt for details. ! 6: * ! 7: * This file tells Visual Studio to ignore a number of relatively minor "warnings" that have found their ! 8: * way into the HAtari source. None of the "warnings" will hamper the running or compliation or HAtari ! 9: * but it is possible not addressing them may make it difficult for other developers to be sure of the ! 10: * intentions of the original coders against whos code these warnings are raised. ! 11: * As long as the original coder was aware of the warnings and of the implicit result of adding no ! 12: * explicit casts to remove them then things are good. ! 13: * ! 14: * 2009 Vaughan Kaufman ! 15: * ! 16: */ ! 17: ! 18: #if defined(_VCWIN_) // Stop Visual Studio complaining about all the implicit type conversions (wish we would make them explict guys/girls) ! 19: #pragma warning (disable:4244) // conversion with potential data loss ! 20: #pragma warning (disable:4761) // integral size mismatch in argument ! 21: #pragma warning (disable:4146) // unary minus operator applied to unsigned type ! 22: #pragma warning (disable:4018) // signed / unsigned mismatch ! 23: #pragma warning (disable:4102) // ignore unused label warning ! 24: #pragma warning (disable:4049) // (this one is silly, its not important) compiler limit, end of line numbering ! 25: #pragma warning (disable:4800) // Performance Warning on Conversion of bool to int ! 26: #pragma warning (disable:4805) // warning C4805: '|=' : unsafe mix of type 'int' and type 'bool' in operation ! 27: #endif ! 28: ! 29: /* ! 30: * KVK - Fix for compliation using Visual Studio 6 ! 31: * ! 32: * Microsoft have created multiple versions of the standard C calls, a specific version exists for each type of string encoding ! 33: * format (in this case UNICODE (Wide) and ANSI (Ascii) versions. This has lead to there being versions with a A or a W after ! 34: * the name to signify the encoding. There are other additional reasons why they have these different versions (something to ! 35: * do with the change from BSTR to string class passing I think, anyone?). The upshot is, we need to add a _ to the beginning of ! 36: * some of the function names for HAtari to compile.. ! 37: * ! 38: * 2009 Vaughan Kaufman ! 39: * ! 40: */ ! 41: ! 42: #if defined(_VCWIN_) ! 43: #define STATIC_INLINE static __inline ! 44: #define GLOB_ONLYDIR 0 ! 45: ! 46: #include <io.h> ! 47: #include <direct.h> ! 48: #include <stdbool.h> ! 49: #include <tchar.h> ! 50: ! 51: #include <dirent.h> ! 52: ! 53: #define stat _stat ! 54: #define S_IRUSR _S_IREAD ! 55: #define S_IWUSR _S_IWRITE ! 56: #define S_ISDIR(val) (_S_IFDIR & val) ! 57: #define S_IFDIR _S_IFDIR ! 58: ! 59: #define strncasecmp _strnicmp ! 60: #ifndef strcasecmp ! 61: #define strcasecmp _stricmp ! 62: #endif ! 63: #define chdrive _chdrive ! 64: #define strdup _strdup ! 65: #define getcwd _getcwd ! 66: #define fileno _fileno ! 67: #define unlink _unlink ! 68: #define access _access ! 69: #ifndef mkdir ! 70: #define mkdir(name,mode) _mkdir(name) ! 71: #endif ! 72: #define rmdir _rmdir ! 73: #define chmod _chmod ! 74: #define itoa _itoa ! 75: #define stricmp _stricmp ! 76: #define snprintf _snprintf ! 77: #define vsnprintf _vsnprintf ! 78: ! 79: #define __attribute__(x) /* x */ ! 80: ! 81: // For new UI ! 82: ! 83: typedef unsigned short mode_t; ! 84: ! 85: #ifndef _NEW_UI_TYPES ! 86: #define _NEW_UI_TYPES ! 87: typedef signed __int8 int8; ! 88: typedef unsigned __int8 uint8; ! 89: typedef signed __int16 int16; ! 90: typedef unsigned __int16 uint16; ! 91: typedef signed __int32 int32; ! 92: typedef unsigned __int32 uint32; ! 93: typedef signed __int64 int64; ! 94: typedef unsigned __int64 uint64; ! 95: typedef void* memptr; ! 96: #endif ! 97: ! 98: typedef signed __int8 int8_t; ! 99: typedef unsigned __int8 uint8_t; ! 100: typedef signed __int16 int16_t; ! 101: typedef unsigned __int16 uint16_t; ! 102: typedef signed __int32 int32_t; ! 103: typedef unsigned __int32 uint32_t; ! 104: typedef signed __int64 int64_t; ! 105: typedef unsigned __int64 uint64_t; ! 106: ! 107: #ifndef __inline__ ! 108: #define __inline__ __inline ! 109: #endif ! 110: ! 111: /* The variable-types used in the CPU core: */ ! 112: typedef uint8_t uae_u8; ! 113: typedef int8_t uae_s8; ! 114: ! 115: typedef uint16_t uae_u16; ! 116: typedef int16_t uae_s16; ! 117: ! 118: typedef uint32_t uae_u32; ! 119: typedef int32_t uae_s32; ! 120: ! 121: typedef uae_u32 uaecptr; ! 122: ! 123: extern void LOG_TRACE(int level, ...); ! 124: extern void LOG_TRACE_PRINT(char* strFirstString, ...); ! 125: ! 126: #ifdef JOY_BUTTON1 ! 127: #undef JOY_BUTTON1 ! 128: #endif ! 129: #ifdef JOY_BUTTON2 ! 130: #undef JOY_BUTTON2 ! 131: #endif ! 132: ! 133: extern void Win_OpenCon(void); ! 134: ! 135: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.