7ba45c34 |
1 | // note: include after system headers |
2 | |
3 | //#pragma GCC diagnostic ignored "-Wparentheses" |
4 | |
5 | #define u8 uint8_t |
6 | #define u16 uint16_t |
7 | #define u32 uint32_t |
8 | #define u64 uint64_t |
9 | #define s8 int8_t |
10 | #define s16 int16_t |
11 | #define s32 int32_t |
12 | #define s64 int64_t |
90307a99 |
13 | typedef struct { |
14 | u64 q; |
15 | u32 d[2]; |
16 | u16 w[4]; |
17 | u8 b[8]; |
18 | } mmxr; |
19 | |
7ba45c34 |
20 | #define bool int |
04abc5d6 |
21 | #define _BYTE uint8_t |
22 | #define _WORD uint16_t |
23 | #define _DWORD uint32_t |
2b43685d |
24 | #define _UNKNOWN uint8_t |
7ba45c34 |
25 | #undef LOBYTE |
26 | #undef LOWORD |
27 | #undef HIBYTE |
28 | #undef HIWORD |
04abc5d6 |
29 | #define LOBYTE(x) (*((u8*)&(x))) |
30 | #define LOWORD(x) (*((u16*)&(x))) |
31 | #define HIBYTE(x) (*((u8*)&(x)+1)) |
32 | #define HIWORD(x) (*((u16*)&(x)+1)) |
33 | #define BYTE0(x) (*((u8*)&(x)+0)) |
34 | #define BYTE1(x) (*((u8*)&(x)+1)) |
35 | #define BYTE2(x) (*((u8*)&(x)+2)) |
36 | #define BYTE3(x) (*((u8*)&(x)+3)) |
7ba45c34 |
37 | |
38 | #define memcpy_0 memcpy |
39 | |
e56ab892 |
40 | #define noreturn __attribute__((noreturn)) |
7ba45c34 |
41 | |
b74c31e3 |
42 | #ifdef __WINE__ |
43 | #define PCVOID LPCVOID |
44 | #define __VALIST __ms_va_list |
45 | #endif |
6bda240a |
46 | |
47 | static inline BOOL PtInRect_sa(LPCRECT r, int x, int y) |
48 | { |
49 | POINT p = { x, y }; |
50 | return PtInRect(r, p); |
51 | } |