xmil-libretro/common.h

153 lines
2.8 KiB
C

enum {
SUCCESS = 0,
FAILURE = 1
};
#ifndef PI
#define PI 3.14159265357989
#endif
#ifndef BRESULT
#define BRESULT UINT
#endif
#ifndef INTPTR
#define INTPTR long
#endif
#ifndef LOADINTELDWORD
#define LOADINTELDWORD(a) (((UINT32)(a)[0]) | \
((UINT32)(a)[1] << 8) | \
((UINT32)(a)[2] << 16) | \
((UINT32)(a)[3] << 24))
#endif
#ifndef LOADINTELWORD
#define LOADINTELWORD(a) (((UINT16)(a)[0]) | ((UINT16)(a)[1] << 8))
#endif
#ifndef STOREINTELDWORD
#define STOREINTELDWORD(a, b) *((a)+0) = (UINT8)((b)); \
*((a)+1) = (UINT8)((b)>>8); \
*((a)+2) = (UINT8)((b)>>16); \
*((a)+3) = (UINT8)((b)>>24)
#endif
#ifndef STOREINTELWORD
#define STOREINTELWORD(a, b) *((a)+0) = (UINT8)((b)); \
*((a)+1) = (UINT8)((b)>>8)
#endif
#ifndef NELEMENTS
#define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0])))
#endif
/* Optimize Macros */
#ifndef REG8
#define REG8 UINT8
#endif
#ifndef REG16
#define REG16 UINT16
#endif
#ifndef LOW8
#define LOW8(a) ((UINT8)(a))
#endif
#ifndef LOW10
#define LOW10(a) ((a) & 0x03ff)
#endif
#ifndef LOW11
#define LOW11(a) ((a) & 0x07ff)
#endif
#ifndef LOW12
#define LOW12(a) ((a) & 0x0fff)
#endif
#ifndef LOW14
#define LOW14(a) ((a) & 0x3fff)
#endif
#ifndef LOW15
#define LOW15(a) ((a) & 0x7fff)
#endif
#ifndef LOW16
#define LOW16(a) ((UINT16)(a))
#endif
#ifndef HIGH16
#define HIGH16(a) (((UINT32)(a)) >> 16)
#endif
#ifndef OEMCHAR
#define OEMCHAR char
#endif
#ifndef OEMTEXT
#define OEMTEXT(string) (string)
#endif
#ifndef OEMNULLSTR
#define OEMNULLSTR OEMTEXT("")
#endif
#if !defined(RGB16)
#define RGB16 UINT16
#endif
#if !defined(RGB32)
#if defined(BYTESEX_LITTLE)
typedef union {
UINT32 d;
struct {
UINT8 b;
UINT8 g;
UINT8 r;
UINT8 e;
} p;
} RGB32;
#define RGB32D(r, g, b) (((r) << 16) + ((g) << 8) + ((b) << 0))
#elif defined(BYTESEX_BIG)
typedef union {
UINT32 d;
struct {
UINT8 e;
UINT8 r;
UINT8 g;
UINT8 b;
} p;
} RGB32;
#define RGB32D(r, g, b) (((r) << 16) + ((g) << 8) + ((b) << 0))
#endif
#endif
#define FTYPEID(a, b, c, d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d))
enum {
FTYPE_NONE = 0,
FTYPE_SMIL = FTYPEID('S','M','I','L'),
FTYPE_TEXT = FTYPEID('T','E','X','T'),
FTYPE_BMP = FTYPEID('B','M','P',' '),
FTYPE_GIF = FTYPEID('G','I','F',' '),
FTYPE_WAVE = FTYPEID('W','A','V','E'),
FTYPE_OGG = FTYPEID('O','G','G',' '),
FTYPE_MP3 = FTYPEID('M','P','3',' '),
FTYPE_D88 = FTYPEID('.','D','8','8'),
FTYPE_FDI = FTYPEID('.','F','D','I'),
FTYPE_BETA = FTYPEID('B','E','T','A'),
FTYPE_THD = FTYPEID('.','T','H','D'),
FTYPE_NHD = FTYPEID('.','N','H','D'),
FTYPE_HDI = FTYPEID('.','H','D','I'),
FTYPE_HDD = FTYPEID('.','H','D','D'),
FTYPE_S98 = FTYPEID('.','S','9','8'),
FTYPE_MIMPI = FTYPEID('M','I','M','P')
};
#if !defined(INLINE)
#define INLINE
#endif
#if !defined(FASTCALL)
#define FASTCALL
#endif