author | rubidium |
Wed, 19 Dec 2007 23:26:02 +0000 | |
changeset 8108 | b42a0e5c67ef |
parent 8051 | 0cb6e84eb367 |
child 8123 | ce31d2843a95 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6481
85ad87daf4b0
(svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas
parents:
6420
diff
changeset
|
3 |
/** @file stdafx.h */ |
6420
456c275f3313
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas
parents:
6285
diff
changeset
|
4 |
|
2436
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2225
diff
changeset
|
5 |
#ifndef STDAFX_H |
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2225
diff
changeset
|
6 |
#define STDAFX_H |
0 | 7 |
|
5820
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
8 |
/* It seems that we need to include stdint.h before anything else |
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
9 |
* We need INT64_MAX, which for most systems comes from stdint.h. However, MSVC |
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
10 |
* does not have stdint.h and apparently neither does MorphOS, so define |
7775
5ca1ba91cde2
(svn r11325) -Fix (r11312)[FS#1357]: [OSX] fixed compilation on OSX
bjarni
parents:
7405
diff
changeset
|
11 |
* INT64_MAX for them ourselves. |
5ca1ba91cde2
(svn r11325) -Fix (r11312)[FS#1357]: [OSX] fixed compilation on OSX
bjarni
parents:
7405
diff
changeset
|
12 |
* Sometimes OSX headers manages to include stdint.h before this but without |
5ca1ba91cde2
(svn r11325) -Fix (r11312)[FS#1357]: [OSX] fixed compilation on OSX
bjarni
parents:
7405
diff
changeset
|
13 |
* __STDC_LIMIT_MACROS so it will be without INT64_*. We need to define those |
5ca1ba91cde2
(svn r11325) -Fix (r11312)[FS#1357]: [OSX] fixed compilation on OSX
bjarni
parents:
7405
diff
changeset
|
14 |
* too if this is the case. */ |
5ca1ba91cde2
(svn r11325) -Fix (r11312)[FS#1357]: [OSX] fixed compilation on OSX
bjarni
parents:
7405
diff
changeset
|
15 |
#if !defined(_MSC_VER) && !defined( __MORPHOS__) && !defined(_STDINT_H_) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
16 |
#if defined(SUNOS) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
17 |
/* SunOS/Solaris does not have stdint.h, but inttypes.h defines everything |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
18 |
* stdint.h defines and we need. */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
19 |
#include <inttypes.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
20 |
# else |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
21 |
#define __STDC_LIMIT_MACROS |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
22 |
#include <stdint.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
23 |
#endif |
5820
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
24 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
25 |
#define INT64_MAX 9223372036854775807LL |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
26 |
#define INT64_MIN (-INT64_MAX - 1) |
5820
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
27 |
#endif |
4a9da174bf1b
(svn r8382) -Fix (r8374): moved the include of stdint.h to the front of stdafx.h
bjarni
parents:
5812
diff
changeset
|
28 |
|
5933
c09d80249412
(svn r8572) -Fix: use the C++ version of the Standard C Library headers. This due to the fact that some stl headers will include them anyway and #undef several defines made in stdafx.h.
rubidium
parents:
5843
diff
changeset
|
29 |
#include <cstdio> |
c09d80249412
(svn r8572) -Fix: use the C++ version of the Standard C Library headers. This due to the fact that some stl headers will include them anyway and #undef several defines made in stdafx.h.
rubidium
parents:
5843
diff
changeset
|
30 |
#include <cstddef> |
c09d80249412
(svn r8572) -Fix: use the C++ version of the Standard C Library headers. This due to the fact that some stl headers will include them anyway and #undef several defines made in stdafx.h.
rubidium
parents:
5843
diff
changeset
|
31 |
#include <cstring> |
c09d80249412
(svn r8572) -Fix: use the C++ version of the Standard C Library headers. This due to the fact that some stl headers will include them anyway and #undef several defines made in stdafx.h.
rubidium
parents:
5843
diff
changeset
|
32 |
#include <cstdlib> |
c09d80249412
(svn r8572) -Fix: use the C++ version of the Standard C Library headers. This due to the fact that some stl headers will include them anyway and #undef several defines made in stdafx.h.
rubidium
parents:
5843
diff
changeset
|
33 |
#include <climits> |
0 | 34 |
|
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
35 |
/* MacOS X will use an NSAlert to display failed assertaions since they're lost unless running from a terminal |
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
36 |
* strgen always runs from terminal and don't need a window for asserts */ |
2731
888a994e9fe9
(svn r3276) reverted the last two commits. OSX 10.2 kept finding new stuff to prevent it from running OpenTTD, so now it's not supported anymore
bjarni
parents:
2730
diff
changeset
|
37 |
#if !defined(__APPLE__) || defined(STRGEN) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
38 |
#include <cassert> |
2223
b9564d70ec3d
(svn r2741) -Feature: [OSX] added a window to display asserts on OSX (Tobin)
bjarni
parents:
2186
diff
changeset
|
39 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
40 |
#include "os/macosx/macos.h" |
2223
b9564d70ec3d
(svn r2741) -Feature: [OSX] added a window to display asserts on OSX (Tobin)
bjarni
parents:
2186
diff
changeset
|
41 |
#endif |
b9564d70ec3d
(svn r2741) -Feature: [OSX] added a window to display asserts on OSX (Tobin)
bjarni
parents:
2186
diff
changeset
|
42 |
|
858
9a3254670831
(svn r1339) -Fix: compilation with networking works on MinGW32 again (thx orudge).
darkvater
parents:
796
diff
changeset
|
43 |
#if defined(UNIX) || defined(__MINGW32__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
44 |
#include <sys/types.h> |
0 | 45 |
#endif |
46 |
||
781
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
47 |
#if defined(__OS2__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
48 |
#include <types.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
49 |
#define strcasecmp stricmp |
781
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
50 |
#endif |
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
51 |
|
5976
aa1cae2b975a
(svn r8674) [PSP] -Add: added network code for PSP, based on the work of Turulo
truelight
parents:
5967
diff
changeset
|
52 |
#if defined(PSP) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
53 |
#include <psptypes.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
54 |
#include <pspdebug.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
55 |
#include <pspthreadman.h> |
446
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
425
diff
changeset
|
56 |
#endif |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
425
diff
changeset
|
57 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
58 |
#if defined(__BEOS__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
59 |
#include <SupportDefs.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
60 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
61 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
62 |
#if defined(SUNOS) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
63 |
#include <alloca.h> |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
64 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
65 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
66 |
#if defined(__MORPHOS__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
67 |
/* MorphOS defines certain Amiga defines per default, we undefine them |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
68 |
* here to make the rest of source less messy and more clear what is |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
69 |
* required for morphos and what for AmigaOS */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
70 |
#if defined(amigaos) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
71 |
#undef amigaos |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
72 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
73 |
#if defined(__amigaos__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
74 |
#undef __amigaos__ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
75 |
# endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
76 |
#if defined(__AMIGA__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
77 |
#undef __AMIGA__ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
78 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
79 |
#if defined(AMIGA) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
80 |
#undef AMIGA |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
81 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
82 |
#if defined(amiga) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
83 |
#undef amiga |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
84 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
85 |
/* Act like we already included this file, as it somehow gives linkage problems |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
86 |
* (mismatch linkage of C++ and C between this include and unistd.h). */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
87 |
#define CLIB_USERGROUP_PROTOS_H |
770
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
569
diff
changeset
|
88 |
#endif /* __MORPHOS__ */ |
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
569
diff
changeset
|
89 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
90 |
#if defined(__APPLE__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
91 |
#include "os/macosx/osx_stdafx.h" |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
92 |
/* Make endian swapping use Apple's macros to increase speed (since it will use hardware swapping if available) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
93 |
* Even though they should return uint16 and uint32, we get warnings if we don't cast those (why?) */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
94 |
#define BSWAP32(x) ((uint32)Endian32_Swap(x)) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
95 |
#define BSWAP16(x) ((uint16)Endian16_Swap(x)) |
3016
958672b0f8e2
(svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion
bjarni
parents:
2984
diff
changeset
|
96 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
97 |
#define BSWAP32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) << 8) & 0xFF0000) | (((x) << 24) & 0xFF000000)) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
98 |
#define BSWAP16(x) ((x) >> 8 | (x) << 8) |
3289 | 99 |
#endif /* __APPLE__ */ |
0 | 100 |
|
5967
e8c5596608ad
(svn r8647) -Codechange: add a general way to handle platforms who can only have a limited amount of file-descripters open at any given time.
truelight
parents:
5947
diff
changeset
|
101 |
#if defined(PSP) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
102 |
/* PSP can only have 10 file-descriptors open at any given time, but this |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
103 |
* switch only limits reads via the Fio system. So keep 2 fds free for things |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
104 |
* like saving a game. */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
105 |
#define LIMITED_FDS 8 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
106 |
#define printf pspDebugScreenPrintf |
5967
e8c5596608ad
(svn r8647) -Codechange: add a general way to handle platforms who can only have a limited amount of file-descripters open at any given time.
truelight
parents:
5947
diff
changeset
|
107 |
#endif /* PSP */ |
e8c5596608ad
(svn r8647) -Codechange: add a general way to handle platforms who can only have a limited amount of file-descripters open at any given time.
truelight
parents:
5947
diff
changeset
|
108 |
|
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
109 |
/* by default we use [] var arrays */ |
0 | 110 |
#define VARARRAY_SIZE |
111 |
||
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
112 |
/* Stuff for GCC */ |
0 | 113 |
#if defined(__GNUC__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
114 |
#define NORETURN __attribute__ ((noreturn)) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
115 |
#define FORCEINLINE inline |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
116 |
#define CDECL |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
117 |
#define __int64 long long |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
118 |
#define GCC_PACK __attribute__((packed)) |
0 | 119 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
120 |
#if (__GNUC__ == 2) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
121 |
#undef VARARRAY_SIZE |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
122 |
#define VARARRAY_SIZE 0 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
123 |
#endif |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
124 |
#endif /* __GNUC__ */ |
0 | 125 |
|
781
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
126 |
#if defined(__WATCOMC__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
127 |
#define NORETURN |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
128 |
#define FORCEINLINE inline |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
129 |
#define CDECL |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
130 |
#define GCC_PACK |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
131 |
#include <malloc.h> |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
132 |
#endif /* __WATCOMC__ */ |
781
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
133 |
|
796 | 134 |
#if defined(__MINGW32__) || defined(__CYGWIN__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
135 |
#include <malloc.h> // alloca() |
796 | 136 |
#endif |
137 |
||
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
138 |
/* Stuff for MSVC */ |
0 | 139 |
#if defined(_MSC_VER) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
140 |
#pragma once |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
141 |
/* Define a win32 target platform, to override defaults of the SDK |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
142 |
* We need to define NTDDI version for Vista SDK, but win2k is minimum */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
143 |
#define NTDDI_VERSION NTDDI_WIN2K // Windows 2000 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
144 |
#define _WIN32_WINNT 0x0500 // Windows 2000 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
145 |
#define _WIN32_WINDOWS 0x400 // Windows 95 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
146 |
#if !defined(WINCE) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
147 |
#define WINVER 0x0400 // Windows NT 4.0 / Windows 95 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
148 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
149 |
#define _WIN32_IE_ 0x0401 // 4.01 (win98 and NT4SP5+) |
2695
cb39a85e267f
(svn r3237) - CodeChange: remove silencing of some warnings. MSVC6 once again has some issues with enums, and other things as usual, so silence those still.
Darkvater
parents:
2694
diff
changeset
|
150 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
151 |
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
152 |
#pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
153 |
#pragma warning(disable: 4761) // integral size mismatch in argument : conversion supplied |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
154 |
#pragma warning(disable: 4200) // nonstandard extension used : zero-sized array in struct/union |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
155 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
156 |
#if (_MSC_VER >= 1400) // MSVC 2005 safety checks |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
157 |
#pragma warning(disable: 4996) // 'strdup' was declared deprecated |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
158 |
#define _CRT_SECURE_NO_DEPRECATE // all deprecated 'unsafe string functions |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
159 |
#pragma warning(disable: 6308) // code analyzer: 'realloc' might return null pointer: assigning null pointer to 't_ptr', which is passed as an argument to 'realloc', will cause the original memory block to be leaked |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
160 |
#pragma warning(disable: 6011) // code analyzer: Dereferencing NULL pointer 'pfGetAddrInfo': Lines: 995, 996, 998, 999, 1001 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
161 |
#pragma warning(disable: 6326) // code analyzer: potential comparison of a constant with another constant |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
162 |
#pragma warning(disable: 6031) // code analyzer: Return value ignored: 'ReadFile' |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
163 |
#pragma warning(disable: 6255) // code analyzer: _alloca indicates failure by raising a stack overflow exception. Consider using _malloca instead |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
164 |
#pragma warning(disable: 6246) // code analyzer: Local declaration of 'statspec' hides declaration of the same name in outer scope. For additional information, see previous declaration at ... |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
165 |
#else /* _MSC_VER >= 1400 ( <1400 for MSVC2003) */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
166 |
#pragma warning(disable: 4288) // nonstandard extension used : 'y' : loop control variable declared in the for-loop is used outside the for-loop scope; it conflicts with the declaration in the outer scope |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
167 |
#pragma warning(disable: 4292) // compiler limit : terminating debug information emission for enum 'StringIdEnum' with member 'STR_801D_COAL_CAR' |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
168 |
#endif /* _MSC_VER >= 1400 */ |
2694
9b5f6f369ab3
(svn r3236) - Fix: warnings about 'CDECL must be used with ...' on VS6
Darkvater
parents:
2639
diff
changeset
|
169 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
170 |
#include <malloc.h> // alloca() |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
171 |
#define NORETURN __declspec(noreturn) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
172 |
#define FORCEINLINE __forceinline |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
173 |
#define inline _inline |
2694
9b5f6f369ab3
(svn r3236) - Fix: warnings about 'CDECL must be used with ...' on VS6
Darkvater
parents:
2639
diff
changeset
|
174 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
175 |
#if !defined(WINCE) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
176 |
#define CDECL _cdecl |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
177 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
178 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
179 |
int CDECL snprintf(char *str, size_t size, const char *format, ...); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
180 |
#if (_MSC_VER < 1400) || defined(WINCE) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
181 |
int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
182 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
183 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
184 |
#if defined(WIN32) && !defined(_WIN64) && !defined(WIN64) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
185 |
#if !defined(_W64) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
186 |
#define _W64 |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
187 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
188 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
189 |
typedef _W64 int INT_PTR, *PINT_PTR; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
190 |
typedef _W64 unsigned int UINT_PTR, *PUINT_PTR; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
191 |
#endif /* WIN32 && !_WIN64 && !WIN64 */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
192 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
193 |
#define GCC_PACK |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
194 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
195 |
/* This is needed to zlib uses the stdcall calling convention on visual studio */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
196 |
#if defined(WITH_ZLIB) || defined(WITH_PNG) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
197 |
#if !defined(ZLIB_WINAPI) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
198 |
#define ZLIB_WINAPI |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
199 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
200 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
201 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
202 |
#if defined(WINCE) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
203 |
#define strcasecmp _stricmp |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
204 |
#define strncasecmp _strnicmp |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
205 |
#undef DEBUG |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
206 |
#else |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
207 |
#define strcasecmp stricmp |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
208 |
#define strncasecmp strnicmp |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
209 |
#endif |
8051
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
210 |
|
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
211 |
void SetExceptionString(const char* s, ...); |
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
212 |
|
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
213 |
#if defined(NDEBUG) && defined(WITH_ASSERT) |
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
214 |
#undef assert |
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
215 |
#define assert(expression) if (!(expression)) { SetExceptionString("Assertion failed at %s:%d: %s", __FILE__, __LINE__, #expression); *(byte*)0 = 0; } |
0cb6e84eb367
(svn r11611) -Codechange: it is now possible to use a define to enable asserts and show them in crash.log for MSVC release builds
glx
parents:
8050
diff
changeset
|
216 |
#endif |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
217 |
#endif /* defined(_MSC_VER) */ |
2483
e2d5f55daf63
(svn r3009) DIEEEEEEEEEEE VS6 (you good-for-nothing compiler)
Darkvater
parents:
2482
diff
changeset
|
218 |
|
5755
09b36c6ee100
(svn r8306) [WinCE] -Fix: some functions don't exists in WinCE, so give an alternative where possible
truelight
parents:
5671
diff
changeset
|
219 |
#if defined(WINCE) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
220 |
#define strdup _strdup |
5755
09b36c6ee100
(svn r8306) [WinCE] -Fix: some functions don't exists in WinCE, so give an alternative where possible
truelight
parents:
5671
diff
changeset
|
221 |
#endif /* WINCE */ |
09b36c6ee100
(svn r8306) [WinCE] -Fix: some functions don't exists in WinCE, so give an alternative where possible
truelight
parents:
5671
diff
changeset
|
222 |
|
5167
12c46fb7eccf
(svn r7274) -Codechange [utf8]: Add input/output unicode support. This actually only changes win32
Darkvater
parents:
5138
diff
changeset
|
223 |
/* NOTE: the string returned by these functions is only valid until the next |
12c46fb7eccf
(svn r7274) -Codechange [utf8]: Add input/output unicode support. This actually only changes win32
Darkvater
parents:
5138
diff
changeset
|
224 |
* call to the same function and is not thread- or reentrancy-safe */ |
12c46fb7eccf
(svn r7274) -Codechange [utf8]: Add input/output unicode support. This actually only changes win32
Darkvater
parents:
5138
diff
changeset
|
225 |
#if !defined(STRGEN) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
226 |
#if defined(WIN32) || defined(WIN64) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
227 |
char *getcwd(char *buf, size_t size); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
228 |
#include <tchar.h> |
6251
2ad87f850eb9
(svn r9055) -Codechange: Change windows unicode handling and allow a pure non-unicode build to function. Win9x binaries will be possible with mingw/nightly system.
Darkvater
parents:
6233
diff
changeset
|
229 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
230 |
/* XXX - WinCE without MSVCRT doesn't support wfopen, so it seems */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
231 |
#if !defined(WINCE) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
232 |
#define fopen(file, mode) _tfopen(OTTD2FS(file), _T(mode)) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
233 |
#endif /* WINCE */ |
6251
2ad87f850eb9
(svn r9055) -Codechange: Change windows unicode handling and allow a pure non-unicode build to function. Win9x binaries will be possible with mingw/nightly system.
Darkvater
parents:
6233
diff
changeset
|
234 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
235 |
const char *FS2OTTD(const TCHAR *name); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
236 |
const TCHAR *OTTD2FS(const char *name); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
237 |
#else |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
238 |
#define fopen(file, mode) fopen(OTTD2FS(file), mode) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
239 |
const char *FS2OTTD(const char *name); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
240 |
const char *OTTD2FS(const char *name); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
241 |
#endif /* WIN32 */ |
5167
12c46fb7eccf
(svn r7274) -Codechange [utf8]: Add input/output unicode support. This actually only changes win32
Darkvater
parents:
5138
diff
changeset
|
242 |
#endif /* STRGEN */ |
2482
374f6395847d
(svn r3008) [ 1247535 ] Native Support for Win64 (compile&run only) (michi_cc)
Darkvater
parents:
2436
diff
changeset
|
243 |
|
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
244 |
/* Windows has always LITTLE_ENDIAN */ |
2482
374f6395847d
(svn r3008) [ 1247535 ] Native Support for Win64 (compile&run only) (michi_cc)
Darkvater
parents:
2436
diff
changeset
|
245 |
#if defined(WIN32) || defined(__OS2__) || defined(WIN64) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
246 |
#define TTD_LITTLE_ENDIAN |
6938
ee22ce416ed1
(svn r10191) -Backport (r9148 from NoAI): detecting of CPU type (32 vs 64 bits).
rubidium
parents:
6929
diff
changeset
|
247 |
#elif defined(TESTING) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
248 |
/* Do noting */ |
157
dd017fa3bad8
(svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents:
0
diff
changeset
|
249 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
250 |
/* Else include endian[target/host].h, which has the endian-type, autodetected by the Makefile */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
251 |
#if defined(STRGEN) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
252 |
#include "endian_host.h" |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
253 |
#else |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
254 |
#include "endian_target.h" |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
255 |
#endif |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
256 |
#endif /* WIN32 || __OS2__ || WIN64 */ |
0 | 257 |
|
5591
51e4c59c31dd
(svn r8042) - Fix: OS/2 compilation with GCC (thanks to Paul Smedley and TrueBrain for their help)
orudge
parents:
5587
diff
changeset
|
258 |
#if defined(WIN32) || defined(WIN64) || defined(__OS2__) && !defined(__INNOTEK_LIBC__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
259 |
#define PATHSEP "\\" |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
260 |
#define PATHSEPCHAR '\\' |
4379
96eb926dcc1d
(svn r6117) -Fix r6097: on mingw it is normal that both / as \ are accepted as input
truelight
parents:
4316
diff
changeset
|
261 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
262 |
#define PATHSEP "/" |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
263 |
#define PATHSEPCHAR '/' |
0 | 264 |
#endif |
265 |
||
266 |
typedef unsigned char byte; |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
267 |
|
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
268 |
/* This is already defined in unix, but not in QNX Neutrino (6.x)*/ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
269 |
#if (!defined(UNIX) && !defined(__CYGWIN__) && !defined(__BEOS__) && !defined(__MORPHOS__)) || defined(__QNXNTO__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
270 |
typedef unsigned int uint; |
0 | 271 |
#endif |
272 |
||
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
273 |
#if !defined(__BEOS__) /* Already defined on BEOS */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
274 |
typedef unsigned char uint8; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
275 |
typedef signed char int8; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
276 |
typedef unsigned short uint16; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
277 |
typedef signed short int16; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
278 |
typedef unsigned int uint32; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
279 |
typedef signed int int32; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
280 |
typedef unsigned __int64 uint64; |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
281 |
typedef signed __int64 int64; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
536
diff
changeset
|
282 |
#endif |
0 | 283 |
|
2978
a67025958ebb
(svn r3553) - Revert r3549 "Change the behaviour of OTTD_ALIGNMENT". Some tests showed that forcing aligned reads slowed down the code (drawing smallmap) by 14%. Change back to the old behaviour.
Darkvater
parents:
2976
diff
changeset
|
284 |
#if defined(ARM) || defined(__arm__) || defined(__alpha__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
285 |
#define OTTD_ALIGNMENT |
2978
a67025958ebb
(svn r3553) - Revert r3549 "Change the behaviour of OTTD_ALIGNMENT". Some tests showed that forcing aligned reads slowed down the code (drawing smallmap) by 14%. Change back to the old behaviour.
Darkvater
parents:
2976
diff
changeset
|
286 |
#endif |
a67025958ebb
(svn r3553) - Revert r3549 "Change the behaviour of OTTD_ALIGNMENT". Some tests showed that forcing aligned reads slowed down the code (drawing smallmap) by 14%. Change back to the old behaviour.
Darkvater
parents:
2976
diff
changeset
|
287 |
|
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
288 |
/* Setup alignment and conversion macros */ |
0 | 289 |
#if defined(TTD_BIG_ENDIAN) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
290 |
#define TO_BE32X(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
291 |
#define FROM_BE32(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
292 |
#define TO_BE32(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
293 |
#define FROM_BE16(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
294 |
#define TO_BE16(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
295 |
#define TO_LE32X(x) BSWAP32(x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
296 |
static inline uint32 FROM_LE32(uint32 x) { return BSWAP32(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
297 |
static inline uint32 TO_LE32(uint32 x) { return BSWAP32(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
298 |
static inline uint16 FROM_LE16(uint16 x) { return BSWAP16(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
299 |
static inline uint16 TO_LE16(uint16 x) { return BSWAP16(x); } |
0 | 300 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
301 |
#define TO_BE32X(x) BSWAP32(x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
302 |
static inline uint32 FROM_BE32(uint32 x) { return BSWAP32(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
303 |
static inline uint32 TO_BE32(uint32 x) { return BSWAP32(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
304 |
static inline uint16 FROM_BE16(uint16 x) { return BSWAP16(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
305 |
static inline uint16 TO_BE16(uint16 x) { return BSWAP16(x); } |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
306 |
#define TO_LE32X(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
307 |
#define FROM_LE32(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
308 |
#define TO_LE32(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
309 |
#define FROM_LE16(x) (x) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
310 |
#define TO_LE16(x) (x) |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
311 |
#endif /* TTD_BIG_ENDIAN */ |
0 | 312 |
|
6929
56470c1b8a66
(svn r10182) -Codechange: rewrite most part of the file loading/searching to be more flexible.
rubidium
parents:
6834
diff
changeset
|
313 |
#if !defined(WITH_PERSONAL_DIR) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
314 |
#define PERSONAL_DIR "" |
0 | 315 |
#endif |
316 |
||
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
317 |
/* Compile time assertions */ |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
318 |
#if defined(__OS2__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
319 |
#define assert_compile(expr) |
781
4c9177888196
(svn r1248) -Add: initial OS/2 support (read docs/ReadMe_OS2.txt) (orudge)
truelight
parents:
770
diff
changeset
|
320 |
#else |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
321 |
#define assert_compile(expr) extern "C" void __ct_assert__(int a[1 - 2 * !(expr)]) |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3624
diff
changeset
|
322 |
#endif /* __OS2__ */ |
0 | 323 |
|
324 |
assert_compile(sizeof(uint32) == 4); |
|
325 |
assert_compile(sizeof(uint16) == 2); |
|
2639 | 326 |
assert_compile(sizeof(uint8) == 1); |
0 | 327 |
|
328 |
#define lengthof(x) (sizeof(x)/sizeof(x[0])) |
|
329 |
#define endof(x) (&x[lengthof(x)]) |
|
1317
3c90086ff34f
(svn r1821) Move generic string handling functions to string.[ch] and introduce stre{cpy,cat}, see string.h for their semantics
tron
parents:
1022
diff
changeset
|
330 |
#define lastof(x) (&x[lengthof(x) - 1]) |
5671
c7b6e63f1996
(svn r8131) -Fix (r8125): g++ warning: 'invalid access to non-static data member ?<class>::<member>? of NULL object'. It is weird, but renaming the 'offsetof' macro helped.
KUDr
parents:
5591
diff
changeset
|
331 |
|
6083
53aedcdb9e90
(svn r8818) -Codechange: remove the #ifdef _cplusplus remnants.
rubidium
parents:
5976
diff
changeset
|
332 |
#define cpp_offsetof(s,m) (((size_t)&reinterpret_cast<const volatile char&>((((s*)(char*)8)->m))) - 8) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
333 |
#if !defined(offsetof) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
334 |
#define offsetof(s,m) cpp_offsetof(s, m) |
6083
53aedcdb9e90
(svn r8818) -Codechange: remove the #ifdef _cplusplus remnants.
rubidium
parents:
5976
diff
changeset
|
335 |
#endif /* offsetof */ |
0 | 336 |
|
337 |
||
5934
46e88dcb71ff
(svn r8573) -Cleanup: obey the comment style in stdafx.h.
rubidium
parents:
5933
diff
changeset
|
338 |
/* take care of some name clashes on MacOS */ |
0 | 339 |
#if defined(__APPLE__) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
340 |
#define GetString OTTD_GetString |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
341 |
#define DrawString OTTD_DrawString |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
342 |
#define Random OTTD_Random |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
343 |
#define CloseConnection OTTD_CloseConnection |
2485
3e83ba6adf27
(svn r3011) Refix last revision's fix of VS6 which broke compilation on MinGW. Also beautify stdafx.h with nice indentation and comments after big #ifdef blocks. Hope it didn't break compilation on any OS's.
Darkvater
parents:
2483
diff
changeset
|
344 |
#endif /* __APPLE */ |
0 | 345 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
346 |
#if defined(__AMIGA__) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
347 |
/* it seems AmigaOS already have a Point declared */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
348 |
#define Point OTTD_AMIGA_POINT |
569
1e1755ba1572
(svn r980) Fixed issues where MorphOS would get problems if AmigaOS would get a port, since MorphOS also have the flag __AMIGA__ defined (Tokai)
bjarni
parents:
543
diff
changeset
|
349 |
#endif |
1e1755ba1572
(svn r980) Fixed issues where MorphOS would get problems if AmigaOS would get a port, since MorphOS also have the flag __AMIGA__ defined (Tokai)
bjarni
parents:
543
diff
changeset
|
350 |
|
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
351 |
#if !defined(STRGEN) |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
352 |
/* In strgen error is not fatal and returns */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
353 |
void NORETURN CDECL error(const char *str, ...); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
354 |
#else |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
355 |
void CDECL error(const char *str, ...); |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
356 |
#endif |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
357 |
|
6622
918a98fc95fb
(svn r9842) -Codechange: now NOT_REACHED is also triggered when debugging is disabled.
rubidium
parents:
6524
diff
changeset
|
358 |
#define NOT_REACHED() error("NOT_REACHED triggered at line %i of %s", __LINE__, __FILE__) |
918a98fc95fb
(svn r9842) -Codechange: now NOT_REACHED is also triggered when debugging is disabled.
rubidium
parents:
6524
diff
changeset
|
359 |
|
7275
81c0163435a5
(svn r10605) -Fix [FS#1046]: also OpenBSD does not know wchar. Patch by Matthias.
rubidium
parents:
7266
diff
changeset
|
360 |
#if defined(MORPHOS) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
361 |
/* MorphOS doesn't have C++ conformant _stricmp... */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
362 |
#define _stricmp stricmp |
7275
81c0163435a5
(svn r10605) -Fix [FS#1046]: also OpenBSD does not know wchar. Patch by Matthias.
rubidium
parents:
7266
diff
changeset
|
363 |
#elif defined(OPENBSD) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
364 |
/* OpenBSD uses strcasecmp(3) */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
365 |
#define _stricmp strcasecmp |
7275
81c0163435a5
(svn r10605) -Fix [FS#1046]: also OpenBSD does not know wchar. Patch by Matthias.
rubidium
parents:
7266
diff
changeset
|
366 |
#endif |
81c0163435a5
(svn r10605) -Fix [FS#1046]: also OpenBSD does not know wchar. Patch by Matthias.
rubidium
parents:
7266
diff
changeset
|
367 |
|
7277
0b39725581e1
(svn r10607) -Fix r10605: use '&&' in preprocessor directives (MSVC doesn't like 'and')
glx
parents:
7275
diff
changeset
|
368 |
#if !defined(MORPHOS) && !defined(OPENBSD) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
369 |
/* MorphOS & OpenBSD don't know wchars, the rest does :( */ |
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
370 |
#define HAS_WCHAR |
7277
0b39725581e1
(svn r10607) -Fix r10605: use '&&' in preprocessor directives (MSVC doesn't like 'and')
glx
parents:
7275
diff
changeset
|
371 |
#endif /* !defined(MORPHOS) && !defined(OPENBSD) */ |
7255
31eec725265f
(svn r10562) -Fix: most of the MorphOS issues; MorphOS doesn't know about wchars, so disable all code that has to use wchars for MorphOS.
rubidium
parents:
7154
diff
changeset
|
372 |
|
7266
b16e67e992b4
(svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h
rubidium
parents:
7255
diff
changeset
|
373 |
#if !defined(MAX_PATH) |
8004
1c54bc6f4bdf
(svn r11563) -Codechange: Align the preprocessor code in stdafx.h with tabs
skidd13
parents:
7927
diff
changeset
|
374 |
#define MAX_PATH 260 |
7266
b16e67e992b4
(svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h
rubidium
parents:
7255
diff
changeset
|
375 |
#endif |
b16e67e992b4
(svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h
rubidium
parents:
7255
diff
changeset
|
376 |
|
2436
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2225
diff
changeset
|
377 |
#endif /* STDAFX_H */ |