--- np2/common.h 2004/01/27 10:55:46 1.7 +++ np2/common.h 2005/02/11 21:17:21 1.14 @@ -8,6 +8,14 @@ enum { #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) | \ @@ -20,27 +28,40 @@ enum { #endif #ifndef STOREINTELDWORD -#define STOREINTELDWORD(a, b) *((a)+0) = (BYTE)((b)); \ - *((a)+1) = (BYTE)((b)>>8); \ - *((a)+2) = (BYTE)((b)>>16); \ - *((a)+3) = (BYTE)((b)>>24) +#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) = (BYTE)((b)); \ - *((a)+1) = (BYTE)((b)>>8) +#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 BYTE +#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 @@ -57,6 +78,19 @@ enum { #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 0 #ifndef STRLITERAL #ifdef UNICODE #define STRLITERAL(string) _T(string) @@ -64,6 +98,7 @@ enum { #define STRLITERAL(string) (string) #endif #endif +#endif #if !defined(RGB16) #define RGB16 UINT16 @@ -72,46 +107,61 @@ enum { #if !defined(RGB32) #if defined(BYTESEX_LITTLE) typedef union { + UINT32 d; struct { UINT8 b; UINT8 g; UINT8 r; UINT8 e; } p; - UINT32 d; } 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; - UINT32 d; } 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, // ¼«Æ°È½ÊÌ or PC - FTYPE_SMIL, - FTYPE_TEXT, - FTYPE_BMP, - FTYPE_PICT, - FTYPE_PNG, - FTYPE_WAV, - FTYPE_OGG, - FTYPE_D88, - FTYPE_FDI, - FTYPE_BETA, - FTYPE_THD, - FTYPE_NHD, - FTYPE_HDI, - FTYPE_HDD, - FTYPE_S98, - FTYPE_MIMPI, - FTYPE_USER + 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 + +#if !defined(GCC_ATTR_REGPARM) +#define GCC_ATTR_REGPARM +#endif +