Files
firestorm/Gameleap/code/mw4/Code/MW4Application/Stddefs.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

164 lines
5.3 KiB
C

#if !defined(__STDDEFS__)
#define __STDDEFS__
#ifdef RC_INVOKED
#else // RC_INVOKED
#ifdef WIN32
#pragma warning (disable:4200)
#endif // WIN32
#if 0 // def _DEBUG
inline void HEAPCHK()
{
PVOID pa[10];
int i;
for(i = 0; i < 10; i++) {
pa[i] = malloc(rand() % 32000 + 767);
ASSERT(_heapchk() == _HEAPOK);
}
_HEAPINFO hh;
int nRet;
hh._pentry = NULL;
while((nRet = _heapwalk(&hh)) == _HEAPOK)
;
if (nRet != _HEAPEND) {
ASSERT(FALSE);
}
for(i = 0; i < 10; i++) {
free(pa[i]);
ASSERT(_heapchk() == _HEAPOK);
}
}
#else
#define HEAPCHK()
#endif
#ifdef WIN32
#pragma pack(push, 1)
#endif // WIN32
union WORDPACK {
struct {
BYTE m_bLow;
BYTE m_bHigh;
} m_W;
WORD m_wValue;
};
typedef WORDPACK* PWORDPACK;
union DWORDPACK {
struct {
WORDPACK m_wLow;
WORDPACK m_wHigh;
} m_DW;
DWORD m_dwValue;
};
typedef DWORDPACK* PDWORDPACK;
#ifdef WIN32
#pragma pack(pop)
#endif // WIN32
#define GETLBYTE(W) (((PWORDPACK)&(W))->m_W.m_bLow)
#define GETHBYTE(W) (((PWORDPACK)&(W))->m_W.m_bHigh)
#define GETLWORD(D) (((PDWORDPACK)&(D))->m_DW.m_wLow.m_wValue)
#define GETHWORD(D) (((PDWORDPACK)&(D))->m_DW.m_wHigh.m_wValue)
#define WORDHI(lvalue) (*((LPWORD)&(lvalue) + 1))
#define BYTEHI(lvalue) (*((LPBYTE)&(lvalue) + 1))
#define MAKE_VERSION(rmj, rmm, rup) (((DWORD)rmj) << 16) | (((DWORD)rmm) << 8) | (((DWORD)rup) << 0)
#define NOFA(name_of_array) (sizeof(name_of_array)/sizeof(name_of_array[0]))
#define ChkFlag(flag,mask) ((flag) & (mask))
#define SetFlag(flag,mask) ((flag) |= (mask))
#define XorFlag(flag,mask) ((flag) ^= (mask))
#define ClrFlag(flag,mask) ((flag) &= ~(mask))
#ifdef _DEBUG
#define DEBUGONLY(expr) (expr)
#else
#define DEBUGONLY(expr)
#endif
typedef signed long SINT; // logical unit, signed 32bit
typedef short SINT16;
typedef unsigned short UINT16;
typedef int SINT32;
#if _MSC_VER <= 1100
typedef unsigned int UINT32;
#endif // _MSC_VER <== 1100(developers studio 5.0)
#ifdef WIN32
typedef __int64 SINT64;
typedef unsigned __int64 UINT64;
#else // WIN32
typedef long long SINT64;
typedef unsigned long long UINT64;
#endif // WIN32
typedef float FLOAT;
typedef double DOUBLE;
typedef unsigned char U8;
typedef signed char S8;
typedef unsigned short U16;
typedef signed short S16;
typedef unsigned int U32;
typedef signed int S32;
#define SIZE_SINT 4
#define SIZE_SINT16 2
#define SIZE_UINT16 2
#define SIZE_SINT32 4
#define SIZE_UINT32 4
#define SIZE_SINT64 8
#define SIZE_UINT64 8
#define SIZE_FLOAT 4
#define SIZE_DOUBLE 8
typedef SINT* PSINT;
typedef PSINT* PPSINT;
typedef SINT16* PSINT16;
typedef PSINT16* PPSINT16;
typedef UINT16* PUINT16;
typedef PUINT16* PPUINT16;
typedef SINT32* PSINT32;
typedef PSINT32* PPSINT32;
typedef UINT32* PUINT32;
typedef PUINT32* PPUINT32;
typedef SINT64* PSINT64;
typedef PSINT64* PPSINT64;
typedef UINT64* PUINT64;
typedef PUINT64* PPUINT64;
typedef FLOAT* PFLOAT;
typedef PFLOAT* PPFLOAT;
typedef DOUBLE* PDOUBLE;
typedef PDOUBLE* PPDOUBLE;
#if !(defined(BOOL) || defined(TRUE) || defined(FALSE))
#define BOOL int
#define TRUE 1
#define FALSE 0
#endif
#if 1 // def WIN32
#define DECLARE_VOIDHANDLE(name) struct __##name##__ { int unused; }; typedef const struct __##name##__* name
#define DECLARE_CLASS(name) __DECLARE_CLASS(C,name)
#define DECLARE_CLASS_PTR(name) __DECLARE_CLASS_PTR(C,name)
#define __DECLARE_CLASS(prefix,name) class prefix##name; typedef class prefix##name* P##name; typedef const class prefix##name* PC##name
#define __DECLARE_CLASS_PTR(prefix,name) __DECLARE_CLASS(prefix, name); typedef P##name* PP##name; typedef PC##name* PPC##name
#define DECLARE_STRUCT(name) __DECLARE_STRUCT(S,name)
#define DECLARE_STRUCT_PTR(name) __DECLARE_STRUCT_PTR(S,name)
#define __DECLARE_STRUCT(prefix,name) struct prefix##name; typedef struct prefix##name* P##name; typedef const struct prefix##name* PC##name;
#define __DECLARE_STRUCT_PTR(prefix,name) __DECLARE_STRUCT(prefix,name); typedef P##name* PP##name; typedef PC##name* PPC##name
#endif // WIN32
#define DLLDAT // will be redefined, if necessary in dllapi.h
#define DLLAPI // will be redefined, if necessary in dllapi.h
#define DLLCLS // will be redefined, if necessary in dllapi.h
#endif // RC_INVOKED
#endif // __STDDEFS__