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.
164 lines
5.3 KiB
C
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__
|