Files
TeslaRel410/BORLAND/BC45/SOURCE/CLASSLIB/OBSOLETE/OBJECT.CPO
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

81 lines
3.0 KiB
Plaintext

/*------------------------------------------------------------------------*/
/* */
/* OBJECT.CPP */
/* */
/* Copyright Borland International 1991, 1993 */
/* All Rights Reserved */
/* */
/*------------------------------------------------------------------------*/
#if !defined( __STDLIB_H )
#include <stdlib.h>
#endif // __STDLIB_H
#if !defined( __STRSTREA_H )
#include <strstrea.h>
#endif // __STRSTREA_H
#if !defined( __MALLOC_H )
#include <malloc.h>
#endif // __MALLOC_H
#if !defined( __CLSDEFS_H )
#include "classlib\obsolete\clsdefs.h"
#endif // __CLSDEFS_H
#if !defined( __OBJECT_H )
#include "classlib\obsolete\object.h"
#endif // __OBJECT_H
Error theErrorObject;
Object *Object::ZERO = &theErrorObject;
// Error reporting
static char *errstring[__ElastError] =
{
"firstError: [[ Error in error reporting???? ]]",
"EDELERROR: Attemping to delete the ERROR object",
"EXPANDFS: Attempting to expand a fixed size array.",
"EXPANDLB: Attempt to expand lower bound of array.",
"NOMEM: Out of Memory",
"NOTSORT: Object must be sortable.",
"NOTASSOC: Object must be association type.",
"ORDER3: B-trees must be at least of order 3.",
"NOMEMIA: No room for the item array for an InnerNode",
"NOMEMLN: No room for item array for a LeafNode.",
"PRBADCLASS: PersistRegister called with bad class id.",
"PRINCONS: PersistRegister called with inconsistent values.",
"BNZERODIV: Attempt to divide by zero.",
"BNILLLOG: Attempt to take log of zero or negative number.",
"BNNOMEM: No memory for a bignum.",
"RANDOM2SMALL: Bignum RNG must be bigger than 32 bits (> 2 words).",
"BNTEMPSTKOVFL: Too many markTempRing invocations,",
"BNTEMPSTKUNFL: Too many releaseTempRing invocations,",
"BN2MANYTEMPS: Ran out of temporaries on the Temp ring.",
"BN2BIG2PRINT: Bignum has too many digits in current output base.",
"BNNOMEM4PRINT: No memory for temporaries for printing.",
"BNRESULT2BIG: An operation would have resulted in too large of a number.",
"RNG2BIG: Sorry. RNGs are limited to 32767 `digits' in size.",
"BNSQRTILLEGAL: Trying to take sqrt of negative bignum.",
};
extern "C" void __ErrorMessage( const char _FAR * );
void _FARFUNC ClassLib_error( ClassLib_errors errnum, char _FAR *addstr )
{
ostrstream os;
os << endl << "Fatal error from class library:" << endl;
os << "__E" << errstring[errnum] << endl;
if( addstr != 0 )
os << addstr << endl;
os << ends;
char *buf = os.str();
__ErrorMessage( buf );
delete [] buf;
exit( errnum );
}