- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
177 lines
4.5 KiB
C++
177 lines
4.5 KiB
C++
/* _defs.h
|
|
|
|
Common definitions for pointer size and calling conventions.
|
|
|
|
Calling conventions:
|
|
_RTLENTRY Specifies the calling convention used by the RTL
|
|
|
|
_USERENTRY Specifies the calling convention the RTL expects user
|
|
compiled functions to use (for callbacks)
|
|
|
|
Export (and size for DOS) information:
|
|
_EXPCLASS Exports class if building DLL version of library
|
|
For DOS16 also provides size information
|
|
|
|
_EXPDATA Exports data if building DLL version of library
|
|
|
|
_EXPFUNC Exports function if building DLL version of library
|
|
For DOS16 also provides size information
|
|
|
|
_FAR Promotes data pointers to far in DLLs (DOS16 only)
|
|
|
|
Obsolete versions:
|
|
_Cdecl Use _RTLENTRY
|
|
_CLASSTYPE Use _EXPCLASS
|
|
_FARFUNC Use _EXPFUNC
|
|
_FARCALL Use _EXPFUNC and declare function explicity __far
|
|
*/
|
|
|
|
/*
|
|
* C/C++ Run Time Library - Version 6.5
|
|
*
|
|
* Copyright (c) 1991, 1994 by Borland International
|
|
* All Rights Reserved.
|
|
*
|
|
*/
|
|
|
|
#if !defined(___DEFS_H)
|
|
#define ___DEFS_H
|
|
|
|
#if defined(__MT__)
|
|
# define _MT
|
|
#endif
|
|
|
|
#if defined(__OS2__)
|
|
# define _RTLENTRY __stdcall
|
|
# define _USERENTRY __stdcall
|
|
#elif defined(__WIN32__)
|
|
# define _RTLENTRY __cdecl
|
|
# define _USERENTRY __cdecl
|
|
#else
|
|
# define _RTLENTRY __cdecl
|
|
# define _USERENTRY __cdecl
|
|
#endif
|
|
|
|
#if defined(__PAS__)
|
|
# define _RTLENTRYF __pascal
|
|
#else
|
|
# define _RTLENTRYF _RTLENTRY
|
|
#endif
|
|
|
|
#if defined(__FLAT__)
|
|
# define _FAR
|
|
# if defined(_BUILDRTLDLL)
|
|
# define _EXPCLASS __export
|
|
# define _EXPDATA __export
|
|
# define _EXPFUNC __export
|
|
# elif defined(_RTLDLL) && !defined(__OS2__)
|
|
# define _EXPCLASS __import
|
|
# define _EXPDATA __import
|
|
# define _EXPFUNC __import
|
|
# else
|
|
# define _EXPCLASS
|
|
# define _EXPDATA
|
|
# define _EXPFUNC
|
|
# endif
|
|
#else
|
|
# if defined(__DLL__)
|
|
# if defined(_BUILDRTLDLL)
|
|
# define _EXPCLASS __export
|
|
# elif defined(_RTLDLL) || defined(_CLASSDLL)
|
|
# define _EXPCLASS __export
|
|
# else
|
|
# define _EXPCLASS __far
|
|
# endif
|
|
# define _FAR __far
|
|
# elif defined(_RTLDLL) || defined(_CLASSDLL)
|
|
# define _EXPCLASS __export
|
|
# define _FAR __far
|
|
# else
|
|
# if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)
|
|
# if defined(_RTLFARVTABLE)
|
|
# define _EXPCLASS __huge
|
|
# else
|
|
# define _EXPCLASS __near
|
|
# endif
|
|
# elif defined(__COMPACT__) || defined(__LARGE__)
|
|
# if defined(_RTLFARVTABLE)
|
|
# define _EXPCLASS __huge
|
|
# else
|
|
# define _EXPCLASS __far
|
|
# endif
|
|
# else
|
|
# define _EXPCLASS __huge
|
|
# endif
|
|
# define _FAR
|
|
# endif
|
|
# if defined(_BUILDRTLDLL)
|
|
# define _EXPFUNC __export
|
|
# else
|
|
# if defined(_RTLDLL) || defined(_CLASSDLL)
|
|
# define _EXPFUNC __far
|
|
# else
|
|
# define _EXPFUNC
|
|
# endif
|
|
# endif
|
|
# define _EXPDATA
|
|
#endif
|
|
|
|
|
|
#if defined(__FLAT__)
|
|
#define _EXPFUNC32 _EXPFUNC
|
|
#define _EXPFUNC16
|
|
#else
|
|
#define _EXPFUNC32
|
|
#define _EXPFUNC16 _EXPFUNC
|
|
#endif
|
|
|
|
|
|
#define _Cdecl _RTLENTRY
|
|
#define _CType _RTLENTRYF
|
|
#define _CLASSTYPE _EXPCLASS
|
|
#define _FARFUNC _EXPFUNC
|
|
#define _FARCALL _EXPFUNC __far
|
|
|
|
#if defined(__FLAT__)
|
|
# define _M_IX86 300
|
|
#endif
|
|
|
|
#if !defined(__FLAT__) && defined(__MSC)
|
|
# define __emit db
|
|
# ifdef __SMALL__
|
|
# define _M_I86SM
|
|
# endif
|
|
# ifdef __COMPACT__
|
|
# define _M_I86CM
|
|
# endif
|
|
# ifdef __MEDIUM__
|
|
# define _M_I86MM
|
|
# endif
|
|
# ifdef __LARGE__
|
|
# define _M_I86LM
|
|
# endif
|
|
# ifndef _Windows
|
|
# define _DOS
|
|
# else
|
|
# define _WINDOWS
|
|
# endif
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
# define _PTRDEF(name) typedef name _FAR * P##name;
|
|
# define _REFDEF(name) typedef name _FAR & R##name;
|
|
# define _REFPTRDEF(name) typedef name _FAR * _FAR & RP##name;
|
|
# define _PTRCONSTDEF(name) typedef const name _FAR * PC##name;
|
|
# define _REFCONSTDEF(name) typedef const name _FAR & RC##name;
|
|
|
|
/*********** Obsolete definitions for OWL 1.0 *************/
|
|
# define _CLASSDEF(name) class _EXPCLASS name; \
|
|
_PTRDEF(name) \
|
|
_REFDEF(name) \
|
|
_REFPTRDEF(name) \
|
|
_PTRCONSTDEF(name) \
|
|
_REFCONSTDEF(name)
|
|
#endif
|
|
|
|
#endif /* ___DEFS_H */
|