Files
TeslaRel410/BORLAND/BC45/INCLUDE/_DEFS.H
T
CydandClaude Fable 5 63312e07f9 source410: literal 4.10 source reconstruction + BC++ 4.52 fleet toolchain archived
- 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>
2026-07-19 07:33:26 -05:00

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 */