- 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>
200 lines
9.9 KiB
C++
200 lines
9.9 KiB
C++
/*------------------------------------------------------------------------
|
|
* filename - _vector.h
|
|
*
|
|
* Typedefs and constants for use by compiler helper functions
|
|
* for working on arrays of classes
|
|
*-----------------------------------------------------------------------*/
|
|
|
|
/*
|
|
* C/C++ Run Time Library - Version 6.5
|
|
*
|
|
* Copyright (c) 1991, 1994 by Borland International
|
|
* All Rights Reserved.
|
|
*
|
|
*/
|
|
|
|
// VDEL
|
|
typedef void _cdecl (near * destNNC)(void near*, int);
|
|
typedef void _cdecl (near * destNFC)(void far*, int);
|
|
typedef void _pascal (near * destNNP)(void near*, int);
|
|
typedef void _pascal (near * destNFP)(void far*, int);
|
|
typedef void _pascal (near * destNNPL)(int, void near*);
|
|
typedef void _pascal (near * destNFPL)(int, void far*);
|
|
typedef void _fastcall (near * destNNF)(void near*, int);
|
|
typedef void _fastcall (near * destNFF)(void far*, int);
|
|
typedef void _fastcall (near * destNNFL)(int, void near*);
|
|
typedef void _fastcall (near * destNFFL)(int, void far*);
|
|
typedef void _cdecl (far * destFNC)(void near*, int);
|
|
typedef void _cdecl (far * destFFC)(void far*, int);
|
|
typedef void _pascal (far * destFNP)(void near*, int);
|
|
typedef void _pascal (far * destFFP)(void far*, int);
|
|
typedef void _pascal (far * destFNPL)(int, void near*);
|
|
typedef void _pascal (far * destFFPL)(int, void far*);
|
|
typedef void _fastcall (far * destFNF)(void near*, int);
|
|
typedef void _fastcall (far * destFFF)(void far*, int);
|
|
typedef void _fastcall (far * destFNFL)(int, void near*);
|
|
typedef void _fastcall (far * destFFFL)(int, void far*);
|
|
typedef void _cdecl (near * destNNCT)(int);
|
|
typedef void _cdecl (near * destNFCT)(int);
|
|
typedef void _pascal (near * destNNPT)(int);
|
|
typedef void _pascal (near * destNFPT)(int);
|
|
typedef void _fastcall (near * destNNFT)(int);
|
|
typedef void _fastcall (near * destNFFT)(int);
|
|
typedef void _cdecl (far * destFNCT)(int);
|
|
typedef void _cdecl (far * destFFCT)(int);
|
|
typedef void _pascal (far * destFNPT)(int);
|
|
typedef void _pascal (far * destFFPT)(int);
|
|
typedef void _fastcall (far * destFNFT)(int);
|
|
typedef void _fastcall (far * destFFFT)(int);
|
|
|
|
// VNEW
|
|
typedef void _cdecl (near * constNNC)(void near*);
|
|
typedef void _cdecl (near * constNFC)(void far*);
|
|
typedef void _pascal (near * constNNP)(void near*);
|
|
typedef void _pascal (near * constNFP)(void far*);
|
|
typedef void _fastcall (near * constNNF)(void near*);
|
|
typedef void _fastcall (near * constNFF)(void far*);
|
|
typedef void _cdecl (far * constFNC)(void near*);
|
|
typedef void _cdecl (far * constFFC)(void far*);
|
|
typedef void _pascal (far * constFNP)(void near*);
|
|
typedef void _pascal (far * constFFP)(void far*);
|
|
typedef void _fastcall (far * constFNF)(void near*);
|
|
typedef void _fastcall (far * constFFF)(void far*);
|
|
typedef void _cdecl (near * constNNCT)();
|
|
typedef void _cdecl (near * constNFCT)();
|
|
typedef void _pascal (near * constNNPT)();
|
|
typedef void _pascal (near * constNFPT)();
|
|
typedef void _fastcall (near * constNNFT)();
|
|
typedef void _fastcall (near * constNFFT)();
|
|
typedef void _cdecl (far * constFNCT)();
|
|
typedef void _cdecl (far * constFFCT)();
|
|
typedef void _pascal (far * constFNPT)();
|
|
typedef void _pascal (far * constFFPT)();
|
|
typedef void _fastcall (far * constFNFT)();
|
|
typedef void _fastcall (far * constFFFT)();
|
|
|
|
// VNEWV
|
|
typedef void _cdecl (near * consvNNC)(void near*, int);
|
|
typedef void _cdecl (near * consvNFC)(void far*, int);
|
|
typedef void _pascal (near * consvNNP)(void near*, int);
|
|
typedef void _pascal (near * consvNFP)(void far*, int);
|
|
typedef void _pascal (near * consvNNPL)(int, void near*);
|
|
typedef void _pascal (near * consvNFPL)(int, void far*);
|
|
typedef void _fastcall (near * consvNNF)(void near*, int);
|
|
typedef void _fastcall (near * consvNFF)(void far*, int);
|
|
typedef void _fastcall (near * consvNNFL)(int, void near*);
|
|
typedef void _fastcall (near * consvNFFL)(int, void far*);
|
|
typedef void _cdecl (far * consvFNC)(void near*, int);
|
|
typedef void _cdecl (far * consvFFC)(void far*, int);
|
|
typedef void _pascal (far * consvFNP)(void near*, int);
|
|
typedef void _pascal (far * consvFFP)(void far*, int);
|
|
typedef void _pascal (far * consvFNPL)(int, void near*);
|
|
typedef void _pascal (far * consvFFPL)(int, void far*);
|
|
typedef void _fastcall (far * consvFNF)(void near*, int);
|
|
typedef void _fastcall (far * consvFFF)(void far*, int);
|
|
typedef void _fastcall (far * consvFNFL)(int, void near*);
|
|
typedef void _fastcall (far * consvFFFL)(int, void far*);
|
|
typedef void _cdecl (near * consvNNCT)(int);
|
|
typedef void _cdecl (near * consvNFCT)(int);
|
|
typedef void _pascal (near * consvNNPT)(int);
|
|
typedef void _pascal (near * consvNFPT)(int);
|
|
typedef void _fastcall (near * consvNNFT)(int);
|
|
typedef void _fastcall (near * consvNFFT)(int);
|
|
typedef void _cdecl (far * consvFNCT)(int);
|
|
typedef void _cdecl (far * consvFFCT)(int);
|
|
typedef void _pascal (far * consvFNPT)(int);
|
|
typedef void _pascal (far * consvFFPT)(int);
|
|
typedef void _fastcall (far * consvFNFT)(int);
|
|
typedef void _fastcall (far * consvFFFT)(int);
|
|
|
|
// VAPP
|
|
typedef void _cdecl (near * appNNC)(void near*, void near*);
|
|
typedef void _cdecl (near * appNFC)(void far*, void far*);
|
|
typedef void _pascal (near * appNNP)(void near*, void near*);
|
|
typedef void _pascal (near * appNFP)(void far*, void far*);
|
|
typedef void _pascal (near * appNNPL)(void near*, void near*);
|
|
typedef void _pascal (near * appNFPL)(void far*, void far*);
|
|
typedef void _fastcall (near * appNNF)(void near*, void near*);
|
|
typedef void _fastcall (near * appNFF)(void far*, void far*);
|
|
typedef void _fastcall (near * appNNFL)(void near*, void near*);
|
|
typedef void _fastcall (near * appNFFL)(void far*, void far*);
|
|
typedef void _cdecl (far * appFNC)(void near*, void near*);
|
|
typedef void _cdecl (far * appFFC)(void far*, void far*);
|
|
typedef void _pascal (far * appFNP)(void near*, void near*);
|
|
typedef void _pascal (far * appFFP)(void far*, void far*);
|
|
typedef void _pascal (far * appFNPL)(void near*, void near*);
|
|
typedef void _pascal (far * appFFPL)(void far*, void far*);
|
|
typedef void _fastcall (far * appFNF)(void near*, void near*);
|
|
typedef void _fastcall (far * appFFF)(void far*, void far*);
|
|
typedef void _fastcall (far * appFNFL)(void near*, void near*);
|
|
typedef void _fastcall (far * appFFFL)(void far*, void far*);
|
|
typedef void _cdecl (near * appNNCT)(void near*);
|
|
typedef void _cdecl (near * appNFCT)(void far*);
|
|
typedef void _pascal (near * appNNPT)(void near*);
|
|
typedef void _pascal (near * appNFPT)(void far*);
|
|
typedef void _fastcall (near * appNNFT)(void near*);
|
|
typedef void _fastcall (near * appNFFT)(void far*);
|
|
typedef void _cdecl (far * appFNCT)(void near*);
|
|
typedef void _cdecl (far * appFFCT)(void far*);
|
|
typedef void _pascal (far * appFNPT)(void near*);
|
|
typedef void _pascal (far * appFFPT)(void far*);
|
|
typedef void _fastcall (far * appFNFT)(void near*);
|
|
typedef void _fastcall (far * appFFFT)(void far*);
|
|
|
|
// VAPPV
|
|
typedef void _cdecl (near * appvNNC)(void near*, int, void near*);
|
|
typedef void _cdecl (near * appvNFC)(void far*, int, void far*);
|
|
typedef void _pascal (near * appvNNP)(void near*, int, void near*);
|
|
typedef void _pascal (near * appvNFP)(void far*, int, void far*);
|
|
typedef void _pascal (near * appvNNPL)(int, void near*, void near*);
|
|
typedef void _pascal (near * appvNFPL)(int, void far*, void far*);
|
|
typedef void _fastcall (near * appvNNF)(void near*, int, void near*);
|
|
typedef void _fastcall (near * appvNFF)(void far*, int, void far*);
|
|
typedef void _fastcall (near * appvNNFL)(int, void near*, void near*);
|
|
typedef void _fastcall (near * appvNFFL)(int, void far*, void far*);
|
|
typedef void _cdecl (far * appvFNC)(void near*, int, void near*);
|
|
typedef void _cdecl (far * appvFFC)(void far*, int, void far*);
|
|
typedef void _pascal (far * appvFNP)(void near*, int, void near*);
|
|
typedef void _pascal (far * appvFFP)(void far*, int, void far*);
|
|
typedef void _pascal (far * appvFNPL)(int, void near*, void near*);
|
|
typedef void _pascal (far * appvFFPL)(int, void far*, void far*);
|
|
typedef void _fastcall (far * appvFNF)(void near*, int, void near*);
|
|
typedef void _fastcall (far * appvFFF)(void far*, int, void far*);
|
|
typedef void _fastcall (far * appvFNFL)(int, void near*, void near*);
|
|
typedef void _fastcall (far * appvFFFL)(int, void far*, void far*);
|
|
typedef void _cdecl (near * appvNNCT)(int, void near*);
|
|
typedef void _cdecl (near * appvNFCT)(int, void far*);
|
|
typedef void _pascal (near * appvNNPT)(int, void near*);
|
|
typedef void _pascal (near * appvNFPT)(int, void far*);
|
|
typedef void _fastcall (near * appvNNFT)(int, void near*);
|
|
typedef void _fastcall (near * appvNFFT)(int, void far*);
|
|
typedef void _cdecl (far * appvFNCT)(int, void near*);
|
|
typedef void _cdecl (far * appvFFCT)(int, void far*);
|
|
typedef void _pascal (far * appvFNPT)(int, void near*);
|
|
typedef void _pascal (far * appvFFPT)(int, void far*);
|
|
typedef void _fastcall (far * appvFNFT)(int, void near*);
|
|
typedef void _fastcall (far * appvFFFT)(int, void far*);
|
|
|
|
|
|
#define VFARCALL 0x01
|
|
#define VPASCAL 0x02
|
|
#define VFARPTR 0x04
|
|
#define VDEALLOC 0x08
|
|
#define VSTORECNT 0x10
|
|
#define VFASTCALL 0x20
|
|
#define VHUGEVECT 0x40
|
|
#define VFASTTHIS 0x80
|
|
#define VTHISLAST 0x100
|
|
#define VDTORCNT 0x200
|
|
|
|
#define VCALLTYPE (VFARCALL | VPASCAL | VFARPTR | VFASTCALL | VFASTTHIS | VTHISLAST)
|
|
|
|
#define LOAD_FAR_THIS(p) asm push ds; asm push si; asm lds si, p
|
|
#define END_FAR_THIS() asm pop si; asm pop ds
|
|
|
|
#define LOAD_NEAR_THIS(p) asm push si; asm mov si, word ptr p
|
|
#define END_NEAR_THIS() asm pop si
|
|
|
|
// Need fast huge pointers. Classes will be aligned correctly.
|
|
#pragma option -h+
|